## 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 [13]. 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 [46]. 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 [79]. 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 [1013]. 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,1618]. 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,1923]. Simultaneous consideration of coupled manipulator-BLDC dynamics and energy regeneration has been considered in few recent works [2426]. 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

The general arrangement in this study consists of an 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:
$Mo(q)q¨+Co(q,q˙)q˙+g(q)=τ$
(1)
where q ∈ Rn is the vector of the joint coordinates, Mo(q) is the inertia matrix, $Co(q,q˙)$ is the matrix representing centripetal and Coriolis effects, g(q) is the gravity vector, and τ ∈ Rn 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.
Fig. 1
Fig. 1
Close modal
The relationship between the vector of joint torques applied to the robot and the vector of induced torque of the motors is given by
$τ=−mηTηq¨−bηTηq˙+ηTτind$
(2)
where $m=diag(mj)∈Rn×n$, j ∈ {1, …, n}, η = [η1, …, ηn]T ∈ Rn, and $b=diag(bj)∈Rn×n$. Parameters mj, ηj, and bj are the jth JM moment of inertia, gear ratio, and friction coefficient, respectively. $τind=[τind1,…,τindn]T∈Rn$ 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.

In this section, the induced torque of a BLDC motor is described. The BLDC motor has three phases, namely a, b, c, and thus three terminals. For the BLDC motor that is connected to the jth 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:
$Vj=R¯jIj+L¯jddt(Ij)+ej$
(3)
where $Vj=[Vaj,Vbj,Vcj]T$ and $Vij,i∈{a,b,c}$ is the voltage of each motor’s terminal, $R¯j=diag(Rj)∈R3×3$ and Rj is the resistance of each phase winding, $Ij=[Iaj,Ibj,Icj]T$ and $Iij$ is the current in each phase, $L¯j=diag(Lj)∈R3×3$ and Lj 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].
Note that the three-phase windings are assumed identical, hence a single set of parameters is used. Assuming small Lj (typical for BLDC motors used in robot drives), the voltage vector can be approximated as follows:
$Vj≈R¯jIj+ej$
(4)
The back-emf voltage in each phase is generated as a result of rotation, and it is described by
$eij=λjfij(Pθrj/2)ωrj$
(5)
where λj is the back-emf constant, P is the number of poles in the motor, $ωrj$ is the rotor’s speed, and $θrj$ is the rotor’s mechanical angle. $fij(P/2θ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)θrj)$. Finally, the induced torque of BLDC motor is expressed as follows [14,15]:
$τindj=λjfjTIj$
(6)
where $fj=[faj,fbj,fcj]T$. By substituting the current with the voltage and back-emf from Eq. (4) and also substituting back-emf with $fij$, using Eq. (5), the induced torque components become
$τindj=λjRj{fjTVj−λjωrjfjTfj}$
(7)

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., Vs. 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.

Fig. 2
Fig. 2
Close modal
Replacing the voltage vector with the voltage ratio vector and $ωrj=ηjq˙j$ into Eq. (7), the induced torque can be rewritten as follows:
$τindj=λjVsRj(fjTrj)−λj2ηjq˙jRj(fjTfj)$
(8)
where $rj=[raj,rbj,rcj]T$ is the vector of voltage ratios. Replacing $τindj$ from Eq. (8) into Eq. (2), combining the result with Eq. (1), and absorbing the terms containing $q¨j$ and $q˙j$ into the left-hand side yield the following augmented robot-JM model:
$M(q)q¨+C(q,q˙)q˙+g(q)=T$
(9)
Comparing Eqs. (1) and (9), the elements of Mo and M are the same except along the diagonal, where $Mjj=Mjjo+mjηj2$. Also C and Co are only different in the diagonal terms:
$Cjj=Cjjo+bjηj2+λj2ηj2Rj(fjTfj)$
(10)
The components of $T=[T1,…,Tn]T$ are:
$Tj=λjηjVsRj(fjTrj)$
(11)
Control inputs rj 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 rj. 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:

