Skip to content

About

Eye_to_Hand (Eye-on-base) calibration for RoboPRO cobot RC5 and HikRobot 2D Camera

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Pipeline для Eye-to-Base калибровки для RoboPro Cobot и Hikrobot 2D матричной камеры

Обзор

Описание полного процесса калибровки для конфигурации "eye-to-base" (камера на базе) между RoboPro Cobot и Hikrobot 2D матричной камерой. Калибровка устанавливает преобразование между системой координат камеры и системой координат базы робота.

Ключевые файлы

  • Calibration_Base_Classes\CameraHikrobotHandler.py - Обертка над SDK камеры для получения изображения, обработки, сохранения параметров калибровки
  • collect_data.py - Движение робота по калибровочным позам и сохранение данных для калибровки
  • HandEyeCalibration_class.py - Главный класс калибровки, получает изображения и позы и возвращает матрицу Cam2Base, все матрицы сохраняются в папку transforms
  • Pose_to_Base2EE.py - Скрипт для преобразования координат фланца к матрицам трансляции и ротации
  • main.py - Демонстрация калибровки, запсук движения робота по выбранным координатам с изображения
  • 3d_viz - папка содержащая скрипты для проверки правильности матриц преобразования координатных осей между ключевыми объектами

Шаг 1: Создание калибровочной установки

  • Закрепите камеру на стойке вблизи робота, направив ее вертикально вниз на стол
  • Убедитесь, что камера максимально перпендикулярна плоскости стола - это критически важно для точности, поскольку каждая точка имеет свое расстояние до камеры
  • Меньшее искажение обеспечивает лучшие результаты - рабочая область вокруг центра камеры должна быть квадратом со стороной до 1 метра
  • Калибровочная область должна оставаться в центральной части поля зрения камеры для оптимальной точности

Шаг 2: Процедура сбора данных

  • Закрепите калибровочную шахматную доску на фланце робота
  • Запрограммируйте 20-30 поз робота, в которых робот демонстрирует шахматную доску камере под разными углами
  • Убедитесь, что вся шахматная доска четко видна в каждой позе
  • Используйте высококачественную, точно напечатанную калибровочную шахматную доску для точных результатов
  • Сохраните как позы робота, так и соответствующие изображения в специальной папке - это становится исходными данными для калибровки робота

Шаг 3: Обработка поз робота

Позы робота сохраняются как 6 координат фланца: (X, Y, Z, Rot_X, Rot_Y, Rot_Z)

Эти координаты впоследствии преобразуются в прямые и обратные матрицы ротации и трансляции:

  • R_Gripper2Base, T_Gripper2Base - Отражают положение фланца относительно базы робота и позволяют преобразовывать точки из системы координат фланца в систему координат робота

  • Эти матрицы рассчитываются из положения фланца относительно базы с помощью get_actual_TCP_position()

  • R_Base2Gripper, t_Base2Gripper - Обратные матрицы от предыдущих

Шаг 4: Этапы процесса калибровки

4a: Поиск углов шахматной доски и расчет параметров камеры

  • Обнаружение углов шахматной доски на захваченных изображениях
  • Вычисление внутренних параметров камеры и коэффициентов дисторсии

4b: Преобразование поз робота в матрицы

  • Преобразование поз робота в матрицы ротации и трансляции
  • Этот шаг выполняет преобразование, объясненное в Шаге 3, в процессе фактической калибровки

4c: Расчет позы камеры относительно калибровочной доски

  • Используя координаты углов, шаблон паттерна и параметры камеры, вычислите позу камеры относительно калибровочной доски
  • Получите как прямые, так и обратные матрицы преобразования: RTarget2Cam, TTarget2Cam, R_Cam2Target, T_Cam2Target

4d: Финальная калибровка с использованием метода OpenCV

  • Выполните финальную калибровку с использованием метода hand-eye калибровки OpenCV
  • Входные параметры включают:
    • Base2Gripper (обратные матрицы от оригинальных R, t на основе положения фланца)
    • Target2Cam (результаты из SolvePnP)

Шаг 5: Финальная матрица преобразования

  • Финальная матрица Cam2Base формируется в гомогенную матрицу преобразования из матриц R и t
  • Это преобразование применяется напрямую через матричное умножение к точкам для преобразования координат
  • Полученное преобразование позволяет осуществлять беспрепятственное преобразование между координатами камеры и координатами базы робота

Важные примечания

  • Перпендикулярность камеры рабочей плоскости критически важна для точности измерений
  • Используйте высокоточные калибровочные мишени для минимизации ошибок
  • Обеспечьте адекватное освещение и четкую видимость шахматного паттерна во всех позах
  • Проверяйте результаты калибровки через несколько валидационных точек перед использованием в производственных приложениях

About

Eye_to_Hand (Eye-on-base) calibration for RoboPRO cobot RC5 and HikRobot 2D Camera

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages