为什么需要标定?
首先我们来明确标定的定义,标定是在测量时,对测试设备的精度进行复核,并及时对误差进行消除的动态过程。根据该定义我们就能了解,其实任何的设备在刚制造出来后,无论你的制造过程有多精密,误差总是存在的。只不过有时候误差可能在我们的接受范围内,所以有些设备就不必标定了。拿我们的三轮全向移动小车来说的话,这个标定过程是不可少的。因为小车是一个具有机械安装结构和电机驱动的设备,机械结构安装会存在误差,电机的性能也会各不相同。这样即使我们的控制程序是一样的,那在具有安装误差和电机性能不同的小车上运行起来移动效果肯定也是不一样的。所以,我们需要每制作好一台轮式移动小车后,都需要对其移动的线速度和转动的角速度进行标定。只有在标定后,小车的移动距离理论值才会跟实际测量值一样。这样我们小车在进行自动导航时,往目标点移动时才能更好的进行定位。
1 准备工作
1)将下面链接中的校准文件下载到自己的工作空间下,机器人校准程序代码下载链接:carebot_calibration.zip官方版下载丨最新版下载丨绿色版下载丨APP下载-123云盘
2)卷尺一个或者长的直尺也可以。
2 校准阶段
2.1 编译校准文件
将上述的准备下载到工作空间下后,使用如下指令对下载的标定包进行编译
catkin_make -DCATKIN_WHITELIST_PACKAGES="carebot_calibration"
2.2 标定实现
参考此链接进行标定即可:1.三轮全向移动小车的线速度标定 - ROS小课堂
其中的标定结果会在终端中自动计算出来,其计算公式为:
linear_scale = 实际的行走距离 / 预设定的距离
例如:预设定的距离:1.5米, 实际的行走距离2.33米,那么 linear_scale 的值为:
linear_scale = 2.33 / 1.5 = 1.553