1. A virtual control law, $Tv=[T1v,…,Tnv]T∈Rn$, 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.

2. To enforce the torques prescribed by $Tv$ and meet the control objectives, a solution for rj is sought that satisfies:
$Tjv=λjηjVsRj(fjTrj)$
(12)

Note that this virtual control matching is possible as long as there is enough charge left in the ESE. Exact matching in Eq. (12) will hold whenever the JM parameters are known precisely, and the calculated $rij$ is unsaturated in the PCE, i.e., $|rij|≤1$. The latter condition comes from the fact that the PCE is assumed to be nonboosting, i.e., it can apply voltage magnitudes not exceeding Vs. The modulation law for exact virtual matching is obtained by solving for the vector of rj 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:
$raj+rbj+rcj=λjηjq˙jVs(faj+fbj+fcj)$
(13)
Together, Eqs. (12) and (13) form the following equality constraints for the jth semi-active joint:
$Aeqjrj=Beqj$
(14)
where
$Aeqj=[fajfbjfcj111]$
(15a)
$Beqj=[TjvRj/(λjηjVs)λjηjq˙j(faj+fbj+fcj)/Vs]$
(15b)
The equality constraints involve angular position, angular velocity, ESE voltage, and virtual control torque, which are assumed to be available for feedback. However, the equality constraints are still underdetermined and cannot be solved explicitly. Optimization based on the power exchange between the ESE and the BLDC motors will be used in the next sections to resolve control redundancy, with Eq. (14) as an equality constraint. Specifically, an internal energy balance equation between the ESE and BLDC motors is obtained to define a cost function for optimization and final determination of r = [r1, …, rn]T ∈ R3n.

### 2.3 Internal and External Energy Balance.

The internal energy balance describes the power exchange between the BLDC motors and the ESE, and it can be written as follows [24]:
$VsIs=∑j=1nVjTIj$
(16)
where Is 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 Rj 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.
Dividing both sides of Eq. (16) by Vs, substituting Ij from Eq. (4) into Eq. (16) and using the voltage ratio variable, Vj = Vsrj, and finally taking the integral in an arbitrary interval [t1, t2], the internal energy balance can be obtained after some algebra as follows:
$ΔEs=∫t1t2∑j=1nVsRj(ejTrj−VsrjTrj)dt$
(17)
where ΔEs is the electric energy change in the ESE. Readers should notice that to be concise, we neglected writing the temporal argument for ej and rj. 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:
$ΔEmT+ΣmT+Σe+ΔEs=0$
(18)
where $ΔEmT$ and $ΣmT$ are the total mechanical energy change and mechanical losses of the robot and the semi-active joints, respectively. Σe represents the Joule (resistance heating) losses of the semi-active joints and ΔEs 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 rj, as explained in the following section.

## 3 Optimization Problem

In this research, we consider a primary motion control objective for the robot, such as following a desired trajectory. Optimization is used to meet this objective while minimizing energy consumption. We formulate this as an online maximization of instantaneous regenerative power under the equality constraints given by Eq. (14). This is similar to the maximum power transfer tracking approach used in photovoltaic systems [31]. In this article, we focus on tracking of a predesigned trajectory in joint space given by some function qd(t). Considering the internal energy balance in Eq. (17) together with the equality constraints in Eq. (14) and the inequality constraints $|rij|≤1$, the following nonlinear optimization problem is formulated:
$maxrδEs=e¯Tr−rTV¯Rr$
(19a)
(19b)
where $e¯=Vs[e1T/R1,…,enT/Rn]T∈R3n$, $V¯R=diag(V¯Rj)∈R3n×3n$, $V¯Rj=(Vs2/Rj)I3×3$, $Aeq=diag(Aeqj)∈R2n×3n$, and $Beq=[Beq1T,…,$$BeqnT]T∈R2n$. $Aeqj$ and $Beqj$ are defined in Eq. (15). The optimization aims to maximize δEs, which means reducing the amount of energy draw from ESE or even recharging it through regeneration when possible. A value of δEs > 0 indicates energy regeneration and δEs < 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.
Fig. 3
Fig. 3
Close modal

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 Rj, since rj 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.

