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

原创 2015年11月20日 18:07:00

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
    

    参考线方程: y = x + 0.2

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

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

  


  





版权声明:sonictl原创文章,转载注明,否则读者享用不了后续服务,感谢!

相关文章推荐

Turtlebot3入门手册之一:概述

如上图所示,一共两个机器人,扁扁的叫做waffle,高高的叫做burger(命名人当时一定很饿haha)。主要的区别如下图 简单的说处理器不一样,burger是树莓派3,waffle是inte...
  • PORTB
  • PORTB
  • 2017年09月07日 20:39
  • 480

TurtleBot配置

0、什么是TurtleBot?我自己的理解就是:TurtleBot是一款移动机器人,就是主要研究让机器人自主决定应该想那个方向走,怎么绕过障碍物,最终到达目的地。与之对应还有很多机器人,比如googl...

Turtlebot3入门手册之三:PC端软件配置

官方教程:http://turtlebot3.robotis.com/en/latest/pc_software.html 这篇博客是在[Remote PC](以下统称PC)上操作的,也就是你的笔记本...
  • PORTB
  • PORTB
  • 2017年09月07日 21:59
  • 298

ROS进阶学习手记 10 - 用iRobot Create 2搭建自己的TurtleBot(1)- Introduction

ROS进阶学习手记 10 - 搭建自己的TurtleBot     时隔一两个月,再次回来继续写自己的ROS学习及应用手记。这一两个月里,我并没有闲着,而是照着《ROS by Example》基本走完...
  • sonictl
  • sonictl
  • 2015年11月18日 16:22
  • 4334

ROS进阶学习手记 10 - 搭建自己的TurtleBot(2)- Using iRobot Roomba as the Driving Base

ROS进阶学习手记 10 - 搭建自己的TurtleBot(2)- Using iRobot Roomba as the Driving Base ROS进阶学习手记 10 - 搭建自己的Turtle...
  • sonictl
  • sonictl
  • 2015年11月19日 14:09
  • 4935

TurtleBot 调试小结

1. Download 32-bit-turtlebot-iso  http://www.iheartrobotics.com/2013/01/32-bit-turtlebot-iso.html...

简单的代码让turtlebot动起来 (使用kobuki底座)直行与旋转

之前都是使用键盘控制turtlebot的行走,于是想写段代码可以让turtlebot自己动起来,毕竟今后的工作是想让机器人在地图上可以实现自行路径规划到达指定的目的地。 启动turtlebot后在...
  • ywj447
  • ywj447
  • 2016年11月17日 15:20
  • 2850

Turtlebot学习指导第四篇_使用robot_pose_ekf包,EKF(扩展卡尔曼滤波器)对机器人位置进行校正

我们使用 robot_pose_ekf 包对通过结合'odom'和'gyro data'信息对机器人位置进行校正. 1,配置 这个包里有个默认的配置文件可以修改,大致如下 freq:滤波的频率,不会...

Turtlebot学习指导第三篇_Turtlebot发布odmo信息,发布imu信息,订阅cmd_vel速度信息的源文件

Turtlebot发布odmo信息的源文件 kobuki/kobuki_node/src/library/odometry.cpp 发布imu信息的源文件 kobuki/kobuki_...

turtlebot(hydro)学习笔记六:添加多个Kinect

最近研究在ros下怎么连接2台或者多台kinect   国内资料很少   翻墙找了点东西  原文在这  http://answers.ros.org/question/96071/accessing-...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ROS进阶学习手记 10 - 搭建自己的TurtleBot(3)- Velocity Calibration
举报原因:
原因补充:

(最多只允许输入30个字)