显示机器人轨迹
使用 nav_msgs::Odometry
头文件 <nav_msgs::Odometry.h>
声明一个nav_msgs::Odometry my_odometry,填写以下成员变量:
header.stamp 时间戳,填写ros::Time::now()或者是从别的地方继承的时间戳。
header.frame_id 框架id,即父框架的ID。例如"local_enw"表示本地的ENU坐标系。
header.child_frame_id 子框架ID。例如"robot"表示机器人本身的坐标系。
pose.pose.position 位置。即子框架的原点,在父框架下的坐标。可以使用tf::pointTFToMsg(tf::Point(x,y,z), my_odometry.pose.pose.position)来赋值。
pose.pose.orientation 四元数。机器人在父框架下的朝向。可以使用tf::quaternionTFToMsg(q, my_odometry.pose.pose.orientation);(q是一个tf::Quaternion)来赋值。
把my_odometry给实时publish出去,给一个topic叫"my_od",然后在rviz中加入这个topic,就可以显示机器人的轨迹了。