確保里程計運行正常。
適當地對齊機器人,以測試 3-4 公尺的直線距離,沒有角度。 使用 pub /cmd_vel 進行測試以獲得準確的結果: rostopic pub /cmd_vel geometry_msgs/Twist "linear: x: 0.0 y: 0.0 z: 0.0 angular: x: 0.0 y: 0.0 z: 0.0"
重新啟動馬達。
檢查 odom 姿勢是否為零。
僅發佈直線性 vel x: 0.1 ,並將機器人停在 3-4 m 標記處。 重複 odom 主題 rostopic echo /odom
。比較 odom 的位子,更新為直線性和轉角度機器人行進(偏移 1-2%)。
請正確對齊機器人。 標記機器人旋轉的位置。
重新啟動馬達。
順時針旋轉機器人,四元數應更新為負數。
重新啟動馬達,並逆時針旋轉機器人,四元數應該更新為正數。
重新啟動馬達,在同一點上旋轉並停止機器人,檢查轉角度姿勢應該要是 0 rad 。
確保不會發生輪子打滑,並且機器人能夠直線遠端操作。
只給出直線速度,檢查機器人是否直線行駛,輕微的偏差(- 1 或 2 度)是可以接受的,但不能超過 5 度。
相應地對齊輪子,以測試直線運動,建議在地板上畫線,以確保準確性。
直線移動機器人,並呼應 /odom
主題。
轉角速度校準檢查 - 使用 pub /cmd_vel 進行測試,以獲得準確的結果。
檢查轉角速度至少為 0.1-0.6 rad/s,檢查機器人是否正確旋轉。 我們建議可以錄製影片,以解決可能出現的任何問題。
同樣,重複相同的方法來檢查轉角速度校準。
請執行 rostopic pub /cmd_vel geometry_msgs/Twist "linear: x: 0.0 y: 0.0 z: 0.0 angular: x: 0.0 y: 0.0 z: 0.0"
將角度 x 數值設置在 0.1-0.6 之間。 將其他值保留為 0.0。
測量機器人轉動了多少。 同樣,記錄轉彎所需的時間。
檢查您的計算,是否與您為角度 z 設置的數值匹配。
或者,您可以使用 rosrun telelop_twist_keyboard teleop_twist_keyboard.py
。 將角速度設置在 0.1-0.5 之間。 然後重複上面的步驟 3 - 5。
Seirios 旨在能夠在各種形狀和大小的機器人上運行。
但是,在安裝軟體之前,請檢查機器人是否正常工作,以防止複合錯誤。
在開始檢查之前,請殺死所有 movel 節點(如果您已經安裝)並僅啟動電機控制器,和遠程鍵盤扭曲以進行測試,或者可以使用以下命令:
rostopic pub -r 10 /cmd_vel - for linear linear: x-0.1 for rotation only : angular: z-0.1
請確保機器人以正確的直線速度移動。
需要測試 0.1 - 0.5 m/s 的最小速度。 此外,手動檢查機器人,是否正確覆蓋距離。 我們建議可以錄製影片,以解決可能出現的任何問題。
請開啟新的終端窗口,執行以下指令 : rostopic pub /cmd_vel geometry_msgs/Twist "linear: x: 0.0 y: 0.0 z: 0.0 angular: x: 0.0 y: 0.0 z: 0.0"
更改此數值 linear: x:
為0.1-0.5 ,因為我們只想讓機器人直線向前移動。 將所有其他值保留為 0.0。
測量機器人移動的距離。 並記錄從機器人開始移動到機器人停止的時間。 通過將距離除以時間,來計算速度。
檢查您計算的速度,是否與您為線性 x 給出的值匹配。
如果數值不相符合,請重新校準您的車輪。
或者,您可以使用 rosrun telelop_twist_keyboard teleop_twist_keyboard.py
。 同樣地,給它一個介於 0.1-0.5 之間的直線速度。 然後重複上面的步驟 3 - 5。
請注意:
如果您的機器人是非完整性約束的,它應該不能橫向滑動。 y 的數值應該是 0.0。
如果您的機器人不具備飛行能力,則 z 應為 0.0。