Design of a Biomimetic BLDC Driven Robotic Arm for Teleoperation & Biomedical Applications

For many years, robotics research and development has been held back from the high-power AC motors of industrial automation, locked to low-power, bulky Stepper motors and simple DC Servos. As of a few years ago, Brushless DC motors started seeing use in high-end quadrupedal designs such as Boston Dynamics Cheetah, and Spot. Whilst these used expensive, proprietary control systems that were closed source and out of the reach of many small-scale researchers, developers, and hobbyists, they did demonstrate the potential of a motor-class previously only commonly thought suitable for high-RPM applications like drones and quadcopters. In 2016, an open-source custom driver platform named ODrive was started, which is now in its 3rd iteration. As of 2021, it provides all of the basic hardware and software needed to control 2 closed loop Brushless DC motors per board, using off the shelf encoders and at a reasonable, hobbyist level price point. This technology is, on paper, a huge development for plenty of low-budget robotics research applications. In this project, we design, build, and evaluate a 4 DOF robotic arm using 4 BLDC motors with ODrive control, using 3D printed parts and other components available at a low price point. This arm will be used in the future for testing tele-operative control and so it is designed to be biomimetic, modelled at 2/3 scale with similar proportions and motion capabilities to a real human arm to the elbow. The extremely small, cheap, and lightweight motors selected for this project are shown to output superior speed and torque to stepper motors multiple times their size and weight, albeit at a very significant power draw requirement. The speed and power of a BLDC through a high reduction gearbox allows extremely fast and responsive movement such that it can easily execute complex movements easily in pace with a human arm.


Introduction
For the purposes of Teleoperation, it is important that a robotic arm follows as close as possible to the joint configuration of the arm it is emulating. However, the key barrier for biomimetic robotic systems is the very different structure of motors and muscles, as well as the extreme complexity of biological systems such as the arm. Joint configurations are much more restricted in a motorized system due to the smaller number of direct drive actuators. This problem becomes evident when designing a robotic shoulder joint, which is one of the most complex structures in the human body. The main shoulder joint is named the Glenohumeral Joint. It is a ball and socket joint between the scapula and the humerus. As a ball and socket joint, it operates in 3 degrees of freedom (d.o.f.).

The Human Arm
However, the shoulder itself is also articulated by 3 more joints. The AcromioClavicular (AC) Joint, the SternoClavicular (SC) Joint, and the ScapuloThoracic (ST) Joint. All of these joints work together to create a complex joint with the greatest range of motion of any joint in the human body [1]. An arrangement to mimic the precise movement of the entire shoulder complex has, to my knowledge, never been achieved with robotics and is well beyond the scope of this project. However, (2+1) d.o.f. robotic shoulder joint are capable of placing the elbow joint at any cartesian point within its reach, at any angle. So, whilst some specific movement paths may not be possible to emulate, the end position should be so long as we are only interested in matching the relative position of the glenohumeral joint and elbow joint [2].
The next problem is the requirement for high torque. Brushless DC Motors, for example, are powerful, but as with any electric motor they inherently spin at very high RPM, not at a high torque [3]. In order to achieve the strength required to lift even an empty plastic arm, a motor needs some form of reduction to exchange some of that RPM for torque. There are many ways to go about reducing a motor, all trading between size, weight, cost, maximum torque, backlash, and range of motion. There is no perfect reducer that excels in all areas, so a choice must be made.

Brushless DC Motors
BrushLess DC Motors (BLDC) are unique from the more ubiquitous Brushed variant in that they do not have brushes or a commutator. Instead, they consist of electromagnet stators that manipulate the magnetic field inside the motor to rotate a permanent magnet rotor about its axis. Because this is a completely contactless arrangement, BLDCs are innately very high efficiency devices. In addition, the magnetic field oscillates in sinusoidal pattern that ensures maximum torque is always output to the rotor, unlike brushed motors that only reach this maximum torque at certain points in the rotation [3].
BLDCs can therefore operate at very high RPMs with high efficiency, and even high degree of control over the speed and current that is output given that they are each proportional to voltage and current respectively. For this reason, BLDC motors have been a mainstay in drone and quadrotor applications for many years. However, operating a BLDC with the precision needed for robotics applications is a much trickier task. Only recently have custom controllers been developed that allow a driver board to pair a BLDC with an encoder for closed loop control, providing in turn the ability to know and track the near exact current position of the rotor such that the start electromagnets can be magnetized in the precise ways required for fine position, force, and speed control [4].
The two forms of BLDC are Inrunner and Outrunner. The key difference being which of the rotor and stators are on the inner section of the motor. Generally for robotics applications excluding drones, torque is required over even more RPM. As such, outrunner motors are the better choice [5].

