Wes Tarro

Demo 2

Source Code on GitHub

System Architecture | Software Design | Electrical Design | Mechanical Design

System Architecture

The system is divided into 3 major components: The remote PC controlling the system, the single board computer, and the microcontroller driving the servos.

The microcontroller is connected to the single board computer using USB serial. The microcontroller accepts movement commands from the single board computer and translates those into servo velocities, which are then sent to the servos. Additionally, the microcontroller implements a timeout feature. If the servo does not receive any commands for 2 seconds, it will stop the servos. This reduces the problem of undesired movement if any of the connections between the remote controller and the microcontroller go down.

The single board computer is responsible for the robot's wireless communication and making the devices on the robot available to the remote computer. It acts as a relay for commands, forwarding commands it receives to the microcontroller. It also acts as a relay for the camera, sending video from the camera to the remote computer for display. All network communication is done over the wireless network using UDP datagrams to carry the data.

The remote PC is responsible for issuing commands and displaying the camera feed to the user. It interacts with the single board computer over the wireless network to send commands and receive video.