Skip to content

dajakov/R2D2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

R2D2 Robotic Control System

This repository contains all source files for a robotic control system designed to control a life-sized R2D2 robot. The 3D models were created by Michael Baddeley.

I initiated this project due to the need for a smart and reliable way to control R2D2 via an Android app. I began developing a simple proof-of-concept app in Android Studio, featuring:

  • A joystick for velocity control
  • Two buttons to rotate the dome
  • A text field to display debugging messages

The communication between the hardware and the app occurs via a WebSocket connection to an ESP01.

Hardware

I designed multiple subsystems, each with its own PCB. The brain of every subsystem is a STM32 microcontroller, responsible for fulfilling unique tasks. These PCBs communicate with each other via CAN-bus.

The main PCB serves as the translator for incoming data from the Android app, converting it into low-level commands for the subsystems which control the actual hardware.

Firmware

The STM32 microcontrollers were programmed using STM32CubeIDE. This repository contains the entire CubeIDE project directory for each subsystem. Each PCB features a 2.54mm male pin header, allowing for easy flashing and debugging via SWD (Serial Wire Debug).

Development

Hardware:

  • Test main PCB
  • Test drive PCB
  • Test dome-motor PCB
  • Test drive-intelligence PCB
  • Test battery-control PCB

Firmware:

  • Velocity control
  • Shut down motors on connection loss to Android App
  • Increase CAN frequency

Android App:

  • Joystick
  • Buttons for dome rotation
  • Add status display (battery state, error indicator)

About

Robotic control system for a life-sized R2D2.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages