项目中遇到问题在turtlebot中需要将激光雷达旋转一定位置放置,这时需要重建激光雷达的frame_id坐标系与base_link的关系。
查看tf坐标树关系
rosrun tf view_frames
查看frames.pdf
map --> odom --> base_footprint --> base_link --> orher links
增加雷达坐标系lidar_link 与 base_link关联
在lidar的launch启动文件中增加:
<node pkg="tf" type="static_transform_publisher" name="lidar_tf_broadcaster" args="0.1 0 0.4 0 0 3.14 base_link lidar_back_link 100" />
其中 args="0.1 0 0.4 0 0 3.14 base_link lidar_back_link 100" :
static_transform_publisher x y z yaw pitch roll frame_id child_frame_id period_in_ms
其中 x y z 是 x y z 的坐标
** yaw pitch roll 是 绕 z旋转弧度角,绕y旋转弧度角,绕x旋转弧度角 **
frame_id child_frame_id period_in_ms 父坐标系,子坐标系,发布间隔(ms)
上图是指的 z方向增加0.4m , x增加0.1m 绕x旋转180°
其中注意 yaw pitch roll 不要弄错,可以通过rviz查看, 红色是x , 绿色是y, 蓝色是z