ROS基础知识学习笔记(5)—TF2 Package

1.安装TF功能包

sudo apt-get install ros-$ROS_DISTRO-turtle-tf2 ros-$ROS_DISTRO-tf2-tools ros-$ROS_DISTRO-tf

2.功能包提供的例子

roslaunch turtle_tf2 turtle_tf2_demo.launch

这个例子是键盘控制turtle1,然后turtle2会追赶turtle1
在这里插入图片描述

3.节点和话题图形

rosrun rqt_graph rqt_graph

在这里插入图片描述

4.节点和话题

rosnode list
rostopic list -v

在这里插入图片描述

5.分析主题 /turtle1/pose的消息类型[turtlesim/Pose]

rostopic echo /turtle1/pose

在这里插入图片描述
分析一下pose的数据类型
这是官网的geometry_msgs/Pose.msg的定义:geometry_msgs/Pose.msg
截图如下:
在这里插入图片描述我们看到,此处的数据类型与程序运行的数据截图不同。因为这个例子中用的是[turtlesim/Pose],我们在终端查看turtlesim/Pose的形式:

lv@lv-HP:~$ rosmsg show turtlesim/Pose 
float32 x
float32 y
float32 theta
float32 linear_velocity
float32 angular_velocity

这个相当于[geometry_msgs/Pose.msg]的阉割版,因为小乌龟只能在这个平面运动,少了一个自由度,

[geometry_msgs/Pose.msg] [turtlesim/Pose]
三维 二维
float32 x(平面x坐标) Point position(表示三维的点)
float32 y(平面y坐标) Quaternion orientation(四元数,表示一个三维的旋转)
float32 theta(角度)
float32 linear_velocity(线速度,表示位移)
float32 angular_velocity(角速度,表示自身旋转)

6.分析主题/turtle1/cmd_vel的消息类型[geometry_msgs/Twist]

在这里插入图片描述在这里插入图片描述链接:[geometry_msgs/Twist]

7.分析主题/tf的消息类型[tf2_msgs/TFMessage ]

lv@lv-HP:~$ rosmsg show tf2_msgs/TFMessage 
geometry_msgs/TransformStamped[] transforms
  std_msgs/Header header
    uint32 seq
    time stamp
    string frame_id
  string child_frame_id
  geometry_msgs/Transform transform
    geometry_msgs/Vector3 translation
      float64 x
      float64 y
      float64 z
    geometry_msgs/Quaternion rotation
      float64 x
      float64 y
      float64 z
      float64 w

在这里插入图片描述

8./turtle_pointer节点的作用

通过乌龟1和乌龟2的位置计算给乌龟2一个数据(包括线速度和角速度),让乌龟2追上乌龟1。

太难了,加油努力!

发布了35 篇原创文章 · 获赞 4 · 访问量 4025

猜你喜欢

转载自blog.csdn.net/qq_42589654/article/details/104300595