JetBot Orin ROS AI Kit 教程七、机器人里程计校准

来自Waveshare Wiki
跳转至: 导航搜索

JetBot Orin ROS AI Kit 初级教程目录

前言

  • 机器人可以输出里程计信息,判断机器人行走的路程有多远,以及机器人转动了多少角度。但是程序默认输出的里程计和实际信息有可能会有误差,我们可以通过调节参数校准里程计信息,得到更高精度。
  • 初次使用精度要求不高可以跳过此步骤,不校准也影响不大,可以正常实现后面功能。

步骤1、线速度校准

  • 线性校准启动程序默认已经启动机器人底盘节点,请先关闭前面启动的机器人底盘节点,保持“机器人主节点”运行即可,否则运行命令后提示出错。
  • 在jetson nano 中重新打开一个终端,运行如下命令,启动线速度校准程序
roslaunch jetbot_pro calibrate_linear.launch
Jetbot5.png
  • 开启后不要关闭,否则在虚拟机命令框中看不到校准选项
  • 在虚拟机端运行如下命令,启动动态参数调节图形界面 ,若上述线速度校准程序正常运行,则可以看到 calibrate_linear 选项
rosrun rqt_reconfigure rqt_reconfigure
Jetbot image27.png
  • 其中:
    • test_distance 为测试距离,默认为1m.
    • speed 为机器人线速度
    • tolerance 为到达目标的误差。误差太小,会在目标位置抖动,反之,到达目标点的误差就很大
    • odom_linear_scale_correction 为里程计缩放比例,最后修正的值即为线速度校准参数。
    • start_test 开始机器人校准
  • 将机器人放在地上,并标记机器人位置,勾选start_test,机器人开始运动,等待机器人停止后,测量机器人运动距离。记录运动距离除以目标距离的比值,将odom_linear_scale_correction乘以这个比作为新的参数。重复测试,直到实际运动距离为1m。
  • 例如设置运动1m,实际运行1.2m,则比值为1.2,odom_linear_scale_correction更新为1x1.2即1.2再次启动测试,若效果满意则线性校准参数为1.2,若实际运动为1.1m,则odom_linear_scale_correction更新为1.2*1.1即1.32。如此反复直到效果满意。
Jetbot image28.png
  • 在jetson nano中输入以下命令,打开catkin_ws/src/jetbot_pro/launch/jetbot.launch文件,将linear_correction的值修改为刚才校准得到odom_linear_scale_correction校准参数。再次启动校准程序即可实际行走1m距离。
sudo nano ~/catkin_ws/src/jetbot_pro/launch/jetbot.launch     #修改校准参数
Jetbot image29.png

步骤2、角速度校准

  • 请先关闭前面线性校准程序,保持“机器人主节点”运行即可,否则运行命令会提示出错。
  • 在jetson nano 中输入以下命令,启动角速度校准程序
 roslaunch jetbot_pro calibrate_angular.launch
Jetbot6.png
  • 虚拟机端运行如下命令,启动动态参数调节图形界面 rosrun rqt_reconfigure rqt_reconfigure
 rosrun rqt_reconfigure rqt_reconfigure   
Jetbot image31.png
  • 其中:
    • test_angle为测试距离,默认为360度,即一圈.
    • speed 为机器人线速度
    • tolerance 为到达目标的误差。误差太小,会在目标位置抖动,反之,到达目标点的误差就很大
    • odom_linear_scale_correction 为里程计缩放比例,最后修正的值即为线速度校准参数
    • start_test 开始机器人校准
  • 将机器人放在地上,并标记机器人位置,勾选start_test,机器人开始运动,等待机器人停止后,根据机器人转动角度 修改odom_angular_scale_correction的值,重复测试直到效果满意。
  • 可以将手机打开指南针软件,将手机放大小车上,这样可以准确测得小车实际转动角度【注意防止雷达转动干扰】
Jetbot image32.png
  • 在jetson nano中输入以下命令,打开catkin_ws/src/jetbot_pro/launch/jetbot.launch文件,文件保存校准参数。将angular_correction的值修改为刚才校准得到odom_angular_scale_correction校准参数
sudo nano catkin_ws/src/jetbot_pro/launch/jetbot.launch        #修改角速度校准参数
Jetbot image33.png