Пытаюсь заставить работать Turtlebot3 вместе с rtabmap.
Подправил URDF и файлы параметров costmap.
Из железа только 2 камеры T265 + d435 работают в связке. Одометрия и RGBD сних поступает на rtabmap и карты прекрасно работают.
Далее подключаю TurtleBot3 и пока что максимум чего я достиг, это вафля (тип бота) перемещается по карте соответственно камерам, но не строится маршрут. Как я понимаю не правильно подключается move_base.
Т.е. задаю точку куда робот должен переместиться, а маршрут не прокладывается.
1.Как определить, что я делаю не правильно?
2.Может ли rtabmap сам выполнить эту функцию?
3.Может быть для Move_base нужно сделать виртуальный лидар - depthimage_to_laserscan?
Может нужна еще дополнительная информация? rqt graph или что еще ?
Покажите что выдает rqt_graph и rosrun rqt_tf_tree rqt_tf_tree
Мы тут обсудили, что у меня не правильное дерево преобразований. Я немного переделал и получил новую ошибку. Цитирую из телеграм канала
в Local Configuration (local_costmap) есть настройка сенсоров для обхода препятствий (как я понял) - sensor_msgs/LaserScan or sensor_msgs/PointCloud messages. Я пытался напрямую с камеры D435 туда направить данные, но вылетала ошибка - неправильный формат. Сообщения с подходящим форматом генерирует rtabmap_ros/obstacles_detection (obstacles (sensor_msgs/PointCloud2)
The segmented obstacles.) Передав это сообщение в local_costmap я получаю предупреждения, что время этого сообщения равно 0 и соответственно слишком большая разница для TF преобразований. Скрины могу вечером сделать.
Изменил TF. ODOM теперь не публикуется, а Base_link подключен к t265_link. Но ошибка таже
Видимо 1 снимок costmap проскакивает- первый.
local_costmap:
global_frame: base_link
robot_base_frame: base_link
global_costmap:
global_frame: map
robot_base_frame: base_link
point_cloud_sensor: {
sensor_frame: base_link,
конечно не будет работать
либо добавь в робота и tf дерево base_link
либо за место него вставь фрейм камеры
Спасибо. Эта проблема решилась …