ROS进阶学习手记 10 - 搭建自己的TurtleBot(3)- Velocity Calibration

ROS进阶学习手记 10 - 搭建自己的TurtleBot(3)- Velocity Calibration

    上一篇我们分析了 rbx 书籍中,对于底板驱动相关的.launch文件,turtlebot_minimal_create.launch, 现在要实验一下相关的配置以后,速度值是否与设定值一致。

    要用到的.launch 文件: turtlebot_minimal_create_me.launch ; 使用 rostopic pub 命令发布驱动指令。

    运行命令行:

    先把rbx包source一下:

    $ cd ~/catkin_ws
    $ catkin_make
    $ source ~/catkin_ws/devel/setup.bash

    再在子机上(my_robot1)启动 底盘 驱动: (通过vi工具修改了子机上的tb_create_mobile_base.launch.xml文件)

  $ roslaunch rbx1_bringup turtlebot_minimal_create.launch

在校准之前,务必参考我博文:Using Create2(Roomba 620) as your turtlebot driving base.

校准线速度:

    通过母机发指令:

  $ rostopic pub -r 10 /cmd_vel geometry_msgs/Twist '{linear: {x: 0.1, y: 0, z: 0}, angular: {x: 0, y: 0, z: 0}}'
    按照rbx书上的说法:Linear velocities are specified in meters per second and angular velocities are given in radians per second. (1 radian equals approximately 57
degrees.) 单位是 m/s 和 rad/s. (1 rad = 180/pi  degree)

    实测速度在 0.12 m/s 左右。实验距离:1米。耗时8.5s左右。

校准角速度:

    通过母机发指令:

  $ rostopic pub -r 10 /cmd_vel geometry_msgs/Twist '{linear: {x: 0, y: 0, z: 0}, angular: {x: 0, y: 0, z: 0.628}}'
    0.628 rad/s 是指令发送角速度,意味着转1圈 2*3.14 rad = 6.28 rad , 耗时应:10秒, 实测耗时:7.55s,
    so, 实际角速度 = 实际转动rad数/耗用时间 = 6.28/(7.55)s = 0.83 rad/s = 0.628* 1.32
    这里我准备做个表格,画画图,看看角速度校准应该怎么弄。(地面条件:磨石地板,粗糙度:0.3-0.5mm)

   

# 转动圈数 转动角度(rad) 设置角速度rad/s 理论耗用时间s 实际耗用时间s 实际角速度rad/s 修正系数
1 1 6.28 0.100 62.80 15.14 0.41 4.148
2 1 6.28 0.200 31.40 15.03 0.42 2.089
3 1 6.28 0.300 20.93 15.05 0.42 1.391
4 1 6.28 0.350 17.94 10.18 0.62 1.763
5 1 6.28 0.400 15.70 10.10 0.62 1.554
6 1 6.28 0.500 12.56 10.20 0.62 1.231
7 1 6.28 0.628 10.00 7.55 0.83 1.325
8 1 6.28 0.750 8.37 6.13 1.02 1.366
9 1 6.28 1.000 6.28 5.12 1.23 1.227
10 1 6.28 1.400 4.49 3.83 1.64 1.171
11 1 6.28 1.600 3.93 3.82 1.64 1.027
12 1 6.28 1.800 3.49 3.36 1.87 1.038
13 1 6.28 2.000 3.14 2.81 2.23 1.117
    

ROS进阶学习手记 10 - 搭建自己的TurtleBot(3)- Velocity Calibration_第1张图片

    参考线方程: y = x + 0.2

    参考配置:慢速档: 0.3-0.5; 线性档: 0.5 - 1.5 ; 高速档:2.0以上

如何根据线速度和角速度估计机器人的位置:

  


  





你可能感兴趣的:(ROS进阶学习手记 10 - 搭建自己的TurtleBot(3)- Velocity Calibration)