ROS机器人 Autolabor Pro1 里程计标定方法

里程计标定

里程计标定也叫里程计校准,即在当前运行环境下重新计算运动模型,得到里程计的运动模型参数,此教程只适用于使用ROS控制AP1机器人的用户。

Autolabor Pro1 出厂时已做过标定了,在一般运行环境下(地毯、水泥、普通瓷砖等平坦路面)不用重新做标定,但如果您的运行环境是非一般环境,机器人可能就需要重新做标定,比如【经过打磨过的】并且还有【镜面效果】的水泥路面,或摩擦力较大路面,如果您在使用导航套件建图时效果不佳,也可以进行标定。

对于不太确定产品是否需要标定的用户,可先进行里程计测试,根据测试结果来判断机器人是否需要标定。

准备工作:

  • Autolabor Pro1
  • 上位机 (Ubuntu16.04 + ROS Kinetic 或 AutolaborOS)
  • 所需软件 (下载 /如使用AutolaborOS则无需下载)
    • Autolabor Pro1 ROS驱动包
    • Autolabor ROS键盘控制包

注:如使用AutolaborOS则无需下载,AutolaborOS-2.1.4及之后的版本,可以点击桌面的键盘控制

检测机器人是否需要标定

预备知识:

学会使用ROS键盘控制Autolabor Pro1(控制教程),不会ROS键盘控制检测无法进行下去。

操作步骤:

  1. 启动键盘控制,使用ROS键盘控制AP1原地转360度
  2. 打开一个新的terminal,运行
$ rviz
  1. rviz窗口打开后,将fixed frame选择为odom
  2. 关闭其他所有勾选,只保留grid和tf(如没有grid,左下角add新增)
  3. 打开tf,下拉出来frames的内容,关闭其他所有勾选,保留baselink和odom
  4. rviz右侧界面可看两个重合的坐标系(baselink和odom)
  5. 对机器人(实体)的四个轮子做标记,标记此时车的位置
  6. 键盘控制机器人原地360度转一圈(请必须记住此时旋转的方向,标定会用到),控制机器人回到刚刚标记的位置(重合),保持机器人与标记的初始位置方向一致
  7. 观察rviz中的2个坐标系是否重合

如果不重合,表示需要标定。

如果基本重合,表示不需要标定。

对机器人进行里程计标定

操作步骤:

  1. 打开一个新的terminal
  2. 运行
$ rosrun tf tf_echo /odom /base_link
  1. 在出现的数据中查找in RPY (degree)[0,0,X]
  2. 查看X值,如果刚刚键盘控制车时是顺时针转,用360-X,如果是逆时针转,用360+X,得到Y
  3. 计算 model_param*Y/360,得到计算结果
  4. 打开启动的launch文件,找到Autolabor Pro1驱动部分(autolabor_pro1_driver),找到model_param参数,将model_param改为上一步得到的结果
  5. 保存、关闭launch文件
  6. 关闭terminal中的运行的launch(ctrl+c),如果rviz关闭时弹出窗口,询问是否需要保存,点击【without saving】(不保存)
  7. 再次重复【检测机器人是否需要标定】的操作

如果不重合,表示需要标定,如果基本重合,表示不需要标定,重复以上【标定】工作,一次次的进行,直到基本重合。

注意:除第一次标定时使用的model_param为驱动中的原始值,之后每一次的标定操作中model_param为上一次标定计算的model_param结果(第5步)

  • 2
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值