BUILDING A BETTER PASSIVE WALKER

Similar documents
Motion Control of a Bipedal Walking Robot

OPTIMAL TRAJECTORY GENERATION OF COMPASS-GAIT BIPED BASED ON PASSIVE DYNAMIC WALKING

Biomechanics and Models of Locomotion

Journal of Chemical and Pharmaceutical Research, 2016, 8(6): Research Article. Walking Robot Stability Based on Inverted Pendulum Model


Using GPOPS-II to optimize sum of squared torques of a double pendulum as a prosthesis leg. Abstract

Body Stabilization of PDW toward Humanoid Walking

Humanoid Robots and biped locomotion. Contact: Egidio Falotico

Creation of a Fallback Catch Method. Megan Berry Mechanical Engineering Senior MAE 490 (4 credits)

PERCEPTIVE ROBOT MOVING IN 3D WORLD. D.E- Okhotsimsky, A.K. Platonov USSR

John Sushko. Major Professor: Kyle B. Reed, Ph.D. Rajiv Dubey, Ph.D. Jose Porteiro, Ph.D. Date of Approval: October 21, 2011

In memory of Dr. Kevin P. Granata, my graduate advisor, who was killed protecting others on the morning of April 16, 2007.

A NEW GOLF-SWING ROBOT MODEL UTILIZING SHAFT ELASTICITY

Controlling Velocity In Bipedal Walking: A Dynamic Programming Approach

ZMP Trajectory Generation for Reduced Trunk Motions of Biped Robots

Human Pose Tracking III: Dynamics. David Fleet University of Toronto

CHAPTER IV FINITE ELEMENT ANALYSIS OF THE KNEE JOINT WITHOUT A MEDICAL IMPLANT

ROSE-HULMAN INSTITUTE OF TECHNOLOGY Department of Mechanical Engineering. Mini-project 3 Tennis ball launcher

Foot Placement in the Simplest Slope Walker Reveals a Wide Range of Walking Solutions

Stable Upright Walking and Running using a simple Pendulum based Control Scheme

Effects of Ankle Stiffness on Gait Selection of Dynamic Bipedal Walking with Flat Feet

Ranger Walking Initiation Stephanie Schneider 5/15/2012 Final Report for Cornell Ranger Research

Sample Solution for Problem 1.a

Decentralized Autonomous Control of a Myriapod Locomotion Robot

RUNNING ON SOFT GROUND: SIMPLE, ENERGY-OPTIMAL DISTURBANCE REJECTION

COURSE NUMBER: ME 321 Fluid Mechanics I Fluid statics. Course teacher Dr. M. Mahbubur Razzaque Professor Department of Mechanical Engineering BUET

1. A tendency to roll or heel when turning (a known and typically constant disturbance) 2. Motion induced by surface waves of certain frequencies.

Current issues regarding induced acceleration analysis of walking using the integration method to decompose the GRF

Precision Rotary Ball Screw

Simulation of the Hybtor Robot

Variable Face Milling to Normalize Putter Ball Speed and Maximize Forgiveness

Emergent walking stop using 3-D ZMP modification criteria map for humanoid robot

Mecánica de Sistemas Multicuerpo:

Gyro stabilized biped walking

Biomechanics Sample Problems

Dynamically stepping over large obstacle utilizing PSO optimization in the B4LC system

Controlling Walking Behavior of Passive Dynamic Walker utilizing Passive Joint Compliance

Skippy: Reaching for the Performance Envelope

Walking Simulator Mechanism

Modeling of Hydraulic Hose Paths

Swing leg retraction helps biped walking stability

Washington University in St. Louis Introductory Physics Lab Summer 2015

Speed Control System Design in Bicycle Robot by Low Power Method. Abstract

Improvement of the Cheetah Locomotion Control

Ankle springs instead of arc-shaped feet for passive dynamic walkers

Control based on passive dynamic walking

An investigation of kinematic and kinetic variables for the description of prosthetic gait using the ENOCH system

Effects of a Passive Dynamic Walker s Mechanical Parameters on Foot- Ground Clearance

Asymmetric Passive Dynamic Walker

INCLINOMETER DEVICE FOR SHIP STABILITY EVALUATION

