My idea of RoboPicker was born from DJI robomaster s1. I thought it fun to build a mecanum vehicle with Arduino. So RoboPicker was born. RoboPicker is a robot both auto and manual which can be used to deliver goods. With mecanum chassis, it can move in all directions smoothly with the control of an RC. Thanks to the strong power of openmv and 6-axis arm, it can detect and follow objects and grip them if the distance is close enough. And of course, the process is all automatic.
RoboPicker consists of 3 major parts: a mecanum chassis, a 6-axis arm, and an openmv camera. The chassis is controlled by a mega2560 board and the arm is controlled by an Uno board which is specifically designed for it. Since openmv can work independently, so I just need to use Serial communication to connect the arm and openmv to follow objects automatically. And I will introduce these parts separately.
Part 1 Mecanum Chassis (hardware)My chassis was designed by Solidworks and made of Aluminum.
Since many circuits are required, I designed a shield board for mega2560 to integrate them.
After that, I connected the motors, encoders, and other components. Finally, the chassis was completed.
I use a sbus receiver and an RC to control the chassis. Since the signal needs reversing to be read, I design a reverse circuit. It works pretty well.
Controlling a mecanum chassis smoothly is a difficult and demanding task. I have designed several generations of controlling methods and finally, the vector-PID control system was born. Firstly the signal of the RC is transformed into the target speed in 3 directions(rotating, moving vertically, and moving horizontally). Then I use PID to make the motors operate at the target speed with the help of encoders to get the actual speed of the motors.
With a 6 axis arm, RoboPicker can detect and grab objects in all directions. The arm and the controller can be bought on Chinese Taobao for about 600RMB (about 100$). But the code is all written by me.
Let's see how it works. Firstly, openmv tells the controller the position of the object described in (x, y) in the graph using Serial communication. For my target is to make the object appear in the center of the graph, I use a simple PID algorithm to achieve it.
If the object is close enough (within the range of the paw), RoboPicker will automatically grab the object and release it when an RC signal is received.
The arm can also be transformed into a mechanical scissor to pick vegetables.
Openmv is a strong camera that can detect objects with color, shape, April Tag, etc. Thanks to these features, RoboPicker can detect potatoes, balls, and anything with an April Tag. And it sends the position of the object to the arm.
With a WIFI shield, you can get an FPV view of RoboPicker on your phone or laptop.
I'd like to thank everyone who has helped me with RoboPicker, and special thanks to Panda Pei for helping me design the cover image.
Due to lockdowns in Shanghai, I can't get my deliveries on time, so further work is delayed. I will modify RoboPicker as soon as I receive my deliveries and post it here.
And finally, Thanks for watching! Contact me via my email if you have questions about RoboPicker.
My mail: wangziqian@hsefz.cn
Comments