post-image

This is a RC tracked vehicle that can autonomously track and follow an object, in this case a yellow ball.

It is comprised of a Raspberry Pi, camera module, motor driver, and 3d printed parts.

post-image

The software utilizes OpenCV. The Raspberry Pi extracts the yellowish pixels from the image frame and uses a circular Hough transform to verify if it is a circle. If the yellow ball is detected, the center coordinate of the circle is mapped to a proportional controller. The proportionally controller takes the current ball coordinate and adjusts the left/right motor PWM values to face the robot towards the ball. Ideally, the ball coordinate should coincide with the center of the image frame. This method relies on consistent exterior lighting.

post-image

The system is powered by two 18650 batteries in series for 7.4v. This is fed into the motor driver to run the small DC motors. The motor driver also regulates a 5v output, which powers the Raspberry Pi.

post-image

The robot is also capable of streaming video to a local webserver. This is facilitated with the RPi-Cam-Web_Interface software that can be found here: https://elinux.org/RPi-Cam-Web-Interface

The robot can be driven remotely from SSH by reading user input with the python curses module. https://elinux.org/RPi-Cam-Web-Interface’

This bypasses the need for X-forwarding, which has compatibility issues with different computers.

post-image