Pose
ROS
Обменивайтесь сообщениями к гомогенному преобразованиюЭта модель подписывается на Pose
обменивайтесь сообщениями в сети ROS, и преобразует его в гомогенное преобразование. Используйте селекторы шины, чтобы извлечь вращение и векторы сдвига. Блок Coordinate Transformation Conversion берет вектор вращения (углы Эйлера) и вектор сдвига в и дает гомогенное преобразование для сообщения.
Соединитесь с сетью ROS. Создайте издателя для '/pose'
тема с помощью 'geometry_msgs/Pose'
тип сообщения.
rosinit
Launching ROS Core... Done in 0.83035 seconds. Initializing ROS master on http://192.168.0.10:53779. Initializing global node /matlab_global_node_76289 with NodeURI http://bat1071901glnxa64:36219/
[pub,msg] = rospublisher('/pose','geometry_msgs/Pose');
Укажите подробную информацию положения. Сообщение содержит перевод (Position
) и кватернион (Orientation
) описывать положение. Отправьте сообщение через издателя.
msg.Position.X = 1; msg.Position.Y = 2; msg.Position.Z = 3; msg.Orientation.X = sqrt(2)/2; msg.Orientation.Y = sqrt(2)/2; msg.Orientation.Z = 0; msg.Orientation.W = 0; send(pub,msg)
Откройте 'pose_to_transformation_model'
модель. Эта модель подписывается на '/pose'
тема в ROS. Селекторы шины извлекают кватернион и радиус-векторы из сообщения ROS. Блок Coordinate Transformation Conversion затем преобразует положение (перевод) и кватернион к гомогенному преобразованию.
Для получения дополнительной информации смотрите селектор шины в модели, чтобы видеть, как информация о сообщении извлечена.
open_system('pose_to_transformation_model.slx')
Запустите модель, чтобы отобразить гомогенное преобразование.
Измените положение или компоненты ориентации сообщения. Снова пошлите сообщение и модель запуска, чтобы видеть изменение в гомогенном преобразовании.
msg.Position.X = 4; msg.Position.Y = 5; msg.Position.Z = 6; send(pub,msg)
Завершите работу сети ROS.
rosshutdown
Shutting down global node /matlab_global_node_76289 with NodeURI http://bat1071901glnxa64:36219/ Shutting down ROS master on http://192.168.0.10:53779.