490 likes | 654 Views
USC – Interaction Lab. Skill Learning by Primitives-Based Demonstration & Imitation Maja Matarić - PI Marcelo Kallmann, Chad Jenkins - postdocs Amit Ramesh - PhD student Nathan Miller - subcontracted engineer. <If you want a photo>. Overall Goals. Goal: xx. Major Contributions.
E N D
USC – Interaction Lab Skill Learning by Primitives-Based Demonstration & Imitation Maja Matarić - PI Marcelo Kallmann, Chad Jenkins - postdocs Amit Ramesh - PhD student Nathan Miller - subcontracted engineer <If you want a photo>
Overall Goals • Goal: • xx
Major Contributions • Contributions: • Development of the USC motion suit for low cost, lightweight, wireless, real-time motion collection • Cross-kinematics metrics for imitation learning, allowing for comparison and mapping of motion data across various kinematic structures • Prediction of expected sensory information for a successful grasping, from the analysis and interpolation of collected Robonaut sensory data • The use of randomized motion planning for reaching and for motion sequencing
Major Contributions • Demonstrations/Applications: • Teleoperation of Robonaut • The implementation of human-robot cooperation applications for a variety of tasks. An application example was demonstrated using Robosim (NASA’s Robonaut simulator)
USC Motion Suit Other sources of motion collection Cross-kinematics metrics for imitation learning are used for collecting motion from various types of kinematics Robot-Ready Motion Database Derivation of motion controllers based on collected motion and randomized roadmaps Derivation of motion controllers based on collected motion and sensory data Learned skills are represented as parameterized motion controllers Robonaut Control Architecture Overview
USC Motion Suit • Applications:
Cross-Kinematics Metric • Applications:
Learning Sensory Structures • Applications:
Collision-Free Reaching • Goal: Efficient collision-free motion planning for humanoid arms • Applications: • manipulation tasks in environments with obstacles • relocating grasped objects in the workspace • maintenance tasks when the tools, controls, handles, etc, to be reached are situated in difficult locations
Potential Application Example • Truss Assembling • Collision-free reaching for tools and for grasping bars
Approach • Our tests indicate that sampling-based motion planners are more efficient than other methods, e.g. such as IK with collision avoidance (Drumwright, Kallmann, Mataric, “Towards Single-Arm Reaching for Humanoids in Dynamic Environments”, submitted to Humanoids’04 ) • On-Line Arms Motion Planning • We have applied the on-line Rapidly-exploring Random Trees (RRT) on the composite configuration space of the two arms • Motions can be achieved in 1 or 2 secs in simple scenarios • Dynamic Roadmaps • When the workspace has few changes, dynamic roadmaps can be very efficient. Joins the advantages of multi-query methods (PRMs, PRTs, VGs) and single-query methods (RRTs, Exp. Spaces, SBLs).
On-line Arms Motion Planning • Example collision-free motions to pre-grasping targets • Visualization geometry: 23930 triangles • Collision geometry: 1016 triangles • Computation time: 1 to 2s, including optimization (smoothing) • Optimization takes about 0.3s (Pentium III 2.8 GHz)
Path Optimization (1/2) • Incremental path linearization • Simple and efficient in most cases • May be time-consuming as collision detection must be invoked before each local linearization.
Path Optimization (2/2) • Decoupled, sub-configuration linearization can be applied: • In the example, the top arm in the left video makes an unnecessary motion • This can be only corrected when smoothing arms independently (right video)
Dynamic Roadmaps: Overview • Evaluation of dynamic roadmaps for finding collision-free arm motions in changing environments • Comparison with on-line bi-directional RRT 17 DOFs 7 DOFs 4 DOFs
Roadmap Computation • A grid is defined over the workspace • Desired number of configurations are sampled
Roadmap Computation • Sampled nodes are connected to the k neighbors if the connection is valid, until linking all valid connections
Roadmap Computation • Cell localization in respect to the roadmap nodes: • For each cell, test all edges and nodes which are invalid in respect to that cell, ie, which “collide” with that cell • Each cell keeps references to the invalidated edges/nodes • More efficient methods: • Hierarchical tests of cells • Exploiting cell adjacency coherence(Leven and Hutchinson 2000) [2] • Using graphics hardware
Roadmap Computation • Cells are localized and roadmap nodes and edges intersecting with objects are invalidated
Roadmap Maintenance • Whenever obstacles in the workspace are detected to change position, the affected cells are either liberated or occupied • Reference counting management: • All roadmap nodes/edges maintain reference counters • When cells are occupied/liberated, the associated nodes/edges have their counters incremented/decremented
Roadmap Maintenance • Examples:
Roadmap Maintenance • Examples:
Roadmap Maintenance • Examples:
Roadmap Maintenance • Examples:
Roadmap Query • Find motion from initial configuration qi to goal configuration qg • Retrieve nearest nodes N(qi), N(qg) in the roadmap • Retrieve a path from N(qi) to N(qg): A* search, however: • Path may not exist • qi to N(qi) may not be valid • qg to N(qg) may not be valid • In case of failure, a Bi-RRT is used as on-line planner • to fix the path if one of the tests fails • Compute the full path
Experiments • 100 random problems for each scenario • Random obstacles, initial and goal configurations • Failure considered after 10 seconds • 7 Dynamic scenarios with: One arm Two arms Robonaut
Experiments: Example Motions • Two arm planar manipulator, planar workspace, 7 DOFs • Robonaut model, 17 DOFs: 7 in each arm + 3 at the base (Pentium III 2.8 GHz)
Experiments • Up to 8 times faster in the planar workspaces • Roadmap/Grid size vs. maintenance cost tradeoff • Modest speed gains in 3d workspaces
Integration with Robonaut • Motions generated on our Robonaut model can be easily transferred to Robonaut • Same mapping mechanism as the one used for the teleoperation with the motion suit
Sequencing Parameterized Motion • Motion control for complex operations require mixed type of controllers • Sequencing of primitive movement controllers is required • Ex: coordination of bimanual manipulations, of multiple robots, or of biped locomotion
Example with Biped Locomotion • We propose a search method for sequencing movement primitives • The method is based on randomized roadmaps and discrete search methods • The method was applied to obtain statically stable biped locomotion among obstacles
Movement Primitive: Definition • Any controller with a simpler parameterization over the configuration space: Pis: SisC where: s is the start configuration of primitive Pis Sis is the parameter space of primitive Pis C is the configuration space • Primitives generate postures, not motions
Primitives: Description • Total of 9 DOFs • Movement control only allowed trough motion primitives parameterization, ensuring:correct support, balance, limits, collision-free PL PB PR
Primitives: Description (Robot has 9 DOFs)
Primitives: Description (Robot has 9 DOFs)
Primitives: Description (Robot has 9 DOFs)
Primitives: Description (Robot has 9 DOFs)
Sequencing: Problem Definition • Given: • Primitives Pi • Task completion test function t(q) : C {0,1} • Determine a sequence of concatenated valid paths in configuration space, such that: • Each path is generated by a single primitive • The first point is the current position • The last point satisfies completion test
Sequencing: Search Tree • Expand a roadmap in the parametric space of the motion primitive associated with c search tree
Sequencing: Search Tree • Determine paths leading to configurations in a different support mode search tree
Sequencing: Search Tree • Select lowest cost leaf ccost(c) = length(root,c) + dist(c,goal) search tree …
Sequencing: Search Tree • Expand a roadmap in the parametric space of the new motion primitive • Continue the process until close to goal point search tree … …
Integrated demo with Robosim • Cooperative human-robot example application • Demonstration of example motions using the USC motion suit • Segmentation into meaningful example • Derivation of a primitive controller, which is able to interpolate the examples in order to obtain a scooping motion in any position inside the tray • New tools can be reached using our motion planner
Integrated demo with Robosim • Example of scooping motions to different instructed locations
Integrated demo with Robosim • Example of sending scooping motions to Robosim
Summary • a • b
Thanks • Doug • JSC Robonaut Team