Humanoid Robotics. Inverse Kinematics and Whole-Body Motion Planning. Maren Bennewitz

Similar documents
Humanoid Robotics. Inverse Kinematics and Whole-Body Motion Planning. Maren Bennewitz

Motion Planning. COMP3431 Robot Software Architectures

Motion Planning for Humanoid Robots

Self-Collision Detection. Planning for Humanoid Robots. Digital Human Research Center. Talk Overview

Humanoid Robotics. Path Planning and Walking. Maren Bennewitz

Configuration Space of a Robot

Whole-Body Motion Planning for Manipulation of Articulated Objects

Planning, Execution and Learning Application: Examples of Planning for Mobile Manipulation and Articulated Robots

Sampling-based Planning 2

Jane Li. Assistant Professor Mechanical Engineering Department, Robotic Engineering Program Worcester Polytechnic Institute

Humanoid Robots Exercise Sheet 9 - Inverse reachability maps (IRM) and statistical testing

Trajectory Optimization

Advanced Robotics Path Planning & Navigation

Inverse Kinematics (part 1) CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2018

Humanoid Robotics. Monte Carlo Localization. Maren Bennewitz

Efficient Motion and Grasp Planning for Humanoid Robots

Workspace-Guided Rapidly-Exploring Random Tree Method for a Robot Arm

Autonomous and Mobile Robotics. Whole-body motion planning for humanoid robots (Slides prepared by Marco Cognetti) Prof.

CS 775: Advanced Computer Graphics. Lecture 3 : Kinematics

Stance Selection for Humanoid Grasping Tasks by Inverse Reachability Maps

Integrated Grasp and Motion Planning using Independent Contact Regions 1

Lecture «Robot Dynamics»: Kinematic Control

Sampling-Based Motion Planning

autorob.github.io Inverse Kinematics UM EECS 398/598 - autorob.github.io

Humanoid Robotics. Least Squares. Maren Bennewitz

Path Planning in Dimensions Using a Task-Space Voronoi Bias

Sub-optimal Heuristic Search and its Application to Planning for Manipulation

Efficient Motion Planning for Humanoid Robots using Lazy Collision Checking and Enlarged Robot Models

Visual Navigation for Flying Robots. Motion Planning

Algorithms for Sensor-Based Robotics: Sampling-Based Motion Planning

Algorithms for Sensor-Based Robotics: Sampling-Based Motion Planning

15-494/694: Cognitive Robotics

Probabilistic Methods for Kinodynamic Path Planning

arxiv: v2 [cs.ro] 29 Jul 2016

Scalable Solutions for Interactive Virtual Humans that can Manipulate Objects

Randomized Path Planning for Redundant Manipulators without Inverse Kinematics

Jane Li. Assistant Professor Mechanical Engineering Department, Robotic Engineering Program Worcester Polytechnic Institute

Lecture Schedule Week Date Lecture (W: 3:05p-4:50, 7-222)

Robot Motion Planning

Configuration Space. Ioannis Rekleitis

Inverse Kinematics. Given a desired position (p) & orientation (R) of the end-effector

Motion Planning, Part III Graph Search, Part I. Howie Choset

IK MAP: An Enhanced Workspace Representation to Support Inverse Kinematics Solvers

Manipulation Planning with Workspace Goal Regions

CS-184: Computer Graphics. Today. Forward kinematics Inverse kinematics. Wednesday, November 12, Pin joints Ball joints Prismatic joints

Super Assembling Arms

Robotics Tasks. CS 188: Artificial Intelligence Spring Manipulator Robots. Mobile Robots. Degrees of Freedom. Sensors and Effectors

Jane Li. Assistant Professor Mechanical Engineering Department, Robotic Engineering Program Worcester Polytechnic Institute

Non-holonomic Planning

Advanced Robotics Path Planning & Navigation

Randomized Statistical Path Planning

Spring 2010: Lecture 9. Ashutosh Saxena. Ashutosh Saxena

This week. CENG 732 Computer Animation. Warping an Object. Warping an Object. 2D Grid Deformation. Warping an Object.

Human-Oriented Robotics. Robot Motion Planning. Kai Arras Social Robotics Lab, University of Freiburg

