Proposal
by Peter Feghali and Jacqueline Burd
by Peter Feghali and Jacqueline Burd
A following robot
We propose to create a small robot that follows a distinct target with a camera. A stretch goal is to display some sort of result using an LED display, or emit some noise, when on target. We will be using standard feedback based controllers to help ensure that our robot follows the target.
Using standard JPEG image processing techniques to analyze the image and conduct active feedback based control. We expect to track something to the effect of a large “April tag”, which allows us to track a predefined image. This will allow us to avoid pattern recognition / deep learning. We’ll compute trajectories using pixel information. We can predict paths based on both distance and angel from target. By using encoders and image values, we can ensure that we are providing proper control to the system. We are hoping to generate smooth paths. We’d like to compute tags by using April tags. April tags allow for specific 3d positioning relative to the tag by utilizing a well-defined code - similar to a QR code, but much, much larger. We believe that this tag will be more accurate than simply estimating with pixel information.
Example April Tags
ArduCam 2MP Camera
Wifi Chip
DC Motor + Wheels (4)
Motor Controllers
Accelerometer
Encoders (2)
LED Lights
Speakers
ArduCam Module
STM32 Microcontroller
ESP8266 Wifi Module
Based on image input (15~ FPS), robot will adjust it’s movement and determine vector
Based on that vector, motors and wheels will move accordingly, and encoders with image input will provide feedback to ensure we are moving as we expect to
LED Tail-lights will correspond with the robots stop-and-go motion
Stretch Goal: Make the robot make noise when it has approached its target
Peter will be responsible for the ArduCam and the image processing that determines the robot’s optimal path. Jackie will be in charge of the robot's motor control system, tail lights, and potential speaker add-on. Both will be working on how the microcontroller interprets and executes feedback, as well as overall debugging.