Autonomous Object Tracking Turret

Overview

I took Joe Skovira’s iconic class “ECE 5725 Design with Embedded Operating Systems” in Spring 2018, a class on learning and using Raspberry Pi microprocessor and embedded Linux. For the last 4-5 weeks of class, students worked on a final project on any topic they choose to pursue. My lab partner Francis and I wanted to work on a project that utilized computer vision and robotics, so we decided to build an Autonomous Object Tracking Turret.


Our turret is able to locate blue objects in real time and autonomously track it with two degree freedom of motion (rotation and tilt). It can also be remotely controlled to emit a laser beam and to fire a rubber band at the target.


I wrote an object recognition algorithm and a multi processing algorithm for the turret in Python. The object recognition algorithm is coded using the OpenCV library. It detects the largest blue object viewed on camera and extracts its center position, which is used as feedback for the servo pan tilt tracking. The multi processing algorithm enables the use of all four processor cores in the Raspberry Pi to perform object recognition. This brings down the average time of object recognition from 120ms/frame to 50ms/frame with 58% time improvement.


More information of this project can be found in our final report website: Link Click Here.


Video Demo