В этом примере показано, как настроить дерево преобразования 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 секунд. 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/