• Non ci sono risultati.

Theoretical and experimental analysis of VSA-powered Legged Robots performing dynamic locomotion

N/A
N/A
Protected

Academic year: 2021

Condividi "Theoretical and experimental analysis of VSA-powered Legged Robots performing dynamic locomotion"

Copied!
62
0
0

Testo completo

(1)

Universit`

a di Pisa

Scuola di Ingegneria

Corso di Laurea Magistrale in Ingegneria Robotica e

dell’Automazione

Tesi di Laurea Specialistica

Theoretical and experimental

analysis of VSA-powered

Legged Robots performing

dynamic locomotion

Relatore:

Prof. Antonio Bicchi

Ing. Manolo Garabini

Ing. Giorgio Grioli

Candidato:

Sergio Leggieri

Controrelatore:

Prof. Alberto Landi

(2)

Contents

1 Introduction 3

2 Hardware components 5

2.1 Variable Stiffness Actuators . . . 5

3 Hexapod Robot 7 3.1 State of art . . . 7 3.2 System Design . . . 7 3.3 Direct Kinematics . . . 10 3.4 Inverse Kinematics . . . 12 3.5 Gaits . . . 12 3.6 Control . . . 15 4 Jumping Robot 17 4.1 State of art . . . 17 4.2 System model . . . 18 5 Controls 22 5.1 Problem definition . . . 22 5.2 Point-mass approximation . . . 24 5.3 Torque optimization . . . 24 5.4 Bang-Bang control . . . 27

6 Simulations and Results 30 6.1 Simulation Setup . . . 30

6.1.1 Robot modeling . . . 31

6.1.2 Motor dynamics . . . 32

6.1.3 Contact point . . . 33

6.2 Point-mass approximation control simulation . . . 33

6.3 Torque optimization control simulation . . . 35

(3)

7 Experimental results 43

8 Conclusion 51

Bibliography 52

List of Figures 55

(4)
(5)

Abstract

Legged robots show a greater ability to move on rough and uneven terrain than other land vehicles. Since the ’70s, many of legged prototypes were developed with different actuation drives and control systems. Particular interest arouse robots able to perform highly dynamic tasks such as run-ning and jumping. Most of them, because of the effort required are designed with hydraulic actuators, given their superiority over electrical motors. The varibile stiffness actuators (VSA), developed in recent years, are particularly effective in performing actions cicle.

In this thesis, the design and control of a VSA-powered legged-robot, capable of performing single jumps as well as continous hopping, is addressed. Three algorithms to generate the desired jumping motion are proposed, and their performances are compared with a focus on actuator effort. These controls are based on mechanical energy conservation and linear momentum conservation principles.

The first, approximating the robot as a point-mass, forces the robot to achieve the velocity required to reach the desired height.

The torque optimization algorithm models the system as a Series Elastic Actuator (SEA), exploiting the elastic dynamics, it solves the optimization problem of maximizing the robot center of mass velocity exploiting the sys-tem elastic dynamics.

The bang-bang control aims at exciting the Variable Stiffness Actuators dy-namics of the robot producing a continous jumping motion generating limit cycle.

All of the control algorithms are validated through simulations and experi-mental tests on the robot.

(6)
(7)

Chapter 1

Introduction

Hexapod robots are very versatile systems and can be employed in terres-trial and space applications, they have many features such as omnidirectional motion, variable configuration geometry, static stability and fault tollerant locomotion.

They are superior than wheeled or trucked robots since they can climb over obstacles comparable to their leg height, moreover they have lower impact on the terrain and have great mobility.

The main drawbacks include higher control complexity and low speed with respect to the wheeled robots. Moreover they have many degrees of free-dom, which demand several actuators and sensors, the power consumption and computational requirements are often very large so they have limited autonomy. They have also restrictions in terms of maximum obstacle height that can overcome, often equal to twice their leg length.

Jumping robots instead may be able to traverse obstacles an order of magni-tude larger than their own size. Looking at nature, many animals jump for navigating in rough terrain or to escape from predators or to capture food. Biological studies point out that there are two main jumping pattern: the pause and leap and the continous jumping.

The first is very common in insects and small animals such as frogs because of its simple implementation. It consists in generating a great amount of energy in jumping phase, then little or no control is required in flight and landing phase. It can be observed for example in locusts, in fact they perform very long jumps followed by a rest period in order to recharge the jumping mechanism in the leg and to re-orientate.

The alternative approach, continous jumping, is a technique used by large animals, such as kangaroos, to cover large distances. In this method the energy is recovered during the landing phase and re-used in the next jump, so a complex control is required and an appropriate means capable of storing

(8)

and releasing energy when needed, tipycally these kind of robots implement a combination of electric and pneumatic/hydraulic actuators.

Summarizing, jumping motion results from the release of a large amount of energy in a single event. The jumping robots found in literature can be grouped in two categories, the pause and leap robots in which the jumping mechanism consists in a loaded spring with fixed stiffness, and the continous jumping robots, which are actuated mainly by hydraulic/pneumatic drivers or by a combination of electric and hydraulic/pneumatic due to electric actu-ator torque limitation. Based on the previous design of a position controlled hexapod robot, this thesis investigates, with simulations and experiments, three different algorithms to control a simpler VSA-powered jumping-robot.

(9)

Chapter 2

Hardware components

2.1

Variable Stiffness Actuators

In recent years, the robotics research field tends to develop more and more so-phisticated systems with the aim of spreading these robots also in everyday life, where safe interactions human-robot are essential. To improve safety, many new actuator design are developed, like the Variable Stiffness Actua-tors, VSA incorporate springy elements that add a certain degree of elasticity on the dynamics of their driven links, [1].

Referring to figure (2.1), the actuator shape is a cube with a 66 mm edge. It

Figure 2.1: 3D sketch of a Variable Stiffness Actuator.

has small rectangular grooves along each edge that allow the interconnection with other components to develop multi-DOF systems. The external frame includes two distinct components: a lower (1) and an upper (2) case. The structural frame (5) is rigidly connected to the lower frame (1). Each motor

(10)

has a pulley (10a, 10b) on top and is fixed along the diagonal of component (5). A bearing supports the output shaft rotation (7). The elastic transmis-sion is realized via four tendons (6a, 6b, 6c, 6d) and four extentransmis-sional springs. One tendon end is wrapped on the output shaft, whereas the other is at-tached on the pulley. The spring ends are locked on (5) and on the tendon, respectively. The encoder sensor measures the output shaft angular position and is placed on (5). An electronic driver board (8) is put inside the unit and provides connection to the power source and integrates two logic bus slots. Finally, an external flange (9) is fixed to the output shaft to actuate payloads. The stiffness variation is achieved modifying the pulleys rotation, in particular when the two pulleys (10a) and (10b) rotate in opposite direc-tions, their tendons get loaded and the springs stretch producing the high stiffness configuration. The output shaft movements are realized by pulley rotation in the same direction as outlined in figure (2.2). The mathematical

Figure 2.2: Sketch of VSA internal mechanics. model of the VSA defines the equilibrium point as

xe=

(q1+ q2)

2 (2.1)

and the output torque as

τ = k1 sinh(a1(x − q1)) + k2 sinh(a2(x − q2)), (2.2)

where k1, a1, k2, a2 are model parameters reported in the datasheet, while

q1 and q2 are the two motors position.

Many studies confirm the superiority of these compliant actuators with spect to rigid ones in performing cyclic tasks with energy consumption re-duction and in preventing mechanical stress due to impacts with the environ-ment, see [?], [2]. These properties prove to be very appealing for multilegged robots that walk or jump over rough and uneven terrain, but the main draw-back is the implementation of efficient controls for these systems that results a very challenging task.

(11)

Chapter 3

Hexapod Robot

3.1

State of art

One of the first successful hexapod robot was built at the University of Rome in 1972 [] as a computer-controlled walking machine with electric drives. In 1976, Masha hexapod walking robot was designed at Moscow State Univer-sity. The robot has a tubular axial chassis, articulated legs with three DOFs []. It was able to negotiate obstacles using contact on feet and a proximity sensor. Ohio State University in 1977 developed a six-legged insect-like robot system called “OSU Hexapod” []. This hexapod was kept tethered and was made to walk short distances over obstacles.

The last two decades have been characterized by a rapid development of control systems technology. A series of bio inspired robots was built such as Robot III at Case Western Reserve University (USA) [] or Hamlet at the University of Canterbury, New Zeland []. In 2001, a project named RHex started []. In this project, the hexapod design consists of a rigid body with six compliant legs, each with one DoF. RHex has only six motors that rotate the legs like wheels. A series of hexapod named Lemus (Limbed Excursion Mechanical Utility Robots) was developed by Jet Propulsion Laboratory [] with the goal of using robots for repariring and maintenance in near-zero gravity on the surface of spacecraft. Finally, the hexapod robot called RiSE is able to climb on a variety of vertical surfaces as well as demonstrating horizontal mobility [].

3.2

System Design

In literature, the two basic architectures for hexapod robots are rectangular and hexagonal. The first has six legs distributed symmetrically along two

(12)

sides. This design may perform better straight line motion, but requires a special gait for turning. The second has legs distributed symmetrically around the body, thus the robot can walk in any direction without turning and it shows a longer stability margin as described in [3].

In preliminary design, the hexapod body should consist of the rectangular battery case, in order to make it autonomous with respect to power supply issue.

The static analysis, [4], computed to evaluate joint torque consumption while the robot stands with all legs, points out that adding the battery to the robot weight would result in exceeding the motor torque limit. Therefore, the body architecture results in a rectangular case in which only the essential electronics is stored, an external wire connects the batteries. The final design is shown in figure (3.1).

Figure 3.1: Three views of the hexapod base. The structure is designed with the software CREO.

(13)

There are many possible leg kinematics mechanism employed in hexapod robots, the most common are bio inspired such as reptilian, mammamalian or arachnid. They differ mostly in the way in which the joints are arranged and in the gait pattern.

The hexapod legs have three joints in arachnid configuration with the knee joint placed over the body and a comma-shaped tibia with a round tip, expressly designed to reduce the joint torque consumption and to adapt to any possible terrain. Each leg is distributed in an almost symmetrical way because the hexapod should move in any directions. Figures (3.2), (3.3), and (3.4), show the tibia design, the leg joints arrangement and the hexapod robot model, respectively.

Figure 3.2: Two views of the hexapod tibia, the structure is designed with the software CREO.

(14)

Figure 3.3: Lateral leg view.

Figure 3.4: Hexapod model.

3.3

Direct Kinematics

Legged robots have a body and a number of articulated legs that start from it. Each of the kinematics chain can be viewed as a serial manipulator that acts like a limb and contributes to the overall position and equilibrium of the structure.

The Body frame (B) is attached to the trunk center of mass and is consid-ered as an inertial frame, each leg is parametrized according to the Denavit-Hartenberg (D-H for short), and a local reference frame is chosen for every joint, starting from the 0-th in the coxa till the last joint in the knee.

(15)

In table (3.1) are reported the Denavit-Hartenberg leg parameters and they are also shown in figure (3.5).

Table 3.1: Denavit-Hartenberg link parameters for the three joint robot leg.

Joint ai αi di qi

{0} → {1} 0.09 π2 0 q1

{1} → {2} 0.09 0 0 q2

{2} → {3} 0.16 0 0 q3

The resulting homogenous transformation matrices are

Figure 3.5: Kinematics structure of hexapod leg.

T(B,0) =      1 0 0 xi 0 1 0 yi 0 0 1 0 0 0 0 1      , T(i−1,i) =     

cos(qi) − cos(αi) sin(qi) sin(αi) sin(qi) aicos(qi)

sin(qi) cos(αi) cos(qi) − sin(αi) cos(qi) aisin(qi)

0 sin(αi) cos(αi) 0 0 0 0 1      , T(B,3) = T(B,0)T(0,1)T(1,2)T(2,3), (3.1)

where the variables xi and yi represent the cartesian displacement between

(16)

due to the base geometry, leg 3 and leg 4 are slightly more distant than the others. The leg tip position and the rotation matrix expressed with respect to the body frame B are:

p(B,3)e_e =     

xi+ cos(q1)(a1+ a2cos(q2) + a3cos(q23)

yi+ sin(q1)(a1+ a2cos(q2) + a3cos(q23)

a2sin(q2) + a3sin(q23) 1      , (3.2) R(B,3) =   

cos(q1) cos(q23) − cos(q1) sin(q23) sin(q1)

sin(q1) cos(q23) − sin(q1) sin(q23) − cos(q1)

sin(q23) cos(q23) 0

 

, (3.3)

the variable q23 is the sum of the second and the third joint angle: q23 =

q2 + q3.

3.4

Inverse Kinematics

For any leg tip Cartesian position (x, y, z)T

i , the corresponding joint

coordi-nates (q1, q2, q3)Ti can be evaluated with a closed form solution of the inverse

kinematics problem r =qp2 x+ p2y d =qp2 z+ r2 β = arccos a 2 2+ a23− d2 2a2a3 ! A = a2+ a3cos(q3) q1 = atan2(py, px) q2 = arccos Ar + a3sin(q3)pz A2+ a2 3sin2(q3) ! q3 = β − π. (3.4)

Figures(3.6) shows the geometrical meaning of these quantities.

3.5

Gaits

As well defined in [5], a gait is a cyclic motion pattern that produces locomo-tion through a sequence of foot contacts with the ground. The legs provide support for the robot body while the resulting forces from ground contact

(17)

Figure 3.6: Inverse Kinematics geometry. On the left: leg tip position in (x, y) Cartesian plane. On the right: leg tip position in (r, z) Cartesian plane.

propel the robot.

A distinction must be made between stance phase and swing phase. In the former, a leg pushes against the ground, generating forces that move the robot forward until it reaches its Posterior-Extreme-Position, (PEP). In the latter, a leg in flight moves to its Anterior-Extreme-Position, (AEP).

The sequence and the number of the legs, that begin the stance phase define the structure of the gait.

A very common gait in hexapod locomotion is the tripod gait, in which legs are grouped in two sets consisting of the front and the rear leg from one side of the robot and the middle of the other side. Each set of legs starts the swing phase only when the other set is in stance.

Another possible gait is the wave gait in which a minimum of five legs are kept on the ground in stance phase, while in turns one leg moves forward to reach its AEP. This is the most stable gait since the support polygon is the widest possible, but it is also the slowest gait known. However, the hexapod total weight is equally distributed on all the legs in stance reducing the total torques required. This is the gait that has been tested experimentally on the robot.

Tripod gait and wave gait are represented in figure (3.7).

The walking gait is obtained through a suitable coordination of each leg tip, which is fundamental to ensure the robot static stability. Six reference frames Oi(xi, yi, zi) are defined for each i-th leg tip and a proper position

(18)

Figure 3.7: Hexapod gaits. On the left: tripod gait sequence. On the right: wave gait sequence.

Referring to figure (3.8), the x−coordinate of the vector pi(t) is calculated

as px(t + ∆t) = ( px(t) − Vr∆t if s = 1 px(t) + Vp∆t if s = 0, (3.5) where Vr is the velocity of the leg tip during the retraction motion of the

stance phase (s = 1), and Vp represents the velocity of the tip of each leg

during the protraction motion of the swing phase (s = 0). Both velocities Vr

and Vp are supposed to be constant and identical for all legs, therefore the

robot center of mass velocity VG is equal to Vr due to the relative motion.

The y−coordinate of the vector pi(t) is zero in order to obtain a straight

trajectory of the hexapod.

Figure 3.8: Velocities and trajectories of each leg tip during stance phase and swing phase.

The vector pi(t) z−coordinate is given by

pz(t) =        0 if s = 1 hTsin π t − t0 tf − t0 ! if s = 0, (3.6)

(19)

where hT is the amplitude of the sinusoid, time t is the current instant, and

t0 and tf are the starting and ending times of the swing phase, respectively.

3.6

Control

The control system of recent hexapods are distributed hierarchical systems composed by a host computer, an onboard controller and various actuators and sensors.

Figure (3.9) shows the control scheme. The host computer runs the Simulink model and communicates with the hexapod through USB connector sending proper control actions and receiving hexapod sensor informations (motor en-coder measurements).

The user can choose a desired body velocity within a certain range

depen-Figure 3.9: Hexapod Simulink control scheme.

dent on leg workspace, moreover a simple control algorithm manages the first step cycle. Joint angles are calculated from Cartesian leg positions by the inverse kinematics algorithm described in section (3.4), then they enter the control loop which consists in a feedforward component of desired joint an-gles and a feedback component on joint deflections. The i-th joint deflection is defined as follows

δi = θi− qi (3.7)

where θi is the motor equilibrium position (desired angle) of the i-th motor

and qi is the i-th actual joint position.

(20)

destabilized the hexapod as pointed out by many experimental tests. This happened because, in absence of contact force informations, coupling effects between legs arose and they could not be taken into account.

To overcome this problem, a properly designed algorithm was integrated in the control loop.

The main idea is to equalize the legs position during stance phase as suggested in [6], calculating the mean of motor deflections of the n legs in stance phase

δ = n X i=1 δi n. (3.8)

The resulting value is added to each joint deflection ˆ

δ = δi+ δ for i = 1, . . . , n. (3.9)

The algorithm output is then rejected by the PID action that results smoother than before and stabilizing.

When a leg is in swing phase, the corresponding flag signal is activated and the feedback control on leg deflection is performed only by PID action. Good trajectory tracking is a very challenging task for VSA powered sys-tems, control strategies which aim at exploiting the VSA dynamics rather than constraining it should be investigated.

(21)

Chapter 4

Jumping Robot

4.1

State of art

Several jumping robots have been designed according to the jumping pat-terns described in the introduction. Common features of pause and leap jumping robot are small sizes and energy storage systems. These robots usually achieve very high jumping height and, if properly directed, they can cover large distances. Because of their semplicity, they lack in landing phase control systems, so when on ground they need to re-orientate and they need a charging time to store the necessary amount of potential energy to perform the next jump.

In [7], the authors present the design of a small size self-stabilizing jumping robot. They model the robot as two-mass-spring .The choice of the maxi-mum jumping height achievable helps them in dimensioning the upper and lower body mass. The spring stiffness is chosen taking into account the robot size.

The robot consists in two RRP mechanism with two carriages sliding on a linear guide. A mini DC motor loads these springs, dragging a cable con-necting the upper linear guide to the lower base. When a sufficient energy amount is stored in the springs, a releasing mechanism triggers, the spring is released and the upper mass is accelerated reaching the jumping velocity. This robot can perform very high jumps, but lacks in landing control and to overcome this problem a straighten mechanism is needed. In addition, it requires a the long recharging time to load the springs.

The Grillo III jumping robot is discussed in [8]. It is a small robotic model biomimetic. The authors carried out theoretical analysis for its jumping dynamics. They reduced the contact force at tarsus-ground interface to im-prove the robot safety and jumping control. A single jump achieved a 100mm

(22)

height and 200mm distance, about twice and four times of its body length. The directly actuated robots, which implement the continuous jumping pat-tern, have better landing pose at the cost of very complex control systems especially if the goal is to mimic natural creatures. They require a great effort to the drives in order to support the jumping motion, so the choice of the actuator type is a crucial issue in the robot design.

The Biped jumping robot “BJR” is a directly actuated robot in which the force is provided by double-acting cylinders and torsion springs [9]. It has two legs with 3-DOF. Each leg is assembled with a hip, a knee and a coxa joint. The robot was manufactured by the authors that experimentally test its jumping mechanism. The double-acting cylinder and the torsion springs as the drivers for jumping robots result quite proficient.

Here, another hydraulic actuated jumping robots are presented. It is quite heavier (90Kg), it can perform jumping motion and it is also suitable for running in tough terrains as well. The hydraulic actuation allows the robot to perform powerful and dynamic motions [10].

4.2

System model

The robot is designed with arachnid-shape legs with the aim of developing a control algorithm that exploits the intrinsic dynamics of the VSAs in per-forming jumping motion. In order to keep the robot structure light enough to jump, each leg has only two degrees of freedom. Two actuators are held together forming the robot trunk. The other two actuators are attached on both sides of the trunk as leg knees and they actuate a 3D-printed multi-contacts tibia. Since jumping control problem is a very challenging task, in order to reduce the overall complexity, the robot motion is restricted to the plane. To do that, the hexapod tibia is re-designed as shown in figure (4.1), the y coordinate motion is forbibben mechanically by the two support tips of each leg.

A local reference frame B is chosen in the trunk center of mass as shown in figure (4.2).

The first joint is the coxa, while the second is the knee. The first link cor-responds to the femur, and the second to the tibia. Legs are parametrized according to the Denavit-Hartenberg method and link length and joint angles are reported in table (4.1):

Due to the robot symmetry, only the front leg parametrization appears in the previous table. The front and rear leg tip Cartesian position with respect

(23)

Figure 4.1: Two views of the hexapod tibia, the structure is designed with the software CREO.

Table 4.1: Denavit-Hartenberg link parameters for the jumping robot.

Joint ai αi di qi

{B} → {0} lT 0 0 0

{0} → {1} lFF 0 0 qFC

{1} → {2} lFL 0 0 qFK

to the local base frame B are

p(B,2)FL = " lT+ lFFcos(qFC) + lFLcos(qFC+ qFK) lFFsin(qFC) + lFLsin(qFC+ qFK) # , p(B,2)RL = " −lT− lFFcos(qRC) − lFLcos(qRC+ qRK) −lFFsin(qRC) − lFLsin(qRC+ qRK) # , (4.1)

where qRC = −qFC and qRK = −qFK, lFF = lRF, and lFL = lRL are the robot

trunk, femur and tibia length, respectively.

Since the computation of the robot center of mass (COM) is required in all the control algorithm implemented, the mass distribution in simulation fairly reflects the real disposition, in particular, the femur masses mFF, mRF are

assumed concentrated at the end of the link, where the motors are attached. In the tibia, instead, the masses mFL, mRL are considered in the middle of

(24)

p(B,2)G FF = " lT+ lFFcos(qFC) lFFsin(qFC) # , p(B,2)G FL = " lT+ lFFcos(qFC) + lFL2 cos(qFC+ qFK) lFFsin(qFC) + lFL2 sin(qFC+ qFK) # , p(B,2)GRF = " −lT− lFFcos(qRC) −lFFsin(qRC) # , p(B,2)G RL = " −lT− lFFcos(qRC) −lFL2 cos(qRC+ qRK) −lFFsin(qRC) − lFL2 sin(qRC+ qRK) # . (4.2)

The robot COM is calculated with respect to the base frame B

Br C(q) = 5 X i=2 mipGi 5 X i=1 mi , (4.3)

where, for the sake of formula representation, each mass and position indices are replaced by numbers starting from one to five that correspond to trunk, front femur and front leg, rear femur and rear leg, respectively.

Now, it is possible to calculate the COM Jacobian matrix as follows:

JC(q) = BrC(q) ∂q (4.4) that is JC(q) = h J 1C, J 2C, J 3C, J 4C i , (4.5) where J 1C = " −(lFLmFLsin(qFC+ qFK))/2M (lFLmFLcos(qFC+ qFK))/2M # , J 2C = "

−(mFL((lFLsin(qFC+ qFK))/2 + lFFsin(qFC)) + lFFmFFsin(qFC))/M

(mFL((lFLcos(qFC+ qFK))/2 + lFFcos(qFC)) + lFFmFFcos(qFC))/M

#

, J 3C =

"

mRL((lRLsin(qRC+ qRK))/2 + lRFsin(qRC)) + lRFmRFsin(qRC))/M

−mRL((lRLcos(qRC+ qRK))/2 + lRFcos(qRC)) + lRFmRFcos(qRC))/M

# , J 4C = " (lRLmRLsin(qRC+ qRK))/2M −(lRLmRLcos(qRC+ qRK))/2M # , (4.6) in which lFL, lFF, lRF, lRL are the link lengths of front leg, front femur, rear

(25)

each link masses. Finally, M = mT+ mFL+ mFF+ mRF+ mRL represents

the sum of each link plus the trunk masses.

Referring to figure (4.2), ν ∈ R2 and ω ∈ R are the translational and

Figure 4.2: Sketch of the jumping robot.

angular velocity of the base link represented in B, while ˙q ∈ Rn is the joint velocity for all the n actuated joints. The generalized velocity vector of the complete system can be written as v = (νT, ωT, ˙qT)T, so the generic dynamic

equation for the legged floating base system satisfies

B(q) ˙v + C(q, v)v + G(q, Rb) =    0 0 τ − d( ˙q)   + X k Jk(q)Tfk, (4.7)

where B(q), C(q, v)v and G(q, Rb) represent the robot inertia matrix, the

vector of centrifugal and Coriolis terms, and the vector of gravity terms, respectively. Rb is the orientation of the base frame B with respect to a world

coordinate system W. Moreover, fk ∈ R3 accounts the robot interactions

with the environment acting at the contact point k, while d( ˙q) is a damping force.

Since the robot is a compliantly actuated system, the joint torques τ ∈ Rn

are derived from the elastic potential U (θ, q):

τ = − ∂U (θ, q)

∂q

!T

=: ψ(θ, q). (4.8)

These torques correspond to physical springs acting on the motor positions

(26)

Chapter 5

Controls

5.1

Problem definition

The work starts analyzing the physical principle followed by animals and humans in performing jumps. It is clear that in order to jump, a great amount of energy must be generated in a short period, just before leg detaches from ground. Many biological studies were carried out to understand the behaviour of the COM during walking, running and jumping.

Two main conclusion were found:

• the leg muscles act like a spring, they store and release energy from a step to another, reducing the impact shocks and recycling up to 40 − 50% of energy;

• during run and jump, the body COM performs a motion similar to a bouncing ball.

Therefore, any running or juming robots can be modeled, at least in first instance, as a spring-mass model also known as the Spring Loaded Inverted Pendulum (SLIP) model. Usually in this model, the overall mass is assumed concentrated at the COM above the spring, while leg, foot and spring are considered massless.

Raibert in [6] describes all the forms that the energy assumes during a vertical jump. Considering a SLIP model in which the leg is accounted as an unsprung mass, see figure (5.1), the total vertical energy at any time in the hopping cycle is given by

E = mlgzl+ 1 2ml˙z 2 l + mgz + 1 2m ˙z 2 +1 2ks(z0− z), (5.1) where all the variables with subscript l refers to leg variables, COM vari-ables have no subscript, and ks, z0 are the spring stiffness and its length at

(27)

Figure 5.1: Two-Mass-Spring model.

rest. The expression for potential energy is chosen to be zero when the robot stands with leg spring at rest and with the foot on the ground. The energy loss due to air resistance in flight phase is neglected since generally it is very small.

Several energy losses occur during touchdown and lift-off phases. At touch-down, the lost energy corresponds to the unsprung mass kinematic energy

∆Etd = 1 2ml˙z 2 l,td−, (5.2) where ˙z2

l,td− is the leg vertical velocity just before touchdown. The energy

lost at touchdown is a constant fraction of the total kinetic energy and can be evaluated as m/(m + ml).

The leg vertical velocity in stance is zero, while the body velocity is ˙zlo−.

After the ground detachment ˙zl,lo− = ˙zlo−, equating linear momentum before

and after lift-off

m ˙zlo−= (m + ml) ˙zlo+, (5.3) ˙zlo+=  m m + ml  ˙zlo−. (5.4)

The kinetic energies before and after lift-off are found substituting () in (). The energy loss due to leg acceleration at lift-off is

∆Elo= −

mml

2(m + ml)

(28)

The fraction m/(m + ml) can be intended as an efficiency parameter of the

robot, the efficiency is the highest when the unsprung leg mass is small with respect to the overall robot mass.

During stance, the control system can calculate the total hopping energy for the next jump combining () and ():

Ej = m (m + ml)  mlgzl+ mgz + 1 2ml˙z 2 l + 1 2m ˙z 2+1 2ksr 2 ∆  , (5.6)

where r= z0 − z. In order to hop till a given height H the total vertical

energy is

EH = mlg (H + ll) + mg (H + rs0+ l) . (5.7)

This equation assumes that at peak elevation the robot has zero vertical energy and no potential energy stored in the spring, as consequence all the energy depends on elevation potential.

5.2

Point-mass approximation

At first stage, the jumping algorithm tested results to be very simple in order to better understand the task. The robot is modeled as a point mass in ballistic motion. The conservation of mechanical energy stated in section (5.1) for a mass-spring system modifies as follows

mgh = 1

2m ˙z

2. (5.8)

The springs are neglected in this model. Chosen a desired height hdes, the

point mass velocity that required to achieve that height is obtained by the invertion of the previous formula

˙zdes=

q

2ghdes. (5.9)

Assuming that the mass is at rest when the jump algorithm starts, it sud-denly accelerates until it reaches the desired vertical velocity like a bullet fired from a cannon. The velocity trajectory is a step function with amplitude ˙zdes.

5.3

Torque optimization

In [11], the authors analyze the concept of compliant actuation in which elas-tic elements enter in motor mechanics modifying the system dynamics. This

(29)

design seems to be potentially efficient in performing cyclic and explosive motions like jumping or walking, so the authors test two elastic system, a Series Elastic Actuator (SEA) and Parallel Elastic Actuator (PEA) in per-forming a jump.

The SEA model differs from the previous two-mass-spring model, indeed in this model it is also present the inertia of the reduction gear unit, as shown in figure (5.2). Referring to figure (??), the dynamics of the system can be

Figure 5.2: Two-Mass-Spring model. described as follows        m1z¨1 = R − U − m1g m2z¨2+ k(z2− z3) = U − m2g m3z¨3+ k(z3− z2) = −m3g. (5.10)

where for i = 1, . . . , 3 mi is the upper, intermediate and lower mass, and the

zi represents the position of each body. Finally, k is the spring stiffness, U

is the actuator force, and R is the ground reaction force.

By virtue of (), the state space of the moving masses can be described as:

     ˙z2 ˙z3 ¨ z2 ¨ z3      =      0 0 1 0 0 0 0 1 −k/m2 k/m2 0 0 k/m3 −k/m3 0 0           z2 z3 ˙z2 ˙z3      +      0 0 0 0 1/m2 −1 0 −1      " U g # . (5.11)

(30)

The ground contact constraints are

(

R = U (t) + m1g > 0 if t ∈ [0, T )

R = U (t) + m1g = 0 if t = T,

(5.12) where T is the detachment instant. The optimization problem consists in maximizing the robot COM height with respect to the motor force U . Using the conservation of mechanical energy principle, the authors approx-imate the maximum COM height with the maximum COM velocity. Since the motor inertia m2 is one order smaller than the other system masses, its

contribution to the conservation of linear momentum is negligible, so the formula stated in section (5.1) must modified as follows

˙ z3(T+) = m3 m1+ m2+ m3 ˙ z3(T). (5.13)

The optimization problem and all the constraints are summarized in Table (5.1) where the performance index that is used is the upper mass velocity

Table 5.1: Optimization problem definition.

SEA maximize ˙z3 (a) subject to ˙z(t) = Az(t) + Bu(t) (b) U (t) + m1g > 0 (c) U (T ) + m1g = 0 (d)

Umin ≤ U (t) ≤ Umax (e)

Vmin ≤ ˙z2(t) ≤ Vmax (f)

φmin ≤ z3(t) ≤ φmax (g)

δmin ≤ z3(t) − z2(t) ≤ δmax (h)

and the constraints (b) − (h) are: • the system dynamics (b);

• the ground contact state (c) − (d);

• the motor force (e) with upper and lower bound Umax, Umin,

respec-tively;

• the actuator velocity (f ) with upper and lower bound Vmax, Vmin,

(31)

• the stroke allowed by the robot (g) with upper and lower bound φmax, φmin,

respectively;

• the spring deflection (h) with upper and lower bound δmax, δmin,

respec-tively.

The authors, after proving the performance index and the constraints convex-ity, traslate the optimal control problems into convex optimization problems and solve them using CVX [].

5.4

Bang-Bang control

None of the previous jumping algorithms fully exploits the potential of VSAs dynamics. On the contrary the feedback actions on joint deflection used in both control schemes, limit the actuator behaviour. The last control tested on the robot is based on the method proposed in [12]. Here, the authors aim at exciting the dynamics of compliant systems performing cyclic task, focusing on defining a control action based on a switching function. In their papers, [13], [?], starting from the observation of human behaviour in controlling a compliantly actuated system by force/visual feedback, they derive a Bang-Bang controller and prove that it is able to excite and substain periodic motions in this kind of systems. They extend the Bang-Bang controller to a multi-legged robot, by using the relation (calculationCOM ), they evaluate the COM position rc(q) that depends on joint positions, and a virtual COM

position rc0) which depends on motor equilibrium positions.

The authors define a change of coordinates

x(q) = rc(q) − rc0). (5.14)

where x ∈ X ⊂ R2. These coordinates can be used to implement a Cartesian

impedance. They consider a mapping z : X ⊂ R2 → Z ⊂ R with a full rank

Jacobian matrix Jz(x) such that

z(x) = 0, (5.15)

defines a one-dimensional submanifold Nz of R2. Satisfying the above

con-straint, Cartesian force arises and its direction can be changed with a suitable choice of the manifold.

The joint torques are here reported

τ = − ∂U (θ0, q)

∂q

!T

(32)

They are mapped successively into Cartesian and constraint forces τz = − ∂U (θ0, q(x(z))) ∂q ∂q ∂x ∂x ∂z !T = − ∂x ∂z !T ∂q ∂x !T ∂U (θ0, q) ∂q !T , (5.17) where (∂q/∂x) ∈ Rn×2 corresponds to the inverse of the COM Jacobian

matrix, while (∂x/∂z) ∈ R2×1 is the inverse of the Jacobian matrix of the

mapping (z(x) = 0).

The procedure for calculating them starts defining:

dx dnx

!

= Jxaugdq, where Jxaug= Jx(q)

Jnx(q) ! ∈ Rn×n, (5.18) dz dnz !

= Jzaugdz, where Jzaug = Jz(x)

Jnz(x)

!

∈ R2×2. (5.19)

Then applying the following lemma [vedi 25, chapt. A.5] Lemma 1: The augmented Jacobian matrix

Jaug= J

Jn

!

(5.20) is a square matrix. If Jn is chosen as

Jn =



ZΘZT−1 (5.21)

where the nullspace base Z satisfies J ZT = 0 and Θ is a positive definite

matrix (metric), the inverse of (J aug) can be written in the form (Jaug)−1 =



Θ−1JT J Θ−1JT−1 ZT



(5.22) It is important to notice that Z and Θ are not unique.

Z is computed performing the SVD on J ∈ Ro× such that J = U SVT, in which U ∈ Ro×o and V ∈ Rp×p are unitary matrices, and S ∈ Ro×p is a

rectangular diagonal matrix of singular values. Here V = (V1, V2), V1 ∈ Rp×o

spans the subspace of J , while V2 ∈ Rp×(p−o) defines the null space of J, so

Z = VT

2 .

The matrix Θ chosen is the identity matrix I so (J n) simplifies to Jn = Z

avoiding the inversion of ZΘZT. Applying Lemma 1 to () and () yields

∂q ∂x(q) = Θ −1 x Jx(q)T  Jx(q)Θ−1x Jx(q)T −1 , (5.23)

(33)

∂x ∂z(x) = Θ −1 z Jz(x)T  Jz(x)Θ−1z Jz(x)T −1 . (5.24)

Since the Jacobian matrices Jx and Jz have nullspace, the joint impedance

() can be projected on them generating the following forces:

τnx = −Zx(q) ∂U (θ0, q) ∂q !T , (5.25) τnz = −Zz(x) ∂q x (q !T ∂U (θ0, q) ∂q !T . (5.26)

The control law that generates the Cartesian force fx is:

fx = Jz(x)Tτzd+ Jnz(x)

Tτd

nz. (5.27)

The term

τzd = −Dz˙z − Kzz (5.28)

forces x on the constrained submanifold. Here Dz ∈ R and Kz ∈ R are

positive gain. The term

τndz = τnz+ ∆τnznz) (5.29)

is composed of the generalized force τnz () which reflects the joint impedance

on the submanifold and a switching function ∆τnznz) =

(

sign(τnz) |ˆτnz| if |τnz| > τnz

0 otherwise (5.30)

where τnz and τnz are threshold and switching amplitude, respectively.

Finally, the control joint torque τ can be implemented as:

τ = Jx(q)Tfx+ Jnx(q)

T

τnx. (5.31)

Here τnx is the generalized force generated by the projection of the intrinsic

joint impedance into the nullspace of Jx and it aims at preserving the

equi-librium configuration θ0.

The authors propose also an alternative method of designing the control torque τ based on an optimal contact force distribution. This approach is not investigated nor described in this thesis since the jumping robot has no force/torque sensors so it is impossible to evaluate the contact state. More-over according to the authors, the only benefit deriving from implementing this control is to avoid leg tip splippage during thrust phase.

(34)

Chapter 6

Simulations and Results

6.1

Simulation Setup

Figure (6.1) shows the Robotran software modelig of the jumping robot. The big gray rectangle named Base corresponds to the ground. It defines the environment and specifies the direction on which the vector of gravity

g = [0 − 9.81 0]T acts. The white rectangles represent the corresponding

robot body part, each of them is customized by taking into account the robot parameters: mass, and its position, length of the link and its inertia. The connecting wires stand for the robot DOF. In particular, using the Robotran notation, the first three joints q1, q2 and q3 are fictitious since they represent the floating base DOF. They are modeled with two prismatic joint in the (x, y)−directions and a rotoidal joint in the z−direction. The couples q4, q5 and q6, q7 are the rear and front robot actuated joints, respectively. The symbols F and S stand for the external forces and the robot sensors. They are placed at each leg end and in the middle of the trunk.

The software Robotran provides also a 3D model visualization and an animation window that shows how the robot behaves during the simulations. In figure (6.2), all the joints are depicted in green, while the links are the white lines. The red cubes represent the robot masses. It should be noticed that both the rear and the front femur masses are considered concentrated at the respective link end, since the VSAs weight is much higher than that of the flanges. On the contrary, the 3D printed tibias have masses equally distributed, so for simplicity the massed are assumed as concentrated in their middle. The yellow spheres are leg the contact points. Since most of the simulations begin with the robot lying on ground, a contact point is added also in the trunk center, but is not visible in the figure.

(35)

Figure 6.1: Robotran software environment.

Figure 6.2: Sketch of the robot in the software animation window.

6.1.1

Robot modeling

All the robot parameters used in simulation are here listed. The robot masses are:

• trunk mass mT = 1 kg;

(36)

• front and rear tibia link mass mFL = mRL = 0.3 kg.

The link dimensions are:

• trunk total length lT = 0.14 m;

• trunk height hT = 0.03 m;

• front and rear femur length lFF = lRF= 0.09 m;

• front and rear tibia length lFL = lRL = 0.16 m;

• front and rear tibia height hFL = hRL = 0.02 m.

The link inertia are:

• trunk inertia ITz = 0.0019 kgm

2;

• front and rear femur inertia IFFz = IRFz = 0.0022 kgm

2;

• front and rear tibia inertia IFLz = IRLz = 0.0026 kgm

2.

6.1.2

Motor dynamics

According to the elastic joint model introduced in [?], the motor positions dynamics can be described as

I ¨θ + τ = τm, (6.1)

where I is the motor inertia that takes into account the gear reduction unit,

τ represents the elastic torque and τm is the motor torque considered as

control input. Using a PD controller the motor torque τm can be expressed

as:

τm= −KDθ − K˙ P(θ − θd) (6.2)

where θd is the desired motor position. Assuming high positive definite gain

matrices KP and KD, and exploiting the singular perturbation assumption

[14], the previous relation becomes:

(I ¨θ + KDθ + τ ) = θd˙ − θ ≈ 0. (6.3) Since  := 1/ kKPk → 0, θd can be considered as control input.

In software simulation, the proportional and derivative gain matrices KP,

KD are chosen as follows

KP=      5 · 103 0 0 0 0 5 · 103 0 0 0 0 5 · 103 0 0 0 0 5 · 103      , (6.4)

(37)

KD=      2 · 102 0 0 0 0 2 · 102 0 0 0 0 2 · 102 0 0 0 0 2 · 102      . (6.5)

6.1.3

Contact point

The ground reaction force fz, which acts in the z−direction, is modeled as a

visco-elastic force as follows

fz=

(

kN∆pz− dN∆vz if ∆pN> 0

0 otherwise, (6.6)

where ∆pz= 0 − zl and ∆vz= − ˙zl are the vertical relative position between

the ground level and the leg z−position, and the leg vertical velocity, both expressed with respect to the world frame W. To simulate rigid contacts, the ground stiffness kNit is set to (104N/m), and the viscous damping coefficient

is dN= 4 · 102N s/m.

The friction force fx is implemented as viscous Coulomb friction model

fx = ( −sign( ˙xl) |µfz| if |fxst| > |µfz| fxst otherwise, (6.7) where fxst = −dx˙xl= 4 · 10

2N s/m is the static friction force approximation,

and ˙xl is the tangential leg velocity component with respect to the world

frame W. The static friction coefficient is µ = 0.75.

6.2

Point-mass approximation control

simu-lation

The control strategy described in section (5.2), based on the point-mass ap-proximation, is implemented in simulation. Many jumping heights, joint configurations and PID parameters are tested, the system dynamics is ana-lyzed with particular focus on joint efforts in view of applying such a jumping technique on the real robot that has torque limitation.

As expected, increasing the desired height leads to higher torque demand and the increment in PID coefficients makes the system faster in reaching the de-sired position, but the real system torque limitations makes these choices infeasible.

Moreover, the equation of an accelerating body relates the robot configura-tion, the maximum height and the torque requirements, indeed

(38)

where a is the acceleration, u and v are the initial and final velocity, respec-tively, and s the distance travelled accelerating. Since acceleration and space are directly proportional to the final velocity v, the potentially best robot configuration results to be the one with the floating base placed in the lower admissible position.

Based on the above considerations, the initial configuration q0 chosen, is:

• front and rear knee joint qFK = −qRK = 1.02 rad;

• front and rear coxa joint qFC= −qRC = −0.69 rad.

The desired jumping height chosen is hdes= 0.12 m, which is approximately

twice the robot height. The PID coefficients are:

• P = 6; • I = 5; • D = 0.6.

The control scheme, in figure (6.3), is used for both simulation and experi-ment. The main difference consists in controller parameters as well as in the exit condition of the jumping algorithm.

In software simulation, the link angular rates are known. They can be

Figure 6.3: Point-mass approximation, Optimization torque. Jumping robot simulation control scheme.

used to properly set the derivative coefficient of the PID and to calculate the actual COM velocity through the COM Jacobian matrix Jx(q)

(39)

Whenever vCOM= vdes, the jumping algorithm stops.

During the experiments, the derivative PID action destabilizes the system so it is not implemented. Furthermore only joint positions are measured there-fore a different exit condition must be chosen for the jumping algorithm. The most reasonable solution is to perform the jump in a fixed time interval. The control scheme is reported in figure (6.3). The robot starts lying on the ground then through a feedforward/feedback action it reaches the desired joint configuration q0.

Given the desired height hdes, the jumping algorithm evaluates the

corre-sponding COM velocity

vdes =

q

2ghdes, (6.10)

successively vdes is mapped into joint angular rates ˙qj with the inverse COM

Jacobian matrix

˙qj = JCOM−1 vdes. (6.11)

The joint positions qj, that is calculated integrating the joint angular rates ˙qj,

are added to the intial joint configuration q0 and are used as input reference

for the control loop.

Figure 6.4: Point-mass approximation simulation results. Trunk (red) and leg (blue) vertical position, with respect to the world frame W.

6.3

Torque optimization control simulation

The previous control based on a point-mass approximation does not exploit the system elasticity. The velocity profile results a step function of amplitude

vdes and the actuator effort is high. The torque optimization control well

models a compliantly actuated jumping robot because it takes into account the springs dynamics. It produces smoother velocity profiles that make the

(40)

Figure 6.5: Point-mass approximation simulation results. Knee (red) and coxa (blue) joint torques.

Figure 6.6: Point-mass aproximation simulation results. Front knee joint position.

Figure 6.7: Point-mass aproximation simulation results. Front coxa joint position.

(41)

system oscillate before the jump by maximizing the upper mass velocity. The equivalence between the SEA model and the jumping robot are summarized. Notice that, due to the system symmetry only half robot is considered

• the SEA lower mass m1 = mFL;

• the SEA intermediate mass m2 = 111mFL;

• the SEA upper mass m3 = 1011

m

T

2 + mFF



; • the SEA spring k = 4 N/m;

• the SEA actuator max force umax= 35 N ;

• the SEA actuator max speed vmax = 4 m/s;

• the SEA maximum spring deflection δmax = 0.02 m;

• the SEA jump instant Tj= 0.25 s;

It is worth observing, that getting an extremely accurate equivalent model goes beyond the scope of this thesis.

Once computed, the optimal velocity trajectory is used in robot simulation as COM reference velocity and is re-mapped in joint angular rate as described in the previous section.

To prevent lower trunk impacts, the robot base needs to be in a higher position than in the previous simulation. Thus, the new configuration results:

• front and rear coxa joint qFC = −qRC = −0.61 rad;

• front and rear knee joint qFK = −qRK = 1.02 rad.

In order to make these results comparable with those obtained in the previ-ous algorithm, the control scheme is the one described in section (6.2), with the only differences being the jumping strategy and the algorithm exit con-dition, which is time-based. The robot starts stretched on the ground, and then, the feedforward/feedback action brings it to the desired position, and then the jumping algorithm begins.

(42)

Figure 6.8: Torque optimization simulation results. Trunk (red) and leg (blue) vertical position, with respect to the world frame W.

Figure 6.9: Torque optimization simulation results. Knee (red) and coxa (blue) joint torques.

Figure 6.10: Torque optimization simulation results. Front knee joint posi-tion.

6.4

Bang-Bang control simulation

As described in section (5.4), the Bang-Bang controller is implemented in simulation and the resulting scheme is shown in figure(). The desired

(43)

equi-Figure 6.11: Torque optimization simulation results. Front coxa joint posi-tion.

librium configuration q0 is chosen:

• front and rear knee joint qFK = −qRK = 1.02 rad;

• front and rear coxa joint qFC = −qRC = −0.52 rad.

The linear constraint imposed is

z(x) = cxxx+ czxz= xx= 0, (6.12)

therefore, the submanifold on which the bang-bang action will excite the oscillation is oriented with an angle

φ = atan2(cx, cz) = π/2, (6.13)

with respect to the base frame {B}.

The proportional and derivative gain of the constraint control force τd z are

Kz= 103 N/m,

Dz = 2 · 102 N s/m.

(6.14) The Bang-Bang threshold is τnz = 0.8N , this value is small enough to trigger

just under the robot weight. The amplitude chosen, τnz = 160N , is big

enough to excite the robot oscillations, which converge into a limit cycle. The resulting control scheme is shown in figure ().

(44)

Figure 6.12: Bang-Bang control simulation scheme

Figure 6.13: Bang-Bang control simulation results. Trunk (red) and leg (blue) vertical position, with respect to the world frame W.

Figure 6.14: Bang-Bang control simulation results. Knee (red) and coxa (blue) joint torques.

(45)

Figure 6.15: Bang-Bang control simulation results. Front knee joint position.

Figure 6.16: Bang-Bang control simulation results. Front coxa joint position.

(46)
(47)

Chapter 7

Experimental results

The control strategies discussed have been experimentally validated, but due to the great motor effort required, the tests are carried out on a two joints robot, see figure (7.1). The results of point-mass approximation control are

Figure 7.1: The experimental jumping robot.

not satisfying. The robot does not jump in none of the three experiments conducted increasing progressively the stiffness (0, 15, 30). It should be noted that the robot is controlled in open-loop and, accoring to the stiffness preset, different joints offset, in this way the robot COM results at the same height from the ground in all the experiments. At a given instant, the signal gen-erator block produces a step reference value that the robot should follows to perform a jump.

As can be see from the experimental results, the point-mass approximation algorithm does not succeed in accelerating the robot to the jumping velocity, due to motor velocity limitation.

In torque optimization experimental test the stiffness of the two VSA are set to 0, to fully exploit the elastic dynamics. From previous simulations, the

(48)

Figure 7.2: Point-mass aproximation experimental results. Stiffness 0. Posi-tion and velocity trajectories.

input reference is calculated and it is implemented in the signal generator. The robot succeeds in performig the jump pointing out the benefit in exciting the system spring before accelerating the upper mass.

The bang-bang control properly excites the system dynamics resulting in superior link velocity w.r.t. motor nominal speed as shown in the follow-ing figures. The robot performs continuos jumpfollow-ing motion convergfollow-ing in all tests on a limit cycle, moreover by amplitude and threshold variations dif-ferent jumping height can be achieved.

(49)

Figure 7.3: Point-mass aproximation experimental results. Stiffness 15. Po-sition and velocity trajectories.

(50)

Figure 7.4: Point-mass aproximation experimental results. Stiffness 30. Po-sition and velocity trajectories.

(51)

Figure 7.5: Torque optimization experimental results. Stiffness 0. Position and velocity trajectories

(52)

Figure 7.6: Bang-bang control experimental results. Stiffness 0, Bang-Bang Amplitude 13, Bang-Bang Threshold 30. Position and velocity trajectories, and limit cycle.

(53)

Figure 7.7: Bang-bang control experimental results. Stiffness 0, Bang-Bang Amplitude 18, Bang-Bang Threshold 30 Position and velocity trajectories, and limit cycle.

(54)

Figure 7.8: Bang-bang control experimental results. Stiffness 0, Bang-Bang Amplitude 25, Bang-Bang Threshold 33 Position and velocity trajectories, and limit cycle.

(55)

Chapter 8

Conclusion

In this thesis is described the design and control of the first, at the best of our knowledge, VSA-powered legged-robot capable of performing high jumps as well as continous jumping motion.

The jumping principles are stated and three control algoritms, based on mechanical energy conservation and linear momentum conservation, are pro-posed.

The point-mass approximation results the simplest method, it does not ploit the VSA dynamics and requires an high actuator effort, resulting ex-perimentally not efficient for jumping robots with torque limited actuators. The torque optimization control, based on a SEA modelling of the robot, solves the problem of maximizing the jumping height of the system. It takes advange of the system compliant elements imposing an oscillatory motion to the robot efficiently accelerating it. Experimental results point out that the consequent links velocities are higher than the motors nominal speed. All the previous controls does not succeed in producing a continous hopping motion, even when the oscillatory behavior of the torque optimization control is into sinusoidal inputs. Therefore, the bang-bang algorithm is implemented, it excites the robot intrinsic oscillation mode producing a limit cycle and gen-erating a jumping motion as experimentally proven. This method does not require contact of force sensors reducing the power consumption. However, it results sensitive to COM Jacobian matrix singularities that may produce unexpected robot behavior and motor failures. In addition, since the bang-bang threshold and amplitude are fixed, if the robot encounters a compliant terrain as well as different friction conditions, the oscillations decay and the system stops.

The results of this thesis can be considered as the first step toward the devel-opment of jumping robots VSA-powered. Further studies should be carried out to solve the main drawbacks pointed out. Further studies should be

(56)

car-ried out to solve the drawbacks described above, with a focus on determining how the variation of the stiffness of the VSA can influence the robot dynam-ics and developing a technique that avoid singular configurations. It would be also interesting to investigate how to efficiently translate the continuous jumps in a galloping motion allowing the robot to achieve high horizontal speeds as well.

(57)

Bibliography

[1] M. G. Catalano, G. Grioli, M. Garabini, F. Bonomo, M. Mancini, N. Tsagarakis, and A. Bicchi, “Vsa-cubebot: A modular variable stiffness platform for multiple degrees of freedom robots,” in Robotics and

Au-tomation (ICRA), 2011 IEEE International Conference on, May 2011,

pp. 5090–5095.

[2] M. Garabini, A. Passaglia, F. Belo, P. Salaris, and A. Bicchi, “Optimal-ity principles in stiffness control: The vsa kick,” in Robotics and

Au-tomation (ICRA), 2012 IEEE International Conference on, May 2012,

pp. 3341–3346.

[3] F. Tedeschi and G. Carbone, “Design issues for hexapod walking robots,” Robotics, vol. 3, no. 2, p. 181, 2014. [Online]. Available: http://www.mdpi.com/2218-6581/3/2/181

[4] R. Vidoni and A. Gasparetto, “Efficient force distribution and leg pos-ture for a bio-inspired spider robot,” Robotics and Autonomous Systems, vol. 59, no. 2, pp. 142 – 150, 2011.

[5] G. C. Haynes and A. A. Rizzi, “Gaits and gait transitions for legged robots,” in Proceedings 2006 IEEE International Conference on Robotics

and Automation, 2006. ICRA 2006., May 2006, pp. 1117–1122.

[6] M. Raibert, Legged robots that balance. The MIT Press,Cambridge, MA, Jan 1985.

[7] J. Zhao, R. Yang, N. Xi, B. Gao, X. Fan, M. W. Mutka, and L. Xiao, “Development of a miniature self-stabilization jumping robot,” in 2009

IEEE/RSJ International Conference on Intelligent Robots and Systems,

Oct 2009, pp. 2217–2222.

[8] F. Li, W. Liu, X. Fu, G. Bonsignori, U. Scarfogliero, C. Stefanini, and P. Dario, “Jumping like an insect: Design and dynamic optimization of

(58)

a jumping mini robot based on bio-mimetic inspiration,” Mechatronics, vol. 22, no. 2, pp. 167 – 176, 2012.

[9] G. Zuo, R. Sun, G. Wang, and K. Wang, “Bjr: A bipedal jumping robot using double-acting pneumatic cylinders and torsion springs,” in 2011

IEEE International Conference on Mechatronics and Automation, Aug

2011, pp. 1275–1279.

[10] C. Semini, “Hyq - design and development of a hydraulically actuated quadruped robot,” Ph.D. dissertation, Italian Institute of Technology

and University of Genoa, 2010.

[11] R. Incaini, L. Sestini, M. Garabini, M. Catalano, G. Grioli, and A. Bic-chi, “Optimal control and design guidelines for soft jumping robots: Series elastic actuation and parallel elastic actuation in comparison,” in

Robotics and Automation (ICRA), 2013 IEEE International Conference on, May 2013, pp. 2477–2484.

[12] D. Lakatos, G. Garofalo, A. Dietrich, and A. Albu-Schaeffer, “Jumping control for compliantly actuated multilegged robots,” in 2014 IEEE

In-ternational Conference on Robotics and Automation (ICRA), May 2014,

pp. 4562–4568.

[13] G. Garofalo, C. Ott, and A. Albu-Schaeffer, “Orbital stabilization of mechanical systems through semidefinite lyapunov functions,” in 2013

American Control Conference, June 2013, pp. 5715–5721.

[14] P. Kokotovic, H. Khalil, and J. O Reilly, “Singular perturbation meth-ods in control: Analysis and design,(1986),” Society for Industrial and

(59)

List of Figures

2.1 3D sketch of a Variable Stiffness Actuator. . . 5

2.2 Sketch of VSA internal mechanics. . . 6

3.1 Three views of the hexapod base. The structure is designed with the software CREO. . . 8

3.2 Two views of the hexapod tibia, the structure is designed with the software CREO. . . 9

3.3 Lateral leg view. . . 10

3.4 Hexapod model. . . 10

3.5 Kinematics structure of hexapod leg. . . 11

3.6 Inverse Kinematics geometry. On the left: leg tip position in (x, y) Cartesian plane. On the right: leg tip position in (r, z) Cartesian plane. . . 13

3.7 Hexapod gaits. On the left: tripod gait sequence. On the right: wave gait sequence. . . 14

3.8 Velocities and trajectories of each leg tip during stance phase and swing phase. . . 14

3.9 Hexapod Simulink control scheme. . . 15

4.1 Two views of the hexapod tibia, the structure is designed with the software CREO. . . 19

4.2 Sketch of the jumping robot. . . 21

5.1 Two-Mass-Spring model. . . 23

5.2 Two-Mass-Spring model. . . 25

6.1 Robotran software environment. . . 31

6.2 Sketch of the robot in the software animation window. . . 31

6.3 Point-mass approximation, Optimization torque. Jumping robot simulation control scheme. . . 34 6.4 Point-mass approximation simulation results. Trunk (red) and

Riferimenti

Documenti correlati

In particular, generational accounting tries to determine the present value of the primary surplus that the future generation must pay to government in order to satisfy the

The second part has been involves with the analysis and modelling of the ATV braking system, starting from the quarter of car model to describe the wheel’s dynamic during

Referring to hot water installations, according to the Regulation of the Minister of Infrastructure with regard to technical conditions which buildings and their location should

Obtained results from the conducted research on the determination of time dependencies between setting off of a specific control function and its actual implementation by the

- using the simulation model as a tool replacing the constant monitoring of runoff in storm water drains requires the maintenance of rain gauge monitoring with a density enabling the

In order to ensure that the transmission line does not affect the communication quality of the radio station, this section analyzed the minimum distance between the two

Since membrane-anchored uPAR forms can be easily shed from the cell surface by specific phospholipases [7] and act on neighbouring HSCs, we explored, by LTCs, the

10 Department of Urology, Maggiore Della Carità Hospital, University of Eastern Piedmont, Novara, Italy;.. 11 Department of Urology, Dışkapı Yıldırım Beyazıt Training and