Trot Gait Design details for Quadrupeds

Similar documents
An Interactive Software Environment for Gait Generation and Control Design of Sony Legged Robots

Since a projectile moves in 2-dimensions, it therefore has 2 components just like a resultant vector: Horizontal Vertical

A Hybrid Software Platform for Sony AIBO Robots

(ii) Calculate the maximum height reached by the ball. (iii) Calculate the times at which the ball is at half its maximum height.

Projectile Motion. Honors Physics

Name Period. (b) Now measure the distances from each student to the starting point. Write those 3 distances here. (diagonal part) R measured =

Exam in DD2426 Robotics and Autonomous Systems

Simplified Walking: A New Way to Generate Flexible Biped Patterns

Open Access The Kinematics Analysis and Configuration Optimize of Quadruped Robot. Jinrong Zhang *, Chenxi Wang and Jianhua Zhang

L3M-SIM Team Description

Automatic generation of humanoid s geometric model parameters

CONTROL ALGORITHM OP THE WALKER CLIMBING OVER OBSTACLES. D.E. Okhotsimski, A.K, Platonov U S S R

Projectile Trajectory Scenarios

Zero Launch Angle. since θ=0, then v oy =0 and v ox = v o. The time required to reach the water. independent of v o!!

Mithras3D Team Description Paper 2014 Soccer Simulation 3D League

Two-Dimensional Motion

CS 231. Control for articulate rigid-body dynamic simulation. Articulated rigid-body dynamics

Visual Attention Control by Sensor Space Segmentation for a Small Quadruped Robot based on Information Criterion

2.3 Projectile Motion

Machine Learning on Physical Robots

Dept. of Adaptive Machine Systems, Graduate School of Engineering Osaka University, Suita, Osaka , Japan

PARAMETRIC EQUATIONS AND POLAR COORDINATES

Motion Control (wheeled robots)

MATH 1113 Practice Test 5 SPRING 2016

MEAM 620: HW 1. Sachin Chitta Assigned: January 10, 2007 Due: January 22, January 10, 2007

The University of Pennsylvania Robocup 2011 SPL Nao Soccer Team

Autonomous and Mobile Robotics Prof. Giuseppe Oriolo. Humanoid Robots 2: Dynamic Modeling

10/11/07 1. Motion Control (wheeled robots) Representing Robot Position ( ) ( ) [ ] T

Quadruped Robots and Legged Locomotion

Behavior Learning for a Mobile Robot with Omnidirectional Vision Enhanced by an Active Zoom Mechanism

CSIS 0801 Final Year Project. Implementation of An Intelligent Hexapod Robot. Individual Final Report - Kinematics

Ch. 6: Trajectory Generation

SYNTHESIS AND RAPID PROTOTYPING OF MOTION FOR A FOUR-LEGGED MAMMAL-STRUCTURED ROBOT

ME5286 Robotics Spring 2014 Quiz 1 Solution. Total Points: 30

beestanbul RoboCup 3D Simulation League Team Description Paper 2011

The diagram above shows a sketch of the curve C with parametric equations

Control of Walking Robot by Inverse Dynamics of Link Mechanisms Using FEM

Polar Coordinates. Chapter 10: Parametric Equations and Polar coordinates, Section 10.3: Polar coordinates 27 / 45

Mobile Robotics. Marcello Restelli. Dipartimento di Elettronica e Informazione Politecnico di Milano tel:

Fall 2016 Semester METR 3113 Atmospheric Dynamics I: Introduction to Atmospheric Kinematics and Dynamics

OCR Maths M2. Topic Questions from Papers. Projectiles

Vector Addition and Subtraction: Analytical Methods

Optic Flow and Basics Towards Horn-Schunck 1

DETC ANALYSIS, SYNTHESIS, AND EXPERIMENTS OF STANDING UP METHODS FOR A TRIPEDAL ROBOT

Workspaces of planar parallel manipulators

Structural Configurations of Manipulators

DETC WORKSPACE ANALYSIS FOR THE LIMBS OF A HEXAPEDAL ROBOT WALKING GAIT GENERATION ALGORITHM DEVELOPMENT

Table of Contents Introduction Historical Review of Robotic Orienting Devices Kinematic Position Analysis Instantaneous Kinematic Analysis

Control of an 8-Legged, 24 DOF, Mechatronic Robot

Introduction to Robotics

Chapter - 2: Geometry and Line Generations

2.1 Motion in Two Dimensions A Scale Diagram Approach