Simulation. x i. x i+1. degrees of freedom equations of motion. Newtonian laws gravity. ground contact forces

Robot Motion Control Matteo Matteucci

Parallel Cartesian Planning in Dynamic Environments using Constrained Trajectory Planning

Collision Detection. Jane Li Assistant Professor Mechanical Engineering & Robotics Engineering

RRT-Connect: An Efficient Approach to Single-Query Path Planning

Jacobian: Velocities and Static Forces 1/4

Lecture 18 Kinematic Chains

Jacobian: Velocities and Static Forces 1/4

Computer Animation. Rick Parent

Introduction to Intelligent System ( , Fall 2017) Instruction for Assignment 2 for Term Project. Rapidly-exploring Random Tree and Path Planning

Local Search Methods. CS 188: Artificial Intelligence Fall Announcements. Hill Climbing. Hill Climbing Diagram. Today

Jane Li. Assistant Professor Mechanical Engineering Department, Robotic Engineering Program Worcester Polytechnic Institute

Specialized PRM Trajectory Planning For Hyper-Redundant Robot Manipulators

Inverse Kinematics of 6 DOF Serial Manipulator. Robotics. Inverse Kinematics of 6 DOF Serial Manipulator

10/25/2018. Robotics and automation. Dr. Ibrahim Al-Naimi. Chapter two. Introduction To Robot Manipulators

Planning in Mobile Robotics

Master s Thesis: Real-Time Object Shape Perception via Force/Torque Sensor

Visualization and Analysis of Inverse Kinematics Algorithms Using Performance Metric Maps

6.141: Robotics systems and science Lecture 9: Configuration Space and Motion Planning

Introduction to Mobile Robotics Path and Motion Planning. Wolfram Burgard, Cyrill Stachniss, Maren Bennewitz, Diego Tipaldi, Luciano Spinello

Workspace Analysis for Planning Human-Robot Interaction Tasks

Introduction to Mobile Robotics Iterative Closest Point Algorithm. Wolfram Burgard, Cyrill Stachniss, Maren Bennewitz, Kai Arras

SPATIAL GUIDANCE TO RRT PLANNER USING CELL-DECOMPOSITION ALGORITHM

Announcements. CS 188: Artificial Intelligence Fall Robot motion planning! Today. Robotics Tasks. Mobile Robots

CS 188: Artificial Intelligence Fall Announcements

Learning to Guide Random Tree Planners in High Dimensional Spaces

CS 231. Inverse Kinematics Intro to Motion Capture

ECE276B: Planning & Learning in Robotics Lecture 5: Configuration Space

Kinematics. CS 448D: Character Animation Prof. Vladlen Koltun Stanford University

Principles of Robot Motion

Motion Planning of Human-Like Robots using Constrained Coordination

A New Algorithm for Measuring and Optimizing the Manipulability Index

3D Collision Avoidance for Navigation in Unstructured Environments

Visibility Graph. How does a Mobile Robot get from A to B?

CS 231. Inverse Kinematics Intro to Motion Capture. 3D characters. Representation. 1) Skeleton Origin (root) Joint centers/ bones lengths

Adaptive Tuning of the Sampling Domain for Dynamic-Domain RRTs

Geometric Path Planning McGill COMP 765 Oct 12 th, 2017

Introduction to State-of-the-art Motion Planning Algorithms. Presented by Konstantinos Tsianos

Func%on Approxima%on. Pieter Abbeel UC Berkeley EECS

Robots are built to accomplish complex and difficult tasks that require highly non-linear motions.

4 Kinematic Linkages. Chapter 4. Kinematic Linkages. Department of Computer Science and Engineering 4-1

Planning & Decision-making in Robotics Planning Representations/Search Algorithms: RRT, RRT-Connect, RRT*

Instant Prediction for Reactive Motions with Planning

Solving IK problems for open chains using optimization methods

Applying Neural Network Architecture for Inverse Kinematics Problem in Robotics

Path Planning of 5-DOF Manipulator Based on Maximum Mobility

Transcription:

Humanoid Robotics Inverse Kinematics and Whole-Body Motion Planning Maren Bennewitz 1

