《 无人驾驶原理与实践》一2.9.3TF坐标转换系统

举报
华章计算机 发表于 2019/06/02 20:37:14 2019/06/02
【摘要】 本书摘自《 无人驾驶原理与实践》一书中的第二章,第2.9.3节,编著是申泽邦 雍宾宾 周庆国 李良 李冠憬

2.9.3TF坐标转换系统

       TF是一个坐标转换工具包,它可以随时间跟踪ROS下的多个参考系。借助TF,我们可以在任意时间将数据的点、向量坐标在两个参考系中完成坐标变换。一个机器人系统通常有很多三维参考系,而且会随着时间的推移发生变化,如全局参考系(World Frame)、机器人中心参考系(Base Frame)、机械手参考系(Gripper Frame)、机器人头参考系(Head Frame)等。TF也可以以时间为轴,跟踪这些参考系,并且允许用户提出如下请求:
     ◆    5秒之前,机器人头参考系相对于全局参考系的关系是什么样的?
     ◆    机器人夹取的物体相对于机器人中心参考系的位置在哪里?
     ◆    机器人中心参考系相对于全局参考系的位置在哪里?
       TF实际是通过发布者/订阅者机制在主题tf和tf_static上实现的,如图215所示。
总体来讲TF的使用方法分为以下两类:

image.png

       1)监听TF变换,接收并缓存系统中发布的所有参考系变换,并从中查询所需要的参考系变换。
       2)广播TF变换,向系统中广播参考系之间的坐标变换关系。系统中更可能存在多个不同部分的TF变换广播,每个广播都可以直接将参考系变换关系直接插入一个树状结构中(我们称之为tf树),可以使用rosrun tf view_frames将TF转换树数据以PDF的形式导出并可视化。图216是导出后的Husky机器人的TF数据。

image.png

       此外,Rviz也提供了TF转换的3D显示插件。图217是Husky机器人的各个参考系可视化结果。
图217Rviz下机器人的各个参考系可视化结果

image.png

2.9.4URDF和SDF
       URDF全称为Unified Robot Description Format(统一机器人描述格式),是一种用于描述机器人模型的XML语法,具体来说这里的机器人模型包含:
     ▲    运动学模型和动力学模型
     ▲    可视化表示
        碰撞模型
       URDF的生成通过ROS自带的宏语言xacro来完成,它被存储在/robot_description参数服务器中,通过查看Husky机器人的launch文件,在husky_empty_worldlaunch文件中引用了spawn_huskylaunch启动文件,它赋予Husky机器人3个参数(其中kinect_enabled参数的作用是启用Husky机器人的URDF中的运动学模型)。在spawn_huskylaunch启动文件中,通过如下参数启用机器人模型(URDF)。

image.png

       同样,URDF也可以通过Rviz进行可视化,其显示插件为RobotModel。根据实际应用可以自定义机器人模型,在无人车研发中即为车辆模型。这些车辆模型还需要符合一些运动学和动力学要求,并具备碰撞特征等。
       除了能够自定义车辆模型的描述(即URDF)以外,ROS还提供了模拟描述格式(Simulation Description Format, SDF)。该描述格式也采用了XML语法进行描述定义,包含环境的描述(光线、引力等),以及环境中的静态和动态对象、传感器、机器人等。SDF是Gazebo模拟器的标准描述语法。此外,Gazebo能够自动将URDF转换成SDF。

2.10本章参考文献

[1]ROS[EB/OL]. http://wwwrosorg/

[2]机器人操作系统[EB/OL]. https://zhwikipediaorg/wiki/%E6%A9%9F%E5%99%A8%E4%BA%BA%E4%BD%9C%E6%A5%AD%E7%B3%BB%E7%B5%B1

[3]机器人操作系统[EB/OL]. https://baikebaiducom/item/ros/4710560?fr=aladdin

[4]ROS [EB/OL]. http://wikirosorg/ROS

[5]Husky机器人[EB/OL]. https://wwwclearpathroboticscom/huskyunmannedgroundvehiclerobot/

[6]About ROS [EB/OL].  http://wwwrosorg/aboutros/

[7]远程过程调用[EB/OL]. https://enwikipediaorg/wiki/Remote_procedure_call

[8]OMGData Distribution Service for Realtime systems[EB/OL].https://download.csdn.net/download/u013708469/6938295.2007.
[9]Gazebo模拟器[EB/OL]. http://gazebosimorg/


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。