## Abstract

In this work, a new drive concept for brushless direct current (BLDC) motors is introduced. Energy regeneration is optimally managed with the aim of improving the energy efficiency of robot motion controls. The proposed scheme has three independent regenerative drives interconnected in a wye configuration. An augmented model of the robot, joint mechanisms, and BLDC motors is formed, and then a voltage-based control scheme is developed. The control law is obtained by specifying an outer-loop torque controller followed by minimization of power consumption via online constrained quadratic optimization. An experiment is conducted to assess the performance of the proposed concept against an off-the-shelf driver. It is shown that, in terms of energy regeneration and consumption, the developed driver has better performance. Furthermore, the proposed concept showed a reduction of 15% energy consumption for the conditions of the study.

## 1 Introduction

In this article, we introduce a new method to control brushless direct current (BLDC) motors based on energy optimization. The motivation behind this research is to improve the efficiency of motor drives since this is one of the main determinants of the overall energy consumption of motion systems. The quest for higher efficiency is particularly important in industrial robotic mechanisms used for repetitive tasks as well as mobile robots with on-board, finite energy storage. Application examples of the latter category are found in powered human-assist devices, space robots, and autonomous electric vehicles [1–3]. Longer operation times and smaller operation costs are possible in these systems by reducing the amount of energy needed to complete motion tasks.

One way to increase the energy efficiency of a robot is by enabling and managing energy regeneration, which is defined as the process of transferring energy back to the system’s power source during normal operation [4–6]. Kinetic energy can be converted into electric energy during the deceleration phases of motion and stored in an energy storage element (ESE). These elements should be capable of being charged and discharged at high rates, admitting all the energy that can be potentially recovered, without having to use dissipation elements such as the regeneration resistors frequently used in industrial motion drives. Supercapacitors have gained relevance in regenerative systems for hybrid vehicles and industrial and biomedical robots due to their large power density and durability [7–9]. The experimental demonstration in Sec. 4 uses a supercapacitor as ESE.

The most common actuators in the field of robotics are brushed DC and BLDC motors. It has been shown that both types of machines can be operated in a generator mode, enabling energy regeneration [10–13]. In terms of maintenance costs, efficiency, durability, and thermal characteristics, the BLDC motor has advantages over the DC motor [14,15].^{2} A study of robotic systems with particular consideration of the dynamics of the actuators is required to adequately consider energy-optimal control problems. Previous studies have mostly focused on energy regeneration of electromechanical systems with DC motor actuators [10,16–18]. Energy-oriented studies of BLDC motors are mostly focused on energy regeneration in the braking systems, and they limit the energy efficiency due to the rectangular stator current modeling for detecting the commutation moments in their driver [12,13]. Also, many researchers have studied the dynamics and control of BLDC motors without considering the coupled dynamics of the driven robot [14,15,19–23]. Simultaneous consideration of coupled manipulator-BLDC dynamics and energy regeneration has been considered in few recent works [24–26]. Well-known control schemes for BLDC motors include the pulse-width modulation (PWM) technique to convert the power supply input DC voltage into a modulated driving voltage [25,27]. As a consequence of using switching to create a voltage command, each phase of the motor receives a level of voltage selected from a finite set based on the binary states of the switches. For instance, in a three-phase driver, only eight levels of power source voltage can be applied to each phase. This limits the ability to optimize energy consumption while simultaneously meeting motion control objectives. Moreover, control methods traditionally developed for BLDC motors consider the motor and the driver as a single subsystem, which eventually uses the PWM technique.

In this study, first, we introduce the augmented dynamics of a robot, its joint mechanisms (JMs), and the BLDC motors. Then, we introduce a new control scheme based on independent-phase control of BLDC motor. The approach assumes that the voltages of each motor phase can be controlled by a separate regenerative (four-quadrant) drive such as an H-bridge. To this end, we introduce an optimization problem to maximize regenerative power while tracking a given reference trajectory. Finally, an experiment is conducted where a comparison is undertaken between the developed method and the torque control using an off-the-shelf BLDC motor driver.

The remainder of this article is organized as follows: In Sec. 2, the dynamic of robot and governing equations of BLDC motor are introduced as well as internal/external energy balances. In Sec. 3, the optimization problem is formulated; Sec. 4 explains the experimental setup and procedure; Sec. 5 discusses the results of the experiment and finally, Sec. 6 offers conclusions and topics for the future work.

## 2 Mechanical and Electrical Modeling

*n*-degree-of-freedom open-chain robot manipulator. All joints are revolute, and each joint is actuated by a JM that includes a regenerative control unit (RCU), a BLDC motor, and gears. In this section, we introduce an augmented model comprising the coupled mechanical and electrical subsystems of a robotic manipulator. First, we consider the standard robot dynamics, without the drive systems, modeled as follows:

