CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott...
-
date post
20-Dec-2015 -
Category
Documents
-
view
213 -
download
0
Transcript of CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott...
![Page 1: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/1.jpg)
CMRoboBits: Actuators, MotionCMRoboBits: Actuators, Motion
Manuela Veloso
Nick Aiwazian
Sonia Chernova
Thanks to Jim Bruce,
Scott Lenser, and Doug Vail
15-491, Fall 2003
Carnegie Mellon
![Page 2: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/2.jpg)
Intelligent Complete RobotIntelligent Complete Robot
Action
Actuators
Perception
External World External World
Sensors
Cognition
![Page 3: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/3.jpg)
Sony AIBO RobotSony AIBO Robot
![Page 4: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/4.jpg)
AIBO ActuatorsAIBO Actuators
18 degrees of freedom with a continuously controllable range of motion– 3 DOF in each leg (12 total)– 3 DOF in the head– 2 DOF in the tail– 1 DOF in the jaw
Each joint is controlled by specifying to a desired joint angle to OVirtualRobotComm.
2 binary motors for the ears A speaker for general sound production
![Page 5: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/5.jpg)
CMPack Walk EngineCMPack Walk Engine
Lowest level: desired angles for jointsInterface: CMPack WalkEngine
– One level of abstraction– More natural settings to specify desired positions– Includes all the kinematics computation
Supports both walking and kicking
![Page 6: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/6.jpg)
Forward Kinematics, Inverse Forward Kinematics, Inverse Kinematics, & PID Control in a NutshellKinematics, & PID Control in a Nutshell
Nick AiwazianSeptember 15, 2003
![Page 7: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/7.jpg)
Forward KinematicsForward Kinematics
Determines position in space based on joint configuration
Denavit-Hartenberg Convention
Conceptually simple (follow convention)
![Page 8: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/8.jpg)
A simple exampleA simple exampleWhat is the position & orientation of the tool (end effector) relative to the origin? Solvefora, b, intermsofl1, l2, 1, and2.
![Page 9: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/9.jpg)
SolutionSolution
a l1cos 1 l2cos1 2b l1sin 1 l2sin1 2 1 2
Can be solved trigonometrically!
![Page 10: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/10.jpg)
Inverse KinematicsInverse Kinematics
Going backwardsFind joint configuration given position &
orientation of tool (end effector)More complex (path planning & dynamics)Usually solved either algebraically or
geometricallyPossibility of no solution, one solution, or
multiple solutions
![Page 11: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/11.jpg)
Another exampleAnother example
What is the configuration of each joint if the end effector is located at (l1, l2, -)? (Solve for (θ1, θ2) when the tool is at {l1, l2, -})
Let’s assume l1 = l2
![Page 12: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/12.jpg)
SolutionSolution
Or
(Two Solutions)
1 0, 2 90
1 90, 2 90
![Page 13: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/13.jpg)
PID ControlPID Control
The Basic Problem:– We have n joints, each with a desired position which we
have specified– Each joint has an actuator which is given a command in
units of torque– Most common method for determining required torques is
by feedback from joint sensors
![Page 14: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/14.jpg)
The Control LoopThe Control Loop
![Page 15: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/15.jpg)
What is PID Control?What is PID Control?
Proportional, Integral, & Derivative Control– Proportional: Multiply current error by constant to try to
resolve error
– Integral: Multiply sum of errors by constant to resolve steady state error (error after system has come to rest)
– Derivative: Multiply time derivative of error change by constant to resolve error as quickly as possible
![Page 16: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/16.jpg)
SummarySummary
These concepts make up the low level functionality of the AIBO
Implemented once and used repeatedlyFor more information about PID Control
and Forward & Inverse Kinematics take Matt Mason’s Robotic Manipulation course
![Page 17: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/17.jpg)
Robot MotionRobot Motion
A 51-parameter structure is used to specify the gait of the robot.
Global Parameters:Height of Body (1)Angle of Body (1)Hop Amplitude (1)
Sway Amplitude (1)Walk Period (1)
Height of Legs (2)
Leg Parameters:Neutral Kinematic Position (3x4)
Lifting Velocity (3x4)Lift Time (1x4)
Set Down Velocity (3x4)Set Down Time (1x4)
![Page 18: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/18.jpg)
KickingKicking
A series of set positions for the robotLinear interpolation between the frames
– Kinematics and interpolation provided by CMWalkEngine
Set robot in desired positions and query the values of the joints
![Page 19: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/19.jpg)
![Page 20: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/20.jpg)
Very Effective KicksVery Effective Kicks
![Page 21: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/21.jpg)
High Sensitivity to ParametersHigh Sensitivity to ParametersGood Settings for Effective KickGood Settings for Effective Kick
![Page 22: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/22.jpg)
High Sensitivity to ParametersHigh Sensitivity to ParametersExact Same Settings - LabExact Same Settings - Lab
![Page 23: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/23.jpg)
High Sensitivity to ParametersHigh Sensitivity to ParametersGood Settings for the LabGood Settings for the Lab
![Page 24: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/24.jpg)
Approaches for Parameter SettingApproaches for Parameter Setting
Trial and error– Tedious, but controlled, and provides knowledge
of parametersSearch
– Large parameter space, local vs. global optimaAdaptation
– Controlled change by feedback
![Page 25: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/25.jpg)
Motor ControlMotor Control
Each message to OVirtualRobotComm contains a set of target angles for the joints– Each target is used for a PID controller (part of the
AIBO robot) that controls each motor– Each target angle is used for one 8ms motor frame
Each message contains at least 4 motor frames (32ms)
![Page 26: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/26.jpg)
Use of Kicks in BehaviorsUse of Kicks in Behaviors
Modeling effects of kicking motions– Ball vision analysis– Ball trajectory angle analysis– Kick strength analysis
Kick selection for behaviors– Selection algorithm– Performance comparison
(Sonia Chernova’s senior thesis)
![Page 27: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/27.jpg)
Accuracy of Object Detection Varies Accuracy of Object Detection Varies -- Robot Standing ---- Robot Standing --
500 1000 1500 2000 2500 3000 3500-1600
-1400
-1200
-1000
-800
-600
-400
-200
0
200
400Standing
Distance (mm)
![Page 28: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/28.jpg)
Distance (mm)
Accuracy of Object Detection Varies Accuracy of Object Detection Varies -- Robot Pacing ---- Robot Pacing --
![Page 29: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/29.jpg)
-1000 0 1000 2000 3000 4000 5000-3000
-2000
-1000
0
1000
2000
3000Spinning
Distance (mm)
Accuracy of Object Detection Varies Accuracy of Object Detection Varies – Robot Spinning --– Robot Spinning --
![Page 30: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/30.jpg)
Ball Trajectory AngleBall Trajectory Angle
Estimate the angle of the ball’s trajectory relative to the robot
Track ball’s trajectory after the kickRetain information about ball position in each vision frameCalculate angle of trajectory using linear regression
![Page 31: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/31.jpg)
Angle AnalysisAngle Analysis
-100 -80 -60 -40 -20 0 20 40 60 80 1000
5
10
15
20
25
Forward KickRight Head Kick Left Head Kick
![Page 32: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/32.jpg)
Kick StrengthKick Strength
Estimate the distance the ball will travel after a kick.
Impossible to track entire path of the ballCalculate only the final location of the ball relative to the kick positionEstimate failure rate of the kick using distance threshold
![Page 33: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/33.jpg)
Forward Kick Distance Forward Kick Distance AnalysisAnalysis
0 1000 2000 3000 4000 5000
-2500
-2000
-1500
-1000
-500
0
500
1000
1500
2000Forward Kick
![Page 34: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/34.jpg)
Head Kick Distance AnalysisHead Kick Distance Analysis
-4000 -3500 -3000 -2500 -2000 -1500 -1000 -500 0 500 1000-3000
-2000
-1000
0
1000
2000
3000Normal Head Kick
-4000 -3500 -3000 -2500 -2000 -1500 -1000 -500 0 500 1000-3000
-2000
-1000
0
1000
2000
3000Hard Head Kick
![Page 35: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/35.jpg)
Kick SelectionKick Selection
Incorporate the kick models into the selection algorithm– The robot knows its position on the field relative to the
goal and the desired ball trajectory– The robot selects appropriate kick by referencing the
kick model– If no kick fits desired criteria, robot selects closest
matching kick and turns/dribbles ball to appropriate position
![Page 36: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/36.jpg)
Kick Selection PerformanceKick Selection Performance
Experiment Results
Point
CMPack’02
(sec)
Modeling & Prediction
(sec)
P1 56.7 39.8
P2 42.5 27.2
P3 76.5 60.0
P4 55.0 52.0
Total 57.8 44.8
![Page 37: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/37.jpg)
Kick Selection in ActionKick Selection in Action
![Page 38: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/38.jpg)
SummarySummary
Effectively moving a four-legged robot is challenging
Effectiveness of motion is highly sensitive to motion parameters
CMWalk provides the kinematics computations, so parameter setting can be at a high level of abstraction.
Ideally, we would like to set parameters automatically.
![Page 39: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/39.jpg)
The Motion InterfaceThe Motion InterfaceSonia Chernova
![Page 40: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/40.jpg)
The Motion InterfaceThe Motion Interface
Walk Engine
Walk Parameters
Frame Interpolator
Motion Frames
Dynamic Walking Motion Static Frame-Based Motion
![Page 41: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/41.jpg)
Coordinate FramesCoordinate Frames
0
2 3
1y
x
y
x
Motion Coordinate Frame
Vision Coordinate Frame
a
a
![Page 42: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/42.jpg)
The Walk EngineThe Walk Engine
All of the inverse kinematics have been done for you!
All you have to deal with are the “motion parameters”
Your Goal: Create fluid, stable motion
![Page 43: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/43.jpg)
Motion ParametersMotion Parameters
Neutral Kinematic Position (3x4)
Lift Velocity (3x4)Lift Time (1x4)Down Velocity (3x4)Down Time (1x4)Front Leg Height Limit (1)Back Leg Height Limit (1)
Height of Body (1)Angle of Body (1)Hop Amplitude (1)Sway Amplitude (1)Walk Period (1)
Leg Parameters (46) Body Parameters (5)
![Page 44: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/44.jpg)
Motion ParametersMotion Parameters
Neutral Kinematic Position (3D vector relative to the motion coordinate frame) - Position of the leg on the ground at some point during the walk cycle
Think of it as the position the legs would be in if the dog was pacing in place using your walk parameters Path of the leg during 1
cycle
![Page 45: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/45.jpg)
Motion ParametersMotion Parameters
Lift Velocity (3D vector) – Velocity (mm/sec) with which the leg is lifted off the ground
Down Velocity (3D vector) – Velocity (mm/sec) with which the leg is placed on the ground
Lift Time and Down Time – This controls the order of the legs by specifying a percentage of the time through the time cycle that each leg is moved
![Page 46: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/46.jpg)
Motion ParametersMotion Parameters
Front and Back Leg Height Limit (mm) – Upper bound on the height of the airpath of the front and back legs.
Air path of leg with height limit
![Page 47: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/47.jpg)
Motion ParametersMotion ParametersBody Angle (radians) – Angle of the body relative
to the ground measured at the origin of the motion coordinate frame
Body Height (mm) – Height of the body relative to the ground measured at the origin of the motion coordinate frame
Walk Period (ms) – Time of one walk cycle
Hop and Sway Amplitudes (mm) – Amplitude of vertical and horizontal oscillations (Value usually set to 0)
![Page 48: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/48.jpg)
Creating a Parameter Set (1)Creating a Parameter Set (1) Motion::WalkParam wp; wp.leg[0].neutral.set( 125, 82,0); wp.leg[1].neutral.set( 125,-82,0); wp.leg[2].neutral.set( -100, 75,0); wp.leg[3].neutral.set( -100,-75,0); wp.period = 640; wp.leg[0].lift_vel.set(0,0, 100); wp.leg[1].lift_vel.set(0,0, 100); wp.leg[2].lift_vel.set(0,0, 150); wp.leg[3].lift_vel.set(0,0, 150);
wp.leg[0].down_vel.set(0,0,-100); wp.leg[1].down_vel.set(0,0,-100); wp.leg[2].down_vel.set(0,0,-100); wp.leg[3].down_vel.set(0,0,-100);
Neutral Leg Position
Lift Velocity
Down Velocity
Motion CyclePeriod (ms)
Parameter Struct
Values are in millimeters, milliseconds or radians!
![Page 49: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/49.jpg)
Creating a Parameter Set (2)Creating a Parameter Set (2)
wp.leg[0].lift_time=0.0000; wp.leg[0].down_time=0.5000; wp.leg[1].lift_time=0.5000; wp.leg[1].down_time=1.0000; wp.leg[2].lift_time=0.5000; wp.leg[2].down_time=1.0000; wp.leg[3].lift_time=0.0000; wp.leg[3].down_time=0.5000; wp.body_angle = RAD(16.0); wp.body_height = 98; wp.hop = 0; wp.sway = 0; wp.front_height = 9.0; wp.back_height = 9.0; out = fopen("walk_xy.prm","wb"); if(out){ fwrite(&wp,sizeof(wp),1,out); fclose(out); }
Leg Order
Save to .prm File
Limit how high the legs are lifted
![Page 50: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/50.jpg)
Primary Motion ParametersPrimary Motion Parameters
Neutral Kinematic Position (3x4)
Lift Velocity (3x4)Lift Time (1x4)Down Velocity (3x4)Down Time (1x4)Front Leg Height Limit (1)Back Leg Height Limit (1)
Height of Body (1)Angle of Body (1)Hop Amplitude (1)Sway Amplitude (1)Walk Period (1)
Leg Parameters (46) Body Parameters (5)
![Page 51: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/51.jpg)
Running Your CodeRunning Your CodeEdit: ~/dogs/agent/Motion/genmot/genwalk.cc
Compiling code: ~/dogs/agent/Motion/genmot> make
~/dogs/agent/Motion/genmot> ./genmot>Kinemaric Errors=[0] [0]
[0] [0]
Saving to the stick: ~/dogs/agent/Motion/genmot> mount /memstick
~/dogs/agent/Motion/genmot> cp walk_xy.prm /memstick/motion/~/dogs/agent/Motion/genmot> umount /memstick
![Page 52: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/52.jpg)
Running Your CodeRunning Your CodeCompiling code:
~/dogs/agent/Motion/genmot> make~/dogs/agent/Motion/genmot> ./genmot>Kinemaric Errors=[0] [0]
[0] [0]
Saving to the stick:
~/dogs/agent/Motion/genmot> mount /memstick~/dogs/agent/Motion/genmot> cp walk_xy.prm /memstick/motion/~/dogs/agent/Motion/genmot> umount /memstick
What are these errors?
![Page 53: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/53.jpg)
Questions?Questions?
![Page 54: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/54.jpg)
Frame-Based MotionFrame-Based Motion
![Page 55: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/55.jpg)
Frame-Based MotionFrame-Based Motion
Each motion is described by a series of “frames” which specify the position of the robot, and a time to interpolate between frames
Movement between frames is calculated through linear interpolation of each joint
![Page 56: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/56.jpg)
The position of the robot in each frame can be described using any of the following:
– Position of the legs - in terms of angles of each joint or position of the foot in motion coordinates
– Angle of the head (tilt, pan, roll)– Body height and angle– Angle of the mouth
struct BodyState{ BodyPosition pos; LegState leg[4]; HeadState head; MouthState mouth;};
![Page 57: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/57.jpg)
Examples: Valid Motion FramesExamples: Valid Motion Frames
LegAng(b,0, 0.0, 1.5, 0.0); LegAng(b,1, 0.0, 1.5, 0.0); LegAng(b,2, 0.1, 0.0, 0.2); LegAng(b,3, 0.1, 0.0, 0.2); m[n].body = b; m[n].time = 100; n++;
BodyPos(b,98,RAD(16)); HeadAng(b, 0.5, 1.5, 0.0); MouthAng(b,-.7); LegPos(b,0, 123, 85,0); LegPos(b,1, 123,-85,0); LegPos(b,2, -80 , 75,0); LegPos(b,3, -80 ,-75,0); m[n].body = b; m[n].time = 100; n++;
BodyPos(b,98,RAD(16)); HeadAng(b, 0.5, 1.5, 0.0); LegPos(b,0, 123, 85, 0); LegPos(b,1, 123,-85, 0); LegAng(b,2, 0.1, 0.0, 0.2); LegAng(b,3, 0.1, 0.0, 0.2); m[n].body = b; m[n].time = 100; n++;
m[n].body = b; m[n].time = 100; n++;
![Page 58: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/58.jpg)
Running Your CodeRunning Your CodeEdit: ~/dogs/agent/Motion/genmot/genmisc.cc
Compiling code: ~/dogs/agent/Motion/genmot> make
~/dogs/agent/Motion/genmot> ./genmot>Kinemaric Errors=[0] [0]
[0] [0]Saving to the stick: ~/dogs/agent/Motion/genmot> mount /memstick
~/dogs/agent/Motion/genmot> cp k_bump.mot /memstick/motion/~/dogs/agent/Motion/genmot> umount /memstick
In your code: command->motion_cmd = MOTION_KICK_BUMP;
![Page 59: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/59.jpg)
Joint Angle LimitsJoint Angle Limits
![Page 60: CMRoboBits: Actuators, Motion Manuela Veloso Nick Aiwazian Sonia Chernova Thanks to Jim Bruce, Scott Lenser, and Doug Vail 15-491, Fall 2003 Carnegie Mellon.](https://reader035.fdocuments.in/reader035/viewer/2022062714/56649d4d5503460f94a2bd8f/html5/thumbnails/60.jpg)
InformationInformation
Two readings will be made available off the Webpage.
Wednesday’s lab will be about debugging tools using wavelan communication to and from the robots.
Homework 2 is due in class on Wednesday and Homework 3 will be handed out then.
John deCuir, SONY, USA, will present the new ERS-7 robots at the beginning of the class on Monday, September 22nd.