9/26/201615-494 Cognitive Robotics1 Navigating with the Pilot 15-494 Cognitive Robotics David S. Touretzky & Ethan Tira-Thompson Carnegie Mellon Spring.

Slides:



Advertisements
Similar presentations
Halliday/Resnick/Walker Fundamentals of Physics 8th edition
Advertisements

Engineering Mechanics II:
Kinematics of Particles
Correct answer: 1.43 sec for A, 1.65 sec for B
Cutnell/Johnson Physics 8th edition Reading Quiz Questions
CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail , Fall 2003 Carnegie Mellon.
Physics 106: Mechanics Lecture 01
CS274 Spring 01 Lecture 5 Copyright © Mark Meyer Lecture V Higher Level Motion Control CS274: Computer Animation and Simulation.
Fast Walking and Modeling Kicks Purpose: Team Robotics Spring 2005 By: Forest Marie.
1 CMPUT 412 Motion Control – Wheeled robots Csaba Szepesvári University of Alberta TexPoint fonts used in EMF. Read the TexPoint manual before you delete.
Chapters 7 & 8 Rotational Motion and The Law of Gravity.
Advanced Programming for 3D Applications CE Bob Hobbs Staffordshire university Human Motion Lecture 3.
KINEMATICS OF PARTICLES Kinematics of Particles This lecture introduces Newtonian (or classical) Mechanics. It concentrates on a body that can be considered.
Vectors and Direction In drawing a vector as an arrow you must choose a scale. If you walk five meters east, your displacement can be represented by a.
Whitman and Atkeson.  Present a decoupled controller for a simulated three-dimensional biped.  Dynamics broke down into multiple subsystems that are.
Motion in 1D. Forces  Remember that an imbalance in forces results in an acceleration  If all forces are balanced we get a constant velocity  Because.
Ch. 2: Describing Motion: Kinematics in One Dimension.
Physics 2048 Spring 2008 Lecture #4 Chapter 4 motion in 2D and 3D.
Kinematics of Particles Lecture II. Subjects Covered in Kinematics of Particles Rectilinear motion Curvilinear motion Rectangular coords n-t coords Polar.
Kinematics of Particles Lecture II. Subjects Covered in Kinematics of Particles Rectilinear motion Curvilinear motion Rectangular coords n-t coords Polar.
Stryker Interaction Design Workshop September 7-8, January 2006 Functional biomimesis * Compliant Sagittal Rotary Joint Active Thrusting Force *[Cham.
Robot Intelligence Technology Lab. 10. Complex Hardware Morphologies: Walking Machines Presented by In-Won Park
PHY 151: Lecture Motion of an Object attached to a Spring 12.2 Particle in Simple Harmonic Motion 12.3 Energy of the Simple Harmonic Oscillator.
Date of download: 7/8/2016 Copyright © ASME. All rights reserved. From: Stabilization of a Dynamic Walking Gait Simulation J. Comput. Nonlinear Dynam.
9/28/ Cognitive Robotics1 Navigating with the Pilot Cognitive Robotics David S. Touretzky & Ethan Tira-Thompson Carnegie Mellon Spring.
9/30/20161 Path Planning Cognitive Robotics David S. Touretzky & Ethan Tira-Thompson Carnegie Mellon Spring 2012.
11/21/ Cognitive Robotics1 Navigating with the Pilot Cognitive Robotics David S. Touretzky & Ethan Tira-Thompson Carnegie Mellon Spring.
Navigating with the Pilot
Some Physics Quantities
Vision-Guided Humanoid Footstep Planning for Dynamic Environments
Chapter 2 Describing Motion.
PHY 101: Lecture Displacement 2.2 Speed and Velocity
Chapter 10 - Rotational Kinematics
The Map Builder Cognitive Robotics David S. Touretzky &
SECTION 4 WASHING MACHINE.
Realization of Dynamic Walking of Biped Humanoid Robot
Introduction & Rectilinear Kinematics:
Paper – Stephen Se, David Lowe, Jim Little
Kinematics Introduction to Motion
SECTION 8 OVER-RUNNING PULLEY.
Chapter Four: Motion 4.1 Position, Speed and Velocity
Oscillators An oscillator is anything whose motion repeats itself, but we are mainly interested in a particular type called a ‘Simple Harmonic Oscillator’.
UNITS 12 AND 13.
The Map Builder Cognitive Robotics David S. Touretzky &
Describing Motion: Kinematics in One Dimension
What is Kinematics? Projectile Motion
Kinematics Uniform Circular Motion
Lesson 2.1 Displacement and Velocity
CIS 488/588 Bruce R. Maxim UM-Dearborn
Angular Kinematics of Human Movement
Free Fall.
Alternatives for Locomotion Control
Chapter 4 motion in 2D and 3D
Motion Along a Straight Line
MEE 214 (Dynamics) Tuesday
Kinematics of Particles
Motion in 1D, Vectors and Velocity
Describing Motion: Kinematics in One Dimension
Devil Physics Baddest Class on Campus AP Physics
Kinematics of Particles
Motion and Force. Motion and Force Chapter Twelve: Distance, Time, and Speed 12.1 Distance, Direction, and Position 12.2 Speed 12.3 Graphs of Motion.
Using Parametric Curves to Describe Motions
Physics 2048 Fall 2007 Lecture #4 Chapter 4 motion in 2D and 3D.
Chapter 4 motion in 2D and 3D
Chapter 4 motion in 2D and 3D
Physics 2048 Spring 2008 Lecture #4 Chapter 4 motion in 2D and 3D.
-Koichi Nishiwaki, Joel Chestnutt and Satoshi Kagami
Chapter 4 . Trajectory planning and Inverse kinematics
College Physics, 7th Edition
Fundamentals of Physics School of Physical Science and Technology
Presentation transcript:

9/26/ Cognitive Robotics1 Navigating with the Pilot Cognitive Robotics David S. Touretzky & Ethan Tira-Thompson Carnegie Mellon Spring 2011

9/26/ Cognitive Robotics2 How Does the Robot Walk? ● Multiple walk engines incorporated into Tekkotsu: – CMPack '02 AIBO walk engine from Veloso et al. (CMU), with modifications by Ethan Tira-Thompson – UPennalizers AIBO walk engine from Lee et al. (U. Penn) – XWalk engine by Ethan Tira-Thompson for the Chiara ● Basic idea is the same: – Cyclic pattern of leg motions – Parameters control leg trajectory, body angle, etc. – Many different gaits are possible by varying phases of the legs – “Open loop” control: no force feedback – Can't adapt to rough terrain – Can move quickly, but not very accurately

9/26/ Cognitive Robotics3

9/26/ Cognitive Robotics4 Modified CMPack Walk Engine 46 Leg Parameters: ● Neutral kinematic position (3x4) ● Lift velocity (3x4) ● Lift time (1x4) ● Down velocity (3x4) ● Down time (1x4) ● Sag distance (1) ● Differential drive (1) 5 Body Parameters: ● Height of body (1) ● Angle of body (1) ● Hop amplitude (1) ● Sway amplitude (1) ● Walk period (1) Modified fom Sonia Chernova's lecture notes

9/26/ Cognitive Robotics5 Neutral Kinematic Position ● Position (x,y,z) of the leg on the ground at some fixed point during the walk cycle. ● Where the legs would hit the ground if the robot were pacing in place (traveling with zero velocity). Path of the leg during one walk cycle From Sonia Chernova's lecture notes liftdown drive

9/26/ Cognitive Robotics6 Leg Lift and Leg Plant ● Lift velocity vector (mm/sec) determines how leg is lifted off the ground ● Down velocity vector (mm/sec) determines how leg is placed back on the ground. ● Lift time and down time (1 value each per leg) control the order of leg motions. – Expressed as a percentage of time through the walk cycle that the leg is raised and lowered. – Governs which legs move together and which move at opposite times: pace vs. trot vs. gallop. From Sonia Chernova's lecture notes

9/26/ Cognitive Robotics7 Body Angle/Height; Hop & Sway ● Body angle (radians) relative to the ground, measured at the origin of the motion coordinate frame. – Controls whether the robot is pitched up or down. ● Body height (mm) relative to the ground, measured at the origin of the motion coordinate frame. ● Hop and sway amplitudes (mm) constrain the body's vertical and horizontal oscillations during walking. (Usually set to 0.) From Sonia Chernova's lecture notes

9/26/ Cognitive Robotics8 Walk Period ● The walk period (msec) specifies the time of one walk cycle. ● Note that this is independent of speed. ● To walk faster, the AIBO takes larger steps; it does not change the period of the walk cycle the way a person would do. ● Chiara walks are statically stable, and period does vary with speed. From Sonia Chernova's lecture notes

9/26/ Cognitive Robotics9 New CMPack Parameter: Front & Back Leg Height Limits ● Height of the air path of the front and back legs. ● Upper bound: may not be reached, depending on other leg motion parameters. Air path height Air path height From Sonia Chernova's lecture notes

9/26/ Cognitive Robotics10 Walk Parameter Optimization ● Many RoboCup groups use machine learning techniques to optimize walk parameters. ● CMPack uses a genetic algorithm. ● Candidates are evaluated by having the robot walk and measuring the results. ● CMPack got 20% speedup over previous hand-tuned gaits.

9/26/ Cognitive Robotics11 Tekkotsu Walk Editor ● Root Control > File Access > XWalk Edit ● Values are stored in a walk parameter file – Default parameter file is walk.plist

9/26/ Cognitive Robotics12 Chiara Gaits ● One leg at a time (default). walk.plist – Requires the least power. – Slow: 6 beats/cycle. ● Two legs at a time. walk2.plist – Intermediate speed and power. – 3 beats/cycle. ● Three legs at a time: tripod gait. walk3.plist – Fastest gait that is still statically stable. – Requires lots of power. – 2 beats/cycle.

9/26/ Cognitive Robotics13 A Five-Legged Gait ● Sherene Campbell of Florida A&M University got the Chiara to walk on five legs so it could use its right front leg as a pincer. (See video on YouTube.)

9/26/ Cognitive Robotics14 XWalkMC ● XWalkMC is a motion command that uses the Chiara walk engine to calculate leg trajectories. ● Walking is controlled by three parameters: – x velocity (forward motion) – y velocity (lateral motion: strafing) – angular velocity (rotation)

9/26/ Cognitive Robotics15 WalkNode ● Subclass of StateNode ● Activates a WalkMC on start() ● Deactivates it on stop() ● Provides functions to set (x,y,a) velocities ● WalkNode($, xdisp, ydisp, adisp, time, WalkNode::DISP) – Displacements in mm and radians; time in sec. – Use a time of 0 to request maximum velocity. ● WalkNode($, xvel, yvel, avel, time, WalkNode::VEL) – Velocities xvel, yvel in mm/sec; avel in rad/sec; time in sec

9/26/ Cognitive Robotics16 Waypoint Engine ● Takes the robot through a path defined by a series of waypoints. ● Each waypoint specifies a position (x,y) and orientation. ● Three waypoint types: Egocentric “Three steps forward” Offset “Three steps north” Absolute “To (30,12)”

9/26/ Cognitive Robotics17 Controlling Body Orientation angleIsRelative == true The angle is relative to the path, so an angle of 0 means the robot's body will follow the direction of travel. angleIsRelative == false The angle is relative to the world coordinate system, so the body will hold a constant heading while walking.

9/26/ Cognitive Robotics18 Arcing Trajectories ● Paths can be either straight lines or arcs. ● Arc parameter (in radians, not degrees) corresponds to the angle of the circle which is swept. ● Don't use values > 180 o.

9/26/ Cognitive Robotics19 Track Path (Error Correction) ● setCurPos() function can be used to correct position if you have a localization module. ● When trackPath flag is true, the robot will attempt to return to its planned path after a perturbation. ● When false, it just goes straight to the destination.

9/26/ Cognitive Robotics20 Waypoint Walk Editor ● Root Control > File Access > WaypointWalk Control ● Allows interactive creation, execution of waypoint file.

9/26/ Cognitive Robotics21 Sample Waypoint File #WyP #add_{point|arc} {ego|off|abs} x_val y_val {hold|follow} angle_val # speed_val arc_val max_turn_speed 0.65 track_path 0 add_point EGO FOLLOW add_point EGO FOLLOW #END Waypoint type x,y or dx,dy (meters) angleIsRelative mode orientation speed (m/sec.) arc value (radians)

9/26/ Cognitive Robotics22 WaypointWalk ● WaypointWalk is a motion command. ● Can load waypoints from a waypoint file, or construct them dynamically with function calls. ● Uses a XWalkMC to do the actual walking. ● XWalkMC will post status events indicating the progress of the walk.

9/26/ Cognitive Robotics23 Manipulation by Walking ● Course project by Ethan Tira-Thompson ● Inspired by Matt Mason's “mobipulator” project.

9/26/ Cognitive Robotics24 The Pilot ● Higher level approach to locomotion. ● Specify effect to achieve, rather than mechanism: – Walk a certain distance. – Go to an object. ● Specify policies to use: – Cliff detection (IR sensor) – Obstacle avoidance (turn off to knock down soda cans) – Localization procedure ● Experimental code; changing rapidly.

9/26/ Cognitive Robotics25 Pilot Request Types ● walk – essentially a WalkMC request ● waypointWalk – provides Waypoint walk functionality ● setVelocity – set speed and go forever ● localize – look for landmarks and invoke the particle filter ● goToShape – path plan and travel to the location of a shape on the world map ● More functions are planned...

9/26/ Cognitive Robotics26 Trivial Pilot Example $nodeclass MyPilotDemo : VisualRoutinesStateNode { $nodeclass Goer : PilotNode($, PilotTypes::walk) : doStart { pilotreq.dx = 500; // forward half a meter } $setupmachine{ Goer =PILOT=> SpeechNode($,”I have arrived”) } } REGISTER_BEHAVIOR(MyPilotDemo);

9/26/ Cognitive Robotics27 Collision Detection $nodeclass PilotLab3 : VisualRoutinesStateNode { $nodeclass Forward500 : PilotNode($, PilotTypes::walk) : doStart { pilotreq.dx = 500; pilotreq.forwardSpeed = 100; // speed 100 millimeters/second } $nodeclass Backup : PilotNode($, PilotTypes::walk) : doStart { pilotreq.dx = -100; // negative displacement means back up pilotreq.forwardSpeed = 30; // speeds are always non-negative } $setupmachine { forward: Forward500 forward =PILOT=> SpeechNode($,"done") forward =PILOT(collisionDetected)=> SpeechNode($,"Ouch! I hit something.") =C=> Backup } }

9/26/ Cognitive Robotics28 Path Planning $nodeclass DoIt : PilotNode($, PilotTypes::goToShape) : doStart { NEW_SHAPE(avoidMe, EllipseData, new EllipseData(worldShS, Point(250, 500, 0, allocentric), 80, 50, 0.5)); avoidMe->setColor(rgb(255,0,0)); NEW_SHAPE(destination, PointData, new PointData(worldShS, Point(700, 700, 0, allocentric))); destination->setObstacle(false); pilotreq.targetShape = destination; }