*q*∈ R

^{n}is the vector of the joint coordinates,

*M*

^{o}(

*q*) is the inertia matrix, $Co(q,q\u02d9)$ is the matrix representing centripetal and Coriolis effects,

*g*(

*q*) is the gravity vector, and

*τ*∈ R

^{n}is the vector of forces/moments applied at the joints [28]. We make two main assumptions: (i) there are no external forces or moments and (ii) all JMs of the robot are of the

*semi-active*kind. A semi-active JM exchanges electric power with the ESE and mechanical power with the robot, without a connection to external power sources. Here, we assume that all semi-active joints are connected to common energy storage as illustrated in Fig. 1. Control inputs are applied to RCU of each joint. This arrangement allows operation in the driving mode or the regenerative mode according to the direction of power flow between the ESE and the robot link.

*j*∈ {1, …,

*n*},

**η**= [

*η*

_{1}, …,

*η*

_{n}]

^{T}∈ R

^{n}, and $b=diag(bj)\u2208Rn\xd7n$. Parameters

*m*

_{j},

*η*

_{j}, and

*b*

_{j}are the

*jth*JM moment of inertia, gear ratio, and friction coefficient, respectively. $\tau ind=[\tau ind1,\u2026,\tau indn]T\u2208Rn$ is the vector of the induced torques generated by the BLDC motors [10,16]. By substituting the dynamics of JMs in the dynamics of the robot, an augmented model of robot and JMs is obtained. The substitution requires finding

*τ*

_{ind}for use in Eq. (2), which is done in Sec. 2.1.

### 2.1 BLDC Motor Modeling.

*a*,

*b*,

*c*, and thus three terminals. For the BLDC motor that is connected to the j

*th*joint of the robot, we assume that the three stator windings for the three phases are identical, with 120 deg (electrical) phase displacement among them. The voltage equations at the three motor terminals can be obtained from:

*R*

_{j}is the resistance of each phase winding, $Ij=[Iaj,Ibj,Icj]T$ and $Iij$ is the current in each phase, $L\xafj=diag(Lj)\u2208R3\xd73$ and

*L*

_{j}is the difference between the stator phase self-inductance and stator mutual inductance, and $ej=[eaj,ebj,ecj]T$ and $eij$ is the back electromotive force (emf) in each phase [14,29].

*L*

_{j}(typical for BLDC motors used in robot drives), the voltage vector can be approximated as follows:

*λ*

_{j}is the back-emf constant,

*P*is the number of poles in the motor, $\omega rj$ is the rotor’s speed, and $\theta rj$ is the rotor’s mechanical angle. $fij(P/2\theta rj)$ defines the shape of the back-emf as a function of rotor speed. BLDC designs often involve trapezoidal or sinusoidal functions [30]. Henceforth, for simplicity, we drop the argument and use the notation $fij$ for $fij((P/2)\theta rj)$. Finally, the induced torque of BLDC motor is expressed as follows [14,15]:

All three terminals of the motor are connected to the RCU as shown in Fig. 1. The RCU as the motor driver accepts command to control the motor according to the motion control objectives set forth for the robot, e.g., following a desired trajectory. In this article, an innovative RCU concept is introduced as depicted in Fig. 2. In this RCU, each phase of the motor is connected to a four-quadrant power conversion element (PCE), and all PCEs are connected to the same ESE. PCEs based on four-quadrant H-bridge designs are typically used to command DC motors. Here, each phase of the BLDC motor is connected to a PCE that controls each phase independently. The PCE can control the amount and the direction of the applied voltage to the phase by adjusting the ratio of the applied voltage over the voltage of the ESE, i.e., *V*_{s}. Therefore, for each phase, the voltage ratio $rij=Vij/Vs$ is the command applied to the PCE. These ratios constitute the control inputs available for design.

*M*

^{o}and

*M*are the same except along the diagonal, where $Mjj=Mjjo+mj\eta j2$. Also

*C*and

*C*

^{o}are only different in the diagonal terms:

**r**

_{j}are determined in the following section.

### 2.2 Semi-Active Virtual Control Strategy.

According to Fig. 2, the only adjustable variable in the *jth* semi-active joint is **r**_{j}. If a feedback law for the torques $Tj$ of the augmented model is given, the voltage ratios can be determined from Eq. (11). To this end, we modify a method called semi-active virtual control (SVC) introduced in Ref. [10] to control semi-active JM connected to DC motors. The SVC concept is based on using any suitable feedback law for the torques of the augmented model. The desired torques are then matched to the applied voltage ratios, using ESE voltage as the feedback. The SVC methodology is extended for use with BLDC motors as follows:

A virtual control law, $Tv=[T1v,\u2026,Tnv]T\u2208Rn$, is designed for $T$ in the augmented model of the system in Eq. (9) based on the applicable specifications, such as tracking, stability, robustness, disturbance rejection, and so forth.

- To enforce the torques prescribed by $Tv$ and meet the control objectives, a solution for
**r**_{j}is sought that satisfies:(12)$Tjv=\lambda j\eta jVsRj(fjTrj)$

*V*

_{s}. The modulation law for exact virtual matching is obtained by solving for the vector of

**r**

_{j}from Eq. (12). However, Eq. (12) is underdetermined. Accordingly, two additional equations are needed. The second equality constraint is given by Kirchhoff’s current law, which states that the sum of currents in the three phases is zero, i.e., $Iaj+Ibj+Icj=0$ [15]. By substituting the currents with the voltage and back-emf and using Eq. (5) to substitute back-emf with $fij$ and with some manipulation, Eq. (13) is obtained:

*j*th semi-active joint:

*a*)

*b*)

**r**= [

**r**

_{1}, …,

**r**

_{n}]

^{T}∈ R

^{3n}.

### 2.3 Internal and External Energy Balance.

*I*

_{s}is the current of the ESE. It is important to note that, even though Eq. (16) describes an ideal power transmission, power losses exist in the PCEs. To capture the inefficiency, we can consider an internal resistance,

*δr*, for each PCE. This resistance can be fit into input/output measurements of the PCE and then added to the series

*R*

_{j}of the motor. In other words, despite the inefficiency in the PCEs, Eq. (16) can still be utilized, with

*δr*added to the BLDC motor’s phase resistance.

*V*

_{s}, substituting

**I**

_{j}from Eq. (4) into Eq. (16) and using the voltage ratio variable,

**V**

_{j}=

*V*

_{s}

**r**

_{j}, and finally taking the integral in an arbitrary interval [

*t*

_{1},

*t*

_{2}], the internal energy balance can be obtained after some algebra as follows:

*E*

_{s}is the electric energy change in the ESE. Readers should notice that to be concise, we neglected writing the temporal argument for

**e**

_{j}and

**r**

_{j}. The internal energy balance in Eq. (17) focuses on the electric energy variations of the ESE and does not reveal any information about the electrical-mechanical energy exchange in the system. An external energy balance for the whole system provides this information and can be derived as follows:

_{e}represents the Joule (resistance heating) losses of the semi-active joints and Δ

*E*

_{s}is the term related to the energy stored in the ESE defined in Eq. (17). The derivation and definition of terms in Eq. (18) are outlined in the appendix.

The external energy balance is useful to map energy flows and conversions in the whole system, characterizing efficiency and losses. The internal energy balance equation is useful for optimization and finding **r**_{j}, as explained in the following section.

## 3 Optimization Problem

*q*

^{d}(

*t*). Considering the internal energy balance in Eq. (17) together with the equality constraints in Eq. (14) and the inequality constraints $|rij|\u22641$, the following nonlinear optimization problem is formulated:

*a*)

*b*)

*δE*

_{s}, which means reducing the amount of energy draw from ESE or even recharging it through regeneration when possible. A value of

*δE*

_{s}> 0 indicates energy regeneration and

*δE*

_{s}< 0 indicates energy consumption. The optimization problem is quadratic in

**r**and the constraints are linear; therefore, it can be efficiently solved online using quadratic programming algorithms such as the active set method. The structure of online control algorithm is shown in Fig. 3.

To design the virtual control ($Tv$), any feedback control law compatible with the desired motion control objectives can be selected. Any properties that apply to the virtual design such as stability, tracking performance, and robustness will be propagated to the actual system as long as virtual matching holds precisely, i.e., $T=Tv$ [10]. Exact virtual matching will be obtained provided there is accurate knowledge of *λ*_{j}, *η*_{j}, and *R*_{j}, since *r*_{j} is maintained in [−1, 1] by the optimization algorithm and PCE saturation is prevented. However, saturation can be easily corrected by using a higher supercapacitor voltage, since $rij=Vij/Vs$.

## 4 Experimental Setup

An experiment was conducted to assess the performance of the proposed RCU in Fig. 2 and the optimization. We used a pendulum with a mass attached at the tip and actuated by a BLDC motor. To study the effectiveness of the RCU in comparison to an off-the-shelf regenerative BLDC motor drive, an experiment on trajectory following was repeated with both drivers.

