1. Field of the Description
The present invention relates, in general, to improved techniques for controlling humanoid robots and other bipedal robots, and, more particularly, to control methods and controllers for bipedal robots that provide enhanced balancing especially when the robots are placed in dynamic and, oftentimes, unstable environments.
2. Relevant Background
Robots or robotic devices, including bipedal robots (which may be humanoid robots) are widely used in manufacturing, assembly, packing and packaging, earth and space exploration, surgery, laboratory research, and entertainment. Some robots may include a series of rigid links or bodies linked together by joints, and some or all of the links may be moved or pivoted about the joints by actuators. Actuators are like the muscles of a robot as they respond to control signals, such as from a control system or controller, to convert energy into movement. The majority of robots use electric motors (DC or AC motors) as actuators to spin a wheel or gear while some actuators are provided in the form of linear actuators or other types of actuators. A hand (or foot) of a robot may be referred to as an end effector while the arm (or leg) is referred to as a manipulator, and these systems or devices of the robot may be made up of a number of rigid links or members interconnected by joints with movement at the joints controlled by actuators.
An ongoing challenge for those in the field of robotics is how to best or better control a bipedal robot. Particularly, dynamic balancing of bipedal robots is one of the most fundamental yet challenging problems in robotics research. Research has generated a large body of literature and control theories in the areas of controlling bipedal robots including postural balancing, push recovery, and walking. Several bipedal robots have been built that exploit the passive dynamic stability in the sagittal plane. However, the majority of bipedal robotics research has focused on balancing and motion generation in the sagittal plane. Further, the controllers for these bipedal robots was written or generated with the underlying assumption that the environment properties are known, which allows the environment and the bipedal robot to be modeled and then control theory to be applied to provide a useful controller.
There remains a need for a controller for bipedal robots that is useful for providing robust lateral stabilization in many types of changing or varying environments and not just in known stable environments. In other words, a universal balancing controller is desired for using in controlling bipedal robots in dynamic environments that may also be unstable. For example, humans have the ability to successfully balance in both static and dynamic environments, and it would be useful to provide a robot controller (or control methods) that enables a bipedal robot to stabilize dynamic, unstable environments such as a bipedal robot positioned on a seesaw or a bongo board.
Briefly, the following description teaches a universal balancing controller for use with bipedal robots in dynamic and/or unstable environments. The balancing controller is adapted to enable bipedal robots to stabilize the robot in dynamic, unstable environments such as, but not limited to, a seesaw and a bongo board and also to stabilize in static environments such as a curved floor and a non-level flat floor.
The controller is described in a way that presents and validates the following two hypotheses (which were identified by the inventors): (1) the environment data is not essential to stabilize a bipedal robot in dynamic and unstable environments and (2) a single balancing control strategy is sufficient to stabilize a bipedal robot in static and dynamic, unstable environments. The first hypothesis is validated by deriving output feedback controllers for a planar bipedal robot (e.g., the balancing controller is an output feedback controller) that successfully stabilizes seesaw and bongo board models using only the global robot data and without any information of the dynamic environment. For example, the description provided herein shows that global pelvic position, velocity, and link angle measurements are sufficient to allow the controller to stabilize the bipedal robot in both the seesaw model and the bongo board model.
The second hypothesis is validated by deriving a novel universal balancing controller as an output feedback controller. The output feedback controller presented by the inventors successfully stabilizes a planar bipedal robot in dynamic and unstable environments such as a seesaw, a bongo board, or a curved floor and also stabilizes the same planar bipedal robot when it is positioned in a static environment such as upon a flat floor (level or non-level).
It is useful to understand that the bipedal robot dynamics in these different environments have state spaces with different dimensions. The same controller, though, can be used to stabilize these different dynamic systems, which makes the robot controller a truly universal controller for the various environments in which a bipedal robot may be placed or used (and that are discussed in detail in the following description and figures). This is achieved, in part, by designing the universal controller as an output feedback controller. Additionally, the control inputs from the controller and the outputs that are fed back to the controller are kept the same for each of the different models (dynamic and static models).
More particularly, a robot is provided that includes three or more rigid links such as a bipedal robot. The robot also includes joints pivotally connecting pairs of the rigid links and an actuator associated with each of the joints. The robot also includes a universal balancing controller that includes an output feedback control module providing control signals to selectively drive the actuators to balance the robot on a support element (e.g., a board or planar surface such as a board or a flat or sloped floor). During use of the controller, the control signals are generated in response to processing of global robot data from sensors associated with the rigid links or the joints.
In some embodiments of the robot, the rigid links include at least two leg links and a pelvis link connecting ends of the two leg links. Then, the joints include a pair of ankle joints and a pair of hip joints, and the global robot data includes link angles and global pelvis measurements. In this regard, the global pelvis measurements may include measurements of a position and a velocity of the pelvis link.
Significantly, the control signals are generated by the output feedback control module without any need for measurements of the support element. Further, the support element may be configured to provide a static environment or a dynamic environment for supporting the balancing robot (e.g., the same controller may be used to balance a robot in both a static and a dynamic, unstable environment without need for a unique controller for each likely environment in which the robot may be used). In some embodiments, the dynamic environment is configured as a bongo board or a seesaw. In practice, the control signals that are generated by the controller stabilize a board of the bongo board or a board of the seesaw via controlled movement of the robot. In some cases, the static or stable environment is provided by a flat floor or by a flat and sloped floor.
The following teaches a controller (control method) for bipedal robots that may be considered a universal balancing controller for robust lateral stabilization of such robots in dynamic, unstable environments and also in stable environments. The description analyzes the robustness of the derived universal balancing controller to disturbances and parameter uncertainties, and the description also demonstrates the universality and superiority of the universal balancing controller to the best tuned linear quadratic regulator (LQR) and H∞ controllers. The description also presents nonlinear simulation results of the universal controller's successful stabilization of a family of bongo board, curved floor, seesaw, and tilting and rocking floor models.
Significant efforts have been made to provide controllers for bipedal robot. These controllers typically require knowledge of the environment, require environmental inputs to adequately stabilize the robot in a dynamic environment, and/or have other limiting characteristics. For example, researchers have shown that, while walking, humans may exploit the passive dynamic properties in the legs in the sagittal plane, but they need to use significant active control to stabilize their lateral motions. Others have presented control strategies for stabilizing unstable lateral motions of 3D passive dynamic walkers while others teach stepping strategies that can successfully reject lateral disturbances during bipedal walking. Some controller research has been directed toward hierarchical control strategies to reject lateral disturbances on a robot, and other research derived controllers for balancing on tightropes and slack lines. Controllers have been generated that use momentum-based control strategies that actively control the ground reaction forces on each foot to stabilize humanoid robots on non-level and rocking floors. Researchers have presented controllers that enable bipedal robots to walk on a rolling ball while others presented approximate value function-based control approaches to stabilize humanoid robots on bongo boards. Further, research has also been completed and presented that shows an adaptive policy that mixes control strategies for stabilizing humanoid robots on a seesaw.
While providing useful control, these controllers had a number of limitations that do not allow these controllers to be used in any dynamic and unstable environment to provide robust lateral stabilization of a bipedal robot. Many of the controllers discussed above did not deal with or address stabilizing a robot in unstable environments like a bipedal robot supported upon a seesaw or a bongo board. Further, some of the control research work was restricted to motion in the sagittal plane. Other controllers were useful for demonstrating successful balancing on a seesaw. However, this controller research did not include any results of stabilizing the seesaw, and it dealt with designing different and specific controllers for balancing in each of number of different dynamic environments (e.g., one controller for a seesaw environment, one controller for a bongo board, and so on).
In contrast, the present description teaches a robot controller that may be used for robust lateral stabilization of bipedal robots in dynamic and unstable environments. The robot controller may include an output feedback controller (or output feedback control module) that may be derived or created for planar bipedal robots to successfully balance and stabilize dynamic, unstable environments such as a bipedal robot on a seesaw or a bongo board. Such stabilizing may be achieved using only link angles and global pelvis measurements or “global robot data.” As far as the inventors are aware, this teaching is the first conclusive proof that bipedal robots can successfully stabilize in dynamic and unstable environments with only global robot data and without any measurement of the dynamic environment.
The following description further presents algorithms that find output feedback controllers that maximize the family of bongo board, seesaw, curved floor, and flat floor models that can be stabilized by a robot controller implementing/utilizing one of these output feedback controllers. A first-of-its-kind universal balancing controller is derived as an output feedback controller, which successfully operates to stabilize planar bipedal robots in static environments like flat floors and also in dynamic and unstable environments like seesaws and bongo boards. In this way, the controller provides a control approach in which a single controller stabilizes different dynamic systems with state spaces of different dimensions. The inventors performed and describe herein a detailed analysis of the robustness of the derived universal controller to disturbances and parameter uncertainties. Further, the description demonstrates the universal controller's universality and superiority to the best tuned LQR and H∞ controllers. The description also presents nonlinear simulation results of the universal controller's successful stabilization of a family of modeled environments (e.g., bongo board, seesaw, curved floor, tilting floor, and rocking floor models).
To allow robust balancing on or in the environment or on the support element 118, the bipedal robot includes a universal balancing controller 130 configured according to the present description. The robot 100 may be a 2D (planar) robot or a 3D robot and includes a plurality of rigid bodies or links 110 such as may be found in a walking humanoid robot and the like, and the links 110 may be linked together with joints 112. For example, the joints 112 may include a hip joints, knee joints, and an ankle joint connecting links 110 such as the foot to the lower leg, the lower leg to the upper leg, the upper leg to the hip joints, and the hip joints to the pelvis.
The robot or system 100 is actuated and, to this end, an actuator (e.g., a driver such as an AC or DC motor, a hydraulic or pneumatic actuator that may be rotary or linear, or the like) 114 is provided for each joint 112 that is actively moved or controlled (e.g., the knee may be “locked” in some embodiments as in some of the models discussed below) such that each actuated joint is active (while the knee or other joints may concurrently be passive). In other words, an actuator 114 may be provided for each degree of freedom (DOF) of the robot/system 100. Each of the actuators 114 is selectively operated by a drive controller 116, which may in the form of a motor controller or the like that causes the actuator to apply a particular torque on or at the joint 112.
The robot or system 100 is a constrained system as it includes (or operates upon or adjacent to) a support element(s) 118. For example, a floor, which is flat or sloped, may provide the support element 118 for the floating base(s) of a walking humanoid robot 100. The foot or lower-most link 110 may be placed on an upper surface of the support element 118, and the connection/attachment/interface 119 between the foot/lower-most link 110 may be designed or modeled such that the foot/link 118 does not slip on the support element during balancing control.
The robot or system 100 further may include sensors 120 that sense locations and/or movements of the rigid links 110 and/or joints 112 and provide these inputs/sensor readings 140 to the universal balancing controller 130 to allow location and movements of the links 110 and joints 112 to be determined in real time and a near instantaneous manner to allow control signals 150 to be generated in response. The sensors 120 do not need to provide information or data regarding the environment 118, and the dynamic system outputs 140 may be thought of as global robot data and may include link angles and global pelvis measurements (e.g., measured position and velocity of the robot's pelvis link 110).
Significantly, the robot or system 100 includes a universal balancing controller 130 that functions to provide control signals (e.g., torque values) 150 to each of the drive controllers 116 to control each of the actuators 114. As discussed throughout this description, the control signals 150 are generated to allow the bipedal robot 100 to balance on the support element 118 and to stabilize the often dynamic environment/element 118. This is achieved by configuring the controller 130 as an output feedback controller with output feedback control module 136 that processes the global robot data 140 from sensors 120 to determine the control signals 150.
To this end, the controller 130 includes a processor (or CPU) 132 that manages operation of input/output (I/O) devices 133 that act to receive signals 140 from the sensors 120 and to output control signals 150 to the drive controllers 116. The processor 132 also manages memory 134 so as to execute programs, software, or executable code in the form of and/or including the output feedback control module 136. The module 136 processes dynamic systems outputs/global robot data 140 to generate torque or other output useful for generating the control signals 150 to operate actuators 114 (e.g., apply a torque at a joint 112 related to the balancing of the robot 100 on support element).
In
In
In
At this point, it may be useful to provide background and explanation of static output feedback control prior to turning to discussion of robot and dynamic environment models (e.g., to discussion of the universal balancing controller of the present description that may be used to stabilize the robots 210 in the differing environments 240, 250, 260, and 270 of
Output feedback stabilization problems are often formulated as optimization problems with bilinear matrix inequalities (HMI). Since these problems are computationally hard to solve, they are transformed into problems with linear matrix inequalities (LMI), which are considered by many as easier to solve. However, the state-of-the-art LMI solvers often perform unreliably and can fail to find solutions even for low-dimensional systems. In fact, the inventors themselves had several unsuccessful attempts at designing/using output feedback controllers using several LMI formulations. This led the inventors to use of a convergent iterative algorithm, which worked reliably even for high-dimensional systems. One reason for this reliability is that instead of solving LMIs the convergent iterative algorithm may be chosen to reduce the necessary and sufficient conditions for static output feedback stabilizability to a set of Lyapunov equations and solves them iteratively to find static output feedback controllers. The following describes an example of such a convergent iterative algorithm.
Consider a continuous time-invariant system:
{dot over (x)}=Ax+Bu
y=Cx Eq. (1)
where xεn×1 is the state vector, uεm×1 is the control input vector and, yεp×1 is the output vector with p<n and rank (C)=p. Moreover, the expected value E[x(0)x(0)T]=X>0 where X is a positive definite matrix. The goal with static output feedback control is to find a time-invariant output feedback gain matrix Fεm×p such that u=−Fy stabilizes the system in Eq. 1.
For a given output feedback gain matrix, F εm×p, its resulting state feedback gain matrix is given by K=FC εm×n. Alternatively, given a state feedback gain matrix K εm×p that stabilizes the system in Eq. 1, one can derive an output feedback controller as:
F=KC† Eq. (2)
where C†εn×p is the Moore-Penrose psuedoinverse of the output matrix Cεp×n. In order for the output feedback gain matrix in Eq. 2 to stabilize the system in Eq. 1, A-BFC must be stable. It is important to note that all stabilizing state feedback gains K do not result in stabilizing output feedback gains F given by Eq. 2.
Given below is an analysis of the closed-loop matrix A−BFC. The singular value decomposition of the output matrix C gives C=USVT, where Uεp×p, Vεn×n are unitary matrices such that UTU=UUT=Ip and VTV=VVT=In, and Sεp×n is a rectangular diagonal matrix containing the singular values of C. Here Ip, In are p×p and n×n identity matrices, respectively. Moreover, V=[V1 V2], V1εn×p(n−p) and V2εn×(n−p). Using this, we get:
where, Â=VTAV, {circumflex over (B)}=VTB, {circumflex over (K)}1=KV1, {circumflex over (K)}2=KV2, and Ipεp×p is the identity matrix. From Eq. 3, one can observe that {circumflex over (K)}2 will be lost, and, in order to avoid this information loss, one needs to impose the constraint {circumflex over (K)}2=0, i.e., KV2, =0εm×(n−p).
Therefore, the static output feedback stabilization problem for the system in Eq. 1 can be formulated as the following constrained optimization problem of finding a state feedback gain K:
minimize E[∫0∞(xTQx+uTRu)dt],
subject to KV2=0,
Q≧0, R>0, Eq. (4)
where, u=−Kx, and Qεm×n and Rεm×m are positive-semidefinite and positive-definite matrices, respectively. Theorem 1 below presents the conditions satisfying which the stabilizing state feedback gain K forms the optimal solution to Eq. 4 and will result in a stabilizing output feedback gain F given by Eq. 2.
Theorem 1. Suppose the system in Eq. 1 is static output feedback stabilizable and detectable. There exists a static stabilizing output feedback gain F=KC†, if there exists a static stabilizing state feedback gain K that satisfies:
(A−BK)Y+Y(A−BK)T+X=0, Eq. (5)
(A−BK)TP+P(A−BK)+KTRK+Q=0, Eq. (6)
K−R−1BTP[I−V2(V2TY−1V2)−1V2TY−1]=0 Eq. (7)
where Yεn×n and Pεn×n are symmetric, positive-definite matrices, i.e., Y=YT>0, P=PT>0.
The following Algorithm 1 presents a useful iterative convergent algorithm (e.g., a known technique for providing an output feedback controller used by the inventors for the particular application described herein that can stabilize a flat board and also a wide range of bongo boards and other dynamic, unstable environments), which uses Eq. 5-7 to find the optimal state feedback gain K that solves the constrained optimization problem in Eq. 4. The algorithm solves the algebraic Riccati equation in Eq. 8 to get the initial stabilizing state feedback gain K0 (Step 3) that stabilizes the system in Eq. 1. At every iteration, the algorithm solves Lyapunov equations in Eq. 5 and 6 and uses Eq. 7 to update the state feedback gain such that Ki+1 in Eq. 9 stabilizes the system in Eq. 1 and Ki+1V2→0 as i→∞. The algorithm iterates until ∥Ki+1V2∥>ε (Step 5), and the norm can be either L2-norm or Frobenius norm. Intuitively, at each iteration i, Algorithm 1 finds a state feedback gain Ki that stabilizes the system in Eq. 1, and, as i→∞, it asymptotically tends to impose the constraint of KiV2=0 so that the corresponding output feedback gain Fi from Eq. 2 stabilizes the system in Eq. 1.
For all results presented in this description, in Step 5 of Algorithm 1, the Frobenius norm is used, and ε is chosen to be 10−5. The bounds on βi that guarantee both stability of the closed loop system and the convergence of Algorithm 1 along with proof of its convergence can be found in readily available literature. However, in the inventors' implementation, the parameter βi in Step 8 starts with a value of 0.1 for each iteration and is reduced by factors of 10 if the resulting closed-loop system is unstable. This is computationally cheap and allows Algorithm 1 to converge faster.
It is important to note that Algorithm 1 requires the number of outputs to be fewer than the number of states, i.e., p<n, and the output matrix Cεp×n must be of full row rank, i.e., rank(C)=p. Moreover, for all results presented herein, the matrices X, R are chosen to be identity matrices, i.e., X=In and R=Im. Therefore, for all the described results, the only free, tunable parameter in Algorithm 1 is the state gain matrix Qεn×n.
In this regard and significant to the present invention, the discussion of the universal balancing controller provided below presents an algorithm to automatically tune the Q matrix for ouput feedback control design. However, prior to turning to the universal controller, the following paragraphs describe a planar bipedal robot model utilized by the inventors in generating the controller. This discussion also teaches a derivation of equations of motion for this robot model while balancing in different dynamic and unstable environments such as when placed on or supported by a bongo board or a seesaw.
With regard to use of a planar bipedal robot, the inventors' work described herein focuses, at least in part, on lateral balancing tasks. Hence, the planar bipedal robot model is limited to the coronal plane of a bipedal robot. The planar bipedal robot is modeled as a four-bar linkage with four actuators corresponding to ankle and hip torques. This parallel mechanism (e.g., see
With regard to balancing a planar bipedal robot on a bongo board, the bongo board is modeled as a board on top of a rigid cylindrical wheel, and it has 2 DOF. The planar bipedal robot, which is modeled as a four-bar linkage, is assumed to be rigidly attached to the upper surface of the board such that the feet cannot slide or lose contact. In total, the model of the planar bipedal robot on the bongo board has 3 DOF. The model also assumes that there is no slip either between the wheel and the board or between the wheel and the floor. Moreover, the event of the board (e.g., its opposite ends) hitting the floor is ignored.
M(q){umlaut over (q)}+C(q,{dot over (q)}){dot over (q)}+G(q)=sTτ+ψ(q)Tλ Eq. (10)
where M(q)ε6×6 is the mass/inertia matrix, C(q,{dot over (q)})ε6×6 is the matrix of Coriolis and centrifugal forces, G(q)ε6×1 is the vector of gravitational forces, s=[04×2I4]ε4×6 is the input coupling matrix, I4ε4×4 is the identity matrix, τε4×1 is the vector of actuator inputs, ψ(q)ε3×6 is the constraint matrix, and λε3×1 is the vector of Lagrange mulitpliers. The constraints given by ψ(q){dot over (q)}=0ε3×1 are differentiated to get:
ψ(q){umlaut over (q)}+{dot over (ψ)}(q,{dot over (q)}){dot over (q)}=0ε3×1 Eq. (11)
The system matrices in Eq. 10 have long symbolic expressions and are not presented in this description.
In the rest of this description, the functional dependence of the terms on q and 4 are ignored for the ease of notation. Since the mass/inertia matrix M is always a symmetric, positive-definite matrix, it is always invertible. Therefore from Eq. 10:
{umlaut over (q)}=M−1(sTτ−C{dot over (q)}−G)+M−1ψTλ Eq. (12)
Solving for λ from Eq. 11 and Eq. 12:
λ=−(ψM−1ψT)−1({dot over (ψ)}{dot over (q)}+ψM−1(sTτ−C{dot over (q)}+G)) Eq. (13)
and combining Eq. 12 and Eq. 13, {umlaut over (q)} can be written as:
where N1=ψT(ψM−1ψT)−1, N2=(I6−N1ψM−1), and I6ε6×6 is the identity matrix.
The state vector of the system is given by x=[qT, {dot over (q)}T]Tε12×1, and the linear state space matrices about its unstable equilibrium can be derived from Eq. 14 as follows:
However, the pair (A, B) in Eq. 15 is not controllable because it is not in its minimal realization. Given an output matrix Cεp×12, where rank(C)=p, the state space realization {A, B, C}can be converted into its minimal realization {Am, Bm, Cm} using Kalman decomposition, which provides an orthonormal state transformation matrix Umε6×12 such that:
Am=UmAUmTε6×6,
Bm=UmBε6×4,
Cm=CUmTεp×6 Eq. (16)
Here, six out of twelve states corresponding to the three constraints have been removed to obtain the minimal system with six states shown in Eq. 16. The nominal system parameters for the bongo board model used in the examples provided herein are provided in the following Table 1.
With regard to a planar bipedal robot on a seesaw, the model of the planar bipedal robot on a seesaw (as shown in
With regard to a planar bipedal robot in static environments, the model of the planar bipedal robot balancing on a flat, non-level floor (see
It is important to understand that with the inventors' universal balancing controller that environment data is not essential for achieving balance. The following discussion validates this hypothesis, i.e., that environment data is not essential to stabilize bipedal robots in dynamic and unstable environments like a seesaw and a bongo board. Particularly, it will be shown that the balancing controller does not need measurements and/or estimations of what is under the robot's feet, e.g., the wheel angle αω and the board angle αb, for a successful balancing operation as long as global robot data is available.
More specifically, Algorithm 1 is used to design a static output feedback controller that uses just three sensor outputs (three pieces of global robot data) to successfully stabilize both the seesaw and bongo board models. The first two outputs are chosen to be the global position and velocity of the pelvis, which may be calculated using the left link-1 and link-2 angles and angular velocities, respectively. The third output is chosen to be the robot's right link-1 angle. The output matrix Cε3×12 for the bongo board model can then be written as:
C=[C1C2], Eq. (17)
where,
where the system parameters are provided in Table I. It is assumed that the global position and velocity of the pelvis are obtained using an inertial measurement unit at the pelvis. The output matrix for the seesaw model Cε3×10 can be similarly derived. It is important to note that though the bongo board and seesaw models have different dimensional state spaces, i.e., twelve and ten, respectively, their respective chosen outputs are the same both in number, i.e., three, and in what they represent.
At this point in the description, it may be useful to turn to a more detailed and full discussion of an exemplary universal balancing controller (or more simply “universal controller) for use in stabilizing and/or balancing a bipedal robot on a variety of differing supports or environments. The prior discussion was useful for showing that the bongo board model has 3 DOF (6 minimal states), while the seesaw and curved floor models have 2 DOF (4 minimal states) and the flat floor model has 1 DOF (2 minimal states). Although these models have state spaces with different dimensions, the dimensions of their input spaces are the same, i.e., four actuators at hip and ankle joints. In order to design a single, universal controller that stabilizes the robot in these different dynamic and static environments, the universal controller should be adapted to map the same entities to the same control inputs of the robot. Since the state space for each case is of a different dimension, the universal controller cannot be a state feedback controller. The following discussion, therefore, proposes a design for a universal controller as or as including an output feedback controller, which maps the same outputs from each of these cases to the same control inputs of the robot.
The above discussion also showed that the bongo board and seesaw models are output feedback stabilizable and further that three outputs are sufficient to stabilize the system via output feedback. However, the larger the number of independent outputs the better is the control authority, and, hence, the universal controller described herein uses (in some embodiments) five outputs (from sensors on the robot) for feedback. The first two outputs are chosen to be the global position and velocity of the pelvis measured using the left link-1 and link-2 angles and angular velocities, respectively. The next three outputs are chosen to be the right link-1 angle, angular velocity, and the global foot angle. It is useful to note that the outputs do not include direct measurements of the wheel angle αw and board angle αb. The global foot angle and global position and velocity of the pelvis can be measured using an inertial measurement unit (IMU) at the pelvis. The output matrix Cε5×12 for the bongo board model can be written as:
C=[C1C2] Eq. (20)
where,
The output matrix for the seesaw model Cε5×10 can be similarly derived.
The reader may wonder why the inventors picked five outputs and not more. One reason has to do with the applicability of Algorithm 1, in which the number of outputs is less than the number of minimal states. The bongo board model is the most generic model among those discussed herein, and it has six minimal states. Therefore, Algorithm 1 limits analysis to use of five outputs. The prior discussion also derived individual output feedback controllers for the seesaw and bongo board models using Algorithm 1. However, in order to derive a universal controller, the following discussion derives an output feedback controller for the bongo board model, and, since this is the most generic model, the same controller also will stabilize the other models discussed in this description.
With regard to optimizing the range of universality, the inventors understood that the seesaw model can be represented as a bongo board model with zero wheel radius, i.e., rw=0. Then, by keeping the density of the wheel of the bongo board model constant, the curved floor model can be represented as a bongo board model with large wheel radius and, thereby, large wheel mass and moment of inertia. The flat floor model can be represented as a bongo board model with infinite wheel radius, i.e., rw=∞. Therefore, the bongo board model can be considered as a generic model that in the linear range of wheel radius rw=[0, ∞] can represent seesaw, family of bongo board, curved floor, and flat floor models.
The user-defined matrices that affect the output feedback controller design using Algorithm 1 are Q, R, and X. The matrices R and X are chosen to be identity matrices, and, hence, only the elements of Q affect the output feedback controller from Algorithm 1. The following discussion presents an optimization algorithm that optimizes for the elements of the Q matrix such that the resulting output feedback controller stabilizes the seesaw and flat floor models and also stabilizes the largest family of bongo board models, i.e., the largest range of wheel radii.
Particularly, Qε12×12 for the bongo board model is chosen to be a diagonal matrix, with equal weights for the configurations of the left and right legs. Therefore, the matrix Qε12×12 is parameterized by eight parameters as follows:
Q=diag([a1,a2,a3,a3,a4,a4,a5,a7,a7,a8,a8]T) Eq. (23)
and the matrix Qmε6×6 corresponding to the minimal system {Am, Bm, Cm} in Eq. 16 is obtained as Qm=UmQUmT. As mentioned earlier, the user-defined matrices include Rm=I4 and Xm=I6. It should be noted that the planar robot model discussed above has four inputs, and the output feedback controller feeds back five outputs as shown in Eq. 20. For a given Qm, the output feedback control gain Fε4×5 is obtained using OutputFeedback(Am, Bm, Cm, Qm, Rm, Xm) in Algorithm 1. It is also important to note that the output feedback control gain Fε4×5 can be used for output feedback control of the different dynamic systems considered herein since they all have the same five outputs.
The problem of finding the universal controller can be formulated as an optimization problem of finding the eight parameters {ai} of Q in Eq. 23 such that the resulting output feedback controller stabilizes the seesaw and flat floor models. The controller also stabilizes the largest family of bongo board models, i.e., the largest range of wheel radii. The optimization problem is formulated as follows:
where F is the output feedback gain derived for the nominal bongo board model using Algorithm 1 with the chosen Q at each iteration, rlow,rup are the lower and upper bounds, respectively, of the range of stabilizable wheel radii for the bongo board models, rmin,rmax are the minimum and maximum bounds, respectively, of the range of wheel radii for which the output feedback gain F is evaluated, and Gd is the transfer function from the disturbance torque on the board to the outputs of the nominal closed loop system with output feedback gain F.
The term J5 in Eq. 29 is used to ensure that the disturbance rejection of the nominal closed loop system with the output feedback controller is not compromised in an attempt at enlarging the range of stabilizable wheel radii. Large values are chosen for the weights w1 and w2 in order to drive the optimization towards finding output feedback gains that stabilize the seesaw and flat floor models. The w3-w5 determine the relative weightage between the lower and upper bounds of stabilizable wheel radii and the H∞ norm of the controller's ability to reject disturbances.
The overall optimization algorithm is presented in preceding Algorithm 2. At each iteration, the algorithm computes Qm for the chosen parameters (Step 7) and computes the corresponding output feedback gain F (Step 8). The different cost functions J1-J5 whose weighted sum constitutes the overall cost function as shown in Eq. 24 are computed for this output feedback gain F (Steps 9-12), and the parameters of the Q matrix are updated accordingly (Step 13). This process continues until the desired convergence is achieved, and the optimal parameters {ai}* of the Q matrix and the corresponding optimal output feedback gain F* is obtained (Step 15).
The following sections describe how terms from Eq. 27-29 (Steps 10-11 of Algorithm 2) are derived at each iteration of the optimization. First, with regard to finding the range of stabilizable wheel radii, Algorithm 3 (following this paragraph) uses a bisection algorithm to find the range of stabilizable wheel radii. At each iteration i, the linear state space matrices for the bongo board model with radius ri are computed (Steps 5 and 17) and their corresponding minimal system matrices are obtained using Kalman decomposition (Steps 6 and 18). Then, the closed loop stability of the linear minimal system with the output feedback gain F derived for the nominal system is evaluated, and the bounds are updated accordingly (Steps 7-12 and 19-24).
The work described herein assumes that the density of the wheel of the bongo board remains constant, and, hence, with changing wheel radii, the mass and moment of inertia of the wheel also changes. It also assumes that the wheel is a solid cylinder of unit length, and its mass and moment of inertia are given by:
mw=πrw2ρw,
Iw=½πrw4ρw, Eq. (30)
Also, in this description, the minimum rmin and maximum rmax allowable wheel radii values for the bisection algorithm in Algorithm 3 are set to 0.001 meters and 122.7108 meters, respectively. With a constant wheel density of 200 kg·m−3 (Table I), the minimum radium rmin=0.001 meters results in a wheel of mass 6.28×10−1 kilograms and moment of inertia 3.24×10−10 kg·m2, and the maximum radius rmax=122.7108 meters results in a wheel of mass 9.46×106 kilograms and moment of inertia of 7.12×1010 kg·m2. In this description, the maximum radius is restricted to 122.7108 meters because, beyond this value, the reciprocal of the condition number of the mass/inertia matrix of the system becomes less than 10−12, and, hence, the mass/inertia matrix becomes too close to singular. As listed in Table I, the nominal radius for the bongo board model is rnom=0.1 meters and the resulting mass is 6.28 kilograms and moment of inertia is 0.0314 kg·m2.
From Eq. 30, one can see that with a constant wheel density ρw, a linear growth in the wheel radius rw, results in a quadratic growth in the wheel mass mw and a quartic growth in the wheel moment of inertia Iw. Therefore, with sufficiently large radius, the mass and moment of inertia of the wheel are large enough that the wheel does not move and the system reduces to the robot balancing on a board on top of a curved floor. The wheel radii range of 0.001 meters to 122.7108 meters is sufficient to evaluate the stabilizable range of an output feedback controller, and any controller that can stabilize this wide family of bongo boards and curved floors (and also the seesaw and flat floor models) is worth enough to be called a universal controller.
Now, with regard to finding the H∞ norm for disturbance, in an attempt at increasing the range of stabilizable wheel radii for the universal controller, the controller's robustness to disturbances should not be compromised. Therefore, the objective function in Eq. 24 included a term J5 for the H∞ norm of the transfer function of the closed loop system from the disturbance on the bongo board to the outputs of the system. This description focuses only on the disturbance torque subjected to the board for the nominal system.
Given the nominal system {A, B, C} and the output feedback gain F, the linear state space matrices of the closed loop system used for disturbance rejection analysis are as follows:
where N2=M−1(I6−N1ΨM−1), N1=ΨT(ΨM−1ΨT)−1, sd=[0, 1, 0, 0, 0, 0]. Here the input is the disturbance torque to the board, and the outputs remain the same five outputs as that of the original nominal system in Eq. 20. The transfer function from the disturbance to the outputs can be written in matrix form as:
where {Amd, Bmd Cmd} is the minimal realization of AdBdCd in Eq. 31. Algorithm 2 uses the H∞ norm of Gd in Eq. 32 for computing J5 (Step 11 of Algorithm 2).
The norm ∥Gd∥∞ represents the sensitivity of the outputs of the closed loop system in Eq. 31 to the disturbance on the board. The lower the norm, the lower is the sensitivity and the more robust is the output feedback controller to the bongo board's disturbances. Hence, it is desirable to reduce J5=∥Gd∥∞ in the optimization in Algorithm 2.
At this point, it may be useful to provide a performance comparison and analysis for the universal controller. The following discussion presents a detailed analysis of the universal controller derived using Algorithm 2 and compares its performance and robustness with other controller like linear quadratic (LQR) and H∞ controllers. Particularly, with regard to the controllers under comparison, the discussion that follows presents the universal controller, the LQR controller, and the H∞ controller for comparison.
First, with regard to the universal controller, the optimal output feedback gain Fε4×5 obtained using Algorithm 2 for the system with nominal parameters shown in Table I and the output matrix Cε5×12 shown in Eq. 20 is given below.
It can be seen from Eq. 33 that since the robot is a parallel mechanism with only one DOF, the actuation at the ankle and hip joints are duplicated. The left and right ankle torques are the same, while the left and right hip torques are equal in magnitude but opposite in sign to that of the ankle torques.
Second, with regard to the LQR controller, the LQR controller compared here is obtained by optimizing for the elements of its Q matrix using an algorithm similar to Algorithm 2 such that the objective function in Eq. 24 is minimized, and its R matrix is fixed to be an identity matrix. Just like Algorithm 2, the algorithm employed here is optimized for the elements of the Q matrix such that the range of stabilizable wheel radii for the resulting LQR controller is maximized. However, this algorithm ignored cost functions J1 (Eq. 25) and J2 (Eq. 26) since the state feedback LQR controller for the bongo board model cannot be used to stabilize flat floor and seesaw models with state spaces of different dimensions. Note, in the spirit of brevity, the elements of the derived LQR gain matrix are not provided here.
Third, with regard to the H∞ controller, a brief description of the structure of the H∞ controller with output feedback compared here is presented below. The linear, minimal state space equations used for H∞ control design are as follows:
{dot over (x)}m=Amxm+Bmdud+Bmu,
{tilde over (y)}={tilde over (C)}xm+{tilde over (D)}ud,
ym=Cmxm Eq. (34)
where {Am, Bm, Cm} is the linear, minimal statespace realization of the nominal bongo board model shown in Eq. 16, Bmdε6×1 is the minimal input transfer matrix corresponding to the disturbance input ud on the board as shown in Eq. 32, and
where √{square root over ((•))} refers to the Cholesky factor of the corresponding matrix. The H∞ controller K∞ is a state space model with six states, five inputs (ym) and four outputs (u), and is designed such that the H∞ norm of the transfer function from disturbance input ud to output {tilde over (y)}, i.e., ∥Tÿu
With regard to universality and the range of stabilizable wheel radii, Table II (above) compares the performance of the different controllers described previously in stabilizing the flat floor, seesaw, and family of bongo board and curved floor models. The stabilizability guarantees were derived using linearized dynamics of the respective models about the unstable vertical equilibrium. As described earlier, the curved floor and flat floor models are derived as special cases of bongo board and seesaw models, respectively.
The LQR controller used in this comparison is a state feedback controller derived for the nominal bongo board model, and, hence, it cannot be used to stabilize the seesaw and flat floor models. However, since the H∞ controller presented is an output feedback controller, it can be used to stability the nominal seesaw and flat floor models. But, the best H∞ controller derived herein was unable to stabilize both these systems as shown in Table II. It is important to note that the universal controller was, in contrast, capable of stabilizing both the nominal seesaw and flat floor models.
For the family of bongo board and curved floor models, the range of stabilizable wheel radii for the LQR and H∞ controllers designed for the nominal bongo board model are evaluated using the bisection algorithm similar to Algorithm 3. It is also to be noted that the optimization algorithm similar to Algorithm 2 was used to tune the elements of the Q matrix for both these controllers, with R being fixed to an identity matrix. The best results of such optimization are reported in Table II. It is useful to note that the search space for stabilizable wheel radii (as noted above) was restricted to the range of 0.001 to 122.7108 meters for all the cases.
It can be seen from Table II that the universal controller presented herein, which was optimized using Algorithm 2, was able to stabilize the entire range of allowable wheel radii, i.e., 0.001 to 122.7108 meters, and was also able to successfully stabilize the planar robot on the nominal seesaw and flat floor models. This makes the output feedback controller a truly universal controller for the models considered in this description. However, the best range of stabilizable wheel radii that the optimized LQR controller could achieve was 0.0942 to 0.1257 meters, and the optimized H∞ controller with output feedback could stabilize a range of 0.0363 to 0.2798 meters. Hence, the H∞ controller performs significantly better than the LQR controller by stabilizing a wider range of wheel radii, but the universal controller performs orders of magnitude better than even the best performing H∞ controller.
With regard to disturbance rejection, Table II also compares the performance of the different controllers in rejecting the disturbance torques on the board. As discussed earlier, the H∞ norm of the transfer function given in Eq. 32 describes the sensitivity of the closed-loop system dynamics to the disturbance torque on the board. As shown in Table II, the best H∞ controller presented has a lower ∥Gd∥∞ than that of the universal controller, which in turn has a lower value than that of the LQR controller.
However, while testing the controllers on a nonlinear simulation of the nominal bongo board model with actuator limits of plus or minus 200 nanometers, the universal controller was able to handle a larger disturbance (86.7 nanometers for 0.1 seconds) on the board than that of the H, controller (36.2 nanometers for 0.1 seconds) and the LQR controller (31.1 nanometers for 0.1 seconds) as shown in Table II.
With regard to the robustness to parameter uncertainties, Table III (above) shows the range of parameter variations in the nominal bongo board model that the different controller can handle. For each parameter except the wheel density ρw listed in Table III, while the parameter is varied, the other parameters of the system were maintained at their nominal values. For the wheel density ρw, however, the mass mw and moment of inertia Iw varied according to Eq. 30. The stabilizable range of parameter values was obtained using a bisection algorithm similar to Algorithm 3. Table III shows that the universal controller outperforms both the H∞ and LQR controllers by stabilizing a significantly wider range of parameter variations for all parameters. In the above listed values, a stabilizable range written as (0, •] refers to a range whose lower bound is less than 10−4, and, similarly, a stabilizable range written as [•, ∞) refers to a range whose upper bound is greater than 106.
For the entire range of density values considered, the universal controller was able to stabilize the entire range of wheel radii considered, i.e., 0.001 to 122.7108 meters. The H∞ controller was able to stabilize only a small range of wheel density values, i.e., 24.1 to 386.9 kg·m−3, and the corresponding stabilizable range of wheel radii was also small. However, the LQR controller successfully stabilizes the whole range of wheel density values but for a smaller range of wheel radii than that of the H∞ controller. The results in Table III and
The following discussion presents the nonlinear simulation results of the universal controller defined by Eq. 33 and demonstrates this controller's universality as proved using its linearized model in Table II. The constrained nonlinear dynamics of the seesaw and bongo board models were simulated in MATLAB using ode15s (a stiff numerical solver), and the actuator inputs were limited to plus/minus 200 nanometers. As described above, the curved floor and flat floor models are derived as special cases of the bongo board and seesaw models, respectively. It should also be noted that the planar bipedal robot considered here is a parallel mechanism with only one DOF, and, hence, the actuator torques at the hip and ankle joints are duplicated, with the hip torques being equal and opposite to the angle torques.
It is important to note that the robot is a parallel mechanism with only one DOF. Hence, its actuation is duplicated with the ankle and hip torques having equal and opposite values. Moreover, the ankle and hip torques are limited to plus/minus 200 Nm such that one can observe the torque trajectories saturating in the plots in the
The above description teaches a methodology or algorithm for deriving a universal balancing controller for providing control signals or stabilizing a bipedal robot in static environments (such as flat floors) and in dynamic environments (such as seesaw and bongo board type supports). Among the keys discussed that are useful in providing a universal balance controller are: (1) formulate the controller as an output feedback controller so that it can map the outputs of different dynamic systems like a seesaw and a bongo board to the control inputs of the robot including the ankle and hip torques (this formulation enables a single controller to stabilize different dynamic systems with state spaces of different dimensions) and (2) use the bongo board model as a generic model where different wheel radii can represent a wide range of environments including a seesaw and a bongo board as well as flat and curved floors/surface, where a zero radius corresponds to a seesaw and an infinite radius corresponds to a flat floor (the generic model allows the controller to handle different environments by changing the wheel radius continuously rather than dealing with multiple discrete models).
In this regard, an optimization algorithm is described herein that finds a set of output feedback gains that maximizes the range of wheel radii that the controller can stabilize. Also, in this description, it was assumed that the feet of the bipedal robot were always in flat contact with the upper surface of the bongo board without slipping. Prior to this universal balancing controller, there was no such universal control design in which a single controller stabilizes dynamic systems with different dimensional state spaces. Previous solutions, instead, included environment-specific controller designs, e.g., separate seesaw and bongo board balancing controllers.
The universal controller stabilizes different dynamic systems, which enables a bipedal robot with such a controller to have no knowledge of the environment in which it is balancing but yet still successfully balance and handle disturbances. This result eliminates the need to model dynamic environments (like a seesaw and a bongo board) and allows the same controller to be re-used in all environments or in multiple unstable platforms. Hence, a significant amount of time is saved that would otherwise have been spent in tuning controllers for specific environments.
Balancing robots controlled using this technique may have many uses such as in an entertainment setting (e.g., a robot-based attraction of a theme or amusement park or the like) or in an industrial or manufacturing setting. For example, one can readily imagine an implementation in which balancing robots perform entertaining tasks (e.g., a number of circus tasks) like balancing on a seesaw, on a bongo board, on a curved surface or floor, and the like. Moreover, in real time, a bipedal robot with the universal balancing controller can switch environments, which makes its performance much more interesting and exciting for observers or an audience.
This description shows conclusively that global pelvis position, velocity, and link angle measurements are sufficient to stabilize a planar bipedal robot in dynamic, unstable environments like seesaws and bongo boards. Output feedback control was proposed as an approach to design a single controller that stabilizes planar bipedal robots in different dynamic environments with state spaces of different dimensions. An algorithm that optimized output feedback controllers to maximize the range of stabilizable systems was also presented. A first of its kind universal balancing controller that stabilizes a family of bongo board, seesaw, and curved and flat floor models was derived and fully described.
The robustness of the derived universal controller to disturbances and parameter uncertainties was analyzed in the description and compared against LQR and H∞ controllers. Since the LQR controller derived for the bongo board model is a state feedback controller, it cannot be directly used for stabilizing the planar bipedal robot on a seesaw, a flat floor, or a curved floor model. Although the H∞ controller derived for the bongo board model being an output feedback controller can be used for stabilizing a bipedal robot in other dynamic environments, the optimization algorithm failed to find a H∞ controller that stabilized the seesaw and also the flat floor models. Moreover, it was shown in this description that the universal controller performed significantly better than the LQR and H∞ controllers in both disturbance rejection and also in robustness to parameter uncertainties. Several nonlinear simulation results were also presented that demonstrated the robustness and universality of the derived universal balancing controller.
Number | Name | Date | Kind |
---|---|---|---|
3199249 | Carver | Aug 1965 | A |
5838130 | Ozawa | Nov 1998 | A |
6064167 | Takenaka | May 2000 | A |
7657345 | Endo | Feb 2010 | B2 |
7761184 | Moridaira | Jul 2010 | B2 |
8311677 | Yoshiike | Nov 2012 | B2 |
9020639 | Bewley | Apr 2015 | B2 |
9211201 | Herr | Dec 2015 | B2 |
20020079857 | Ishii | Jun 2002 | A1 |
20040015265 | Asano | Jan 2004 | A1 |
20040133308 | Kato | Jul 2004 | A1 |
20040176875 | Iribe | Sep 2004 | A1 |
20040205417 | Moridaira | Oct 2004 | A1 |
20050066397 | Hidai | Mar 2005 | A1 |
20050067993 | Kato | Mar 2005 | A1 |
20050104548 | Takenaka | May 2005 | A1 |
20050113973 | Endo | May 2005 | A1 |
20060025888 | Gutmann | Feb 2006 | A1 |
20060033462 | Moridaira | Feb 2006 | A1 |
20060247799 | Takenaka | Nov 2006 | A1 |
20070013506 | Takenaka | Jan 2007 | A1 |
20070016329 | Herr | Jan 2007 | A1 |
20080258670 | Yoshikawa | Oct 2008 | A1 |
20090055021 | Sano | Feb 2009 | A1 |
20090301798 | Yang | Dec 2009 | A1 |
20090306824 | Zaier | Dec 2009 | A1 |
20100070076 | Zaier | Mar 2010 | A1 |
20100185330 | Kwon | Jul 2010 | A1 |
20100222927 | Zaier | Sep 2010 | A1 |
20110098860 | Yoshiike | Apr 2011 | A1 |
20110106313 | Lee | May 2011 | A1 |
20110231050 | Goulding | Sep 2011 | A1 |
20130131865 | Yamane | May 2013 | A1 |
20150051734 | Zheng | Feb 2015 | A1 |
Entry |
---|
Anderson, et al, “Approximate Policy Transfer Applied to Simulated Bongo Board Balance”, International Conference on Humanoid Robots, Nov. 29-Dec. 1, 2007, pp. 490-495. |
Hubler, et al, “A Case Study on Balance Recovery in Slacklining”, International Conference on Biomechanics in Sports, Conference Proceedings; 2010, vol. 28. |
Lee, et al, “A Momentum-based Balance Controller for Humanoid Robots on Non-level and Non-stationary Ground”, Autonomous Robots, Nov. 2013, vol. 33, pp. 399-414. |
Bauby et al, “Active Control of Lateral Balance in Human Walking”, Journal of Biomechanics, vol. 33, Apr. 26, 2000, pp. 1433-1440. |
Paoletti, et al, “Balancing on Tightropes and Slacklines”, Journal of the Royal Society Interface, Apr. 18, 2012, pp. 2097-2108. |
Anderson, et al, “Adaptive Torque-based Control of a Humanoid Robot on an Unstable Platform”, 2010 IEEE-RAS International Conference on Humanoid Robots, Nashville, TN, Dec. 6-8, 2010. |
Zheng, et al, “Ball Walker: A Case Study of Humanoid Robot Locomotion in Non-stationary Environments”, 2011 IEE International Conference on Robotics and Automation, Shanghai, China. |
Yu, Jen-te, “A Convergent Algorithm for Computing Stabilizing Static Output Feedback Gains”, IEE Transactions on Automatic Control, vol. 49, No. 12, Dec. 2004, pp. 2271-2275. |
Number | Date | Country | |
---|---|---|---|
20150217448 A1 | Aug 2015 | US |