Robotics has always been a direction of great interest to Zhihui Jun, and among industrial robots, he believes that the most practical is undoubtedly the robotic arm.Coincidentally, six months ago, Zhihui Jun stumbled upon a second-hand robotic arm, which excited him.However, the joy didn’t last long, and Zhihui Jun became a bit unhappy:After spending some time thoroughly researching this robotic arm and developing his own SDK, he felt something was off:“This arm is not very good.”
Zhihui Jun stated that currently available robotic arms on the market are not cool enough, so he decided to create a really cool robotic arm himself and named it Dummy (after a robotic arm named Dummy in Iron Man). To this end, he summarized a structural design diagram (since the diagram is quite long, it is presented in a scrolling manner in the video, this article only captures a portion):
Hardware Preparation
Since we are going to design a robotic arm, we need to start preparing from the hardware, after all, no matter how important the software algorithms are, a high-quality carrier is still needed to present them perfectly.
-
Driving Scheme
In terms of hardware, the first thing to determine is the driving scheme, which includes the three core components of robots commonly referred to—motors, reducers, and drivers.
Generally, the motors used in real industrial robots are brushless servo motors, which perform excellently in all aspects, but their driving systems are relatively complex and are not suitable for the extremely compact structure of this robotic arm. In contrast, Zhihui Jun chose the most precise stepper motors, but the drawback of low torque at high speeds needs to be overcome.
To solve this, Zhihui Jun chose to use the most commonly used harmonic reducer in industrial robotic arms to address the torque issue of the stepper motor: its zero backlash, high reduction ratio, and ultra-small size are tailor-made for this project.
Once the motors and reducers were determined, Zhihui Jun designed an integrated closed-loop drive for the stepper motor to ensure driving accuracy and minimize volume.
-
Structural Design
After determining the driving scheme, the next step is structural design, below is the final version of the design diagram:
Did everyone notice a highlight of this diagram?
That’s right, this final version is the 151st version, and before this, there were 150 drafts, Zhihui Jun exclaimed: “This work is the most complex structural design I’ve ever drawn.”
From the diagram, it can be seen that this robotic arm uses a total of 6 motors and 6 harmonic reducers, the main body is made of aluminum CNC machining, and the decorative components are made by 3D printing. For aesthetics, the control circuits are also integrated into the body.
Zhihui Jun also mentioned that the reason this robotic arm is designed in red is not to pay tribute to Iron Man, but because “if a wild Iron Man’s robot had a color, it would definitely be Chinese red.” Zhihui Jun calls himself “wild Iron Man.”
-
Circuit Design
The entire circuit design of the robotic arm is also very complex, involving power modules, motor drivers, computing modules, communication systems, and many other aspects, with 12 different models of MCUs being used. Additionally, to ensure strong future expandability and to innovate in interaction, Zhihui Jun has also equipped the body with various wireless capabilities such as WiFi, Bluetooth, and 2.4G.
Of course, these are secondary; the most important in the circuit is still the main controller and motor servo driver.
First, let’s talk about the motor servo driver. Zhihui Jun designed it as an integrated driver for the motor, supporting CAN bus and power machine linkage, so the entire system only requires 4 wires to connect all 6 motors and the end effector. Moreover, the performance of this driver is also excellent, using FOC with chopper constant current, and adding high-precision magnetic encoding for closed-loop control, thus avoiding the possibility of losing steps like traditional stepper motors and performing well in terms of maximum speed and efficiency.
“If the driver is the heart, then the controller is the little brain of the robotic arm.” In terms of the controller, Zhihui Jun adopted the robotic development framework REF he developed earlier, based on the Cortex-M4 core MCU. Zhihui Jun explained that this is because the M4 core comes with an FPU and DSP, which can greatly enhance the efficiency of complex calculations involved in subsequent control algorithms. Additionally, the main controller adopts a redundant design, in addition to the main controller REF, it also carries an ESP32 as a co-processor, serving as a backup for the STM32 and providing wireless capabilities such as WiFi and Bluetooth.
Overall, to solve the precision and performance issues, Zhihui Jun has gone through three steps:
-
First, use a stepper motor with integrated closed-loop drive;
-
Second, use a zero-backlash harmonic reducer;
-
Third, perform high-precision compensation in subsequent algorithm practices.
Software Development
The hardware is ready, but that’s just the beginning; the core is still the software algorithm part. Zhihui Jun pointed out that the most core software content for robotic arms lies in the kinematic forward and inverse solution algorithms and the dynamics model implementation.
The kinematic forward and inverse solution algorithms can determine the relationship between each joint angle of the robotic arm and the final end position, while the dynamics model is used for implementing collision detection, flexible control, mechanical feedback, and various functions, which involves a lot of very complex matrix and partial differential calculations. This is also the part where Zhihui Jun spent the most time during the project implementation: “Please remember, these projects seem to be all about electronics and mechanics on the surface, but behind them are all algorithms and mathematics.”
Besides the core algorithms, the software part also includes command line and graphical upper computer, mobile APP, and wireless teaching device firmware, etc. Additionally, some may have noticed a large round light ring on the base of the robotic arm:
It looks very much like… that’s right, it’s the logo of Harmony, and the main controller of this robotic arm runs on the LiteOS kernel of the Harmony system.
However, due to the limited duration of the video, many technical details were not explained in detail. Fortunately, Zhihui Jun has also open-sourced this project, so interested friends can check the detailed code on his GitHub: https://github.com/peng-zhihui/Dummy-Robot.
Interaction Methods
With both hardware and software, the next step is the demonstration part that we all love to see! In this section, Zhihui Jun demonstrated many conventional and unconventional interaction methods, summed up in one sentence:Any interaction method you want, we have it here!
-
Using Serial Port
This is the simplest interaction method, the robotic arm connects to the computer via USB and a serial port number will appear, allowing users to easily control the robotic arm using serial commands, and choose from various coordinate systems such as joint coordinate system, world coordinate system, tool coordinate system, etc., while all posture calculations are completed internally by the robotic arm.
-
Using Command Line
Through the RPC framework that comes with the REF designed by Zhihui Jun, it can achieve greater freedom in controlling the robotic arm and various parameter settings.
-
Graphical Upper Computer
The above two methods are not a problem for technical people, but for ordinary people, they can be a bit “out there.” Therefore, Zhihui Jun also implemented a corresponding graphical upper computer that allows for “foolproof” drag-and-drop interaction.
At the same time, this interaction is also bidirectional, meaning that not only can actions be sent to the robotic arm, but the posture of the robotic arm can also be synchronized in real-time in the software:
-
Manual Cooperative Teaching
Theoretically, the above three interaction methods should meet the vast majority of usage needs, but the perfectionist Zhihui Jun would not stop there: “What is a more elegant interaction method? Of course, it is to use it without even opening the software, what you see is what you get.”
Based on this, by reasonably setting the reduction ratio of the reducer during the hardware design phase, the robotic arm can perform back-driving while maintaining torque and precision, thus acquiring the function of manual cooperative teaching, which means it only needs to teach it a movement process manually once, and it can learn to repeat automatically:
However, many collaborative robots have manual teaching functions, so Zhihui Jun thinks this is not cool enough, so he designed a special method to enable the teaching function: a wireless smart terminal.
This wireless teaching device is called Peak, and it has many functions, capable of connecting seamlessly with the robotic arm via low-power Bluetooth to display various status information of the robotic arm in real-time, and can switch between various functions, including entering teaching mode.
-
AR
In addition, Zhihui Jun also utilized cutting-edge AR technology as an interaction method. After all, upper computers cannot display the real environment, and manual teaching can be quite tiring, while combining augmented reality technology can truly achieve the effect of “point and shoot.”
-
Ultimate Interaction Form: Like Your Own Arm
In the eyes of many, the above interaction methods are already excellent, but for Zhihui Jun, it is still “not ideal” and “everything is still not natural and elegant enough.” In pursuit of the ultimate interaction state, Zhihui Jun thought for a long time and finally came up with the most intuitive way for humans to use robotic arms: to use it just like their own arms.
Out of this idea, Zhihui Jun designed a device consisting of dual cameras, an AHRS system, an AI computing platform, force sensors, and force feedback devices, to achieve direct synchronization of human arm movements to the robotic arm. The specific principle is as follows:
First, the dual cameras perform target recognition and tracking positioning while the AHRS system performs attitude calculation to obtain accurate hand position and rotation attitude (since the AI algorithms involved in this process require an efficient computing platform to carry, Zhihui Jun chose Huawei’s Ascend Atlas edge computing platform), then the real-time position and posture information is sent wirelessly to the robotic arm after complex coordinate transformations, allowing the robotic arm to respond and execute.
Not only that, considering the practical value of the robotic arm, Zhihui Jun also designed a miniature gripper with force feedback, meaning that users can always know the force with which the gripper is grabbing something.
At the same time, combined with the spatial positioning system, he also designed a handheld controller that integrates the AHRS device, infrared LEDs, and the so-called black technology triggers from the PS5 controller (which has a force feedback motor installed to simulate various physical effects realistically).
The final effect of the entire device is an ultimate interaction form: users can not only synchronize their actions to the robotic arm in real-time but also feel the texture of what the robotic arm’s end is grasping in real-time on the controller.
To showcase how amazing this effect is, Zhihui Jun performed a suturing operation on grapes using the robotic arm:
Naturally, this action can also be completed by hand, it’s just suturing a grape, but can you sew the grape in the living room while you are in the bathroom? Yes, this robotic arm can achieve remote operation, and in addition, it can perform software de-shaking, remapping of motion ranges, torque enhancement, and many other effects that human hands cannot reach.
“Please call me ‘Wild Iron Man’”
In fact, in Zhihui Jun’s view, this robotic arm project is just a “small work” he researched in his spare time, merely a birthday gift he prepared for himself, but unexpectedly received attention and praise from many people. However, if it can spark some students’ interest and encourage everyone to engage in related fields to learn and innovate, that would be even better.
Zhihui Jun stated: “I am neither a genius nor a teenager anymore; perhaps the title ‘wild Iron Man’ suits me better.”
Reference Links:
-
https://www.bilibili.com/video/BV12341117rG?spm_id_from=333.999.0.0
-
https://weibo.com/n/%E7%A8%9A%E6%99%96%E5%90%9B
-
https://github.com/peng-zhihui
Source: CSDN (ID: CSDNnews)