Nao Devils Dortmund. Team Description Paper for RoboCup Matthias Hofmann, Ingmar Schwarz, and Oliver Urbann

Unit 6 Quadratic Functions

The 2006 sharpkungfu Team Report

Cecilia Laschi The BioRobotics Institute Scuola Superiore Sant Anna, Pisa

Towards a multi-segment ambulatory microrobot

The Mathematical Model and Computer Simulation of a Quadruped Robot

Control of Snake Like Robot for Locomotion and Manipulation

Jolly Pochie 2005 in the Four Legged Robot League

Position Analysis

Design and Development of Unmanned Tilt T-Tri Rotor Aerial Vehicle

Project 1 : Dead Reckoning and Tracking

SPH3U1 Lesson 12 Kinematics

Local Reflex Generation for Obstacle Negotiation in Quadrupedal Locomotion

Math Learning Center Boise State 2010, Quadratic Modeling STEM 10

Analysis of Six-legged Walking Robots

Robust and Accurate Detection of Object Orientation and ID without Color Segmentation

SHARPKUNGFU TEAM DESCRIPTION 2006

Chapter 5. Transforming Shapes

1.4. Comparing Graphs of Linear Motion. Acceleration Time Graphs

Towards a methodology for stabilizing the gaze of a quadrupedal robot

Carnegie Mellon University

13. Learning Ballistic Movementsof a Robot Arm 212

Industrial Robots : Manipulators, Kinematics, Dynamics

Development of an optomechanical measurement system for dynamic stability analysis

Vector Decomposition

CMPUT 412 Motion Control Wheeled robots. Csaba Szepesvári University of Alberta

Horus: Object Orientation and Id without Additional Markers

Non-holonomic Planning

Modular robotics and locomotion Juan Gonzalez Gomez

2. The diagram shows part of the graph of y = a (x h) 2 + k. The graph has its vertex at P, and passes through the point A with coordinates (1, 0).

ÉCOLE POLYTECHNIQUE DE MONTRÉAL

PROJECTILE. 5) Define the terms Velocity as related to projectile motion: 6) Define the terms angle of projection as related to projectile motion:

Particle-Filter-Based Self-Localization Using Landmarks and Directed Lines

Chapter 1. Linear Equations and Straight Lines. 2 of 71. Copyright 2014, 2010, 2007 Pearson Education, Inc.

Preview. Two-Dimensional Motion and Vectors Section 1. Section 1 Introduction to Vectors. Section 2 Vector Operations. Section 3 Projectile Motion

(a) (b) (c) Fig. 1. Omnidirectional camera: (a) principle; (b) physical construction; (c) captured. of a local vision system is more challenging than

Manipulator Path Control : Path Planning, Dynamic Trajectory and Control Analysis

Polar Coordinates. Chapter 10: Parametric Equations and Polar coordinates, Section 10.3: Polar coordinates 28 / 46

Improving Vision-Based Distance Measurements using Reference Objects

Semester 2 Review Problems will be sectioned by chapters. The chapters will be in the order by which we covered them.

Mimicry of Fish Swimming Patterns in a Robotic Fish

Chapter 26 Geometrical Optics

Factor Quadratic Expressions

We ve defined vectors as quantities that have a magnitude and a direction Displacement, velocity, and acceleration Represent by an arrow whose length

Serially-Linked Parallel Leg Design for Biped Robots

ON THE VELOCITY OF A WEIGHTED CYLINDER DOWN AN INCLINED PLANE

Robotics (Kinematics) Winter 1393 Bonab University

WORKSPACE AGILITY FOR ROBOTIC ARM Karna Patel

Transcription:

Trot Gait Design details for Quadrupeds Vincent Hugel, Pierre Blazevic, Olivier Stasse, and Patrick Bonnin Laboratoire de Robotique de Versailles (LRV), 10/12 avenue de l Europe, 78140 Vélizy, France hugel@robot.uvsq.fr Abstract. This paper presents a full description of the design of a trot locomotion that has been implemented on AIBO quadrupeds in the Sony legged league. This work is inspired by the UNSW achievements in RoboCup 2000 and 2001 in Melbourne and Seattle. The French team rebuilt a complete trot locomotion from scratch, and introduced special features that differ from the Australian original design. Many papers have already been dedicated to the work on quadruped locomotion [2][3][4]. However they do not detail all the parts of the design. 1 Introduction This paper is dedicated to the design from scratch of a trot gait that allows combining linear and angular body velocities, which can make the robot walk along a sideways direction or make turns round any point. From 1999 to 2001 the French team developments in locomotion [1] gave good results but motion turns were only possible round points located on the transverse axis of the body. BY the end of 2001 it was decided to design a new trot gait algorithm to allow better maneuverability of the robot and to incorporate the option of performing a crawl-like trot introduced with success by the New South Wales University team in RoboCup 2000. The algorithms developed by the French team are inspired by the details given by the UNSW team in its 2000 RoboCup report [2] but have been rewritten and adapted to include specific features. These features include exact support phase leg trajectories that are not approximated to straight line segments, leg home positions that vary with linear body velocity to improve dynamic balance, and times of changing velocity at leg landing. Thanks to this locomotion design, the robot should be able to adopt a highlegged trot to cover large distances at high speed, and to adopt a crawl-like gait that is very efficient for approaching and covering the ball. This paper describes the parameters used for locomotion and the details of the design. 2 Parameters used to tune locomotion 2.1 Leg trajectory placement parameters Leg trajectory placement parameters permit to place the leg trajectory with respect to the body reference frame. We distinguish the horizontal parameters, the α parameter for shifting home position, and the vertical parameters.

Horizontal distance parameters. Figure 1 shows longitudinal and lateral spacings, and right and left shifts from geometric body centre (GBC) called C left and C right. Longitudinal spacings are taken from the limit defined by the GBC shifts. Lat_spacing_ front_left Lat_spacing _front_right FHP 4 FHP 1 Lg_spacing_left Lg_spacing_right C left Lg_spacing_left GBC C right Lg_spacing_right FHP 2 Lat_spacing _rear_left Lat_spacing _rear_right FHP 3 Fig. 1. Horizontal distance parameters that define fixed home positions for legs in stance phase. Fixed home positions that serve as references are called FHP1, FHP2, FHP3, and FHP4. They are defined by the horizontal distance parameters. Home position shifting parameter. To implement a variable home position called CHP (see fig. 2) the parameter called α is introduced. The home position shift from the fixed home position (FHP) is expressed as: (FHP,CHP)=α v.dt = α.(v i + v f )/2.T/2 (1) where v is the linear velocity, T the cycle period, and v i and v f the linear velocities at the beginning and the end of the step. This parameter allows to better distribute the load of the body between the two thrusting legs whatever the motion direction. Hence we get a CHP point for every leg. The CHP point is the middle point of the leg straight-line trajectory in support phase. This straight line joins landing and take-off points of the leg. Vertical parameters. They are the height of the front legs and the height of the rear legs with respect to the related shoulder joint.

Direction of motion Stride vector over a step = v. T/2 Current home positions (CHP) Fixed home positions (FHP) Fig. 2. Top view of the robot achieving a linear sideways motion. Velocity of the robot has two components v x and v y. The dotted rectangle joins the fixed home positions (FHP) as they are defined by the trajectory parameters (section 2.1). When a linear motion is required the home position varies as a function of the stride length (that is the velocity magnitude times the period of the stance phase (T/2)) and the direction of motion. The variable home positions are called CHP (current home positions). Here they are the middles of the linear stride segments. 2.2 Kinematic parameters They describe the shape of the leg trajectory over a cycle period. The kinematic parameters are the following: step period = T/2, where T is the total time of the leg cycle, upward phase height, downward phase height, time ratio of upward phase with respect to total air phase, time ratio of downward phase with respect to total air phase, maximal accelerations for v x,v y and w. The upward phase starts when the leg leaves the ground. It terminates when the leg starts its swing phase. The downward phase starts when the leg ends the swing phase. It terminates when the leg touches ground. By varying maximal accelerations, we can vary the time of acceleration/deceleration of the robot.

