【ROS系统中在地图上获取小车的点位信息】

1打开仿真环境

首先找到工作空间下的gazebo下三simulation.launch文件,这个文件里包含的是地图环境和机器人模型,在工作空间的根目录下,运行以下命令。

roslaunch  功能包中对应的gazebo包 simlution.launch

出现gazebo窗口
请添加图片描述

2找到机器人点位的话题名称

新建终端,输入 rostopic list ,会出现一系列的话题名称,odom为机器人的点位信息名称(大多数情况是odom,也有可能不是odom,自己根据对应文档更换),我的话题名称为/tianracer_01/odom,先找出来。
请添加图片描述

3键盘控制改变点位信息

再在自己的工作空间的gazebo模块下的scripts文件夹下找到keyboard_teleop.py文件,这个就是键盘控制文件,在工作空间的根目录下输入

rosrun  功能包中对应的gazebo包  keyboard_teleop.py

请添加图片描述会出现tk窗口,把tk窗口放在gazebo窗口的上层就可以控制wsad控制下车走到你想获取点位信息的位置上,(把keyboard_teleop.py文件的speed速度调小一点方便控制,点左右ad时小车停止)

4获取点位信息

在控制小车走到目标位置是停下,打开一个新的终端,在主目录下就可以,输入rostopic echo /tianracer_01/odom(我本地的话题名称换成你自己的),会反馈出来如下信息,x,y,z是三维坐标,x,y,z,w是旋转角度方向的参数。

twist消息包含了以下信息:
linear:这是一个三维向量,表示机器人在三个坐标轴方向上的线速度(单位可以是米/秒或者其他你所使用的单位)。例如,如果机器人正在向前移动,这个向量的 x 分量可能是正数,而 y 和 z 分量可能是零。
angular:这也是一个三维向量,表示机器人在三个旋转轴(通常是绕 x、y 和 z 轴)上的角速度。单位通常是弧度/秒或者其他角度单位。
请添加图片描述之前自己找的时候没有现成的教程,在此分享一下我的学习经验,如有错误请各位大佬指出杭一在这里谢过了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值