机器人操作系统入门:三(中科大&&重德智能)

目录

一 . TF

          1.1 ROS 中tf  是什么?

1.2 两个frame之间发布的消息格式

1.3 整个TF-tree消息格式

1.4 TF-tree的C++实现

二 . URDF


一 . TF

Transform:坐标变换(位置和姿态),坐标系数数据维护的工具。

 

1.1 ROS 中tf  是什么?

  1. 是坐标转换的标准(tf-tree)
  2. 是话题(topic)
  3. 是package(调试查看)
  4. 是接口(roscpp/rospy)

 

机器人操作系统入门:三(中科大&&重德智能)_第1张图片

 机器人部件称为link   ,每一个link都对应一个frame,即坐标系。

 

机器人操作系统入门:三(中科大&&重德智能)_第2张图片

 圆圈内是 frame,整个TF-tree应保证通路。

每两个frame之间联通需要很多node向TF  topic上发布消息,Broadcast 是一个publisher。

 

1.2 两个frame之间发布的消息格式

两个frame之间发布的消息格式如下:

string frame_id 是父ID

string child_frame_id 是子ID

 

机器人操作系统入门:三(中科大&&重德智能)_第3张图片

 

1.3 整个TF-tree消息格式

 整个TF-tree的消息类型有两种:

第一代的TF是 tf/tfMessage.msg,  第二代的TF 是 tf2_msgs/TFMessage.msg,

 具体使用的时候可以用 rostopic info /tf  来查询具体信息。

 

它们的定义基本一致,内容如下:

机器人操作系统入门:三(中科大&&重德智能)_第4张图片

 

1.4 TF-tree的C++实现

c++语言的TF数据类型

机器人操作系统入门:三(中科大&&重德智能)_第5张图片

值得注意的是  tf:StampTransform  是C++中的一个类,不是消息格式。

 

TF 的c++语言包中关于收发的类

发送的类

机器人操作系统入门:三(中科大&&重德智能)_第6张图片

 

接收的类,参数ros::Time  常用Time(0)表示最新的时间戳

机器人操作系统入门:三(中科大&&重德智能)_第7张图片

 

二 . URDF

URDF (Unified Robot Description Format):统一机器人描述格式

urdf 文件定义了机器人的结构,机器人的各个部件定义为各个link,而各个link之间的连接就是 joint。

 

URDF文件中link的写法如下:

机器人操作系统入门:三(中科大&&重德智能)_第8张图片

 

joint 的 写法如下:

机器人操作系统入门:三(中科大&&重德智能)_第9张图片

你可能感兴趣的:(MOOC)