ISAE-PNX / SaDVIO

Sparsify and Densify Visual Inertial Odometry
GNU General Public License v3.0
121 stars 5 forks source link

how to inspect traversability costmap? #7

Open doctorcolossus opened 4 days ago

doctorcolossus commented 4 days ago

Hello, thanks for sharing this work!

I have been able to run ros2 launch isae_slam_ros isae_slam.xml in a docker container built with the provided Dockerfile, with a EuRoC rosbag.

I am interested in the traversability costmap discussed in the SaDVIO paper, but I don't see any ROS topic which seems related to a costmap. Am I missing that or doing something wrong, or has that not been implemented for ROS?

Also, I do not understand the significance of the red, green, and black dots displayed in the visualization. Are these related to the costmap, representing traversable/untraversable areas based on some threshold, or are these SLAM keypoints?

The ROS topics I can see are the following:

# ros2 topic list
/cam0/image_raw
/cam1/image_raw
/clicked_point
/events/read_split
/goal_pose
/image_kps
/image_matches_in_frame
/image_matches_in_time
/imu0
/initialpose
/leica/position
/map_global_cloud
/map_global_lines
/map_local_cloud
/map_local_cloud1
/map_local_cloud_array
/map_local_lines
/mesh
/parameter_events
/point_cloud
/rosout
/tf
/tf_static
/vo_pose
/vo_traj
/vo_traj_array

2024 11 14-03 00 57 852

2024 11 14-03 12 56 275

cdebeunne commented 3 days ago

Hi! Thanks for your interest. For the traversability cost map, you have to run another ros node that subscribes to the topic /point_cloud, unfortunately we haven't released the code of this node yet. I will push forward in this direction.

Concerning the color of the dots: blue are 2D points not yet triangulated, red are 3D points in the local map and black are 3D points initialized with an infinite depth (not yet in the SLAM problem).

Do not hesitate if you have any other question :)

doctorcolossus commented 3 days ago

@cdebeunne Thanks for your quick and comprehensive reply! That does answer my questions for now, but we could leave this issue open to keep track of the traversability cost map ROS node feature if that's okay. In the meantime, is there a way to get the costmap using the classic/C++ implementation?

cdebeunne commented 2 days ago

Unfortunately, the cost map implementation is only embedded in the ros node not released yet :( I'll go back to you on this issue when it will be ready. For now I can recommend you to check out the paper that inspired us to develop our traversability pipeline Stereo Vision and Rover Navigation Software for Planetary Exploration from Goldberg et al (https://robotics.jpl.nasa.gov/media/documents/aero.pdf)

Our implementation is different in the sense that we have implemented a cost map merging procedure, but the general principle remains the same.