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" >> ~/.bashrcCLOSE 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.bashTerminal #1: Launch the simulation
roslaunch autonomous_search_with_ai start.launchTerminal #2: Spawn the bb8 unit
roslaunch autonomous_search_with_ai start_bb8.launchTerminal #3: Start the turtlebot3 navigation
rosrun autonomous_search_with_ai turtlebot3_navigation.launchTerminal #4: Start the object detection
roslaunch autonomous_search_with_ai yolo_v3.launchTerminal #5: Start the autonomous turtlebot3
cd ~/catkin_ws/src/autonomous_search_with_ai/src
python3 waypoints.pyIf ros commands are not recognized, you might have to source ros whenever you open a new terminal.
source /opt/ros/noetic/setup.bashDid 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.bashSee 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