机器人底盘运行的精度是衡量底盘的重要指标。底盘精度受里程计的走直线误差和转角误差影响。因此,需要对里程计的走直线和转角进行标定,尽量减小误差。
下面是标定步骤过程。
第一步:打开终端,给标定脚本赋予可执行权限
cd scripts/
sudo chmod +x ./*
第二步:连接好底盘,电脑端启动ros节点
rosrun rosserial_python serial_node.py
第三步:设定前进3米的目标,对走直线进行标定
roslaunch odometry_publisher check_angular.launch
测量底盘停止时实际走的直线距离M,按下面的规则调整里程计直线参数coeffient(在线标定,或修改代码重新烧写):
如果M > 3米,增大coeffient;
如果M < 3米,减小coeffient。
重复第三步的操作,直到走直线的误差达到我们能接受的范围(比如5mm的误差),则进入下一步。
第四步:设定旋转1080度(原地旋转3圈)的目标,对转角进行标定
测量底盘停止旋转时实际转过的角度A,按下面的规则调整里程计转角参数wheel_distance(在线标定,或修改代码重新烧写):
如果A > 1080度,减小wheel_distance;
如果A < 1080度,增大wheel_distance。
重复第四步的操作,直到走转角的误差达到我们能接受的范围(比如1°的误差),则标定完成。
在这两个参数的理论值附近对参数进行微调,标定起来会更快。