Open-Source robotic arm Abot

Abot is being created to help robotic enthusiasts, makers, students to build a scalable robotic arm by themselves in a affordable, easy and fun way.
He's a big guy about 1 meters tall, 6~7 kg weight.

> Abot is a great project for you to learn about multiple disciplines within robotic arm.
> By doing this project, you can grow your own skill set such as Programming, Electronic Circuit Design, Machine Design and even the algorithm of robotic control.
> Abot is totally open-source including ROS source code, stm32 source code, Qt source code.

Why did I created this robotic arm?

The story about this project.


Design the mechanical structure.

When I was in high school in 2017, I began trying to design my first robotic arm. I have design about 10 versions of mechanical structure. But they were still not good enough for production.
I didn't design the first version of the robotic arm drawing for production until March 2018.
I used 5 mm nylon board to make the body of my robotic arm, and designed a bottom for it. Most of the bottom parts are 3d printing parts.

In order to reduce the weight of robotic arm body, I designed a synchronization wheel reducer system for it. The synchronization wheels I used is 2GT synchronization wheel. 2GT synchronization wheel usually used in 3d printer.


Design the electronic circuit.

After finished the mechanical structure, I began designing the electronic circuit and cost me about 2 days.
The whole robot system is consist of upper computer or upper computer software and lower computer system. I used PC as the upper computer. The lower computer system consist of 5 stm32 micro-controllers. And I used stm32f103c8t6 to be the main controller of my Lower computer control system.Controllers use CAN bus to communicate and work in master-slave mode. There are one master and 4 slaves.
The electronic circuit of master and slaves are totally same. The only different between them are their program.
I use usb port to connect the CAN bus, so I also designed a usb hub to connect all the PCB broads.


Design the program.

You can get all the code from my github repositories.
- Program of stm32:
Master using serial port to communicate with the upper computer or upper computer software. All the motion information is come from the upper computer or upper computer software. While Master receive valid motion information it will distribute the information to slaves by CAN bus immediately.
Slaves using CAN bus to communicate with the Master, every Slave have its distinctive ID, Master send information to all the Slave in the form of broadcasting. Slaves use its ID to filter out the useful information for itself. Then Slave use the information to control Abot's joint by driving the stepper motor.

programing environment:

IDE-Version: uVision V5.25.2.0

hardware requirement:

- Program of ROS:
I used my PC to be the upper computer which runs inverse kinematics solution and trajectory planning.
To finish that job, ROS will be a big help!
Using MoveIt in ROS, you can finish inverse kinematics solution and trajectory planning without a great number programming works. 

- Program of Qt:
For more convenient debugging, I make a PC upper computer software using c++ and Qt. Having this upper computer software you can connect to the robotic arm using your USB port and control the robotic arm by operate the GUI.
The version 0.1 of this upper computer software can only control the angle of joints. I planning to develop the version 1.0 to achieve the function of trajectory tracking.

Design the control cabinet.

When I finish the above parts, I must make a control cabinet and put all the controller electronic circuit into it.
So I created this guy.
After assembled the control cabinet and put all the electronic circuit into it, I realize that it may too small to put more expanding circuit into it. So maybe I will design a bigger cabinet next time.

Comments

Robotics and Autonomous Systems

IEEE Transactions on Robotics - new TOC

MIT News - Computer science and technology

IEEE Spectrum Robotics

Robotics Research News -- ScienceDaily

ROS robotics news

The Robot Report

机器人大讲堂 - 知乎专栏

腿足式机器人的机电系统实现 - 知乎专栏

Blog – Hackaday