Dashgo底盤精度校準

2021-07-13 06:54:34 字數 1350 閱讀 5782

底盤執行的精準度是衡量小車的重要標準。我們主要關注走直線的誤差和轉動角度的誤差。

首先,在乙個終端下執行dashgo的驅動節點。

roslaunch dashgo_bringup  minimal.launch
然後在另乙個終端執行測試指令碼。

rosrun dashgo_bringup check_linear.py
rosrun dashgo_bringup check_angular.py
誤差應該控制在1%以下。

如果誤差過大,可以通過調整底盤的輪子直徑大小、兩個動力輪的輪間距和動力係數三個值。這三個值在~/dashgo_ws/src/dashgo/dashgo_bringup/config/my_dashgo_params.yaml中。

# === robot drivetrain parameters

wheel_diameter:

0.125

# 動力輪輪子直徑

wheel_track:

0.335

# 兩個動力輪的輪間距

gear_reduction:

1.0# 動力係數

校準策略:

- 優先校準走1公尺直線,這個誤差達到要求後再校準轉動角度。 原因:走1公尺直線只和輪子直徑有關,轉動角度既和輪子直徑有關,還和輪間距有關。

- 校準走1公尺直線:實際執行超過1公尺,調大輪子直徑;實際執行不足1公尺,調小輪子直徑。

- 校準轉動360度: 實際轉動超過360度,調大輪子間距;實際轉動不足360度,調小輪子間距。

- 如果輪子直徑和輪間距已明顯高於輪子實際的直徑和間距,就需要通過調整動力係數是執行達到精準。

另外,如果覺得測量1公尺沒說服力,可以通過修改~/dashgo_ws/src/dashgo/dashgo_bringup/scripts/check_angular.py 中的

self.test_distance = rospy.get_param('~test_distance', 1.0) # meters
把測量距離有1.0公尺修改為3.0公尺、5.0公尺和10.0等等。

同理,也可以修改測量角度,修改~/dashgo_ws/src/dashgo/dashgo_bringup/scripts/check_angular.py中的

self.test_angle = radians(rospy.get_param('~test_angle', 360.0))
需要注意的是,修改的角度不能超過360度。

當然,你還可以修改小車執行的線速度和角速度的大小。

搭建Dashgo執行環境

sudo usermod a g dialout your user nameyour user name替換為實際使用者名稱.重啟機器生效 sudo apt get install git python serial ros indigo serial g mkdir p dashgo ws sr...

控制kobuki底盤 一

一 aicrobo的成果 有了catkin ws裡aicrobo xi系列的package後,分別用不同ternimal啟動 依次為虛擬底盤,rviz,鍵盤控制 roslaunch aicroboxi bringup fake aicroboxi.launch roslaunch aicroboxi...

控制kobuki底盤 二

一 開環控制小車的速度和角速度 使小車按簡單函式軌跡移動.座標系的建立 差速底盤的正面為初始方向,設初始方向與所建立座標系的夾角 atan f 0 二 計算 1 勻速轉向 由於傳送topic需要以次數i計算.故在設定阻塞頻率rate後大致可估算出w i t rate i w即為speed.angul...