UCF Senior Design Project - Sponsored by Lockheed Martin
An autonomous robot that uses YOLOv3 object detection and SLAM pathfinding to locate and identify a bb8 unit
-
Create an Ubuntu 20.04 LTS VM
-
Install ROS-Noetic & Dependencies
sudo apt-get update
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
sudo apt-get update
sudo apt-get install git
sudo apt-get install ros-noetic-desktop-full
sudo apt-get install ros-noetic-turtlebot3-*
source /opt/ros/noetic/setup.bash
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
echo "export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:~/catkin_ws/src/gazebo_models_worlds_collection/models" >> ~/.bashrc
echo "export TURTLEBOT3_MODEL=waffle" >> ~/.bashrc
CLOSE AND RE-OPEN TERMINAL
sudo rosdep init
rosdep update
- Create Simulation Workspace
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/
catkin_make
source devel/setup.bash
- Get ROS Packages
cd ~/catkin_ws/src
git clone https://github.com/chaolmu/gazebo_models_worlds_collection.git
git clone https://github.com/patrick1bauer/autonomous_search_with_ai.git
git clone https://github.com/Tossy0423/darknet_ros.git
cd ~/catkin_ws
catkin_make
source devel/setup.bash
Terminal #1: Launch the simulation
roslaunch autonomous_search_with_ai start.launch
Terminal #2: Spawn the bb8 unit
roslaunch autonomous_search_with_ai start_bb8.launch
Terminal #3: Start the turtlebot3 navigation
rosrun autonomous_search_with_ai turtlebot3_navigation.launch
Terminal #4: Start the object detection
roslaunch autonomous_search_with_ai yolo_v3.launch
Terminal #5: Start the autonomous turtlebot3
cd ~/catkin_ws/src/autonomous_search_with_ai/src
python3 waypoints.py
If ros commands are not recognized, you might have to source ros whenever you open a new terminal.
source /opt/ros/noetic/setup.bash
Did you build the catkin workspace and source the setup.bash files? If you did not modify the ~/.bashrc file to source the setup.bash files for each new terminal, you have to manually source them!
cd ~/catkin_ws
catkin_make
source devel/setup.bash
See the open issues for a list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Patrick Bauer - Team Lead / Simulation Environment / Navigation - patrick1bauer@gmail.com
Pablo Trivino - Object Detection / Robot Sensors
Mark Pedroso - Object Detection / AI Training
Noah Avizemer - Simulation Environment / Mapping
Nathanel Casagnol - Navigation