Our project had two goals:
- Control an RC car type vehicle with hand signals.
- Detect construction pallets and pick them up with a forklift-esque mechanism.
This repository contains all code necessary to achieve these goals.
- Fully modularized: Can be installed onto any system with the appropriate prerequisites
- Includes all dependencies required for ROS2 development and testing using ROS2 Humble
- Automated, one line installation and setup, powered by Docker
- Ease of accessibility, powered by a custom Makefile
- Docker
-
Install Docker using above link
-
Ensure Docker is enabled to run on startup and added to the
dockergroup. Restart your computer after running these commands:sudo systemctl enable docker.service sudo systemctl enable containerd.service sudo usermod -aG docker $USER
-
- Make, which can be installed using
sudo apt install build-essentialon most Debian based systems. - Basic knowledge of container based applications, which you can read about here.
- Clone this repo.
git clone https://github.com/ankbhatia19/MAE148-HandSignals.gitcdinto the newly created folder. Runmake.
cd inside the ROS2-Containerized folder (Where the Makefile and Dockerfile files are located). The Makefile provides a set of commands available for ease of accessibility.
make: Enters the container, allowing you to run ROS2 commands.- If ROS2 has not been downloaded, installation is automatically started
- Automatically creates container if a container has not yet been created
- Creates a new bash terminal which is running inside the container.
make clean: Stops currently running container.make status: Indicates whether the container is running or not.
Additional commands can be seen by running make help.
- Launch the container using
make. Navigate toworkspaces/148_wsonce inside the container. - Source the necessary overlays using:
. /opt/ros/humble/setup.bash
. install/setup.bash- Build the project:
colcon build- And finally launch:
ros2 launch handsigs_bringup handsigs.launch.pyFor questions about this project or otherwise, contact the developers on Discord using Discord ID Waycey.