之前的文章仅仅是让我们可以run起来ros程序,没有涉及到任何实际的应用场景,从今天开始我们会渐渐接触。

本节的内容不多同时也比较直观,但曾经也觉得有些困扰,在经历多次计算错误后,才决定彻底把坐标变换搞明白。

阅读本节需要一些前置知识:欧氏变换、旋转向量、四元数,这些都是基本的数学概念,希望读者自行学习,这里不再赘述。

两个坐标系间的变换

在开始具体地讲解之前,需要搞清楚两个特别容易混淆的概念:

  • 坐标系的变换
  • 点在坐标系间的变换

前者表示两个坐标系的坐标轴之间的变换关系;后者说的是一个坐标系的点在另一个坐标系中如何表示。本节会多次提到这两种说法,请读者注意。

请看下图,我们先把这两个概念搞清楚:

留意箭头的方向, [公式]

小结

本节仅是提供了一个更Intuitive的方式来理解和记忆坐标系间的转换,这样写代码时就不容易出错。后续会提供常用的代码示例。