1.3如何配置launch与lua文件

配置launch文件

launch文件中需要如下几个设置:

1、bag文件的地址与bag文件的名字

2、lua文件的名字

3、topic需要remap成bag文件中发布的topic

类似于这样:

  <node name="cartographer_node" pkg="cartographer_ros"
      type="cartographer_node" args="
          -configuration_directory $(find cartographer_ros)/configuration_files
          -configuration_basename mappingcfg.lua
          -load_state_filename $(arg load_state_filename)"
      output="screen">
    <remap from="points2" to="rslidar_points" />
    <remap from="scan" to="front_scan" />
    <remap from="odom" to="odom_scout" />
    <remap from="imu" to="imu" />

配置lua文件

1、tracking_fram 指将所有传感器数据转换到哪个坐标系下处理,有imu的link就设置成imu的link,没有就设置成base_link

2、publisher_frame cartographer发布的tf的最下边一个坐标系,就是bag文件中tf树的最上边的一个坐标系。相当于找到一个坐标系用于发布map到该坐标系之间的变换。

3、provide_odom_frame是否提供里程计,如果有里程计坐标系,这个就是false,如果没有,就需要根据需要决定是否提供里程计的坐标系。这里是提供里程计的TF关系。如果你没有里程计但是这里设置为true会根据当前位姿生成一个odom的TF

4、use_odometry是否使用里程计数据,如果设置为true,tf树中一定要存在odom这个坐标系。

5、num_laser_scans/num_point_clouds单线点云的数量与多线点云的数量,可以同时为1,不能同时为0

6、TRAJECTORY_BUILDER_2D.use_imu_data是否使用imu,如果用imu,tracking_frame一定要设置成imu的link.

7、TRAJECTORY_BUILDER_2D.imu_z点云的最小z的范围,单线点云不能设置大于0的值(不设置),多线点云的这个值要大于0。

你可能感兴趣的:(cartographer,算法)