Pulleys
The pulley is maybe the oldest and simplest mechanism for transferring rotational energy from one input driver pulley to one output driven pulley, often with a small reduction ratio between the driver and output [6]. Most commonly, this transfer is transferred through a rope, a belt, or a chain. In robotics applications, a toothed belt is common, such as in this KUKA robotic arm [7].
The main advantage of belts is that they provide 0 backlash, and the belts can be bent and twisted at various angles easily, provided they are run over a bearing. The key drawbacks of belts are that they are prone to slipping under high torque, which without absolute encoders on the output shaft will cause the controller to have an incorrect understanding of its current position. In addition, with pulley systems the torque and speed are proportional and inversely proportional to the difference in diameter of the 2 pulleys, according to the Equations 1 and 2: The simplicity of this makes belts ideal for when only a small reduction ratio of less than 5 is necessary, such as an application requiring quasi-direct drive for compliance. However, the need for the output shaft to multiply its dimensions relative to the input shaft to achieve reduction makes a high-reduction pulley system impractically large. ensure proper mating, so the number of teeth is proportional to its diameter [8]. The advantage of gears is that they can be stacked in a very tight space. This allows complex arrangements such as this Planetary gearset that can provide high reduction ratios in a very compact package.
The disadvantage of a gear system is that there is high stress and friction on each mating surface. This means that a gearbox often requires lubrication to function smoothly, and that gear wear limits the lifetime of the gearbox sometimes significantly. In addition, teeth never mesh perfectly. There is a need some space between gears to ensure they roll smoothly. This effect is called "backlash" and in effect allows an output shaft to 'wiggle' slightly between the meshed teeth of the gears in the train, introducing a degree of inaccuracy to the position of the output. Even a few arc-min of inaccuracy can translate to quite significant inaccuracies in a serial robotic system such as an arm, where the moment arms are long and the backlash of each joint in series is added to any others on the same axis.

Strain Wave Gear
In high end robotic applications, a Strain Wave Gear -or Harmonic Drive -is often used with high power AC servo motors to provide extremely high torque and speed using a very unique elliptical wave generator to flex a metal spline [9]. The teeth of this spline engage with the outer circular spline on opposite sides of the inner casing, and in the process continually push the outer spline in the opposite direction to the wave generator rotation. This provides a huge reduction ratio with constant teeth contact, meaning 0 backlash and high efficiency. These devices are the closest thing to the perfect gearbox for precision applications as currently exists. However, the major drawback is the cost. The materials and manufacturing tolerances along put these devices at a price range well beyond any but industrial robotics companies.

Current Robotic Arms
Affordable and compact closed loop control for BLDC motors is a relatively new technology. Particularly when it comes to robotic arms, there are very few examples that I have been able to find. In the realm of Quadrupeds, there is the now very famous Boston Dynamics Spot, as well as the Cheetah [10].
Both designs use low-kv Brushless DC motors with low-reduction gearboxes for Quasi-Direct control. This differs from the arm application because some compliance is wanted in a dynamically balanced system like a quadruped. Using the BLDC motor like an artificial spring is what gives these robots their famous ability to jumping and leap.
Interestingly, an engineer by the handle of Skyentific who has built a BLDC motor powered arm. His design uses large Turnigy BLDC motors in conjunction with an ODrive. His application is a more traditional industrial robotic configuration, using belts reduction and differential drives [11].
Another one of his designs is using large Mini-Cheetah BLDCs each with in-built controller and gearbox based on the MIT design. One key piece of inspiration for this project was the Generation Robots Reachy, a very interesting biomimetic arm that uses Dynamixel servo motors as actuation. The larger of these motors cost £500 each however, placing the robot firmly outside of a low-end price range [12]. The LIMS-2 Ambidex is a very advanced robot which operates its arms through a series of servo motors in the shoulder that each pull-on cables woven through complex joint arrangements and pulleys. By doing this, they move the motors and thus the majority of the weight into the shoulders, which massively reduces the inertia of the arms and allows human-safe compliant operation nearby [13].

Materials & Methods
Here we present the main design, components and parts of the proposed robotic arm.

Key Components
The following criteria and parts have been selected for the design of the arm:

Brushless DC Motor -Tarot 4008 330kv
The wider a Brushless DC Outrunner Motor, the larger the R-gap. The larger the R-gap, the higher the output torque and lower the output speed. The rated torque value is a manufacturer supplied average. The real torque of the motor is a function of the supplied power and speed [14]. High reduction means high speed is required; high speed means high current is required. These factors should push the motor somewhere close to its rated torque figure. Table 1 reports the main characteristics of the selected BLDC actuator. There planetary gearboxes are cheap units designed to affix to the front of stepper motors. They are all metal construction, which gives the downside of high weight. However, they are the most compact and reliable way of achieving a reduction ratio so high as 51. This allows me to keep size and scale of the arm small. And since the bulk of the weight is in the shoulder/upper arm, the longest moment arm on the first shoulder axis is quite short. The other main downside of planetary Gearbox is the backlash.
These gearboxes do give a significant amount of backlash and the arm is a serial robot. That does limit the precision of the robotic arm quite significantly. However, this robotic arm is intended to be used for tasks such as teleoperation and biomimetics. As such, speed and strength to carry out complex movements is a priority over the precision. Table 2 reports the main characteristics of the selected gearbox.

AMS AS5047 On-Axis Magnetic Encoder
There are many options for encoders that are compatible with the ODrive toolset. For this application we prioritised compact size and low cost of an on-axis magnetic encoder, with Serial Peripheral Interface (SPI). These small development boards read the change in magnetic field of a small diametrically opposed magnet affixed to the rear of the motor shaft and use an SPI interface to communicate the current rotor position back to the ODrive which, in turn, can then deduce the current position of the motor and which magnets it needs to energise for optimal speed, efficiency, torque. This establishes a closed loop system where the controller should, in theory, always know the angle of the motor and how far from the desired position it is. Table 3 reports the main characteristics of the encoder sensor.

ODrive 3.6 24V
The key driver of this project. Each ODrive supports 2 motors and 2 encoders in SPI daisy chain configuration. Each ODrive is in turn slaved to single Arduino Every microcontroller which distributes commands it receives from ROS on my desktop PC. Table 4 reports the main parameter of the driver.

Actuator Design
Each of the actuators are built around loosely the same assembly, designed to be narrow and compact as possible whilst removing all radial load on the output shaft and ensuring there is high rigidity and 0 mechanical looseness. All printed parts for this project were designed in Fusion 360 (Autodesk®) and printed on a Creality hobbyist 3D printer.
The Material of choice was a PolyEthylene Terphthalate (Glycol Modified -PETG) blend, at 0.2 mm layer height and with 20-40 % infill depending on the part. Figure 2 shows the overall design (panel 1), the manufactured prototype (panel 3) and the exploding parts (panel 2), namely, from the left to the right on that panel:

Body Design
The body of the arm is made of a shoulder, an upper arm and the elbow which is combined with the forearm:

Shoulder
The first and possible most important joint is the first shoulder axis. This went through multiple iterations in my design because it is the joint that experiences the highest torque and is under constant high radial load even when the arm is at rest. Additionally, it plays a very important role in the kinematics of the arm and so under complex movement will be under high stress regularly.
One key design feature of the joint is that the entire first motor assembly is rotated 30 degrees upward, and the joint has a deep cut-away for the body of the arm to rest vertically. This is an important design choice because of the concept of a singularity, or gimbal lock. If both first shoulder axis is ever in line with the arm itself, then the joint inside the arm that rotates it about itself is in line with that first joint. In this configuration, the robot loses a degree of freedom.
As the robot is a 4 d.o.f. system, this singularity is easy to escape by rotating both joints such that the 2 nd axis can move in whatever direction is required to break the singularity, however when trying to mimic the fluid movements of a fully 3 degrees of freedom system it is best to avoid this position if possible. By rotating the first axis as described, the singularity is placed in a position where the elbow is quite high above the head, a position uncommon for an arm to need to be in, and one where the real human arm's range of motion reaches its limits as well. Figure 3, left panel, displays the overall design of the shoulder joint.

Upper Arm Axis
This section of the body is again designed for rigidity and strength. The body is in two sections, the rear a removable piece so that the hollow internals can be accessed, where the BLDC and encoder are affixed.
There are long channels included in the design for 5mm rods to provide extra stability if the weight of the arm was bending the plastic, however I have found that to not be the case so removed the rods for weight saving purposes. Figure  3, right panel, shows the design of the upper arm axis.

Elbow
This joint is similar in design to the shoulder joint, only compressed to be as narrow as possible whilst still retaining all the strength and rigidity it needs. As it is further down the chain of serial actuators, it can expect to experience a shorter moment-arm to any load than the other actuators and so should experience less torque. Figure 4, left panel, shows the design of the elbow.

Forearm
Since we are limiting to 4 BLDCs for this stage of the project, the forearm does not contain an actuator. It exists to help visualize the position of the end effector at its tip and has some mounting holes for whatever purpose I might need. This can in many ways be considered a placeholder for a second stage of more lightweight actuators that I intend to add in later iterations of the arm to expand its functionality. Figure 4, right panel, shows the design of the forearm.

