We created an autonomous projectile launcher which utilizes stereo vision to track and intercept moving objects.

This utilizes a modified NERF launcher, motion tracking software, and two Arduinos to deliver a machine capable of neutralizing moving objects.

  • Lorem
  • Ipsum
  • Dolor

Version 0

This was our rapid prototype version utilizing a laser pointer. We used monocular vision to track a moving object and aim using a pan/tilt mechanism.

Version 1

This version utilzes a stereo camera and monocular vision for verification. We also fitted a servo pan/tilt mechanism to the Nerf Barricade. We use an external circuit to power the servos.

Version 2

This version utilizes a hybrid between stereo vision and a separate triangulation process. The camera mounts are also more rigid, reducing depth errors in 3D tracking. We also added a trigger mechanism.

Final Version

This version utilizes a complete stereo vision motion tracking algorithm. The mechanism now lies flat and looks much better with acrylic rather than MDF. We also coordinate two Arduinos to both control and power the aiming mechanism and trigger.


This project incorporated technologies both mechanical and computational.

  • Mechanical Design

    This project utilizes computer-designed parts for assemblies such as a pan-tilt mechanism and linear actuation for the trigger. We also use a modified NERF gun.

  • ROS

    To coordinate sensor input with actuation, we use ROS, an industry-tested open source robotics framework.

  • Programming

    This project utilizes C++ with libraries such as PCL to process point clouds and OpenCV to track objects in images.

  • DevOps

    For ease of documentation, testing, and deployment, we use a combination of continuous integration/deployment with travis-ci and docker. Docker makes installing our program on other computers easy by making our setup portable and uncoupled from the host system.

  • Electrical Design

    We designed a circuit to boost a 3.3V signal to a 5V signal. Also, for power management, we instead coordinate between a teensy3.6 with 3.3V signals and an Uno with 5V signals. We also supply the modified NERF gun with more power.

  • Teamwork

    We worked as a tightly-knit team of five for six weeks utilizing scrum, learning much about how to plan and communicate to best reach our dreams.


This is an open source project. Here are the source links.