Firstly, thanks for your excellent work on octomap and humanoid_navigation.
These days I am working on the humanoid_localization package, could you pls provide bags file containing the topics and tf needed by the humanoid_localization package? such as the IMU, Tf (containing the information of odometry), pointCloud2.
Now I am working on localization issue for a robot working in outdoor environment. I created the octomap for the environment by velodyne64 Lidar, IMU, Odometry by SLAM. Now I want to localization in the environment using the existed octomap and I find that your humanoid_localization is a good method to do it. But I found some problems:
My system:
I got the Error:
ERROR: Raycasting in direction (0,0,0) is not possible!
my imput data for humanoid_localization node can be listed as follow:
1. **octomap** (.bt format)
2. **Lidar datas** from Velodyne64 in PointCloud2, topic name is **velodyne_points**, frame_id is **velodyne_link**.
3. **IMU data** from RT2000 sensor in sensor_msg/IMU, topic name is **imu**, frame_id is **imu_link**.
4. **odometry data** from encoders. I send the data by the tf from the **odom → torso**. I do not sure whether this is right, this tf send the odometry information to **humanoid_localization**.
this is my launch file:
<node pkg="humanoid_localization" type="localization_node" name="humanoid_localization" output="screen" >
<param name="odom_frame_id" value="/odom" />
<param name="base_frame_id" value="/torso" />
<param name="global_frame_id" value="/map" />
<param name="num_particles" value="500" />
<param name="use_raycasting" value="true" />
<param name="use_imu" value="true" />
</node>
I change the topic name in humanoid_localization package and humanoid_localization node subscribe the three topic: tf, imu, velodyne_points. But there was no output except for the Error:Raycasting in direction (0,0,0) is not possible!
except for the Error(ERROR: Raycasting in direction (0,0,0) is not possible!), I also have several other question as follow:
- dose this tf odom → torso send odometry information to the humanoid_localization node?
2. what function does this frame_id **base_footprint** have? just a frame_id fixed on the robot?
3. I am not sure: how the humanoid_localization node get the transfer the odometry data?
Thanks a lot !