Как откалибровать камеру и робота - PullRequest
1 голос
/ 26 марта 2012

У меня есть робот и камера.Робот - это всего лишь 3D-принтер, на котором я изменил экструдер для инструмента, поэтому он не печатает, а перемещает каждую ось независимо.Кровать прозрачная, а под кроватью есть камера, камера никогда не двигается.Это просто обычная веб-камера (игровая приставка).

Я хочу откалибровать робота и камеру, чтобы при нажатии на пиксель на изображении, предоставленном камерой, робот попадал туда.Я знаю, что могу измерить перемещение и вращение между двумя кадрами, но это, вероятно, даст много ошибок.

Так что это мой вопрос, как я могу связать камеру и робота.Камера уже откалибрована с использованием шахматных досок.

Чтобы упростить задачу, ось Z можно игнорировать.Таким образом, калибровка будет по X и Y.

1 Ответ

1 голос
/ 05 апреля 2012

Это зависит от того, какая ошибка приемлема для вас.

У нас есть аналогичная установка, где у нас есть камера, которая смотрит на какую-то плоскость с объектом, который можно перемещать.

Мы предполагаем, чтоизображение и плоскость параллельны.

Сначала давайте посчитаем вращение.Поместите инструмент в такое положение, чтобы вы видели его в центре изображения, переместите его на одну ось и выберите точку на изображении, соответствующую положению инструмента.Эти две точки дадут вам вектор в системе координат изображения.Угол между этим вектором и осью исходного изображения даст вращение.

Масштаб можно рассчитать аналогичным образом, зная длину вектора (в пикселях) и расстояние между позициями инструмента (в мм или см).) даст вам масштабный коэффициент между изображением и осью реального мира.

Если этот метод не обеспечивает достаточной точности, вы можете откалибровать камеру по искажению и относительному положению относительно плоскости, используя методы компьютерного зрения.Что сложнее.Смотрите следующие ссылки

http://opencv.willowgarage.com/documentation/camera_calibration_and_3d_reconstruction.html

http://dasl.mem.drexel.edu/~noahKuntz/openCVTut10.html

...