"Hope", a RaspberryPi-based tank robot that walks around home autonomously.
DISCLAIMER: 🚧 This project is far from complete, don't expect everything to work flawlessly out of the box
- RaspberryPi 3B+ or RaspberryPi 4
- A chassis for your robot as well as a camera and bunch of sensors
- Tank Chassis
- PiCamera
- VL53L1X
- MPU6050
- HMC5883L
- TCA9548A
- PCA9685
- L298N
- LM2596S Buck converters
- Multimeter
- 18650 UPS
- 18650 Battery Charger
- Jumpers
- MicroServo SG90
- Working cross-compilation environment on both MacOS/Ubuntu and your Raspberry Pi OS. Follow my guide if it's not the case. If i recall correctly, the guide works on RaspberryPi 4 as well but you may not need to increase your swap size when compiling OpenCV due to increased RAM size on RPi4
- Lot of patience, this project is not going to work out of the box, in particular, i'm referring to MacOS users who will have to deal with Privacy&Security features being introduced, starting from Catalina.
If you encounter any problem you're not able to fix, please ask for support pushing an issue, i'll be more than happy to help you. Once you've got a fully working environment, i truly suggest you to backup the SD card of your RPi.
In principle my idea was to provide Hope of two ways of acting:
- by planning tasks inside a 2D world
- following goals by auto-relocating inside a world with the assistance of QR Codes / Landmarks.
Both operational modes are currently under construction.
The project is made up of 5 main folders:
- PiBus - a C++ Qt implementation of I2C Protocol, you can find more information about this side project of mine here;
- Status: Completed ✅
- PiController - the main class which setup the GUI and start PiThreads;
- Status: Completed ✅
- PiDevices - contains few I2C sensors driver implementations;
- Status: Completed ✅
- PiThreads - contains the main threads that run during the execution loop of the program;
- Status: WIP 🚧
- PiMotion : thread handling Hope's movement
- Status: Completed ✅
- PiPlanner : thread handling Hope's task planning
- Status: WIP 🚧
- PiSensing : thread handling Hope's sensors data
- Status: Completed ✅
- PiVision : thread handling Hope's computer vision
- Status: WIP 🚧
- PiMotion : thread handling Hope's movement
- PiWidgets - contains the GUI Widget that are injected into the MainWindow by PiController class.
- Status: Completed ✅
I will try to upload a guide to build Hope from scratch, i gotta check my phone to retrieve some old photos when i was building it. To make it simple, Hope is built on 3 levels:
- At the lowest level you can find 2 buck converters which derive two power lines, one at 12v for the 2 DC motors and one at 5v for the servo motor
- On the middle level you can find all the sensors i've been using as well as 4 18650 batteries to power up all the sensors and the motors
- At the toppest level you can find the RPi, the camera and the UPS to power up the RPi
I will add a video ASAP