Let's Make Robots! | RobotShop

RS5 - 3D printed Raspberry Pi 3 Robot


After a long time without robot projects I decided to make a new one that I can use to play with. I always wanted to continue the development and add new features to the RS4 robot, the initial idea was to make a more autonomous robot. I decided to do some more work, but the platform needed to be updated. As 3d printers are becoming cheap that was the way to go, developing parts is way easier and no more cutting and drilling. I'm an electronics engineer so 3D modelling is not something I am used to do, I was able to learn a few things in tutorial videos and began to 3d printing my first parts with success. I'm using SketchUp, it is not the most friendly software but with some dedication I was able to design  and print some parts.In this images you can see the complete assembly model including all the parts, printable and not printable.

I also wanted a smaller robot but with all the modules that I used in the previous one. I picked up some similar but smaller wheels and nema17 steppers for the motion. This time I'm using a STM32 microcontroller, much more powerful than the PIC I was using before. The STM32 board controls every module on the robot, balance/movement, head servos, eye color and distance readings. In the first video it is possible to see all the modules being tested over a Bluetooth connection, no Raspberry Pi present.

The board communicates via UART, using a Bluetooth UART converter is straight forward. At this point adding Raspberry Pi to the robot is not that hard, just need to implement the UART commands, compile and install OpenCV and the integration is complete. I'm using Raspberry Pi 3, the old camera module and the Raspicam Api. Performance is not great but it is acceptable, I know that there are some optimizations that can be used to achieve better OpenCV performance, I'll try them later. At the moment I'm using 640x480 resolution.

In the second video the robot is following a black line using image processing, similar process has been used before in the RS4 robot.

Here you can see some close photos of the robot, not the best color :)

 

The idea for this robot is to have a platform to implement cool features, it has some potential that can be used to develop a really nice robot. I would like to make it available for other people, that would require some more time and money to develop it, make it more close to a product. I'm not sure if there are people interested in a robot that requires some advanced programming skills.

Hope you like it. I'll keep this post updated with new features and videos, I hope :)

 

Update 22-01-2018

I've been playing with 2 robots and the new follow me feature. It is basically tracking other robot by color properties using OpenCV.

Take a look at the 3rd video.

Cheers :)

 

Update 24-03-2018

Small update video using odometry. I think it will be useful for other functionalities but for now it can be used to do these tricks.

Check the latest video.

 

 

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Look great. Nice job!!!!!

 

Thanks :)

Nicely done! Sketchup is actually quite capable (and free). Would you be willing to share the BOM and general design? I could foresee people wanting to reproduce and customize your creation.

It needs some more work. I'll decide later what to do with it.

Thanks ☺

Very nicely done. 

What is next for this project.

Will you be adding arms at some point?

You did a great job I give you a great big pat on the back for your accomplishment.

Thank you so much for sharing this.

Thank you.

For now I want to develop the high level programming, image processing stuff. Arms would look nice but it is really hard to use them to performe usefull tasks, arms alone could be a very challenging project because of the number of degrees of freedom. It is not in my plans to add arms to this robot.

They're really cute!

It's cool to see that little head looking for the line. Great work! Congrats.