ROS:tf 与 RPlidar

ROS: tf with RPlidar

我正在使用 ROS 和 RPLidar A2,显然传感器顺时针旋转,这意味着它的参考系(见下图)与普通笛卡尔坐标系不同(x 轴在 0°,y 轴在90°)。所以我需要通过 tf 转换框架以使其更容易理解。因此,我想我只需要围绕 z 轴旋转 +90° 以匹配正常的笛卡尔坐标系。

我怎样才能做到这一点?是否需要在launch文件中加入静态TF转换信息?

您说得对,需要应用转换。这通常可以通过两种方式之一完成,具体取决于您的整体应用程序。就像您提到的那样,最简单的方法就是添加一个静态转换;也可以通过启动文件完成:

<node pkg="tf" type="static_transform_publisher" name="link1_broadcaster" args="0 0 0 0 0 0.7071 0.7071 parent_frame_id child_frame_id 100" />

注意这个节点的参数如下:x y z qx qy qz qw parent_frame_id child_frame_id period_in_ms

这对于快速简单的变换非常有效,但是,当添加许多传感器和框架时,它不会缩放。如果您希望添加更多传感器,而所有传感器都需要自己的变换,您应该改用a URDF file。它将允许您轻松地布置关于 position/orientation 机器人功能的关系数据。