В этом примере показано, как настроить дерево преобразования ROS и преобразовать системы координат на основе информации дерева преобразований. Он использует буферизированные по времени преобразования для доступа к преобразованиям в разное время.
Создайте дерево преобразования ROS. Использование rosinit
для подключения к сети ROS. Замените ipaddress
с вашим сетевым адресом ROS.
Initializing global node /matlab_global_node_14346 with NodeURI http://192.168.17.1:56312/
Проверьте доступные системы координат в дереве преобразования.
ans = 36×1 cell
{'base_footprint' }
{'base_link' }
{'camera_depth_frame' }
{'camera_depth_optical_frame'}
{'camera_link' }
{'camera_rgb_frame' }
{'camera_rgb_optical_frame' }
{'caster_back_link' }
{'caster_front_link' }
{'cliff_sensor_front_link' }
{'cliff_sensor_left_link' }
{'cliff_sensor_right_link' }
{'gyro_link' }
{'mount_asus_xtion_pro_link' }
{'odom' }
{'plate_bottom_link' }
{'plate_middle_link' }
{'plate_top_link' }
{'pole_bottom_0_link' }
{'pole_bottom_1_link' }
{'pole_bottom_2_link' }
{'pole_bottom_3_link' }
{'pole_bottom_4_link' }
{'pole_bottom_5_link' }
{'pole_kinect_0_link' }
{'pole_kinect_1_link' }
{'pole_middle_0_link' }
{'pole_middle_1_link' }
{'pole_middle_2_link' }
{'pole_middle_3_link' }
⋮
Проверьте, доступно ли требуемое преобразование. В данном примере проверьте преобразование из 'camera_link'
на 'base_link'
.
Получите преобразование на 3 секунды с этого момента. The getTransform
функция будет ждать, пока преобразование станет доступным с заданным тайм-аутом.
Создайте сообщение ROS для преобразования. Сообщения также могут быть извлечены из сети ROS.
Преобразуйте сообщение ROS в 'base_link'
система координат с использованием требуемого времени, ранее сохраненного.
Опционально: Вы также можете использовать apply
с сохраненным tform
чтобы применить это преобразование к pt
сообщение.
Завершите работу сети ROS.
Shutting down global node /matlab_global_node_14346 with NodeURI http://192.168.17.1:56312/