Toward a Human-like Biped Robot with Compliant Legs

Design of a double quadruped for the Tech United soccer robot

Mechanical Design of a Simple Bipedal Robot. Ming-fai Fong

An Impeller Blade Analysis of Centrifugal Gas Compressor Using CFD

U S F O S B u o y a n c y And Hydrodynamic M a s s

Gerald D. Anderson. Education Technical Specialist

Keywords--Bio-Robots, Walking Robots, Locomotion and Stability Controlled Gait.

Limit Cycle Walking and Running of Biped Robots

Locomotion Concepts. Autonomous Mobile Robots. Concepts Legged Locomotion Wheeled Locomotion. Autonomous Systems Lab. Zürich. Localization.

LOCAL STABILITY ANALYSIS OF PASSIVE DYNAMIC BIPEDALROBOT

Gait. Kinesiology RHS 341 Lecture 12 Dr. Einas Al-Eisa

Sensing and Modeling of Terrain Features using Crawling Robots

Dynamic Lateral Stability for an Energy Efficient Gait

ABSTRACT PATTERNS USING 3D-DYNAMIC MODELING. Kaustav Nandy, Master of Science, Department of Electrical And Computer Engineering

INSTRUMENT INSTRUMENTAL ERROR (of full scale) INSTRUMENTAL RESOLUTION. Tutorial simulation. Tutorial simulation

Spring Locomotion Concepts. Roland Siegwart, Margarita Chli, Martin Rufli. ASL Autonomous Systems Lab. Autonomous Mobile Robots

First Hops of the 3D Bow Leg

Kungl Tekniska Högskolan

Centre for Autonomous Systems

Research on Goods and the Ship Interaction Based on ADAMS

DETC DESIGN OPTIMIZATION OF A NOVEL TRIPEDAL LOCOMOTION ROBOT THROUGH SIMULATION AND EXPERIMENTS FOR A SINGLE STEP DYNAMIC GAIT

Bikes and Energy. Pre- Lab: The Bike Speedometer. A Bit of History

Optimization of an off-road bicycle with four-bar linkage rear suspension

C-Brace Orthotronic Mobility System

ZSTT Team Description Paper for Humanoid size League of Robocup 2017

Proceedings of Meetings on Acoustics