ROS Graphical User Interface
As this robot is primarily conceived as a test bench for experimenting with concepts such as teleoperation, we built a functional ROS package for it that integrates into ROS RViz, Gazebo, and MoveIt for full simulation, kinematics, and motion planning frameworks. Clearly, other types of interactions between the arm and the end-user could be selected, such as, for example, wearable systems and/or BCI [15][16][17][18][19]. The full 3D model is represented, complete with collisiondetection. Much of the detail is removed to ease collision-detection and ease performance requirements, which is particularly useful when running ROS on a Linux virtual machine with limited CPU resources. With a microcontroller such as the Arduino Nano Every as hardware interface, the robot can receive commands from a ROS environment and carry out complex instructions in real time.

Results and Discussion
In order to preliminary test the performance of the prototype, we assembled one of the actuators and wired it to a 24 V power supply ( Figure 6). The ground of every component here is pulled to the same location because the high-current of the ODrive can cause a Ground Loop to form, which is where inductance causes a voltage difference across components that can destroy boards. Between the PC and ODrive is a USB isolator that protects both from ground loop issues.

Torque Performance
After calibration and enabling closed loop control, the actuator was easily capable of overpowering my hand trying to halt rotation. The arm was then tested on its own. At a mass of 1420 g and a length of 165 cm, assuming that the mass is evenly distributed across the upper arm, the arm applies an average 13.72 N force at a distance of 82.5 mm, for a holding torque of 1.162 Nm. The purpose of this test was to see at what point the actuator could life the arm itself, but, the arm moved in a jittery fashion until around 3 A even if that maybe occurred because of the friction and inertia from the gears.
To test the actuator more harshly, we tied a 2.5 kg weight at the end of the elbow joint. That is 24 N of force at 0.29 m, for 6.96 Nm of torque on top of the 1.162 Nm from the arm. We then incrementally increased the current until I found a level that could lift the weight to some degree. The unbalanced load made the situation cumbersome, but the number we reached was 8 A. Extrapolating 8 A being capable of 6.96 Nm of torque, the maximum 25 A of the motor should theoretically be capable of around 21.75 Nm of torque. This exceeds the maximum rated torque of the gearbox at 20 Nm. At 20 Nm however the arm should be able to hold 5 kg at the wrist, with the arm fully outstretched. Unfortunately, the encoder's SPI daisy chaining function was not properly functional, and so only 1 motor could be under closed-loop control at a time on each ODrive. In the future we should diagnose and resolve the issue so that we can demonstrate the full closed-loop kinematic and strength capabilities of the robotic arm.

Backlash, Speed & Overall Performance
We finally measured a backlash of ~18mm across the 165 cm length of the Upper arm. This puts the backlash at 0.6°, or 36 arcmin. This falls within acceptable limits for my use case but is too high for precision applications. Because the RPM of a BLDC motor is proportional to the voltage, even reduced at 50.9:1 the Tarot 4008 330kv will reach 160 rpm at low power. The ODrive comes with a speed-limiter that helps reduce this further to a more manageable level. Still, the robot fairly heavy, has high torque, can potentially spin extremely quickly, and can have up to 1 kW of power being using by the motors. This all makes the robotic arm a very real danger to anyone and anything within its reach. Finally, the following Table 5 displays the overall characteristics of the robotic arm.

Conclusion
We presented the design of a novel biomimetic robotic arm which combines a biologically inspired design with High-Power BLDC actuators. Following the design and selection of the hardware components, we manufactured and integrated the parts together with a ROS end-user interface and then preliminary test the device in terms of its performance. The brushless DC motor has shown its strengths and weaknesses as a basis for robotics development. We fully intend to develop another full iteration of this robot arm using some of the lessons learned in this project. Some potential next steps include trialling different reduction options, expanding to a full-size model, introducing LiPo power to increase maximum instantaneous power output.
Further development should also involve the design of proper interface, which may be fully integrated in a biomimetic fashion (e.g. [20,21]).

Data Availability Statement
The data presented in this study are available on request from the corresponding author.

Funding
The authors received no financial support for the research, authorship, and/or publication of this article.

Acknowledgements
This work was presented in dissertation form in fulfilment of the requirements for the BEng in Robotics for the student Stuart Procter at the School of Mathematics, Computer Science & Engineering, Liverpool Hope University.

Declaration of Competing Interest
The authors declare that there is no conflict of interest regarding the publication of this manuscript. In addition, the ethical issues, including plagiarism, informed consent, misconduct, data fabrication and/or falsification, double publication and/or submission, and redundancies have been completely observed by the authors.