This repository includes codes employed in the paper Crowd-Aware-Navigation-Based-on-A-Risk-Map-and-Multi-Object-Optimization-Approach.
NOTE: To properly use the code, please modify the path in dangermap_core.py to your own path.
- dangermap_core: Contains the code for danger map construction and action generation.
- world and model: Contains the world and model file needed for gazebo simulation.
Any ROS2 version should be fine, this code is tested under ROS2 foxy and galactic.
Install Turtlebot3 packages following this tutorial:
https://emanual.robotis.com/docs/en/platform/turtlebot3/quick-start/
Remember to install DynamixelSDK, turtlebot3_msgs, turtlebot3, and turtlebot3_simulations from source. And copy the 3_cylinders.model inside world and model fold to the gazebo world folder. cylinder_model need to be pasted to ~/.gazebo/
.
cd /your/ws/
colcon build
May face some dependency error, install them with:
rosdep install --from-paths src -y --ignore-src
Python-RVO2 need manual installation.
After compiling, to launch gazebo:
source install/setup.bash
ros2 launch turtlebot3_gazebo turtlebot3_world.launch.py
To run our code:
ros2 run dangermap_core dangermap_core --policy ca_lidar
This command will launch the quantitive experiments where the vehicle is running in different configurations: radius:3-20, number of obstalce: 3-20, speed: 0.2-1. Each setup will be tested for 100 times. Success and fail count as well as the mean computation time will be printed to the terminal.