Final semester project for the course EL7008: Procesamiento Avanzado de Imágenes.
The idea is to create simple 2D occupancy grid maps & semantic maps using a monocular camera and semantic segmentation on U-Net.
- Clone this repository:
git clone https://github.com/gonzal0lguin/monocular-2d-mapping.git
-
Clone the official Panther repository and replace the panther_macro.urdf.xacro file from the robot's description.
-
Install ROS dependencies:
cd ros/dev_ws
sudo rosdep install --from-paths src --ignore-src -y -r
- Compile:
catkin_make
- Download the pre-trained model and add it to:
segmentation_models/models/UNet/checkpoints
To start the simulation and vision node, run:
source setup.sh
roslaunch gazebo_sim city.launch worldname:=<name-of-world>
For Occupancy grid mapping, run:
rosrun mono_perception mapper
You can save the map with:
rosrun map_server map_saver map:=/global_occ_grid -f <your-map-name>
For semantic mapping, run:
rosrun mono_perception semantic_mapper
You can save the map as a gray-scale image with:
rosrun mono_perception save_sem_map.py