CMU 15494 Cognitive Robotics - Navigating with the Pilot

Unformatted text preview:

02/20/08 15-494 Cognitive Robotics 1Navigating with the Pilot15-494 Cognitive RoboticsDavid S. Touretzky &Ethan Tira-ThompsonCarnegie MellonSpring 200802/20/08 15-494 Cognitive Robotics 2How Does AIBO Walk?●Two walk engines incorporated into Tekkotsu:–CMPack '02 walk engine from Veloso et al. (CMU), with modifications by Ethan Tira-Thompson–UPennalizers walk engine from Lee et al. (U. Penn)●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 accurately02/20/08 15-494 Cognitive Robotics 302/20/08 15-494 Cognitive Robotics 4Modified CMPack Walk Engine46 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 notes02/20/08 15-494 Cognitive Robotics 5Neutral 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 dog were pacing in place (traveling with zero velocity).Path of the leg duringone walk cycleFrom Sonia Chernova's lecture noteslift downdrive02/20/08 15-494 Cognitive Robotics 6Leg Lift and Leg Plant●Left 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 notes02/20/08 15-494 Cognitive Robotics 7Body 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 notes02/20/08 15-494 Cognitive Robotics 8Walk Period●The walk period (msec) specifies the time of one walk cycle.●Note that this is independent of speed.●To walk faster, the dog takes larger steps; it does not change the period of the walk cycle the way a person would do.From Sonia Chernova's lecture notes02/20/08 15-494 Cognitive Robotics 9New 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 heightFrom Sonia Chernova's lecture notes02/20/08 15-494 Cognitive Robotics 10Walk 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.02/20/08 15-494 Cognitive Robotics 11Tekkotsu Walk Editor●Root Control > File Access > Walk Edit●Values are stored in a walk parameter file–Default parameter file is walk.prm02/20/08 15-494 Cognitive Robotics 12WalkMC●WalkMC is a motion command that uses the CMPack walk engine to calculate leg trajectories.●Walking is controlled by four parameters:–x velocity (forward motion)–y velocity (lateral motion: strafing)–angular velocity (rotation)–number of steps (-1 = walk forever)02/20/08 15-494 Cognitive Robotics 13WalkNode●Subclass of StateNode●Activates a WalkMC on DoStart()●Deactivates it on DoStop()●Posts a status event when walk completes–Completion only occurs if a fixed number of steps is specified●Provides functions to set (x,y,a) velocities, # steps, etc.02/20/08 15-494 Cognitive Robotics 14Walk Calibration●The surface the dog is walking on will affect its motion.●Robot peculiarities (e.g., one leg stronger than another) will also affect motion.●Tekkotsu provides a walk calibration tool to compensate for these effects.●Collect sample trajectories:–forward/strafe–forward/rotate–strafe/rotate–backward/rotate, backward/strafe–rotate●Create walk calibration matrix; store in .prm file.02/20/08 15-494 Cognitive Robotics 15Waypoint Engine●Takes the dog 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)”02/20/08 15-494 Cognitive Robotics 16Controlling Body OrientationangleIsRelative == trueThe angle is relative to the path, so an angle of 0 means the robot's body will follow the direction of travel.angleIsRelative == falseThe angle is relative to the world coordinate system, so the body will hold a constant heading while walking.02/20/08 15-494 Cognitive Robotics 17Arcing 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 > 180o.02/20/08 15-494 Cognitive Robotics 18Track 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.02/20/08 15-494 Cognitive Robotics 19Waypoint Walk Editor●Root Control > File Access > WaypointWalk Control●Allows interactive creation, execution of waypoint file.02/20/08 15-494 Cognitive Robotics 20Sample Waypoint File#WyP#add_{point|arc} {ego|off|abs} x_val y_val {hold|follow} angle_val# speed_val arc_valmax_turn_speed 0.65track_path 0add_point EGO 0.3 0 FOLLOW 0 0.1 0add_point EGO 0.5 0 FOLLOW 0 0.1 1#ENDWaypoint typex,y ordx,dy(meters)angleIsRelativemodeorientationspeed (m/sec.)arc value (radians)02/20/08 15-494 Cognitive Robotics 21WaypointWalk●WaypointWalk is a motion command.●Can load waypoints from a waypoint file, or construct them dynamically with function


View Full Document

CMU 15494 Cognitive Robotics - Navigating with the Pilot

Download Navigating with the Pilot
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Navigating with the Pilot and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Navigating with the Pilot 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?