3️⃣硬體整合
啟動機器人的馬達和感測器的驅動程式。
請執行
rosnode list
,找出驅動程式ROS節點的名稱。請執行
rosnode info
,其中<node name>是根據第二步驟所呈現的節點名稱。以下為輸出範例:$ rosnode info /motors_ctrl -------------------------------------------------------------------------------- Node [/motors_ctrl] Publications: * /odom [nav_msgs/Odometry] * /odom_euler [std_msgs/String] * /robot_batt_perc [std_msgs/Int16] * /rosout [rosgraph_msgs/Log] * /tf [tf2_msgs/TFMessage] Subscriptions: * /cmd_vel [geometry_msgs/Twist]
從第三步驟提供的資訊中,請確保以下:
機器人的馬達驅動程式節點,訂閱
/cmd_vel
主題,以獲取速度指令。光達驅動程式節點,訂閱雷射數據到
/scan
主題。
若主題名稱沒有按照第四步驟去設定,需在驅動程式的啟動檔案(launch files)中重新設定,請增加以下格式的指令在啟動檔案(launch files)中:
<node ... <remap from="<original topic name>" to="/cmd_vel"/> </node>
當機器人底座和光達被啟動,請執行:
rosrun rqt_tf_tree rqt_tf_tree
,以及請檢查此frame是否按照以下順序連結:odom → base_link → laser。若機器人底座(base_link)和光達(laser)的座標(frame)連結錯誤,在光達驅動程式的執行檔案中,請加上以下指令:
<node pkg="tf" type="static_transform_publisher" name="base_link_to_laser" args="0.22 0 0.1397 0 0 0 base_link laser 100" />
在驅動程式的節點運行中,若要執行RVIZ,請使用
rosrun rviz rviz
,並確保以下:雷射數據
("/scan")
有呈現出來,且方向是正確的。在遠端遙控時,請確保運動方向是正確無誤。
請確保機器人里程計
("/odom")
更新正確。
Last updated
Was this helpful?