Table 1

Pendulum and BLDC motor parameters

ParameterValueUnit
Pendulum:
Length0.42m
Mass of the bar0.32kg
Mass of the end weight0.2kg
BLDC motor:
Gear ratio7.5
Resistance of each phase0.32Ω
Back emf const. of each phase0.0458volt/rad/s
Number of poles4
ParameterValueUnit
Pendulum:
Length0.42m
Mass of the bar0.32kg
Mass of the end weight0.2kg
BLDC motor:
Gear ratio7.5
Resistance of each phase0.32Ω
Back emf const. of each phase0.0458volt/rad/s
Number of poles4

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.

Fig. 4
Fig. 4
Close modal

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

Fig. 5
Fig. 5
Close modal
For RCUb, to command the motor driver, we need to find the motor driver and BLDC motor gain, i.e., the relationship between the generated torque of the motor and the command voltage to the motor driver. An experiment was conducted to measure the analog command voltage to the motor driver versus the resulting torque of the motor in static conditions. The following relationship was established:
$T=KVin$
(20)
where $T$ is the torque produced by the motor, K is a constant gain, and Vin 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.

Fig. 6
Fig. 6
Close modal
Fig. 7
Fig. 7
Close modal
Table 2

Tracking accuracy and energy consumption comparison

Control methodRCUaRCUb
Capacitor voltage–time slope (V/s)−7.751 × 10−4−1.1033 × 10−3
Total withdrawn energy (J)977.61222.1
Control methodRCUaRCUb
Capacitor voltage–time slope (V/s)−7.751 × 10−4−1.1033 × 10−3
Total withdrawn energy (J)977.61222.1

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.

Fig. 8
Fig. 8
Close modal

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).

Fig. 9
Fig. 9
Close modal

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.

Fig. 10
Fig. 10
Close modal

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 ($Δ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 $ΣmT$) or stored in supercapacitor (ΔEs).