2.3 Additional parameters for oscillation moves The oscillation moves that can be introduced are the following: up and down moves of the body, lateral moves of the body (right and left), angular moves round the transverse axis of the body. The relating parameters are the amplitude and the phase lag of each oscillation move. The phase lag is defined with respect to the time cycle of a leg trajectory. 3 Design Details 3.1 Velocity or position control. The decision making module of the robot can run velocity or position control, and switch between both when needed. Velocity control allows to request for a set of combined velocities, v y, v x,andw. Position control allows to request for a set of combined displacements (Dx, Dy, Dθ). This means that after a series of steps, the body centre should have moved by the displacement vector (Dx, Dy), and the body should have turned an angle equal to Dθ. In position control mode, it is possible to specify maximal velocities during the required displacement. 3.2 Adjusting velocities to robot s leg workspaces. In velocity control the velocities to be adjusted are the velocities the robot must reach. In position control the velocities to be adjusted are: the maximal velocities the robot should not exceed along the displacement required. They are given by the decision module. the successive velocities the robot must use to achieve the required displacements. These velocities must converge towards zero. Use of a workspace calibration table. For adjusting velocities a calibration table taking leg workspace boundaries into account is used. This calibration table can be illustrated by a 3D space where point coordinates represent body displacements ( x, y, θ) over a step. A triplet of constant velocities (v x,v y,w) is linked to the displacements ( x, y, θ) by (v x,v y,w)= T step.( x, y, θ), (2) where T step = T/2. In the ( x, y, θ) 3D space, we can calculate a closed 3D surface whose points represent the optimum set of triplet ( x, y, θ) opt the leg can achieve while remaining inside its workspace.

In other terms, components of points located inside the closed surface are displacements ( x, y, θ) that can be achieved by the robot over one step. Hence if the set of velocities required is located out of the 3D surface, the robot cannot achieve them. They must be reduced. Hence the decision module commands the robot to reach the optimal triplet of velocities given by where ( x, y, θ) opt is defined by ( x, y, θ) opt / T step, (3) ( x, y, θ) opt = k. T step.(v x,v y,w). (4) where k is a reduction factor. Directions of vectors ( x, y, θ) and(v x,v y,w)remainthesame. Of course the triplet of velocities remains unchanged if inside the 3D surface. The 3D surface can be computed at boot time using the trot parameters set. How the workspace calibration table is built. The calibration table contains 3D points of the 3D surface. The table is built using 3D discrete spherical coordinates. Starting with (0, 0, 0) the number of points explored grows radially until the surface is reached. Beyond this surface the set of displacements cannot be achieved over a step. Given a triplet of displacements ( x, y, θ) over a step,it is marked as being inside the 3D surface if landing and take-off points belong to the workspace of the leg in support. Using this technique ( x, y, θ) is adjusted automatically, and the decision module does not have to set a stride parameter for the gait. In summary, the 3D surface ensures that leg trajectories will not go beyond the leg working space. And adjusting T step to a minimal value permits to set maximal forward velocity. 3.3 Update velocity at next step or after next step. Once a pair of legs is on the ground, the velocity profile that has been planned cannot be changed all along this leg pair support phase. When the request comes in the first half of the current step, new velocities are taken into account at starting the next support phase (i.e. the next step). When the request comes in the second half of the current step, new velocities are taken into account at starting the after next support phase (i.e. after the next step). This is because we consider that we do not have enough time to re-plan the stance phase trajectory of the current legs in the air. Defining velocities at the end of a step. Astepisdefinedbyaninitial and a final triplet of velocities (see section 3.5 for generating support stance phase), and by the landing point. Knowing the initial velocity of the next step and before starting it, the problem is to get the final velocity to define the step completely. This final velocity must be known in advance (T/4 before starting

v f v i t v f v i /acc 0 v f /acc 2. T step t 0 v f-v i /acc T step v i T step Fig. 3. Linear velocity profiles used to deal with velocity control. v i is the velocity at the beginning of the step. v f is the velocity at the end of the step. the next step at least). All three velocities (v x,v y,w) follow a linear profile (see figure 3). The rate of increase in velocity is defined by a maximal acceleration that is fixed. There is a different acceleration for every velocity v x, v y,andw. They have been set so that the robot can reach maximal velocity from still motion in a step time period. This implies: T step > v /acc, where v represents whatever velocity, and acc the related acceleration (positive value). Defining velocities in position control. In position control, the goal is different. Here we do not want the robot to reach a certain set of velocities but we want it to halt motion after trotting the requested distance and turning the requested angle. And to allow re-entrance of velocity control with position control and conversely, position control is designed by updating velocities for every leg switch, like in velocity control. Velocities must converge towards 0 since the robot must halt motion once distances and angle have been achieved. Let be (Dx, Dy, Dθ) the displacements to achieve in position control. Velocities are updated 2 times a cycle period in the middle of two consecutive steps. At these times of update, the remaining displacement (Dx, Dy, Dθ) remain to perform is calculated The displacements already achieved are simply subtracted from the previous displacements. Velocities are initialized to (Dx, Dy, Dθ) remain / T step and filtered using work space 3D surface (see section 3.2). Then velocities are optimized in order to finish the displacements as soon as possible. In case the initial velocity is too high and distance requested to be covered too small, it can appear that the robot oversteps the point to reach. But even so, the position control algorithm makes the robot joint the point by making it trot in the reverse direction. 3.4 Updating the landing point for the next step or the after next step. Knowing velocities at the beginning and the end of the step considered (i.e. velocities at leg landing and take-off) and by intergrating the velocity profile described in the previous section, we compute the displacements ( x, y, θ)

