ros中tf系统的坐标表示: http://wiki.ros.org/tf/Overview/Transformations tf中坐标转换方向 ros中各个坐标系的定义: http://www.ros.org/reps/rep-0105.html#odom rovio算法中的坐标表示: https://github.com/ethz-asl/rovio/wiki/Coordinate-Frames-and-Notation 变换的理解: 两个坐标系的同一个点,由c1系转换到c2系,称为坐标变换,或俗称点变换;只考虑两个坐标系的变换,称为基变换,俗称坐标系变换。坐标变换和基变换方向相反,但表达的坐标系是同一个。变换要考虑变换的方向和描述的坐标系两个问题。 一般的变换中,都是以坐标系下的一个坐标点作为参照进行转换推导,参见《视觉SLAM14讲》P41的推导。因此,得到的变换R、t,是坐标的变换,即简单的理解为点的变换。 在VIO中一样,IMU即使看不到点,也以其坐标系下的 一个点作为参考(比如,将重力从n系转换到b系,将重力看作一个点)。 考虑点P在1、2坐标系的表示分别为P1、P2, 坐标点P从P1变换到P2: P2 = R_21*P1+ t_21_2 坐标系1、2的坐标基变换则为从2变换到1: R_12 、 t_12_2 因此,坐标变换的描述坐标系为终点坐标系,基变换的描述坐标系为起点坐标系 在tf/message的ros框架下,以tf为例: 描述坐标系为frame_id, -> 全局坐标系 坐标基变换(坐标系变换):frame_id -> child_frame_id 坐标变换(点变换):child_frame_id -> frame_id 在ros message中变换也是基于坐标基的变换。 有的是基于点的,查看源码的注释,比如loockTransform(),注释中就说了是变换data。sendTrsnform()中通过frame_id和child_frame_id进行识别。 更新: 最直接的记忆方式就跟据全局坐标系, 比如,标定结果中,T_cam0_imu, 意味着将点从imu坐标系转换到cam0坐标系,对于...