ROS通信机制--键盘控制乌龟运动线速度角速度XYZ值的解释

目录

前言

案例实现

线速度角速度X、Y、Z值的取值和作用

(END) 


前言

        在学习ros之初,想必大家运行的第一个案例就是键盘控制乌龟运动。这是ros内置的小案例,采用的通信机制为话题通信。本文介绍键盘控制时发布的消息里包含线速度和角速度的X、Y、Z值的取值和作用。

案例实现

1、打开三个终端,依次属于以下命令:

  • roscore
  • rosrun turtlesim turtlesim_node    //打开乌龟运动显示窗口
  • rosrun turtlesim turtle_teleop_key  //键盘控制

 注意:光标选中rosrun turtlesim turtle_teleop_key运行窗口,使用按键上、下、左、右控制运动。不选中此窗口控制无效。

 2、新开一个终端,输入命令rqt_graph,查看此案例的节点拓扑图:

 3、上一个步骤我们得知键盘控制乌龟运动的话题名为/turtle1/cmd_vel,新开一个终端输入rostopic type /turtle1/cmd_vel 查看此话题的消息名,打印出消息名为geometry_msgs/Twist:

 4、新开一个终端输入rosmsg info geometry_msgs/Twist,查看消息内容:

线速度角速度X、Y、Z值的取值和作用

        根据上述步骤我们最终拿到了消息内容,消息内容中可以看出有linearangular。 linear线速度angular角速度

  • 线速度
    • 物理意义:描述质点圆周运动快慢的物理量
    • 定义:质点做圆周运动通过的弧长\Delta S和所用时间\Delta t的比值为线速度的大小。
    • 公式: v = \frac{\Delta S}{\Delta t}
    • 单位:m/s
  • 角速度 
    • 物理意义:描述质点绕圆心转动快慢的物理量
    • 定义:质点所在的半径转过的角度\Delta \theta和所用的时间\Delta t 的比值叫做角速度。
    • 公式:\omega = \frac{\Delta \theta }{\Delta t}
    • 单位: 弧度/秒   rad/s
  • 线速度和角速度的关系(r为半径)
    •   v = \frac{\Delta S}{\Delta t} = \frac{r \Delta \theta }{\Delta t} = \omega r
    • v = \omega r

geometry_msgs/Vector3 linear
  float64 x         //直行或倒车,直行为正数,倒车为负数,单位为m/s
  float64 y        //左右横移,例如麦克纳姆轮小车支持左右横移。此案例中乌龟不能左右横移,所以不用输入此值。
  float64 z        //三维空间下的上下移动,例如无人机的起飞和降落。此案例中乌龟在二维中运动,所以不用输入此值
geometry_msgs/Vector3 angular
  float64 x        //三维坐标下沿着X轴旋转(如图飞机左右翻转) ,此案例中乌龟不能翻转,所以不用输入此值
  float64 y        //三维坐标下沿着Y轴旋转(如图飞机前后翻转) ,此案例中乌龟不能翻转,所以不用输入此值
  float64 z          //三维坐标下沿着Z轴旋转(如图原地旋转) ,此案例中乌龟可以原地旋转。左旋转为正数,右旋转为负数。

 新开一个终端输入rostopic echo /turtle1/cmd_vel 命令,在键盘控制窗口中控制乌龟左右前后运动,查看此窗口消息内容的变化:

(END) 

  • 5
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值