Motivation Planning for object manipulation Whole-body motion to reach a desired goal configuration Generate a sequence of configurations (=joint angle trajectories) grabbing an object opening a drawer 2

Example Planning Problems Two plans for a pick-and-place task: Hard planning problem due to local minima in search space: 3

Recap: Forward Kinematics FK computes the end-effector pose given the current joint encoder readings Using transformation matrices (see Ch. 5) Example: transformation from the left endeffector frame to the robot s torso frame given the encoder readings 4

Inverse Kinematics (IK) IK computes the joint angle values so that the end-effector reaches a desired goal state Inverse of the forward kinematics problem FK: IK: IK is challenging and cannot be as easily computed as FK It might be that there exist several possible solutions, or there may be no solution at all 5

Inverse Kinematics (IK) Many different approaches to solving IK problems exist Analytical methods: closed-form solution; directly invert the forward kinematics equations, use trig/geometry/algebra Numerical methods: try to converge to a solution; usually more expensive but also more general 6

Inverse Kinematics Solver IKFast: analytically solves IK, very fast, calculates all possible solutions http://openrave.org/docs/latest_stable/ openravepy/ikfast/ Kinematics and Dynamics Library (KDL): included in ROS, contains several numerical methods for IK http://wiki.ros.org/kdl 7

Inverse Kinematics: Example Consider a simple 2D robot arm with two 1-DOF rotational joints Given the end-effector pose Compute joint angles and 8

Numerical Approach Using the Jacobian: Example If we increased by a small amount, what would happen to? 9

Numerical Approach Using the Jacobian: Example If we increased by a small amount, what would happen to? 10

Numerical Approach Using the Jacobian Jacobian matrix for the simple example The Jacobian defines how each component of changes wrt each joint angle For any given vector of joint values, we can compute the components of the Jacobian 11

Numerical Approach Using the Jacobian Usually, the Jacobian will be an 6xN matrix where N is the number of joints The Jacobian can be computed based on the equations of FK 12

Numerical Approach Using the Jacobian Given a desired incremental change in the end-effector configuration, we can compute an appropriate incremental change of : As cannot be inverted in the general case, it is replaced by the pseudoinverse or by the transpose in practice (see KDL library) 13

Numerical Approach Using the Jacobian Forward kinematics is a nonlinear function Thus, we have an approximation that is only valid near the current configuration Repeat: Compute the Jacobian Take a small step towards the goal until the end-effector is close to the desired pose 14

End-Effector Goal, Step Size Let represent the current end-effector pose and represent the desired goal pose Choose a value for that will move closer to, theoretically: The nonlinearity prevents that the endeffector reaches the goal exactly For safety, take smaller steps: 15

Basic Jacobian IK Technique while ( is too far from ) { Compute for the current config. Compute } // choose a step to take // compute change in joints // apply change to joints Compute resulting // by FK 16

Limitations of the IK-based Approach For local motion generation problems, IK-based methods can be applied Numerical optimization methods, however, bear the risk of being trapped in local minima For more complex problems, e.g., for collision-free motions in narrow environments, planning methods have to be applied 17

Whole-Body Motion Planning Find a path through a high-dimensional configuration space (>20 dimensions) Consider constraints such as avoidance of joint limits, self- and obstacle collisions, and balance Complete search algorithms are not tractable Apply a randomized, sampling-based approach to find a valid sequence of configurations 18

Rapidly Exploring Random Trees (RRTs) Idea: Explore the configuration space by expanding incrementally from an initial configuration The explored space corresponds to a tree rooted at the initial configuration 45 iterations 2345 iterations 19

RRTs: The General Algorithm Given: config. space C and initial config. q 0 20

RRTs: The General Algorithm Given: config. space C and initial config. q 0 Finds closest vertex in G using a distance function formally a metric defined on C 21

RRTs: The General Algorithm Given: config. space C and initial config. q 0 Connect nearest point with random point using a local planner: No collision: add edge Collision: new vertex is q s, as close as possible to C obs 22

RRTs: The General Algorithm Given: config. space C and initial config. q 0 Connect nearest point with random point using a local planner: No collision: add edge Collision: new vertex is q s, as close as possible to C obs 23

