UVU Computer Engineering Capstone Project

WiFi Controlled Robotic Vehicle (2019-2020)

Project Sponsor: NSF LEAP Program
Team Members: Colten Henrie and Richard Sherwood

Faulty Advisor: Dr. Afsaneh Minaie

  • Schematic of full electrical design
  • Controller GUI
  • Test Interface
  • Software Flow Chart
  • Flow Chart for Tank’s Controller
  • Web Camera Interface. This stream was accessed from a laptop on the same subnet as the robot
  • Web cam interface and Control Pad side by side.
  • Student working on the project

The purpose of this project was to design an autonomous robotic tank. This robot is controlled over the local Wi-Fi by sending UDP packets from controller to Rasberry Pi mounted to the tank chasis. The controller is connected to the control laptop via a serial USB connection. By pressing the buttons, triggers, joysticks, and dpads, a numerical value is sent to the control laptop and control pad program. That program then sends the encoded UDP packets to the Raspberry Pi where a program located on the Pi interprets the packets and sends control signals to the various parts of the robot. The working parts are as follows: the robotic arm and gripper, the DC motors, the pan and tilt servo motor camera module, and the sweeping sharp sensor.

The robotic arm’s servos are attached to the Raspberry Pi via the Raspberry Pi Servo Hat. Signals are sent from the Raspberry Pi python program which received those commands from the control pad. The robotic arm is able to be controlled from the controller. It can be lowered and extended using the two DOFs and the gripper can open and close. The lowering and extension of the arm were tested successfully and an object was grabbed using the grippers. Then, that object was moved over and deposited in the box.

The DC motors are controlled via the TB6612 DC Motor Driver Shield. The shield connects to the Raspberry Pi via the GPIO pins. Signals are sent from the Raspberry Pi using those pins and the two motors are able to be controlled. The shield requires a secondary power source to power the motors. We’ve connected a 12v NiHM to the shield which then powers the two DC motors.

The pan and tilt is controlled via the Raspberry Pi Servo Hat as well. The pan and tilt module is made up of two micro servos and some unique mounts. The camera module is attached to the top of the pan and tilt module and connects to the Raspberry Pi via the MIPI CSI ribbon cable. The pan and tilt was controlled using the USB controller. The video stream using the camera sends a broadcast to the local IP on port 80. A lightweight Apache server localized on the Raspberry Pi was set up which is hosting a web client for the video stream. A video feed was streamed while controlling the movement of the robot, the arm, and the pan and tilt servo module.

The robot is able to move around via the DC motors, it has a robotic arm that can extend and grab objects, it has a camera that streams live footage over the LAN to the local IP on port 80, and it has two object sensors that detect objects up to 80 centimeters away. 

Students' Presentation