Keywords: Four-limb Robot, Generalized dynamics, Operational space dynamics, Whole-body kinematics, Prioritized impedance controller, Hierarchical torque control, Wheel-motion generation, Leggedmotion generation. xi B Simulation Environment

The thesis presents the whole-body motion generation of two four-limb robots using whole-body torque control, including the rolling-mode generation of one quadruped-on-wheel robot, "TowrISIR", and the trotting-mode generation of one quadruped robot with parallelogram mechanisms, "QuadISIR". Both the wheeled and legged motion generators are developed by using the robot generalized dynamics and centroidal dynamics models, and they are verified by our improved proposed torque controllers.

Initially, we propose the concept called prioritized impedance controller. We integrate it into four kinds of improved hierarchical operational-space torque control frameworks: one pseudo-inverse based dynamics method and three improved optimization-based techniques, including one null-space based weighted optimization solver, one hierarchical optimization solver, and one hybrid hierarchical-weighted solver. The integrated prioritized impedance controller enables various impedance control forces to be consistent and compatible with multi-task hierarchies. The concept can handle more general impedance controllers, including the ones built directly on specific designed tasks, and ones indirectly acting on the whole-body behaviors. For the pseudo-inverse based dynamics method and the null-space based weighted scheme, each task acceleration with the prioritized impedance controller is extracted using one proposed modified dynamics model. In contrast with the conventional weighted scheme, we propose to use null-space projections among the weighted subtasks. Then another new dynamics model is proposed for the hierarchical optimization solver and the hybrid hierarchical-weighted control scheme, it is used to extract each task acceleration with the quadratic form depending on the prioritized impedance controller. One of the four torque controllers can be selected depending on application requirements, and they are tested in several simulation scenarios using the TowrISIR with one manipulator on its floating base.

Then, we propose two rolling-mode motion generators to track the centroidal motion of TowrISIR. The whole-body inverse kinematics model is derived using spatial vectors. By given the desired leggedsuspension motion, the wheel motion is extracted out mathematically depending on the base and the legged motions, then the first wheel motion generator is developed by combining both the kinematics model and the robot centroidal momentum/dynamics model. The models are decomposed into three components relating to the base motion, the legged motion and the wheel motion. The second wholebody motion generator is more general which enables the robot ability to cross various rough terrains with much-altitude difference. The generator is also used to track the whole-robot centroidal motion reference, including the centroidal translational motion in the forward and lateral directions in the inertial frame, and the centroidal height motion w.r.t. the base frame in the base vertical direction. Then the whole-body motion generator is developed by combining both the kinematics model, the wheel-center motion model, the robot centroidal momentum and dynamics models, and one proposed altitude control model. Finally, the two adaptive motion generators are verified, and TowrISIR is simulated to be driven on various rough terrains with compatible dynamic behaviors by using our proposed compliant torque controller.

Finally, we propose a novel legged locomotion principle for tracking the base spatial motion of one quadruped robot, QuadISIR, which can generate legged motion automatically. The principle is based on a new legged locomotion generator for a quadruped robot using the centroidal properties without masslessleg assumption. Our quadruped robot is new designed with symmetric legged dynamics properties using parallelogram mechanisms, and the relative generalized dynamics model is built. The centroidal momentum and dynamics models are established by combining the base and each leg centroidal properties, in which the virtual joint between the base and each-leg CoM is used instead of each real joint. This setting is advantageous for the proposed locomotion principle and the legged motion generator. The stance legs follow the base motion without conflicting the contact constraints. The swing legs compensate the delay influences (to centroidal motion) by the stance legs. The adaptive swing-leg motion is achieved in the running process without pre-defined trajectories. We use the contact-constraint consistent multi-task torque controller to enable the robot with compliant dynamics properties. QuadISIR is simulated to walk, trot, turn, and recover from big lateral push force on the base, to verify the usefulness and validity of our new locomotion principle based legged motion generator.

List of Figures

2.1 "TowrISIR"-A quadruped-on-wheel robot developed in ISIR lab is equipped with 12 hydraulic actuators and 4 wheel motors. Each leg has 4 joints, including the hip abduction/adduction joint (HAA), the hip flexion/extension joint (HFE), the knee flexion/extension joint (KFE) and the wheel forward/backward joint (WFB). The joints with hydraulic actuators apply the similar structure with the robot HyQ2Max [START_REF] Semini | [END_REF]] which has different leg layout and no wheels. Each joint is integrated with the force/torque sensor and the absolute/incremental encoder. . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.2 Structure of TowrISIR with leg indexes: The whole-body CoM frame G is set parallel with the base frame 1 or b. The frames relating to the inverse kinematics are zoomed in, including the contact frame c i , the wheel frame w i and the knee frame k i . The letters F, L, R and H represent front, left, right and hind. On the front-left (FL) leg, we give the leg lengths. The wheel diameter is 150mm. The contact frame is always estimated at the lowest point in the sagittal plane of the wheel in the gravity direction. . . . . . . . . . . 23 2.3 Connectivity of TowrISIR with body and joint indexes. . . . . . . . . . . . . . . . . . . . 24 2.4 Whole-Body Dynamics Control Scheme of TowrISIR . . . . . . . . . . . . . . . . . . . . . 32 3.1 [Left]: Task hierarchy definition. The smaller index, the higher priority. Index 0 denotes the contact constraint. For each priority, one specific impedance controller is applied.

Other indirect impedance controllers can be integrated to be consistent with the task hierarchy using our approach in this chapter. [Right]: TowrISIR is equipped with one manipulator on its floating base to enable the robot with manipulation behaviors. The manipulator has 6 DOFs and its mass is about 7kg. The weight of the robot with the manipulator is about 107kg. . 4.10 The robot runs forward on the unsymmetrical terrain, including (1) the slope in both forward and lateral directions, and (2) one platform with the half width of the road. The upper zoom-in pictures show the robot behavior on the slope indexed with (1). The left edge of the slope is 0.3m higher than the right edge. The bottom zoom-in pictures show that only the right two legs are the platform with index [START_REF] Du | Whole-Body Motion Tracking for a Quadruped-on-Wheel Robot via a Compact-Form Controller With Improved Prioritized Optimization[END_REF]. The height of the platform [START_REF] Du | Integration of Prioritized Impedance Controller in Hierarchical Operational-Space Torque Control Frameworks for Locomotion Robots[END_REF] An example in the sagittal plane to show our new locomotion principle using two legs for tracking the robot centroidal motion. v f and v h denote the velocity of the front and hind leg CoMs respectively. x and z represent the front and vertical directions respectively. . . 5.5 Whole-body Control Framework: The motion references include the external and internal motion levels. The internal motion references are used for the motion generation of walking and trotting gaits. In the motion generator, we achieve the swing-leg motion using the CoM mass distribution model, the centroidal momentum/dynamics models and the models relating to legged motion relationships. The two level motion references and the outputs of the motion generators are used as inputs of the torque controller. The variables in the framework are explained throughout this chapter. . . . . . . . . . . . . . . . . . . . . . . . 5. [START_REF] Du | Leg Centroidal Dynamics based New Locomotion Principle of Quadruped Robots with On-line Legged Motion Generation[END_REF] An example of the base forward motion reference with three Bézier curves, two curves for acceleration and deceleration, one linear curve for uniform velocity motion. The whole reference is divided into several equal phases. Each phase represents one swing-step period. 5.7 The motion relationship between the centroidal motion and the base motion on one slope.

The dash line connecting the frame origins of the CoM and the base is set to be parallel with the z 0 or z G axis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.8 This shows two adjacent strides, consisting two swing-leg steps. In the first step period, the two swing legs do not land by following the p Gbz reference, another reference (with red color) is added to enable the robot to adapt to the real-time states. The second curve recovers to the normal state on the flat terrain. . . . . . . . . . . . . . . . . . . . . . . . 5.9 In the first step period, the step period is less than the defined value. . . . . . . . . . . . 5.10 This shows the leg motion relationship for the trotting mode in the forward-backward direction as shown in (a1) and (a2), in the lateral direction as depicted in (b1) and (b2), and in the turning-in-place situations as presented in (c1) and (c2). We take the front-left (FL) and hind-right (HR) legs as the swing legs. The front-right (FR) and hind-left (HL) legs serve as the stance legs. The blue and red arrows denote the motion direction of the swing legs and stance legs respectively relative to the base. The green arrows represent the robot motion direction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.11 Snapshots of the forward trotting for 15.2m with 0.8m/s velocity. The robot squats down from the base height 0.53m to 0.5m, then accelerates from zero speed to 0.8m/s within 1s. Then the robot trots with constant speed 0.8m/s for 18s, then decelerates to zero speed using the final 1s. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.12 Four leg-CoM motions in the sagittal plane when the robot trotting forward for 80 steps.

This figure includes the acceleration and constant-speed periods.The curves inside the stable loops represent the transition period when the robot accelerates. . . . . . . . . . . . 5.13 Four leg-foot motions in the sagittal plane when the robot trotting forward for 80 steps, which corresponds to Fig. 5.24 [Left]: Snapshots of the push recovery by trotting in place with 0.5m/s as far as 6.5m.

[Right]: Push recovery when the robot trots forward with 0.5m/s. The small figure inside denotes the virtual external force profile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.25 Snapshots of trotting on rough terrain with 0.5m/s using 210 steps. . . . . . . . . . . . . 5.26 Base spatial motion tracking performance for the trotting mode on rough terrain. [Up]:

base translational motion tracking error.

[Middle]: base angular motion tracking error.

[Down]: selected desired and actual motion comparison along the whole process. . . . . . Mobile robots have fascinated the world for a long time as they show the high potential to be assistants and are helpful to humans in everyday life and to work in unstructured environment for dangerous and tedious tasks. Wheeled robots show great performance on flat geometries with high speed and less energy consumption, but they are easily stuck on rough terrains. In contrast, legged robots are not tied to discontinuous natural environments like mountain lanes or artificial paths like stairs, and they can move with agility to cope with disturbances or uncertainties. Many large projects in the world are researching these two kinds of robots to further close the performance gap between mobile robots in laboratories and in the natural environment, and serve in humankind society, industries and natural disasters. From a practical point of view, the quadruped-on-wheel robots would have more versatile locomotion modes by combining the wheeled motion and dynamic legged motion together. For mobile robots, especially for legged robots and legged-on-wheel robots, four coarse specifications: versatility, speed, efficiency and robustness, play important roles in dynamic performance interacting with the environment [Hutter 2013a]. However, the majority of today's existed robots are still quite far from this goal. In this thesis, we will initially research the system modeling, motion generation and torque control for the rolling-mode locomotion of a quadruped-on-wheel robot with active legged suspension. We also research the dynamic legged motion of a quadruped robot, which poses fundamental challenges requiring highly dynamics, versatility and compliance.

Introduction Contents

Motivations and Objectives

Wheeled vehicle is one of the most successful inventions in humans' history. It gave humankind a much faster and more convenient way to travel to destinations within time period decreased by several orders of magnitude. Few centuries later, researchers developed autonomous rovers and make them possible to explore the universe space, and execute missions in industries, agriculture, miming and defense, or may even serve as assistants at home. They provide great potential applications using high speeds, consuming low energy with high efficiency on regular, flat, slopped or continuous surfaces. However, wheeled rovers reach their limits when handling very rough terrains. Approximately half of the terrestrial land and living space on earth are inaccessible and unavailable to wheeled vehicles while natural animals and humans traverse such terrains with much ease and elegance. Therefore, the use of legged walking machines, especially legged robots enable locomotion possibility on challenging and changing environments, even without a continuous terrain road. Along the natural evolution, legs provide animals with amazing gait motion. Mountain goats have excellent rock climbing and balancing skills, horses and tigers can run quite fast with elegant gaits and through the forest with agility respectively, humans select different footholds to cross over obstacles with the size of our leg length. To overcome different surfaces, animals and humans unite various gaits with different speeds which are energetically efficient, and apply active suspension to interact with environment compliantly. Research in legged robots provides mankind possibility to build systems to assist human beings in their daily life, which can run on rough terrains and cross over rough terrain with discontinuities using highly dynamic locomotion gaits. Legged robots have the potential and numerous promising applications in dangerous areas like disaster rescue, volcano and forest exploration, as well as in construction sites, and legged robots even show superiority in the places that wheeled robots work on. However, legged robots run much slower and consume higher power than wheeled robots. In recent years, some of the legged robots are developed with versatility, speed, efficiency and robustness to some extent. However, there still remains a big gap when comparing with humans and animals, especially the developed approaches are far from the quadruped-animal locomotion principle resulting in each one of locomotion abilities requiring one specific method. Especially in the state of the art, the quadruped legs are always assumed to be massless which is unreasonable. The light legs experience much bigger acceleration than the floating base. Therefore, our motivation in this thesis is to seek a new locomotion principle for quadruped robots in this thesis. We believe that centroidal properties will enable the robot to generate the legged motion automatically on-line.

From the practical point of view, autonomous robotic vehicles and legged robots have their own strengths and limits, which gives us inspiration that they can be combined together to be a hybrid legged-on-wheel robot with both strengths. This kind of robots can adapt with rough terrains with active legged suspension, and can cross over artificial architectures. By combination of the dynamic legged and wheeled motions, the robot can achieve more types of locomotion, like rolling, walking, trotting, and even jumping. Compared with wheeled rovers and legged robots, this combination of both faces great difficulties in system modeling, motion generation and whole-body torque control. In the state of the art, most of the works assume that the legs are massless and do not take the advantage of the robot centroidal properties. In this thesis, we control the quadruped-on-wheel robot to track the centroidal motion reference and enable the robot to adapt to terrains with compatible behaviors. For example, the robot could run on terrains with much-difference altitude without specific control of the floating-base height.

In this thesis, we design two robots, including a quadruped-on-wheel robot named TowrISIR, and a quadruped robot, QuadISIR, which share the similar structure of the floating bases. Centroidal dynamics is one specific framework by controlling the robot centroidal properties to achieve a vast range of natural emergent whole-body behaviors. We integrate the centroidal momentum and dynamics models in the motion generators of the two robots to grant our robots with elegant and natural locomotion abilities. The outputs of the motion generators include the whole-body desired configuration, velocity and acceleration. Then we will use several improved whole-body torque controllers to verify these motion generators.

Although more sophisticated, the whole-body torque control enables the robot to have more natural behaviors and easier adaptations to external influences in comparison with kinematics position control. The more dynamic and versatility guarantee more robustness and efficiency of mobile robots while interacting with the changing environment. The operational-space control (OSC) is a more specific framework for controlling tasks' motion for any point on the robot. Due to high degrees of freedom (DOF), legged robots can maneuver multiple tasks at the same time by coordinating them in a reasonable way, by applying the null-space based orthogonal projections, and quadratic programming based optimization approaches to handle inequality constraints. Highly dynamics enables mobile robots to handle the interaction forces and obtain abundant desired dynamic behaviors with compliance. In this thesis, we will develop a general dynamics model which can embody the multi-level hierarchy framework and maintain a constant number of constraints. The new dynamics model will be used to synthesize several optimization based torque controllers, then we will solve how to integrate and prioritize the general impedance controllers.

So far, the system design, motion generation and torque control are rarely synthesized and integrated in one controller, especially for quadruped-robot locomotion, which limits the achievement of highly dynamics and versatility in a natural and elegant way. Famous robots in Boston dynamics fascinate the world with videos that demonstrated their abilities to perform highly dynamic tasks (e.g. running or push recovery), but no details have been published. This strongly motivates us to address these topics, especially to integrate them in a coordinated way to provide the legged robots with highly dynamics, compliance, versatility and torque controllability. The motion generation and torque control methods explored in this thesis can also be used in other four-limb robots which can reduce the gap with the natural counterparts.

State of the Art

In this section, we will overview relevant research about quadruped robots and legged-on-wheel robots with concentrate on recent achievements and research methods that have an impact on our research. In the first two Sections 1.2.1 -1.2.2, quadruped robots and legged-on-wheel robots are reviewed on design, actuation principles and applications. Then the approaches on motion generation and motion control are presented in Sections 1.2.3,1.2.4,1.2.5,1.2.6,1.2.7,1.2.8, relating to the spring loaded inverted pendulum, central pattern generation, floating-base inverse kinematics and dynamics, centroidal dynamics, operational space control, active compliance, and hierarchical quadratic programming.

State of the Art in Quadruped Robotics

The category of legged robots relating to quadrupeds fascinate robotists due to their friendly outlook and mammal structure with four limbs, which widely broadens the scope of possible applications. The structure of quadruped robots allows them to interact with environment using more types of gaits, and with human in a more safe manner. Fig. 1.1 shows the most advanced quadruped robots in the world. LS3 and BigDog [START_REF] Buehler | [END_REF][START_REF] Raibert | [END_REF]] are manufactured to be support systems which perform fascinating balance skills after being kicked on ice surface, and their actuators are driven by hydraulic systems powered by engines. Spot is a light quadruped robot, powered by electric battery, it can handle highly dynamic behaviors like trotting and running. WildCat is the world's fastest quadruped robot, and can gallop like a horse while maintaining its balance. MIT Cheetah II is a recent example that performs tasks like running and jumping, thanks to its high power source and low geared electromagnetic motors with proprioceptive force control [Wensing 2017a]. MIT Cheetah II and BigDog are equipped with four degrees of freedom (DOF) for each leg while most of other quadruped robots have three DOFs for each leg. Spot, Spotmini and WildCat use M-configuration legs, LS3 with O-configuration and the other quadruped robots apply X configuration, although there is no proof about which configuration is better. Except that BigDog use physical springs as passive compliance under its feet, the other quadruped robots in Boston Dynamics and MIT select to use active compliance to interact with frequently changing environments. However, little is published about the design details and control methods of the quadrupeds in Boston Dynamics.

Compared with Boston Dynamics, very promising research results are published along the development of hydraulic HyQ, HyQmini and HyQ2Max in IIT's Dynamic Legged System lab in terms of weight, size, and actuation principle, shown in Figure .1.2. The main contribution of HyQ series is the novel design and research of torque control for agile and versatile quadruped robots with hydraulic actuation powered by on-board battery or off-board electricity. These three robot all have legs with X configuration, and their differences lie on their robot size, actuator types (vane rotary actuator, linear cylinder) and transition mechanisms at knee joints (such as the hinge joint, four-bar linkage, crossed four-bar linkage). A comparison of these advanced hydraulic quadruped robots has been made in Tab. 1.1, in which JINPOONG [Kim 2013] and RLA-1 [START_REF] Kentaro | 1A1-I02 Development of Hydraulic Quadruped Walking Robot RL-A1(Force Controlled Hydraulic Robots (1))[END_REF] are not torque controlled. Detailed overview of design and actuation principles can be found in [Semini 2010], [START_REF] Khan | [END_REF]], [START_REF] Semini | [END_REF]], [START_REF] Hutter | [END_REF]] and 24Hz for ANYmal [Hutter 2016]. These two robots are developed in ETH Zürich Robotic Systems Lab and showed locomotion capabilities of walking and trotting. The joint modules of StarlETH are designed with three kinds of SEA (Series-Elastic Actuators) arrangements with different connection order of the motor, gear and two linear symmetrical compressed springs, while ANYmal integrates high-torque actuators, and harmonic drive gears along with rotational springs in one compact and compliant joint unit. Although the mechanical compliance in SEA-controlled robots functions as protection of impacts Italy 2015 80kg, N/A 1.30m x 0.54m x 0.92m 3 from the external forces, it additionally limits the control bandwidth required by highly dynamics and compliance. Therefore, these kinds of joint modules need careful design with bandwidth compromise. In addition, the powerful electrical-actuator based Spotmini and MIT Cheetah II [Wensing 2017a] showed highly dynamic locomotion abilities without using passive compliant components. Other legged-on-wheel robots are the combination of multi-leg robots and wheeled rovers, amongst which Sojourner [Volpe 1996], Shrimp [START_REF] Siegwart | [END_REF]], Nomad [Rollins 1998], Curiosity [START_REF] Grotzinger | [END_REF]] are articulated multibody structures to permit passive adaptation to the ground. While rovers like SRR [START_REF] Iagnemma | Control of robotic vehicles with actively articulated suspensions in rough terrain[END_REF]], Gofor [Sreenivasan 1994] and Lama [START_REF] Andrade | [END_REF]] use active suspension to prolongate their abilities on rough terrain, they can only roll on continuous ground by maintaining contacts without legged locomotion skills, which are not suitable enough for complex missions in construction sites, rocky mountains or universe space with infinite geometry possibilities. High mobility hybrid systems such as ATHLETE lunar vehicle [Hauser 2008] and Tri-ATHLETE [Heverly 2010] developed by NASA/JPL with six legs serve for lunar exploration. Multi Tasking Robot (MTR) [Bouloubasis 2007] has four "wheel-paw" assemblies allowing it to cross obstacles with 2.5 times the diameter of its wheels. WorkPartner [START_REF] Yleonen | [END_REF]] with four legs developed by Helsinki University of Technology is able to interact with humans with hybrid locomotion in daily life. MHT (Micro Hydraulic Toolkit) [Thomson 2012] is developed by Defence R&D Canada-Suffield, powered by hydraulics for unknown terrain exploration, which brings the similar control methods from Hylos robots that compute the inverse kinematics while tracking a desired floating-base posture and trajectory. These three robots are shown in Fig. 1.5(a), (b) and (c). In addition, Tab. 1.2 lists characteristics of these robots. Although inheriting both advantages of wheeled and walking systems, they are controlled by whole-body kinematics and optimize posture to keep balance.

Very promising research results come along with the design and control developments of Hylos series [Grand 2010, Grand 2016] and Complios Robot [BOUTON 2017a] developed by Institut des Systèmes Intelligents et de Robotique (ISIR) of Sorbonne Université, as shown in Fig. 1.5(d), (e) and (f). Hylos and Hylos II share similar mechanical structures: they are composed of four wheel-legs, and each wheel-leg consists of a multi-DOF series chain ended by an actuated and steerable wheel. They are capable of changing the position of its center of mass (CoM), optimizing the joint actuated torques using the robot structure redundancy and distributing the contact forces, which maximize the stability. Complios is

Legged Motion Generation

Robot motion generation deals with the methods that can create behaviors of the system. Planning, optimization, and learning is one systematic method that are used by projects in DARPA Learning Locomotion Challenge [START_REF] Kalakrishnan | [END_REF]]. However, the combination of a high precision ground modeling, extensive foothold search and motion planning is not suitable for reactive gait planning in unkown rough environment. In this section, two methods of motion generation are overviewed in terms of model accuracy, efficiency and spontaneous pattern. Inspired from nature, humans and quadruped animals choose gait patterns and footholds to propel their torso forward, react to external disturbances and cope with challenging terrain. They choose different and optimal gaits to travel at a certain speed or to ro-bustly handle unanticipated disturbances, and they show perfect energy efficiency. Biomechanists have been focusing on the fascinating locomotion principles to imitate complex whole-body dynamics motion using simplified templates which can mimic the important locomotion features of legged robots. The Linear-Inverted Pendulum (LIP) template [Winter 1995] is the most commonly used model to explain human balance and walking which captures the relationship between the ZMP and the evolution of the CoM. Although LIP has been widely used by humanoid stably walking [START_REF] Kajita | [END_REF], it has limitations relating to highly dynamic behaviors such as running. Another widely used template is the Spring Loaded Inverted Pendulum (SLIP) [Blickhan 1989] which is also a simplified model, shown in Figure 1.7. It replaces the LIP rigid body by a massless spring as an appropriate low-order model to describe the CoM dynamics and ground reaction forces of human and animal gaits with astonishing accuracy in running across a wide range of sizes and morphologies [Blickhan 1993]. In contrast to the LIP model which represents stable behaviors, SLIP captures stance and flight phases that exist during trotting and galloping, and explains some dynamic self-stable properties of locomotion found in nature. For example, during each individual step of running, the system falls forward, but it is able to catch itself using the following foot step and repeat the pattern continuously. After the robot is disturbed in the forward and lateral directions, the robot can asymptotically recover back to its normal and periodic motion. The kinetic and potential energy interchange cyclically to yield controllable and efficient locomotion. SLIP template has been used to generate single-leg hopping and quadruped trotting in MIT Leg Lab in the 1980s [Raibert 1984[START_REF] Raibert | [END_REF]] by intuitive observations [Raibert 1986] and further be applied on BigDog in Boston Dynamics. Moreover, various control strategies like dead-beat controller are developed in addition to to the passive dynamic self stabilization, to enable the disturbance rejection within short period by adjusting appropriately the leg spring stiffness or the touch-down angle [START_REF] Seyfarth | [END_REF]. It means that a constant velocity and apex height can be maintained and controllable even on extremely unknown terrain [START_REF] Ernst | [END_REF]]. Other researchers seek accurate and analytic methods to approximate the nonlinear dynamics model which is non-integrable under the gravity effect during the stance phase. Some recent available methods are developed critically for stability analysis and approximation of the legged locomotion, based on some unrealistic assumptions, e.g. the conservation of angular momentum, and they neglect the damping loss [Schwind 2000[START_REF] Geyer | [END_REF]]. [START_REF] Arslan | [END_REF]] incorporates the total gravity effect on the angular momentum to achieve good tracking performance of non-symmetric trajectories. [START_REF] Yu | [END_REF], Han 2014] adjust spring stiffness in stance phases to compensate energy waste between the current and desired apex states. [START_REF] Saranlı | [END_REF]] further takes the presence of non-symmetric steps and passive damping under the gravity effect into consideration, ensuring the approximation methods to be more realistic. [Hutter 2010, Hutter 2014] projected the robot behavior of the passive SLIP model onto the dynamic motion of an actual robot leg by utilizing an operational space controller, then different types of dynamic-gait motions are generated [Gehring 2013]. [Wensing 2014b, Wensing 2013b, Wensing 2014c] use one 3D-SLIP model to control high-speed running, steering and jumping of a humanoid by adjusting its foot-touchdown locations and CoM trajectories combined with Prioritized Task-Space Control [Wensing 2013a]. [Geyer 2006] proposed another template called the Dual Spring-Loaded Inverted Pen-dulum which is a less-studied template model for walking. Then [Liu 2015] extended it to a 3D version to achieve periodic high-speed walking gaits. [Yu 2017] unitizes two-layered Dual-SLIP to achieve stable galloping gait and applies the task-space formulation for a torque controlled quadruped robot with spine joints. A dead-beat controller based approximation mapping method [START_REF] Yu | [END_REF]] provides desired apex state as well as two CoM-trajectory references, and one prioritized multi-task controller enforces the dual-CoMs to behave the target dynamics. However, when multi-SLIP models are applied for humanoids or quadrupeds, each leg CoM cannot imitate the real mass distribution of the whole robot. In addition, when SLIP is applied for slow motion, e.g. walking, the passive template is not suitable.

Another legged motion principle is based on the central pattern generator (CPG). Inspired by human and quadruped animals, CPG can emulate the neural circuits which are found in invertebrate and vertebrate animals that can produce rhythmic patterns of neural activities (such as chewing, breathing, digesting) without any rhythmic inputs from higher control centers or sensor-based feedback signals. For example, in the locomotion system of vertebrates, the spinal CPGs serve to produce the coordinated motion patterns, and higher control centers serve to modulate these rhythmic patterns concerning the environmental conditions [Ijspeert 2008]. Recently, CPGs served as mathematical models for trajectory generation of legged robots to produce stable rhythmic motion using limit cycle patterns, and require very few control parameters that enable the locomotion modulation by integrating sensory feedback signals [Wu 2009, Barasuol 2011]. Majority of CPGs applied for trajectory generation are established in joint space [START_REF] Morimoto | [END_REF], Buchli 2007]. This method needs to map the feet trajectories with simple signals into joint space that leads to complex non-intuitive signals in joint-space CPGs which are not easily modeled by few harmonics. Furthermore, there are also coupling effects in some cases among the parameter modulations for joint-space CPGs to obtain task-space trajectory references. [Liu 2011] proposed a operational-space CPG, however, its CPG parameters are still non-intuitive and need to be mapped to the gait parameters. To this end, [START_REF] Barasuol | [END_REF]] contributed to this field with CPGinspired task-space trajectory generator, as shown in Fig. 1.8, in which all the parameters have intuitive meanings such as step height, step length and velocities, and can be adjusted to influence each foot trajectory independently. Combined with coupling matrix for trotting, walking, bounding and pacing gaits and by using the exponential functions for smooth-trajectory transitions [Righetti 2008], this CPGinspired trajectory generator adjusts its oscillator's horizontal plane to coincide with current geometry and is kinematically compliant when traversing challenging terrain without any terrain maps. Despite of its good performance for task-space pattern generation, feet trajectories cannot be easily adjusted and the CPG method is not suitable at the onset of the starting motion, during the running-mode transition and when the desired trajectories are changing all the time to deal with the unknown environment. In addition, [START_REF][END_REF]] proposed the usage of Bézier curves to generate 2D trajectory of each leg in which the step height can be controlled to do obstacle clearance, although intuitive, the motion generation is still in kinematics level. [START_REF] Park | High-speed bounding with the MIT Cheetah 2: Control design and experiments[END_REF]] and [START_REF] Park | [END_REF] apply the Bézier curves to scale the contact impulse for the stance phases in dynamics level to generate the bounding and jumping motions. However, the simplified model cannot account spatial motion, especially the spatial momentum conservation. These approaches generate the legged motion first, then the base motion is generated online which is not consistent with the quadruped-locomotion principle. Although these methods enable fast calculations and achieve several quadruped gaits, the hand designs are required and impractical to satisfy too many kinds of behaviors, e.g. standing up and climbing stairs. Therefore, a general legged locomotion generator should be developed to generate various kinds of gaits automatically.

Due to the existence of internal and external dynamics constraints, model-based optimization methods have recently been developed for legged robots to generate optimal trajectories in the receding horizon. They rely on real-time trajectory optimization to predict the outcome of possible actions and find an optimal future plan. In recent years, model based trajectory optimization (TO) is applied to generate more abundant behaviors considering the changing environment and robot-self ability limits. A MPC-based CoM trajectory re-planning has been originally implemented for bipeds in [Wieber 2006] by using simplified ZMP-based dynamics model. [Aceituno-Cabezas 2017] and [START_REF] Deits | [END_REF]] apply the Mixed-Integer convex optimization to determine gait transitions, contact locations and different types of motions which accounts for various constraints and is not limited to a pre-specified gait sequence. Authors in [START_REF] Dai | [END_REF]] and [Posa 2014] applied the Sequential Quadratic Programming (SQP) method to resolve contact constraint forces and optimize the trajectory by satisfying complementary constraints. [START_REF] Winkler | [END_REF]] uses the Interior Point method to generate different kinds of gaits and trajectories for legged robots through phase-based end-effector parameterization. However, most of the models for TO of quadruped robots are simplified by assuming massless legs which present much gap between the simplified model and the real robot. [START_REF] Mastalli | [END_REF]] computes a feasible robot-CoM trajectory by mapping the contact forces and applying a hierarchical optimization framework to handle the variant dynamics model with different contact situations. [START_REF] Mastalli | [END_REF] proposed the FDDP (Feasibility-driven Differential Dynamic Programming) algorithm which can generate the whole-body trajectories of legged robots within 0.5s. Authors in [START_REF] Melon | [END_REF] propose to combine the learning and optimization methods in which the learned initializations speed up the convergence to the optimal trajectory in a 16-step horizon. However, for predictive TO problem, due to the fact that differentiation and integration are really difficult and complex, discretization of the dynamics model is always applied to states, control inputs, contact forces, etc, which makes the optimization problem really huge. Approximated integrations and differentiations require long calculation time which is not suitable for real-time application. Therefore, the optimization based motion generators are not suitable currently for real-time motion generation until CPUs can run more 30-100 times faster.

Wheeled Motion Generation

For legged-on-wheel robots, the promising results of trajectory and posture control are along the development of the series Hylos robots in ISIR shown in Fig. 1.5. The differential kinematics model (1.1) is initially derived to get the relationship between the articular-joint parameters and the platform parameters of all wheel-legged chains by assuming the pure rolling condition [START_REF] Grand | [END_REF]], given by:

L(x, Θ, n) ẋ + J(Θ, n) Θ = 0 (1.1)
where L is the matrix relating to the base movement x T = (ρ, φ) T = (x, y, z, α, β, γ) T , J is the motion Jacobian of all wheel-legged differential kinematic chains. Θ T i = (θ T i , χ T i ) in which θ i and χ i denote the vectors of leg i joint parameters and wheel's parameters. Similar inverse kinematics methods can be found in wheeled rovers [Oriolo 2002], humanoid-on-rover robot [Giordano 2009], mobile manipulators [De Luca 2006[START_REF] Luca | [END_REF]. [START_REF] Grand | [END_REF]] used the kinematic model in (1.1) to control the generalized trajectory of the robot and treated trajectory and posture control together. A velocity based posture control algorithm calculates the joint velocities to reach desired posture by following the desired trajectory. This generic kinematic model is applied to find optimal posture of Hylos to control the CoP (the distribution of contact forces) and the tip-over stability margin that is proposed by [Papadopoulos 1996]. [START_REF] Besseron | [END_REF]] modified the posture to ensure the robot stability without the necessity to specify a posture state by using one potential field [Khatib 1986] w.r.t. to stability threshold. [Grand 2010] included non-ideal contact conditions into the kinematic model in (1.1) and derived the force transmission between contact forces, joint torques and gravity force. In addition, [Grand 2016] extended the control methodology for step obstacle crossing, Figure 1.9: Hylos Kinematic Model [Grand 2010] which optimizes the system posture and the distribution of internal forces while respecting the frictional contact constraint, by taking the advantages of the robot structure redundancy to maximize its stability. However, a whole-body dynamics model is not applied which hinders the robot to behave dynamically. The Complios robot [START_REF] Bouton | [END_REF]] is developed with both passive and actuated joints, and the active ones are driven by SEAs to react to obstacles. However, the passive joints and SEAs' low control bandwidth limit the robot dynamic motion on unknown rough terrain. Another hydraulic legged-on-wheel robot is developed in [Thomson 2012] and it has the similar control method with the Hylos robot that computes the inverse kinematics to track the desired CoM trajectory and optimizes the posture redundantly. The Momaro robot in [START_REF] Klamt | [END_REF]] shows a hybrid locomotion mode to overcome obstacles like artificial stairs using a kinematics approach. However, the robots in [START_REF] Grand | [END_REF]], [START_REF] Bouton | [END_REF]], [Thomson 2012] and [START_REF] Klamt | [END_REF]] only show static maneuvers, and the kinematics controller or the simplified dynamics model limits the dynamic behaviors. The balance stability are also ensured by considering the robot center of mass (CoM) position, the zero moment point (ZMP) [START_REF] Vukobratović | Zero-moment pointthirty five years of its life[END_REF]] and the center of pressure [START_REF] Popovic | [END_REF]]. Authors in [An 2012] and [Suzumura 2013] used the ZMP criteria to generate the robot CoM translational motion pattern to follow the ZMP reference in 2D and 3D space respectively. Then [Suzumura 2013] further generated the whole-body motion by considering the centroidal angular momentum model. The work in [Suzumura 2013] is extended by authors in [Nagano 2015] to achieve the contact kinematics in the acceleration level. However, above works always assumed that the legs are massless. This assumption is not suitable for highly dynamic motions since the robot CoM should combine all body masses and inertias which constitute the dynamics model and influence the whole-body motion generation. Recently, the centaur-like robot CENTAURO [START_REF] Kamedula | [END_REF][START_REF] Kameduła | Wheeled motion kinematics and control of a hybrid mobility CENTAURO robot[END_REF]] tracks its centroidal motion, and the kinematics for the wheel-legged motion is achieved without the leg-massless assumption. However, this work only dealt with the joint velocity and position references which only enable to use the feedback torque controller without applying the whole-body generalized dynamics model or the centroidal dynamics model. In addition, the derivative of the kinematics contact constraint cannot be ensured without a feed-forward torque controller [Sentis 2005]. Instead of applying the ZMP index with the contact-coplanar limits and other disadvantages stated in [START_REF][END_REF]], authors in [Hutter 2014][Orsolino 2018[START_REF][END_REF] show that quadruped or humanoid robots can embody feasible motions and dynamic stability due to the satisfaction of the contact constraints in the kinematics first and second orders enable. The contact constraints and the unilateral limits can be ensured by applying an optimization based torque controller which can also handle the friction cone. This kind of torque controller can also be used for quadruped-on-wheel robots which is neglected in the state of the art.

Inverse Dynamics & Operational Space Control

The dynamics model of a complex system presents the relationship between the robot motion and the generalized forces that act on the robot, which considers parameters such as body lengths, masses and inertias [Sciavicco 2014]. For operational space tasks such as locomotion gaits and posture, in contrast with the inverse kinematics control method, dynamics control enables much more elaborated control concepts and can achieve far more natural elegant behaviors, especially when robots are required to operate and interact with humans in a dexterous and safe way. In addition, inverse dynamics control enables more compliant interaction properties and can also ensure good tracking performance to desired motion references. Fig. 1.10 illustrates the 6 virtual degrees of freedom attached from inertial frame to the floating base so that whole system is hence underactuated when there are fewer contact constraints than floating-base DOFs [Righetti 2011b]. The solutions of the model based dynamics can be divided in the joint space and operational space. The former formulation is the classical approach which generates the necessary joint torques to achieve a desired movement in joint space that functions as a feed-forward command. In addition, an error based feedback command also in joint space, through active compliance controller with virtual low gains, can be added to handle movement derivation inducing from the model uncertainty, poor parameter estimation, or other external disturbances. However, in order to control the whole-body behavior of robots with high DOFs in an intuitive way, researchers concentrate on the most important aspects of an element in the robot, and then describe their desired dynamics in the operational space. One of the most widely used approach in operational space is developed by [Khatib 1987], in which the operational space controller is used to compute the necessary generalized forces to achieve desired trajectories generated for task end-effectors. [Khatib 2004b, Sentis 2005] synthesized the robot whole-body behaviors simultaneously by proposing a more specific control frame in the operational space for high-DOFs legged robots with prioritization of tasks using dynamically-consistent null-space projections. They designed a control hierarchy among multiple behavioral primitives with three levels: constraints (such as contacts, joint limits, collisions avoidance, balance control), operational tasks (manipulation and locomotion) and postures (residual motion). These tasks are treated as independent control entities. This approach integrates the contact constraints in the control frame with highest priority and projects the operational tasks into its constraint null-space. Then the posture motion should control the residual movement redundancy without violating the higher tasks [Sentis 2007]. This approach is appealing since it provides a method to monitor multi-behaviors and accomplish them feasibly at runtime. By defining the task priorities, the high-priority tasks are ensured to execute accurately and the less important ones are only excuted as well as possible, without conflicting the high-priority tasks. [START_REF] Park | [END_REF]] further enables the operational space dynamics control by combining contact condition into the formulation, and enables the required torque for all tasks to be consistent with the contact constraints both in the velocity and acceleration levels. [START_REF] Sentis | [END_REF]] later extended this work for control of internal forces, and the unified control of multicontact constraints, centroidal motion maneuvers, operational tasks, postures. [Hutter 2013b] brought these control methods to simulate a quadruped robot on challenging terrain. These approaches can be extended to operate more compliant tasks by adding error based feedback controllers [START_REF] Dietrich | [END_REF]]. Furthermore, [START_REF] Mistry | [END_REF]] proposed to apply orthogonal decompositions and projections to resolve the inverse dynamics of legged robots and address the estimation of contact forces. This method avoids the inversion of the mass matrix and gains robustness against model uncertainty. Although the resolution formulations relating to the contact-consistent prioritized control framework are different, it has been demonstrated that they are in fact equivalent, and they produce the same control commands to the same desired accelerations [Righetti 2011b]. Authors in [Righetti 2011a[START_REF] Righetti | [END_REF] propose to distribute the contact forces in three directions, and the generated torque command allows to minimize tangential contact forces inside the frictional boundaries while guaranteeing the tracking performance of the motion references. However, the analytic solutions are not suitable to handle inequality constraints, such as joint limits, friction cones, obstacle avoidances. The optimization based solutions are detailed in Section 1.2.7.

There are two main formulations to compute the robot dynamic model, including the Lagrange method and the Newton-Euler formulation. The Lagrange approach derives the equations of motion in a systematic way which is independent of the reference coordinate frames without calculating internal forces between elements forming the structure [Sciavicco 2014]. Although Lagrange formulation is conceptually systematic and relatively simple, it is computationally expensive and not suitable for complex system with high DOFs. The Newton-Euler approach provides a more efficient way by exploiting the open structure of one kinematic chain, which directly uses the Newton's and Euler's equations for each body in the chain. This method is especially preferable for the development of efficient recursive algorithms for dynamics-model computations in the joint space, including the recursive Newton-Euler algorithm (RNEA) for the inverse dynamics model [START_REF] Luh | [END_REF]], the articulated-body algorithm (ABA) for the forward dynamics [Featherstone 1983], the composite-rigid-body algorithm (CRBA) for calculating jointspace mass matrix [Walker 1982], the projected Newton-Euler algorithm (proNEu) [Hutter 2013a], and their modified versions for robots with floating bases [Featherstone 2014]. To calculate the dynamics in the operational space, many efforts have been concentrated on the efficient computations of the operational-space inertial matrices, and the dynamically consistent pseudo-inverse of Jacobians and bias forces [Wensing 2012[START_REF] Wensing | [END_REF]].

Centroidal Dynamics

As a natural behavior, humans and animals apply whole-body motion to keep balance. [START_REF] Herr | [END_REF] showed the human neuron-control systems coordinated inter-segmental momentum cancellations, and their centroidal angular momentum are close to zero. This coordination strategy in human subjects has appealed the robotics researchers to pursue its possible applicability to robots, in which the effective total mass of the whole system occupies an important place in the robot dynamics. It is also the uniquely important point in robot's dynamics where the robot's aggregate translational momentum and angular momentum are naturally defined and the resultant gravity forces acts on, so that the control of the angular momentum will lead to natural whole-body behaviors for postural balance [START_REF] Goswami | [END_REF], Lee 2012]. All external forces on the robot, gravity force and interaction force/moment (such as contact forces of feet or torso with the environment) can be projected on this point, and the rate of change of linear and angular momentums at the CoM is equivalent to resultant effect of all external forces [Featherstone 2014], as shown in Fig. 1.11. The robot centroidal momentum sums each individual link momentum expressed at the robot CoM by using spatial notations [START_REF][END_REF]]. The centroidal dynamics is the derivative of the centroidal momentum [START_REF][END_REF]], which is further extended by a coordinate transformation that achieves a decoupled equation structure of a robot motion with a floating base [Garofalo 2015].

Control of the robot CoM point is also one example of the operational space control [Khatib 1987], which has been used on floating-base robots to minimize the centroidal angular momentum. Most of the applications using centroidal dynamics are on humanoid robots by combining other approaches. [Ugurlu 2010] implemented the Eulerian ZMP Resolution method to generate the bipedal walking pattern by including an intrinsic angular momentum model. [START_REF] Ott | [END_REF]] regulated the CoM position and the base orientation of a humanoid robot to recover posture by computing a desired wrench from external perturbation, which is based on the contact-force optimization. [Pucci 2016] proposed turn the gain automatically in the momentum based balance controller. [START_REF] Nava | [END_REF]] avoided the zero-dynamics instability by modifying the closed-loop momentum-based controller structure, to allow the asymptotic stability and is shown by Lyapunov analysis on the linearized system's joint space. [START_REF] Dafarra | [END_REF]] implemented a con-Figure 1.11: Centroidal Dynamics [START_REF][END_REF] trol strategy based on the Capture Point concept and applied one momentum-based torque controller to generate motion references to provide the iCub robot with push-recovery and reaction abilities to external disturbances. [START_REF] Traversaro | [END_REF]] extended the concept of centroidal dynamics by investigating the role of the base frame in free-floating mechanical systems, and showed how it can be exploited to unify the centroidal dynamics and the equations of motion expressed in the base frame. [START_REF] Herzog | [END_REF][START_REF] Herzog | [END_REF] apply one hierarchical torque control framework to solve the multi-task inverse dynamics with inequality constraints, and use a simple linear quadratic regulator (LQR) to compute a linear optimal feedback for momentum control. Moreover, [Wensing 2013b, Wensing 2013a, Wensing 2014b] generate dynamic running, steering, jumping based on one 3D SLIP template through task-space control with conic optimization. [START_REF] Mason | Full dynamics LQR control of a humanoid robot: An experimental study on balancing and squatting[END_REF]] proposed an experimental evaluation of one LQR approach using a linearizion of the full robot dynamics together with the contact constraints. [START_REF] Koolen | [END_REF]] used the momentum-based control on a humanoid robot, Atlas, by applying quadratic programming with constraints from joint accelerations, unilateral ground contacts and grasp-force limits. In addition, this method was extended to quadruped robots. [START_REF] Mastalli | [END_REF]] applied the centroidal dynamics model to compute a robot-feasible CoM trajectory by mapping the contact forces. [START_REF] Ugurlu | [END_REF]] used one virtual admittance control of the rate of change of angular momentum to keep postural balance. However, the applications on leggedon-wheel robots are neglected in the robotics field, and the robot centroidal properties can be added to achieve more autonomous motions. To control the centroidal momentum for whole-body balance in an efficient way, recursive algorithms for centroidal momentum matrix and its derivative are developed in [START_REF][END_REF]]. [Wensing 2016] simplified the derivations from the joint-space mass matrix, Coriolis and Centripedal force, which are applied to perform kicking motion by generating the emergent humanoid upper-body motion under the active control of the robot centroidal angular momentum.

Optimization based Torque Control

Different with the pseudo-inverse dynamics approach, researchers use optimization techniques to solve the actuated-joint torque which can maneuver more general constraints with inequality and equality forms. This method can be built in the joint-coordinated space or the operational space. The most popular approaches use Quadratic Programming (QP) when there are inequalities such as friction cones, force unidirectionality, joint limits or other constraints, which can be given as follows,

max ν ë * -ë 2 N s.t. Aν + β= 0 Dν + γ≥ 0 (1.2)
where ν is the control variable, A and β are matrices which define the suitable equality constraints given by the dynamics model and kinematic non-holonomic contact constraints like ẍc = J c q + Jc q = 0. D and γ are matrices that define inequality limits, such as the friction limits. The optimization variable ν can contain the generalized torques, the joints' accelerations and the contact forces.

Two QP control schemes can both handle several tasks and constraints simultaneously, including the weight based scheme and the strict hierarchical scheme. The weight-based schemes proposed by [START_REF] Bouyarmane | [END_REF], Salini 2011] combine the tasks in one QP scheme by distributing weights to each task to achieve whole-body motion control. However, the weighted tasks in this scheme may be in conflict with each other when the robot redundancy is not enough, resulting that no task can be completely fulfilled but achieved with a compromise [Ponce 2014]. Another popularly used solution is based on the hierarchical control schemes which apply several hierarchies to divide the multiple tasks, ensuring that lower-priority hierarchical tasks cannot interfere with high-priority hierarchical ones. In this way, the top-priority hierarchical task is solved firstly and serves as the constraint for the next-following priority task, until the lowest hierarchy task, which means that the multi-hierarchies are treated recursively [Kanoun 2011]. [START_REF] Saab | Dynamic whole-body motion generation under rigid contacts and other unilateral constraints[END_REF][START_REF] Escande | [END_REF] proposed the Hierarchical Quadratic Program (HQP) solver that improves the traditional cascade of QPs to handle the equality and inequality constraints at any hierarchy of the cascade QPs. These control frames with a slack of QPs have been applied on a real torque-actuated humanoid robot (the biped part of the Sarcos Humanoid) [Herzog 2013[START_REF] Herzog | [END_REF] accounting for multiple constraints and tasks by efficient algorithms that consider constraints recursively. [START_REF] Righetti | [END_REF][START_REF] Righetti | [END_REF]] minimized any combination of linear and quadratic costs by developing an inverse-dynamics-based torque controller for robots with floating bases, which also respect contact constraints to track each task motion reference. [Ponce 2014] generated sitting, walking, climbing, yoga motions on rough terrain by applying Stack of Tasks (SoT) and HQP that enables to change the task number at any control loop. A prioritization scheme is proposed in [Wensing 2014a, Wensing 2013a] which is based on a conic optimization to control the humanoid centroidal angular momentum to generate movements like kicking and jumping motions. [Hutter 2013a, Hutter 2014] proposed to use the least square optimization to resolve operational-space tasks at multiple operational-space end-effectors by combining the inverse dynamics based prioritized kinematic projections in a hierarchical torque control framework, including the control of the CoG motion, base postures, end-effector positioning, joint-torque and contact-force optimization. [START_REF] Mastalli | [END_REF], Focchi 2017] applied HQP on the quadruped robot HyQ to achieve the contact-force optimization and the centroidal trajectory optimization with no-slipping constraints. [Hopkins 2015b, Hopkins 2015a] demonstrated push recovery and compliant walking of a bipped robot THOR, by using efficient QP to compute optimal joint torques by combining the centroidal dynamics model, frictional contact constraints and joint limits. [START_REF] Koolen | [END_REF]] presented a momentum-based framework for the humanoid robot Atlas, which lies on a quadratic program to reconcile the joint position/velocity/torque limits, unilateral ground contact constraints and grasp-force limits. The optimization based whole-body control has substantially emerged during the DRC competition [START_REF] Kuindersma | [END_REF]] which resulted in a collection of optimization algorithms based on quadratic programming for dynamic planning, control, state estimation for a humanoid robot Atlas to operate reliably from footstep placement to whole-body behaviors, such as the active set based QP [Kuindersma 2014], mixed-integer convex optimization [START_REF] Deits | [END_REF]], two-stage optimization control [Feng 2016], sparse nonlinear optimization [START_REF] Dai | [END_REF]]. Pseudo inverses are integrated in HQP to optimize hybrid tasks relating to motion and force for a quadruped robot [START_REF] Bellicoso | [END_REF]] in which the cascade of QPs embody fewer equality constraints. Moreover, [START_REF] Herzog | [END_REF]] proposed to avoid equality constraints which are generated between hierarchies, by using null-space projectors in the cost function and inequality constraints. Authors in [START_REF] Dietrich | [END_REF]] dealt with safety as the primary priority and enabled the robot to react to various constraints, including contact situation, collision avoidance, self-collision avoidance, feet and torso locomotion tracking, singularity avoidance, torso posture control and mechanical end stops. In addition, the constraint-based Linear Quadratic Regulator (LQR) can also be integrated in quadratic programming to optimize whole-body behaviors around key postures [Yamane 2012[START_REF] Mason | Full dynamics LQR control of a humanoid robot: An experimental study on balancing and squatting[END_REF], Mason 2016[START_REF] Herzog | [END_REF][START_REF] Kuindersma | [END_REF]]. However, the number of the constraints in developed HQPs increases as the hierarchy index increases, due to that the generalized dynamics model itself cannot embody the multi-hierarchy structure and the extra more and more constraints are added to ensure task hierarchy. Moreover, [De Lasa 2010] combined prioritized and weighting-based schemes together to treat hybrid optimization of hierarchical tasks and distributed weights to sub-tasks in the hierarchy using the weighted scheme. The existed hybrid control schemes also present the issues in the pure weighted scheme and the pure hierarchical scheme.

Multi-Task Active Compliance

Naturally, animals adapt their leg muscle stiffness for controlling their compliance to adapt their motion to changing terrains [START_REF] Hoyt | [END_REF]]. it will be a big step to close the gap between legged robots and their counterparts by imitating this adaptive capability. When robots operate in unstructured environments and the knowledge of the environment is imprecise, contacts may occur between the robot and the ground, obstacle avoidance is necessary or self-collision possibilities exist. Thus, some kind of interaction control is required essentially to comply with forces [Boaventura 2013a, Focchi 2013]. Compliance in a robotic system can be achieved by passive compliance and active compliance. Passive compliance is achieved using physical springs and dampers between the robot and ground surface to control the interaction forces. However, physical components fix the stiffness and damping, which cannot adapt to the changing environment due to their low frequency of response. Physical components cannot be placed anywhere on the robot, especially for operational-space tasks. In contrast, active compliance uses virtual springs and dampers whose stiffness and damping can be controlled with flexibility to adapt to the geometry with different surface properties. Virtual components can be placed anywhere on the robot, which represents a big improvement of the versatility and safety performance. High-bandwidth impedance control ensures the tracking compliance and outputs sufficiently fast to respond to the impact forces with the environment. Active control method is a good way to emulate virtual compliance both at the joints and operational tasks. With the development of computing capabilities and actuation bandwidth, active compliance can be performed feasibly for highly dynamic applications [Boaventura 2012]. [Boaventura 2013b] performed an experimental study and compare the active and passive compliance, and shows that systems with active impedance can emulate the passive elements in the dynamic range required for the robot locomotion and interaction in the environment, without relevant difference. There are many active compliance-control methods to control the interaction forces, including the impedance control and admittance control [Hogan 1984], hybrid position/force control [START_REF] Raibert | [END_REF]], virtual model control [Pratt 2001], operational space control [Khatib 1987], artificial repulsion potential fields [Khatib 2004a]. An overview of different force control schemes can be found in [START_REF] Fernández | [END_REF]]. The classical force control and hybrid position/force control directly regulate contact forces to desired references [START_REF] Raibert | [END_REF]]. However, desired force references are not easy to be achieved. Virtual model control is an intuitive approach to control robot locomotion behaviors, which regards only the relative elements of the robot to obtain the low-dimension Jacobian, without using inverse dynamics. Virtual components can be placed such as between the hip center and foot tip, and virtual forces can be mapped back to legs' torques by the transpose of the Jacobian. This enables to bring SLIP approach to robot dynamics. It can also be used between the floating base and the environment, and these virtual forces and moments can be mapped back to joints as feed-forward torques of the actuators [START_REF] Winkler | [END_REF]]. Figure 1.12: Cascade Impedance Controller [Semini 2016] The impedance control belongs to the family of indirect force control method, and a proper disturbance response can be designed when a deviation motion occurs. It highlights that two physical systems must be physically complementary with each other during dynamic interactions, if one system is an impedance, the other must be an admittance, and vice versa [START_REF] Si Part | Impedance control: An approach to manipulation[END_REF]]. [Albu-Schaffer 2002, Ott 2010] give an overview of different impedance control architectures, including impedance controller (stiffness controller) and admittance controller. They both use a single and common control law to manage simultaneously both force and position by specifying a dynamic relationship (mechanical impedance) between them. Impedance controller measures the deviation of positions and outputs forces, while admittance controller measures the deviation of forces and output positions. Virtual components like stiffness and damping are added between the function points and the environment, which have flexibility to be controlled and adjusted in software depending on environment properties. The dynamic characteristics can be defined at joint space, or any point of the robot in the operational space with the requirement that a kinematic transformation exists between this point and the actuated joint variables, such as the robot end-effectors or the robot center of mass (CoM) [Ott 2008]. Impedance control has been widely used for human-exoskeletons for rehabilitation treatment [START_REF] Lubecki | [END_REF], Bingquan 2014, Van Dijk 2015[START_REF] Jinfu | Assistive Device for Lower Extremity Gait Training and Assistance[END_REF], Gong 2016, Caputo 2015]. It provides the assistive torque to human subjects according to the synchronous gait reference. Different level of assistance can be obtained flexibly by providing different virtual impedance. It refers to the human-in-charge mode when the impedance is set to be zero, then the robot will follow the human motion and minimize the interaction force between them. It refers to the robot-in-charge mode when the impedance is configured to be high, the robot moves like in the position control mode and tracks the trajectory reference. The robot behaves in assistive mode when the impedance is set to be low, assistive forces are generated to supply as much interaction force as the human needs to fulfill the training tasks and the maintenance of a normal stepping motion [Riener 2005[START_REF] Veneman | [END_REF][START_REF] Banala | [END_REF][START_REF] Ekkelenkamp | LOPES: Selective control of gait functions during the gait rehabilitation of CVA patients[END_REF], Duschau-Wicke 2010[START_REF] Cao | [END_REF]]. Impedance control is also widely applied in legged robots to interact compliantly with the environment especially for locomotion and grasping functions, including humanoid robots DLR Lightweight Robots [START_REF] Albu-Schäffer | [END_REF][START_REF] Ott | [END_REF], THOR [Hopkins 2015a], CoMan [Dallali 2011], WALK-MAN [START_REF] Tsagarakis | [END_REF]], Justin [Dietrich 2016], TORO [START_REF] Englsberger | [END_REF]] and quadruped robots Little dog [Buchli 2009], HyQ [START_REF] Boaventura | [END_REF][START_REF] Focchi | [END_REF] with impedance control for hydraulic actuators and electrical motors, HyQ2Max [START_REF] Semini | [END_REF]], StarlETH [START_REF] Hutter | [END_REF]], ANYmal [Hutter 2016], MIT cheetah robot [Seok 2013]. These robots employ the similar cascade impedance control frameword, shown in Fig. 1.12. The inner loop is a torque controller like PID and the outer loop is composed by a feedforward controller (such as inverse dynamics control) and a feedback controller (impedance control). Another reactive compliant control strategy is to integrate artificial repulsion potential fields in impedance control [Khatib 1986, Khatib 2004b], which can be applied to perform multiple tasks simultaneously in a pseudo-inverse whole-body control framework [Sentis 2005], or hierarchical QP based torque solvers [START_REF] Escande | [END_REF], Ponce 2014]. The approach in [Dietrich 2011a] deals with safety as the primary priority and allows the robot to react to constraints in unpredictable, non-modeled dynamics and environments (including collision avoidance, self-collision avoidance, Cartesian impedance at the robot feet and torso, singularity avoidance, torso posture control, mechanical end stops), whose priorities follow intuitive rules from high to low are safety, physical constraints, task execution, and posture adjustment [START_REF] Dietrich | [END_REF]][Dietrich 2011b]. However so far, multi-task active compliance has not been integrated into prioritized operational-space control scheme when various impedance controllers are defined. In the state of the art, for each task reference, the specific feedback impedance controller can be added to enable the compliance on the specific task. However, the general impedance controllers which indirectly influence the whole-body motions are not prioritized and influence all designed tasks together. In this thesis, this problem is tackled by designing a whole-body torque control strategies to manage multi tasks with compliance and priorities.

Approach and Contribution

behaviors in unknown environment.

Generally, the approaches used in this thesis relate to spatial vectors, whole-body kinematics, operational space control, null-space projections, hierarchical torque control, generalized and centroidal dynamics, active impedance control, convex optimization. These techniques already exist in the state of the art. Some of them are improved and we propose new concepts to achieve the dynamic rolling locomotion for TowrISIR and the legged trotting locomotion for QuadISIR. Especially, we take advantages of the centroidal properties of the two robots and propose new motion generators. Then we improve active compliance technique and four kinds of torque controllers which are used to verify the motion generators.

Contributed Torque Control:

For the torque control, we propose the prioritized impedance controller and integrate this strategy into four improved hierarchical torque control methods. In the pseudo-inverse dynamics approach, the generalized dynamics model is modified to integrate our prioritized impedance controller, which result in a multi-task torque control naturally with the hierarchical compliance. In the null-space weighted convex optimization method, the modified dynamics model is used to achieve the task acceleration extraction. In this way, the prioritized impedance controller is integrated. Compared with conventional weighted QP, the null-space based weighted scheme enables the impedance controllers to be decoupled to the specific designed sub-tasks, especially for impedance controllers which indirectly influence the designed tasks. In addition, for the torque controller based on the hierarchical convex optimization, we propose a new dynamics model to incorporate our prioritized impedance controller. To be emphasized, the new dynamics model embodies the multi-level control hierarchy, the hierarchical task reference is extracted from this model which enables various impedance controllers to be integrated compatibly with priorities. The inequality constraints are modified to be compatible with the optimization solver by extracting the quadratic forms of the contact force and the joint acceleration from our new dynamics model. Then we use our proposed model to integrate the prioritized impedance controller into a more complex scenario which combines the hierarchical and the null-space based weighted schemes together. The modified or new dynamics model enable the achievement of the more general and complete hierarchical optimization solvers, both for the task acceleration extraction and the same number of constraints. In the physical simulations, we test the pseudo-inverse dynamics and the optimization based techniques. The results show that the control schemes with the prioritized impedance controller enable our robot to handle complex missions efficiently and compliantly. These results can also be referred in our published papers [Du 2020a, Du 2020f] and one submitted paper [Du 2020d](Under Review).

Model based Wheeled Locomotion:

For the rolling-mode locomotion, we propose two motion generators for a quadruped-on-wheel robot, TowrISIR, including one wheel-motion generator and one new whole-body motion generator which both track the centroidal motion using the robot rolling-mode locomotion. The whole-body inverse kinematics model is decomposed into components relating to the base motion, the legged motion and the wheel motion. In wheel motion generator, we assume that the desired legged suspension is already achieved, and the wheel motion is derived by combining the centroidal momentum & dynamics model and the wholebody kinematics model. In the second whole-body motion generator, the desired legged suspension can be generated on-line. The centroidal motion relative to the base frame along z b direction is controlled using a proposed altitude control model to enable the robot to run on terrains with a much-difference altitude. Then the whole-body motion generator is established by combining the whole-body inverse kinematics model, the wheel-center motion model, the altitude control model and the centroidal momentum/dynamics model. By using our prioritized impedance controller based torque controller in Chapter 3, the contact constraints are ensured and our robot is successfully driven to track the centroidal motion reference and behave compatibly on various simulated rough terrains, which validates the adaptivity and effectiveness of our two motion generators. The wheel motion generator was published in the paper [Du 2020e] and the whole-body motion generator was submitted [Du 2020c](Under Review).

Model based Legged Locomotion:

Thesis Outline

For the legged locomotion, we proposes a new legged locomotion principle and a legged motion generator for a quadruped robot, QuadISIR. The robot leg is newly designed with parallel mechanisms to enable the robot with more symmetric mass distribution and dynamics properties and the generalized dynamics model is built. Then the centroidal momentum and dynamics models are established using each leg centroidal motion instead of each leg-body motion, and each leg centroidal properties are derived. The motion generator is proposed which is much closer to real quadruped locomotion principle. The stance legs follow the base motion using contact-constraint consistent torque controller. The swing legs compensate the influences from the stance legs to the centroidal motion. The desired legged position, velocity and acceleration are achieved using the mass distribution model, the modified centroidal momentum and dynamics models, as well as the kinematics contact constraints. By combining the whole-body kinematics model and the kinematics constraints relating to the contact constraints and the parallel mechanism, our new locomotion principle and generator enable the robot to trot and walk without pre-defined legged-motion trajectories. We also propose a new state machine for switching the locomotion gaits between walking and trotting. This state machine also serves the torque controller which determines the dimension of the legged control states and the contact Jacobian. Therefore, our new locomotion principle integrates the system design, motion generation and torque control together which synthesizes several locomotion gaits using only one control framework. The validation is performed through advanced numerical simulations using our quadruped robot, QuadISIR. This work has been submitted on International Journal of Robotics Research [Du 2020b](Under Review).

Thesis Outline

This thesis contains four main chapters (except the presented introduction in this chapter and the conclusion in Chapter 6), namely: Chapter 2: System modeling, Chapter 3: Prioritized impedance force based hierarchical torque control, Chapter 4: Model-based wheeled locomotion, and Chapter 5: Modelbased legged locomotion. The quadruped-on-wheel robot TowrISIR is employed in Chapter 2, 3, 4. The quadruped robot QuadISIR is applied in Chapter 5. The outline of the main contents are showed as follows:

• The introduction is followed by Chapter 2 in which we describe the system-modeling. Initially, the kinematics and dynamics models are established for the quadruped-on-wheel robot, TowrISIR. We use this robot to review the modeling approaches in this thesis, including the tools used to build the whole-body kinematics model and the generalized dynamics model, spatial vectors, operational space control, centroidal dynamics, null-space based prioritized control, contact-constraint based hierarchical control. In this chapter, the inverse kinematics model of TowrISIR is decomposed into components relating to the base motion, as well as the legged and wheeled motions, which will be applied in the wheel motion generator in Chapter 4. In addition, we derive the centroidal dynamics model in a more apparent way, and propose a set of more compact formulas for multi-task operational-space torque control that can extract one prioritized task acceleration in a recursive way. This chapter serves as the basis for the following three chapters which constitute our main contributions.

• In Chapter 3, we improve four kinds of torque controllers, including a pseudo-inverse based dynamics method and three improved optimization-based techniques: a null-space based weighted optimization solver, a hierarchical optimization solver, and a hybrid hierarchical-weighted solver. We also propose one concept called prioritized impedance controller, which enables various impedance control forces to be consistent and compatible with multi-task hierarchies. We propose a modified model for the first two torque controllers, and a new dynamics model which embodies the multilevel control hierarchy to improve the latter two torque controllers to be more general and complete hierarchical optimization solvers, both for the task acceleration extraction and the same number of constraints. We implement these control schemes on our virtual quadruped-on-wheel robot to test the usefulness and validity of our approaches.

• In Chapter 4, we focus on the rolling mode and two model based motion generators are proposed which take advantages of the centroidal properties. In the first wheel motion generator, the desired legged motion is assumed to be known, and the desired wheel motion is achieved by combining the whole-body kinematics model at the velocity and acceleration levels, with the centroidal momentum & dynamics models. In the second whole-body motion generator, the desired legged and wheel motions are obtained by combining both the kinematics model, the wheel-center motion model, the robot centroidal momentum and dynamics models, and a proposed altitude control model. The two motion generators enable the robot to run on various terrains, especially on terrains with much altitude difference by the whole-body motion generator. They are verified by the proposed torque controller in Chapter 3 using several numerical simulations.

• In Chapter 5, the quadruped robot, QuadISIR is used and the main contribution concentrates on a novel locomotion principle and a new legged motion generator, without leg-massless assumption or pre-defined leg trajectory. Our quadruped robot is newly designed with symmetric dynamics properties using parallelogram mechanisms, and the corresponding generalized dynamics model is built. Then the centroidal properties of the whole robot and each leg are further extended and analyzed, in which the virtual joint between the base and each leg CoM is used. By combining the whole-body kinematics model and the kinematics constraints relating to the contacts and the parallelogram mechanisms, the adaptive swing-leg motion is achieved online during the running process. We also propose a new state machine for switching the locomotion gaits, which also serves the torque controller which determines the dimension of the legged control states and the contact Jacobian. We apply our hierarchical torque controller to enable the robot with compliant dynamics properties by respecting the kinematics constraints of the non-slip contacts and the parallelogram mechanisms. The robot is simulated to trot in forward and lateral directions, turn, handle pushrecovery motion, as well as trot on relatively rough terrains.

• The Chapter 6 closes the thesis with conclusions and future perspectives.

• Two appendixes are shown by following the conclusion chapter, including the Appendix A: Robot Description, Appendix B: Simulation Environment. In this chapter, we will build the dynamics model for the quadruped-on-wheel robot, TowrISIR. It belongs to the class of floating-base systems, its torso is not rigidly connected with the environment and the whole system can move freely in space using the ground as support. This kind of robot unifies strengths of legged robots and wheeled rovers and can possess more locomotion gaits, but meanwhile proposing higher DOFs and control difficulties. This system has an underactuated floating base and can be propelled forward with wheel rolling, dynamic legged locomotion by changing contact points, or combination of hybrid locomotion modes. The system model of TowrISIR in this chapter is also used in the following two chapters using the rolling mode, and the approaches will also be applied in Chapter 5 for another quadruped robot with parallelogram mechanisms to verify the dynamic legged locomotion. The hybrid rolling-walking, rolling-trotting modes will be researched in the future work.

This chapter provides the theoretical background to model the kinematics and dynamics of the multi-body system. First, we review the spatial vectors [Featherstone 2014] which are used to build the inverse kinematics and dynamics model of TowrISIR. The inverse kinematics model is decomposed into components relating to the base motion, the legged and wheeled motions, which serve as basis in the wheel motion generation in following chapters. Then we derive the centroidal dynamics model in another way which is different with that in the state of the art. Secondly, we review the operational space control (OSC) and introduce three kinds of projections relating to the contact constraints [Khatib 1987, Sentis 2007]. Finally, the formulations of the contact-consistent prioritized OSC are introduced which are further rewritten in a more compact recursive way.

Floating-base Multi-Body Dynamics of TowrISIR

"TowrISIR" is a new quadruped-on-wheel robot that is designed in ISIR laboratory (see Fig. 2.1), equipped with 12 leg-revolute joints and 4 wheels. The robot mass is about 100kg with length ≈ 1.06m, width ≈ 0.55m and normal height ≈ 0.8m. The leg mass is about 8.6kg and the length parameters are shown in Fig. 2.2. We select the same hydraulic actuators with HyQ2Max [START_REF] Semini | [END_REF]] and the power is enough for our robot to handle our designed missions in next two chapters. Compared Figure 2.1: "TowrISIR"-A quadruped-on-wheel robot developed in ISIR lab is equipped with 12 hydraulic actuators and 4 wheel motors. Each leg has 4 joints, including the hip abduction/adduction joint (HAA), the hip flexion/extension joint (HFE), the knee flexion/extension joint (KFE) and the wheel forward/backward joint (WFB). The joints with hydraulic actuators apply the similar structure with the robot HyQ2Max [START_REF] Semini | [END_REF]] which has different leg layout and no wheels. Each joint is integrated with the force/torque sensor and the absolute/incremental encoder.

with conventional quadruped robots, the four wheel joints induce more complexity into the kinematics and dynamics models, which will be detailed in this chapter. In addition, we derive the whole-body dynamics model without any leg massless assumptions. The whole-body inverse kinematics model is derived as the basis for the whole-body motion generator in other chapters. We concentrate on the rolling mode and all wheels are always maintained in contact with the ground. In this chapter, spatial vectors [Featherstone 2014] are used and written in upright bold letters, and conventional 3D vectors are written in italic bold letters. For the vectors and matrices in this chapter, the subscript i ∈ [1, • • • , 4] always denotes the body/joint index, and the i index in the subscript r i , k i , c i and w i denotes the leg index.

In this section, we derive the inverse kinematics, contact-point estimation and generalized dynamics model after the review of the spatial vectors. Then the centroidal momentum/dynamics model is derived in a more apparent way, different with the derivation process in [START_REF][END_REF], Wensing 2016].

Mechanism Structure & Spatial Notations

The robot and mechanism design are based on requirements that multiple kinds of locomotion gaits can be achieved. For each leg of quadrupedal robot, three degrees of freedom (DOF) are necessary at least that allow the forward, lateral and vertical movements which are essential for versatility. Under each foot, one wheel is connected to the lower leg which adds the rolling mode to the whole system. Due to the outstanding steering ability of the quadrupedal robot, each wheel module has only one DOF which eliminates the steering revolute joint at each wheel. The whole kinematic structure of this robot is shown in Fig. 2.2 with 16 DOFs. Namely, each leg contains three revolute joints and one wheel joint, namely hip abduction/adduction joint (HAA), hip flexion/extension joint (HEF), knee flexion/extension joint (KFE) and wheel forward/backward joint (WFB). The torso is treated as the floating base which has one 6-DOF unactuated joint respecting to the inertial frame. Compared with conventional quadruped-on-wheel robots such as Hylos and Hylos II, legs' configuration in TowrISIR is changed from "O"-configuration to "M"-configuration, one hip abduction/adduction joint replaces the wheel steering revolute joint, which decreases the mass of each end-effector and reduces the torque burden at hip and knee joints. From the robot structure in Fig. 2.1 and its mechanism in Fig. 2.2, the joint configuration is defined as follows, ri q wi ] T ∈ R 4 represents the leg i joint configuration, including three leg-revolute joints as q ri ∈ R 3 and one wheel joint as q wi . We define another two vectors to include each q ri and q wi separately as follows,

q = x T b q T g T = x T b q T g1 q T g2 q T g3 q T g4 T ∈ R n b +4n l =n , (2.1)
q r = q T r1 q T r2 q T r3 q T r4 T ∈ R nr=12 , ( 2.2a
)

q w = q w1 q w2 q w3 q w4 T ∈ R nw=4 , ( 2.2b)
where q r include all the leg-revolute joints except for the wheels, and q w denotes all wheel-joint configurations.

TowrISIR consists of N B = 17 bodies. The ground with the inertial frame is fixed as body 0 and the floating base is indexed as body 1. The other bodies are indexed from 2 to N B . Body i's parent body is labeled as p(i). A coordinate frame is attached to each body to describe the body's motion as a local frame, and the kinematics between neighboring bodies is represented by the connecting joint. The numbering manner is shown in Fig. 2.3: the index number inside each ellipse represents the body index, and the outside index numbers denote the joint indexes. Joint 1/b represents the floating-base joint accounting 6 DOFs, and each one of other joints has only one DOF. We set one frame on each joint, and the frame index has the same index with the joint. The bodies 5, 9, 13 and 17 represent the wheels, q w = [q 5 q 9 q 13 q 17 ] T . The base body/frame is the parent body/frame of the bodies/frames 2, 6, 10 and 14. In each leg, the body/frame j is the parent of the body/frame j + 1. The set c(i) is configured as the children set of body i and c * (i) is defined as the body set in the sub-tree which is rooted at the body i, including the body i itself. The relationships in Figure 2.3 are shown in Tab. 2.1.

The rotational forward kinematics between adjacent frames throughout this thesis is indicated by the rotation sequences (X -Y -Z), each rotation is around the parent frame which is coincident with the configuration of ROS-Gazebo simulation configuration in URDF files. One point position in different coordinates can be achieved by homogeneous transformation matrix j T i as follows,

i p(i) c(i) c * (i) Body i p(i) c(i) c * (i) 0 N/A 1 1
j T i = j R i j p i 0 1 , i T j = j T -1 i = j R T i -j R T i j p i 0 1×3 1 , ( 2.3)
where j R i transforms a vector in coordinate i to a vector expressed in coordinate j which can be treated as a fixed frame. j p i denotes the body/frame i position expressed in frame j. 6-dimentional spatial vectors [Featherstone 2014] give compact notations to describe the robot kinematics and dynamics. In this thesis, all spatial vectors will be written in upright bold letters (e.g., f, v). By using the spatial notations, the spatial velocity of body i v i with respect to its predecessor body p(i) is as follows,

v i = w i v i = i X p(i) v p(i) + Φ i qi , ( 2.4)
where w i and v i are the angular and linear velocities of body i. v p(i) is the spatial velocity of body p(i). It is noticed that v i and v p(i) are the velocities with respect to their local frames i and p(i).

i X p(i) ∈ R 6×6 is the transformation matrix of spatial motion vectors from Body p(i) frame to Body i frame. Φ i ∈ R 6×ni represents the free modes of joint i which is a full-column-rank matrix, n i is the number of DOFs relating to the free modes, and Φ i 's orthogonal matrix Φ c i represents the constrained modes of the joint, so [Φ i , Φ c i ] is a basis of R 6 and is invertible. For revolute joints with only one DOF, Φ i = [0, 0, 1, 0, 0, 0], and for the floating-base joint with six DOFs, Φ 1 = Φ b = 1 6×6 where 1 6×6 is the identity matrix. The Jacobian of the floating-base motion is

J b = J 1 = [Φ 1 0 6×n ]. qi represents the joint i's joint change rate, for joint 1, q1 = [w T 1 v T 1 ] T = [w T b v T b ] T
. By using (2.4), the Jacobians for body i, i ∈ [1,17] can be derived recursively. The spatial transform matrix i X p(i) of spatial vectors contains the position vector i p p(i) ∈ R 3 and the rotation matrix

i R p(i) ∈ R 3×3 , as below, i X p(i) = i R p(i) 0 S i p p(i) i R p(i) i R p(i) , ( 2.5)
where S( i p p(i) ) denotes a skew-symmetric matrix of the vector i p p(i) by satisfying S( i p p(i) )ω = i p p(i) ×ω for any 3D vector ω. i p p(i) is the position vector from the frame i origin to the frame p(i) origin, which also represents the position of frame p(i) in the coordinate of frame i. The relationship of the inverse transformation is expressed as i X p(i) = p(i) X -1 i . The spatial inertia of body i is denoted as I i which is expressed in body i's local frame and maps the spatial-motion vectors to the spatial-force vectors, as follows,

I i = Īi + m i S(c i )S(c i ) T m i S(c i ) m i S(c i ) T m i 1 3×3 , ( 2.6)
where Īi ∈ R 3×3 denotes the standard angular inertia at the body i CoM. m i represents the body i mass and c i represents the body i's CoM vector in body i's coordinate. If the i's coordinate origin is set at the body i's CoM, S(c i ) = c i × = 0 3×3 and the spatial inertia becomes a more compact notation as below,

I i = Īi 0 3×3 0 3×3 m i 1 3×3 . (2.7)
In addition, the body i spatial inertia I i can be expressed in body j frame as follows,

j I i = j X -T i I i i X j . (2.8)
The spatial momentum of body i can be obtained as below,

h i = l i k i = I i v i , (2.9)
where h i ∈ R 6 consists of its translational momentum l i ∈ R 3 and its angular momentum

k i ∈ R 3 .
Another important feature of the spatial inertia is to map the change rate of the spatial momentum to the spatial force acting on the rigid body as follows,

f i = dh i dt = d dt (I i v i ) = I i a i + İi v i , = I i a i + v i × I i v i , ( 2.10)
The above single formulation incorporates both Newton and Euler equations of a rigid-body motion in which the net force i is represented in the i's local frame. This spatial net force can also be expressed in body j's frame using j f i = j X -T i f i . From (2.4), the spatial acceleration can be represented as follows, .11) where Φi always equals to zero except the universal joint. The spatial cross product operation × between motion-motion vectors and between motion-force vectors are given as below,

a i = i X p(i) a p(i) + Φ i qi + Φi qi = i X p(i) a p(i) + Φ i qi + ( Φi qi + v i × Φ qi ), ( 2
w v × motion = ω× 0 3×3 v× ω× × motion, (2.12a) w v × f orce = ω× v× 0 3×3 ω× × f orce. (2.12b)
For example, v i × I i v i use motion-force cross product operation.

Wheel Contact Point Estimation

The kinematics and dynamics models of TowrISIR are derived by given the prerequisite that the wheel-contact point and the coordinate set at the point are known. However, compared with normal quadrupedal robots, when interacting with the rough terrain, the wheel-contact point between leggedon-wheel robot and the ground is not easy to be obtained. Since the robot knows nothing about the environment, the wheel contact points can be estimated at the lowest points of the wheels, which are located in the wheel sagittal plane along the gravity direction, as shown in Fig. 2.2. For motion generation, the wheel contact points can be estimated in this subsection by given the floating base and the legged motion, and the wheel-rotation angles detected by sensors.

The wheel-center position can be achieved by given the base position and the legged configuration, we can get the contact position using the normal vector of each wheel median plane and the wheel radius. The normal vector z wi = [a i , b i , c i ] T of wheel median plane in the inertial frame in Fig. 2.2 can be achieved easily which is omitted here. The y ci axis in Fig. 2.2 is parallel with the z wi axis, therefore, y ci = z wi . Due to the wheel circle in the 3D space with angles to axes of the inertial frame, another vector x ci parallel with x 0 y 0 surface should be achieved which is orthogonal to z wi , therefore, z wi • x ci = 0. x ci can be expressed as follows,

x ci = [b i -a i 0] T [b i -a i 0] T . (2.13)
The axis z ci connecting the wheel center and the contact point is orthogonal with z wi and x ci , therefore, z T ci x ci = 0 and z T wi z ci = 0. Then z ci can be achieved as below,

z ci = - aici a 2 i +b 2 i bici a 2 i +b 2 i -1 T aici a 2 i +b 2 i bici a 2 i +b 2 i - 1
T .

(2.14)

The contact position in the inertial frame 0 p ci can be achieved as follows,

0 p ci = 0 p wi -rz ci .
(2.15)

By using the rotation matrix between the inertial frame and the contact frame, the spatial transformation matrix 0 X ci can be achieved as below,

0 R ci = x ci y ci z ci , (2.16a) 0 X ci = 0 R ci 0 S 0 p ci 0 R ci 0 R ci , (2.16b)
where 0 X ci and the adjacent spatial transformation matrices i X j between any two bodies can be used to achieve the Jacobian at the contact points.

Whole-body Inverse kinematics of TowrISIR

In this thesis, we assume that static friction between all contacts between the wheels and the ground are big enough and all wheels are in pure rolling condition and belong to hard contact constraints whose velocities and accelerations are zero as below,

v c = J c q = 0, (2.17a) vc = J c q + Jc q = 0. (2.17b)
where

v c = [v T c1 v T c2 v T c3 v T c4 ]
T is the translational velocities of all wheel contact points. Each contact frame c i is shown in Fig. 2.2 and we can see that the z axis of the contact frame is coincident with the line from the contact point to the wheel center. The wheel contact points of quadruped-on-wheel robots always change, even the wheel joint does not move, e.g. squatting motion. This case is different with the fixed contact points on the legs of conventional quadruped robots [Pucci 2016]. In this subsection, we will decompose the wheel velocities and accelerations out from the contact constraints in (2.17). Firstly, we re-derive the spatial velocity and acceleration of the leg i wheel contact point respectively using spatial vectors as follows,

v ci = ω ci v ci = ci X wi v wi -Φ ci v wi[z] , (2.18a) vci = ωci vci = ci X wi vwi -Φ ci vwi[z] -( ci X wi v wi ) × Φ ci v wi[z] , (2.18b)
where the symbol × denotes the cross product for spatial vectors, detailed in [Featherstone 2014]. v ci ∈ R 6 is the spatial velocity of the leg i contact point. v ci and ω ci denote the translational and angular velocities of the leg i contact point, respectively. Φ ci = [0 1 0 0 0 0] T represents the free modes of the virtual contact joint, which is between the contact point and the ground. The matrix relating to the free modes of one joint should be referred to [START_REF] Siciliano | [END_REF]]. The subscript w i denotes the leg i wheel frame, shown in the zoom-in mechanism of Fig. 2.2. ci X wi is the transformation matrix for spatial vectors from the wheel frame to the contact point frame. v wi is the spatial velocity of the leg i wheel and v wi [z] is the third component of v wi , namely the wheel angular velocity around the z wi axis (see Fig. 2.2). v wi is the composite result of the legged suspension and the wheel joint motion. Therefore, even when the wheel joint velocity qwi is zero, v wi[z] = 0 for the squatting down motion of the robot. The translational parts of Φ ci v wi [z] and Φ ci vwi[z] are zero and have no influence on the translational motion of the wheel contact points. From the translational components in (2.18a) and (2.18b), we can derive the detailed expression of each contact J ci and Jci q. In addition, J c and the bias item Jc q = [( Jc1 q) T ( Jc2 q) T ( Jc3 q) T ( Jc4 q) T ] T are used in the contact-consistent prioritized operational space control [START_REF] Park | [END_REF]]. The wheel spatial velocity can be derived as below, (2.19b) where the subscript k i represents the leg i knee joint frame, shown in Fig. 2.2. wi X ki transforms spatial vectors from the knee frame to the wheel frame. v ki is the spatial velocity of the leg i knee body. Φ wi = [0 0 1 0 0 0] T represents the free modes of the leg i wheel joint. We substitute (2.19a) into (2.18a), then the wheel joint velocity qwi can be extracted out by selecting the translational part of (2.18a) as follows,

v wi = wi X ki v ki + Φ wi qwi , (2.19a) vwi = wi X ki vki + Φ wi qwi + v wi × Φ wi qwi ,
v ci = S c v ci = S c ci X ki v ki + S c ci X wi Φ wi qwi = 0, (2.20)
where

S c = [0 3×3 1 3×3
] is a selection matrix. ci X ki transforms spatial vectors from the knee frame to the contact frame. Then we combine all wheel velocities using (2.20) and the contact velocity constraint is rewritten as follows,

v c = J c q = L v b qr + L w qw = 0, (2.21)
where

v b = [ω T b v T b ]
T is the base spatial velocity and it is composed by its angular velocity ω b and its translational velocity v b . L ∈ R 3nc×(n b +nr) is a stack vector relating to the base and the legged joint velocities, and L w ∈ R 3nc×nw is a block-diagonal matrix relating to the wheel joint velocities as below, (2.22) where L wi = S c ci X wi Φ wi and 0 3×1 denotes the zero vector. J ki is the Jacobian relating to the knee joint velocity. In (2.21), L b denotes the left 6 columns of L, and L r is the right n r columns of L. (2.21) can be decomposed as below,

L =     S c c1 X k1 J k1 S c c2 X k2 J k2 S c c3 X k3 J k3 S c c4 X k4 J k4     , L w =     L w1 0 3×1 0 3×1 0 3×1 0 3×1 L w2 0 3×1 0 3×1 0 3×1 0 3×1 L w3 0 3×1 0 3×1 0 3×1 0 3×1 L w4     ,
v c = L b v b + L r qr + L w qw , (2.23a) = L bω ω b + L bv v b + L r qr + L w qw = 0, (2.23b)
where L bω and L bv denote the left and right 3 columns of L b respectively. In this way, (2.23b) serves as the whole-body differential kinematics model for the proposed whole-body velocity generator in Section 4.2.1. Similarly, the contact constraint in the kinematics second order is rewritten as below,

vc = J c q + Jc q = L vb qr + L w qw + Jc q, (2.24a) = L b vb + L r qr + L w qw + Jc q, (2.24b) = L bω ωb + L bv vb + L r qr + L w qw + Jc q = 0, (2.24c)
In this way, (2.24c) serves as the whole-body double-differential kinematics model for the proposed whole-body acceleration generator in Section 4.2.2.

Generalized Dynamics Model

When all kinematics, including position vectors and velocity vectors and accelerations are expressed by generalized coordinates q, the dynamics of TowrISIR can be represented in the joint space as follows,

M (q)q + C (q, q) + G(q) = J T c F c + S T τ , ( 2.25)
where M ∈ R n×n , C ∈ R n and G ∈ R n denote the generalized inertia matrix, the centripetal & coriolis force, and the gravity force, respectively. In this chapter, all wheels are maintained in contact with the ground. J c ∈ R 3nc×n is the contact Jacobian combining n c contact points. F c ∈ R 3nc represents the stack of all contact forces. τ ∈ R na denotes the actuated torque and S ∈ R na×n is one selection matrix of actuated DOFs that are in joints, n a = n r + n w is the actuated joint number.

The floating-base robot can be divided into under-actuated, fully actuated and over-constrained systems depending on the kinematics-constraint number. The unconstrained system lies in a manifold with n -3n c dimensions while the actuated joints embody in n a dimension. When 3n c < 6, less than two legs touching the ground, the system is under-actuated. When 3n c = 6, two legs touch the ground, the system becomes fully actuated. Exactly one solution existed in the inverse dynamics problem. When 3n c > 6, more than two legs touch the ground, the system is over-constrained. There are infinite solutions for actuated τ that is able to achieve the desired joint acceleration.

For the derivation of the dynamics model, instead of the conventional notation, the spatial vectors are used to get more compact notations of the equations of the motion (EOM). According to d'Alembert's Principle, the virtual work integrating all bodies of the system is given as below,

0 = δW = N B i=1 [v T i ( ḣi -i X -T gi F gi -f i + j∈c(i) i X -T j f j -i X -T ci F ci )], (2.26a) 0 = N B i=1 [J T i ( ḣi -i X -T gi F gi -f i + j∈c(i) i X -T j f j -i X -T ci F ci )]. (2.26b)
where the gravity force F gi of body i is expressed in inertial frame. ḣi can be written by using joint velocity and acceleration as follows,

ḣi = I i a i + v i × I i v i = I i J i q + I i Ji q + v i × I i v i . (2.27)
For each i, note that components ḣi and f i are expressed in i's local coordinate. The force components F gi , F ci and f j should also be transfered to act on the origin of the i's local frame by i X -T gi , i X -T ci and i X -T j . The actuated torque τ has the following relationship,

-S T τ = N B i=1 [J T i (-f i + j∈c(i) i X F j f j )].
(2.28)

Then substitute ḣi into (2.26), the elements of EOM can be achieved as below,

M(q) = N B i=1 J T i I i J i , (2.29a) C(q, q) = N B i=1 [J T i I i Ji q + J T i v i × I i v i ], (2.29b
)

G(q) = N B i=1 -J T i i X -T gi F gi = N B i=1 -J T gi F gi , (2.29c) S T τ = N B i=1 [-J T i (-f i + j∈c(i) i X F j f j )],
(2.29d)

J T c F c = N B i=1 J T i i X -T ci F ci = N B i=1 J T ci F ci . (2.29e)
For real-time control with high frequency, M (q) will be calculated using the composite-rigid-body algorithm (CRBA) [Walker 1982]. C(q, q) and G(q) can be calculated by the recursive Newton-Euler algorithm (RNEA) [START_REF] Luh | [END_REF]], which are modified by [Featherstone 2014] but they are equivalent.

Floating-base Centroidal Dynamics

In this paper, we derive two components of centroidal dynamics in a straight way, which is more apparent by comparing with the generalized dynamics model in (2.25). Firstly, the spatial whole-body centroidal momentum is reviewed as follows,

h G = k G l G = N B i=1 i X T G h i = N B i=1 i X T G I i v i = N B i=1 i X T G I i J i q = X T G IJ q = A G q, (2.30)
where k G and l G represent the 3-DOF centroidal angular momentum and translational momentum respectively. A G ∈ R 6×n is the centroidal momentum matrix (CMM). It is noticed that A G and M are both composed by spatial inertias of all bodies, and they are expressed as below,

A G = N B i=1 A Gi = N B i=1 i X T G I i J i = N B i=1 b X T G ( i X T b I i J i ), M = N B i=1 M i = N B i=1 J T i I i J i , (2.31)
where b X G ∈ R 6×6 is the transformation matrix for spatial vectors from whole-body CoM frame to the base frame whose index is 1 or b. i X b transforms vectors from the base frame to the body frame i. No matter the index i is, its Jacobian can always be written with the first 6 columns equal to i X b Φ b = i X b due to that Φ b is the identity matrix 1 6×6 . Thus, one relationship can be derived as follows,

i X T 1 = U J T i , (2.32) (2.32) ⇒ A Gi = b X T G ( i X T b I i J i ) = b X T G U M i , (2.33)
where

U is a selection matrix [1 6×6 0 6×(n-6) ]. Combine all A Gi and M i , i ∈ {1, • • • , N B }, the centroidal momentum matrix A G can be derived with simple formulation from M , A G = 1 X T G U M, (2.34)
where 1 X T G is achieved by setting the robot CoM frame to be parallel with the axes of the inertial frame, as follows, [START_REF] Siciliano | [END_REF]] as below,

1 X G = 1 R G 0 S( 1 p G ) 1 R G 1 R G = 1 R 0 0 S( 1 p G ) 1 R 0 1 R 0 , ( 2
I C 1 = I C b = ĪC 1 m G S( 1 p G ) m G S( 1 p G ) T m G 1 , ( 2
.36)

1 p G = 1 m G I C 1(3,5) I C 1(1,6) I C 1(2,4) T . (2.37)
where m G is the robot mass. Then the whole-body centroidal dynamics is reviewed which is the derivative of (2.30) as follows,

ḣG = kG lG = ȦG q + A G q, (2.38)
where ȦG q is the centroidal momentum bias force (CMBF). It can also be derived straightly by comparing with the Centripedal and Coriolis force as below,

ȦG q = N B i=1 ( ȦG q) i = N B i=1 b X T G ( i X T b I i Ji q + i X T b v i × I i v i ), (2.39)
C = N B i=1 C i = N B i=1 {J T i I i Ji q + J T i v i × I i v i }, (2.40)
therefore, CMBF can be derived using (2.32) as follows,

( ȦG q) i = 1 X T G U C i ⇒ ȦG q = 1 X T G U C. (2.41)
The operational-space gravity force at the robot CoM ρ G can be derived with the same comparison method as below,

ρ G = 1 X T G U G. (2.42)
Then the operational space force at the robot CoM F G can be expressed as follows,

F G = 1 X T G U M q + 1 X T G U C + 1 X T G U G = 1 X T G U (M q + C + G). (2.43)
When the generalized dynamics model is obtained, the above relationship represents a quite efficient formulation to calculate the centroidal dynamics equation and its relating operational space task force.

To integrate tasks (relating to the robot centroidal motion) into the prioritized operational space torque control framework, we derive its Jacobian J G ∈ R 6×n for the centroidal spatial velocity, and this is one further-forward step in this field which is based on the improved computation method of the centroidal dynamics in [Wensing 2016], (2.44) where

J G = I -1 G b X T G U M = b X G -1 I C b -1 U M ,
I G = b X T G I C b b X G denotes the composite rigid-body inertia at the robot CoM, referred in [Siciliano 2016]. I C b = U M U T is the base composite inertia and U = [1 6×6 0 6×(n-6)
] is a selection matrix. The robot CoM frame is shown in Fig. 2.2. b X G ∈ R 6×6 is the transformation matrix for spatial vectors from the robot CoM frame to the base frame whose index is 1 or b. J G can also be decomposed as below,

J G = J b G J g G = J b G J r1 G J w1 G J r2 G J w2 G • • • J r4 G J w4 G , (2.45)
where 6) relate to the floating-base motion, and the leg i joint motion respectively. J ri G ∈ R 6×3 corresponds to the leg i revolute-joint motion, and J wi G ∈ R 6×1 relates to the leg i wheel-joint motion. They will be used to decompose the centroidal momentum model in Chapter 4. Another general formulation to compute the CMM and CMBF is given by the OSC method, and these two methods are equivalent,

J b G ∈ R 6×6 and J g G ∈ R 6×(n-
F G = J T G (M q + C + G) = Λ G ẍG + µ G + ρ G . (2.46)
where Λ G , µ G and ρ G denote the operational space inertia, Centripedal and Coriolis force, and gravity force at the robot CoM. JG is the dynamically-consistent inverse of the Jacobian J G , detailed in the following section. Therefore, CMM and CMBF can be derived as follows,

A G = J T G M = (J G M -1 J T G ) -1 J G , (2.47a) ȦG q = J T G C = (J G M -1 J T G ) -1 J G M -1 C. (2.47b)

Operational Space Torque Control

In this section, we present the general control framework. Then we review the dynamically-consistent pseudo-inverse based operational space control (OSC). Three kinds of projections relating to the contact constraint are reviewed, which enable the generalized dynamics model to be independent of the contact forces. Finally, we review the prioritized OSC and we propose one more compact formulations in a recursively, which serve as the basis for the development and improvement of our torque controllers in next chapter.

General Control Framework

The general control framework is shown in Fig. 2.4, which contains the motion reference, centroidal dynamics based motion generator, model based torque controller and the simulated robot. By given the high-level trajectory references relating to the base or the robot centroidal motion, this thesis concentrates on generating the robot whole-body motion by taking advantages of the robot centroidal properties and by improving the torque controllers in the state of the art. In each control loop, various sensors on the robot send feedback information of the robot whole-body motion states to other three parts, which close the control loop. This control framework is common for the quadruped-on-wheel robot, TowrISIR, and for the quadruped robot, QuadISIR. The centroidal properties are applied in the developed motion generators for both two robots, detailed in Chapter 4 and Chapter 5 respectively. The improved model based torque controllers in Chapter 3 are also verified on our two robots, which can also be used on other high-DOF robots, e.g. humanoids.

Operational Space Control (OSC)

In this section, a brief introduction is about torque-based operational space control [Khatib 1987, Sentis 2007]. The standard dynamics model for a operational space task ẋt = J t (q) q can be expressed as below, Λ t (q)ẍ t + µ t (q, q) + ρ t (q) = J T t S T τ + J T t J T c F c (2.48) where the subscript t denotes the task index. Λ t (q) denotes the operational space inertia matrix, µ t (q, q) represents the Centripetal and Coriolis force in task space and ρ t (q) is the gravity-dependent force. The above model is obtained by multiplying J T t at both sides of the generalized dynamics model in (2.25), and Jt is the dynamically-consistent generalized inverse of the task Jacobian J t . These quantities are given as follows,

Λ t (q) = (J t M -1 J T t ) -1 , (2.49a) J T t (q) = Λ t J t M -1 , (2.49b) µ t (q, q) = J T t C -Λ t Jt q, (2.49c) ρ t (q) = J T t G. (2.49d)
When the operational space task is established at the contact point, the EOM in contact task space can be derived and the contact force F c can be expressed as below,

Λ c (q)ẍ c + µ c (q, q) + ρ c (q) = J T c S T τ + F c . (2.50)
Due to the contact constraints ẍc = 0, the contact force can be achieved as follows,

F c = µ c (q, q) + ρ c (q) -J T c S T τ . (2.51)
Substitute the contact force in (2.51) into operational space dynamics in (2.48), we can obtain the contact-consistent dynamics model for one task in the operational space [START_REF] Park | [END_REF]] as follows, Λt (q)ẍ t + μt (q, q) + ρt (q) = J T t S T τ , (2.52) where the quantities can be expressed as below,

Λt (q) = J t M -1 (1 -J T c J T c )J T t -1 , (2.53a) J T t (q) = Λt J t M -1 (1 -J T c J T c ), (2.53b) μt (q, q) = J T t C + Λt J t M -1 J T c Λ c Jc q -Λt Jt q, (2.53c) ρt (q) = J T t G. (2.53d)
Another derivation method for the contact-constraint consistent dynamics will be described in the next subsection using prioritized task control.

Contact-constraint Consistent Projections

Substitute µ c and ρ c in (2.49) into the contact force in (2.51), we can obtain the contact force using the joint-space parameters as follows,

F c = (J c M -1 J T c ) -1 J c M -1 (C + G -S T τ ) + J c q , (2.54)
This can be substituted back to the generalized dynamics model which is rearranged as below,

P [M q + C + G] = P S T τ . (2.55)
This projection process by the linear projector P maps the robot dynamics onto the manifold with contact-consistent constraint and enables the EOM independent of the contact force F c . From (2.55), the actuated torque τ can be obtained by the Moore-Penrose inverse method as follows, τ = (P S T ) + P (M q + C + G). (2.56) This formulation gives a general projection formulation in which P is not unique in the state of the art. In this section, three methods will be introduced.

Direct Projector:

The direct projector is derived by combining (2.54), (2.55) and the generalized dynamics model in (2.25), as follows,

P direct = 1 -J T c (J c M -1 J T c ) -1 J c M -1 .
(2.57)

In addition, (2.55) can also be derived from the dynamically contact-consistent null-space projector N c [Sentis 2005] which ensures that other tasks do not introduce acceleration components into the contactconstrained directions. N c is expressed as below,

N c = 1 -Jc J c , (2.58)
We project the joint-space dynamics EOM in (2.25) into the null space of the contact constraints as follows,

N T c [M q + C + G] = N T c S T τ . (2.59)
Compared (2.57) and (2.58), the direct projector is equal to the transpose of contact-constraint null space as below,

P direct = N T c , (2.60)
where the properties N T c J T c = 0, J c Jc J c = J c and (2.49b) are applied.

Operational Space Projector:

For the contact-independent dynamics model in (2.59), and the actuated torque formulation can be obtained by applying the dynamically-consistent inverse of N T c S T [START_REF] Sentis | [END_REF]] as follows,

τ = (SN c M -1 (SN c ) T ) + (SN c )M -1 N T c [M q + C + G], = (SN c M -1 S T ) + SN c M -1 [M q + C + G],
(2.61)

where we apply the null-space property as below,

N c M -1 = M -1 N T c = N c M -1 N T c , (2.62)
Compare (2.61) with the general formulation in (2.56), the projector in (2.55) can be expressed as follows,

P osc = SN c M -1 = SM -1 N T c = SN c M -1 N T c . (2.63)
QR Decomposition Projector: [START_REF] Mistry | [END_REF]] applied the orthogonal decomposition of the constraint Jacobian and proposed another inverse dynamics control law as follows, (2.64) where the orthogonal matrix Q ∈ R n×n with property

J T c = Q R T 0 3nc×(n-3nc) T ,
Q T = Q -1 . R ∈ R 3nc×3nc
is a upper right triangular matrix with all positive diagonal elements. Substitute J T c into the joint dynamics EOM in (2.25), Q T is multiplied on its both sides. Then (2.25) is decomposed by two selection matrices to two independent equations of the system dynamics as below,

S c Q T [M q + C + G] = S c Q T S T τ + RF c , (2.65a) S u Q T [M q + C + G] = S u Q T S T τ , (2.65b)
where

S c = [1 k×k 0 k×(n-k) ] and S u = [0 (n-k)×k 1 (n-k)×(n-k) ].
Then the torque formulation and the contact force are achieved as follows,

τ = (S u Q T S T ) + S u Q T [M q + C + G],
(2.66a)

F c = R -1 S c Q T [M q + C + G]. (2.66b)
Therefore, the QR decomposition projector can be written as follows,

P QR = S u Q T . (2.67)
Although different projectors have different formulations with different calculation complexity, the actuated torque remain the same results [Righetti 2011b]. Compared among these three projectors, P QR has more strengths in handling model uncertainty, because there exists M -1 in P direct and P osc in real-time control whose precision depends on the model establishment, and the calculation complexity increases a lot due to inverse of M .

Contact Constraint consistent Prioritized OSC

In this section, we will review the contact-constraint consistent prioritized OSC. By given N prioritized tasks in the operational space, the actuated torque τ can be achieved which respects the task priorities and the contact constraints. The general formulation of task t operational space force F t|pre(t) is achieved by given the task motion reference ẍt(ref) as follows,

F t|pre(t) = Λ t|pre(t) ẍt(ref) + µ t|pre(t) + ρ t|pre(t) -Λ t|pre(t) J t M -1 t-1 i=1 J T i|pre(i) F i|pre(i) , (2.68)
where Λ t|pre(t) , µ t|pre(t) and ρ t|pre(t) are the extended general inertia, Coriolis/centrifugal and gravity vectors. J t|pre(t) = J t N pre(t) denotes the prioritized Jacobian for the operational-space task i, which are projected into the null-space of the previous tasks, indexed as pre(t). N pre(t) is the null-space by combining all tasks above level i which can be calculated recursively as N pre(t+1) = N pre(t) -Jt|pre(t) J t|pre(t) . Furthermore, N pre (1) = N c where N c denotes the null-space projector of the Jacobiana combing all contact points, which means that all designed tasks should satisfy the contact constraints. Jt|pre(t) is the prioritized contact-consistent and dynamics-consistent inverse of the task t Jacobian.

These variables are listed as follows,

Λ t|pre(t) = (J t|pre(t) M -1 J T t|pre(t) ) -1 , (2.69a) J t|pre(t) = J t N t|pre(t) , (2.69b) J T t|pre(t) = Λ t|pre(t) J t|pre(t) M -1 , (2.69c) N pre(t) = t-1 i=1 N i|pre(i) = N c - t-1 i=0 J T i|pre(i) J i|pre(i) , (2.69d) µ t|pre(t) = Λ t|pre(t) J t M -1 N T c C + Λ t|pre(t) J t Jc Jc q -Λ t|pre(t) Jt q, (2.69e) ρ t|pre(t) = Λ t|pre(t) J t M -1 N T c G. (2.69f)
The contact-constraint consistent actuated torque is derived as below,

τ = (P S T ) + P N t=1 [J T t|pre(t) F t|pre(t) ],
(2.70)

where P equals to P direct , P osc or P QR . The detailed null-space based inverse dynamics is referred to [Sentis 2005].

For optimization based techniques, each task acceleration ẍt should be expressed by the actuated torque. From (2.68), ẍt can be obtained with the quadratic form as follows,

ẍt = A T t τ + B t , (2.71)
where ẍt depends on previous t -1 tasks and needs careful derivations, which is not suitable for fast calculation. Therefore, we propose the following formulas which can be calculated in a recursive way, as below,

A T t = Λ -1 t|pre(t) A T Ft + A T Tt , (2.72a) B t = Λ -1 t|pre(t) B Ft + B Tt -µ t|pre(t) -ρ t|pre(t) , (2.72b)
where A t and B t can be derived recursively using formulas as follows,

A T Ft = J T t|pre(t) J T c A T c + S T , ( 2.73a
)

B Ft = J T t|pre(t) J T c B c , (2.73b) A T st = A T s p(t) + J T p(t)|pre(p(t)) A T F p(t) , (2.73c
)

B st = B s p(t) + J T p(t)|pre(p(t)) B F p(t) , (2.73d
)

A T Tt = Λ t|pre(t) J t M -1 A T st , ( 2.73e
)

B Tt = Λ t|pre(t) J t M -1 B st , (2.73f) A T c = -J T c S T , ( 2.73g
)

B c = µ c + ρ c , (2.73h)
where p(t) is the processor task priority of task t, namely p(t) = t -1. A Ft , B Ft , A Tt and B Tt are middle-process variables. A st and B st are used to allow A Tt and B Tt to be calculated in a recursive way. These proposed formulas in (2.72) and (2.73) can also be referred in our published weighted torque control [Du 2020a], which is improved to be more compact in the next chapter.

Summary

This chapter describes the whole-body kinematics and dynamics of our quadruped-on-wheel robot TowrISIR, in which all the formulations are derived by spatial notations. The inverse kinematics model is decomposed into several components relating to the base motion, the legged motion and the wheel motion, which serves as the basis for the model based wheeled motion in Chapter 4. The contact point is estimated at the lowest points of the wheels. We derive the centroidal dynamics in a more apparent way and the centroidal properties will be applied in the following chapters. Then we propose the general whole-body control framework which is common for two four-limb robots in this thesis. Furthermore, we review the operational space control and three contact-constraint consistent projectors. Finally, we introduce the multi-task prioritized OSC and then propose one set of recursive formulas to extract the quadratic form of each task acceleration. The contents in this chapter function as basis for the developed motion generators and improved torque controllers in following chapters. This chapter proposes the concept called prioritized impedance controller (PIC). We integrate it into four kinds of improved hierarchical operational-space torque control frameworks: one pseudoinverse based dynamics method and three optimization-based techniques, including one null-space based weighted optimization solver, one hierarchical optimization solver, and one hybrid hierarchical-weighted solver. The integrated PIC enables various impedance control forces to be consistent and compatible with multi-task hierarchies. The concept can handle more general impedance controllers, including the ones built directly on specific designed tasks, and ones indirectly acting on the whole-body behaviors.

For the pseudo-inverse based dynamics method and the null-space based weighted scheme, each task acceleration with the prioritized impedance controller is extracted using one proposed modified dynamics model with PIC. In contrast with the conventional weighted QP, we firstly propose that priorities exist in the weighted scheme, and the proposed model enables to integrate this new weighted scheme into the hierarchical control framework. For the hierarchical optimization solver, another proposed new dynamics model with PIC is proposed to embody the multi-level control hierarchy, and it is used to extract each task acceleration with the quadratic form. The new dynamics model enables the achievement of the more general and complete hierarchical optimization solver, both for the task acceleration extraction and the same number of constraints, and enables various impedance controllers to be integrated compatibly with priorities. The inequality constraints are modified to be compatible with the optimization solver by extracting the quadratic forms of the contact force and the joint acceleration from our new dynamics model. Then we use our proposed model for a more complex scenario which combines the hierarchical and the null-space based weighted schemes together. The detailed algorithm is developed which is more general for the pure weighted scheme, or the pure hierarchical scheme, or the hybrid combination. Each of the approaches can be selected depending on the actual application. Our methods are tested in several simulation scenarios using a virtual quadruped-on-wheel robot, TowrISIR with one manipulator on its floating base.

Introduction and Chapter Outline

According to the state of the art relating to the multi-task active compliance and the optimization based torque control in Chapter Introduction, we have the following opinions. For the conventional weighted convex optimization without null space projections, when there are not enough DOFs for the robot to finish all tasks feasibly, unfeasible motion directions cannot be removed from the tasks. Furthermore, conventional feedback based controllers can influence all tasks together which cannot be accepted. These two problems can be avoided in this chapter by using null space projections, which is always applied in the hierarchical optimization framework, but neglected in the weighted theme. For the strict hierarchical optimization methods in the state of the art, the strict hierarchy is always achieved by defining specific equality and inequality constraints. Although null-space projections are applied in few works to decouple the influences among hierarchies, as the hierarchy index increases, the number of the constraints also increases, especially for the inequality constraints relating to the friction cone and the joint configurations. The method is not general because the generalized dynamics model is applied which do not embody the multi-level control hierarchy. The existing hybrid hierarchical-weighted schemes also have the above issues. In addition, in the state of the art, for each task reference, the specific feedback impedance controller can be added to enable the compliance on the specific task. However, the general impedance controllers which indirectly influence the whole-body motions are not prioritized which influence all designed tasks together.

In this chapter, we will handle these issues and make the hierarchical compliant control frameworks to be more general and complete. Multiple active compliant controllers are proposed to be integrated into the prioritized operational space control framework, which means that the impedance controllers are consistent with the task hierarchies. In other words, the impedance controllers should influence the designed tasks in a decoupled way. For the pseudo-inverse based dynamics method and null-space based weighted optimization solver, we propose to modify the generalized dynamics model to contain the prioritized impedance controller. In contrast with the conventional weighted QP, we firstly propose that priorities exist in the weighted scheme, and the proposed model enables to integrate this new weighted scheme into the hierarchical control framework. For the optimization based hierarchical techniques, including strict hierarchical convex optimization and a hybrid hierarchical-weighted scheme, we propose another new dynamics model which is more general for hierarchical optimization. The modified or new dynamics model enables the achievement of the more general and complete hierarchical optimization solvers, both for the task acceleration extraction and the same number of constraints. We implement these control schemes on TowrISIR to test the usefulness and validity of our approaches.

The remainder of this chapter is structured as follows: In Section 3.2, system modeling is firstly introduced. The whole-body impedance controllers are introduced in Section 3.3. Then we show how to integrate our prioritized impedance controller in the pseudo-inverse dynamics method, in the null-space based weighted QP, in the hierarchical convex optimization and in hybrid hierarchical-weighted control scheme in Section 3.4.1, Section 3.4.2, Section 3.4.3 and Section 3.4.4, respectively. Then in Section 3.5, we test our method through numerical simulations with our virtual quadruped-on-wheel robot. Section 3.6 closes the chapter with the conclusion.

Generalized Dynamics Model for a Locomotion Robot

A legged robot has n DOF in which 6 DOFs are relating to the floating base motion. The TowrISIR robot is applied in this chapter and one manipulator is installed on its floating base, shown in Fig. 3.1. The joint connectivity of quadruped-on-wheel manipulator is depicted in Fig. 3.2. The dynamics model has the same formulation as (2.25), which is re-written as follows, : Task hierarchy definition. The smaller index, the higher priority. Index 0 denotes the contact constraint. For each priority, one specific impedance controller is applied. Other indirect impedance controllers can be integrated to be consistent with the task hierarchy using our approach in this chapter.

M (q)q + C (q, q) + G(q) = J T c F c + S T τ , ( 3
[Right]: TowrISIR is equipped with one manipulator on its floating base to enable the robot with manipulation behaviors. The manipulator has 6 DOFs and its mass is about 7kg. The weight of the robot with the manipulator is about 107kg.

where q = [θ T b p T b q T g q T m ] T represents the joint configuration of the quadruped-on-wheel manipulator. q g is defined in Section 2.1.1 which includes all leg and wheel joints. q m denotes the manipulator joint configuration. We define q s = [q T g q T m ] T which is used in the establishment of the inequality constraints. τ ∈ R na is the torque for actuators in each leg and the manipulator. S ∈ R na×n is the relative selection matrix. n a = 22 and n = 28 for the quadruped-on-wheel manipulator. In this chapter, we use the rollingmode locomotion, which means that four legs are maintained in contact with the ground, J c ∈ R 3nc×n and n c = 4. Assume that there is no slippage between the contact points and the ground, the velocity of all contact points and their time derivative share the formulations in (2.17).

To control the CoM motion of the Quadruped Bodies which include bodies except the manipulator, we derive the Jacobian at the quadruped CoM as below,

J G = [ 1 X T G (U M quad U T ) 1 X G ] -1 ( 1 X T G U M quad ), (3.2
)

M quad = J T i I i J i , i ∈ Quadruped Bodies (3.3) where U = [1 6×6 , 0 6×(n-6) ].
It is noticed that M quad ∈ R n×n is the quadruped mass matrix, which means that components in M quad relating to the manipulator bodies are equal to zero. And M quad is one by-product when getting the whole-body generalized mass matrix M through the Composite Rigid Body algorithm [Walker 1982]. The quadruped composite inertia in the base frame is I quad = U M quad U T and the composite rigid body inertia at the quadruped CoM is

I G = 1 X T G I quad 1 X G .
With J G , tasks relating to quadruped CoM can be integrated into the prioritized operational space control framework.

Whole-body Impedance Controllers

In this chapter, we use our virtual quadruped-on-wheel robot (shown in Fig. 3.1) as an example to test our approach. For the robot, each leg has 4 joints, including three leg-revolute joints and one wheel joint. To enable the robot with manipulation behaviors, one manipulator can be installed on its base. The impedance controllers are established to enable the robot to track task references on rough terrain with compliance. For our robot, we control K operational tasks, including the quadruped-CoM motion with index 1, the wheeled motion with index 2 (and the manipulator-end motion with index 3 if there are manipulation missions, see the dashed boxes in Fig. 2.1).

To track the quadruped CoM motion, one impedance controller for the quadruped-CoM translational momentum and angular momentum is designed. Since the angular position of the quadruped CoM has no sense, only the damping D Gω for the angular momentum tracking is applied as follows,

τ im1 = J T 1 D Gω k d G -k G K Gv p d G -p G + D Gv v d G -v G ∈ R n , ( 3.4)
where k G denotes the centroidal angular momentum. p G and v G represent the centroidal position and the centroidal translational velocity. In this section, the superscript d means "desired". J 1 is the Jacobian for the centroidal motion. K Gv and D Gv represent the stiffness and damping whose subscripts represent the CoM translational motion. For wheel locomotion, since the rolling resistance is not modeled, one impedance controller is built in the wheel joint space to compensate the inaccuracy of the contact model,

τ im2 = J T 2 K w q d w -q w + D w qd w -qw ∈ R n , (3.5)
where q w represents the wheel joint position. J 2 is the Jacobian for the wheel motion and it is also one selection matrix mapping vectors from R nw to R n dimension. K w and D w are the stiffness and damping matrices respectively for the wheel motion. The manipulator enables the robot to achieve various missions. To achieve it with compliance, one impedance controller is added at the end effector of the manipulator.

τ im3 = J T 3 K m q d m -q m + D m qd m -qm ∈ R n , ( 3.6)
where q m can be achieved by inverse kinematics. J 3 is the Jacobian for the manipulator motion. K m and D m are the stiffness and damping matrices respectively. It is noticed that (3.4), (3.5) and (3.6) are impedance controllers for the designed three tasks, respectively, shown in Fig. 2.1. Then we add some extra impedance controllers which will indirectly influence the whole-body motion.

When running on the rough terrain, to enable the base with small angular motion, one impedance controller is designed,

τ im bw = J T bw K bw θ d b -θ b + D bw ω d b -ω b ∈ R n , ( 3.7a
)

τ im bv = J T bv K bv p d b -p b + D bv ṗd b -ṗb ∈ R n , (3.7b)
where J bw and J bv denote the Jacobians for the base angular and translational motions, ω b represents the base angular velocity. K bw and D bw are the stiffness and damping matrices for the base angular motion, and K bv and D bv are the ones for the base translational motion. In addition, to enable active legged suspension, another impedance controller for the legs is built as below,

τ img = J T g K g p d g -p g + D g ṗd g -ṗg ∈ R n , ( 3.8)
where p g ∈ R 4 combines all wheel-center positions relative to the base frame, J g is the relative Jacobian. K g and D g denote the stiffness and damping for legged suspension.

To be more general, more general impedance controllers can be built using the potential field as below,

τ imp = -S T t ∂V t (q) ∂q T + D t (q) q ∈ R n , (3.9)
where S t is one general selection matrix. V t (q) describes a repulsive potential field. The damping is injected by the positive, semi-definite matrix D t (q) and the subscript represents any compliance mission, especially for safety and physical constraints, such as self-collision and obstacle-avoidance missions [Sentis 2005] [Dietrich 2012]. For example, when an obstacle is approaching the head of one humanoid robot in [Sentis 2005], the reactive force generated by repulsive potential field pushes the robot to avoid collision. In the process, it is preferable to avoid the obstacle by using the reactive whole-body motion (e.g. the centroidal motion), not only the head motion. In this chapter, we propose to enable this reactive force to influence whole-body motion by respecting task hierarchies. In this section, (3.7), (3.8) and (3.9) serve as the general impedance controllers which indirectly influence the designed specific tasks, c.f. Fig. 3.1.

Prioritized Impedance Controller based Torque Control

In this section, we will introduce how to add direct and indirect impedance controllers into four kinds of hierarchical torque controllers, and how they influence the designed tasks in a decoupled way. The torque controllers include one pseudo-inverse dynamics method, one null-space based weighted convex optimization solver, one hierarchical optimization solver and one hybrid hierarchical-weighted optimization solver.

Modified Dynamics Model for Pseudo-inverse based Dynamics

We propose to integrate various impedance controllers into the hierarchical control framework. All impedance controllers should be consistent with task priorities and we define the prioritized total impedance control torque as below,

Γ = K t=1 J T t|pre(t) J T t|pre(t) τ imj ∈ R n , ( 3.10)
where τ imj sums all the impedance torques in Section 3.3. We call (3.10) the prioritized impedance controller, Γ which relates to all K hierarchies. The prioritized impedance force Γ respects the task priorities and the contact constraints. The operational space impedance force for hierarchy i can be derived as follows,

J T i|pre(i) Γ = J T i|pre(i) τ imj , (3.11)
where we use the property J T i|pre(i) J T j|pre(j) = 0 (i = j). It means that the operational space impedance force for hierarchy i is decoupled from the other hierarchies. The generalized dynamics equation in (3.1) can be modified to integrate the prioritized sum impedance controller Γ as follows,

M q + C + G = J T c F c + S T τ -Γ, (3.12)
which Γ can be treated as the compensation item of the inaccurate dynamics model. It is noticed that this modified model is just used to develop our torque controllers in this subsection and in the subsection 3.4.2. By using (3.12), the calculated actuated torque can naturally combine the impedance controllers.

For the pseudo-inverse based dynamics method [Sentis 2005], the actuated torque can be derived as below, τ = (P QR S T )

+ P QR W Γ + K i=1 J T i|pre(i) F i|pre(i) , (3.13)
where F i|pre(i) represents the operational space force for task i which is in the null space of tasks < i.

The actuated torque τ is derived by the QR decomposition projector, P QR enables the dynamics model to be independent of the contact force and it is defined in [START_REF] Mistry | [END_REF]]. In this section, the prioritized impedance controller is integrated into the pseudo-inverse based dynamics method. In the following sections, we will integrate the prioritized impedance controller into three optimization based torque controllers.

Prioritized Impedance Controller based Null-space based Prioritized Weighted Optimization (P-WQP)

In conventional weighted convex optimization [START_REF] Bouyarmane | [END_REF]][Salini 2011], conventional feedback based controllers influence all sub-tasks together which cannot be accepted. In contrast with the state of the art, for our null-space weighted convex optimization developed in [Du 2020a], the hierarchies still exist among all the sub-tasks. Although this weighted scheme cannot ensure strict hierarchies, this nullspace based weighted solver enable us to use the prioritized impedance controller to integrate various impedance controllers to influence the sub-tasks in a decoupled way. The cost function Q(τ ) in the operational space can be designed as follows,

Q(τ ) = ẍ * -ẍ 2 w + ε τ 2 , (3.14)
where w is a weight matrix. The objective is regularized by a small value ε, which ensures positive definiteness of the objective Hessian. Using the modified dynamics model with prioritized impedance controllers in (3.12), the operational space force for the task i can be expressed as below,

F i|pre(i) = Λ i|pre(i) ẍi + h i|pre(i) -T i|pre(i) (3.15a) = Λ i|pre(i) ẍi + h i|pre(i) -Λ i|pre(i) J i M -1 i-1 t=1 J T t|pre(t) F t|pre(t) (3.15b) = Λ i|pre(i) ẍi + h i|pre(i) -Λ i|pre(i) J i M -1 i-1 t=1 J T t|pre(t) J T t|pre(t) (S T τ -Γ) (3.15c) = J T i|pre(i) S T τ -Γ , ( 3.15d)
where T i|pre(i) combines the tasks with priorities higher than i. (3.15a) and (3.15d) are derived by multiplying J T i|pre(i) at respectively the left and right sides of the modified dynamics model in (3.12). Then the quadratic form of the task i acceleration extraction in (3.17) can be achieved using (3.15) and the following formula,

ẍi = Λ -1 i|pre(i) F i|pre(i) + T i|pre(i) -h i|pre(i) = A T i τ + B i . (3.16)
where we define h i|pre(i) represents the sum of the Coriolis & centrifugal force and the gravity force in the task i operational space. h i|pre(i) is in the null spaces of tasks with priorities higher than i, detailed in [START_REF] Park | [END_REF]]. A i and B i can be derived using the modified dynamics model in (3.12) as follows,

A T i =J i|pre(i) M -1 S T + J i M -1 i-1 t=1 J T t|pre(t)
J T t|pre(t) S T , (3.17a)

B i = -J i|pre(i) M -1 Γ -J i M -1 i-1 t=1 J T t|pre(t) J T t|pre(t) Γ -Λ -1 i|pre(i) h i|pre(i) . (3.17b)
In addition, ẍ combines all sub-task accelerations as below,

ẍ =    ẍ1 . . . ẍK    =    A T 1 . . . A T K    τ +    B 1 . . . B K    = A T τ + B. (3.18)
The common inequality constraints for this framework (such as the actuation power constraints, the base orientation and position limits, the actuated-joint position and velocity limits, the unilateral contact constraint and the friction cone) are formulated as below, τ min ≤ τ |k ≤ τ max (3.19a) (3.19b) (3.19c)

p b|min ≤ p b|k+1 = p b|k + ṗb|k δt + 1 2 pb|k δt 2 ≤ p b|max
θ b|min ≤ θ b|k+1 = θ b|k + θb|k δt + 1 2 θb|k δt 2 ≤ θ b|max
q s|min ≤ q s|k+1 = q s|k + qs|k δt + 1 2 qs|k δt 2 ≤ q s|max (3.19d) qs|min ≤ qs|k+1 = qs|k + qs|k δt ≤ qs|max (3.19e) u c • F c ≥ 0, (3.19f
) .19h) where |k and δt denote the kth instance and the fixed sampling time, respectively. µ is the friction coefficient. (u c , t c , b c ) are used to select the normal, tangential and lateral directions of the contact force. ṗb , pb , θb and θb are achieved in Appendix D. For our robot with one manipulator, there are total 92 inequality constraints, which includes n a joint actuation limits in (3.19a), 6 constraints relating to the base position and orientation in (3.19b) and (3.19c), n a actuated-joint position limits in (3.19d), n a actuated-joint velocity limits in (3.19e), and 4 constraints for unilateral conditions in (3.19f), 16 constraints relating to the friction cone in (3.19g) and (3.19h).

|t c • F c | ≤ µ √ 2 (u c • F c ) (3.19g) |b c • F c | ≤ µ √ 2 (u c • F c ) , ( 3
The quadratic forms of the contact force F c and the joint acceleration q are extracted using our dynamics model with prioritized impedance controllers in (3.12) as below,

F c = -J T c S T τ + h c + J T c Γ = A T c τ + B c , (3.20a) q = M -1 J T c A T c + S T τ + M -1 J T c B c -C -G -Γ = A T q τ + B q , (3.20b)
where Jc is the dynamically generalized inverse of contact Jacobian. h c denotes the sum of the Coriolis & centrifugal and the gravity forces at the contact points. It is noticed that J T c Γ = 0. In this way, the inequality constraints can be expressed depending on the actuated torque and prioritized impedance forces by substituting the quadratic extractions in (3.20) into (3.19b)- (3.19h), noting that qs = S q. In addition, the control objective and constraints in (3.14) and (3.19) may not have a common solution, a trade-off can be expressed in form of slacks on the inequality constraints in (3.19), detailed in [START_REF] Herzog | [END_REF]].

Compared with conventional weighted optimization, our method presents several advanced advantages: First, when singularity exists for one specific sub-task j in this hierarchy, this null-space based weighted scheme enables us to apply the eigen-decomposition method in [Sentis 2005] to select the feasible motion directions. In addition, our prioritized impedance controllers influence the sub-tasks in a decoupled way. We define P-WQP to represent this prioritized impedance controller based weighted QP solver. The null-space based weighted scheme can be integrated into the hierarchical control framework, detailed in Section 3.4.4.

One New Dynamics Model for Prioritized Impedance Controller based Hierarchical Optimization (P-HQP)

We proposed in [Du 2020f] one general hierarchical optimization solver and one recursively updated dynamics model for each hierarchy optimization. In this chapter, we will extend and improve the solver in several aspects. We propose one new dynamics model for all hierarchies, which is more apparent and general. Then we integrate the prioritized impedance controller into this model, which enables to simplify the task acceleration extraction for each hierarchy, especially for one hierarchy with several sub-tasks. The quadratic forms of the contact force and the joint acceleration are extracted depending on our prioritized impedance controller, which enables the inequality constraints to be compatible with each-hierarchy optimization solver. In this section, we extract the complete quadratic-form acceleration for one hierarchy with only one task. In next section, we will use the model for one hierarchy with more than one task and give the complete sub-task acceleration extraction. Finally, we develop one complete algorithm combining our prioritized impedance controller. Initially, we define P-HQP to represent the prioritized impedance controller based hierarchical QP solver in this subsection, and its control framework is shown in Fig. 3.3, in which we focus on P-HQP controller in the dashed red box. In the conventional method in [START_REF] Escande | [END_REF]]- [START_REF] Dietrich | [END_REF]], the direct impedance controller applying on the task can be added to achieve the task reference as follow,

ẍ * i = ẍd i + K i x d i -x i + D i ẋd i -ẋi , (3.21)
where x d i represents the desired task motion. K i and D i denote the relative stiffness and damping. However, when the designed tasks account all the robot DOF, the methods in the state of the art using (3.21) do not deal with the general impedance controllers which indirectly influence the task. Therefore, for this issue, in this section, we explain how to integrate general impedance controllers into the hierarchical convex optimization using our new dynamics model.

For K hierarchies, there are K desired acceleration references in the operational space, from ẍ * 1 to ẍ * K . The error between the task references ẍ * i and expected ẍi can be used as inputs of the optimization solver. The hierarchical convex optimization in operational space can be designed for each hierarchy simply as,

Q i (τ i ) = ẍ * i -ẍi 2 + ε τ i 2 , (3.22)
where Q i (τ i ) is the cost function. τ i ∈ R na is the optimized required torque for task i which will not conflict the achievement of tasks with priorities higher than level i.

According to the prioritized operational space control framework, the following torque equation embodies a multi-level control hierarchy:

S T τ = K i=1 N T pre(i) S T τ i , (3.23)
where K is the hierarchy number. We propose to modify the generalized dynamics model in (3.12) by substituting (3.23) into it as follows,

M q + C + G = J T c F c -Γ + K i=1 N T pre(i) S T τ i , (3.24)
It is noticed that this modified model is also used to develop the hierarchical torque controller in this subsection and the more complex hybrid control scheme in the subsection 3.4.4. This model can be used any hierarchy. Using the recursively updated dynamics model with prioritized impedance controllers in (3.24), the operational space force for task i can be expressed as below,

F i|pre(i) = Λ i|pre(i) ẍi + h i|pre(i) -T i|pre(i) (3.25a) = Λ i|pre(i) ẍi + h i|pre(i) -Λ i|pre(i) J i M -1 i-1 t=1 J T t|pre(t) F t|pre(t) (3.25b) = J T i|pre(i) -Γ + K t=1 N T pre(t) S T τ t (3.25c) = J T i|pre(i) S T τ i -Γ + i-1 t=1 S T τ t , (3.25d)
where (3.25a) and (3.25c) are derived by multiplying J T i|pre(i) at respectively the left and right sides of the dynamics model in (3.24). Then the quadratic form of the task i acceleration extraction in (3.27) can be achieved by combining (3.16) and (3.25) depending on the prioritized impedance control torque Γ as below, ẍi = A T i τ i + B i , (3.26) where the general matrices A i and B i are derived as follows,

A T i =Λ -1 i|pre(i) J T i|pre(i) S T , (3.27a) B i =J i|pre(i) M -1 -Γ + i-1 t=1 S T τ t -Λ -1 i|pre(i) h i|pre(i) + T i|pre(i) , (3.27b)
where Λ i|pre(i) represents the task i operational space inertia and T i|pre(i) combines all operational space forces of the task levels higher than i, detailed in [Sentis 2005],

T i|pre(i) = Λ i|pre(i) J i M -1 i-1 t=1 J T t|pre(t) F t|pre(t) , (3.28)
where F t|pre(t) can be achieved as below,

F t|pre(t) = J T t|pre(t)   -Γ + K j=1 N T pre(j) S T τ j   = J T t|pre(t) (-Γ + t j=1 S T τ j ), (3.29)
where we use the properties as follows,

J T t|pre(t) N pre(j) = J T t|pre(t) , if j ≤ t, (3.30a) = 0, if j > t, ( 3.30b)
In Appendix B, we explain the derivations of A i and B i for the hierarchical convex optimization. In this way, the prioritized impedance controller is integrated into the hierarchical convex optimization. Then (3.26) is derived and is substituted to (3.22) to achieve the optimized torque for the current hierarchy.

It is noticed that in the beginning, the required torque for each task τ i , i ∈ {1, • • • , K}, is set with zero vectors. Then in the hierarchy i optimization, (τ 1 , • • • , τ i-1 ) are known, τ i is the optimized variable, and (τ i+1 , • • • , τ K ) are still zero vectors. Therefore, the actuated torque τ in (3.23) can be expressed for hierarchy i as below, (3.31) where this actuated torque τ combines the outputs of hierarchy ≤ i and it is used for the inequality constraints in (3.19). In this additional recursive way, for the final hierarchy, the index i in (3.31) is equal to K.

τ = W i t=1 N T pre(t) S T τ t = W N T pre(i) S T τ i + i-1 t=1 N T pre(t) S T τ t ,
For the hierarchy i, the quadratic form of the contact force can be rewritten according to the optimized variable τ i by substituting (3.31) into (3.20a) as follows, (3.32) where A ci and B ci are derived combining (3.20a) and (3.31) as below,

F c = A T ci τ i + B ci ,
A T ci = -J T c S T W N T pre(i) S T , ( 3.33a
)

B ci = h c + J T c Γ -J T c S T W i-1 t=1 N T pre(t) S T τ t , (3.33b)
and the quadratic forms of the joint acceleration in (3.20b) can be rewritten as follows, q = A T qi τ i + B qi , (3.34) where A qi and B qi are derived combining (3.20b) and (3.31) as below,

A T qi = M -1 J T c A T ci + S T W N T pre(i) S T , ( 3.35a
)

B qi = M -1 J T c A T ci + S T W i-1 t=1 N T pre(t) S T τ t + M -1 J T c B ci -C -G -Γ , ( 3.35b)
where (A ci , B ci ) and (A qi , B qi ) are used for the optimization of the hierarchy i. It is noticed that after all task hierarchies are solved, the final F c is the final contact force for all tasks. The base angular velocity in the float-base frame can be expressed as below,

ω b =   1 0 -sin(β) 0 cos(α) cos(β) sin(α) 0 -sin(α) cos(α) cos(β)   Θ θb , (3.36a) ωb = Θ θb + Θ θb , (3.36b)
then θb and θb can be achieved using the following relationships,

θb = Θ -1 ω b , (3.37a) θb = Θ -1 ωb -Θ -1 Θ θb , (3.37b)
The base translational velocity is derived as follows,

ṗb = 0 R b v b , (3.38a) pb = 0 R b ( vb + ω b × v b ) , (3.38b)
where 0 R b is the rotation matrix from the floating-base frame to the inertial frame. v b is the base translational velocity expressed in the floating-base frame.

In this way, the extractions in (3.32) and (3.34) can be substituted into (3.19b)-(4.18b) to construct the contact and joint constraints for the hierarchy i optimization framework. For this actuated-torque constraint, (3.31) can be substituted into (3.19a). Then the inequality constraints in (3.19) are rewritten as follows,

τ min ≤ W N T pre(i) S T τ i + W i-1 t=1 N T pre(t) S T τ t ≤ τ max (3.39a) p b|min ≤ 1 2 δt 2 R T b S b A T qi τ i + p b|k + ṗb|k δt + Ξ b|k ≤ p b|max (3.39b) θ b|min ≤ 1 2 δt 2 Θ -1 S θ A T qi τ i + θ b|k + θb|k δt + Ξ θ|k ≤ θ b|max (3.39c) q s|min ≤ 1 2 δt 2 SA T qi τ i + 1 2 δt 2 SB qi + q s|k + qs|k δt ≤ q s|max (3.39d) qs|min ≤ δtSA T qi τ i + δtSB qi + qs|k ≤ qs|max (3.39e) u T c A T ci τ i + u T c B ci ≥ 0, (3.39f) - µ √ 2 u T c A T ci -t T c A T ci τ i ≤ t T c B ci + µ √ 2 u T c B ci (3.39g) - µ √ 2 u T c A T ci + t T c A T ci τ i ≤ µ √ 2 u T c B ci -t T c B ci (3.39h) - µ √ 2 u T c A T ci -b T c A T ci τ i ≤ b T c B ci + µ √ 2 u T c B ci (3.39i) - µ √ 2 u T c A T ci + b T c A T ci τ i ≤ µ √ 2 u T c B ci -b T c B ci , ( 3.39j)
where S θ and S b are used to select the first and second 3 rows of q. (3.39g) and (3.39h) both constitute the inequality constraint in (3.19g). In addition, (3.39i) and (3.39j) are built to represent the constraint in (3.19h). In addition, Ξ b and Ξ θ in (3.39b) and (3.39c) respectively are achieved as below,

Ξ b = 1 2 0 R b (S b B qi + ω b × v b ) δt 2 , ( 3.40a
)

Ξ θ = 1 2 Θ -1 S θ B qi -Θ θb δt 2 . (3.40b)
Compared with the recent hierarchical control solvers in [START_REF] Bellicoso | [END_REF]], [START_REF] Herzog | [END_REF]], [Kanoun 2011], [START_REF] Lasa | [END_REF], this P-HQP solver combines the benefits of the four algorithms and we extract each task reference by taking full advantages of the null-space based multi-task operational space dynamics control scheme. This enables the several tasks to be decoupled, which is expressed in the control objective and the inequality constraints. In addition, the equality constraints are eliminated from one QP to the other, resulting in faster solvable QPs. For our approach, the inequality constraint number is the same for all hierarchies. However, the inequality constraints in [START_REF] Lasa | [END_REF] are included only in the first priority. Instead, the methods in [START_REF] Bellicoso | [END_REF][START_REF] Herzog | [END_REF]][Kanoun 2011] allow for prioritization among inequality constraints, then the constraints for the lower hierarchies are added into the higher hierarchies, and this enlarges the constraint number. Furthermore, our method is more general which is achieved by using the principle of one new dynamics model. Our method is sufficiently fast shown Section 3.5, which is also suitable for high-DOF robots, e.g. humanoids. With an active set method, it can outperform QP cascades in terms of speed. The open-source library in [START_REF] Ferreau | [END_REF]] enables the use of warm-start techniques to speed up the computations. To be emphasized, as the focus of this chapter is the prioritized impedance controller, our approach enables to integrate it into the QP problem formulation easily, and it is implemented successfully in Section 3.5. Another practical advan-tage of our method is the easily implemented regularization in face of task singularities by applying the eigen-decomposition method, as discussed in [Sentis 2005].

Integration of the Prioritized Weighted Scheme in the Hierarchical

Optimization (P-HWQP)

In this section, the integration of prioritized impedance controller is researched for a more complex scenario. When tasks in one hierarchy need importance distribution and no priority can be decided, the weighted scheme in Section 3.4.2 should be applied. Assume that there are r i sub-tasks in the hierarchy i and they should all be in the null space of tasks with higher priorities. The Jacobian for the r i sub-tasks is written as,

J i = J T i1 • • • J T ir i T , (3.41)
where J ij is the Jacobian for task j in hierarchy i. After the previous (i -1) hierarchies are calculated, the r i tasks in hierarchy i will be optimized together and contribute to the current-hierarchy required torque. The required dynamics model for this weighted scheme becomes from (3.12) to (3.24). The prioritized impedance controller should be modified as follows, (3.42) where Γ integrates the prioritized total impedance control torque for the strict hierarchies with indexes ≤ (i -1) and ≥ (i + 1), and the hierarchy i with r i sub-tasks. Using the recursively updated dynamics model with prioritized impedance controllers in (3.24), the operational space force for task i can be expressed as below,

Γ = i-1 t=1 J T t|pre(t) J T t|pre(t) + ri p=1 J T ip|pre(ip) J T ip|pre(ip) + K t=i+1 J T t|pre(t) J T t|pre(t) τ im k ∈ R n ,
F ij |pre(ij ) =Λ ij |pre(ij ) ẍij + h ij |pre(ij ) -T ij |pre(ij ) (3.43a) = J T ij |pre(ij ) S T τ i -Γ + i-1 t=1 S T τ t , ( 3.43b)
where (3.43a) and (3.43b) are derived by multiplying J T ij |pre(ij ) at respectively the left and right sides of the dynamics model in (3.24). T ij |pre(ij ) combines the tasks with priorities higher than i, and the subtasks from i 1 to i j-1 .

T ij |pre(ij ) =Λ ij |pre(ij ) J ij M -1 i-1 t=1 J T t|pre(t) F t|pre(t) + j-1 p=1 J T ip|pre(ip) F ip|pre(ip) =Λ ij |pre(ij ) J ij M -1 i-1 t=1 J T t|pre(t) J T t|pre(t) (-Γ + t k=1 S T τ k ) + Λ ij |pre(ij ) J ij M -1 j-1 p=1 J T ip|pre(ip) J T ip|pre(ip) (S T τ i -Γ + i-1 t=1 S T τ t ) =U ij τ i + V ij , (3.44)
where U ij and V ij can be extracted as follows,

U ij = Λ ij |pre(ij ) J ij M -1 j-1 p=1 J T ip|pre(ip) J T ip|pre(ip) S T , (3.45a) V ij =Λ ij |pre(ij ) J ij M -1 i-1 t=1 J T t|pre(t) J T t|pre(t) (-Γ + t k=1 S T τ k ) + Λ ij |pre(ij ) J ij M -1 j-1 p=1 J T ip|pre(ip) J T ip|pre(ip) (-Γ + i-1 t=1 S T τ t ) . (3.45b)
For this hybrid control scheme, we develop an algorithm using several middle-process variables to simplify the calculation of U ij and V ij , as shown in Algorithm 1. Then the quadratic form of the task i j acceleration extraction in (3.48) by combining (3.43) and the following formula,

ẍij = Λ -1 ij |pre(ij ) F ij |pre(ij ) + T ij |pre(ij ) -h ij |pre(ij ) = A T ij τ i + B ij , j ∈ {1, • • • , r i } (3.46)
Then one weighted optimization framework should be added using the cost function in (3.22). The task reference combines the r i sub-tasks as follows, .47) where the coefficient matrices A ij and B ij are derived using the current hierarchy dynamics model in (3.24) as follows,

ẍi =    ẍi1 . . . ẍir i    =    A T i1 . . . A T ir i    A T i τ i +    B i1 . . . B ir i    Bi , ( 3
A T ij = J ij |pre(ij ) M -1 S T + Λ -1 ij |pre(ij ) U ij , ( 3.48a
)

B ij = J ij |pre(ij ) M -1 -Γ + i-1 t=1 S T τ t + Λ -1 ij |pre(ij ) V ij -h ij |pre(ij ) . (3.48b)
The control objective of this integrated weighted scheme is expressed as follows,

Q i (τ i ) = ẍ * i -ẍi 2 wi + ε τ i 2 , ( 3.49)
where w i is the weight matrix for the hierarchy i with several sub-tasks. The constraints are referred in the hierarchical framework in (3.39) in Section 3.4.3.

Compared with the hybrid control scheme in [De Lasa 2010], our hybrid scheme is more general by combining the both advantages of the null-space based weighted solver and the pure hierarchical solver, discussed in in Section 3.4.2 and Section 3.4.3 respectively. Then we define P-HWQP to represent the prioritized impedance controller based hierarchical-weighted QP solver. The detailed algorithm is defined in Algorithm 1, which can also be used for P-WQP and P-HQP controllers.

Simulation

The torque control schemes with prioritized impedance controller are tested on our virtual robot in Fig. 2.1. For the optimization technique based control schemes, the convex optimization is implemented using the QPOASES library, a real-time open source QP solver [START_REF] Ferreau | [END_REF]]. The simulation results are reported using the physical engine established by ROS-GAZEBO, in which we apply several virtual sensors, including GPS for the real-time robot localization, IMU for the base orientation and angular velocities, joint position encoders and torque sensors for joint state measurements. The simulation results can also be referred in the video1 for this chapter.

We concentrate on the rolling mode and the quadruped-CoM translational motion serves as the reference which is set to be in the sagittal plane. Its forward motion is achieved by the wheeled locomotion and its vertical and lateral motion are handled by the legged suspension, e.g. squatting motion. Its desired leg-joint references are generated by one legged motion generator which also computes the desired base angular motion. The desired legged motion serves as the inputs of the wheel motion generator. Since the wheel contact points always change even when the robot squats down, to track the quadruped-CoM motion, the wheel motion should be consistent with the legged suspension. The consistent wheel velocity can be derived combining one contact kinematic velocity constraint and the quadruped centroidal Algorithm 1 The Hybrid Hierarchical-Weighted Convex Optimization (P-HWQP) P-HWQP in Section 3.4.4 combines P-WQP in Section 3.4.2 and P-HQP in Section 3.4.3 together, and the developed algorithm is presented by introducing several middle-process variables.

Inputs:

User-defined inputs: K hierarchies. Each hierarchy has r i 1 sub-tasks. Desired motion inputs: All task acceleration references from motion generators. Instantaneous feedback inputs: Joint position q and velocity q from sensors.

Re-evaluated parameters:

Generalized dynamics parameters: M , C, G. Prioritized Impedance Controller: Γ.

Middle-process variables: L i and H i , i ∈ {0, • • • , K} to denote the sum of the torque in the actuated joint space and in the generalized coordinate space. L 0 = 0 and H 0 = 0.

Initialization: τ = 0, τ i = 0, i ∈ {1, • • • , K}.
for i=1 to K do Re-evaluate the extractions of F c and q: A ci , B ci , A qi , B qi .

if hierarchy i has 1 task then % hierarchy i has 1 task. Apply null-space based hierarchical control scheme.

Re-evaluate the task parameters:

J i , J i|pre(i) , Ji|pre(i) , Λ i|pre(i) , h i|pre(i) . A T i = Λ -1 i|pre(i) J T i|pre(i) S T B i = J i|pre(i) M -1 (S T L i-1 -Γ) -Λ -1 i|pre(i) h i|pre(i) + J i M -1 H i-1 τ i = arg min τi ẍ * i -ẍi 2 + ε τ i 2 s.t. the inequality constraints in (3.39) L i = L i-1 + τ i F i|pre(i) = J T i|pre(i) (S T L i -Γ) H i = H i-1 + J T i|pre(i) F i|pre(i) τ = τ + W N T pre(i) S T τ i else
% hierarchy i has r i sub-tasks. Apply the null-space based weighted control scheme.

Initialization of middle-process variables:

P j , j ∈ {0, • • • , r i }, P 0 = 0.
Re-evaluate the sub-task parameters: In subsection 3.5.1, the P-WQP control scheme is verified using TowrISIR with the manipulator on its floating base. In subsection 3.5.2, we use one more complex scenario to test our P-HWQP controller. The pseudo-inverse dynamics scheme with our prioritized impedance controller is applied in the first two simulations in Chapter 4, and the P-HQP controller is verified in the second two simulations in Chapter 4 and simulations in Chapter 5. Since the null-space based theory can handle the priorities among several hierarchies in the feed-forward torque controller and the prioritized impedance controller, we use simulations to validate the effectiveness and capabilities of our prioritized impedance controller based several control schemes.

J ij , J ij |pre(ij ) , Jij|pre(ij) , Λ ij |pre(ij ) , h ij |pre(ij ) . for j = 1 to r i sub-task do U ij = Λ ij |pre(ij ) J ij M -1 P j-1 S T V ij = Λ ij |pre(ij ) J ij M -1 {H i-1 + P j-1 (S T L i-1 -Γ)} A T ij = J ij |pre(ij ) M -1 S T + Λ -1 ij |pre(ij ) U ij B ij = J ij |pre(ij ) M -1 (S T L i-1 -Γ) + Λ -1 ij |pre(ij ) {V ij -h ij |pre(ij ) } P j = P j-1 + J T ij |pre(ij ) J T ij |pre(ij ) end A i = [A ij , • • • , A ir i ] and B i = [B T i1 , • • • , B T ir i ] T τ i = arg min τi ẍ * i -ẍi 2 wi + ε τ i 2 s.t. the inequality constraints in (3.39) L i = L i-1 + τ i H i = H i-1 + P ri (S T L i -Γ) τ = τ + W N T pre(i) S T τ i end end

Simulations for the Prioritized Weighted Optimization

Although our tetrapod-on-wheel robot can work in various scenarios, we focus on two complex missions, including opening a door when running on a flat ground, and washing a wall when running on uneven terrain. In order to evaluate the performance of our P-WQP controller, we perform two simulations at the velocity 1m.s -1 . Legged motion (e.g. walking) is not considered in this chapter but will be analyzed in future works. Therefore, the whole-body CoM motion is only contributed by the wheel motion. The robot reference is set as a straight line in the robot forward direction. Although the importance levels of the tasks should be decreased from the CoM task to the wheel task, then to the manipulator task, in the two simulations, the weighted matrix is tuned to be identity in the cost function. Since the legged motion is only for active suspension which determines that the robot cannot turn. Therefore, the quadruped-CoM motion references for two simulation scenarios are set to be in the sagittal plane and its lateral reference is always zero.

In the first scenario, the robot runs on the flat terrain shown in Fig. 3.4(a). At the door axis, we install a virtual spring which generates a resistance force when the robot uses its manipulator to push it open, beginning at t ≈ 7s (see Fig. 3.7(1c)). The end effector keeps in touch with the door for a while and changes its orientation according to the door motion. The second scenario relates to a more complex environment in which the robot runs on an uneven terrain (as can be seen in Fig. 3.4(b)), along with washing a wall using the manipulator end effector which keeps contact with the wall. The robot begins to climb on two bumps at t ≈ 9.8s and t ≈ 14.4s (see Fig. 3.7(2a) and ( 2b)). The arm end effector begins to touch the wall at t ≈ 9.6s and ends at t ≈ 14.6s as noticed in Fig. 3.7(2c).

The first simulation results are shown in Fig. 3.5 with index 1. The quadruped centroidal motion experiences a slight tracking fluctuation when the robot uses its manipulator to push the door. Along the whole process, the robot-CoM tracking error is very small, and the desired and actual trajectories are almost coincident as can be noticed in Fig. 3.5(1a). For the wheel motion, the four wheel tracking errors are plotted in Fig. 3.5(1b) and since four wheels experience the almost coincident trajectory, only the desired and actual front-left wheel positions are plotted in Fig. 3.5(1b). We can see that on flat terrain, even though the rolling friction is not unknown, by using our null-space based impedance controller in (3.5), the wheels can track the motion references with very small errors along the whole running process. For the manipulator motion, due to the unknown resistance force at the door axis, the position and orientation errors of the manipulator end effector experiences a relatively big fluctuation along the open-door process in Fig. 3.5(1c). The tracking errors for the three tasks can be adjusted by modifying the relative impedance controller parameters and the relative weight in the cost function.

With our dynamics controller, the robot successfully finishes the missions with compliance.

The second simulation results for the tasks are also shown in Fig. 3.5 with index 2. The desired robot CoM position in vertical direction is 0.4735m. Because of the existence of two bumps on the rough terrain, compared with the first simulation results, the CoM tracking in forward and vertical directions experience a moderately larger error (see Fig. 3.5 (2a)), however, the errors are still very small along the whole process. We can see that the wheel tracking errors (see Fig. 3.5 (2b)) are larger than those provided when running on the flat ground. Since the rough geometry is unknown and the wheel-contact points are always estimated at the lowest points of the wheels in the wheel sagittal plane, it is not accurate when the robot crosses over the continuous bumps. The imprecise wheel-contact point estimation influences the outputs of the motion generator and the results of the quadruped-CoM tracking when crossing bumps, shown in Fig. 3.5(2a). This issue will be treated in our future works by developing an estimation method for the contact points. For the manipulator motion, to maintain the contact condition between the manipulator end effector and the wall, the manipulator trajectory is defined in a larger range. The end effector experiences a little higher error along the wall-washing motion, shown in Fig. 3.5(2c). However, even on unknown rough terrain and with large manipulator motion errors, by applying our compact dynamics controller and compatible impedance controllers, the robot successfully finish the missions with compliance and efficiency, especially tracking the quadruped-CoM motion.

Simulations for the Hybrid Hierarchical-weighted Optimization

In the scenario shown in Fig. 3.6, TowrISIR with the manipulator is applied. We also control three tasks, ranked by priority from high to low as the quadruped centroidal motion task, the wheel motion task and the manipulation task. The scenario in Fig. 3.6 relates to the robot driven on the rough terrain along while holding one handrail using its arm. After the robot leaves the handrail, the robot retracts its arm and squats down to cross through one desk (there is one bump under the desk). The positions of the handrail and the desk are known and the ground profile is unknown. sub-tasks, including the translational motion sub-task and the angular motion sub-task, which enables to verify our hybrid control framework. For robots with more DOFs, e.g. humanoid robots, it is difficult to judge priorities among several tasks, therefore, our hybrid control scheme can be applied naturally. The simulation results are shown in Fig. 3.7. Along the whole process, the centroidal motion tracking errors are very small. The desired and actual trajectories are almost coincident as can be seen in Fig. 3.7(a) and 3.7(b). Even when the robot squats down to cross through one desk with an unknown bump under it, the prioritized impedance controller still enables the tracking performance of the CoM height reference with small errors. Since the quadruped-CoM translational motion is one sub-task in the nullspace based weighted scheme, its tracking performance can also be improved by adjusting the weight in the weighted scheme. The legged motions satisfy the contact constraint and the task hierarchy, they follow the centroidal motion reference to achieve the squatting motion. The impedance controller for the legged motion indirectly influences the whole-body behaviors, and it is integrated into our prioritized impedance controller to guarantee the legged motion to be consistent with the task hierarchies and enable the robot to return back to its normal state after crossing over several bumps. The inaccurate contact model induces the wheel motion with moderately larger tracking errors (c.f. Fig. 3.7(c)) when the robot climbs on bumps. In addition, it is difficult to estimate the rolling resistance force due to the unknown rolling friction. However, the wheel motion error at the end of the whole process remains around 0.15rad which is very small because of the component related to the wheel motion in the prioritized impedance controller. For the manipulator motion, its trajectory is defined in a bigger range to enable the robot to hold the handrail all the time. The orientation and position errors of the manipulator motion experience a relatively big fluctuation, c.f. Fig. 3.7(d). However, even the external touchinghandrail force is unknown, the robot still successfully holds the handrail by using our hybrid dynamics controller integrated with our prioritized impedance forces. In this simulation scenario, even with several interaction uncertainties, including the unknown rough terrain with bumps, the imprecise contact points, the unknown rolling resistance and the unknown external force from the handrail, the robot successfully handles these missions with compliance, especially for the centroidal motion tracking mission, by using our compliant torque controller. Then we simulate this scenario shown in Fig. 3.6 by using the P-WQP solver and the P-HQP solver respectively. They both can handle the missions successfully. We select to compare the performances relating to the CoM forward and lateral position errors by setting the same gains in the impedance controllers for the two solvers. For the weighted scheme, we artificially set the weight for the manipulator motion to be bigger than the CoM and wheel motions. The CoM tracking performances are shown in Fig. 3.8. We can see that the CoM tracking error is smaller in the forward direction using the hierarchical scheme than that using the weighted one, c.f. Fig. 3.8(a). In addition, the CoM lateral motion experiences a smaller fluctuation for the hierarchical solver (see Fig. 3.8(b)). The CoM tracking performance for the weighted scheme can be improved by adjusting the relative task weight. Even though the centroidal motion tracking has better performance by using P-HQP, the selection of the two solvers depends on the user-defined applications. If one application requires the strict hierarchy, and the tasks with low priorities cannot conflict the tasks with high priorities, P-HQP is a better option. If the tasks can only be distributed with importance levels without strict priorities, P-WQP is a better choice.

Finally, we use the same environment to compare the influences by one impedance controller on one specific task. We select to use the P-HQP solver for our quadruped-on-wheel robot, and the manipulator is not used to reduce influences from the external touching-handrail force to the tracking results of the centroidal and wheel motions. The centroidal motion task still has the high priority and the wheel motion task has the low priority. The gains for the impedance controller relating to the wheel motion in (3.5) are set with high values and low values. The other parameters are set to be all the same. Then the results for the two tasks are shown in Fig. 3.9. We can see that the wheel-joint motion with the low gain experiences an apparent larger fluctuation compared with that with the high gain, c.f. Fig 3.9(b). In contrast, the centroidal motion with high priority experiences very similar processes even the gains for the wheel motion are set to be quite different, c.f. Fig. 3.9(a). In this way, the hierarchical control between the two tasks is ensured.

In this section, all simulations are done on a usual PC with an i7-7700 CPU, 3.6GHz. The sampling time is fixed with 2ms. For the quadruped-on-wheel manipulator, one QP is solved at each time step which has 22 decision variables and 92 inequality constraints. The maximum calculation period is 1.2ms for the P-WQP solver, and is 1.35ms for the P-HQP and P-HWQP solvers, which is efficient and suitable for the real-time control of other locomotion robots with high DOFs. The selection of these torque controllers depend on the application requirements.

To summarize, the results provided by our approaches are quite satisfactory. The prioritized impedance controller based dynamics controllers enable the robot to handle complex tasks respecting contact constraints and hierarchy priorities. Even with the changing environment and unknown external forces, using our embedded prioritized impedance controller, our robot successfully handles the missions with compliance. For the three optimization based techniques, they can be selected depending on user-defined functions. When all tasks cannot be distributed with strict priorities, the null-space based weighted scheme can be selected. For applications with strict priorities, the hierarchical scheme is more advantageous. The hybrid control framework is more general for applications in which some hierarchies only have one task in each one of them, and some hierarchies have several sub-tasks. The simulation results can also be referred in the video for this chapter. In the following chapters relating to the model based wheeled and legged motion generators, we will only introduce the differences in the relative torque control sections.

Summary

In this chapter, we propose the prioritized impedance controller. This strategy is integrated into four improved hierarchical torque control methods. In the pseudo-inverse dynamics approach, the generalized dynamics model is modified to integrate our prioritized impedance controller, which result in the multi-task torque control naturally with the hierarchical compliance. In the null-space weighted convex optimization method, the modified dynamics model is used to achieve the task acceleration extraction, in this way, the prioritized impedance controller is integrated. Compared with conventional weighted QP, the null-space based weighted scheme enables the impedance controllers to be decoupled to the specific designed sub-tasks, especially for impedance controllers which indirectly influence the designed tasks. In addition, for the torque controller based on the hierarchical convex optimization, we propose one new dynamics model to incorporate our prioritized impedance controller. To be emphasized, the new dynamics model embodies the multi-level control hierarchy, the hierarchical task reference is extracted from this model which enables various impedance controllers to be integrated compatibly with priorities. The inequality constraints are modified to be compatible with the optimization solver by extracting the quadratic forms of the contact force and the joint acceleration from our new dynamics model. Then we use our proposed model to integrate the prioritized impedance controller into a more complex scenario which combines the hierarchical and the null-space based weighted schemes together. The modified or new dynamics model enable the achievement of the more general and complete hierarchical optimization solvers, both for the task acceleration extraction and the same number of constraints. In the simulations, we test the pseudo-inverse dynamics and the optimization based techniques. The results show that the control schemes with the prioritized impedance controller enable our robot to handle complex missions efficiently and compliantly. This chapter proposes two kinds of motion generators for a quadruped-on-wheel robot which has the ability to cross various rough terrains with a much-altitude difference using the model-based whole-body torque control. The two motion generators both track the centroidal motion of one quadruped-onwheel robot. The whole-body inverse kinematics model is derived using spatial vectors. In the first wheel motion generator, we assume that desired legged suspension is known, and the desired wheel motion can be achieved by combining the robot centroidal momentum & dynamics model and the wholebody kinematics model. In the second whole-body motion generator, the desired legged suspension can be derived on-line. The whole-body motion generator tracks the centroidal translational motion in the forward and lateral directions in the inertial frame, and the centroidal height motion relative to the base frame in the base vertical direction. Then the whole-body motion generator is developed by combining both the kinematics model, the wheel-center motion model, the robot centroidal momentum and dynamics models, and one proposed altitude control model. Finally, the robot is simulated to be driven on various rough terrains with compatible dynamic behaviors by using the developed torque controllers in Chapter 3. Both the feed-forward and feedback controllers respect the contact constraints to enable stable locomotion behaviors.

Chapter 4

Model-based Wheeled Locomotion

Introduction and Chapter Outline

From a practical point of view, quadruped-on-wheel robots combine both strengths of the two kinds of robots, and can perform more versatile locomotion modes from rolling to walking, running, jumping and hybrid locomotion modes. However, these enhanced locomotion abilities come with more complex dynamics model, consistent whole-body motion generation and multi-task torque control. According to the state of the art relating to the wheel motion generation in Chapter Introduction, in this chapter, we also track the robot centroidal motion for our quadruped-on-wheel robot, and achieve the kinematics contact constraints in the second order. Then we step further and derive the relationship in the acceleration level between the centroidal motion and all wheel-leg motions. Therefore, the centroidal dynamics should be applied without the leg-massless assumption. Since the legged suspension results in the change of the whole-robot CoM relative to the base, we select to control this relative motion which is independent of the terrain geometry, and it enables the robot with one novel altitude control especially on unknown environment with a much-altitude difference.

In this chapter, we focus on the rolling based locomotion and propose a new adaptive whole-body motion generator to track the whole-body centroidal motion reference of one quadruped-on-wheel robot, and present a set of scientific theoretical contributions for this purpose. All wheels are in contact with the ground, and the legged motion is used as an active suspension and the base height control. In the first wheel motion generator, the desired legged suspension is pre-defined and the wheel motion generator is developed by combining both the kinematics model and the robot centroidal momentum/dynamics model and the models are decomposed into three components relating to the base motion, the legged motion and the wheel motion. Then we step further to develop the second whole-body motion generator by combining the whole-body inverse kinematics model, the wheel-center motion model, the robot centroidal momentum/dynamics model and one proposed altitude control model. Apart from the centroidal translational motion references in the forward and lateral directions of the inertial frame, we select to control the centroidal height motion relative to the base frame in the base vertical direction, which enables the robot to run on terrains with high roughness and high altitude variation. The whole-body velocity generator is established by using the actual robot configuration, and the whole-body acceleration generator is developed by applying the actual robot configuration and body velocities, which enable the robot with robustness and adaptiveness on unknown terrains. Finally, the torque controller P-HQP developed in Chapter 3 is used to track the centroidal motion and validate our whole-body motion generator.

The remainder of this chapter is organized as follows. Section 4.2 and Section 4.3 constitute the main contributions of this chapter which describes the new wheel-motion generator and the whole-body motion generator, which both track the robot centroidal motion. In the first wheel-motion generator, by given the desired the legged suspension, we achieve the wheel motion by combining the centroidal momentum & dynamics model and the whole-body kinematics model. In the second whole-body motion generator, the desired legged suspension is generated on-line, and we propose the altitude control model to interpret the robot internal motion for the robot height control. Then the desired whole-body motion is derived by combining the kinematics model, the altitude control model, the wheel-center motion model, and the centroidal momentum and dynamics models. In Section 4.4, the feedback impedance controller is presented and they are integrated into the torque controller in Chapter 3. In Section 4.5, we use the torque controller P-HQP to validate our whole-body motion generator through two numerical simulations using our virtual quadruped-on-wheel robot. Section 4.6 closes the chapter with the conclusion.

Wheel Motion Generator

When the robot runs on various rough terrains, tracking the whole-body CoM motion is advantageous since the system translational and angular momentum can be defined at the robot CoM naturally. We set a frame at the quadruped CoM to be parallel with the inertial frame, which enables convenience to control the quadruped-CoM motion in the inertial frame. In the control framework shown in Fig. 4.1, the quadruped-CoM translational motion serves as the reference. Its forward motion is achieved by the wheeled locomotion, and its vertical and lateral motions are handled by the legged suspension, e.g. the squatting down motion and the motion relating to the lateral push recovery. The desired leg-joint references are generated by one legged motion generator which also outputs the desired base angular motion, shown in Fig. 4.1, and the superscript d denotes the desired values of any vector. In this chapter, we concentrate on the rolling mode and all legs are maintained in contact with the ground. For the normal stance state of the robot, we simply set the desired legged-joint velocity and acceleration to be zero, qd r = qd r = 0 3nc×1 . In addition, the desired base angular velocity and acceleration are also set with zero vectors, ω d b = ωd b = 0 3×1 . Then the desired velocities and accelerations of the legged motion and the base angular motion are applied as the inputs of the wheel motion generator. Although these settings are simple, the adaptive wheel motion generators (depending on actual legged configuration and velocity) in this section output the adaptive wheel motion reference, then the compliant torque controller in Section 4.4 enables the robot to handle various rough terrains successfully, shown in Section 4.5. Since the torque controller is built in the operational space, the desired legged motion setting is not used, detailed in Section 4.4.

It is known that the wheel contact points always change even when the robot squats down, this is different with the conventional quadruped robots. Therefore, to track the quadruped-CoM motion, the wheel motion should be consistent with the actual legged suspension. The wheel velocities and accelerations are achieved by combining the inverse kinematics model and the centroidal momentum/dynamics model. We use the actual leg configuration to achieve the desired wheel velocities, and we use the actual leg configuration/velocity to achieve the desired wheel accelerations, which enables the robot to adapt effectively on unknown environment. The inputs of the wheel velocity and acceleration generators are {p G , v d G , θ b , ω d b , q r , qd r , q w } and {p G , v G , vd G , θ b , ω b , ωd b , q r , qr , qd r , q w , qw } respectively (see Fig. 4.1), and p G denotes the quadruped-CoM position. The global solving process: by given the inputs for the wheel velocity and acceleration generators, the base translational velocity v b and acceleration vb can be extracted out from the centroidal momentum and dynamics models respectively. Then v b and vb are substituted into the whole-body inverse kinematics models in (2.23) and (2.24) respectively. Then the wheel velocity qw and acceleration qw can be derived. The desired wheel position can be estimated in each loop. Several algorithms listed in Tab. 4.1 are developed for the mathematical derivations of the model decompositions. In the following parts, the superscript of the desired variables d is omitted. The outputs of the wheel velocity generator are used in the impedance controllers in Section 4.4.1 which is integrated into the prioritized impedance controller based hierarchical torque control framework in Chapter 3.

Wheel Velocity Generator

To track the robot centroidal translational velocity reference, the wheel motion qw can be derived by combining the differential kinematic model in (4.1a) and the quadruped centroidal momentum model in (4.1b) as follows, (4.1b) where (4.1a) is equivalent with (2.23b) by setting L = L bω L bv L r , in which L bω and L bv are the first and second three columns of L in (2.22) respectively. h G denotes the centroidal momentum and it is composed by the angular momentum k G and the translational momentum l G . In addition, v G represents the centroidal spatial velocity, ω G and v G represent the centroidal angular and translational velocity respectively. I Gω and I Gv are the left and right three columns of I G . j X b transforms spatial vectors from the base frame to the body j frame. I j ∈ R 6×6 and v j represent the body j spatial inertia and spatial velocity respectively. The body and joint indexes are shown in Fig. 2.3(a). It is noticed that the spatial acceleration is defined as the rate of change of the spatial velocity, and it differs from the classical textbook definition of the rigid-body acceleration, referred in [START_REF] Siciliano | [END_REF]]. Therefore, we have the relationship between pG and vG as follows, (4.2b) and the relationship between pb and vb is written in (3.38).

L w qw = L v b qr = L bω ω b + L bv v b + L r qr , (4.1a) h G = k G l G = I G v G = I Gω I Gv ω G v G = b X T G N B j=1 j X T b I j v j ,
v G = ṗG , (4.2a) vG = pG -ω G × v G ,
The centroidal momentum model in (4.1b) can be decomposed into components relating to the base motion, the legged motion and the wheeled motion as follows,

I G ω G v G = Q b ω b v b + Q r qr + Q w qw , ( 4.3)
where Q r qr ∈ R 6 denotes one component of the centroidal momentum which is contributed by the leg bodies (except the wheels), and it can be derived using the algorithm in Tab. 4.1(b). Q b ∈ R 6×6 and Q w ∈ R 6×4 are inertia-like matrices relating to the base spatial motion and the wheel motion as below,

Q b = Q bω Q bv = I G J b G = b X T G I C b , (4.4a) Q w = b X T G w1 X T b I w1 Φ w1 • • • w4 X T b I w4 Φ w4 , (4.4b)
where Q bω and Q bv are the left and right three columns of Q b . In addition, I wi is the leg i wheel inertia, and wi X b transforms spatial vectors from the base frame to the leg i wheel frame. To achieve the wheel velocities, firstly we extract the base translational velocity out mathematically from (4.3) as follows,

v b = Γ Gb ω b v G -Γ r qr -Γ w qw , (4.5)
where Γ Gb , Γ r qr and Γ w are derived as below,

Γ Gb = S c [-I Gω Q bv ] -1 [-Q bω I Gv ] ∈ R 3×6 , (4.6a) Γ r qr = S c [-I Gω Q bv ] -1 Q r qr ∈ R 3 , (4.6b) Γ w = S c [-I Gω Q bv ] -1 Q w ∈ R 3×4 . (4.6c)
Initialize B = v b × I b v b = v1 × I1v1, E = 0, e1 = 0, b1 = 0. for j=2 to NB do ej = j X p(j) e p(j) + Φj qj E = E + j X T 1 Ijej bj = j X p(j) b p(j) + vj × Φj qj B = B + j X T 1 (Ijbj + vj × Ijvj) end Qr qr = 1 X T G E and Q bias = vG × IGvG -1 X T G B
In this way, we achieve the relationship between the base translational velocity and the wheel velocity in (4.5), and it is substituted into the differential kinematics model in (4.1a),

(L w + L bv Γ w ) qw = L bv Γ Gb ω b v G -Γ r qr + L r qr + L bω ω b , (4.7)
where qw can be derived using the Moore-Penrose inverse method. After achieving the wheel velocity qw , the robot centroidal angular velocity ω G and the base translational velocity v b can also be derived as by-products as follows,

ω G v b = I Gω -Q bv -1 Q bω -I Gv ω b v G + Q r qr + Q w qw . (4.8)
Then all the velocity references will be used for the whole-body compliance control in Section 3.3.

Wheel Acceleration Generator

To track the robot centroidal acceleration reference, the wheel acceleration qw can be derived using the double-differential kinematic model and the centroidal dynamics model as follows,

L w qw = -L bω ωb -L bv vb -L d , (4.9a) ḣG = kG lG = I G vG + v G × I G v G = b X T G N B j=1 j X T b (I j a j + v j × I j v j ) , (4.9b)
where a j is the body j spatial acceleration. (4.9a) is equivalent with (2.24) L d = L r qr + Jc q.

Then we decompose the centroidal dynamics model in (4.9b) into components relating to the base motion, the legged motion, the wheel motion and one bias item as below, (4.10) where Q r qr ∈ R 6 and Q bias ∈ R 6 can be calculated recursively using the algorithm in Tab. 4.1(d).

I G ωG vG = Q b ωb vb + Q r qr + Q w qw -Q bias ,
To achieve the wheel accelerations, firstly we extract the base translational acceleration out from (4.10) as below, (4.11) where Γ Gb and Γ w are referred to (4.6), and Γ d ∈ R 3 is derived as follows,

vb = Γ Gb ωb vG -Γ w qw + Γ d ,
Γ d = Γ bias -Γ r qr , ( 4.12a
)

Γ bias = S c [-I Gω Q bv ] -1 Q bias , (4.12b) Γ r qr = S c [-I Gω Q bv ] -1 Q r qr . (4.12c)
In this way, we have achieved the relationship between the base translational acceleration and the wheel acceleration in (4.11). Then we substitute this relationship function (4.11) into the doubledifferential kinematics model (4.9a),

(L w -L bv Γ w ) qw = -L bv Γ Gb ωb vG + Γ d -L d -L bω ωb , (4.13)
where qw can be derived using the Moore-Penrose inverse method. After achieving the wheel acceleration, the base translational acceleration vb and the robot centroidal angular acceleration ωG can be derived as by-products as below,

ωG vb = I Gω -Q bv -1 Q bω -I Gv ωb vG + Q r qr + Q w qw -Q bias . (4.14)
In addition, the wheel position can be estimated in each control loop as follows, (4.15) where q w|k applies the actual wheel position in the k th control loop. The k th -loop velocity and acceleration apply the generated desired values. The (k + 1) th -loop desired wheel position is used in the impedance controller in Section 4.4.1.

q w|k+1 = q w|k + δt qw|k + 1 2 δt 2 qw|k ,
In this section, we achieve the desired wheel motion by further combining the centroidal momentum and dynamics models, and this method can be used for other locomotion robots with wheels. In addition, the online wheel motion generator enables the robot with more robustness due to the fact that the velocity is achieved using the actual robot configuration, and the acceleration is derived by the robot actual configuration and the actual body velocities. This strategy can also be applied for online motion generators of other robots without wheels. However, we assume that the desired legged motion are constant in this section which is not suitable for more complex motion, e.g. squatting-down motion. Therefore, in the next section, we develop one general wheel motion generator.

Whole-body Motion Generator

When the robot runs on rough terrains, tracking the robot CoM motion is advantageous since the system translational and angular momentum can be defined at the robot CoM naturally. We set a frame at the quadruped CoM to be parallel with the inertial frame, which enables convenience to control the quadruped-CoM motion in the inertial frame. In the control framework in Fig. 4.2, the centroidal 3. We propose one new whole-body motion generator by combining one novel altitude control model, the wheel-center motion model, and the centroidal momentum and dynamics model. By given the motion references, these models are combined with the inverse kinematics models in Section 2.1.3 to achieve the whole-body velocities and accelerations, shown in Fig. 4.2. For whole-body velocity generator, the robot actual configuration is used. For the whole-body acceleration generator, the robot actual configuration and body velocities are applied, which enables the robot to adapt effectively on unknown environment. The outputs of the whole-body velocity generator are used in the impedance controllers in Section 3.3, and the outputs of the whole-body acceleration generator are used as the feed-forward torque controller in Section 4.4.2.

Adaptive altitude Control Model

Without leg-massless assumption, the change of the legged configuration leads to the change of the robot CoM position relative to the base. To enable the robot to run on different-altitude geometry, we select to control the CoM height relative to the base frame along its z b vertical direction which interprets the robot internal motion. This relative motion is independent of the terrain geometry, and this strategy avoids the complex trajectory generation of the base motion or the CoM motion in the vertical direction. The relationships between the centroidal translational motion in the base frame and in the inertial frame are achieved as follows,

ṗG = b R T G ṗG + ṗb -b R T G pG × ω b , (4.16a) pG = b R T G pG + pb -b R T G pG × ωb + κ a , ( 4
κ a = 2 b R T G ω b × ṗG -b R T G ω b × pG × ω b . (4.17a)
Therefore, by combining the relationships in (4.2) and (3.38), the centroidal translational motion relative to the base frame in z b direction can be achieved as follows, (4.18b) where S z = [0 0 1] is used to select the third component of any 3D vector. A b depends on the body positions and velocities as,

S z ṗG = ṗG[z] = S z b R G v G -v b + pG × ω b , (4.18a) S z pG = pG[z] = S z b R G vG -vb + pG × ωb + κ b ,
κ b = S z b R G (ω G × v G ) -ω b × v b -b R G κ a . (4.19)
It should be emphasized that in this section, the actual robot configuration is applied in the differential kinematics equations, and the actual robot configuration/velocity is used in the double-differential kinematics derivations. (4.18a) and (4.18b) serve as the constraints to control the centroidal motion relative to the base frame along z b direction, which enables the robot to handle terrains with high altitude variation.

Wheel-center Motion Relative to the Base

We simply set the desired wheel-center position pwi ∈ R 3 to be constant relative to the base frame in x b forward direction. This means that pref wi[x] is constant, as shown in Fig. 4.3. Therefore, we have the following kinematics relationships in the base forward and lateral directions as follows, S x ṗwi = S x Jwi qri = 0, (4.20a) (4.20b) where S x = [1 0 0] is used to select the first component of any 3-dimensional vector. Jwi ∈ R 3×3 is the Jacobian relating to the wheel-center velocity relative to the base. The four wheel-center motions can be combined as below, Jw qr = 0 nr×1 , (4.21a) Jw qr = A w , (4.21b) where Jw ∈ R nw×nr and A w ∈ R nw×1 are expressed as follows,

S x pwi = S x Jwi qri + S x Jwi qri = 0,
Jw =    S x Jw1 . . . S x Jw4    , A w =     -S x Jw1 qr1 . . . -S x Jw4 qr4     , ( 4

Whole-body Velocity Generator

The desired whole-body velocity can be achieved by combining the differential kinematic model in (2.23b), the altitude control model in the velocity level in (4.18a), the wheel-center velocity constraint in (4.21a), and the quadruped centroidal momentum model in (4.3). Q r ∈ R 6×nr and Q w ∈ R 6×4 are derived in another way directly as below,

Q r = I G J r1 G J r2 G J r3 G J r4 G ∈ R 6×nr , (4.23a) Q w = I G J w1 G J w2 G J w3 G J w4 G ∈ R 6×nw , ( 4.23b)
where Q bω and Q bv are the left and right three columns of Q b . Then we combine (4.3), (4.18a), (4.21a) and (2.23b) together to achieve the whole-body motion references in the velocity level as follows,

ΩΥ = 0 1×n ṗref G[x] ṗref G[y] ṗref G[z] (ω ref b ) T T , (4.24)
where the superscript ref denotes the reference variables. Υ ∈ R n+6 denotes the calculated desired whole-body velocity, and Ω can be expressed as below, (4.25)

Υ = (ω d G ) T (v d G ) T (ω d b ) T (v d b ) T ( qd r ) T ( qd w ) T T ,
Ω =         I Gω I Gv -Q bω -Q bv -Q r -Q w 0 nw×3 0 nw×3 0 nw×3 0 nw×3 Jw 0 nw×nw 0 3nc×3 0 3nc×3 L bω L bv L r L w 0 2×3 S xy 0 2×3 0 2×3 0 2×nr 0 2×nw 0 1×3 S z b R G S z pG × -S z 0 1×nr 0 1×nw 0 3×3 0 3×3 1 3×3 0 3×3 0 3×nr 0 3×nw         , (4.26)
where all the superscript d means the generated desired variables.

S xy = [1 2×2 0 2×1 ].
In Ω, the top three lines relate to the centroidal momentum model in (4.3), the wheel-center velocity in (4.21a) and the contact constraint in (2.23b) respectively. The fourth line denotes the centroidal velocity reference in the forward and lateral directions by multiplying S xy on both sides of (4.2a). The fifth line represents the centroidal velocity reference relative to the base in z b direction, detailed in (4.18a). The last line relates to the base angular velocity reference. In this subsection, we derive the desired whole-body motion in the velocity level Υ and it will be used for the whole-body compliance controllers in Section 4.4.

Whole-body Acceleration Generator

The desired whole-body acceleration can be derived using the double-differential kinematic model in (2.24c), the altitude control model in the acceleration level in (4.18b), the wheel-center acceleration constraint in (4.21b), and the centroidal dynamics model in (4.10). Q bias ∈ R 6 depends on body velocities and can also be calculated directly as below,

Q bias = b X T G U C, (4.27)
Then we combine (4.10), (4.18b), (4.21b) and (2.24c) together to achieve the desired whole-body motion in the acceleration level as follows,

Ω Υ = B T d A T w B T c B T r ( pref G[z] -κ b ) ( ωref b ) T T , (4.28)
where B c , B d and B r are achieved as follows,

B c = -Jc q, (4.29a) B d = Q bias -v G × I G v G , (4.29b) B r = vref G[x]
vref

G[y] = pref G[x]
pref

G[y] -S xy (ω G × v G ). (4.29c)
In (4.28), the top three lines relate to the centroidal dynamics model in (4.10), the wheel-center acceleration in (4.21b) and the derivative contact constraint in (2.24c) respectively. The fourth line represents the centroidal acceleration reference in the forward and lateral directions. The fifth line denotes the centroidal acceleration reference relative to the base along z b direction, detailed in (4.18b). The last line relates to the base angular acceleration reference. Then the desired whole-body motion in the acceleration level Υ will be used in the PIC based torque controller in Chapter 3. In addition, the desired wheel position can also be estimated in each control loop using (4.15). It is noticed that the joint position q r is not required in the torque controller.

In this section, we achieve the desired whole-body motion in the velocity and acceleration levels by combining the whole-body inverse kinematics model, the altitude control model, the wheel-center motion model, and the centroidal momentum and dynamics models. This method can be used for other locomotion robots with wheels. The altitude control model is integrated in the whole-body motion generators, and enables the robot to run on the different-altitude geometry. The actual robot configuration is applied to achieve the desired whole-body velocity, and the actual robot configuration/velocity is used to achieve the desired whole-body acceleration, which enables the robot with robustness and adaptiveness on various unknown terrains. In addition, the wheel-center motion is set to be constant relative to the base in x b direction, however, it can also be user-defined to achieve more complex applications. Furthermore, for the centroidal motion height control, even we use the centroidal motion relative to the base as the reference, the whole-body motion generator still generates the desired centroidal translational motion in the vertical direction of the inertial frame. Therefore, the desired spatial centroidal acceleration serves as the input of the feed-forward torque controller in Section 4.4.2 and the centroidal spatial motion Jacobian J G can be applied directly. In the feedback torque controller in Section 4.4.1, we control the centroidal height motion relative to the base directly. In addition, the proposed altitude control model can also be applied to conventional quadruped robots without leg-massless assumption.

Whole-body Torque Controller

In this section, several impedance controllers are defined to enable the robot with compliance abilities in which the desired positions and velocities are applied. These feedback controllers are integrated into the prioritized impedance controller based hierarchical torque control in Chapter 3. We have developed the wheel motion generator in Section 4.2 and the whole-body generator in Section 4.3, for the rolling based locomotion on rough terrain, we control two tasks which are ranked in the priority order from high to low as: the centroidal motion tracking task (signed as G) accounting for 6 DOFs and the wheel motion tracking task (signed as w) accounting for 4 DOFs. It is noticed that the wheel motion is adaptive with the legged-joint motion. In addition, the contact constraints account for 12 DOFs. Therefore, the wholebody DOF n = 22 is accounted. The desired accelerations of the G and w tasks serve as the inputs of the feed-forward torque controller. For the wheel motion generator in Section 4.2, we apply the impedance controllers defined in Section 3.3, except the one relating to the manipulator in (3.6). Therefore, in this section, we focus on the establishment of impedance controllers relating to the whole-body motion generator in Section 4.3.

Feedback Whole-body Impedance Controllers

When the robot runs in unknown environment, the uncertainties include the unknown terrain, the imprecise contact points, the unknown rolling resistance and the external force. Therefore, several whole-body impedance controllers are required to be built to compensate the influence to our kinematics and dynamics models, and enable the robot to run on rough terrain with compliance. In this subsection, each impedance controller τ im k ∈ R n is projected into the generalized coordinate space. In this section, all the superscript d means the desired values of any vector and these desired vectors are generated in the whole-body motion generators or they serve as the motion references. Initially, we define one impedance controller for the whole-body angular and translational momentums to track the robot centroidal motion except the altitude control. Since the angular position of the whole-body CoM has no sense, we apply only the damping matrix D ω ∈ R 3×3 for the angular momentum tracking as follows, (4.30) where S u = [1 5×5 0 5×1 ] is used to select the first 5 rows of J G , because in the inertial frame, only the centroidal translational motion in the forward and lateral directions is controlled.

τ im G = (S u J G ) T    D ω (k d G -k G ) K v p d G[x] -p G[x] p d G[y] -p G[y] + D v v d G[x] -v G[x] v d G[y] -v G[y]    ,
K v ∈ R 2×2 and D v ∈ R 2×2
denote the stiffness and damping matrices for the robot centroidal translational motion.

Another impedance controller for the centroidal height control relative to the base frame should be defined as below, (4.31) where

τ im G = J T G K G pd G[z] -pG[z] + D G ṗd G[z] -ṗG[z] ,
J G = [0 1×6 S d J g G ]
is the Jacobian for the centroidal translational motion relative to the base frame in z b direction. S d = [0 1×5 1] is used to select the last row of J g G in Section 5.42. K G and D G denote the relative stiffness and damping scalars.

In addition, one impedance controller is designed for the wheel motion as follows, (4.32) where J w ∈ R nc×n represents the Jacobian relating to all wheel-joint motion. K w ∈ R nc×nc and D w ∈ R nc×nc denote the stiffness and damping for the wheel motion respectively. Another impedance controller is defined to enable the base with small roll angular as follows, Furthermore, the compliance for the legged suspension plays a significant role for the robot to cross over various rough terrains. Therefore, we establish one impedance controller on all leg-end (wheel-center) points as below, where pw

τ imw = J T w K w q d w -q w + D w qd w -qw ,
τ im b = J T bx K b θ d b[x] -θ b[x] + D b ω d b[x] -ω b[x] , ( 4
τ imx = J T x K x pd w[x] -pw[x] + D x ṗd w[x] -ṗw[x] , (4.34a) τ imz = J T z   -K z   pw1[z] -pw2[z] pw1[z] -pw3[z] pw1[z] -pw4[z]   -D z   ṗw1[z] -ṗw2[z] ṗw1[z] -ṗw3[z] ṗw1[z] -ṗw4[z]     , (4.34b)
[x] = [ pw1[x] pw2[x] pw3[x] pw4[x] ] T in (4.34a
) combines all the wheel-center positions relative to the base frame in x b direction, and J x ∈ R nc×n , K x and D x denote the relative Jacobian, the stiffness and damping scalars. The impedance controller in (4.34b) is used to enable the four wheel-center positions to be similar in the vertical direction of the base frame, and

J z ∈ R 3×n , K z ∈ R 3×3 and D z ∈ R 3×3
denote the relative Jacobian, the stiffness and damping matrices. J x and J z are achieved as follows, (4.35b) where

J x =     0 1×6 J x1 0 1×4 0 1×4 0 1×4 0 1×6 0 1×4 J x2 0 1×4 0 1×4 0 1×6 0 1×4 0 1×4 J x3 0 1×4 0 1×6 0 1×4 0 1×4 0 1×4 J x4     , (4.35a) J z =   0 1×6 J z1 -J z2 0 1×4 0 1×4 0 1×6 J z1 0 1×4 -J z3 0 1×4 0 1×6 J z1 0 1×4 0 1×4 -J z4   ,
J xi = [S x Jwi 0] ∈ R 1×4 and J zi = [S z Jwi 0] ∈ R 1×4 .
Jwi is the Jacobian relating to the wheel i center motion relative to the base in Section 4.3.2.

PIC based Torque Controller

The prioritized impedance controller in Chapter 3 is detailed for the application in this chapter as follows, (4.36) where K = 2, J 1 = J G and J 2 = J w for our application. In this way, various impedance force are integrated into only one item Γ which influences the defined two tasks in a decoupled way. Furthermore, Γ can integrate the impedance controllers to the designed tasks, e.g. including the centroidal motion task in (4.30)(4.31) and the wheel motion task in (4.32). Especially, several general impedance controllers indirectly acting on the designed tasks, e.g. the impedance controllers in (4.33), (4.34a) and (4.34b), can also be integrated into the single torque in (4.36). The PIC based pseudo-inverse based inverse dynamics method in Section 3.

Γ = K t=1 J T t|pre(t) J T t|pre(t) τ im G + τ im G + τ im b + τ imw + τ imx + τ imz ,

Simulation on Various Rough Terrains

The wheel motion generator in Section 4.2 and the whole-body motion generator in Section 4.3 are tested in several simulation scenarios using our virtual quadruped-on-wheel robot, "TowrISIR" in Fig. 2.1.

The simulation results are also reported using the physical engine established by ROS-GAZEBO and the similar sensors applied in Chapter 3. Based on the sensor-feedback data, we calculate the properties relating to the base and the centroidal motions. These robot states are applied in the impedance controllers and the motion generators, shown in Fig. 4.1. We set the centroidal motion reference in the sagittal plane and its lateral reference is always zero. The motion simulations of the wheel-motion generator and the whole-body motion generator are based on the general control frameworks presented in Fig. 4.1 and Fig. 4.2 respectively, which both combine the feedback controller in the impedance inputport and the feed-forward controller that computes the required torque which satisfies the Equation of Motion, the contact constraints and the task hierarchy. The first two simulation scenarios in this chapter can be seen in the video1 . The second two simulation scenarios are referred in another video2 .

Running on Artificial Environment

In the first scenario in 4.5(b)), because the actual legged motion is used to achieve the wheel velocity reference, and the actual legged configuration/velocity is applied to derive the wheel acceleration reference, and these strategies enable the robot to adapt to the rough terrain with robustness, detailed in Section 4.2. By using the PIC In addition, we plot the actuated torque for the joints of the front-left leg in Fig. 4.5(d). It is noticed that the HAA torque is always very small except during the push-recovery motion. The wheel joint torque experience a small fluctuation when the robot runs on the stones, the value becomes bigger when the robot crosses over the two discontinuous stairs. In the future work, we will develop one estimation method for the wheel-contact positions to improve the tracking performance.

Running on 3D Rough Terrain

The second scenario relates to the validation of the robot running on numerous slopes in the unknown continuous 3D rough environment, shown in Fig. 4.6(a). On this artificial terrain with complex slopes, the stiffness and damping for the centroidal height control is set to be low and we give more concern on the wheel-center motion relative to the base. The robot runs downward and upward to track the whole-body centroidal motion reference. The prioritized impedance controller enables the robot to do active legged suspension when the robot starts to go downward in Fig. 4.6(b) or prepares the climb-upward motion in Fig. 4.6(c). Finally, the robot climbs over the slope in Fig. 4.6(d). The CoM and wheel positions and errors are plotted in Fig. 4.7(a) and Fig. 4.7(b) respectively. Even with different legged suspension and configuration, our wheel-motion generator in Section 4.2 can still generate the adaptive wheel motion to track the centroidal motion. Along the whole process on the complex rough terrain, the tracking performance is quite good with small errors even though the contact point is not estimated precisely.

With the pseudo-inverse based inverse dynamics controller in Section 3.4.1, the required actuated torque is generated to track the motion references. The contact constraint with the highest priority is ensured, shown in Fig. 4.7(c) which shows that the four legs are always in contact with the ground, and the four normal contact forces are around 200N . In Fig. 4.7(d), we plot the actuated torque for the joints of the front-left leg, which is generated by our compliant torque controller in Section 3.4.1. It is noticed that compared with the generated joint torque in Section 4.5.3, all joint torque is smooth along the whole process when the robot runs on this 3D continuous terrain. Only the HFE joint torque experiences a small fluctuation when the robot runs downward one slope at 6.3s and climbs upward one slope at 12s.

Running on Terrain with Big Altitude Difference

In the simulation scenario in Fig. 4.8, only the positions of the door-like horizontal bar and the desk are known. The robot crosses over several kinds of artificial terrains, including two slopes with stones, two stairs, one bump. To validate the effectiveness and adaptivity of our whole-body motion generator and the altitude control model, the robot is driven on the rough terrain with a much-difference altitude. The platform geometry is shown in Fig. 4.8 and the max altitude difference is 0.8m which is higher than the robot normal height. We show the whole process with eight stages in Fig. The robot stops on the flat platform. Since the platform geometry is unknown and the contact points are always estimated at the lowest points of the wheels in Section 2.1.3, we can see that the wheel tracking in Fig. 4.9(c) experiences a relatively big fluctuation. It is not very precise when the robot runs on slopes with stones in stage 3 and 7, discontinuous stairs in stage 4 and 6, and the continuous bump in stage 5. Even the imprecise models influence the outputs of the motion generator in Section 4.3 and the results of the centroidal forward motion tracking, the desired and actual CoM positions in the forward direction are still almost coincident in the long running process, shown in Fig. 4.9(a). During the process in stage 2, 3 and 5, we control the CoM motion relative to the base to enable the robot to squat down to cross the door-like horizontal bar and the desk (see Fig. 1). The left edge of the slope is 0.3m higher than the right edge. The bottom zoom-in pictures show that only the right two legs are the platform with index ( 2). The height of the platform ( 2) is 0.2m.

4.9(b)). The CoM motion relative to the base also enables the robot to run on slopes and on different altitude geometry without knowing the environment, and we can see the tracking performance of this relative position pG[z] is quite good with very small errors. We also plot the robot CoM height in the inertial frame, and its profile is almost consistent with the platform geometry. The adaptive whole-body motion is generated to track the CoM motion according to the real-time robot states, due to the fact that the actual robot configuration is used to achieve the whole-body velocity reference, and the actual robot configuration/velocity is applied to derive the whole-body acceleration reference, which enables the robot to adapt to the rough terrain with robustness, detailed in Section 4.3. By using the P-HQP controller in Section 3.4.3 integrated with our various impedance controllers in Section 4.4.1, the robot is enabled to run on various rough terrains and track the centroidal motion with compliance, especially for the periods with stones in stage 3 and 7, the stairs in stage 4 and 6, and the bump in stage 5, and the compliance behaviors are shown in Fig. 4.8. In addition, the contact constraints are ensured with the higher priority than the designed two tasks, and Fig. 4.9(d) shows that the four legs are always in contact with the ground and the normal contact forces are estimated using (3.31) and (3.32).

Running on Non-symmetric Geometry

In this simulation scenario, shown in Fig. 4.10, the robot evolves on the unknown unsymmetrical geometry, including one slope in the forward and lateral directions, and one platform that is put on the right half of the terrain. The altitude difference of the geometry is less than that in Fig. 4.8, but has unsymmetrical layout, which enforces the robot to perform the adaptive behaviors. We show the whole running process and the zoom-in middle-process pictures, shown in Fig. 4.10. The tracking performance of the CoM position in the forward direction is quite satisfactory, shown in Fig. 4.11(a). For the centroidal position relative to the base in z b direction, we set the reference to be the same with the simulation in Fig. 4.8, and the tracking performance is better by comparing the results in Fig. 4.9(b) and Fig. 4.11(b), due to the fact that the terrain in this simulation is continuous in the whole process. Since the geometry is much smoother than that in Fig. 4.8, we can see that the wheel tracking in Fig. 4.11(c) experiences a relatively smaller fluctuation. We use this simulation to further verify the robust whole-body motion generator and the compliant torque controller P-HQP in Section 3.4.3. The proposed motion generator prompts the whole-body adaptive behaviors depending on the actual robot states, detailed in Section 4.3, and it enables the robot to run on the unknown complex slopes (1), and handle the compatible behaviors on the platform (2) with only two legs touching on it, shown in the zoom-in pictures in Fig. 4.10. In addition, along with the motion tracking of the two tasks, the wheel-contact constraints are always ensured by the proposed PIC and our optimization based prioritized torque controller.

To sum up, the simulations verify that the proposed wheel-motion generator, the whole-body motion generator and the altitude control model are adaptive and effective for our robot when running on various unknown rough terrains, even with a much-altitude difference. The PIC based pseudo-inverse dynamics controller and the PIC based multi-task operational space controller P-HQP enable the robot with compliance abilities, especially for active legged suspension. The simulations are also done on a usual PC with an i7-7700 CPU, 3.6GHz. The sampling time is fixed with 2ms. For the optimization base torque controller, one QP is solved at each time step which has 16 decision variables and 68 inequality constraints. The maximum calculation period is 0.9ms, which is efficient and suitable for real-time control of other locomotion robots with high DOFs. The simulation results provided by our approach are quite satisfactory, and they can also be seen in the video that shows the real-time tracking performance.

Summary

In this chapter, we propose two motion generators for a quadruped-on-wheel robot, TowrISIR, including one wheel-motion generator and one new whole-body motion generator which both track the centroidal motion using the robot rolling-mode locomotion. The whole-body inverse kinematics model is decomposed into components relating to the base motion, the legged motion and the wheel motion. In wheel motion generator, we assume that the desired legged suspension is already achieve, and the wheel motion is derived by combining the centroidal momentum & dynamics model and the whole-body kinematics model. In the second whole-body motion generator, the desired legged suspension can be generated online. The centroidal motion relative to the base frame along z b direction is controlled using one proposed altitude control model to enable the robot to run on terrains with a much-difference altitude. Then the whole-body motion generator is established by combining the whole-body inverse kinematics model, the wheel-center motion model, the altitude control model and the centroidal momentum/dynamics model. By using two prioritized impedance controller based torque controllers in Chapter 3, the contact constraints are ensured and our robot is successfully driven to track the centroidal motion reference and behave compatibly on various simulated rough terrains, which validate the adaptivity and effectiveness of our two motion generators. controller which determines the dimension of the legged control states and the contact Jacobian. We apply our hierarchical torque controller P-HQP to enable the robot with compliant dynamics properties. Therefore, our new locomotion principle integrates the system design, motion generation and whole-body torque control together, so that this one common framework is able to handle several locomotion gaits. To verify the usefulness and validity of our new locomotion principle based legged motion generator, we run several simulations: walking, trotting, turning, recovering from big lateral push force on the base.

Introduction and Chapter Outline

To give complex legged robots the ability of crossing rough terrain with highly dynamic behaviors, the motion generators play a big role in addition to the low level dynamics controller. The complexity of legged systems is a key problem on how to achieve dynamically-stable locomotion in changing environments. During the last decades, several model-based methods have been developed to generate the legged motion, as detailed in the state of the art relating to the legged motion generation in Chapter Introduction. In the quadruped robotics field, the legs are always assumed to be massless which is unreasonable. Even if the legs only account for 20% of the whole-body weight, they experience much bigger accelerations than the floating base. In fact, the inertia forces for the base and one leg are on the similar level. Furthermore, for efficient locomotion, with the massless-leg assumption, the joint torque cannot be optimized since infinite acceleration can be derived using Newton's second law. In addition, the leg trajectories are always defined initially which is far from natural locomotion principle and it is not realistic to efficiently handle the complex changing environment.

In this chapter, we propose a new locomotion principle for quadruped robots without the massless-leg assumption, which further closes the gap between the quadruped robots with their counterparts. For the walking and trotting locomotion gaits, the whole-body CoM or the base motion is defined initially, which is consistent with the locomotion logic. Then the stance legs follow the base motion. The swing legs compensate the delayed influence from the stance-leg motion to the centroidal motion. Based on this principle, the centroidal momentum/dynamics models are established using the base and each-leg centroidal motion. The centroidal translational models are used for the walking mode, and the spatial centroidal models are applied for the trotting mode. The swing-leg motion is achieved in the running process without requiring pre-defined trajectories. The principle can also be applied to enable the robot to handle turning and push-recovery motions. Finally, we use our developed hybrid hierarchical and prioritized weighted optimization method to achieve the whole-body torque control and enable the robot to run on various rough terrains.

The advantages of the new locomotion principle: It is more logical to define the base or the centroidal motion reference, and then the generated legged motions follow the base/CoM reference. That is a desirable property that is shared with vehicles for which the wheeled motion are not necessary to be defined. The legged motion of quadruped robots should also be generated on-line. The benefits of getting rid of the leg-massless assumption: The legs can be designed to have bigger mass to be more powerful which is important for more serious jobs, e.g. rescue and carrying works. The distance between the robot CoM and its base in the vertical direction can be bigger which is more convenient to adjust the impedance parameters relating to its feedback control. The strengths without pre-defined leg trajectories: For normal terrains, the robot can achieve the common trotting actions in forward, lateral, rotational turning and push recovery without requiring to define the legged trajectories, even on relatively rough terrains. The step length is automatically generated which is suitable for starting to trot and decelerating to stop. Compared with the state of the art, the proposed state machine determines the switch of the swing-leg indexes, the dimensions of the legged control states and the contact Jacobian in the torque controller. Our new locomotion principle integrates the system design, the motion generation and the torque control together which synthesizes trotting, walking, turning and push recovery using only one control framework.

The remainder of this chapter is organized as follows: In Section 5.2, we establish the system modeling and decompose the centroidal momentum/dynamics model in a new way. In Section 5.3, a novel legged locomotion principle is proposed by a novel legged locomotion generator without the specific legged trajectory definition. In Section 5.4, we build our compliant torque controller based on P-HQP in Chapter 3, in which the kinematic constraints relating to the parallelogram mechanism is integrated. In Section 5.5, we validate and discuss our method through numerical simulations. Section 5.6 closes the chapter with conclusions.

Dynamics Modeling

QuadISIR is a new quadruped robot that is designed in ISIR laboratory, shown in Fig. 5 Three of these joints are actively actuated. The fourth ankle joint is actuated using one parallelogram mechanism resulting in the KFE and ankle joint angles being of opposite values. The robot mass is about 100kg with length ≈ 1.06m, width ≈ 0.55m and normal height ≈ 0.8m.

In this section, the robot generalized dynamics model is first introduced for our robot with the newdesigned leg. Then each-leg centroidal properties are achieved. Finally the robot centroidal momentum and dynamics models are decomposed by using each leg-CoM motion instead of real leg bodies. Spatial vectors [Featherstone 2014] are used throughout this chapter written in upright bold letters, and conventional 3D vectors are written with italic ones. The cross product function for spatial vectors and conventional 3D vectors are also referred in [Featherstone 2014].

Whole-Robot Dynamics Modeling

Generalized Dynamics Model:

Although each leg has only 3 actuated joints, we build the generalized dynamics model by considering the four joints of each leg. For the parallelogram mechanism, since the parallel-rod mass is very small, we treat this robot only with tree configuration and neglect the parallel rod. This will be treated as model inaccuracy and compensated by feedback based controllers. Therefore, we can derive the inertia matrix, centripetal & coriolis force and gravity force using Composite Rigid Body algorithm [Walker 1982] and Recursive Newton-Euler algorithm [START_REF] Luh | [END_REF]] respectively. For the whole robot considering four legs, we apply this approach to achieve the generalized dynamics model, which will be used to derive the prioritized multi-task operational space torque controller. From the robot structure in Fig. 5.1 and the Figure 5.2: Robot Configuration: Each leg is consisted with three actuated joints, HAA, HFE and KFE, whose frame z axes are consistent with the joint axes. F, L, R, H represent front, left, right, hind. configuration in Fig. 5.2, the robot configuration is defined as follows,

q = x T b q T r1 q T r2 q T r3 q T r4 T ∈ R n b +4n l =n , ( 5.1)
where

x b = [θ T b p T b ]
T is the orientation and position of the floating base in inertial global coordinate so that n b = 6. The robot has n l = 4 legs, so that n = 4n l + n b = 22 denotes the robot DOF number. q ri ∈ R 4 denotes the four-joints configuration of leg i as follows, q ri = q HAAi q HF Ei q KF Ei q Anklei T , (

where the leg i KFE joint and Ankle joint has the opposite values, q KF Ei = -q Anklei . In addition, we define q ai to include the leg i actuated-joint configuration as follows, q ai = q HAAi q HF Ei q KF Ei T .

(

The generalized dynamics model shares the similar formulation as in (2.25) using the QuadISIR structure in Fig. 5.2, and it is rewritten again as below,

M (q)q + C (q, q) + G(q) = J T c F c + S T τ , ( 5.4)
where τ ∈ R nr=3n l is torque for three active actuators and S ∈ R nr×n is the selection matrix which has the different size from those in previous chapters, as follows,

S =     0 3×6 E 0 3×6 E 0 3×6 E 0 3×6 E     , ( 5.5)
where

E = [1 3×3 0 3×1 ] ∈ R 3×4 .
It means that the actuated torque at each ankle joint is zero. Assuming that there is no slippage between the contact points and the ground, the velocity of the contact points is expressed by the following constraint in (5.6a), and its time derivative is given in (5.6b),

v c = J c q = 0, (5.6a
) vc = J c q + Jc q = 0, (5.6b) where v c is the translational velocities of all contact points. In addition, the parallel mechanism induces another two kinematics constraints as follows, qKF E + qAnkle = J m q = 0 4×1 , (

qKF E + qAnkle = J m q + Jm q = 0 4×1 , (

where qKF E and qAnkle combine all the KFE and ankle joints respectively. The Jacobian for this mechanism constraint J m ∈ R 4×n is also one constant selection matrix and its derivative Jm = 0,

J m =     0 1×6 E m 0 1×6 E m 0 1×6 E m 0 1×6 E m     , (5.8)
where E m = [0 0 1 1]. In addition, the whole-system dynamics model can be defined only depending on the minimum DOFs without the items relating to the ankle joints as follows,

M q + C + G = J T a|m J T c F c + S T τ , ( 5.9)
where J a|m = J a N m , and 4)×n is like one Jacobian for the joint motion except the ankle joints and J b = [1 6×6 0 (n-n b )×n ] denotes the Jacobian for the spatial base motion. Furthermore, N m = 1 n×n -Jm J m denotes the null-space projector for the constraints relating to the parallel mechanism, and Jm is the dynamically consistent inverse of J m , and Jm = M -1 J T m (J m M -1 J T m ) -1 . In addition, q = J a|m q = J a q denotes the joint acceleration except the ankle joints. The new inertia matrix M ∈ R (n-4)×(n-4) , the coriolis and centripetal force C ∈ R (n-4) and the gravity force G ∈ R (n-4) can be derived as below,

J a = [J T b S T ] T ∈ R (n-
M = (J a|m M -1 J T a|m ) -1 , (5.10a) J T a|m = M J a|m M -1 ,
(5.10b)

C = J T a|m C, ( 5.10c
)

G = J T a|m G, ( 5.10d)
where M and M are always invertible. The modified model in (5.9) will be used to build the optimization based torque controller in Section 5.4.2.

New Leg Design:

We took inspiration in the anatomy of quadruped animals: tigers and lions, which have legs constituted of four joints with a parallelogram structure to drive the fourth joint. Actually, the four-joint leg already exists both in the research literature [START_REF][END_REF]], [START_REF] Zeng | [END_REF]], [Kim 2013] and in the business company, e.g. Bigdog developed in Boston Dynamics [START_REF] Raibert | [END_REF]], Cassie in Agility Robotics [START_REF] Gong | [END_REF]]. However, no structure-design principle is proposed or published, especially considering the leg-CoM motion and the relationship with the foot motion. In this section, we will propose one new design principle to express the relationship between the leg CoM motion and the foot motion in a simpler way.

The detailed structure and expressions of the four-joint mechanism are detailed and shown in Fig. 5.3. Joints i ∈ {1, • • • , 4} all rotate around their ẑ axes and their relative frames are shown in Fig. 5.3. We will use the structure in Fig. 5.3 to derive our design principle. The real leg i foot position in the base frame pci is derived as follows,

pci = R i1 i1 p ci + b p i1 , (5.11a) i1 p ci = R i2 i4 p ci + R i2 R i3 i3 p i4 + R i2 i2 p i3 + i1 p i2 , ( 5.11b)
where i1 p ci denotes the foot position in its HAA frame, whose x component is constant as const 1 . R i1 represents the rotation matrix of the leg i HAA joint relative to the base frame, R i2 , R i3 are the ones of

R i3 R i4 = R i4 R i3 = 1 3×3 . In addition, i4 p ci , i3 p i4 , i2 p i3 , i1
i1 p i = m 1 i1 p i1 cm + m 2 i1 p i2 cm + m 3 i1 p i3 cm + m 4 i1 p i4 cm m 1 + m 2 + m 3 + m 4 , ( 5.12b)
where i1 p i denotes the leg i CoM position in the HAA frame. m 1 , m 2 , m 3 and m 4 represent the masses for the HAA link, the HFE link, the KFE link and the Ankle link respectively. i1 p i1 cm , i1 p i2 cm , i1 p i3 cm and i1 p i4 cm denote respectively the CoM positions of the HAA, HFE, KFE and Ankle links in the HAA frame, and they can be derived as below,

i1 p i1 cm = [const 2 , 0, 0] T , (5.13a) i1 p i2 cm = R i2 i2 p i2 cm + i1 p i2 , (5.13b) i1 p i3 cm = R i2 R i3 i3 p i3 cm + R i2 i2 p i3 + i1 p i2 , (5.13c) i1 p i4 cm = R i2 i4 p i4 cm + R i2 R i3 i3 p i4 + R i2 i2 p i3 + i1 p i2 , ( 5.13d)
where const 2 denotes one user-defined constant value. To ensure a linear relationship between the feet position and the leg-CoM position in the HAA frame, the relationship can be simply derived by comparing (5.11b) and (5.12b) as follows, i1 p ci = λ i1 p i , (5.14) where λ is a user-defined constant diagonal matrix and λ is the same for all legs as below,

λ =    λ x λ y = Kym m2+m3+m4 λ z = Kzm m2+m3+m4    , ( 5
m 1 = 1.6 i1 p i2 = [l 1 , 0, 0] T i1 p i1 cm = [ 1 3 l 1 , 0, 0] T m 2 = 3.6 i2 p i3 = [l 2 , 0, 0] T i2 p i2 cm = [ 1 3 l 2 , 0, 0] T m 3 = 1.2 i3 p i4 = [l 3 , 0, 0] T i3 p i3 cm = [ 2 3 l 3 , 0, 0] T m 4 = 1.2 i4 p ci = [l 4 , 0, 0] T i4 p i4 cm = [ 1 3 l 4 , 0, 0] T
can get the detailed relationships as follows,

λ x = m m 2 + m 3 + m 4 + m 1 const2 const1 , ( 5.16a
)

i4 p ci + i2 p i3 = K y m 2 i2 p i2 cm + m 3 i2 p i3 + m 4 ( i4 p i4 cm + i2 p i3 ) m 2 + m 3 + m 4 , (5.16b) i3 p i4 = K z m 3 i3 p i3 cm + m 4 i3 p i4 m 2 + m 3 + m 4 , ( 5.16c)
where λ x is constant. In the design process, when (5.16) is satisfied, we can achieve the simple relationship between the CoM and feet positions in the HAA frame, shown in (5.14). For our robot, with suitable mass distribution and link length design of each leg body, shown in Table . 5.1, we achieve K y = K z = 3, therefore, λ ≈ diag [1.164, 3.8, 3.8] which satisfies that the leg CoM should be close to the hip [Wensing 2017b]. Then the simple relationship between the leg CoM and the leg contact positions in the base frame is achieved in the following equation by combining (5.11a), (5.12a) and (5.14), (5.17) where λ i only depends on the leg i HAA joint position, q HAAi , as follows,

pci = R i1 λR T i1 λi ( pi -b p i1 ) + b p i1 ,
λ i =  
λ z 0 0 0 λ x cos 2 q HAAi + λ y sin 2 q HAAi (λ x -λ y ) cos q HAAi sin q HAAi 0 (λ x -λ y ) cos q HAAi sin q HAAi λ x cos 2 q HAAi + λ y sin 2 q HAAi   , (5.18) It is noticed that as one of the leg CoM and contact positions is known, the other one can be calculated out directly. This simple relationship has more advantages:

• Since the feet positions are related to the leg-CoM position, this relationship enables us to control each leg centroidal motions, instead of controlling each leg-foot motion. This presents a potential for generating the leg trajectories without leg-massless assumptions.

• It enables the robot to trot with symmetrical contact position and with symmetrical dynamic properties.

• When the specifications related to the robot centroidal momentum/dynamics should be controlled, the method can be used to generate suitable legged motion to track the centroidal motion reference more intuitively.

• We can use the virtual joint motion (between the base and each leg CoM) to build the centroidal momentum/dynamics model, which is much easier than using each leg-joint motion.

• Trajectory optimization can also take advantage of this relationship, providing fewer optimization variables

In addition, this simple relationship in (5.17) can be further simplified as: pci = K( pib p i1 ) + b p i1 , if one spherical actuator is applied for the HAA and HFE joints. This kind of actuator can rotate in two or three axes independently [Kumar 2019], which means that the origins of the HAA and HFE joints can be defined to be coincident. However, since so far, such actuators are still in the developing process in the research field.

Actuated Motion:

The actuated-joint accelerations can be derived by using the actuated torque and the modified dynamics model in (5.9) as follows,

q = M -1 J T a|m J T c F c + S T τ -C -G . (5.19)
The contact force F c can be estimated by using the generalized dynamics model in (5.4) and the contact constraints in (5.6) as below, (5.20) where J c|m = J c N m . In addition, µ c|m and ρ c|m denote the operational-space coriolis and centrifugal force, and the gravity force at the contact points, and they are derived to be in the null-space of the constraints of the parallel mechanism as follows,

F c = -J T c|m S T τ + µ c|m + ρ c|m ,
Λ c|m = (J c|m M -1 J T c|m ) -1 , (5.21a) J T c|m = Λ c|m J c|m M -1 , ( 5.21b
)

µ c|m = J T c|m C -Λ c|m Jc q, ( 5.21c
) (5.21d) where Λ c|m represents the operational-space inertia at the contact points which is projected into the null-space of the parallel kinematic constraint. By using this method, the force sensors are not necessary.

ρ c|m = J T c|m G.
Although the contact forces are not accurate when the contact-point positions are not estimated precisely, the prioritized impedance controller can compensate the influence to the dynamics model.

Each Leg Centroidal Motion

In this chapter, we control the quadruped centroidal motion which consists of the base and each leg motion. We plan to control each leg CoM motion in the operational space, instead of each joint motion in this leg. Therefore, we derive each leg-CoM position, velocity and acceleration and its relative Jacobian in this section.

Leg CoM Position and Jacobian:

To integrate the task of one leg CoM into the operational space control, the Jacobian at leg i CoM J i ∈ R 6×n can be derived as below, (5.22) where U = [1 6×6 , 0 6×(n-6) ]. M i ∈ R n×n is the generalized inertia matrix (different with M ), and it is achieved by assuming that in the whole system, only the body inertias in leg i are nonzero. J b i ∈ R n b ×n b relates to the left n b columns and J p i ∈ R 6×(n-n b ) represents the right (n -n b ) columns of J i . The leg i CoM composite inertia is derived as follows, (5.23) where Īi is the angular inertia at the leg i CoM and m = m1 3×3 is the translational inertia. The transformation matrix b X i (from the leg CoM frame to the base frame) can be achieved by setting the leg CoM frame parallel with the base frame as, .24) where pi denotes the leg i CoM position in the base frame and can be derived by M i as below, pi = (U M i U T ) [START_REF] Du | Rolling based Locomotion on Rough Terrain for a Wheeled Quadruped using Centroidal Dynamics[END_REF][START_REF] Du | A New Whole-body Motion Generator and Adaptive Attitude Control for a Quadruped-on-Wheel Robot Rolling on Rough Terrain[END_REF] , (U M i U T ) (1,[START_REF] Du | Leg Centroidal Dynamics based New Locomotion Principle of Quadruped Robots with On-line Legged Motion Generation[END_REF] , (U M i U T ) [START_REF] Du | Whole-Body Motion Tracking for a Quadruped-on-Wheel Robot via a Compact-Form Controller With Improved Prioritized Optimization[END_REF][START_REF] Du | Integration of Prioritized Impedance Controller in Hierarchical Operational-Space Torque Control Frameworks for Locomotion Robots[END_REF] T m , (5.25) where the subscript (i, j) denotes the component at row i and column j of one matrix.

J i = I -1 i ( b X T i U M i ) = J b i J p i ,
I i = b X T i (U M i U T ) b X i = Īi m ∈ R 6×6 ,
b X i = b R i 0 pi × b R i b R i = 1 0 pi × 1 , ( 5
In addition, the bias force Ji q can be derived as follows, (5.26) where v i denotes the leg i CoM spatial velocity. C i is derived with C by using the Recursively Newton-Euler Algorithm [START_REF] Luh | [END_REF]]. It is noticed that C i is different with C by assuming that in the whole system, only the body inertias in leg i are nonzero.

Ji q = -I -1 i (v i × I i v i -b X T i U C i ),

Leg CoM Velocity and Acceleration:

The leg i CoM spatial velocity v i and acceleration vi can also be expressed as follows, (5.27b) where J a ci ∈ R 6×3 corresponds to the leg i actuated-joint motion. ω i and v i denote the leg i CoM angular and translational velocities respectively. ṽi = [ ωi ṽi ] is the spatial leg i velocity relative to the base, in which ωi and ṽi denote the angular and translational components respectively. It is noticed that ṽi = ṗi and vi = piωi × ṽi . The cross product for spatial vectors are detailed in [Featherstone 2014]. These relationships will be used to achieve the swing-leg CoM motion in Section 5.3. It is noticed that the virtual leg CoM joint has only 3 DOFs, therefore, ωi and ṽi can be derived from each other. It means that one of ωi and ṽi is known, the other can be calculated directly. The relationship can be derived as follows, (5.28b) where S u = [1 3×3 0 3×3 ] and J a i qai can be calculated using the same equation as in (5.26) but assuming the base spatial velocity to be zero. Therefore, ωi and ωi can be expressed by ṗi and pi as below, ωi = L i ṗi ,

v i = ω i v i = J i q = J b i v b + J a i qai , = i X b v b + ṽi = i X b ω b v b + ωi ṽi = ω b + ωi ω b × pi + v b + ṗi , (5.27a) vi = ωi vi = J i q + Ji q = J b i vb + J a i qai + Ji q, = i X b vb + vi + v i × ṽi = ωb + ωi + ω b × ωi ωb × pi + vb + pi + ω b × ṗi + v i × ωi ,
qai = (S c J a i ) -1 ṽi = (S u J a i ) -1 ωi , (5.28a) qai = (S c J a i ) -1 vi -S c J a i qai = (S u J a i ) -1 ωi -S u J a i qai ,
(5.29a) ωi = L i pi -Q i , (5.29b) (5.29c)

L i = (S u J a i )(S c J a i ) -1 ,
Q i = L i ωi × ṽi + S c J a i qai -S u J a i qai , ( 5.29d)
These relationships (5.29) will be used in the swing-leg and centroidal angular motion generations in Section 5.3.10.

For the stance legs, we can use the contact constraints to express qai and qai . Given the desired base spatial velocity v b , the actual robot configuration, and the desired actuated joint velocity of the leg qai , then the leg-CoM velocity w.r.t. the base frame ωi , ṽi and ṗi can be calculated. Given the desired base spatial acceleration vb and the actual robot configuration/velocity, and the desired actuated joint acceleration of the stance leg qai , the leg-CoM acceleration w.r.t. the base frame ωi , vi and pi can be expressed. For the swing legs, we can express ( ṗi , pi ) first, and then use them to obtain qai and qai . Then ( ωi , ωi ) can be achieved as for the stance legs.

Each Stance-Leg Properties:

Each contact-point velocity and acceleration can be rewritten as follows, (5.30b) where

v ci = J ci q = J b ci v b + J a ci qai = 0 3×1 , (5.30a) vci = J ci q + Jci q = J b ci vb + J a ci qai + Jci q = 0 3×1 ,
v b = [ω T b v T b ]
T is the base spatial velocity. ω b and v b denote the base angular and translational velocities respectively. J b ci ∈ R 3×6 relates to the floating-base motion. J a ci ∈ R 3×3 corresponds to the leg i actuated-joint motion. It is noticed that the Jacobian relating to the ankle joint motion is integrated into J a ci using the property of the parallel mechanism. By given the desired base spatial velocity v b and the actual robot configuration, the desired actuated joint velocity of the stance leg i, qai can be achieved. Then we can use (5.28) and (5.29) to achieve the stance-leg i angular and translational motion in the base frame, including ( ωi , ωi ) and ( ṗi , pi ). Similarly, by given the desired base spatial acceleration vb and the actual robot configuration/velocity, the desired actuated joint acceleration of the stance leg i, qai can be achieved.

Whole-body Centroidal Jacobian

In this section, we will decompose the robot centroidal motion using each leg-CoM motion instead of real leg bodies. Initially, the robot centroidal position p G can be decomposed by the base and each leg-CoM positions as, In this way, it is convenient to control the centroidal motion in the inertial frame directly. Even though, we keep the form b R G in the following sections to enable the readers to stick with the user-defined CoM frame. To integrate tasks (relating to the robot CoM) into the operational space controller, its Jacobian J G can be derived as below,

p G = b R T G pG + p b , ( 5
J G = I -1 G b X T G U M ∈ R 6×n , (5.32a) b X G = b R G 0 pG × b R G b R G , ( 5.32b)
where I C b is the robot composite inertia at the base. b X G ∈ R 6×6 is the transformation matrix for spatial vectors from the CoM frame to the base frame. I G denotes the composite rigid body inertia at the quadruped CoM [START_REF] Siciliano | [END_REF]] as follows,

I G = b X T G I C b b X G = ĪG m G , ( 5.33a
)

I C b = U M U T = ĪC b m G pG × -m G pG × m G 1 3×3 , ( 5.33b)
where ĪG and m G = m G 1 1×3 represent the robot centroidal angular and translational inertias respectively. The robot CoM spatial velocity is derived easily as

v G = [ω T G v T G ] T = J G q in
which ω G and v G represent the centroidal angular and translational velocities respectively. The centroidal position in the base frame can also be derived using (5.33b)

as below, pG = 1 m G I C b (3,5) I C b (1,6) I C b (2,4)
T .

(5.34)

It is noticed that the operational space inertia at the robot CoM, Λ G = (J G M -1 J T G ) -1 is equal with I G . However, for the operational space inertia at leg i CoM, Λ i = (J i M + i J T i ) -1 is not equal with I i , in which + denotes the Moore-Penrose inverse.

Centroidal Model Decompositions

To prepare for the new legged locomotion in Section 5.3, we derive the centroidal momentum/dynamics model using parameters of each leg CoM instead of the real leg bodies. The robot centroidal momentum is rewritten by combining parameters of the base and each leg CoM as below,

I G v G h G = k G l G = ĪG ω G m G v G = b X T G I b v b h b + 4 i=1 i X T G I i v i hi , ( 5.35)
where

h G = [k T G l T G ]
T denotes the robot centroidal momentum. k G and l G denote the angular and translational components respectively. h b and h i represent the contributed centroidal momentum relating to the base and leg i respectively. I b ∈ R 6×6 represents the base inertia and it is a diagonal block matrix when the base frame is coincident with its CoM as follows, (5.36) where Īb and m b denote the angular and translational inertias of the floating base respectively. i X G ∈ R 6×6 in (5.35) is the transformation matrix for spatial vectors from the CoM frame to the leg i CoM frame as below,

I b = Īb m b , m b = m b 1 3×3 ,
i X G = i R G 0 i p G × i R G i R G = b R G 0 i p G × b R G b R G , ( 5.37)
where i p G is the centroidal position relative to the leg i CoM as follows,

i p G = pGpi .

(5.38)

The angular and translational centroidal momentums can be rewritten based on the base spatial motion and each leg-CoM motion as below,

k G = b R T G Īb ω b + 4 i=1 Īi ω i -i p G × m ω b × pi + ṗi , ( 5.39a
)

l G = b R T G m b v b + m 4 i=1 ω b × pi + v b + ṗi . (5.39b)
The centroidal dynamics is rewritten as follows, (5.40) where ḣb and ḣi are achieved as below,

ḣG = I G vG + v G × I G v G , = kG lG = ĪG ωG + ω G × ĪG ω G m G ( vG + ω G × v G ) = ḣb + 4 i=1 ḣi ,
ḣb = b X T G (I b vb + v b × I b v b ) , (5.41a) ḣi = i X T G (I i vi + v i × I i v i ) .
(5.41b)

The angular and translational centroidal dynamics are rewritten as below,

kG = b R T G Īb ωb + e + b R T G 4 i=1 Īi ωi -i p G × m ωb × pi + pi , (5.42a) lG = b R T G m b vb + b + m 4 i=1
ωb × pi + vb + pi , (5.42b) where e and b only depend on the body velocities as below,

e =ω b × Īb ω b + 4 i=1 ω i × Īi ω i - 4 i=1 i p G × ω b × m ω b × pi + 2 ṗi , (5.43a) b = ω b × m b v b + m 4 i=1 (ω b × ṗi + ω b × v i ).
(5.43b)

The centroidal motion decompositions in (5.31), (5.39) and (5.42) serve as the basis to generate the swing-leg positions, velocities and accelerations respectively in Section 5.3.

Legged Motion Generation

In this section, we propose a new general legged locomotion principle for the quadruped trotting and walking gait. Inspired from nature, we believe that the legged motion is generated by considering the quadruped whole-body dynamics properties. Therefore, the new principle is developed by using the robot centroidal momentum/dynamics model in Section 5.2.4. In addition, the principle should enable the robot to run in the environment without defining the internal legged motions, which is similar with vehicles for which the wheel motion can be generated on-line from the motion references of the vehicle base. Similarly, the legged motion should be consistent with the motion reference of the quadruped floating base. Our method enables the robot to generate the walking and trotting gaits automatically without defining specific legged trajectories. In this chapter, we concentrate on the locomotion modes without flight phases which will be handled by passive dynamics in future works.

New Quadruped Locomotion Principle

Inspired by human and quadruped animals, we just consider our whole-body composite motion (e.g. centroidal motion). It is not necessary to think how we walk, especially the stance-leg motion, which means that we can generate the legged locomotion automatically without thinking too much about each-leg detailed trajectories. We give one simple example shown in Fig. 5.4: a two-leg robot runs in the sagittal plane. The robot centroidal motion reference is generated by the base and two leg motion. We define the front leg as the swing leg and the hind leg as the stance leg. When the robot runs in the forward direction, we can simply set the base forward motion to be same as the centroidal forward motion. The stance leg will just follow the base motion without conflicting the contact constraints. The stance leg will delay backwards compared to the desired centroidal motion. Therefore, to track the centroidal forward motion, the front-swing leg should advance the base to compensate the stance-leg delay influence. As shown in Fig. 5.4, the length of the red arrows show the whole-body forward motion relationship. To enable the swing legs to lift off, the centroidal vertical motion reference should be defined with bump-like shapes. In this way, with the suitable centroidal motion design, the front leg can generate the lift-off motion automatically. The green arrows in Fig. 5.4 show the whole-body vertical motion relationship.

This legged motion approach is simple and is closer to the locomotion principle of real quadruped animals. The all leg trajectories can be generated on-line automatically. This principle can also handle the lateral large-force push recovery motion.

This approach is not limited to the trotting and walking gaits, but it can also be extended to various gaits with compatible centroidal and base motion trajectories, which is much closer to the real legged locomotion principle for the quadruped animals.

New Legged Motion Generator

The legged motion generator is established in Fig. 5.5 and it is based on the new locomotion principle. The motion references include two levels:

(1) External level: the base translational motion in the inertial frame.

(2) Internal level: the base angular motion, and the centroidal translational motion relative to the base.

In the external level, the base translational motion is defined or can be generated using optimization based techniques, e.g. model based predictive control.

The internal motion references include the centroidal translational motion relative to the base, and the base angular motion. The centroidal angular motion references are achieved only for the trotting mode. The relative translational motion between the robot CoM and the base motions is defined as follows, (5.44) where p Gb is expressed in the inertial frame. This relative motion is used as inputs of the modified centroidal momentum/dynamics models, detailed in Section 5.3.6. In Section 5.3.3, we define P Gbx and P Gby to be zero. It means that as long as either the base or the CoM translational motions is defined in the forward and lateral directions of the inertial frame, the other can be calculated with the same values. The internal motion references are used for the motion generators of the walking and trotting modes, which output the swing-leg motion references. For the walking locomotion mode, only the mass distribution model, the centroidal translational momentum/dynamics models are applied. For the trotting locomotion mode, the extra centroidal angular momentum and dynamics models are applied, as well as the legged motion relationships among each leg.

p Gb = p G -p b =   p Gbx p Gby p Gbz   ,
For the torque controller, the motion references relating to body positions and velocities are transfered to the feedback based prioritized impedance controller. The motion references relating to body accelerations are used in the optimization based prioritized multi-task torque controller. The torque controller outputs the actuated torque to enable the robot to run various rough terrains.

In this way, we need to define the motions of the two levels. The internal properties enable to generate the adaptive legged motion to follow the external level motion automatically. It enables the robot to walk, trot, turn, etc. For the push-recovery motion, it influences the base translational motion in the external level and the base angular motion in the internal level, this will be handled by the compliance torque controller.

External Motion Reference

We define the base translational motion using several connected Bézier curves. The j's Bézier curve relating to the base velocity can be written as follows, (5.45) where P k|j denotes the k th 3D control point of the j's Bézier curve. We define N b = 4 and there are five points for the j's Bézier curve. We give one example in Fig. 5.6 relating to the base velocity in the forward direction in the inertial frame. In addition, t ∈ [0, 1] is the normalized time as below, t = t -t b|j t e|j -t b|j , (5.46) where t b|j and t e|j represent the start and ending time instances of the Bézier curve j. The integral and derivative of (5.45) denote the base position and acceleration respectively. The derivative with respect to time of one Bézier curve is also one Bézier curve. The integral of one Bézier curve can be referred in [START_REF] Eid H Doha | Integrals of Bernstein polynomials: an application for the solution of high even-order differential equations[END_REF]]. In Fig. 5.6, we set P 0|j and P 1|j to be the same which enables the acceleration to be zero at the beginning of the j's curve, as well as P 3|j and P 4|j . To enable a smooth transition from one curve to another, their positions, velocities and accelerations should be respectively equal at the connecting points. The curve can not only annotate the acceleration and deceleration motions, but also the uniform linear motion.

ṗb |j = N b k=0 N b ! k!(N b -k)! tk (1 -t) N b -k P k|j
Given the base forward motion reference in Fig, 5.6, the whole reference is divided into N phases and each phase represents one swing-step period, shown in Fig. 5.6 where T b and T r are the beginning and ending time of the whole reference period, shown in Fig. 5.6. Maes et al. [Maes 2008] showed that the swing period of dogs' running experiments remains relatively constant over a wide range of speeds. In this state of the art, the constant desired swing phase period is always prescribed around 0.25s [START_REF][END_REF]]. We also define i's step period T swi = 0.25s which is also the normal step period for all steps. In the real running situation, one step period can be larger or less than T swi , detailed in next subsection. In this way, the beginning and end time instances for each step can be simply achieved. The relative base motion in one step period can be calculated using (5.45). For one step period consisting in two parts of two Bézier curves shown in the red part of Fig. 5.6, the relative base motion can also be calculated using two Bézier-curve functions (5.45). However, for the trotting mode without the four-leg flight phase, the constant step period enforces the robot to have big step distance at fast speeds which conflicts the leg-joint position limits. For this case, the quadruped animals will change the gait from the slow trotting mode to high running mode with the four-leg flight phase, which exceeds the topic of this chapter. We apply this segmentation method and gives the robot a high-level motion reference. Each step period is defined and ensure the sum of all the step periods to be equal to T r -T b . In addition, the step number N is adjusted to be an even integer which enables all legs to have the same step numbers. This work could be easily extended by applying a predictive control method and optimize the phase os each swing period and the step number by given one target and the whole-process time.

From the locomotion principle, the stance legs follow the base motion and then the swing-leg motion can be achieved. In the vertical direction, we select to control the relative motion between the CoM and the base (p Gbz , ṗGbz , pGbz ). For the legged generator in the forward and lateral directions, we simply define the centroidal motion to be similar with the floating-base motion. We give one example in the robot sagittal plane, shown in Fig. 5.7 in which the robot runs on one slope. The base and centroidal

S xy vG = S xy b R T G ( vb + ω b × v b ) -ω G × v G .
(5.48b)

Internal Motion Reference

From the external motion reference, the desired relative motion between the centroidal motion and the base motion can be defined as follows,

p Gb = p G -p b =   0 0 p Gbz   .
( 5.49) In this subsection, we focus on the vertical centroidal motion reference, which determines the swingleg motion. This reference should have a bump shape in one step, shown in Fig. 5.8. The variables in this subsection are described for the current step and the step index is omitted.

It is noticed that in the running process for the trotting mode, one swing leg may touch the ground first and then only one leg still swings during a short period of time. We will handle this case by the walking mode with three legs contacting with the ground. Therefore, the centroidal reference should ensure the two swing-legs to both touch the ground, even with different sequences. We propose to use the relative motion between the robot CoM and the base frames as the vertical reference (see Fig. 5.8). This relative motion reference in one step period is defined using two connected curves as follows,

p Gbz = Na k=0 N a ! k!(N a -k)! tk a (1 -ta ) Na-k A k , (5.50a) ṗGbz = N b k=0 N b ! k!(N b -k)! tk b (1 -tb ) N b -k B k , (5.50b) Table 5.2: Control Point Definition A k Value B k Value A 0 H B 0 N a (A 5 -A 4 ) A 1 H B 1 Na(Na-1)(A5-2A4+A3) N b + B 0 A 2 H B 2 5H-5A5-(B0+B1) 3 A 3 H + H Gb -H 1.4 B 3 B 2 A 4 H Gb B 4 B 2 A 5 H Gb
where N a and N b are defined to be 5 and 4 respectively. A k and B k represent the control points for the Bézier curves relating to p Gb and ṗGb respectively. For the first curve, the velocity and acceleration at the beginning point are zero, and the velocity at the end point should be zero. The two curves should be continuous at the connecting point. It is noticed that we define the second curve in the velocity level.

Since two coincident control points lead to zero differential value, and three coincident control points result in zero double-differential value. In the end of the second curve, we prefer the acceleration to be zero, but the velocity should not be zero. ta and tb represent the normalized times in the range [0, 1] as follows,

ta = t -t oi t mi -t oi = t -t oi 0.5T swi , (5.51a) tb = t -t mi t di -t mi = t -t mi 0.5T swi , ( 5.51b)
where t oi , t mi and t di denote the lift-off, middle and touch-down timings for the i's step. The first curve accounts for 50% of the step period. The definition of the control points satisfy:

• A 0 , A 1 and A 2 are equal which ensures that the velocity and acceleration at t oi are zero.

• A 4 = A 5 , resulting that the velocity at t mi is zero.

• B 0 , B 1 and B 2 (dependent on A k ) are calculated to achieve the connecting continuity of two curves.

• B 2 , B 3 and B 4 are equal, the acceleration and jerk in the end of the step period are zero, and the integral of the second arrives at H at tb .

The definition results of the control points are shown in Tab. 5.2, in which H Gb is the curve amplitude.

H is the normal value of p Gbz . H di represents the values at the end of the i's step respectively. We define that the two swing legs for the trotting gait should touch the ground at the same time after T swi period. However, when the robot runs even on the flat terrain, the two swing legs may not land at the same time if the orientation angles of the floating base is not equal to the desired values. In this case, we still allow the curve reference to continue downward to adapt to the real-time states, shown in the first curve of Fig. 5.8, until the detection of the contact signals from two swing legs. In the next swing step achieved by the other two diagonal legs, the cure reference begins at the previous step-end value and enables the robot to recover to the normal state (see the second curve of Fig. 5.8). Therefore, the step period for the first step (t d1 -t o1 ) is larger than T sw1 . If this case happens on the second step, our approach will be used again. Another case is that two legs both land before the step period as shown in Fig. 5.9. In the simulation Section, the first case in Fig. 5.8 always happens. For the first case, if the current step i is not finished after T swi , the curve will still goes down by maintaining the velocity at t = t oi + T swi , and the position value p Gbz is expressed as follows, (5.52) where v Gb is one defined velocity to enable the CoM to continue the landing-down motion.

p Gbz = H + v Gb (t -t oi -T swi ), if t > t oi + T swi ,
It is noticed that, to track the robot centroidal nonzero-velocity motion, there is no stance phase for all four legs. Because two pairs of diagonal legs should move in symmetry configuration. The CoM Figure 5.8: This shows two adjacent strides, consisting two swing-leg steps. In the first step period, the two swing legs do not land by following the p Gbz reference, another reference (with red color) is added to enable the robot to adapt to the real-time states. The second curve recovers to the normal state on the flat terrain. Figure 5.9: In the first step period, the step period is less than the defined value. position of the 3-DOF stance leg is determined by the base motion. However, for humans and quadruped animals at slow speeds, all legs may touch the ground for short periods. We believe it is due to the fact that the extra sole DOF (one leg has more than 3 DOFs) enables the humans and quadruped animals to adjust their leg CoM position with bigger movement space without conflicting the contact situation.

The internal motion reference also includes the base angular motion, which serves as the inputs to generate the walking and trotting locomotion modes. If the vision is available for geometry estimation, the angular motion (orientation, velocity and acceleration) can be generated online. θ b can be pre-defined as several connected Bézier curves, and each Bézier curve can be expressed to be similar as in (5.45). In addition, θb and θb can be achieved easily and they are also Bézier curves. The whole angular base motion can also be drawn similarly as Fig. 5.6, and it can also be divided by the two segmentation methods in Section 5.3.3. The desired angular base velocity ω b and acceleration ωb can be derived by (θ b , θb , θb ) using (3.36). For the walking mode, the angular base motion references (ω b , ωb ) serve as the inputs of the translational centroidal models to derive the only-one swing-leg motion. For the trotting mode, the extra angular centroidal momentum and dynamics models are required and the base angular motion references (ω b , ωb ) also serve as the inputs, cf. Fig. 5.5.

For quadruped robots with no vision, the method in [START_REF] Gehring | [END_REF]] can be applied to test the ground Euler angles online which can be used to enable the floating base to be parallel with the average ground geometry, however, the estimation method has delay by applying the contact situations of the previous three steps. In this chapter, we focus on the new locomotion principle and simply set the desired base roll and pitch orientation, angular velocity and acceleration around x b and y b axes to be zero on the flat S control and S contact change together. In Algorithm 2, we define the relationship detailedly, S contact equals to the sum of the items in S contact , and the algorithm is executed in each control loop. For the switching algorithm respecting S contact = 4, this part is executed only when the swing legs experience more than half (60%) of the normal defined swing period. We set that the switching configuration also happens when the swing legs experience σ times of the normal step period and in the simulation section, σ = 1.3 for the push-recovery motion, σ = 1.6 for trotting on rough terrains and σ = 1.2 for other scenarios. It is noticed that the size of the contact Jacobian depends on S control , not S contact . In this algorithm, we also output the control hierarchy number. n level = 1 means that we only control one hierarchical task (centroidal motion tracking task). n level = 2 denotes that two hierarchical tasks are controlled, including the centroidal motion tracking task and one swing-leg tracking task. No matter how many hierarchies are controlled, they should respect the stance-leg contact constraints. The control hierarchy is detailed in Section 5.4.

Modified Centroidal Models For Swing-leg Motion Generators

Initially, we use the relative motion between the base and the CoM p Gb to rewrite the centroidal translational models using (5.47)-( 5.48) as follows,

ṗGb = m m G b R T G 4 i=1 ω b × pi + ṗi = 0 2×1 ṗGbz , (5.54a) = b R T G ω b × pG + m m G b R T G 4 i=1 ṗi , ( 5.54b) and pGb
= m m G b R T G s + 4 i=1 ωb × pi + pi = 0 2×1 pGbz , (5.55a) = b R T G ωb × pG + m m G b R T G s + m m G b R T G 4 i=1 pi , (5.55b)
where s is derived as below, .56) The angular inertia at the robot CoM ĪG is derived as below, .58) From the centroidal angular momentum model in (5.39a) and the above relationship, we can extract the following relationship as follows,

s = 4 i=1 ω b × ω b × pi + 2 ṗi . ( 5
ĪG = b R T G Īb b R G -b R T G pG × m b pG × b R G + 4 i=1 b R T G Īi b R G -b R T G i p G × m i p G × b R G , ( 5
b R G ĪG b R T G ω b = Īb ω b + 4 i=1 Īi ω b -i p G × mω b × pi . ( 5
b R G ĪG ω G = 4 i=1 Īi L i ṗi -i p G × m ṗi + b R G ĪG b R T G ω b .
(5.59)

Similarly, we can achieve the legged CoM acceleration relationship using the centroidal angular momentum model in (5.42a) (5.60) where w depends on e in (5.43a) as follows,

as, b R G ĪG ωG = 4 i=1 Īi L i pi -i p G × m pi + b R G ĪG b R T G ωb -w,
w = b R G ω G × ĪG ω G -e - 4 i=1 Īi (ω b × ωi -Q i ).
(5.61)

It is noticed that the models in this subsection are independent of the translational components of the base and the centroidal motions, and the legged motion can be achieved on-line only using the robot internal properties.

Desired Composite Swing-leg Motion

The legged motion generator is built based on our proposed locomotion principle using each leg centroidal model and the whole-robot centroidal model in Section 5.2. For gaits with ≥ 2 contact points, we divide the four legs into two groups, one group consisting of the stance legs (symbolically as st) and one group for the swing legs (symbolically as sw). The stance legs follow the base motion and their desired motions are derived in Section 5.2.2.3. For the walking locomotion mode, there are 3 stance legs and 1 swing leg.

For the trotting locomotion mode, there are 2 stance legs and 2 swing legs. We will derive the desired composite swing-leg motion in this section, and then achieve each swing-leg motion in the following sections. The desired swing-leg-group motion can be achieved based on the desired stance-leg-group motion. Initially, the desired swing-leg positions can be derived using the mass distribution model in (5.31) as below,

nsw i=1 pswi = b R G m G m p Gb Π1 - nst j=1 pstj , ( 5.62)
where pstj and pswi represent the CoM positions of the stance leg j and the swing leg i in the base frame respectively. For the walking and trotting locomotion modes, n sw equals to 1 and 2 respectively, n st is equal to 3 and 2 respectively. The desired swing-leg velocities can be achieved based on the modified centroidal momentum model in (5.54) and (5.59) as,

nsw i=1 ṗswi = m G m b R G ṗGb - m G m ω b × pG Π2 - nst j=1 ṗstj , (5.63a) nsw i=1 Īswi L swi -swi p G × Ωsw i ṗswi = b R G ĪG ω G -Ξ 1 , ( 5.63b)
where swi p G and Īswi denote the robot centroidal position and angular inertia of the stance-leg i CoM. L swi is the coefficient matrix relating the swing leg i, defined in (5.29). Ξ 1 is achieved as below,

Ξ 1 = b R G ĪG b R T G ω b + nst j=1 Īstj L stj -stj p G × Ωst j ṗstj , ( 5.64)
where stj p G and Īstj denote the robot centroidal position and angular inertia of the stance-leg j CoM. L stj is the coefficient matrix relating the stance leg j, c.f. (5.29).

Similarly, the desired swing-leg accelerations can be achieved based on the modified centroidal dynamics model in (5.55) and (5.60) as follows, where Ξ 2 is achieved as below, .66) In this subsection, we derive the desired swing-leg group motion based on the relative motion reference between the base and the CoM motions, and the desired stance-leg motion. Then we will derive each swing-leg motion in the following sections.

nsw i=1 pswi = m G m b R G pGb -s - m G m ωb × pG Π3 - nst j=1 pstj , (5.65a) nsw i=1 Ω swi pswi = b R G ĪG ωG -Ξ 2 , ( 5
Ξ 2 = b R G ĪG b R T G ωb -w + nst j=1 Ω stj pstj . ( 5

Desired Swing-leg Motion for Walking

For the walking locomotion mode with only one swing leg, the swing-leg motion generator applies the relative translational motion p Gb between the CoM and base motions as the motion reference. Therefore, only the modified translational centroidal models in (5.54) and (5.55) are applied. By given the desired stance-leg motions, the only-one swing-leg desired position psw can be easily derived, as well as the velocity and acceleration, psw = (5.62)right, (5.67a) ṗsw = (5.63a)right, (5.67b) psw = (5.65a)right, (5.67c) where right denotes the right side of one equation. sw denotes the swing-leg index for walking with only one swing leg. It is noticed that the desired swing-leg position is achieved using the actual stance-leg position. The desired swing-leg CoM velocity is derived using the actual robot configuration, not the desired values in (5.67a). In addition, the desired swing-leg CoM acceleration is derived using the actual robot configuration and velocity, not the desired values in (5.67a) and (5.67b). Then we can achieve the desired centroidal angular velocity ω G and acceleration ωG using (5.59) and ( 5.60) respectively. The desired position and velocity references are used in the impedance controller, and the desired acceleration references are applied in the feed-forward torque controller. In this chapter, although we concentrate on the trotting mode, the walking mode is applied when the two trotting swing legs land on the ground at different timings. In the simulations, for almost trotting steps, this walking mode always happens for short periods. In addition, the derived equations in (5.67) can also be used in the trotting locomotion gait by setting psw = psw f + psw h , in which psw f and psw h represent the front and hind swing legs respectively, and sw f and sw h denote the swing-leg indexes.

Leg-Motion Relationship for Trotting

In this chapter, the trotting gait means that the two-swing diagonal legs move together. Compared with conventional trotting gaits in the state of the art, we suppose that the two swing-legs can have different motion. We show three situations for one step, shown in Fig. 5.10, in which the FL-HR legs serve as the swing legs and the motion directions of the four legs are depicted relative to the base. We depict situations when the robot runs in the forward and lateral directions in Fig. 5.10(a) and Fig. 5.10(b), and turns in place in Fig. 5.10(c). Each situation contains two sub-situations in opposite directions. It is noticed that for the three situations in Fig. 5.10, the motion direction of the swing-FL leg is always opposite to that of the stance-HL leg in the forward direction, and it is always opposite to that of the stance-FR leg in the lateral direction. Similarly, the motion direction of the swing-HR leg is always opposite to those of the stance FR and HL legs in the forward and lateral directions respectively. Even though the situations in Fig. 5.10 can represent the directions of the relative positions and velocities of four legs relative to the base, the motion directions relating to the relative acceleration directions also respect to this principle. In addition, we assume that the absolute values for the four legged motions are the same in the vertical directions. Therefore, in this subsection, we define the swing-leg motion by combining the centroidal position distribution in (5.62), the centroidal translational momentum and dynamics models in (5.63a) and (5.65a) respectively. For the swing-leg relationships relating to the position, velocity and acceleration for the symmetric trotting in the base forward and lateral directions, we can define the following relationships by combining (5.62), (5.63a), (5.65a) and the internal relationships relating to the four-legged motion directions in Fig. 5.10, where r sw = diag[0.5, 0.5] is one defined ratio matrix. S x = [1 0 0] and S y = [0 1 0]. pst f and pst h represent the front/hind stance-leg CoM positions respectively in the base frame, and st f and st h denote the stance-leg indexes for the trotting mode. It is noticed that the two stance-leg motion properties in two different directions are applied which correspond to the principle in Fig. 5.10. Then the swinghind leg position, velocity and acceleration in the base forward and lateral directions can be derived by (5.62) -(5.68a), (5.63a) -(5.68b), (5.65a) -(5.68c) respectively as below,

S xy psw f = r sw S xy Π 1 - S x pst h S y pst f , ( 5
S xy psw h = (1 2×2 -r sw )S xy Π 1 - S x pst f S y pst h , ( 5.69a
)

S xy ṗsw h = (1 2×2 -r sw )S xy Π 2 - S x ṗst f S y ṗst h , ( 5.69b
)

S xy psw h = (1 2×2 -r sw )S xy Π 3 - S x pst f S y pst h .
(5.69c)

(5.68) and (5.69) mean that the two swing legs move in different forward/lateral directions, as well as the two stance two legs. Compared with the definition of the internal legged relationships in the state of the art that the swing-leg motion references have the opposite values with stance legs, our method can also handle the turning cases. In addition, another advantage of (5.68) and (5.69) is that they enable the legged acceleration references to be smooth. Therefore, two of [(5.62), (5.63a), (5.65a)], [(5.68a), (5.68b), (5.68c)] and [(5.69a), (5.69b), (5.69c)] are independent and will be used in the swing-leg motion generation in the next subsection.

The relationship relating to the vertical motion of the two swing legs are defined as follows, where h r denotes the relative position between the base frame origin and each HAA joint origin, in z b direction. l r and w r are referred in Fig. 5.2. For the normal terrains, the vertical motions between the swing legs are set to be equal, ξ = 1. However, when the robot climbs stairs in artificial buildings, ξ can be set to be different to enable one swing leg lifts higher than the other swing leg. ( 5.70) will be used in the swing-leg motion generation in the next subsection.

S z b R T G psw f -B sw f = ξS z b R T G ( psw h -B sw h ) , (5.70a) S z b R T G ṗsw f = ξS z b R T G ṗsw h , (5.70b) S z b R T G psw f = ξS z b R T G psw h , ( 5

Desired Swing-leg Motions for Trotting

The type of the motion references for the trotting gait is the same with the walking gait. For the swingleg motion generation, we will add the internal relationships among legs. Initially, the desired positions of the two swing legs share the following relationships, psw f + psw h = (5.62)right, (5.72a)

S xy psw f S z b R T G ( psw f -ξ psw h ) = (5.68a)right S z b R T G (B sw f -ξB sw h ) , ( 5.72b)
where (5.72a) is derived using the centroidal position relationship in (5.62). (5.72b) is the combination of (5.68a) and (5.70a). ( 5.72) ensures that the swing legs experience the same distance with the delay stance legs in the base forward and lateral directions. Then the desired two swing-leg position can be derived as follows,   .73) where the desired swing-leg positions ( psw f , psw h ) can be achieved by A -1 p B p . Similarly to the motion generator for the walking gait, the desired swing-leg CoM velocities for the trotting mode are derived using the actual robot configuration, not the desired values in (5.72). They can be expressed as follows,

1 3×3 1 3×3 S xy 0 2×3 S z b R T G -ξS z b R T G   Ap∈R 6×6 psw f psw h = (5.72a)right (5.72b)right Bp∈R 6×1 , ( 5
ṗsw f + ṗsw h = (5.63a)right, (5.74a) b R G ĪG ω G -Ω sw f × ṗsw f -Ω sw h × ṗsw h = Ξ 1 , (5.74b) S xy ṗsw f S z b R T G ( ṗsw f -ξ ṗsw h ) = (5.68b)right 0 , ( 5.74c)
where n sw = n st = 2 for the trotting mode. (5.74a) is extracted from the modified translational centroidal momentum model. (5.74b) is equivalent to the centroidal angular momentum model in (5.59). (5.74c) denote the internal relationships among the legs in the velocity level. Then the three equations in (5.74) are applied to achieve the desired swing-leg velocities and the centroidal angular velocity as,

    0 3×3 1 3×3 1 3×3 b R G ĪG -Ω sw f -Ω sw h 0 2×3 S xy 0 2×3 0 1×3 S z b R T G -ξS z b R T G     Av∈R 9×9   ω G ṗsw f ṗsw h   =   (
G ṗT sw f ṗT sw h ] T = A -1 v B v .
Finally, we achieve the desired two swing-leg CoM accelerations and the desire centroidal angular acceleration for the trotting mode using the actual robot configuration and velocities as below,

psw f + psw h = (5.65a)right, (5.76a) b R G ĪG ωG -Ω sw f × psw f -Ω sw h × psw h = Ξ 2 ,
(5.76b)

S xy psw f S z b R T G ( psw f -ξ psw h ) = (5.68c)right 0 , ( 5.76c)
where (5.76a) is extracted from the modified translational centroidal dynamics model. (5.76b) is equivalent to the centroidal angular dynamics model in (5.60). ( 5.76c) denotes the internal relationships among the legs in the acceleration level. Then the three equations in (5.76) are applied to achieve the desired [ ωG , psw f , psw h ] as,

A a   ωG psw f psw h   =   (5.76a)right (5.76b)right (5.76c)right   = B a , ( 5.77)
where A a = A v . In this way, the desired [ ωT

G pT sw f pT sw h ] T = A -1 a B a .
It is noticed that this motion generator also enables the robot to turn with trotting gaits. In addition, we define the internal relationships among two swing legs. However, for practical applications, the relationships can be userdefined to accomplish more complex works. For example, when one obstacle is put in front of the robot, the front swing leg should lift off higher than the hind swing leg. The generated desired positions and velocities serve as the desired values for the compliance controllers in Section 5.4. The desired accelerations serve as the inputs of the prioritized multi-task torque controller in Section 5.4.2.

Until now, we have achieved the online each-leg motion respecting the contact constraints and the motion references, without leg-massless assumption and predefined leg trajectories. However, the centroidal angular motion is achieved by adding the extra internal legged motion relationships. In the future work, we will focus on the opposite logic, and define one suitable centroidal angular motion reference, then the legged internal motion relationships can be achieved on-line. In addition, the centroidal angular properties deal with the whole-robot stability [Lee 2012]. Therefore, in the future work, we will develop a general stability controller based on the robot angular momentum and one predictive swing-leg pick-up concept.

Whole-body Torque Controller

In this section, we define several impedance controllers to provide the robot with compliance abilities. We propose to integrate various impedance forces into one prioritized impedance torque which satisfies the task hierarchy and is consistent with the multi-task operational space control framework. The desired positions and velocities are applied in the compliance controllers. The desired accelerations are applied in one optimization based feed-forward hierarchical torque controller which is developed by our previous work in [Du 2020f]. We control two tasks which are ranked in priority order from high to low as: the centroidal motion tracking task (signed as G with 6 DOF) and the swing-leg motion tracking task (signed as sw with 6 DOF for trotting and 3 DOF for walking). These two tasks should respect the constraints relating to the contact situation and the parallel mechanism. The sum number of the whole-body DOF n = 22 is all accounted for, shown in Tab. 5.3. It is noticed that the centroidal motion task can also be replaced by the floating-base motion task (signed as b) which also accounts 6 DOF. Different with the conventional contact-consistent prioritized torque controller in [START_REF] Park | [END_REF]], the constraints relating to the parallel mechanism in this chapter has the highest priority. Therefore, the whole-body torque controller in this section will handle this issue.

Prioritized Compliant Controller

When the robot runs in the unknown environment, the uncertainties include the unknown terrain and the external force. Therefore, several whole-body impedance controllers are required to be built to compensate its influence upon our kinematics and dynamics models, and enable the robot to run on the terrain with compliance. In this subsection, all impedance controllers are established in the task space and projected into the generalized coordinate space.

Initially, one impedance controller is designed for the base motion as follows, .78) where

Γ b = (W -1 b S u J b ) T K b θ d b -θ b + D b θd b -θb , ( 5
S u = [1 3×3 , 0 3×3 ]. J b = [1 6×6 0 6×(n-6)
] is the Jacobian for the base spatial motion. (K b , D b ) denote the relative stiffness and damping matrices for the base angular motion. W b is defined in (??).

In addition, we define an impedance controller for the whole-body angular and translational momentums to track the robot centroidal motion as below,

Γ G = J T G I + D Gω ĪG (k d G -k G ) K Gv p d G -p G + D Gv v d G -v G , ( 5.79)
where K Gv ∈ R 3×3 and D Gv ∈ R 3×3 denote the stiffness and damping matrices for the robot centroidal translational motion. D Gω ∈ R 3×3 is the damping matrix for the centroidal angular motion tracking. The angular position of the whole-body CoM has no sense, and the integrability of the centroidal momentum model depends on precise conditions, detailed [Saccon 2017], and they are not guaranteed to be always satisfied for the case under study. Therefore, we applied the orientation control method in [START_REF] Nava | [END_REF]] as follows, .80) where K Gω is the stiffness matrix for the centroidal angular position tracking. Ω = b R T 0 ( b R 0 ) ref , and ( b R 0 ) ref denotes the base orientation reference matrix. We define [A] V is the opposite function of one skew matrix A ∈ R 3×3 as follows,

I = K Gω ĪG 1 2 Ω T -Ω V , ( 5
[A] V =   0 -a 3 a 2 a 3 0 -a 1 -a 2 a 1 0   V =   a 1 a 2 a 3   .
(5.81)

Another impedance controller for the centroidal height control relative to the base in the vertical direction of the inertial frame should be defined as below, .82) where

Γ Gb = J T Gb K Gb p d Gb -p Gb + D Gb ṗd Gb -ṗGb , ( 5
J Gb = S d J G -b R T 0 S d J b
is the Jacobian for the centroidal translational motion relative to the base frame in the base vertical direction. S d = [0 3×3 , 1 3×3 ] is a selection matrix. K Gb and D Gb denote the relative stiffness and damping scalars.

The active compliance for legged suspension plays a significant role, therefore, for each swing-leg CoM motion, one impedance controller is established as below, .83) where J pi = 0 3×6 S d J p i . In this impedance controller, i ∈ [sw f , sw h ]. K swi ∈ R 3×3 and D swi ∈ R 3×3 denote respectively the stiffness and damping for the swing leg i CoM motion.

Γ swi = J T pi K swi ( pd swi -pswi ) + D swi ( ṗd swi -ṗswi ) , ( 5
The above impedance controllers are used to track the external and internal motion references. However, when the robot arrives at the final target position of the external motion references, the robot may have the states different from the beginning state. Therefore, we enable the robot to trot in place and define another impedance controller for each swing-leg CoM motion as follows, = 0. This impedance controller can imitate the tendon on animals and enable the robot to trot in place and recover to the beginning state. In addition, we set the stiffness and damping matrices with small values to reduce their influences on the other impedance controllers.

Γ pi = (S xy J pi ) T K pi P d i[x] -pi[x] P d i[y] -pi[y] + D pi Ṗ d i[x] -ṗi[x] Ṗ d i[y] -ṗi[y] , ( 5
According to the internal legged motion relationships in Section 5.3.9, we define two impedance controllers on normal terrains (e.g. flat terrain) as follows,

Γ f = J T f [K f e f + D f ėf ] , (5.85a) Γ h = J T h [K h e h + D h ėh ] , (5.85b)
where (K f , D f ) and (K h , D h ) denote the relative stiffness and damping matrices. (J f , J h ) and (e f , e h ) are defined as below,

J f =    S x (J psw f + J pst h ) S y (J psw f + J pst f ) S z (J psw f -J psw h )    , (5.86a) J h =    S x (J psw h + J pst f ) S y (J psw h + J pst h ) S z (J psw h -J psw f )    , (5.86b) e f =   -S x ( psw f -P d sw f ) -S x ( pst h -P d st h ) -S y ( psw f -P d sw f ) -S y ( pst f -P d st f ) -S z ( psw f + pd sw h )   , (5.86c) e h =   -S x ( psw h -P d sw h ) -S x ( pst f -P d st f ) -S y ( psw h -P d sw h ) -S y ( pst h -P d st h ) -S z ( psw h + pd sw f )   , ( 5.86d)
where sw f , sw h , st f and st h represent the swing-front, swing-hind, stance-front and stance-hind leg index, and J pi is defined in (5.83), P d i is defined in (5.84). The impedance controllers should be integrated into the operational prioritized control framework and they should be consistent with task priorities. Therefore, we define Γ ∈ R n to include all impedance controllers as below, (5.87) where Γ k denotes the sum of all the impedance controllers defined in this subsection. Γ k can also integrate any other user-defined impedance controllers. J G|c|m and J sw|G|c|m represent the Jacobians for the centroidal motion and the swing-leg motion tasks respectively as follows,

Γ = (J T G|c|m J T G|c|m + J T sw|G|c|m J T sw|G|c|m ) Γ k ,
J G|c|m = J G N c|m = J G (N m -Jc|m J c|m ),
(5.88a) where J sw is the swing-leg motion Jacobian which includes two slack J pi , i ∈ [sw f , sw h ] for the trotting mode, and J sw includes only one J pi , i = sw for the walking mode. N c|m denotes the null-space projector for the contact and mechanism constraints, and N G|c|m is the null-space projector combining the centroidal motion tracking task and the two constraints. The subscript c|m means that the contact constraint task cannot conflict the mechanism constraint. The subscript G|c|m means that the CoM tracking task cannot conflict the two constraints. Similarly, the subscript sw|G|c|m means that the swing-leg motion task should be in the null-space of the CoM tracking task and the two constraints.

J sw|G|c|m = J sw N G|c|m = J sw (N c|m -JG|c|m J G|c|m ), (5.88b)
Each J = M -1 J T (JM -1 J T ) -1 denotes the dynamically-consistent inverse of each task Jacobian J . The null-space based inverse dynamics can be referred to [Sentis 2007]. Γ is the prioritized impedance controller, detailed in Chapter 3. Γ will not conflict the two kinematics constraints and respect the task hierarchy. In addition, the subscript G in (5.87) and ( 5.88) can be replaced by b if the floating base motion task is chosen as the first task.

Optimization based Torque Controller

For the whole-body torque controller, we use the torque controller P-HQP in Chapter 3. This technique presents many advantages for our legged locomotion. All tasks are projected in the null-space of the contact constraints. The prioritized impedance controller was proposed to be integrated into this hybrid framework, which influences the designed tasks in a decoupled way. For example, the impedance controller for the similar swing-leg motion cannot conflict the designed task hierarchy. The task control hierarchies for the walking and trotting locomotion modes are defined in Table 5.3. In this subsection, the index i means the hierarchy index.

It is noticed that for our robot, the constraints relating to the parallel mechanism has the highest priority. This is different from the state of the art that considers the contact constraint with highest priority. To be more general, we derive the dynamic properties relating to the hierarchy i operationalspace task as follows, (5.89d) where J i|pre(i) = J i N pre(i) is the prioritized operational space Jacobian for task i, which are in the null-space of previous tasks, represented as pre(i). N pre(i) is the null-space by combining all tasks above level i which can be calculated recursively as N pre(i+1) = N pre(i) -Ji|pre(i) J i|pre(i) . Furthermore, N pre(1) = N c|m . For our application, K = 2, J 1 = J G and J 2 = J sw . It is noticed that J 1 = J b if the tracking of the floating-base motion is selected as the first task. In addition, Λ i|pre(i) represents the task i operational space inertia. µ i|pre(i) and ρ i|pre(i) denote the the Coriolis & centrifugal force, and the gravity force in the task i operational space respectively. The dynamics properties for the designed two tasks are listed as follows. (5.90d) where it is noticed that the subscript G can be replaced by b if tracking the floating-base motion is the first task. Similarly, the dynamic properties for the swing-leg motion tracking task are derived as below,

Λ i|pre(i) = (J i|pre(i) M -1 J T i|pre(i) ) -1 , (5.89a) J T i|pre(i) = Λ i|pre(i) J i|pre(i) M -1 , (5.89b) µ i|pre(i) =Λ i|pre(i) J i M -1 N T c|m C + Λ i|pre(i) J i Jc|m Jc q -Λ i|pre(i) Ji q, (5.89c) ρ i|pre(i) = Λ i|pre(i) J i M -1 N T c|m G,
Λ G|c|m = (J G|c|m M -1 J T G|c|m ) -1 , (5.90a) J T G|c|m = Λ G|c|m J G|c|m M -1 , (5.90b) µ G|c|m = Λ G|c|m J G M -1 N T c|m C + Λ G|c|m J G Jc|m Jc q -JG q , (5.90c) ρ G|c|m = Λ G|c|m J G M -1 N T c|m G,
Λ sw|G|c|m = (J sw|G|c|m M -1 J T sw|G|c|m ) -1 , (5.91a) J T sw|G|c|m = Λ sw|G|c|m J sw|G|c|m M -1 ,
(5.91b) µ sw|G|c|m = Λ sw|G|c|m J sw M -1 N T c|m C + Λ sw|G|c|m J sw Jc|m Jc q -Jsw q , (5.91c)

ρ sw|G|c|m = Λ sw|G|c J w M -1 N T c|m G.
(5.91d)

Since the constraints relating to the parallel mechanism induce a change into the dynamics model, the operational-space properties in (5.89) should be applied to achieve each task-acceleration extraction ẍi which is used to build the cost function of P-HQP as follows, (5.92) where Q i (τ i ) is the cost function and τ i is the optimized torque for hierarchy i. ẍd i is the desired task i acceleration, ẍd 1 = vd G and ẍd 2 = vd sw , and they are achieved in the motion generator. The control objective is regularized by a small value ε, which ensures positive definiteness of the objective Hessian. The common inequality constraints for hierarchy i optimization include the joint torque/position/velocity limits, the contact unilateral constraint and the friction cone as below, τ min ≤ τ acti ≤ τ max (5.93a) q min ≤ q |k+1 = q |k + q|k δt + 1 2 q|k δt 2 ≤ q max (5.93b) qmin ≤ q|k+1 = q|k + q|k δt ≤ qmax (5.93c)

Q i (τ i ) = ẍd i -ẍi 2 + ε τ i 2 ,
u c • F c ≥ 0, (5.93d
)

|t c • F c | ≤ µ √ 2 (u c • F c ) (5.93e) |b c • F c | ≤ µ √ 2 (u c • F c ) , (5.93f)
where τ acti is the actuated torque combining the optimization variable in hierarchy i, τ i , and the variables which have be optimized in hierarchies < i, τ t , (t ∈ [1, • • • , i -1]) as follows,

τ acti = W N T pre(i) S T τ i + W i-1 t=1
N T pre(t) S T τ t , (5.94a) W = (SN c|m M -1 S T ) + SN c|m M -1 , (5.94b) where the superscript + means the Moore-inverse method. W is a mapping matrix and enables the calculated torque to be consistent with the kinematics constraints, and its original version is defined in [START_REF] Sentis | [END_REF]] without kinematics constraints relating to parallel mechanisms. The quadratic forms of the contact force and the actuated-joint acceleration are extracted according to the optimized variable τ i as follows, (5.95a) q = A T qi τ i + B qi , (5.95b) Figure 5.11: Snapshots of the forward trotting for 15.2m with 0.8m/s velocity. The robot squats down from the base height 0.53m to 0.5m, then accelerates from zero speed to 0.8m/s within 1s. Then the robot trots with constant speed 0.8m/s for 18s, then decelerates to zero speed using the final 1s.

F c = A T ci τ i + B ci ,
B ci = µ c|m + ρ c|m + J T c|m (Γ -S T W i-1 t=1
N T pre(t) S T τ t ), (5.96b)

A T qi = M -1 J T a|m (J T c A T ci + S T W N T pre(i) S T ), (5.96c
)

B qi = M -1 J T a|m (J T c B ci + S T W i-1 t=1
N T pre(t) S T τ t ) -M -1 (C + G + J T a|m Γ), (5.96d) We substitute (5.94) and (5.95) into (5.93) to constitute the compatible constraints for hierarchy i. After the optimization of all hierarchies, the final actuated torque τ act K can be achieved, shown in Fig. 5.5.

The contact force can be estimated by substituting τ act into (5.20).

Lateral Push-recovery Reaction

As we know, the robot cannot resist to the lateral large-force push because of actuated-power limits.

The optimization based torque controller in Section 5.4.2 cannot generate the required actuated torque to maintain balance. In this case, one method is to generate a new on-line centroidal motion reference, which can consist of the third Bézier curve in Fig. 5.6 because the robot has a non-null initial lateral velocity. The new reference will guide the robot to move in the lateral direction using our locomotion generator, until the lateral velocity recovers back to zero. However, it is difficult to determine the correct timing at which a new reference needs to be generated. In addition, it needs much calculation resources to generate a new reference which is not suitable for situations of sudden push. However, this case belongs to the general situation that the robot cannot follow the base/centroidal motion precisely. Our new locomotion principle can handle this case perfectly, because the lateral push only influences the external level motion. The robot internal level motion just follows the change of the external level. In addition, when the robot trots forward on the road and is pushed in the lateral direction, the torque controller always respects the contact constraints. It means that first, the stance legs will follow the base motion, then the feedback impedance controller in (5.82) enables the swing legs to compensate the influence from stance legs to the achievement of internal motion references.

Simulations for QuadISIR

The motion generator proposed in Section 5.3 is tested in several simulation scenarios using our virtual quadruped robot, "QuadISIR" (see Fig. 5.1) by the whole-body torque controller in Section 5.4. The simulation results are also reported using the physical engine established by ROS-GAZEBO, with the similar environment and sensor settings as for the wheel motion generation in Chapter 4. Based on the sensor-feedback data, we calculate the base and the centroidal properties. These robot states are applied in the impedance controllers in Section 5.4.1 and the legged motion generator in Section 5.3. We use these simulations to test the abilities of our proposed locomotion principle and the trottingmode generator. The robot is simulated to trot in the forward and lateral directions, and turn in place. The robot is also able to resist virtual external force and do push-recovery motion. In addition, the robot also evolves on the rough terrain. The dry friction coefficient is set to be 0.8 in these scenarios. Our approach can handle these applications without setting specific configurations for each scenario. More simulation results can be referred in the video1 for this chapter.

Trotting Forward

In this scenario, we simulate our virtual robot to trot forward on the flat terrain for 15.2m using 80 steps. In addition, σ in the state machine is set to be 1.2 which means that the swing-leg indexes are enforced to be changed when the actual step period reaches 120% of the desired value. From the snapshots in Fig. 5.11 and the leg-CoM position in the beginning and ending of the whole process in Fig. 5.14, it is noticed that the robot is able to trot smoothly from speed zero to 0.8m/s without defining the step length and the transition among different speeds. Compared to the state of the art, the smooth transition between different speeds is a major advantage of our new locomotion principle and the corresponding legged motion generator, detailed in Section 5.3. At low speeds, the leg-CoM position along the x b axis in the base frame has a small-amplitude change. At the constant speed 0.8m/s, each leg CoM experiences a stable change, c.f. the middle phrases in Fig. 5.14. The front and rear leg-CoM trajectories experience different stance motions w.r.t. the base, due to the fact that the actual base orientation and the wholebody motion are influenced by the mutual influences between the impact forces and the optimized torque, and latter one is generated by the hierarchical optimization based torque controller by combining the feed-forward acceleration-reference tracking and the feedback general impedance controllers, especially in (5.84) and (5.85). In Fig. 5.12 and Fig. 5.13, we can see that each leg CoM or foot reaches a stable cycle after the legs pass the transition period. The foot-position loops in Fig. 5.13 follow the relationships with the leg CoM-position loops in Fig. 5.12, detailed in the leg design part in Section 5.2.1.2.

The desired step period T swi = 0.25s and the actual step period is always longer than the desired value, c.f. Fig. 5.15. There are three reasons: The contact point is estimated at the middle tip of foot which is not accurate for the ball-like foot. The base has rotational angles when trotting with two stance legs. The impact force in each step period results in the fluctuation of the base motion in the vertical direction. The step period tracking can be improved by increasing the impedance controllers, however, it will also lead to larger impact force and more fluctuation of the base motion. In the future work, the vision function will be applied and one more smooth p Gb trajectory will be generated on-line which will be tracked by impedance controllers with bigger stiffness and damping. In addition, Fig. 5.18 shows the contact states of four legs during t ∈ [START_REF] Du | Whole-Body Motion Tracking for a Quadruped-on-Wheel Robot via a Compact-Form Controller With Improved Prioritized Optimization[END_REF]10], at some specific timings in this trotting mode. There are three contact points, which means that two legs land at different timings and the walking mode is applied instead of the trotting mode until four legs all touch the ground, detailed in the state machine in Section 5.3.5.

In the running process, the dynamics model is discontinuous due to the frequent changes in the dimension of the contact Jacobian in (5.4). The sudden contact forces are partially compensated by the impedance controllers, and partially transfered to the base resulting in rotational motion of the base. We show the pitch angle along the whole process: it is very small and satisfactory by using several various impedance controllers which are projected to the hierarchical torque controller by respecting the contact constraints and the task hierarchy. The generated torque for each-leg actuated joints are shown in Fig. 5.17. In addition, the smooth transition property can also be seen in the pitch-angle tracking performance. The stable-loop property can be observed in the generated torque in Fig. 5.17 in which the curves are selected during the constant-speed trotting process and each-joint torque experiences periodically.

Furthermore, we show the tracking performances of the base translational motion and the relative motion between the base and the robot CoM in Fig. 5.19. Along the whole process, the tracking performance is quite satisfactory. However, the base forward motion experiences a little delay, because for our new locomotion principle, the base or the centroidal spatial motion serves as the reference, then the stance legs follow the base motion. Although the desired swing-leg velocity and acceleration are generated using the desired stance-leg velocity and acceleration respectively, the swing-leg position is achieved using the actual stance-leg position whose contact points are not accurately estimated, resulting in the stance legs having a little delay. Since we use the relative motion as the reference in the legged motion generator and p Gbx = 0, then the desired swing-leg positions suffer a little delay and the impedance controllers relating to the legged motion pull the base behind a little. However, the base delay influence can be improved by adjusting the stiffness and damping matrices in the impedance controllers relating to the base motion. In addition, the base height also fluctuates during step period due to the sudden contact forces. We can see in Fig 5.19 that the base height reaches periodic loops after the robot squats down and finishes the transition period.

In addition, it is noticed that in the simulation video, the robot recovers to its beginning state without defining the step number to be odd or even, because the impedance controller in (5.84) pulls the legs to the beginning state. However, it also causes a little delay of the base motion and influences the symmetric motion in the running process, which can be viewed in the Y-axis values in Fig. 5.14 and the X-axis values in Fig. 5.12 and Fig. 5.13. Compared to its drawbacks, the advantage is more apparent without considering how the robot stops.

Trotting Lateral, Turning in Place and Push-recovery

The new locomotion principle and legged motion generator also enable the robot to trot in the lateral direction, turning and recovering from external push force. Some of its characteristics are similar with the trotting mode in the forward direction and are not plotted in this subsection. Initially, the robot is allowed to trot in the lateral direction for 2.5m with 0.25m/s by given the base lateral motion reference and the snapshots are shown in Fig. 5.20. The legged motion can also be generated on-line. The tracking results in the lateral direction in Fig. 5.21 also show similar performances as the forward trotting in Fig. Apart from the translational-motion capabilities, our approach also enables our robot to behave turntrotting motion because the internal legged motion relationships defined in Section 5.3.9 can also handle the base turning motion. In this scenario, the desired step period is T swi = 0.28s, the robot first turns in the counterclockwise direction for 3π 4 rad, then in the opposite direction for πrad, shown in Fig. 5.22. The stance legs follow the base rotational motion, the swing-leg motion are automatically generated. The tracking results of the base roll, pitch and yaw angles are depicted in Fig. 5.23 which are very small along the whole process by using our prioritized impedance controller based hierarchical whole-body torque control.

In addition, the proposed legged motion generator can also handle the push-recovery motion, shown in Fig. 5.24 [Left] in which the red-thin line represent the x 0 axis of the inertial frame. The robot is simulated to trot forward with 0.5m/s and during t ∈ [9, 12], an external virtual lateral force in Gazebo is applied onto the base, then the robot begins to trot in the lateral direction while trotting forward. We Until now, we show the abundant capabilities of our new locomotion principle and the proposed legged motion generator to achieve the trotting mode to track the base translational motion, turning motion, and the ability to resist disturbances.

Trotting on Rough Terrain

In the final scenario, the robot is simulated to trot on relative rough terrain with 0.5m/s for 210 steps, shown in Fig. 5.25. The rough terrain contains three parts: the first road in the x 0 axis has five small stairs, the second road with the angle of 45 • to the x 0 axis are configured with two symmetric bumps, the third road is along the y 0 axis with unsymmetrical 3-left and 2-right bumps. The tracking performance Although the robot has fluctuation in the lateral direction and has delay in the forward direction, the robot succeeds to cross over the three unknown roads. In the simulation video, by given the base motion references, we can see that the robot adjust its configuration and legged trajectory on-line by itself by using our legged motion generator and compliant torque controller.

Summary

This chapter proposes a new legged locomotion principle and one legged motion generator for a quadruped robot. The robot leg is new designed with parallelogram mechanisms to enable the robot with more symmetric mass distribution and dynamics properties and the generalized dynamics model is built. Then the centroidal momentum and dynamics models are established using each leg centroidal motion instead of each leg-body motion, and each leg centroidal properties are derived. The motion generator is proposed which is much closer to real quadruped-animal locomotion principle in terms of the automatic gait generation. The stance legs follow the base motion using contact-constraint consistent torque controller. The swing legs compensate the influences from the stance legs to the centroidal motion. The desired legged position, velocity and accelerations are achieved using the mass distribution model, the modified centroidal momentum and dynamics models, and the kinematics contact constraints. By combining the whole-body kinematics model and the kinematics constraints relating to the contact constraints and the parallelogram mechanism, our new locomotion principle and generator enable the robot to trot and walk without pre-defined legged-motion trajectories. When two swing legs land in different timings, the walking gait is applied. The proposed state machine is developed for switching the locomotion gaits between walking and trotting, which also serves the torque controller and determines the dimension of the legged control states and the contact Jacobian. Therefor, our new locomotion principle integrates the system design, motion generation and torque control together. This one common framework synthesizes several locomotion gaits using only one control framework. The validation is performed through advanced numerical simulations using our quadruped robot in the multi-body multi-contact dynamic engine. The robot succeeds to trot in the forward and lateral directions, turn, handle push-recovery motion, as well as trot on the relative rough terrain.

Chapter 6

Conclusion and Future Works

In this thesis, we initially propose and improve four kinds of whole-body torque controllers. Then we develop two motion generators for the quadruped-on-wheel robot, TowrISIR. Finally, we propose to generate the trotting-mode locomotion for the quadruped robot, QuadISIR without the leg-massless assumption or pre-defined leg trajectory. The proposed approaches are verified through abundant simulation scenarios. In this chapter, we summarize these works and present the future perspectives.

Conclusions

Focusing first on the torque controller, we improve four kinds of whole-body torque controllers by proposing new dynamics models and one concept, "Prioritized Impedance Controller" (PIC). PIC enables various impedance control forces to be consistent and compatible with multi-task hierarchies. The concept can handle more general and various impedance controllers, including the ones built directly on specific designed tasks, and ones indirectly acting on the whole-body behaviors. Regarding the pseudo-inverse based dynamics method and null-space based weighted optimization solver, we propose to modify the generalized dynamics model to include the PIC. In contrast with the conventional weighted QP, we first propose to introduce priorities in the weighted scheme, in the same way, hierarchies exist among several subtasks. The proposed PIC decouples the influences from various impedance forces to the designed tasks in the mathematical way. The modified dynamics model enables to integrate this new weighted scheme into the hierarchical control framework. For the optimization based hierarchical techniques (including strict hierarchical convex optimization and a hybrid hierarchical-weighted scheme), another new dynamics model is proposed which also contains the PIC and is more general for hierarchical optimization. The modified or new dynamics model embodies the multi-level control hierarchy and enables the achievement of the more general and complete hierarchical optimization solvers, both for the task acceleration extraction and the same number of constraints. The detailed algorithm is developed which is more general and can be used for the pure weighted scheme, or the pure hierarchical scheme, or the hybrid combination. These approaches are verified and implemented on our virtual quadruped-on-wheel robot with one manipulator on its floating base. The results show that the control schemes with the prioritized impedance controller enable our robot to handle complex missions efficiently and compliantly.

Regarding the motion generators for the quadruped-on-wheel robot, TowrISIR, we apply the extra centroidal properties of four-limb robots in addition to the generalized dynamics models. We propose one wheel-motion generator and one whole-body motion generator to track the robot centroidal motion reference. All wheels are in contact with the ground, and the legged motion is used as an active suspension and the base height control. In the first wheel motion generator, we assume that the legged suspension is already known, and then the wheel motion can be achieved by combining the whole-body inverse kinematics model and the centroidal momentum & dynamics model. In the second whole-body motion generator, we develop one altitude controller by controlling the relative motion between the base and the robot CoM, which enables the robot to run on terrains with much-difference altitude. Then the whole-body motion generator is developed by combining both the kinematics model, the wheel-center motion model, the robot centroidal momentum and dynamics models, and the attitude control model. Finally, the robot is simulated to be driven on various rough terrains with compatible dynamic behaviors. This work serves as the basis to achieve the hybrid locomotion modes in the future work by combining the dynamic-legged motion and the wheeled motion together.

For the quadruped robot, QuadISIR, we propose one new locomotion principle and one trotting-mode motion generator without the leg-massless assumption. This new principle further closes the gap between the quadruped robots and their counterparts. For the trotting locomotion gait, the whole-body CoM or the base motion is defined initially, then the stance legs follow the base motion, and the swing legs compensate the delay influence from the stance-leg motion to the centroidal motion. This new principle is more consistent with the locomotion logic of the quadruped animals. We propose the more general legged internal relationships, which can be applied for forward and lateral trotting and turn trotting motions. This legged motion generator also exploits the strengths of the centroidal dynamics of the whole robot and each leg. The developed motion generator can also be applied for the walking mode which is applied when two swing legs land in different timings. Instead of using the leg real joints, the virtual joints between the floating base and each leg CoM are applied to build the robot mass-distribution model, centroidal momentum and dynamics models. By combining the whole-body kinematics model and the kinematics constraints relating to the contact constraints and the parallel mechanism, the legged motion generator enables the robot to trot and walk without pre-defined legged trajectories. In addition, the relative motion between the robot CoM and the base is controlled instead of the their absolute motions, which enables the robot to recover from external push. We propose the new state machine for switching the locomotion gaits between walking and trotting, and this state machine also serves the torque controller which determines the dimension of the legged control states and the contact Jacobian. The validation is performed through advanced numerical simulations using our PIC based torque controller. Our new locomotion principle integrates the system design, motion generation and whole-body torque control together, and this common one framework is able to handle several locomotion gaits. The robot succeeds to trot in the forward and lateral directions, turn, handle push-recovery motion, as well as trot on the relative rough terrain.

Perspectives

Wheeled Locomotion:

For the rolling-mode locomotion, we will develop a more accurate estimation method of the wheel contact points. This allows for a more accurate Equation of Motion and benefits the model based torque controller and motion generators. The desired centroidal angular motion is generated on-line. However, in our opinion, the angular property can influence the whole-robot stability [Lee 2012]. Therefore, we will develop a angular momentum based general stability criterion.

Legged Locomotion:

For the legged locomotion mode, although the principle in Chapter 5 is the start of generating the legged motion on-line using the robot dynamics, this work opens a door leading to robots being able to rely only on their own properties to run, without pre-defined legged trajectories. Future works will focus on the following:

• The developed legged motion generator will be applied to the amble gait.

• For the fast locomotion modes, e.g. trotting, bounding and galloping with flight phases, we believe that the passive dynamics properties can enable the automatic and energy-efficient motion generation without pre-defined leg trajectories.

• In our opinion, the whole-body compliance comes from both the kinematics and dynamics (torque control) levels. In our legged motion generator, only one method relating to the vertical motion between the base and the CoM is applied, however, it induces discontinuity in the position and velocity levels. The method in [START_REF] Barasuol | [END_REF]] brings a potential approach to handle the compliance at the kinematics level. Therefore, we may borrow this idea and develop a better kinematics compliance method.

• In our developed motion generator, we define the base and the CoM to share the similar motions in the forward and lateral directions for two locomotion modes. However, they can be set to be different to achieve various locomotion gaits.

• In the legged motion generator, we achieve the internal relationships of the swing legs by using the stance-leg motion directions. This seems to be not natural for more complex gaits. Therefore, we will focus on how to set a whole-body angular motion reference corresponding to the environment. In this way, the relationship between the swing legs are not necessary.

• Similarly with the motion generation for TowrISIR, we will find an angular motion relationship between the base and the centroidal motions to develop a general stability criterion for legged robots.

The control of the angular motion references are supposed to be even closer to the locomotion principle of quadruped animals.

• In the state of the art, there is still no practical methods to achieve the centroidal orientation. Therefore, we can develop an approach to estimate the unapparent centroidal orientation angles by comparing the running state with the robot normal state. This could allow the desired swingleg positions to be expressed using only the robot mass distribution model and the centroidal orientation model, which will be independent of the legged internal relationship.

• The robot structure can be improved to provide the dynamics model with more simple linear properties, especially between the actuated torque and the legged motion. This can be more advantageous for the whole-body motion optimization with actuated-torque constraints.

In the long-work plan, we will combine the rolling and legged motion together, which can provide the robot with more abilities to handle complex and changing environment, e.g. trotting-rolling, jumping-rolling locomotion modes. The changing wheel-contact points induces influences to the contact constraints of the legged motion. We will focus our research on developing a general motion generator without defining the robot internal motion trajectories.

1. 1

 1 Legged Robotics in Boston Dynamics & MIT . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2 quadruped Robots in DLS lab of IIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.3 Legged Robotics developed by ETH Zürich Robotic Systems Lab . . . . . . . . . . . . . . 5 1.4 (a) Handle robot in Boston Dynamics, (b) Justin in German Aerospace Center (DLR) . . 6 1.5 High mobility hybrid legged-wheeled robots . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.6 Recent high mobility hybrid legged-on-wheel robots . . . . . . . . . . . . . . . . . . . . . . 7 1.7 Spring Loaded Inverted Pendulum [Yu 2012] . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.8 Central Pattern Generator [Barasuol 2011] . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.9 Hylos Kinematic Model [Grand 2010] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.10 Legged-robot configurations with floating bases. . . . . . . . . . . . . . . . . . . . . . . . 12 1.11 Centroidal Dynamics [Orin 2008] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 1.12 Cascade Impedance Controller [Semini 2016] . . . . . . . . . . . . . . . . . . . . . . . . . 16

  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.2 [Left:] Connectivity of TowrISIR: The robot has N B = 23 bodies, the manipulator with purple color accounts for 6 bodies and the quadruped part has 17 bodies. The quadruped-CoM frame G is set parallel with the base frame 1 or b. [Right:] Indexes from 1 to 17 represent the Quadruped Bodies. Dashed circles represent the manipulator with body/joint index from 18 to 23. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 3.3 P-HQP control framework: Given the quadruped-CoM translational motion reference, the legged and wheeled motions are achieved, detailed in Chapter 4. The motion references serve as the inputs of our dynamics controller in the dashed red box, including the proposed modified dynamics model, task extractions, prioritized impedance controllers, recursively updated inequality constraints and convex optimization. Three hierarchies are defined and each color stands for one hierarchy. The variables in this framework are explained in Chapter 2 and in this chapter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 3.4 Two simulation scenarios under GAZEBO simulator. (a) The robot runs along with pushing a door open, including the extension and retraction of the manipulator. (b) The robot runs on the rough terrain along with washing a wall, including the suspension of the legs and the manipulator motion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 3.5 Plots of robot states for two simulation scenarios with index 1 and 2 respectively. (1a) Plot of quadruped CoM motion in forward x direction. (2a) Plot of quadruped CoM motion in forward x and vertical z direction. (1b) and (2b) Plot of the four wheels' rotational position errors: F, L, R, H represent front, left, right and hind. (1c) and (2c) Plot of the motion of the manipulator end effector: desired and actual orientations (roll, pitch, yaw) and positions (x, y, z) of the end effector are relative to the base frame. . . . . . . . . . . 51 3.6 The robot is driven on various rough terrains while handling some activities. The whole process is divided into four stages. Stage 1: the beginning state. Stage 2: the robot holds the handrail using its arm. Stage 3: the robot retracts its arm after the handrail. Stage 4: the robot squats down and crosses through the desk and over one bump under the desk. 52 3.7 Plots of robot states by using the hybrid hierarchical-weighted control framework. The left axes denote the motion errors and the right axes represent positions. (a) plots the centroidal translational motion in the forward direction. (b) plots the centroidal translational motion in the vertical direction. (c) plots the front-left wheel rotational positions and the motion error. (d) plots the manipulator end effector motion errors, including the orientation errors (roll, pitch, yaw) and the position errors (x, y, z). . . . . . . . . . . . . . 53 3.8 CoM tracking performance comparison by the hierarchical scheme and the null-space based weighted scheme. (a) plots the centroidal position errors in the forward direction. (b) plots the centroidal position errors in the lateral direction. . . . . . . . . . . . . . . . . . . . . . 54 3.9 Hierarchical control between the centroidal motion tracking and the wheel motion tracking tasks. (a) plots the centroidal position errors in the forward direction. (b) plots the wheeljoint motion errors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.1 Wheel Motion Generation Framework: For the rolling locomotion mode, by given the quadruped-CoM translational motion reference, the legged locomotion generator outputs the desired legged configuration for the legged active suspension and the base height control. The superscript d means "desired". The wheel velocity and acceleration are derived using the centroidal momentum/dynamics based wheel velocity/acceleration generators in the dashed blue and red boxes, detailed in Section 4.2. The outputs of the generators serve as the inputs of the prioritized impedance controller based torque controller in the yellow dashed box, detailed in Section 4.4. . . . . . . . . . . . . . . . . . . . . . . . . . . 58 4.2 Whole-body Motion Generation Framework: For the rolling locomotion mode, by given the quadruped-CoM translational motion reference. The superscript ref means the reference. The whole-body velocity and acceleration are derived using the velocity and acceleration based models in the dashed blue and red boxes, detailed in Section 4.3. The outputs of the generators (Υ, Υ), the desired whole-body motions, serve as the inputs of the prioritized impedance controller based torque controller in the yellow dashed box, and G and w denote the centroidal motion and the wheel motion tasks. . . . . . . . . . . . . . . 62 4.3 The motion references are shown in the robot sagittal plane. p ref G[x] denotes the centroidal translational motion in the forward direction of the inertial frame. pref G[z] represents the centroidal translational motion relative to the base frame in z b direction. pref wi[x] is the leg i wheel-center motion reference relative to the base frame in x b direction. . . . . . . . . . 63 4.4 The robot runs forward on various rough terrains and handles several activities. The platform height = 0.15m, length = 15.2m, and the rough terrain geometry is depicted. The whole running process is divided into six stages. . . . . . . . . . . . . . . . . . . . . 67 4.5 Motion tracking results of the centroidal motion and the wheel motion. The left and right axes represent the errors and positions respectively. (a) records the robot centroidal forward position and error. (b) plots the lateral position error and its vertical height/error. (c) shows the four-wheel rotational positions and errors. Since the four-wheel motion experience the almost coincident trajectories, only the desired and actual front-left wheel positions are plotted. (d) plots the actuated-joint torque for the front-left leg. . . . . . . . 4.6 The robot is driven on unknown 3D rough terrain with various slopes. (a) is the beginning state. In (b), the robot runs downward one slope. In (c) and (d), the robot prepares and climbs upward respectively. (b) and (c) show the legged suspension with compliance. . . . 4.7 Simulation results of the second scenario. (a) records the quadruped CoM motion in forward direction. (b) plots the four wheels' rotational position errors along the whole process. Only the desired and actual front-left wheel positions are plotted. (c) shows the four wheel contact normal forces. (d) plots the actuated-joint torque for the front-left leg. 4.8 The robot runs forward on various rough terrains and handles several activities. The symmetric rough terrain geometry of the platform is depicted on the picture. The whole running process is divided into eight stages. We also show some zoom-in pictures of several stages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.9 Motion tracking results of the centroidal motion. The left and right axes of (a) and (c) represent the errors and positions respectively. (a) records the robot centroidal forward position and error. (b) plots the desired and actual CoM position relative to the base in the base vertical direction. (b) also plots the actual CoM height position in the inertial frame. (c) shows the four-wheel rotational positions and errors. Since the four-wheel motion experience the almost coincident trajectories, only the desired and actual front-left wheel positions are plotted. (d) plots the four wheel contact normal forces. . . . . . . . . . . . .

( 2 )

 2 is 0.2m. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.11 Two-task tracking performance relating to the centroidal motion and the wheel motion. The three figures have the same descriptions as in the caption of Fig. 4.9. . . . . . . . . 5.1 "QuadISIR"-A quadruped robot developed in ISIR lab. Each leg has three active-actuated joints, including the hip abduction/adduction joint (HAA), hip flexion/extension joint (HFE), knee flexion/extension joint (KFE). The fourth ankle joint is actuated by one mechanism structure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Robot Configuration: Each leg is consisted with three actuated joints, HAA, HFE and KFE, whose frame z axes are consistent with the joint axes. F, L, R, H represent front, left, right, hind. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3 New design principle of leg i. In the sagittal plane, the hip point, leg CoM and the contact point are on the same line. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.

  5.12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.14 Transition of the legged motion in x b axis when the robot accelerates and decelerates in the forward direction. After t = 23s, the robot trots in place in the final target position. . 5.15 Forward-trotting step period record for 80 steps. . . . . . . . . . . . . . . . . . . . . . . . 5.16 [Up]: The periodic cycles by one filter. [Down]: Actual base pitch angle. . . . . . . . . . 5.17 The generated torque for four-leg joints [N/m]. . . . . . . . . . . . . . . . . . . . . . . . . 5.18 The detected contact states of four legs when trotting forward during t ∈ [2, 10]. . . . . . 5.19 Base and robot-CoM tracking performance for forward trotting motion. . . . . . . . . . . 5.20 Snapshots of the lateral trotting with 0.25m/s. . . . . . . . . . . . . . . . . . . . . . . . . 5.21 Base tracking performance for the lateral trotting. . . . . . . . . . . . . . . . . . . . . . . 5.22 Snapshots of the turn trotting in place with π 8 rad/s using 64 steps. The robot trot to turn in the counterclockwise and clockwise directions. . . . . . . . . . . . . . . . . . . . . 5.23 Base angular-motion tracking performance for turn-trotting motion. . . . . . . . . . . . .

A. 1

 1 Whole-body structure of TowrISIR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.2 Hind half structure of TowrISIR shows the hydraulic control components. . . . . . . . . . A.3 Floating base layout and dimension of TowrISIR. . . . . . . . . . . . . . . . . . . . . . . A.4 Electric Architecture of TowrISIR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.5 6-DOF manipulator structure for TowrISIR. . . . . . . . . . . . . . . . . . . . . . . . . .

Figure 1 . 1 :

 11 Figure 1.1: Legged Robotics in Boston Dynamics & MIT

Figure 1 . 2 :

 12 Figure 1.2: quadruped Robots in DLS lab of IIT

Figure 1 . 3 :

 13 Figure 1.3: Legged Robotics developed by ETH Zürich Robotic Systems Lab

Figure 1 . 4 :

 14 Figure 1.4: (a) Handle robot in Boston Dynamics, (b) Justin in German Aerospace Center (DLR)

Figure 1 . 5 :

 15 Figure 1.5: High mobility hybrid legged-wheeled robots

Figure 1 . 6 :

 16 Figure 1.6: Recent high mobility hybrid legged-on-wheel robots

Figure 1 . 7 :

 17 Figure 1.7: Spring Loaded Inverted Pendulum [Yu 2012]

Figure 1 .

 1 Figure 1.8: Central Pattern Generator [Barasuol 2011]

Figure 1 .

 1 Figure 1.10: Legged-robot configurations with floating bases.

Figure 2 . 2 :

 22 Figure 2.2: Structure of TowrISIR with leg indexes: The whole-body CoM frame G is set parallel with the base frame 1 or b.The frames relating to the inverse kinematics are zoomed in, including the contact frame c i , the wheel frame w i and the knee frame k i . The letters F, L, R and H represent front, left, right and hind. On the front-left (FL) leg, we give the leg lengths. The wheel diameter is 150mm. The contact frame is always estimated at the lowest point in the sagittal plane of the wheel in the gravity direction.

Figure 2 . 3 :

 23 Figure 2.3: Connectivity of TowrISIR with body and joint indexes.

  .35) where 1 p G = b p G represents the robot-CoM position in the base frame which can be extracted from well-structured I C 1 or I C b

Figure 2 . 4 :

 24 Figure 2.4: Whole-Body Dynamics Control Scheme of TowrISIR

1

 1 Introduction and Chapter Outline . . . . . . . . . . . . . . . . . . . . . . . . . . 37 3.2 Generalized Dynamics Model for a Locomotion Robot . . . . . . . . . . . . . . 37 3.3 Whole-body Impedance Controllers . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.4 Prioritized Impedance Controller based Torque Control . . . . . . . . . . . . . 40 3.4.1 Modified Dynamics Model for Pseudo-inverse based Dynamics . . . . . . . . . . . 40 3.4.2 Prioritized Impedance Controller based Null-space based Prioritized Weighted Optimization (P-WQP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 3.4.3 One New Dynamics Model for Prioritized Impedance Controller based Hierarchical Optimization (P-HQP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 3.4.4 Integration of the Prioritized Weighted Scheme in the Hierarchical Optimization (P-HWQP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 3.5 Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 3.5.1 Simulations for the Prioritized Weighted Optimization . . . . . . . . . . . . . . . . 50 3.5.2 Simulations for the Hybrid Hierarchical-weighted Optimization . . . . . . . . . . . 52 3.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

. 1 )Figure 3 . 1 :

 131 Figure 3.1: [Left]: Task hierarchy definition. The smaller index, the higher priority. Index 0 denotes the contact constraint. For each priority, one specific impedance controller is applied. Other indirect impedance controllers can be integrated to be consistent with the task hierarchy using our approach in this chapter. [Right]: TowrISIR is equipped with one manipulator on its floating base to enable the robot with manipulation behaviors. The manipulator has 6 DOFs and its mass is about 7kg. The weight of the robot with the manipulator is about 107kg.

Figure 3 .

 3 Figure 3.2: [Left:] Connectivity of TowrISIR: The robot has N B = 23 bodies, the manipulator with purple color accounts for 6 bodies and the quadruped part has 17 bodies. The quadruped-CoM frame G is set parallel with the base frame 1 or b. [Right:] Indexes from 1 to 17 represent the Quadruped Bodies. Dashed circles represent the manipulator with body/joint index from 18 to 23.

Figure 3 . 3 :

 33 Figure 3.3: P-HQP control framework: Given the quadruped-CoM translational motion reference, the legged and wheeled motions are achieved, detailed in Chapter 4. The motion references serve as the inputs of our dynamics controller in the dashed red box, including the proposed modified dynamics model, task extractions, prioritized impedance controllers, recursively updated inequality constraints and convex optimization. Three hierarchies are defined and each color stands for one hierarchy. The variables in this framework are explained in Chapter 2 and in this chapter.

Figure 3 . 4 :

 34 Figure 3.4: Two simulation scenarios under GAZEBO simulator. (a) The robot runs along with pushing a door open, including the extension and retraction of the manipulator. (b) The robot runs on the rough terrain along with washing a wall, including the suspension of the legs and the manipulator motion.

Figure 3 . 5 :

 35 Figure 3.5: Plots of robot states for two simulation scenarios with index 1 and 2 respectively. (1a) Plot of quadruped CoM motion in forward x direction. (2a) Plot of quadruped CoM motion in forward x and vertical z direction. (1b) and (2b) Plot of the four wheels' rotational position errors: F, L, R, H represent front, left, right and hind. (1c) and (2c) Plot of the motion of the manipulator end effector: desired and actual orientations (roll, pitch, yaw) and positions (x, y, z) of the end effector are relative to the base frame.

Figure 3 . 6 :Figure 3 . 7 :

 3637 Figure 3.6: The robot is driven on various rough terrains while handling some activities. The whole process is divided into four stages. Stage 1: the beginning state. Stage 2: the robot holds the handrail using its arm. Stage 3: the robot retracts its arm after the handrail. Stage 4: the robot squats down and crosses through the desk and over one bump under the desk.

Figure 3 . 8 :

 38 Figure 3.8: CoM tracking performance comparison by the hierarchical scheme and the null-space based weighted scheme. (a) plots the centroidal position errors in the forward direction. (b) plots the centroidal position errors in the lateral direction.

Figure 3 . 9 :

 39 Figure 3.9: Hierarchical control between the centroidal motion tracking and the wheel motion tracking tasks. (a) plots the centroidal position errors in the forward direction. (b) plots the wheel-joint motion errors.

  Velocity Generator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 4.2.2 Wheel Acceleration Generator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 4.3 Whole-body Motion Generator . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 4.3.1 Adaptive altitude Control Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 4.3.2 Wheel-center Motion Relative to the Base . . . . . . . . . . . . . . . . . . . . . . . 63 4.3.3 Whole-body Velocity Generator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 4.3.4 Whole-body Acceleration Generator . . . . . . . . . . . . . . . . . . . . . . . . . . 64 4.4 Whole-body Torque Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 4.4.1 Feedback Whole-body Impedance Controllers . . . . . . . . . . . . . . . . . . . . . 66 4.4.2 PIC based Torque Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 4.5 Simulation on Various Rough Terrains . . . . . . . . . . . . . . . . . . . . . . . . 68 4.5.1 Running on Artificial Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 4.5.2 Running on 3D Rough Terrain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 4.5.3 Running on Terrain with Big Altitude Difference . . . . . . . . . . . . . . . . . . . 71 4.5.4 Running on Non-symmetric Geometry . . . . . . . . . . . . . . . . . . . . . . . . . 72 4.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

Figure 4 . 1 :

 41 Figure 4.1: Wheel Motion Generation Framework: For the rolling locomotion mode, by given the quadruped-CoM translational motion reference, the legged locomotion generator outputs the desired legged configuration for the legged active suspension and the base height control. The superscript d means "desired". The wheel velocity and acceleration are derived using the centroidal momentum/dynamics based wheel velocity/acceleration generators in the dashed blue and red boxes, detailed in Section 4.2. The outputs of the generators serve as the inputs of the prioritized impedance controller based torque controller in the yellow dashed box, detailed in Section 4.4.

( a )

 a Algorithm for Qr qr in(4.3) for the wheel velocity generator.Assumption: the velocities of the floating-base and wheel joints are zero:v b = v1 = 0, qw = [ q5 q9 q13 q17] T = 0. Initialize one middle variable E = 0. for j=2 to NB do vj = j X p(j) v p(j) + Φj qj E = E + j X T b Ijvj end Qr qr = b X T G E(b) Algorithm for Qr qr and Q bias in (4.10) for the wheel acceleration generator. Define B, E, ej and bj as middle-process variables. Assumption: The accelerations of the floating-base and wheel joints are zero: a b = a1 = 0, qw = [ q5 q9 q13 q17] T = 0.

Figure 4 . 2 :

 42 Figure 4.2: Whole-body Motion Generation Framework: For the rolling locomotion mode, by given the quadruped-CoM translational motion reference. The superscript ref means the reference. The wholebody velocity and acceleration are derived using the velocity and acceleration based models in the dashed blue and red boxes, detailed in Section 4.3. The outputs of the generators (Υ, Υ), the desired wholebody motions, serve as the inputs of the prioritized impedance controller based torque controller in the yellow dashed box, and G and w denote the centroidal motion and the wheel motion tasks.

  .16b) where b R G transforms 3D vectors from the CoM frame to the base frame and ( b ṘG ) T = b R T G ω b ×. In addition, p G denotes the quadruped-CoM position in the inertial frame. pG denotes the robot CoM

Figure 4 . 3 :

 43 Figure 4.3: The motion references are shown in the robot sagittal plane. p ref G[x] denotes the centroidal translational motion in the forward direction of the inertial frame. pref G[z] represents the centroidal translational motion relative to the base frame in z b direction. pref wi[x] is the leg i wheel-center motion reference relative to the base frame in x b direction.

  .33) where J bx ∈ R 1×n is the Jacobian for the base angular motion around x b axis. The desired roll angle θ d b[x] is set to be zero. K b and D b denote respectively the relative angular stiffness and damping scalars.

Figure 4 . 4 :

 44 Figure 4.4: The robot runs forward on various rough terrains and handles several activities. The platform height = 0.15m, length = 15.2m, and the rough terrain geometry is depicted. The whole running process is divided into six stages.

  4.1 is applied in the first two simulations in Section 4.5.1 and Section 4.5.2. The P-HQP torque controller in Section 3.4.3 is applied in the simulation scenarios inSection 4.5.3 and Section 4.5.4. The two torque controllers integrate the feedback and feed-forward torque controllers together.

Figure 4 . 5 :

 45 Figure 4.5: Motion tracking results of the centroidal motion and the wheel motion. The left and right axes represent the errors and positions respectively. (a) records the robot centroidal forward position and error. (b) plots the lateral position error and its vertical height/error. (c) shows the four-wheel rotational positions and errors. Since the four-wheel motion experience the almost coincident trajectories, only the desired and actual front-left wheel positions are plotted. (d) plots the actuated-joint torque for the front-left leg.

Fig. 4 . 4 ,

 44 only the door-like horizontal bar position is known and the robot crosses over several kinds of artificial terrains, including one bump, one hollow and two stairs. [Stage 1]: the beginning state. [Stage 2]: the robot squats down to cross over one bump and through one door-like horizontal bar. [Stage 3]: the robot is driven on stones with different heights (the max difference is 0.02m) and the robot is pushed by one lateral external force F in the zoom-in picture. [Stage 4]: the robot crosses one continuous hollow. [Stage 5 and 6]: the robot climbs over two kinds of stairs. To validate the effectiveness and adaptivity of our wheel motion generator, one bump and the horizontal bar are put at the same place in stage 2, and the desired CoM height is controlled to enable the robot

Figure 4 . 6 :

 46 Figure 4.6: The robot is driven on unknown 3D rough terrain with various slopes. (a) is the beginning state. In (b), the robot runs downward one slope. In (c) and (d), the robot prepares and climbs upward respectively. (b) and (c) show the legged suspension with compliance.

Figure 4 . 7 :

 47 Figure 4.7: Simulation results of the second scenario. (a) records the quadruped CoM motion in forward direction. (b) plots the four wheels' rotational position errors along the whole process. Only the desired and actual front-left wheel positions are plotted. (c) shows the four wheel contact normal forces. (d) plots the actuated-joint torque for the front-left leg.

Figure 4 . 8 :

 48 Figure 4.8:The robot runs forward on various rough terrains and handles several activities. The symmetric rough terrain geometry of the platform is depicted on the picture. The whole running process is divided into eight stages. We also show some zoom-in pictures of several stages.

Figure 4 .

 4 Figure 4.9: Motion tracking results of the centroidal motion. The left and right axes of (a) and (c) represent the errors and positions respectively. (a) records the robot centroidal forward position and error. (b) plots the desired and actual CoM position relative to the base in the base vertical direction. (b) also plots the actual CoM height position in the inertial frame. (c) shows the four-wheel rotational positions and errors. Since the four-wheel motion experience the almost coincident trajectories, only the desired and actual front-left wheel positions are plotted. (d) plots the four wheel contact normal forces.

  4.8, and the zoom-in pictures in the middle-process behaviors are shown in Fig. 4.8. [Stage 1]: the beginning state. [Stage 2]: the robot squats down to prepare to cross through one door-like horizontal bar. [Stage 3]: the robot is driven upward one slope with stones (the max difference height of the stones is 0.01m). [Stage 4]: the robot crosses upward one stair. [Stage 5]: the robot squats down more to cross through one desk and over one bump under the desk. [Stage 6]: The robot is driven downward one stair. [Stage 7]: The robot runs downward one slope with stones. [Stage 8]:

Figure 4 .

 4 Figure 4.10: The robot runs forward on the unsymmetrical terrain, including (1) the slope in both forward and lateral directions, and (2) one platform with the half width of the road. The upper zoom-in pictures show the robot behavior on the slope indexed with(1). The left edge of the slope is 0.3m higher than the right edge. The bottom zoom-in pictures show that only the right two legs are the platform with index (2). The height of the platform (2) is 0.2m.

Figure 4 .

 4 Figure 4.11: Two-task tracking performance relating to the centroidal motion and the wheel motion. The three figures have the same descriptions as in the caption of Fig. 4.9.

Figure 5 .

 5 Figure 5.1: "QuadISIR"-A quadruped robot developed in ISIR lab. Each leg has three active-actuated joints, including the hip abduction/adduction joint (HAA), hip flexion/extension joint (HFE), knee flexion/extension joint (KFE). The fourth ankle joint is actuated by one mechanism structure.

. 1 .

 1 It is equipped with four legs, each leg has four joints, including HAA (hip abduction & adduction) joint, HFE (hig flexion & extension) joint, KFE (knee flexion & extension) joint and one Ankle joint, shown in Fig 5.2.

Figure 5 . 3 :

 53 Figure 5.3: New design principle of leg i. In the sagittal plane, the hip point, leg CoM and the contact point are on the same line.

  p i2 and b p i1 represent respectively the foot position in ankle frame, the ankle joint position in the KFE frame, the KFE joint position in the HFE frame, the HFE joint position in the HAA frame, and HAA joint position in the base frame, which are all constant vectors. The leg CoM position pi in the base frame can be derived as follows, pi = R i1 i1 p i + b p i1 ,(5.12a)

  .15) where m = m 1 + m 2 + m 3 + m 4 represents the leg weight. Note that the four legs have the same weight. K y and K z are dependent on the mechanical design. Substituting(5.11b) and (5.12b) into (5.14), we Table5.1: Parameters design of one leg: l 1 = 121.5mm, l 2 = 250mm, l 3 = 200mm, l 4 = 250mm in Fig.5

  and pG represent the robot CoM position in the inertia frame and in the base frame respectively. m G = m b + 4m is the whole-robot mass and m b is the base mass. b R G is the rotation matrix from the CoM frame to the base frame. We set the CoM frame parallel with the inertial frame, and b R G = b R 0 .

Figure 5 . 4 :

 54 Figure 5.4: An example in the sagittal plane to show our new locomotion principle using two legs for tracking the robot centroidal motion. v f and v h denote the velocity of the front and hind leg CoMs respectively. x and z represent the front and vertical directions respectively.

Figure 5 . 5 :

 55 Figure 5.5: Whole-body Control Framework: The motion references include the external and internal motion levels. The internal motion references are used for the motion generation of walking and trotting gaits. In the motion generator, we achieve the swing-leg motion using the CoM mass distribution model, the centroidal momentum/dynamics models and the models relating to legged motion relationships. The two level motion references and the outputs of the motion generators are used as inputs of the torque controller. The variables in the framework are explained throughout this chapter.

Figure 5 . 6 :

 56 Figure 5.6: An example of the base forward motion reference with three Bézier curves, two curves for acceleration and deceleration, one linear curve for uniform velocity motion. The whole reference is divided into several equal phases. Each phase represents one swing-step period.

Figure 5 . 7 :

 57 Figure 5.7: The motion relationship between the centroidal motion and the base motion on one slope. The dash line connecting the frame origins of the CoM and the base is set to be parallel with the z 0 or z G axis.

  .57) therefore, we can derive the following relationship by substituting (5.31b) and (5.38) into (5.57),

Figure 5 .

 5 Figure 5.10: This shows the leg motion relationship for the trotting mode in the forward-backward direction as shown in (a1) and (a2), in the lateral direction as depicted in (b1) and (b2), and in the turning-in-place situations as presented in (c1) and (c2). We take the front-left (FL) and hind-right (HR) legs as the swing legs. The front-right (FR) and hind-left (HL) legs serve as the stance legs. The blue and red arrows denote the motion direction of the swing legs and stance legs respectively relative to the base. The green arrows represent the robot motion direction.

Figure 5 .

 5 Figure 5.12: Four leg-CoM motions in the sagittal plane when the robot trotting forward for 80 steps. This figure includes the acceleration and constant-speed periods.The curves inside the stable loops represent the transition period when the robot accelerates.

Figure 5 .

 5 Figure 5.13: Four leg-foot motions in the sagittal plane when the robot trotting forward for 80 steps, which corresponds to Fig. 5.12.

Figure 5 .

 5 Figure 5.14: Transition of the legged motion in x b axis when the robot accelerates and decelerates in the forward direction. After t = 23s, the robot trots in place in the final target position.

Figure 5 .

 5 Figure 5.15: Forward-trotting step period record for 80 steps.

Figure 5 .

 5 Figure 5.16: [Up]: The periodic cycles by one filter. [Down]: Actual base pitch angle.

Figure 5 .

 5 Figure 5.17: The generated torque for four-leg joints [N/m].

Figure 5 .

 5 Figure 5.18: The detected contact states of four legs when trotting forward during t ∈ [2, 10].

Figure 5 .

 5 Figure 5.19: Base and robot-CoM tracking performance for forward trotting motion.

Figure 5 .

 5 Figure 5.20: Snapshots of the lateral trotting with 0.25m/s.

Figure 5 .

 5 Figure 5.21: Base tracking performance for the lateral trotting.

Figure 5 .

 5 Figure 5.22: Snapshots of the turn trotting in place with π 8 rad/s using 64 steps. The robot trot to turn in the counterclockwise and clockwise directions.

Figure 5 .

 5 Figure 5.23: Base angular-motion tracking performance for turn-trotting motion.

Figure 5 .

 5 Figure 5.24: [Left]: Snapshots of the push recovery by trotting in place with 0.5m/s as far as 6.5m.[Right]: Push recovery when the robot trots forward with 0.5m/s. The small figure inside denotes the virtual external force profile.

Figure 5 .

 5 Figure 5.25: Snapshots of trotting on rough terrain with 0.5m/s using 210 steps.

Figure 5 .

 5 Figure 5.26: Base spatial motion tracking performance for the trotting mode on rough terrain. [Up]: base translational motion tracking error. [Middle]: base angular motion tracking error. [Down]: selected desired and actual motion comparison along the whole process.

Figure A. 5 : 6 -

 56 Figure A.5: 6-DOF manipulator structure for TowrISIR.

Figure A. 6 :

 6 Figure A.6: One leg structure of TowrISIR.

Figure A. 7 :

 7 Figure A.7: One leg structure of QuadISIR with parallelogram mechanism.

  State of the Art in Quadruped Robotics . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2.2 State of the Art in Legged-on-Wheel Robotics . . . . . . . . . . . . . . . . . . . . .

1.1 Motivations and Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 State of the Art . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2.1 5 1.2.3 Legged Motion Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.2.4 Wheeled Motion Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.2.5 Inverse Dynamics & Operational Space Control . . . . . . . . . . . . . . . . . . . . 11 1.2.6 Centroidal Dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.2.7 Optimization based Torque Control . . . . . . . . . . . . . . . . . . . . . . . . . . 14 1.2.8 Multi-Task Active Compliance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.3 Approach and Contribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.4 Thesis Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Table 1 .

 1 1: A comparison of Hydraulic Quadruped Robots

	Robot Name Country Year	Mass	Dimension	DOF
				(off/onboard	(LxWxH)	(per leg)
				power)
	JINPOONG	Korea	2013 N/A, 120kg	1.1m x 0.4m x 1.2m	4
	RLA-1	Japan	2014 60.2kg, N/A	1.1m x 0.67m x 1m	3
	BigDog	USA	2008 N/A, 109kg	1.1m x 0.4m x 1m	4
	LS3	USA	2012 N/A, 590kg	NA x NA x 1.7m	3
	WildCat	USA	2013 N/A, 154kg	NA x NA x 1.17m	3
	Spot	USA	2015	NA, 75kg	NA x NA x 0.94m	3
	HyQ	Italy	2011	75kg, 98kg	1m x 0.5m x 1m	3
	miniHyQ	Italy	2015	24kg, 35kg	0.85m x 0.35m x 0.77m	3
	HyQ2Max

Table 1 . 2

 12

	Robot Name	Length Weight	Speed	Obstacle Height
	Nomad	2.4m	725kg	1.8km/h	N/A
	Curiosity	3m	900kg	0.15km/h	50cm
	Shrimp	0.6m	3.1kg	N/A	22cm
	Athelete	6m	1200kg	10km/h	N/A
	WorkPartner	1.4m	160kg	12km/h	N/A
	Multi Tasking Robot	N/A	N/A	25km/h	43cm
	Mirco Hydraulic Tookit	0.7m	150kg	N/A	N/A
	Hylos	0.6m	12kg	N/A	N/A
	Hylos II	0.54m	20.5kg	1.8km/h	19cm
	Complios Robot	0.58m	11kg	N/A	N/A

: A comparison of Legged-on-Wheel Robots

  Mechanism Structure & Spatial Notations . . . . . . . . . . . . . . . . . . . . . . . 22 2.1.2 Wheel Contact Point Estimation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.1.3 Whole-body Inverse kinematics of TowrISIR . . . . . . . . . . . . . . . . . . . . . 26

	Chapter 2
	System Modeling

Contents 2.1 Floating-base Multi-Body Dynamics of TowrISIR . . . . . . . . . . . . . . . . . 21 2.1.1 2.1.4 Generalized Dynamics Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.1.5 Floating-base Centroidal Dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.2 Operational Space Torque Control . . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.2.1 General Control Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.2.2 Operational Space Control (OSC) . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.2.3 Contact-constraint Consistent Projections . . . . . . . . . . . . . . . . . . . . . . . 33 2.2.4 Contact Constraint consistent Prioritized OSC . . . . . . . . . . . . . . . . . . . . 34 2.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

Table 2 .

 2

1: Parent and children relationships of one body in TowrISIR Body

Table 4 .

 4 1: Algorithms for the Wheel Motion Generation

  .70c)where S z = [0 0 1] selects the third component of any 3D vector. ξ = 1 means that the two swing legs share the similar motions. B sw f and B sw h are defined as follows,

	B sw f = lr 2 = lr 2	wr 2 -wr 2	h r h r T , T , for FR leg, for FL leg,	(5.71a)
	B sw h = -lr 2 = -lr 2	wr 2 wr 2	h r h r	T , for HL leg, T , for HR leg,	(5.71b)

  .84) where K pi ∈ R 2×2 and D pi ∈ R 2×2 denote respectively the stiffness and damping for the swing leg i CoM motion, i ∈ [sw f , sw h ]. P d i[x] and P d i[y] denote the desired leg i CoM position in the base frame corresponding the robot beginning state and they have constant values, Ṗ d i[x] = Ṗ d i[y]

Table 5 .

 5

		3: Task Control Hierarchy
	Task	Name	Trot	Walk	Stance
		Mechanism constraints m	4 DOF	4	4
		Contact constraints c	6 DOF	9	12
	1	Centroidal motion G or	6 DOF	6	6
		Floating base motion b
	2	Swing-leg motion sw	6 DOF	3	0

The long-term target is to develop a quadruped-on-wheel robot that can perform hybrid gaits from rolling-walking, dynamic rolling-trotting, rolling-trotting, etc. In this thesis, we will investigate and research the efficient motion generation approaches for the rolling mode of TowrISIR, and for the trotting mode of QuadISIR, in which the robot-self centroidal properties will be researched and integrated. The two locomotion modes serve as the basis for our long-term perspective. It is essential to integrate system design, motion generation, and torque control tightly connected to achieve various highly dynamic

See the simulation videos in Chapter 3: ¤♦♦♦♦¢

See the first and second simulation videos in Chapter 4: ¤♦♦♦¢

See the third and fourth simulation videos in Chapter 4: ¤♦♦♦♦¢

See the simulation videos in Chapter 5: ¤♦♦♦♦¢

Mohamed Fnadi, Wenqian Du, Frédéric Plumet, Faïz Benamar. Constrained Model Predictive Control based Dynamic Path Tracking of a Bi-steerable Rover on Slippery Grounds. Control Engineering Practice, vol 107, 103984, 2021, doi.org/10.1016/j.conengprac.2020.104693.

List of Abbreviations

COM

Model-based Legged Locomotion

This chapter proposes a novel legged locomotion principle for tracking the quadruped-robot base spatial motion which can generate the trotting and walking gaits automatically. The principle is based on a new legged locomotion generator using the robot centroidal properties without a massless-leg assumption. Our quadruped robot is newly designed with symmetric legged dynamics properties using parallelogram mechanisms, and the corresponding generalized dynamics model is built. The centroidal momentum and dynamics models are established by combining the centroidal properties of the base and each leg, in which the virtual joint between the base and each leg CoM is used instead of the real joints. The stance legs follow the base motion with respect to contact constraints. The swing legs compensate for the delay influences (to centroidal motion) by the stance legs. By combining the whole-body kinematics model and the kinematics constraints relating to the contact constraints and the parallelogram mechanism, the adaptive swing-leg motion is achieved in the running process without pre-defined trajectories. When two swing legs land at different timings, the walking gait is applied. We also propose a new state machine for switching the locomotion gaits between walking and trotting, which also serves the torque Algorithm 2 State machine for switching the swing and stance legs of the continuous trotting

for the trotting mode with swing FL-HR legs:

for the trotting mode with swing FR-HL legs:

Scontact = 3 and (t -to i ) ≥ 0.6Tsw i then for the walking mode with only one swing leg:

] then for switching the trotting leg indexes:

terrain, namely, α = β = 0 and ω bx = ω by = 0. However, the angular motion around z b is not zero when the robot turns.

State Machine

In the whole-body control framework for trotting, c.f. Fig. 5.5, the walking mode sometimes happens, depending on whether both swing-legs touch the ground at the same time or not. Therefore, in this subsection, we develop one state machine to generate the trotting mode, shown in Algorithm 2, which enables to achieve the swing or stance leg indexes. We define two variable S control and S contact to represent the control and feedback signals of the contact situation as,

where the two signals both contain four components corresponding to the control/contact signals in i's step for the legs FL, FR, HR, HL in sequence, and each component is equal to 1 or 0. For S control , 1 denote that the corresponding leg is controlled to be a stance leg, and 0 means that the leg is activated to be a swing leg. S contact is one feedback signal variable, 1 means that the contact sensor gives back that the leg touches the ground, and 0 represents that the leg has no contact with the ground. It is noticed that the two variables may not be the same. For example, at the beginning the one swing step, all legs are still in contact with the ground, S contact = [1 1 1 1], however, S control only has two 1 inside.

In addition, S control also depends on S contact , e.g. when the robot trots on the uneven terrain, one swing leg touches the ground first. In this case, S contact has three 1 inside, then S control should be equal to S contact until the second swing leg touching the ground. After the two swing legs both touch the ground, Appendix A

Robot Structure

In this appendix, we give more descriptions of our four-limb robots. Since that the floating bases of the two robots share the similar design structures, we only introduce one detailed base layout and give the differences of the leg structures. In We apply the similar selection principle for the hydraulic actuation and control system as that in HyQ series robots in [Semini 2010] and [START_REF] Semini | [END_REF]], even though the different robot-structure layout is applied.

Simulation Environment

Since we use simulations to verify the methods in this thesis, therefore, the simulated robots are applied to be as same as the designed 3D model in the CAD software. The simulated robots should have enough details to be as real as the CAD models, which is beneficial to imitate the experiments. In this appendix, we will introduce the establishment process of the simulation scenarios, which is similar for each simulation environment. Initially, we build the 3D robot models in Solidworks (Education Edition), as shown in Fig. 2.1 and Fig. 5.1. It is exported as the URDF file which is required by the ROS-GAZEBO simulation engine. This file should be modified to integrate the link modules, joint modules, transmission modules, sensor modules and the environment settings together. It is noticed that the electrical and hydraulic components inside the base can be deleted to enable the engine with faster speed. In addition to the robot, some artificial platforms should be built in Solidworks and then are also exported as URDF files. These files will be launched by ROS and generated in GAZEBO environment and we apply the default collision and friction setting as the GAZEBO configuration. In addition, the C++ language code relates to the system modeling, motion generators and torque controllers developed in this thesis, which controls the robot in GAZEBO through the ROS node. The simulation environment is shown in Fig. B.1 and we have the following settings:

• We configure the collision links in URDF files to be less complex than the visual links, which enables the collision detection to be faster in GAZEBO environment.

• Parallelogram mechanisms cannot be configured in the URDF files. We use the closed-loop plugin developed in github.com/wojiaojiao/pegasus_gazebo_plugins to create the parallelogram mechanisms for the legs of QuadISIR.

• The self-collision is turned off among the bodies of one robot. The max-contact point number is set to be 1 for the wheels and feet of TowrISIR and QuadISIR.

• The stiffness and damping of each collision body and the platforms are set with the default values, k p = 1000000 and k d = 10. The Coulomb friction coefficients in two directions are also set by default with big values, µ 1 = µ 2 = 90000.

List of Publications

Papers as First Author