RRTs: Tree Extension with a Small, Fixed Step Size step size EXTEND(T, q rand ) q new [ Kuffner & LaValle, ICRA 00] q init q near q rand The algorithm terminates when is near the goal [Kuffner&Lavalle, ICRA 00] 24

Bias Towards the Goal During tree expansion, pick the goal instead of a random node with some probability (5-10%) Why not picking the goal every time? This will waste much effort in running into local minima (due to obstacles or other constraints) instead of exploring the space 25

Bidirectional RRTs Some problems require more effective methods: bidirectional search Grow two RRTs, one from q I, one from q G In every other step, try to extend each tree towards of the other tree Filling a well A bug trap 26

RRT-Connect: Basic Concept Grow trees from both, start and end node (start and goal configuration of the robot) Pick a random configuration: Find the nearest node in one tree: Extend the tree from the nearest node by a step towards the random node Extend the other tree towards nearest node in that tree from Return the solution path when the distance between and the nearest node in the second tree is close enough 27

RRT-Connect: Example Path q goal q init 28

Extend Function Returns Trapped: Not possible to extend the tree due to collisions or constraints Extended: Generated a step from towards Reached: Trees connected, path found 29

RRT-Connect RRT_CONNECT (q init, q goal ) { T a.init(q init ); T b.init(q goal ); for k = 1 to K do q rand = RANDOM_CONFIG(); if not (EXTEND(T a, q rand ) = Trapped) then if (EXTEND(T b, q new ) = Reached) then Return PATH(T a, T b ); SWAP(T a, T b ); Return Failure; } 30

RRTs Properties (1) Easy to implement Fast Produce non-optimal paths: solutions are typically jagged and may be overly long Post-processing such as smoothing is necessary Generated paths are not repeatable and unpredictable Rely on a distance metric (e.g., Euclidean) 31

RRTs Properties (2) The probability of finding a solution if one exists approaches 1 (probabilistic completeness) Unknown rate of convergence When there is no solution (path is blocked due to obstacles or other constraints), the planner may run forever To avoid endless runtime, the search is stopped after a certain number of iterations All in all: good balance between greedy search and exploration 32

Considering Constraints for Humanoid Motion Planning When randomly sampling configurations, most of them will not be valid since they cause the robot to lose its balance Use a set of precomputed statically stable double support configurations from which we sample In the extend function: Check for joint limits, self-collision, collision with obstacles, and whether it is statically stable 33

Collision Checking FCL library for collision checks https://github.com/flexible-collision-library/fcl Check the mesh model of each robot for self-collisions and collisions with the environment 34

RRT-Connect: Considering Constraints Apply RRT-Connect Smooth path after a solution is found f found solution path smoothed path 35

Plan Execution: Pick and Place 36

Plan Execution: Grabbing Into a Cabinet 37

RRT-Connect: Parameters Database of 463 statically stable double support configurations, generated within 10,000 iterations Low probability of generating valid configurations, when sampling completely at random during the search Maximum number of iterations K in RRT- Connect: 3,000 Step size for generating the new configuration during the extension: 5 38

Example Results: 100 Planning Trials Planning time upper / lower shelf: 0.09±0.27s / 10.44±0.83s Expanded nodes upper / lower shelf: 19.84±30.06 / 1164.89±98.99 Unsuccessful planning attempts possible, depending on the chosen parameters 39

Stance Selection How to actually determine the goal configuration? Goal: Find the best robot pose for a given grasping pose desired grasp source: T. Asfour valid goal configurations for the same grasp 40

Spatial Distribution of the Reachable End-Effector Poses Representation of the robot s reachable workspace Data structure generated in an offline step: reachability map (voxel grid) Reachability map: possible end-effector poses and quality information 41

Reachability Map (RM) Constructed by sampling joint configurations from a kinematic chain Apply FK to determine the corresponding voxel containing the end-effector pose 42

Reachability Map (RM) Constructed by sampling joint configurations from a kinematic chain Apply FK to determine the corresponding voxel containing the end-effector pose Configurations are added to the RM if they are statically-stable and self-collision free Result: Reachability representation, each voxel contains configurations and quality measure Generating the RM is time-consuming, but done only once offline 43