A 92-Watt Anaheim (Anaheim Automation, Inc., CA) BLDC gearmotor was used to drive the pendulum. The parameters of the pendulum and the motor are presented in Table 1.

For the proposed RCU, henceforth named RCUa, each phase of the motor is driven by a four-quadrant, SyRen25 motor driver (Dimension Engineering, Hudson, OH). These devices play the role of PCEs and provide a good approximation to Eq. (16).

A 24V, 500 F supercapacitor bank (Maxwell Technologies, San Diego, California) was used as ESE. The MicroLabBox (dSPACE GmbH, Paderborn, Germany) is used for all real-time data acquisition, logging, and control operations and calculations, including the solution of the optimization in Eq. (19). The MicroLabBox is supported by the dSPACE RTI 1202 real-time interface for simulink.

The current on the supercapacitor side was measured with an ACS712 current sensor (Allegro Microsystems, Worcester, MA). The power supply inputs of the 3 Syren25 drivers are connected in parallel to the supercapacitor. The motor is equipped with an optical encoder and Hall-effect sensors. The encoder, connected to the shaft of the motor, measures the rotation angle, and the angular velocity is calculated by a differentiator filter transfer function.

For the standard regenerative off-the-shelf motor driver, henceforth named RCUb, a BE12 brushless PWM servo amplifier (Advanced Motion Controls, Camarillo, CA) was selected. The same supercapacitor and current sensor are used for the setup. The schematic of laboratory setups, for both motor drivers, are shown in Fig. 4.

For RCUa, angle and angular velocity feedback were used for the virtual control law. The objective was to follow a sinusoidal desired trajectory, for which a simple PD law was used as illustration. However, any suitable controller that is compatible with the motion task can be used, no matter how advanced or complex. After finding $Tv$, the virtual command is passed to the optimization block together with position, velocity, and supercapacitor voltage feedback. The quadratic objective function in Eq. (19) can be readily minimized, using any online-implementable solver. Here, we utilized matlab’s mpcqpsolver,^{3} which is an online quadratic programming solver. The lab setup is shown in Fig. 5.^{4}

*K*is a constant gain, and

*V*

_{in}is the applied command voltage from the dSPACE to the motor driver.

^{5}Assuming $T=Tv$, after using a virtual controller to generate $Tv$, the command voltage can be obtained from $Vin=Tv/K$.

## 5 Results

For the trajectory following and comparison between RCUa and RCUb, the motion task for the pendulum is to follow a sinusoidal desired trajectory. Both controllers use a PD control as the virtual controller. It should be noticed that the data, plots, and analysis presented in this section correspond to the steady oscillation regime achieved by the control systems.

Figure 6 shows the time histories of the reference trajectory and the actual angles obtained with RCUa and RCUb. The tracking objective is accurately achieved with both controllers. The small tracking error is attributed to the use of PD as a virtual control for the sake of demonstration. More advanced, model-based control methods could achieve smaller tracking errors. The RMS values of the tracking error are reported in Table 2. It should be noticed that the virtual controllers were tuned such that the best performance in accuracy was achieved in each case. The virtual controls are shown in Fig. 7. The range of virtual control effort is directly related to the accuracy of trajectory following. The RCUa method creates a virtual control, which is slightly higher in magnitude than the virtual control of RCUb.

For energy consumption comparisons, the supercapacitor voltage is measured while tracking the trajectory for 5 min. The change in supercapacitor voltage is shown in Fig. 8. This voltage change is indicative of the stored energy change of Eq. (17). To better evaluate and compare discharge rates, a linear fit is applied to a segment of the data, and the slopes are reported in Table 2. The amount of withdrawn energy from the supercapacitor is reported in Table 2.

To study power flow direction, i.e., energy consumption or regeneration, we compare the sign of the net power and the supercapacitor voltage change for pendulum movements from *q* = 0 (minimum potential energy) to *q* = *π* (maximum potential energy). The net power from/to the supercapacitor, the supercapacitor voltage, and the pendulum angle is shown in Fig. 9. Polynomials have been fitted to the power and voltage curves to remove noise and observe the relevant trends. It can be concluded from the plots that for *q* : 0 → *π*, the power is positive and the pendulum consumes energy to reach the highest level of potential. For *q* : *π* → 0, power is negative. That is, energy flows back and is partially stored in the supercapacitor, showing a voltage increase. The regenerative phase is marked with dotted line in Fig. 9(c).

The same plot is depicted for RCUb in Fig. 10. Overall, the same trend as in Fig. 9 can be detected. However, the power consumption peak is higher in comparison to RCUa and the voltage increase is negligible. It is shown in Table 2 that in terms of energy consumption, RCUa is superior to RCUb.

