This repository contains the code for our ROB 456 group final project. Our robot exploration code uses Dijkstra's algorithm to plan paths to unexplored parts of the map. The robot uses an artifical potential field (APF) method to navigate between waypoints and actively avoid dynamic obstacles. See a demo of the robot exploring a world below:
demo.webm
# Clone the repository
$ git clone https://github.com/andrewda/rob456
# Move into the directory and run catkin_make
$ cd rob456 && catkin_make
# For lab3, make sure slam-gmapping is installed
$ sudo apt install ros-noetic-slam-gmapping
# Launch the world
$ roslaunch lab1 lab1.launch
# Run the stopper code
$ rosrun lab1 stopper.py
# Launch the world
$ roslaunch lab2 lab2.launch
# Run the driver code
$ rosrun lab2 driver.py
# Run the waypoint publisher
$ rosrun lab2 send_points.py
# Launch the world
$ roslaunch lab3 lab3.launch