Configuration Sampling Stepping though the range of the joints of the kinematic chain Serial chain: joints between the right foot and the gripper link 44

Generation of Double Support Configurations Active-passive link decomposition and IK Given the hip pose and the desired swing foot pose, we can solve IK for the swing leg chain active chain (from sampling) passive chain (IK solution) 45

Measurement of Manipulability Penalize configurations with limited maneuverability Consider: Distance to singular configurations and joint limits, self-distance red=low green=high 46

Inversion of the RM Invert the precomputed reachable workspace: inverse reachability map (IRM) Iterate through the voxels of the RM Invert the FK transform for each configuration stored in a voxel to get the pose of the foot wrt the EE frame Determine the voxel in the IRM containing the foot pose Store configurations and manipulability measures from the RM in the corresponding IRM voxels 47

Inversion of the RM configuration of sampled chain configuration of the swing leg manipulability measure while v GET VOXEL(RM) do n c GET NUM CONFIGS(v) for i =1to n c do (q c,q SWL,w) GET CONFIG DATA(v, i) p tcp COMPUTE TCP POSE(q c ) p base (p tcp ) 1 idx FIND EE VOXEL(p base ) determine voxel of foot IRM ADD CONF TO VOXEL(idx, q c,q SWL,w) end end end-effector pose via FK inverse transform to get pose of the foot wrt EE frame The IRM represents valid stance poses relative to the end-effector pose 48

Inverse Reachability Map (IRM) The IRM represents the set of potential stance poses relative to the end-effector pose Allows for selecting an optimal stance pose for a given grasping target Computed once offline Queried online red=low green=high Cross section through the IRM showing potential feet locations 49

Determining the Optimal Stance Pose Given a Grasp Pose Given a desired 6D end-effector pose with the transform How to determine the optimal stance pose? 50

Determining the Optimal Stance Pose Given a Grasp Pose The IRM needs to be transformed and valid configurations of the feet on the ground have to be determined Transform the IRM voxel centroids according to to get Intersect with the floor plane F: Remove unfeasible configurations from to get 51

Determining the Optimal Stance Pose: Example desired grasp pose red=low green=high optimal stance pose Select the optimal stance pose from the voxel with the highest manipulability measure 53

Summary (1) IK computes the joint angle values so that the end-effector reaches a desired goal Several analytical/numerical approaches Basic Jacobian IK technique: iteratively adapts the joint angles to reach the goal Motion planning: computes global path from the initial to the goal configuration RRTs are efficient and probabilistically complete, but yield non-optimal, not repeatable, and unpredictable paths 54

Summary (2) RRTs have solved previously unsolved problems and have become the preferred choice for many practical problems Several extensions exist, e.g., anytime RRTs Also approaches that combine RRTs with local Jacobian control methods have been proposed Efficiently determining the optimal stance pose for a desired grasping pose using an IRM, which is computed once offline 55

Literature (1) Introduction to Inverse Kinematics with Jacobian Transpose, Pseudoinverse and Damped Least methods S.R. Buss, University of California, 2009 RRT-Connect: An Efficient Approach to Single- Query Path Planning J. Kuffner and S. LaValle, Proc. of the IEEE International Conference on Robotics & Automation (ICRA), 2000 Whole-Body Motion Planning for Manipulation of Articulated Objects F. Burget, Armin Hornung, and M. Bennewitz, Proc. of the IEEE International Conference on Robotics & Automation (ICRA), 2013 56

Literature (2) Stance Selection for Humanoid Grasping Tasks by Inverse Reachability Maps F. Burget and M. Bennewitz, Proc. of the IEEE International Conference on Robotics & Automation (ICRA), 2015 Robot Placement based on Reachability Inversion N. Vahrenkamp, T. Asfour, and R. Dillmann, Proc. of the IEEE International Conference on Robotics & Automation (ICRA), 2013 57

Acknowledgment Parts of the slides rely on presentations of Steve Rotenberg, Kai Arras, Howie Choset, and Felix Burget 58