1. Introduction
Humanoid robots have been a source of study for at least two decades, with applications in industry, medicine, and, especially, in the area of rehabilitation [
1,
2]. Many of these devices are based on robots of serial and parallel architectures [
3]. However, these robotic devices present several problems for their development, and one of them is a high energy consumption during rehabilitation tasks. One way to achieve an energy consumption reduction is a correct balancing strategy. There have been many balancing methods developed over the years, all of them achieving their principal goal, which is balancing robots. These methods were designed according to the necessities of each robot. In reference [
4], the author made a review of the mechanical gravity compensation and balancing solutions. He divided the solutions into three general groups, which are: gravity compensation by counterweights, by auxiliary actuators, and balancing by springs. The main principle of the first technique is adding extra mass (counterweights) to the moving links to keep their center of mass balanced. An example of this type was developed in reference [
4]; the author harnessed the mass of the hydraulic robot system to balance itself. Industrial robots KUKA R630 and PUMA 200 use a similar system but harness their electric motor mass. The second type uses auxiliary links (a mechanical system between the initial structure and the balancing element [
5]) for balance. An example of this type was carried out in reference [
6], where the authors applied a novel auxiliary linkage system to a five Degrees of Freedom (DoF) Penta-G robot. The next group of balancing solutions has several subtypes, because there are different types of auxiliary actuators. An example is the cable and pulley arrangement, which uses the simple principle of sliding a cable through a pulley to move a mass. In reference [
7], the authors applied the current technique to a glove exoskeleton for obtaining and transmitting the data of the hand gestures to a mobile device. A pneumatic or hydraulic system can be used for balancing a robot. In reference [
8], the authors developed a mechatronic concept using a gas spring; the gas exerted a quasi-constant force against the external force applied to it. This system achieved a balance into a human-operated load to reduce the human effort while operating it.
The balancing by springs technique has been relevant in recent years, since it brings more benefits than the other strategies [
6]. There are two types of springs, the zero free length and the non-zero free. The zero free length is a spring that exerts zero force at zero length, but this is mechanically complex, since a coil will never be a zero length. On the other hand, the non-zero free length exerts zero force at nonzero positions [
6]. In reference [
9], the authors used a novel gravity compensation system using springs for a four Degrees of Freedom (DoF) manipulator that had parallelogram links. They focused on reducing the gravity torque in the joints by adding springs. Furthermore, in reference [
10], the authors proposed a system using nonlinear springs for gravity balancing. They were applied to a robotic arm with an elbow, achieving a reduction of the actuators torques. The work presented in reference [
11] defined that an energy consumption reduction can be achieved by modifying the hardware and the software of a robot. The hardware is divided into three categories: robot type, hardware replacement, and hardware addition. This subclass refers to analyzing what kind of robot would be adequate for the required work tasks and for achieve energy savings. In reference [
12], a study was carried out to find out which type of robot would be more efficient between parallel and serial structures. According to this study, the parallel one (horizontal position) achieved a better average performance than the other ones. The next hardware category is the hardware replacement; this type looks for a weight reduction in the robot by making its arms or joints as light as possible, so, in that way, the robot can move with less power [
11]. An example is the DLR’s torque-controlled lightweight robot III, where the authors made an effort by improve their ultralight carbon-fiber arms in their robot, achieving less energy loss [
13]. The last hardware type is the hardware addition. This is a relative novel technique. Its principal objective is to use additional hardware as energy-storing and recovery devices. It can be divided into two main groups, which are: Energy-Storing-Device Types and the Energy-Sharing Devices [
11]. According to reference [
14], the Energy-Storing-Device Types can be divided into four types of kinetic-energy recovery systems (KERS): mechanical KERS, electric KERS, hydraulic KERS, and hydroelectric KERS. Focusing on the mechanical KERS type: it uses mechanical devices for energy storage. In reference [
15], these devices were defined as “mechanical energy capacitors. One type of this mechanical capacitors” is the elastic elements, and the famous elastic element is the springs.
In reference [
16], the authors designed an energy-saving system using springs for a DELTA robot focusing on pick-and-place operations. They used a multibody simulation to find out the optimal spring specs and the optimal trajectory to harness the robot’s natural dynamics. They collocated the springs in parallel with the electric motors; with this, the springs provided the required torque for moving the links, reducing the amount of the exerted torque from the actuators. Another system was developed in reference [
17]; the authors made a hybrid system to harness the energy-storing devices and energy-recovering devices to get both benefits. In reference [
18], the authors also used springs for energy consumption reduction in the pick-and-place applied to a Reconfigurable-Planar-Linkage (RePlaLink), obtaining an energy consumption reduction in contrast to a similar robot but without the springs. In reference [
19], a highly efficient pick-and-place technique was developed by the authors for SCARA robots. They used a similar configuration as in reference [
17] for the springs. The authors set arbitrary initial and end positions for the study, because the robot was not fixed in one position. The technique uses magnets instead of springs, gears, pneumatics, or another kind of auxiliary system. Usually, it is compared with springs since it brings a similar performance but with some advantages over springs, like noncontact, zero vibrations, zero noises, etc.
In this paper, a novel magnetic spring strategy is proposed and added to a two Degrees of Freedom (DoF) serial robot model. A novel configuration and experimental characterization of the novel magnetic spring configuration is introduced. In addition, to identify the initial position of the end effector (EE) at the startup in the robot, the control algorithm is improved. Finally, an energy consumption comparison, with and without a magnetic spring, is described.
2. Conceptual Design and Dynamic Model of a Two DoF Humanoid Arm
The dynamic model of a serial robot with two Degrees of Freedom (DoF) (Double Pendulum) is presented, which simulates the action of the human arm, composed of two joints variables (
and
).
Figure 1 shows the motion ranges of each joint. The model allows calculating the necessary torque value during the different trajectories, in addition to modifying the distance of each of its links, masses, angles of rotation, speeds, and accelerations (see
Figure 2a). The humanoid arm can be used as a prosthetic and neurorehabilitation; in
Figure 2b, the CAD model is shown.
The mechanism is composed of two active joints,
and
that represent the shoulder and elbow joint, respectively, as well as a series of variables to control. The data for an average human arm [
20,
21] are presented in
Table 1 below.
The direct and inverse kinematics of the two DoF mechanism were programed to carry out two trajectories: a circle and a lemniscate; these trajectories were tested to evaluate their feasibility and to assist the training exercises for the human arms in references [
21,
22]. The equations that allow to generate each of the desired trajectories,
and
are presented by considering their origin and radius as
where
and
are the center of the trajectory, r is the radius, and n varies from 0° to 360°. Equations (2) and (3) are used to perform a circle and the lemniscate, respectively.
The kinematic equations are programmed and simulated in MATLAB R2020b to find the angles of the joints and the positions of the end effector (EE) that allow generating the two previously defined trajectories.
Torque, Energy Consumption, and Electrical Power
The total mechanical energy
of the system is a function of the kinetic energy
and the potential energy
; then, the equations that allow obtaining the value of the total energy of the system are
The total electrical power
is calculated as a function of the consumed torques
and
and the speed of each of the links:
4. Integration of the Magnetic Spring System in the Robot
According to the previous information, a configuration that integrated the magnetic spring system with the mechanism was proposed, as in
Figure 4a,b. In addition, the parameters that define this configuration are presented in
Table 3. The objective is to provide energy to the actuation system based on the magnetic field principle.
where and are the external torques generated by the magnetic spring system, and are the fixed magnets, and are the float magnets, and are the distances between magnets fixed and float, respectively, and are the repulsive forces between the magnets, and are the positions of the fixed magnets around and , and is the max distance between articulations to the fixed magnet.
Figure 4a,b allows describing
and
when interacting with the mechanism, and
Table 3 shows the parameters of the system. Therefore, the equations to calculate
and
generated by the magnetic spring system, can be expressed as
where
,
,
, and
are the coordinates
x and
y of the magnets, and
f is the magnetic field constant.
The analysis of the mechanical energy and electrical power consumption of the dynamic model of the robot is based on the implementation of the Proportional Derivative (PD) control with Desired Gravity Compensation (PD-DGC) [
31,
32].
5. Control Strategy and Simulations
The aim of the pure position control of manipulative robots whose dynamic models include the gravitational torque term
is solved by the PD-DGD [
31]. The PD-DGD control law is represented as
where
and
are the joints torques;
,
,
and
are the proportional and derivative constants, respectively, and are the positive-definite matrix,
and
are the trajectories errors, as in Equation (20), and
and
are the torques due to the gravity forces in positions
and
[
32]. The only difference with the gravity-compensated PD controller is that the term
replaces
. The practical convenience of this controller is evident when the desired position
is periodic or constant. Indeed, the vector
, which depends on
and not on
, can be evaluated “offline” once
has been defined and, therefore, it is no longer necessary to evaluate
in real time.
Figure 5 shows the two trajectories generated by the mechanism by means of a PD-DGD-type control algorithm with the desired gravity compensation; in addition, the start and end of the trajectory located at
and
are presented.
The block diagram in
Figure 6 describes the elements to implement the control strategy of the two DoF robot arm, including the magnetic springs.
The torque generated by the magnetic springs are added to the torque generated by the robot arm actuators by the control algorithm and the torque generated by the magnetic spring system is added and enters the dynamic model of the robot to follow the trajectory (position and velocity). In addition, through this control diagram, it is possible to know when the torque generated by the magnetic spring system acts on the system, which indicates when the system provides energy to the control.
5.1. Mechanical Energy Consumption Simulation
To analyze the power consumption of the robot arm with the magnetic spring system during the trajectory, a mechanical energy consumption simulation was carried out. In
Figure 7a–c, three states are observed: initial position, trajectory generation, and return to the initial or final position. In addition, the total mechanical energy consumption
(J) of the system is shown for each of the mentioned states. The generation of the circular trajectory is programmed by implementing a PD-DGD-type control algorithm with gravity compensation.
Figure 8 shows the required mechanical energy in the robot during the circular trajectory from the starting to the 400-sample time. The red line corresponds to a mechanical energy consumption without the magnetic spring system, and the blue line corresponds to a mechanical energy consumption with the magnetic spring.
The results in
Figure 8 show a significant reduction on the mechanical energy that the control must apply to the robot. The estimation of the energy consumption during the circle trajectory is reduced by 71.47% with the magnetic spring system.
5.2. Kinetic Energy Rotational Simulation
To validate the power consumption, a kinetic energy rotational simulation is proposed; the simulation was developed in Working Model (version 5.1.2.53, San Mateo, CA, USA). The objective was to measure the kinetic energy rotational from
to
with and without the magnetic force. In the scenario with the magnetic force applied the actuator, torque was input as 20 Nm, and a 5-N force along the x-axis was applied for 0.5 s, simulating the magnetic field. In the scenario without the magnetic force, only the actuator torque was input as 25 Nm. Both simulation scenarios lasted 1 s. The frictionless motion of
was programmed, and the gravitational force was included. The simulation parameters of the mechanism are shown in
Table 1.
Figure 9 a and b shows a scheme of both the simulated scenarios.
Figure 10a,b shows the power consumption with and without the magnetic force; the measure of the kinetic energy rotational with a magnetic force was 0.5 J, and the measure of the kinetic energy rotational without a magnetic force was 0.9 J. The results in
Figure 10a,b show a significant reduction as 0.4 J on the kinetic energy rotational applied to the mechanism. Therefore, when the magnets of the system are employed, the motor only needs to overcome the dissipative forces, reducing the energy consumption.
5.3. Multibody Dynamic Simulation
To analyze the interaction between the mechanisms with the magnetic spring system for the flexion and extension trajectories, a multibody dynamic analysis was carried out. For the simulation, a trajectory from to ° was programmed for 5 s to move the mass of and material PLA. An external force generated by the magnetic spring system of 5 N was applied after 3 s from the start of the trajectory; this force was applied on top of the surface of the magnet in a direction normal to the surface of the magnet.
The torque applied by the mechanism before and after interacting with the external force of the magnetic spring system was analyzed, as shown in
Figure 11a. The results show that, at the beginning of the trajectory, a torque of 242.15 Nm was needed, which increased until it reached 349.65 Nm in 3 s; after the external force was applied, the torque decreased to 125.57 Nm until it reached 48.06 Nm in 5 s. Therefore, at 3 s, the torque decreased 224.08 Nm due to the interaction of the magnetic spring system.
In
Figure 11b, the analysis of the energy consumption is presented, and the data shows that, at the beginning of the trajectory, 0.0120 W was consumed, which increased until reaching 0.0190 W in 3 s; then, when the magnetic force was applied, the energy consumption went down to −0.0065 W in 3 s. This result indicates that the magnetic system causes the mechanism to behave like a generator system, since it provides more energy than it consumes. Therefore, this result, due to the magnitude of the external force generated by the magnetic system, is higher than that required by the mechanism.
6. Prototype Manufacturing and Experimental Test
After the design and simulation of a magnetic spring as an energy-storing system for a two DoF humanoid arm, a prototype was produced with additive manufacturing [
33]. The geometrical parameters of the mechanism with the magnetic spring system are shown in
Table 4. Two magnet N45 used for the magnetic-spring system, two Dynamixel AX-12A servomotors motors, were chosen for the actuation system of the prototype, as shown in
Figure 12. The controller is composed of an Arduino Mega board that is connected to two motors, and this board allows speed and direction control of the motor at the same time. The power supply generates 5 V DC to 12 V DC and a maximum current of 2 A. The prototype weight is 2.5 kg, and thanks to the additive manufacturing technology used, the manufacturing price of the prototype is less than
$400.
Preliminary tests were carried out to check the interaction between the magnetic spring system with the mechanism and the trajectory performance. The aim of the experiment was to measure the ability of the mechanism to generate the flexion and extension trajectories in the end effector (EE) defined by the x
1 and y
1 axes. Thus, two poses were programed to test the reaction of the system. These poses consisted of a flexion and extension trajectory defined from
to
and
to
, as shown in
Figure 13a–c, respectively.
To validate the trajectory performance, a strategy on marker detection was used to identify the EE position through image processing; this strategy was explained in reference [
34].
Figure 14a–c shows the EE identification in green color, and
Figure 15 shows the comparison between the program trajectory and the trajectory generated by the EE, defined by
and
.
The results in
Figure 15 show a significant error in the trajectory that the mechanism generated. The estimation of the trajectory error is 3%.
To validate the low power consumption of the mechanism with and without the magnetic spring system, an experiment was proposed to measure the current consumption. The current consumption was measured for a trajectory from
to
. This trajectory was selected to function with the specifications of the magnetic system shown in
Table 3. A T-RMS digital multimeter powered by Steren was used. The results obtained showed that the mechanism with the magnetic spring system consumed a current at the startup of the trajectory of 0.031 A and finished at 0.113 A. On the other hand, when the mechanism was without the magnetic spring system, the current consumption at the startup of the trajectory was 0.050 A and finished 0.140 A. Therefore, it can be validated that the current consumption in the startup was 0.019 A less by using the magnetic spring system. The results obtained are presented in
Figure 16a,b. The average current consumption with and without the magnetic force was 11.46 A and 13.81 A, respectively. Considering that the voltage was the same, this results in about a 17% power consumption reduction when introducing the magnetic force; this magnetic force has a production cost of approximately
$12.
All in all, the focus of this paper was on the design of a magnetic spring as an energy-storing system, integration of the magnetic spring with the humanoid arm, and preliminary testing for reduced power consumption. The advantages with other designs, as shown in reference [
16], are that they use physical contact, and we proposed no contact; this allowed us to avoid mechanical wear between the moving parts of the prototype. However, we had limitations, such as adding weight to the mechanism, as represented by the magnetic system.
The mechanical design of that used the additional supports necessary for the magnetic system allowed us to generate the flexion and extension motions of the elbow without limitations. However, for it was not possible to generate the motions of the shoulder, since the mechanical design had one DoF.
As for future works, the proposed design can be adapted to generate reference trajectories for three-dimensional exercises. In addition, there may be alternative ways to better use a magnetic spring as an energy-storing system for reduced power consumption.