This repository provides a comprehensive solution for developing and deploying 3D waypoint-based autonomous navigation systems using ROS. It is particularly suited for ground-based robots, enabling advanced capabilities such as collision avoidance, terrain traversability analysis, waypoint following, and visualization in simulation environments.
- 3D Waypoint Navigation: Navigate autonomously in complex environments.
- Collision Avoidance: Robust obstacle avoidance mechanism.
- Terrain Traversability: Assess and navigate diverse terrains effectively.
- Simulation Environments: Multiple pre-configured simulation scenarios.
- Real-World Deployment: Seamlessly transition from simulation to actual robots.
- Visualization Tools: Integrated tools for monitoring and analyzing navigation.
- OS: Ubuntu 18.04
- ROS Version: ROS Melodic
Update package lists and install required libraries:
sudo apt update
sudo apt install libusb-devgit clone https://github.com/ArghyaChatterjee/waypoint-based-3D-navigation.git
cd waypoint-based-3D-navigationcatkin_makeRun the provided script to download (~500MB):
./src/vehicle_simulator/mesh/download_environments.shIf the script does not initiate downloads, manually download and extract the environments into src/vehicle_simulator/meshes.
Source the workspace and launch the main simulation environment:
source devel/setup.sh
roslaunch vehicle_simulator system_garage.launch- Click the Waypoint button in RViz.
- Select a reachable point near the vehicle.
- The vehicle autonomously navigates to the chosen waypoint, avoiding obstacles.
Alternatively, send a sequence of waypoints programmatically:
In another terminal:
source devel/setup.sh
roslaunch waypoint_example waypoint_example_garage.launchThis ROS node includes navigation boundaries and speed control, guiding the vehicle smoothly through multiple waypoints.
We sincerely thank the developers and contributors of Autonomous Exploration Development Environment.
