Hi Koide!
Are you managing the possibility that the point clouds frame_id could be different than the sensor frame_id? For example, in my case, I'm using the OS1 Ouster sensor and I have the os1_sensor frame with its two childs, namely, os1_lidar and os1_imu. As far as I see from the code, it seems that you are assuming the frame_id of the point clouds the same of the sensor. Indeed, your code computes the odometry from map to lidar_frame, instead, It should give the possibility to publish the transform from map to sensor_frame. The same holds for the IMU, it is assumed to be in the same frame of the point clouds. Is this right?
The idea would be to give the user the possibility to choose the frame_id against which to publish the odometry. Indeed, it is hardcoded in the hdl_localization_nodelet.cpp file that child_frame_id="velodyne"
Hi Koide! Are you managing the possibility that the point clouds frame_id could be different than the sensor frame_id? For example, in my case, I'm using the OS1 Ouster sensor and I have the
os1_sensor
frame with its two childs, namely,os1_lidar
andos1_imu
. As far as I see from the code, it seems that you are assuming the frame_id of the point clouds the same of the sensor. Indeed, your code computes the odometry frommap
tolidar_frame
, instead, It should give the possibility to publish the transform frommap
tosensor_frame
. The same holds for the IMU, it is assumed to be in the same frame of the point clouds. Is this right?The idea would be to give the user the possibility to choose the frame_id against which to publish the odometry. Indeed, it is hardcoded in the
hdl_localization_nodelet.cpp
file thatchild_frame_id="velodyne"