码迷,mamicode.com
首页 > 其他好文 > 详细

第六课 ROS的空间描述和变换

时间:2017-02-02 13:09:16      阅读:267      评论:0      收藏:0      [点我收藏+]

标签:令行   cli   launch   img   pdf   org   frame   技术   turtle   

1、空间描述与变换

有两个坐标系A和B,B坐标系中有一个点P,如何把B坐标系中的P映射到A坐标系呢,这就涉及到空间描述与变换,

PBORG是B坐标原点在A坐标系中的表达,

目的是将B坐标系中的P点在,在A坐标系中进行表达

技术分享

将它可以写成如下,

技术分享

中间的表达式可以成为旋转扇子,

技术分享

技术分享

实部w表示标量,虚部(x,y,z)用v表示。

操作四元素,欧拉角或者固定角可以用Bullet方法,KDL::Rotation方法等

技术分享

tf

tf的原理

有三个坐标系,一个未知坐标系,已知坐标系,一个世界坐标系

技术分享

未知坐标系在世界中的表达,用旋转算子来表示,

技术分享

未知坐标系在世界坐标系中的旋转算子=未知坐标系在已知坐标系中的旋转算子*已知坐标系在世界坐标系中的旋转算子,通过例子来看一下,

1、roscore

2、rosrun turtle_tf

3、roslaunch turtle_tf_demo.launch

出现两只乌龟一只乌龟随着另外一只乌龟跑,

技术分享

一只乌龟跟随另一只乌龟的运动而运动,这里面就包含三个坐标系,一个是乌龟1,一个是乌龟2,还有一个世界坐标系,

使用命令行工具,

view frames

rosrun tf view_frames

技术分享

打开该pdf,如下

技术分享

然后再看,

技术分享

下面看一下turtle1与turtle2作为之间的关系,前者作为父坐标系,后者作为子坐标系

技术分享

再看一下tf_monitor工具

仍然以turtle1作为父框架,turtle2作为子框架

技术分享

可以看到上面从turtle1到turtle2的变换的相关信息

技术分享

技术分享

技术分享

编写程序实现turtle tf_demo那个例子

技术分享

技术分享

技术分享

打开eclipse,导入工程,然后新建一个源文件turtle_tf_broadcaster.cpp

 

第六课 ROS的空间描述和变换

标签:令行   cli   launch   img   pdf   org   frame   技术   turtle   

原文地址:http://www.cnblogs.com/gary-guo/p/6361059.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!