Open danielv012 opened 1 year ago
There currently exists a image_segmentation_node.py that may do some of this or provide a starting point? I don't think we currently use this node, so it is untested (or at least hasn't been tested in the past year). If it works and one of the "classes" it produces is driveable road, then creating the costmap would largely be about mapping the image into a costmap (projecting the image into 3D space... which is related to another task: #370 ).
This node is located at src/perception/segmentation/image_segmentation_node.py
-Status: Researching how to use a Voxel Grid to convert the 2D occupancy grid (returned by the existing image_segmentation_node) into a 3D costmap. -Next Steps: Work on creating a Voxel Grid. -Projected Completion: 9/16/24 -Update: Commented and understood the existing image_segmentation_node and image_projection_node.
Status: Doing a deep dive into MMS documentation for the best methods of 2D image-segmentation
Next Steps: Get a demo of CARLA working (the car moving along the city) and make any dataset changes(or create a new one entirely) for the node.
Projected Completion: 10/4/24
Update:
-Last week, David and I separated the objectives for the image_segmentation_node and the image_projection_node. I will be working on the 2D image segmentation portion which will return a 2D occupancy grid and be fed into the image_projection (2D to 3D) service which David will be working on.
-I was able to get a prebuilt demo of the MMSegmentation framework (based on PyTorch) working (had some small issues with matching versions). Using that I was able to better understand the current image_segmentation_node and the important parts of how 2D image segmentation works. The existing node currently uses a pre-trained dataset. Still need to test it out with CARLA to see if it is sufficient, if not, must be tweaked.
Resources Used: -MMSegmentation Documentation: https://github.com/open-mmlab/mmsegmentation/tree/main -Fixed MMSegmentation Demo (with the correct versions): https://colab.research.google.com/drive/1l0fpP8NCxlU8QAzD4KfR3dmyzlfAgEEC?usp=sharing
keyboard_controller
node in CARLA using Pygame. However, due to multiple existing nodes (specifically the routing nodes) accessing the vehicle's position topics, I’m facing issues getting the vehicle to move properly. This requires further troubleshooting.SegLocalVisualizer
tool to test and adjust the current coloring scheme on test images.
Currently the costmap for driveable surface is provided by the map manager. While this is a reasonable place to get a driveable surface map, it tends to be slow and creates some significant lag on the realtime aggregated costmap. It also puts possibly unnecessary reliance on the map. The goal here is to use camera and possibly lidar to identify the surfaces around the vehicle that are driveable (road) so it can be used to create a costmap for road/not-road.