- ROS機(jī)器人項(xiàng)目開發(fā)11例(原書第2版)
- (印)拉姆庫(kù)瑪·甘地那坦 郎坦·約瑟夫
- 380字
- 2021-01-26 17:17:38
3.5.2 軟件參數(shù)
現(xiàn)在,我們已經(jīng)有了機(jī)器人的規(guī)格參數(shù),下面讓我們了解一下構(gòu)建一個(gè)移動(dòng)機(jī)械臂所需要的ROS相關(guān)的信息。假設(shè)我們把移動(dòng)機(jī)器人底座看作一個(gè)黑匣子:如果給它特定的速度,則機(jī)器人底座應(yīng)該按指定速度移動(dòng),然后輸出它移動(dòng)到的位置。在ROS術(shù)語(yǔ)中,移動(dòng)機(jī)器人通過(guò)一個(gè)名為/cmd_vel(命令速度)的話題接收信息,并發(fā)出/odom(里程計(jì))。一個(gè)簡(jiǎn)單的消息傳遞過(guò)程如圖3.3所示。
圖3.3 將移動(dòng)機(jī)器人底座視為黑盒時(shí)的消息傳遞
下面我們來(lái)了解一下消息格式。
1.ROS消息格式
/cmd_vel遵從geometry_msgs/Twist消息格式。該消息格式的具體內(nèi)容參見http://docs.ros.org/melodic/api/geometry_msgs/html/msg/Twist.html。
/odom遵從nav_msgs/Odometry消息格式。該消息格式的具體內(nèi)容參見http://docs.ros.org/melodic/api/nav_msgs/html/msg/Odometry.html。
由于我們的機(jī)器人底座為2自由度的差分驅(qū)動(dòng)機(jī)器人,因此無(wú)須解釋其他相關(guān)消息格式。
2.ROS控制器
我們將使用diff_drive_controller插件對(duì)機(jī)器人底座的差分運(yùn)動(dòng)學(xué)模型進(jìn)行定義。該插件定義了我們之前介紹過(guò)的機(jī)器人運(yùn)動(dòng)學(xué)公式,能夠幫助我們實(shí)現(xiàn)機(jī)器人在空間中的運(yùn)動(dòng)。有關(guān)該插件的更多信息參見http://wiki.ros.org/diff_drive_controller。