ROS自学笔记15--TF和URDF

TF是ROS里面一个重要的概念。
TF(Transform)指的是坐标系的变换,涉及带SLAM,机械臂运动等等方便。
URDF(Uniform Robot Description Form)是ROS制定的一套机器人描述规范,制定了一套具体的机器人模型。例如机器人的关节有多长,是怎么样连接的等等机器人的自身属性。

TF概述

(1)什么是TF

搞ros都离不开tf,当建立一个机器人模型时,第一步就是要确定机器人的tf结构。 tf是一个让用户随时间跟踪多个参考系的功能包,它使用一种树型数据结构,根据时间缓冲并维护多个参考系之间的坐标变换关系,可以帮助用户在任意时间,将点、向量等数据的坐标,在两个参考系中完成坐标变换。
以kobuki导航运行为例,首先是
map:地图坐标,固定坐标系
odom : 机器人初始位置坐标,固定坐标系
base_link:机器人中心位置坐标

(2)TF可以做什么

一个机器人系统通常有很多三维的参考系,而且会随着时间的推移发生变化,例如全局参考系(world frame),机器人中心参考系(base frame),机械夹参考系(gripper frame),机器人头参考系(head frame)等等。tf可以以时间为轴,跟踪这些参考系(默认是10秒之内的),并且允许用户提出如下的申请:

五秒钟之前,机器人头参考系相对于全局参考系的关系是什么样的?
机器人夹取的物体相对于机器人中心参考系的位置在哪里?
机器人中心参考系相对于全局参考系的位置在哪里?

(3)TF的使用

想要使用tf功能包,总体来讲可以分为以下两个步骤:
(1) 监听tf变换
接收并缓存系统中发布的所有参考系变换,并从中查询所需要的参考系变换。
(2)广播tf变换
向系统中广播参考系之间的坐标变换关系。系统中更可能会存在多

你可能感兴趣的:(机器人技术)