Robotics System Toolbox ROS入門
阿新 • • 發佈:2018-11-04
Matlab的機器人工具箱提供了ROS模擬器,我們可以在上面設定ROS並獲取ROS的相關資訊。
初始化ROS網路節點
使用rosinit初始化ROS。預設情況下在Matlab中建立ROS主機並且啟動連線到主機的全域性節點。
>> rosinit
Initializing ROS master on http://DESKTOP-AKNUDCB:11311/.
Initializing global node /matlab_global_node_68516 with NodeURI http://DESKTOP-AKNUDCB:18475/
我們可以使用rosnode list來檢視所有的節點。
>> rosnode list
/matlab_global_node_68516
使用exampleHelperROSCreateSampleNetwork在ROS網路中新增三個節點。
>> exampleHelperROSCreateSampleNetwork
>> rosnode list
/matlab_global_node_68516
/node_1
/node_2
/node_3
ROS話題
檢視當前的話題
rosout是一個預設的日誌話題。
>> rostopic list /pose /rosout /scan
使用rostopic info來獲取關於一個專門話題的資訊。
下面的意思是/node_1釋出/pose話題,/node_2訂閱/pose話題。
>> rostopic info /pose
Type: geometry_msgs/Twist
Publishers:
* /node_1 (http://DESKTOP-AKNUDCB:18541/)
Subscribers:
* /node_2 (http://DESKTOP-AKNUDCB:18552/)
檢視關於/node_1的話題
>> rosnode info /node_1 Node: [/node_1] URI: [http://DESKTOP-AKNUDCB:18541/] Publications (2 Active Topics): * /pose * /rosout Subscriptions (1 Active Topics): * /scan Services (0 Active):
服務services
>> rosservice list
/add
/reply
>> rosservice info /add
Node: /node_3
URI: rosrpc://DESKTOP-AKNUDCB:18577/
Type: roscpp_tutorials/TwoInts
Args: A B
訊息Messages
釋出節點和訂閱節點使用ros messages來交換資訊,每條ROS訊息都有一個關聯的訊息型別,用於定義該訊息中的資料型別和佈局。
>> rostopic type /pose
geometry_msgs/Twist
>> rosmsg show geometry_msgs/Twist
% This expresses velocity in free space broken into its Linear and Angular parts.
Vector3 Linear
Vector3 Angular
>> rosmsg show geometry_msgs/Vector3
% This represents a vector in free space.
double X
double Y
double Z
關閉ROS Network
從ROS網路中刪除示例節點
>>exampleHelperROSShutDownSampleNetwork
在MATLAB中關閉ROS網路
>> rosshutdown
Shutting down global node /matlab_global_node_68516 with NodeURI http://DESKTOP-AKNUDCB:18475/
Shutting down ROS master on http://DESKTOP-AKNUDCB:11311/.