Robot Programming by Demonstration (Pbd)

Robot Programming by
Demonstration (Pbd)
Iraj Mantegh
NRC Aerospace
ACAMP Robotic and Intelligent Systems Seminar
June 9,2014
Introduction
“Advanced manufacturing techniques and
management practices that reduce cycle
times are a real priority for the
(aerospace) industry today”- Advanced
Manufacturing, Nov 20??.
“One serious social issue that should be
addressed by robotics is the decrease of
labor power to maintain industrial
activities and social services as the
elderly population continues to Increases”
-K. Tanie, President, IEEE Robotics and
Aut. Society, 20??)
© 2014 National Research Council Canada
Background
Offline Programming (OLP)
• Does not capture process info
• Requires specific programming expertise
Robot Task Definition
Workcell Sequencing
Off-Line Programming
Resource-centred
tasks & layout
(robot & aux.
devices)
Excecution in production
Validated process
(with multiple
resources)
Robot(s)
programs in
native naguage(s)
© 2014 National Research Council Canada
Robot PBD
Slide 4/17
Robot programming by demonstration (PbD) refers to transfer
of skills to robots by providing solutions for the required
performance through demonstrations.
Traditional robot programming:
(e.g. OLP software)
 Time consuming and cost
intensive solutions (programming
expert, facility, time consuming)
 Task specific
 Robot dependent
 Limited to structured working
environment
© 2014 National Research Council Canada
Robot programming by
demonstration:
 Programming by task experts
 Intuitive approach
 Adaptive for different tasks
 Independent of the robot platform
 Continually refine performance with
repetition of demonstrations
Robot PBD
Slide 5/17
 Robot PbD:
 quick, natural way of robot programming;
 reduces costs for development of industrial applications;
 provides framework for service robotics applications.
 Challenges in robot PbD:
 learning generic tasks,
 interpreting teacher’s intention,
 correspondence problem,
 robust learning,
 evaluation of learning performance,
 human-robot interaction.
© 2014 National Research Council Canada
Methodology
1. Perception of demonstrations using optical tracking system
example: painting task
Demonstrated trajectories
key points
 2. Selection of candidate key points
(Linde-Buzo-Gray (LBG) algorithm )
© 2014 National Research Council Canada
Methodology
 3. Segmentation of the trajectories (with HMM)
Key points: transitions between the states.
 4. Temporal alignment of the key points (using DTW (dynamic time
warping) algorithm)
 5. Assigning weighting coefficients to key points’ clusters
 6. Fitting and interpolation between the key points across all
demonstrations
Generalized trajectory
© 2014 National Research Council Canada
8
Example
• “Generalizations” drawing from
multiple human demonstrations
• Example manufacturing processes:
• Spray painting
• Sanding
• Polishing / Buffing
• Shot peen forming
• It is shown that the generalized
paths are both more consistent
and more effective than the
observed human demonstrations
A pseudo-periodic trajectory is followed
when shot peen forming an airfoil.
© 2014 National Research Council Canada
Experiment in Shot Peen Forming:
Results
task Most Consistent Human Trajectories Generalized Trajectories
1
2
© 2014 National Research Council Canada
9
Trajectory Learning:
Peen Forming example
Human Demonstrations
Trajectories
60
40
20
0
-20
Z (mm)
Z (mm)
Generated trajectories
are smoother, less
erratic, and more
consistent throughout
the part
-150
-200
-250
-300
-350
Y (mm)
-400
Jerk
4
-100
-250
-300
-350
Y (mm)
-100
0
-50
X (mm)
50
uniform
coverage
Velocity
Acceleration Distributions
9
100
50
0
-50
X (mm)
gaps in
coverage
Acceleration
Jerk Distributions
x 10
60
40
20
0
-20
-150
-200
Sonaca Montreal
10
Generated Robot
Velocity Distributions
4000
1000
3500
900
8
800
3000
6
5
4
3
2000
1500
600
500
400
300
erratic
(noisy)
1000
2
200
500
1
0
100
1
2
3
4
5
6
7
Test Subject
8
9
10
Gen
Robot trajectorycreated directly from
human
demonstration
700
2500
Velocity (mm/s)
Acceleration (mm/s 2)
Jerk (mm/s3)
7
0
Test Subject
1
2
3
4
5
6
7
Test Subject
8
Test Subject
Generalted trajectory has
lowest jerks and
accelerations  smoothest!
© 2014 National Research Council Canada
9
10
Gen
0
1
2
3
4
5
6
7
Test Subject
8
9
10
Gen
Test Subject
Generated trajectory’s
velocities are average of all
demonstrations (requirement)
100
Trajectory Learning:
Complex geometry- Spray
• Example: spray painting parts with more complex
Demonstrated trajectories
trajectory
300
z (mm)
Painted surfaces
200
100
100
0
0
-200
-100
-100
0
100
200
x (mm)
Robot task
execution
Generalized
trajectory
200
z (m m )
100
100
0
0
-200
-100
-100
0
100
200
y (mm)
-200
© 2014 National Research
Council Canada
300
x (mm)
300
-200
y (mm)
Robot Task Planning
•
•
•
•
Define a “Task Template”
Robot-independent
Geometry-independent
Task template include
trajectory patterns
• Use the measured
trajectory parameters
• Pattern and task reusability
• Invoke trajectory learned
by PbD
© 2014 National Research Council Canada
Trajectory Reconstruction
(Trajectory Generation)
•
•
•
•
•
Analysis of demonstrated trajectory
Pattern identification
Kinematic profiling
Analysis of new geometry
Trajectory reconstruction
•
•
•
Demonstrated
Trajectory
Generation of robot code
Upload to robot
Record and verify with
optical tracking
Reconstructed by
PbD
Executed on Robot
© 2014 National Research Council Canada
Trajectory Reconstruction
(Trajectory Generation)
•
•
•
•
•
Analysis of demonstrated trajectory
Pattern identification
Kinematic profiling
Analysis of new geometry
Trajectory reconstruction
Demonstrated
Trajectory
•
•
•
Generation of robot code
Upload to robot
Record and verify with
optical tracking
Reconstructed by
PbD
Executed on Robot
© 2014 National Research Council Canada
Thank you
Eric Lefebvre
Business Development / Client Relationship Lead
Tel: 613-949-7548
[email protected]
www.nrc-cnrc.gc.ca
15
Dr. Iraj Mantegh
Program Lead
Tel: 514-283-9240
[email protected]