Pose
Сообщение к однородному преобразованиюЭта модель подписана на Pose
сообщение по сети ROS и преобразует его в однородное преобразование. Используйте селекторы шины, чтобы извлечь векторы поворота и перемещения. Блок Преобразования Координат принимает вектор вращения (углы Эйлера) и вектор перемещения и дает однородное преобразование для сообщения.
Подключение к сети ROS. Создайте издателя для '/pose'
тема с использованием 'geometry_msgs/Pose'
тип сообщения.
rosinit
Launching ROS Core... Done in 0.7184 seconds. Initializing ROS master on http://192.168.0.10:53611. Initializing global node /matlab_global_node_69175 with NodeURI http://bat6315glnxa64:45087/
[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. Блок Преобразования Координат затем преобразует положение (перемещение) и кватернион в однородное преобразование.
Для получения дополнительной информации смотрите селектор шины в модели, чтобы увидеть, как извлекается информация о сообщении.
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_69175 with NodeURI http://bat6315glnxa64:45087/ Shutting down ROS master on http://192.168.0.10:53611.