Преобразование между одом и camera_link - PullRequest
0 голосов
/ 02 мая 2020

Я новичок в ROS и пытаюсь использовать turtlebot3 с камерой Kinect для слэма. Я заменил лидар на верхней части бота камерой kinectV1. Я уже установил все узлы, необходимые для публикации sh rgb и изображений глубины. Я также установил узел, который реализует slam, который называется Orb2Slam .

Система Slam создает pointcloud и позу. Теперь проблема состоит в том, чтобы связать одометрию, созданную turtlebot и системой шлема.

Прежде всего, я определил .urdf файл, чтобы описать робота и его текущую конфигурацию: результат можно просмотреть в rviz, внешности Великий. Файл urdf, который я использовал, можно найти здесь .

Rviz robot

Следующая картинка - это мое дерево и вот ошибка, которую я предполагаю. Orb2Slam публикует позу для camera_link, но преобразование между картой и odom невозможно, поэтому нет связи между роботом и камерой. Результат этой проблемы можно увидеть у картографа на этой картинке . В момент публикации данных Orb2Slam камера находится в неправильном положении и движется без робота.

Как я могу решить эту проблему? Я нашел этот инструмент мне нужно выполнить преобразование вручную?

Дополнительно: моя архитектура довольно сложна. На боте у меня работает ROS1 melodi c из-за драйверов kinect. Удаленная система работает под управлением ROS2 с помощью ros1_bridge. Но пока все идет нормально.

Я раздаю пиво всем, кто может помочь, спасибо:)

1 Ответ

0 голосов
/ 04 мая 2020

Пара вещей. Во-первых, не похоже, что robot_state_publisher работал, иначе я бы увидел дерево, начинающееся с base_footprint, включая дерево камер. Другое дело - добавить odom в качестве параметра облака точек.

...