Alfred is a self balanced two-wheels robot based around a Raspberry Pi. It will be able to move autonomously or be remotely controlled.
This project's main goal is for me to learn (or consolidate) and apply new skills:
- ROS/ROS 2, OpenCV and Google Test
- C++, Rust and UML
Alfred is composed of the following components:
- 2 motors GA25-371 (with quadrature encoders)
- MDD3A drive
- MPU6050 accelerometer + gyroscope
- HC-SR04 ultrasonic sensor
- Raspberry Pi Camera V2
- Raspberry Pi 3B+
- TXB0104 level shifter
- UBEC with a 5V output
- 4 18650 batteries
The remote used to control Alfred is a STM32F3 Discovery board to which a HC05 bluetooth module is connected.
The software powering Alfred is using ROS 2 Humble running on Ubuntu server 22.04 LTS for Raspberry Pi. The Pi's code is using some librairies:
- pigpio: a library used to control the GPIOs of the Rapsberry Pi
I am planning to use Hubris (a small OS written in Rust
) to run on the remote.
Cargo
is used to compile the remote's code (written in Rust
).