Figure 11 shows the Sankey diagrams for the overall energy balance based on Eq. (18). Energy can be stored in the supercapacitor only due to changes in mechanical energy. In Fig. 11(a), the Sankey diagram is depicted for nonregenerative phase of Fig. 9(c). In this phase, the pendulum gains potential energy, and its total mechanical energy ($\Delta EmT$) increases. The energy needed for this phase comes from the supercapacitor. In Fig. 11(b), the Sankey diagram is depicted for the regenerative phase of Fig. 9(c). The total mechanical energy decreases and the lost energy is converted into electric form and either dissipated (Σ_{e} and $\Sigma mT$) or stored in supercapacitor (Δ*E*_{s}).

*E*

_{R}and Δ

*E*

_{NR}are the system energy consumption with and without energy regeneration, respectively. Δ

*E*

_{NR}is computed by integrating the power flows in three phases of the motor, assuming all negative power is dissipated (i.e.,

*P*

_{i}(

*P*

_{i}≤ 0) = 0,

*i*∈ {

*a*,

*b*,

*c*}). We have 0 ≤

*ε*≤ 1, where

*ε*= 0 means energy regeneration has zero effect in reducing the energy consumption and

*ε*= 1 indicates that energy regeneration completely reduces energy consumption. In an experiment of 5 min using RCUa, Δ

*E*

_{R}= 977~

*J*and Δ

*E*

_{NR}= 1154 J results in

*ε*= 0.15. This shows an approximately 15% reduction in energy consumption due to energy regeneration.

## 6 Concluding Remarks

In this study, a new regenerative motor driver was introduced, successfully implemented, and tested to drive a BLDC motor. A comparison between the innovative motor driver and an off-the-shelf motor unit showed the advantage of the former in terms of energy efficiency.

The approach to introduce an augmented dynamics model of robot, JMs, and the BLDC motors provides the opportunity to introduce a new control scheme for semi-active joints called virtual control strategy.

The proposed motor driver has the potential to be improved as an off-the-shelf controller and utilized where energy saving is a concern.

In this study, the PCE was assumed to be ideal. However, the efficiency of PCE changes based on the input and output voltage difference of the PCE [31]. In future work, more realistic PCE models can be included by maintaining the definition of voltage ratio but including a known efficiency map to determine the input–output current relationship. This modification leads to a static nonlinear programming problem, which is still amenable to fast online solutions.

*q*(

*t*), $q\u02d9(t)$, $q\xa8(t)$), the optimal virtual control ($Tv$), and the optimal voltage ratios, simultaneously. The new optimization problem finds the optimal trajectory of the joint coordinates between arbitrary initial and final points at some specified time. To formulate the new optimization problem, if we substitute equality constraint of Eq. (12) in Eq. (17), with some manipulation and simplification, the following optimization problem can be obtained:

*a*)

*b*)

*A*=

*I*

_{n × n}⊗ [1, 1, 1] ∈ R

^{n × 3n}(⊗ is the Kronecker product),

*B*= [

*B*

_{1}, …,

*B*

_{n}]

^{T}∈ R

^{n}, and $Bj=(\lambda j\eta jq\u02d9j/Vs)(faj+fbj+fcj)$. The optimal trajectory starts from the initial condition, i.e., ($q0,q\u02d90$), and reaches the final condition, i.e., ($qf,q\u02d9f$), and it is being subjected to two equalities: the augmented dynamic equations in Eq. (9) and the equality obtained from Eq. (13).

The optimization problem in Eq. (22) is no longer a quadratic program, and the solution demands more computational effort. Also, it yields an open-loop control solution. A separate controller would be required to track this trajectory, as in Ref. [16], or a model predictive control scheme could be implemented. The solution to the nonquadratic optimization problem and experimental demonstration are left as future work.

## Footnotes

Description of the function can be found in https://www.mathworks.com/help/mpc/ref/mpcqpsolver.html.

The simulink files for the experimental setup are available upon request.

The linear relation is obtained based on the specific motor and motor driver that were used in the experiment.

Note that *τ* = [*τ*_{1}, …, *τ*_{n}]^{T}.

## Acknowledgment

This work was supported by NSF Grant No. 1536035.

## Conflict of Interest

There are no conflicts of interest.

### Appendix: External Energy Balance in Robot

*j*th semi-active joint ($LRj$) can be obtained from:

*t*

_{1},

*t*

_{2}], the following equation can be obtained directly:

*E*°

_{m}is the change in mechanical energy, and Σ°

_{m}is the dissipated mechanical energy in the system. Replacing semi-active joints work by Eq. (A10) results in