intended velocity ( u k arm movements

EXPERIMENTAL STUDY OF EXOSKELETON FOR ANKLE AND KNEE JOINT

Project 1 Those amazing Red Sox!

Numerical study on the wrist action during the golf downswing

Designing a Traffic Circle By David Bosworth For MATH 714

Study of Dynamic Biped Locomotion on Rugged Terrain - Derivation and Application of the Linear Inverted Pendulum Mode -

Characterizers for control loops

TWO DIMENSIONAL KINEMATICS

Velocity Based Stability Margins for Fast Bipedal Walking

Design and control of Ranger: an energy-efficient, dynamic walking robot

by Michael Young Human Performance Consulting

Human-Inspired Control of Bipedal Walking Robots

The Physics of Lateral Stability 1

Adaptation of the Paddle-One

-Elastic strain energy (duty factor decreases at higher speeds). Higher forces act on feet. More tendon stretch. More energy stored in tendon.

Programming Self-Recovery in the humanoid Leong Ti Xean 1 Yap Kian Tiong 2

STABILITY AND CHAOS IN PASSIVE-DYNAMIC LOCOMOTION

Robotics and Autonomous Systems

Robotics and Autonomous Systems

The Science Behind Conveyor Oven Thermal Profiling

Mobile Robots (Legged) (Take class notes)

In this course you will learn the following

Computer Aided Drafting, Design and Manufacturing Volume 26, Number 2, June 2016, Page 53. The design of exoskeleton lower limbs rehabilitation robot

+ t1 t2 moment-time curves

Transcription:

BUILDING A BETTER PASSIVE WALKER Abstract - A passive dynamic walker is a mechanism which uses gravitational energy to walk down an incline with a periodic gait. Simple passive dynamic walkers have an inner and outer set of equal length legs which are pinned together at the hip. To prevent tripping, these walkers require alternating stepping stones for the feet to walk on top of. My senior design project involved building a passive dynamic walker which did not require stepping stones to walk down a slope. The walker was functional, but it could be improved significantly. For my RISE project, I was tasked with implementing these changes to build a better passive dynamic walker. I learned about the mathematic theory behind these walkers. I then used Matlab code developed by Professor Remy and computer aided design software to design a more optimized passive dynamic walker. Finally, I built the walker and implemented an Arduino control system to lift the inner legs. The project was a success. The final walker is larger, more durable, and walks with a periodic gait over a 0.5 to 6.0 range of slope angles. I. Introduction A. Passive Dynamics and their Application Researchers have been trying to create legged robots since the late 1960s. The Phony Pony, built in 1968, was the first mechanical walking system coordinated by a computer. [1] The unique abilities of legged robots lie in the combined features of torque-controllability, portability, ability to move quickly, joint mobility allowing it to climb over significant obstacles, and suitability for human interaction [2]. In the 1980s, two design philosophies began to emerge to design walking robots. One approach focused on developing robust statically stable gaits, generally through the use of precisely controllable, stiff drive mechanisms [3]. These stiff drive mechanisms allow the robot to have precise control over the position of its weight placement, but they require a significant amount of electrical and computing power to do so. In 1990, McGeer pioneered a new way to design walking robots by utilizing passive dynamic walking. The practical motivation for studying Brian A. McCann passive walking is that it makes for mechanical simplicity and relatively high efficiency [4]. Designing legged robots around passive dynamics allows them to walk significantly further with less energy consumption. If designed correctly, these robots can walk down inclines by only utilizing gravity. To achieve passive dynamic motion, these robots must be designed to have a periodically stable gait. A periodic gait refers to a gait where each stride is identical the next. Passive dynamic walkers are unique in that they are statically unstable, but dynamically stable due to their periodic gait. If they are stood upright, they will fall over. However, when they are walking they will continually catch themselves from falling which results in a dynamically stable system. Although the periodicity of the gait is important, it is also critical that the gait is stable. For a gait to be stable, small perturbations to the walker must be naturally damped out from the kinematics of the system. If the gait is not stable, then it will not function outside of simulations. Just as an inverted pendulum is theoretically stable when vertical, it is possible to find periodic gaits which are only stable if left completely untouched. In the real world, manufacturing tolerances and other small imperfections will cause the real world gait to be slightly different from the computer simulation. B. Previous Work In ME450, my senior design class, I worked with 3 other students to develop a passive dynamic walker which would be able to walk down a smooth incline without stepping stones. Figure 1 shows this walker. Servo to Control Inner Legs Lithium Ion Batteries Figure 1: The ME450 passive dynamic walker.

Professor Remy was our group s sponsor and he wanted us to build the walker to demonstrate control systems to the ME350 class. The only design constraint we had was to make a walker that was functional. We were provided with a tutorial on passive dynamic walkers as well as accompanying Matlab code. The tutorial was part of a summer class program on passive dynamic walkers offered by TU Delft where the students would build a simple stepping stone style walker as shown in Figure 2, below. Raised stepping stones Adjustable masses for tuning the walker s gait Figure 2: The simplest "stepping stone" style passive dynamic walker [5] The code would simulate a walker based on the following design parameters: not periodic. The robot had large feet and a low center of mass which allowed to catch itself when it began to fall. The robot was also much smaller than what our sponsor wanted. It was too small to be seen in a lecture hall and thus made a poor demonstration tool. Finally, the durability of the robot was questionable. It did not have any durability issues during testing, but some wires began to pull out during the design expo after several hours of heavy use. I chose to make an improved passive walker as my individual study project for two reasons. First, I wanted to understand the math behind these systems. In ME450, nobody in the group understood exactly what the code was doing to simulate the walker. I wanted to understand the mathematics behind the problem we were trying to solve. The second reason is that I simply wanted to build an improved walker which could walk with a smooth, stable, and periodic gait. II. Methods A. Model The model for the passive dynamic walker consists of an inner and outer set of legs joined at the hip. These legs have equal mass, inertia, and center of gravity locations. Leg Length Leg Mass Leg Inertia Foot Radius Center of Mass Location Slope of the Incline We modified the code with a nested loop to iterate through every combination of the design parameters within a specified range. The simulation took 4 computers several hours to run through 7 million iterations to find about 25 stable and manufacturable options. The final build parameters we chose were in the middle of an island of stability where only the leg inertia varied between the solutions. The final robot was successfully able to walk down smooth inclined surfaces, although there were several issues with it. First, the robot s gait was Figure 3: The simplest Passive Dynamic Walker Model [6] Lagrange equations are used to describe the system rather than free body diagrams. The Lagrange method allows the bodies of the walker to be described by two variables: γ, the angle of the first leg with respect to the ground and α, the angle between the two legs. By differentiating the kinetic

and potential energy equations of the system, the equations of motion are found. M(q)q + b(q, q ) + g(q) = J c T F c (1) q is a vector of the generalized coordinates M is the mass matrix b is a matrix containing the coriolis forces g is the gravity matrix J c T is the contact jacobian F c is the contact force matrix Professor Remy s Doctoral thesis, A MATLAB Framework for Efficient Gait Creation, and the accompanying Matlab code were used to determine the walker parameters. Rather than test every possible combination, Remy s Matlab code attempts to find stable walker parameters by finding a periodic limit cycle and then determining the stability of the limit cycle. B. Finding a Periodic Limit Cycle Periodicity of the walker s gait is determined by ensuring the conditions of the walker at the beginning of a stride are the same as the conditions at the end of a stride. The vector x k defines the initial state and x k+1 defines the terminal state of the walker. A function P is used to link the initial and terminal states. For a function to be periodic, the initial and terminal states must be the same such that: x k+1 = P (x k, p) = x k (2) P is the Poincaré map of the system and p is a vector which contains the physical walker parameters. The Poincaré map is a plot of where the walker s trajectory intersects with some section transverse to the trajectory s flow. For this passive walker model, the transverse section is defined as the end of a stride. If the walker s gait is perfectly periodic, the walker s Poincaré map will be a single point. This is because the walker s trajectory will intersect the transverse section at the same location every time. If the walker s gait is not periodic, the Poincaré map will be populated with several points scattered about the transverse section. If there is a root of x * which solves equation (3), then a periodic gait has been found. P (x, p) x = 0 (3) Equation (3) is an implicit differential equation and is solved using Matlab s ODE45 function. C. Evaluating the Periodic Gait s Stability After a periodic gait is found, the stability of the gait must be analyzed. For a gait to be stable, a small perturbation to the walker s motion must be damped out over time and return to its original gait. A stable gait is critical for a walker to function in the real world. If the walker has a periodic gait which is made unstable by some small external force, then any imperfection will cause the walker to fall. The stability of the limit cycle is assessed by linearizing the Poincaré map with a Taylor series expansion. Ignoring higher order terms and simplifying, the following equation is derived. x k+1 = J x x k (4) Jx is the monodromy matrix of the Poincaré map [7]. The monodromy matrix essentially links a small perturbation for each of the variables of the begin-ofstride state to the resultant perturbation of the end-ofstride state. The eigenvalues of J x are called Floquet multipliers. If any of the Floquet multipliers have a magnitude greater than 1, then the perturbations will intensify with each step, causing the system to be unstable. If all of the Floquet multipliers are less than 1, then any small perturbations will diminish over time and the walker is stable. III. Design and Manufacturing A. Mechanical Design The mechanical design for the walker is difficult because the design of the walker can only be validated by the simulation code once it is already designed. Therefore, the initial design of the robot must be an educated guess. I used my intuition from designing the ME450 walker to design a larger walker in CAD which I felt could walk successfully. I then used CAD to evaluate the walker parameters which are the same as the parameters used to design the simple passive walkers mentioned above so I

could put these into the simulation software. Based on the simulation results, I modified my design to fit the simulation as closely as possible and then ran the new design through the simulation. I iterated through this process until I designed a walker which had the parameters shown in Table 1, below. Table 1: Walker Design Parameters Leg Length 0.203 m Body Mass 0.265 kg Leg Mass 0.360 kg COG Location (Along Leg Axis) 0.119 m COG Location (Perp. To Leg Axis) 0.000 m Inertia About Centroid of the Legs 0.003 kg*m 2 Radius of Feet 0.076 m Slope Angle 1 One problem I encountered during the design phase of the walker was the importance of the prescribed initial conditions. In addition to the physical design parameters, the user must enter the initial conditions of the walker into a script called ContStateDefinition.m. These initial conditions [γ, γ, α, α ] are defined as follows: γ Angle between stance leg and ground γ Angular Velocity of Stance Leg α Angle between the legs α Angular Velocity between the legs By default, the initial conditions were set at [0.3, -0.5, -0.6, 0.5]. These conditions worked for the code s default walker, but they cause my walker designs to fail on the first simulated step. Eventually I discovered this was because the inertia of my walkers was much higher than the code s default walker. The code finds a periodic solution by varying the initial conditions until a solution is found, but the user defined first guess needs to be close to the periodic value for the solver to converge. The solution I found was to slow down the initial conditions to end up at the following vector: [0.2, -0.25, -0.2, 0.25]. The chassis of the new walker is twice the size and much more durable than the 450 walker. Every structural component is made from CNC machined 6061-T6 aluminum for dimensional accuracy, weight savings, and durability. The inner Foam for impact protection Electronics housed in upper chassis Ball bearings reduce joint friction High speed, high torque servo T-slot linear sliders Batteries housed in shrink wrap Figure 4: Final Passive Dynamic Walker legs are constrained by two T-slot guide rails. These rails are a significant improvement over the dowel pin sliders from the ME450 walker because they can t pull out, they do not bind, and they have much less compliance than the dowel sliders. Ball bearings are used to reduce friction in the hip joint and Helicoil threaded inserts are used in set screw holes to reduce the risk of stripping threads. Foam tape has also been added to the top of the robot to protect it when it falls. The wiring has been significantly improved with all the electrical components tightly packaged in the upper chassis of the robot. The wires have been properly sized and routed around the robot to avoid any of them pulling out or catching on objects. The batteries and additional tuning weights are shrink wrapped to the outer legs of the robot to ensure the tuned mass distribution of the walker does not change even with heavy use. B. Electronics and Controls The controller is an Arduino Micro due to its small size, low cost, and ease of programming. The legs of the robot are actuated by a Futaba S9551 servo powered by two lightweight lithium ion batteries and a small voltage regulator. A small servo was chosen over a motor because it allows for tight packaging and it is easy to accurately control the position with an Arduino. The S9551 model was chosen in particular because it can rotate 60 in 0.11 seconds and can output a maximum torque of 8.8 kg-

cm. The leg actuation needs to be as quick as possible because these walkers can misstep if they are not started perfectly. If the legs actuate quickly enough, the walker can recover and continue walking. The servo has a 10x safety factor on torque to ensure the legs do not retract under the impact force of a step which could throw off the kinematics of the walker. The leg actuation control system is based on the phase angle (φ) of the leg position (θ) and velocity (ω), as shown in Figure 5, below. II I position. This threshold is based on the magnitude of the motor velocity and phase angle. Because the center of mass is positioned along the centerline of the legs, it is possible for the robot to walk both forwards and backwards down a slope. When the robot is turned on, it will wait until the inner legs are pulled back to the usual starting position. It will assume this position coincides with the quadrant III phase angle and the robot will walk successfully in that direction when released. To change walking directions, the user must restart the Arduino and repeat the procedure with the robot facing the other direction. IV. Testing III IV Figure 5: Diagram of the Walker's Control System To start the robot, the user pulls the inner legs backwards. In this position, the phase angle is in quadrant III, and the legs are in their retract state. When the user lets go of the legs, the inner legs swing forwards and the phase angle enters quadrant IV. Once the inner legs reach their apex, they begin to swing backwards and the phase angle enters quadrant I causing the legs to extend. As the outer legs swing past the inner legs, the phase angle enters quadrant II where the inner legs retract. Once the inner legs begin to swing towards the front of the walker, the phase angle is in quadrant III and the cycle repeats periodically. This control method was chosen because only two leg states are required for the robot to walk: fully extended and fully retracted. The inclusion of a neutral state allows the legs to move into a position which halves the distance between either the extend or retract states when the inner legs are swinging through a region where tripping will not occur. This control method emulates the stepping stones which the simple passive walker must use to walk. To reduce erratic servo motion, a threshold must be exceeded for the servo to exit its neutral The gait of the new walker is much better than the ME450 walker. Once the new walker finds its gait, it will smoothly walk to the end of the 4ft testing ramp. Successfully starting the walker does have a learning curve, however. To quantify the performance of the walker, I found a volunteer who had never used a passive walker before. I quickly demonstrated the walker and then let them play with it for 5 minutes before starting the test. The volunteer tested the walker at ramp angles ranging from 0.5 to 6.0 with 10 attempts at each increment. False starts where the walker failed to take its first step were not included in the data. This data was excluded because failing to take 1 step is attributed to user error rather than instability of the walker. As discovered during the design phase of the walker, as long as the initial conditions of the walker are close to the periodic conditions, the walker should be able to find a periodic gait. While the gaits for the walker are stable, they are not able to recover if a large force disrupts the gait or if the initial conditions are not even close to the periodic conditions. If a mechanism were created which could consistently release the walker at prescribed initial conditions, then the walker should walk down the ramp every time. Two measurements were used to gauge the success of the walker (Fig. 6). The first is the number of steps which the walker was able to take. This measurement shows the periodicity and stability of the robot, specifically at ramp angles less than 3. At angles of 3 and greater, the number of

12 10 8 6 4 2 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 Ramp Angle steps becomes a poor way to measure the success of the robot. This is because the number of steps required to reach the end of the test ramp reduces to only 6 or 7 steps. Therefore, I also decided to also measure the walker s success by the number of times it was able to successfully walk down the entire length of the ramp. For the casual observer watching a demonstration of this robot, success will likely be seen as whether or not the robot can walk to the end of the test ramp without falling. An objectively better way to measure success would be the number of steps taken on an inclined treadmill so that the length of the ramp did not matter, however I did not have access to a treadmill during my testing. The ramp angles near 1 tended to have the best success rate as this was the slope the robot was optimized around. The walker was able to find a periodic gait all the way up to a 6 ramp angle. Although the ME450 walker was able to walk down the same range of slope angles with a similar success rate, the gait it exhibited was never periodic. Because of this, I conclude that the new walker is an objectively better passive walker than the ME450 walker. V. Conclusion Average Number of Steps Reached End of Ramp Figure 6: Test Results of the Passive Dynamic Walker With a better understanding of the theory behind passive dynamic walkers and better simulation tools, I was able to build a much more successful passive dynamic walker. The fundamental problem with these walkers lies in the importance of the initial conditions to make it walk. When the robot is started by a human, it is impossible to ensure the correct initial conditions are met. It takes practice to learn how to use the walker correctly, but I have found it only takes a novice about 5 minutes to learn how to start the walker with reasonable success. The only way to ensure proper initial conditions on every start attempt would be to design a launching mechanism for the robot which allows the user to specify the initial conditions. I feel this would be the best way to improve upon the performance of the walker. From my experience, I do not believe truly passive walkers will find widespread use in reducing legged robot energy consumption because their gaits are too easily disrupted. However, controlled robots designed around these theories could save considerable amounts of energy. REFERENCES [1] Csonka, P., & Waldron, K. (2011). A Brief..History of Legged Robotics. Technology..Developments: The Role of Mechanism and..machine Science and IFToMM, 59-59. [2] NCCR Robotics. (2015, February 26)...Retrieved April 25, 2015, from.. http://www.nccr-.. robotics.ch/rescueleggedrobots [3] Csonka, P., & Waldron, K. (2011). A Brief..History of Legged Robotics. Technology..Developments: The Role of Mechanism and..machine Science and IFToMM, 63-63. [4] Mcgeer, T. (1990). Passive Dynamic Walking...The International Journal of Robotics Research,..62-82. [5] C. David Remy (2011). A Matlab..Framework for Efficient Gait Creation..[Accompanying Matlab Code]. [6] Hutter, M. (2011). Dynamic Walking and..running with Robots: Robotic Summer..School 2011. Modeling of a Passive..Dynamic..Walker. [7] C. Remy, Buffinton, K., & Siegwart, R...(2011). A MATLAB Framework for Efficient..Gait Creation.