Stiffness Control of a Robotic Arm Using Robust Fixed Point Transformations

Nowadays, energy consumption of electronic systems is a very important question. Much money and time can be saved with a well-designed system, where the depletion is minimal. In this paper, the power usage of the arm of a NAO Next Gen robot is optimized by controlling dynamically the stiffness of its motor. The control strategy is based on Robust Fixed Point Transformations (RFPT). The results show that the proposed control method can reduce the power usage significantly, and as a surprise, it can reduce the inaccuracy of the tracking caused by the unpunctual sensors of the robot.


Introduction
In these days, energy consumption of electronic tools is a central question.Many products are designed to be as effective as it can with less energy usage.Saving energy means better utilization plus time and money saving.This question, in case of robots working on battery, for example a NAO robot (see Fig. 1 and Ref. 1), is also crucial.It is not the same how long a robot can operate before the battery gets empty.NAO itself is a robot that can go dead and can overheat easily which means energy optimization would be important for it.Since it has several sensors (e.g.tactile sensors, ultrasonic sensors, gyrometer, accelerometer, force sensors, infrared sensors, HD cameras, and microphones), it has several features (like autonomy, walking, dancing, speech, face-and voice recognition), it can be used by children with the help of a drag and drop interface, and it can be programmed in several languages (for example Python, Java, C#, Matlab, and C++), it is applicable for several tasks and researches.Thus, it is very popular and used in many areas: at schools for education, at performances for entertainment, in hospitals for patients with special needs, and at RoboCup soccer competitions, Ref. 2. One of the main difficulties in all of these situations is always the same: the battery of the robot quickly goes dead and has to be charged often.It would make less demand and it would increase the lifetime of the battery if the power usage of the motors could be optimized.The energy consumption of the NAO robots can be influenced by modifying the stiffness value of the joint motors.Several successful applications have been made so far, e.g. in Ref. 3, a control strategy for the stiffness value is given to reduce the energy usage of the robot during walking, in Ref. 4, the standup procedure is optimized through stiffness control to save energy, and in Ref. 5, a new walking strategy is presented for energy saving.In this paper, a Robust Fixed Point Transformations-based (see Ref. 6) control scheme is proposed for the stiffness of the shoulder joint of the NAO robot.In addition, a rough model is given for the sufficient stiffness value calculation that is enough for moving to the arm in a desired position.This is the first real application of RFPT.It is used because it can handle model approximations.The results show that the proposed control method can reduce the power usage of the robotic arm significantly, and as a surprise, the tracking error can also be cut down a little bit.The paper is organized as follows: in Sect. 2 the main idea of Robust Fixed Point Transformation is presented.In Sect.3, the control of the stiffness of the NAO robot is explained.Section 4 shows some representative test results.Finally, in Sect.5, conclusions are summarized.

Basics of the RFPT-based control strategy
RFPT-based control, as seen in Fig. 2, works as follows: A nominal position is prescribed for the system to be controlled.Based on this, the controller calculates a desired response r d for the system, which can be either velocity or acceleration, or other, depending on the control task, so that it gets to the nominal position (usually, the higher order differentiation, the more accurate control can be achieved).After that, based on a rough model of the system, a control signal d appr u is generated to force the system to desired response.Then, this control signal is given to the system which results in a real response r r .Since the model is not exact (it is very difficult to model a system that e.g. is not built for precise work) r d and r r will differ from each other.They can differ slightly or significantly, depending on the accuracy of the model.For such inaccuracy, RFPT might give a solution.In this approach, RFPT is used to transform the output of the controller, so that the given model calculates with a modified controller value.RFPT is designed to locally converge its input closer to  

Stiffness control of the arm of the NAO robot
The power usage of a motor can be calculated as its voltage multiplied by its current.The current level of a joint motor can be calculated as (for details, see Ref. 4) where Is is the supplied current to the motor windings and s K marks the desired stiffness function for the joint ( ).This means that by controlling stiffness, the power usage of the motor can be influenced.The voltage can be given as where L is the motor's inductance, R denotes the motor winding resistance, I stands for the current, kb is the motor's back emf constant, and w marks the rotor's angular velocity.
In our approach, the control task is to set a proper stiffness value s K so that the robotic arm, shown in Fig. 3, can get to a prescribed position.If the stiffness value is not enough, the arm is not able to move, since it does not get enough current.If the stiffness value is too high, more than necessary power might be used for the movement.In the control scheme, stiffness can be considered as the control signal d appr u .
In the solution, the stiffness and the position of the arm can be get and set with acceptable accuracy, so the model has to find connection between these values.The best solution would be controlling the acceleration of the system, but it can be only approximated from positions and velocities which would give us a lot of false values.The sensors of the NAO robot are not accurate enough for that.It means that system responses r r and r d can be considered as positions and in the control scheme, the desired response is equivalent with the nominal position.In the next step, according to RFPT, the following transformation is applied on the desired position of the arm of the robot r d : stands for the output of the system in the previous control cycle.After RFPT, the transformed position is given to a rough inverse model of the robotic arm so that is calculates an appropriate stiffness value for the rotating motor.The proper stiffness calculation is got as follows: as measurements showed, stiffness value 0.4 is enough to keep the robotic arm in the same position no matter in which angle it is.If the position of the arm is 0 (straight downwards), then at least 0.4 stiffness is needed to move it.In the worst case, when the position of the arm is π/2, at least 0.7 stiffness is needed to move it.Gravity significantly influences the movement, thus when the robotic arm has to be moved, two cases occur: when it has to be moved upwards and downwards.Based on this, the following equations can be given as the rough model:

Test results
To illustrate the effectiveness of the proposed method, in the following, some sample test results are presented.In the tests, the right shoulder of a NAO Next Gen was controlled (for the technical details of the robot, see Ref. 7); it had to follow the movement of the left shoulder.An automatic motion was given to the left arm: it went up to ¾ π and came down to ¼ π quickly (in approximately 2 seconds) and then went up and down slowly (in approximately 6 seconds).This motion kept going until it was terminated by hand.In the tests, three different cases were inspected: in the first case, the control task was done on full stiffness.Fig. 3 shows the results of that.In the second case, as shown in Fig. 4, the model-based stiffness control was applied without RFPT.The peaks in the error mean that the motor did not get enough current to go to the given position, because the stiffness value was too low for that, thus the power usage increased significantly.In the last case, RFPT was switched on for the dynamic stiffness control (see Fig. 5).The characteristics of the power usage and the error were very similar in this case to that with full stiffness, but the error was slightly relaxed, especially around the 9 th second.For checking the capabilities of RFPT, other tests were made where the model's output was decreased by 0.1, to see how RFPT can handle such difficulties (see Figs. 6 and 7).As it can be seen, without RFPT, the power usage decreased thanks to the dynamic stiffness control, but the error increased significantly, since the model approximated the real system quite roughly.On the other hand, RFPT could handle the worsened model without remarkable increase in the power usage or in the tracking error.RFPT could still decrease slightly the inaccuracy compared to the case with full stiffness.For more clear comparison, in Table I, the summed up error and power values are shown for each cases.

Conclusions
In this paper, a dynamic, RFPT-based stiffness control for a NAO robot is proposed.A rough model for the stiffness calculation is given and the control is tested.The results show that the control strategy can reduce the power usage of the robotic arm significantly and can handle the inaccuracy caused by the sensors of the robot.

Fig. 1 .
Fig. 1.NAO robot (got from Ref. 7)  denotes the rough model, d u stands for the control value that forces the system  to give the desired response, and 1 details, see Ref.6.
the NAO which moves towards the desired position.

Fig. 3 .
Fig. 3. Power usage and tracking error in case of all stiffness.

Fig. 4 .
Fig. 4. Power usage and tracking error in case of normal model, without RFPT.

Fig. 5 .
Fig. 5. Power usage and tracking error in case of normal model, with RFPT.

Fig. 6 .
Fig. 6.Power usage and tracking error in case of worsened model, without RFPT.

Fig. 7 .
Fig. 7. Power usage and tracking error in case of worsened model, with RFPT.

Table I .
Summed up power usage and error of the different cases.