Body translation vector (- x, - y) A Leg trajectory displacement vector ( x, y) A* CHP A A" - θ C Displacement vector rotated using rotation of centre C and angle (- θ). Fig. 4. A are A are the landing and take-off points of the step. The body turns round C (GBC shifted) with an angle θ. Hence the leg tip turns (- θ). If we start with the translation, we get to A by passing through A. If we start with the rotation, A is the image point obtained by rotation of leg landing point A. Then the translation of vector A A must be performed.) over this step. Then landing point coordinates are computed the following way: if ( x, y) stands for the linear displacement over a step (legs numbered 1 and 3 for instance) and θ for the angle to rotate, we have A and A respectively landing and take-off points of the first leg (1) of the diagonal pair (figure 4), and B and B referring to the second leg (3), expressed as: CHP 1 = FHP 1 + α( x, y) CHP 3 = FHP 3 + α( x, y) A x = x/2+chp 1x ( y/2+chp 1y ).tan( θ/2) A y = y/2+chp 1y +( x/2+chp 1x ).tan( θ/2) A x = x/2+chp 1x ( y/2+chp 1y ).tan( θ/2) A y = y/2+chp 1y +( x/2+chp 1x ).tan( θ/2) (5) B x = x/2+chp 3x ( y/2+chp 3y ).tan( θ/2) B y = y/2+chp 3y +( x/2+chp 3x ).tan( θ/2) B x = x/2+chp 3x ( y/2+chp 3y ).tan( θ/2) B y = y/2+chp 3y +( x/2+chp 3x ).tan( θ/2) These equations refer to figure 4 that describes how landing and take-off points of the first leg of the diagonal support are defined knowing translation and turn-in-place motions of the body ( x, y, θ) over the step.

3.5 Computing current Cartesian point of leg trajectory. The reference frame considered is the body reference frame whose plane xy is horizontal and whose centre is C (C is the point shifted from the geometric body centre GBC by C along the longitudinal axis). Stance phase. At every time interval of the stance phase displacements (dx, dy, dθ) performed from time of landing until present time are calculated by integrating the velocity profile, knowing velocities at the beginning and the end of the step. Then the stance point is calculated using these displacements by: cpx = LandingP oint.x dx cpy = LandingP oint.y dy current stance point.x = cos(dθ).cpx + sin(dθ).cpy current stance point.y = sin(dθ).cpx + cos(dθ).cpy current stance point.z = front height or rear height Air phases. They are implemented using the heights to move the leg up and down, and the next landing point. (6) 4 Conclusion and Perspectives Trot parameters can be adjusted easily by updating the calibration table. Hence it is possible to implement high-legged trot or the trot introduced by the UNSW team where the fore part of the body is lowered. However the whole locomotion is based on the trot gait. And it would be great to be able to switch between trot gait and other gaits such as crawl gaits that feature always three legs on the ground. Crawl gaits can be useful for approching maneuvers when slow and precise moves are required. In addition maybe gaits faster than trot can be introduced. These gaits involve the control of ballistic phases. New studies will focus on how to switch between trot, crawl and faster gaits continuously. References 1. Hugel, V.: On the Control of Legged Locomotion Applied to Hexapod and Quadruped Prototypes, PhD Thesis (in French), Université de Paris VI, Nov. 1999. 2. Hensgt, B., Ibbotson, D., Bao Pham, S., Sammut, C.:The UNSW United 2000 Sony Legged Robot Software System, School of Computer Science and Engineering, University of New South Wales, 2000 RoboCup SONY legged league report. 3. Veloso M,Lenser S.,Vail D.,Roth M.,Stroupe A. and Chernova S.: CMPack-02: CMU s Legged Robot Soccer Team, Carnegie Mellon University, 2002 RoboCup SONY legged league report. 4. Upenn, IROS 2001 Hawai. Chitta, S., and OStrowski, J.P.: New Insights into Quasistatic and Dynamic Omnidirectional Quadrupedal Walking, IROS 2001.