Ros Odometry获取机器人位置-python 代码打印

纪念一下,辛苦了一天多,终于找出来了,经过网上的资料反向推出结构。

博主需要通过机器人的实时位置来进行计算。从网上查阅得知nav_msgs/Odometry消息中存储机器人的位置和速度估计等。

下面展示一下操作流程

1.首先通过  rostopic list 获得当前正在进行的话题,下面是我的当前活动话题

Ros Odometry获取机器人位置-python 代码打印_第1张图片

2. 然后用  rostopic info 相应话题         来获取关于话题的信息,包含订阅者、发布者、消息类型等。Ros Odometry获取机器人位置-python 代码打印_第2张图片 

关于这个Type:放在pythonry代码里面是需要从nav_msgs.msg格式的消息中导入Odometry这个模块

3.接着通过   rosmsg show TYPE(我的是nav_msgs/Odometry)      可以获知消息的结构类型  

Ros Odometry获取机器人位置-python 代码打印_第3张图片

4.信息的数据结构类似于结构体。粗浅的说,顶格的是Odometry下的第一级,然后缩进下面的是第二级。根据我推测应该是这个意思,还望各位大神指教。 

这是我的python代码打印信息结果:Ros Odometry获取机器人位置-python 代码打印_第4张图片 

附: 

 在py中还需导入如下模块

from  nav_msgs.msg  import Odometry

获取:

var=rospy.wait_message('/odom',Odometry,timeout=5)         #(topic,topic_type,timeout)

 打印:

print(var.pose.pose.position.x)

很是兴奋,希望能帮到你们,接着孤独的毕设

你可能感兴趣的:(Ros,学习,Ros,Python,topic)