With this project I designed an easy to assembly and program, robot from scratch. The designs are 3D printable and all the electronics parts are easy to find in any electronic equipment store. The robot has the Raspberry Pi 3+ as the main computer with Raspbian operating system combined with Jupyter Notebook as programing interface and a Node.js application as front-end main control page. You can program and control the robot through your browser using the Proteas wireless access point.
View the project on Google Summer of Code website.
You can see the detailed timeline here.
You can visit this gist that summarizes in a few words, the work which was done during the Google Summer of Code working period.
With this project you can construct a modular robot, easy to use with cheap electronic parts and 3D printed parts. The procedure to construct the robot is explained detailed on the Wiki of the project. The main procedure is:
- Read the wiki and choose the type of robot you want
- Gather all the needed electronic parts
- Print the parts
- Preassembly the blocks
- Burn the custom Raspbian image and load it to the Raspberry PI
- Assembly the robot
- Power on the robot
- Connect to proteas network and have fun.
The main challenge of the project was the requirement to avoided the usage of tools on the assembly stage. The first days of the project I designed and tested about ten different designs of the socket system. Another problem was the voltages of the electronic parts, most of the parts are designed to work with the Arduino 5V voltages but the Raspberry Pi voltages are 3V and for that reason used a Bidirectional Logic Level Converter. Also the investigation of a stable and capable power source was crucial because nobody wants a robot with short working time, finally selected a custom build power block (BMS, Li-ion batteries and stepdown circuit) which offers excellent performance, recharging capability, usage of the robot with external power supply and long working time. Finally because the robot needed to be easy to programme form people with low experience with programming, decided to use a object oriented way. The code for the electronic parts in some cases it was complicated for a new user and using the object oriented way the code transformed from 50 lines to 3 lines easy to understand and use code.
- 3D printed parts ready to print
- Python library for easy usage and control of the robot
- Integration with Jupyter
- Easy way to access the robot
- Custom Raspbian image with OpenCV, Jupyter, Node.js, Python libraries, instructions and configuration intergraded.
- Extensive instruction for the assembly and usage
- Jupyter Notebooks with examples and educational material
There is still a lot work that may be done, in order the Proteas robot to be a direct competitive to any commercial alternative on education robotics and I believe, with the support of the Open Source community, that goal can be reached. Feel free, to contribute and participate on that project, any suggestion and improvement are welcomed.
Some thoughts for future work:
- Support of analogue sensors
- More 3D printed components
- More electronic sensors support
- Improvements on designs
- Integration with Scratch, Node-RED
- Compatibility with Arduino
- Better wireless connection
- Companion app for Android/IOS
- Custom build PCB for easy connection of the electronic components
- Iraklis Varlamis
- Theodoros Karounos
- Konstantinos Kalovrektis
The 3D designs , educational material and text is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License