< >
Home » Ailibot2实体机器人入门教程 » ROS2与Ailibot2入门教程-校准-角速度校准

ROS2与Ailibot2入门教程-校准-角速度校准

说明:

  • 介绍如何在Ailibot上进行角速度校准

  • 小车默认已经校准,除非数据明显差异,否则跳过次步骤

原理:

  • 角速度校准的作用是让旋转的角度更加准确。
  • 影响角速度的硬件参数主要是轮间距,可以修改固件里面的轮间距或修改角速度的修正系数来较少误差。

相关设备:

操作步骤

  • 校准前先准备一个校准环境

  • 例如将小车放置在平整的地面上,在往上面平行放置且固定一部手机,在手机上打开指南针,指向0度,则是转向正北方向。

  • 示例图

请输入图片描述

  • [Ailibot] 执行校准前,先将角速度的修正系数修改为1.0
vim ~/ros2_ailibot2_ws/src/ailibot2/ailibot2_bringup/param/robot/ailibot2_d2_node.yaml
  • 内容如下:
odom_node:
  ros__parameters:

    odometry:
      publish_tf: false
      use_imu: false
      frame_id: "odom"
      child_frame_id: "base_footprint"
      odom_topic_name: "wheel/odometry"
      linear_scale_correction: 1.0
      anguilar_scale_correction: 1.0
  • 小车端,启动底盘
./tools/ros2_ailibot_firmware/agent.sh
  • PC端,发布odom
ros2 launch ailibot2_bringup robot.launch.py
  • 将小车放在起点位置
  • 启动校准文件是calibrate_angular.launch.py
  • 其涉及的参数:
test_distance: 测试小车应要转动的度数
speed:小车的移动速度
tolerance:与目标距离的容差值
odom_angular_scale_correction: 角速度修正系数
start_test: 启动测试的复选框
  • 启动校准程序
ros2 launch ailibot2_calib calibrate_angular.launch.py
  • 小车旋转完后,可以根据手机指南针的度数来确定实际转了多少度

  • odom_angular_scale_correction 的值应为 实际转动的度数 / 测试度数,调整后再重新校准,适当调整该值

  • 假设测试旋转360度,而实际转的度数为270度,那么将odom_angular_scale_correction参数修改为0.75,其余不变,重新校准

  • 但若重新校准后,实际移动的距离与理论上的距离相差无几,现在就可以保存odom_angular_scale_correction角速度修正系数

使用修正系数

  • 修改ailibot2_d2_node.yaml中的odom_angular_scale_correction角速度修正系数为新的获取值
  • 修改完成后,中止所有终端,重新启动底盘即可使用新的修正系数来减少旋转角度误差

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: ros2与ailibot2入门教程