Fig. 11
Fig. 11
Close modal
To conclude the results in this section, we recall a measure of energy regeneration effectiveness from [16]:
$ϵ=1−ΔERΔENR$
(21)
where ΔER and ΔENR are the system energy consumption with and without energy regeneration, respectively. ΔENR is computed by integrating the power flows in three phases of the motor, assuming all negative power is dissipated (i.e., Pi (Pi ≤ 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, ΔER = 977~J and ΔENR = 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.

Finally, it is important to note that the optimization in Eq. (19) depends on the virtual control, which in turn depends on a predesigned desired trajectory that may not be the best for energy regeneration. It is possible to extend the optimization problem to search for the optimal trajectories (q(t), $q˙(t)$, $q¨(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:
$maxq,Tv,rΔEs=∫t1t2(Tvq˙−rTV¯Rr)dt$
(22a)
(22b)
where A = In × n ⊗ [1, 1, 1] ∈ Rn × 3n (⊗ is the Kronecker product), B = [B1, …, Bn]T ∈ Rn, and $Bj=(λjηjq˙j/Vs)(faj+fbj+fcj)$. The optimal trajectory starts from the initial condition, i.e., ($q0,q˙0$), and reaches the final condition, i.e., ($qf,q˙f$), 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

2

3

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

4

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

5

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

6

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

We start by obtaining Joule losses in terms of the virtual control. The Joule losses due to resistance in the BLDC motor of jth semi-active joint ($LRj$) can be obtained from:
$LRj=RjIjTIj$
(A1)
By substituting the current with voltage and back-emf from Eq. (4) and using Eqs. (5), (7), and (12) to present the Joule loss as a function of the virtual control, after some manipulation and simplification, we get
$LRj=Vs2RjrjTrj+λj2ηj2q˙j2RjfjTfj−2Tjvq˙j$
(A2)
By taking the integral of both sides for the time interval [t1, t2], the following equation can be obtained directly:
$∫t1t2{−LRj+λj2ηj2q˙j2RjfjTfj−Tjvq˙j}dt=∫t1t2{Tjvq˙j−Vs2RjrjTrj}dt$
(A3)
In the view of Eqs. (17) and (12), we can write
$ΔEs=∑j=1nΔEsj$
(A4)
where
$ΔEsj=∫t1t2{Tjvq˙j−Vs2RjrjTrj}dt$
(A5)
Equation (A5) can be obtained by substituting Eqs. (5) and (12) in Eq. (17). From Eqs. (A3) and (A5), the following equation results:
$ΔEsj=∫t1t2{−LRj+λj2ηj2q˙j2RjfjTfj−Tjvq˙j}dt$
(A6)
Also, from Eqs. (2) and (12), the relationship between τj and $Tjv$ can be expressed as follows6:
$τj=−mjηj2q¨j−(bjηj2+λj2ηj2RjfjTfj)q˙j+Tjv$
(A7)
Multiplying both sides of this equation by $q˙j$ yields:
$τjq˙j=−mjηj2q¨jq˙j−(bjηj2+λj2ηj2RjfjTfj)q˙j2+Tjvq˙j$
(A8)
The kinetic energy of the actuator is expressed as $Kj=1/2mjηj2q˙j2$. So by taking the integral of both sides of Eq. (A8), Eq. (A9) equation is obtained:
$∫t1t2{τjq˙j}dt=∫t1t2{−dKjdt−(bjηj2+λj2ηj2RjfjTfj)q˙j2+Tjvq˙j}dt$
(A9)
Finally, by using Eqs. (A9) and (A6), we can conclude:
$∫t1t2τjq˙jdt=−ΔEsj−∫t1t2LRjdt−∫t1t2{dKjdt+bjηj2q˙j2}dt$
(A10)
To derive Eq. (18), we start by writing the overall energy balance for the robotic manipulator:
$∫t1t2(∑j=1nτjq˙j)dt=ΔEm∘+Σm∘$
(A11)
where the term on the left-hand side is the work done by the semi-active joints, Δ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
$ΔEmT+ΣmT+Σe+ΔEs=0$
(A12)
where
$ΔEmT=ΔEm∘+∑j=1nΔKjΣmT=Σm∘+∑j=1n∫t1t2bjηj2q˙j2dtΣe=∑j=1n∫t1t2LRjdt$
(A13)
The total mechanical energy change and the mechanical losses of the robot can be determined based on the system’s states and parameters. The change in the charge of the supercapacitor can be easily measured using the voltage value at its terminal. Finally, the Joule loss is a function of resistance and current. The resistance is an available parameter, and current can be measured using current sensor.

## References

1.
Shimizu
,
T.
, and
Underwood
,
C.
,
2013
, “
Super-Capacitor Energy Storage for Micro-Satellites: Feasibility and Potential Mission Applications
,”
Acta Astronautica
,
85
, pp.
138
154
.
2.
Hamza
,
A.
, and
Ayanian
,
N.
,
2017
, “
Forecasting Battery State of Charge for Robot Missions
,” Proceedings of the Symposium on Applied Computing, pp.
249
255
.
3.
Richter
,
H.
,
2020
, “
Control for Optimal Energy Regeneration From Autorotation in UAVS
,” 2020 American Control Conference (ACC),
IEEE
, pp.
5108
5113
.
4.
Khalaf
,
P.
,
Warner
,
H.
,
Hardin
,
E.
,
Richter
,
H.
, and
Simon
,
D.
,
2018
, “
Development and Experimental Validation of an Energy Regenerative Prosthetic Knee Controller and Prototype
,” Dynamic Systems and Control Conference, Vol.
51890
,
American Society of Mechanical Engineers
, p.
V001T07A008
.
5.
He
,
X.
,
Liu
,
H.
,
He
,
S.
,
Hu
,
B.
, and
Xiao
,
G.
,
2019
, “
Research on the Energy Efficiency of Energy Regeneration Systems for a Battery-Powered Hydrostatic Vehicle
,”
Energy
,
178
, pp.
400
418
.
6.
Yang
,
M.-J.
,
Jhou
,
H.-L.
,
Ma
,
B.-Y.
, and
Shyu
,
K.-K.
,
2009
, “
A Cost-Effective Method of Electric Brake With Energy Regeneration for Electric Vehicles
,”
IEEE. Trans. Ind. Electron.
,
56
(
6
), pp.
2203
2212
.
7.
Yi
,
H.-S.
, and
Cha
,
S.
,
2019
, “
Optimal Energy Management of the Electric Excavator Using Super Capacitor
,”
Int. J. Precision Engi. Manuf.-Green Technol.
,
8
, pp.
1
14
.
8.
Laschowski
,
B.
,
McPhee
,
J.
, and
Andrysek
,
J.
,
2019
, “
Lower-Limb Prostheses and Exoskeletons With Energy Regeneration: Mechatronic Design and Optimization Review
,”
ASME J. Mech. Rob.
,
11
(
4
), p.
040801
.
9.
,
Z.
,
2018
, “
Effective Harvesting of Braking Energy in Electric Cars
,”
J. KONES
,
25
(
1
), pp.
407
422
.
10.
Richter
,
H.
,
2015
, “
A Framework for Control of Robots With Energy Regeneration
,”
ASME J. Dyn. Syst. Meas. Control.
,
137
(
9
), p.
091004
.
11.
Khalaf
,
P.
, and
Richter
,
H.
,
2019
, “
Trajectory Optimization of Robots With Regenerative Drive Systems: Numerical and Experimental Results
,”
IEEE Trans. Rob.
,
36
(
2
), pp.
501
516
.
12.
Godfrey
,
A. J.
, and
Sankaranarayanan
,
V.
,
2018
, “
A New Electric Braking System With Energy Regeneration for a Bldc Motor Driven Electric Vehicle
,”
Eng. Sci. Technol., An Int. J.
,
21
(
4
), pp.
704
713
.
13.
De Viaene
,
J.
,
Verbelen
,
F.
,
Derammelaere
,
S.
, and
Stockman
,
K.
,
2018
, “
Energy-Efficient Sensorless Load Angle Control of a Bldc Motor Using Sinusoidal Currents
,”
IET Electric Power Appl.
,
12
(
9
), pp.
1378
1389
.
14.
Husain
,
I.
,
2021
,
Electric and Hybrid Vehicles: Design Fundamentals
,
CRC Press
,
Boca Raton, FL
.
15.
Ehsani
,
M.
,
Gao
,
Y.
, and
,
A.
,
2009
,
Modern Electric, Hybrid Electric, and Fuel Cell Vehicles: Fundamentals, Theory, and Design
,
CRC Press
,
Boca Raton, FL
.
16.
Khalaf
,
P.
, and
Richter
,
H.
,
2020
, “
Trajectory Optimization of Robots With Regenerative Drive Systems: Numerical and Experimental Results
,”
IEEE Trans. Rob.
,
36
(
2
), pp.
501
516
.
17.
Richter
,
H.
,
Simon
,
D.
, and
Van Den Bogert
,
A.
,
2014
, “
Semiactive Virtual Control Method for Robots With Regenerative Energy-Storing Joints
,”
IFAC Proc. Volumes
,
47
(
3
), pp.
10244
10250
.
18.
Carabin
,
G.
,
Wehrle
,
E.
, and
Vidoni
,
R.
,
2017
, “
A Review on Energy-Saving Optimization Methods for Robotic and Automatic Systems
,”
Robotics
,
6
(
4
), p.
39
.
19.
Hemati
,
N.
,
Thorp
,
J. S.
, and
Leu
,
M. C.
,
1990
, “
Robust Nonlinear Control of Brushless Dc Motors for Direct-Drive Robotic Applications
,”
IEEE. Trans. Ind. Electron.
,
37
(
6
), pp.
460
468
.
20.
Xu
,
H.
, and
Jani
,
Y.
,
2008
, “
Understanding Sensorless Vector Control for Brushless DC Motors
,”
IEEE Embedded Systems Conference Silicon Valley
,
San Jose, CA
,
Apr. 14–18
, pp.
3
22
.
21.
Abu-Rub
,
H.
,
Iqbal
,
A.
, and
Guzinski
,
J.
,
2012
,
High Performance Control of AC Drives With MATLAB/Simulink Models
,
John Wiley & Sons
,
New York
.
22.
Pillay
,
P.
, and
Krishnan
,
R.
,
1989
, “
Modeling, Simulation, and Analysis of Permanent-Magnet Motor Drives. II. The Brushless DC Motor Drive
,”
IEEE. Trans. Ind. Appl.
,
25
(
2
), pp.
274
279
.
23.
Krishnan
,
R.
,
2017
,
Permanent Magnet Synchronous and Brushless DC Motor Drives
,
CRC Press
,
Boca Raton, FL
.
24.
Ghorbanpour
,
A.
, and
Richter
,
H.
,
2020
, “
Energy-Optimal, Direct-Phase Control of Brushless Motors for Robotic Drives
,”
Proceedings of the ASME 2020 Dynamic Systems and Control Conference, Volume 1
,
Virtual, Online
,
Oct. 5–7
, p.
V001T05A006
.
25.
Ghorbanpour
,
A.
, and
Richter
,
H.
,
2018
, “
Control With Optimal Energy Regeneration in Robot Manipulators Driven by Brushless DC Motors
,”
Proceedings of the ASME 2018 Dynamic Systems and Control Conference
,
Atlanta, GA
,
Sept. 30–Oct. 3
, p.
V001T04A003
.
26.
Joy
,
J.
, and
Ushakumari
,
S.
,
2018
, “
Regenerative Braking Mode Operation of a Three-Phase H-Bridge Inverter Fed PMBLDC Motor Generator Drive in an Electric Bike
,”
Electric Power Components and Syst.
,
46
(
10
), pp.
1
19
.
27.
Yacef
,
F.
,
Rizoug
,
N.
,
Bouhali
,
O.
, and
Hamerlain
,
M.
,
2017
, “
Optimization of Energy Consumption for Quadrotor UAV
,”
Proceedings of the International Micro Air Vehicle Conference and Flight Competition (IMAV)
,
Toulouse, France
,
Sep.
, pp.
18
21
.
28.
Spong
,
M. W.
,
Hutchinson
,
S.
, and
Vidyasagar
,
M.
,
2006
,
Robot Modeling and Control
, Vol.
3
.
Wiley
,
New York
.
29.
Hernández-Guzmán
,
V. M.
, and
Orrante-Sakanassi
,
J.
,
2021
, “
Pid Control of Robot Manipulators Actuated by BLDC Motors
,”
Int. J. Control.
,
94
(
2
), pp.
267
276
.
30.
Tabarraee
,
K.
,
Iyer
,
J.
,
Chiniforoosh
,
S.
, and
Jatskevich
,
J.
,
2011
, “
Comparison of Brushless DC Motors With Trapezoidal and Sinusoidal Back-EMF
,”
2011 24th Canadian Conference on Electrical and Computer Engineering (CCECE)
,
,
May 8–11
, IEEE, p.
000803
.
31.
Kim
,
Y.
,
Chang
,
N.
,
Wang
,
Y.
, and
Pedram
,
M.
,
2010
, “
Maximum Power Transfer Tracking for a Photovoltaic-Supercapacitor Energy System
,”
In Proceedings of the 16th ACM/IEEE International Symposium on Low Power Electronics and Design 2010
,
Austin, TX
,
Aug. 18–20
, pp.
307
312
.