HIGH-LEVEL ROBOT ARM MANIPULATION PRIMITIVES Thesis Proposal for the Master of Science Degree in Computer Science Presented by Glenn Nickens Advised by.

Slides:



Advertisements
Similar presentations
Rapidly Exploring Random Trees Data structure/algorithm to facilitate path planning Developed by Steven M. La Valle (1998) Originally designed to handle.
Advertisements

Configuration Space. Recap Represent environments as graphs –Paths are connected vertices –Make assumption that robot is a point Need to be able to use.
Inverse Kinematics Professor Nicola Ferrier ME 2246,
Motion Planning for Point Robots CS 659 Kris Hauser.
10 Software Engineering Foundations of Computer Science ã Cengage Learning.
Introduction University of Bridgeport 1 Introduction to ROBOTICS.
Manipulator’s Inverse kinematics
Kinematics & Grasping Need to know: Representing mechanism geometry Standard configurations Degrees of freedom Grippers and graspability conditions Goal.
Trajectory Generation
Kinodynamic Path Planning Aisha Walcott, Nathan Ickes, Stanislav Funiak October 31, 2001.
1 Last lecture  Configuration Space Free-Space and C-Space Obstacles Minkowski Sums.
CSCE 641: Forward kinematics and inverse kinematics Jinxiang Chai.
1Notes  Handing assignment 0 back (at the front of the room)  Read the newsgroup!  Planning to put 16mm films on the web soon (possibly tomorrow)
1Notes  Assignment 0 marks should be ready by tonight (hand back in class on Monday)
Geometric reasoning about mechanical assembly By Randall H. Wilson and Jean-Claude Latombe Henrik Tidefelt.
Introduction to Robotics
Cognitive Robotics 03/30/09 1 Manipulation By Pushing Cognitive Robotics David S. Touretzky & Ethan Tira-Thompson Carnegie Mellon Spring.
Rapidly Expanding Random Trees
Planning Motions with Intentions By Chris Montgomery A presentation on the paper Planning Motions with Intentions written by Yoshihito Koga, Koichi Kondo,
CSCE 641: Forward kinematics and inverse kinematics Jinxiang Chai.
Ch. 3: Forward and Inverse Kinematics
Ch. 3: Forward and Inverse Kinematics
Kinematics. ILE5030 Computer Animation and Special Effects2 Kinematics The branch of mechanics concerned with the motions of objects without regard to.
Presented By: Huy Nguyen Kevin Hufford
RRT-Connect path solving J.J. Kuffner and S.M. LaValle.
CSCE 689: Forward Kinematics and Inverse Kinematics
Integrated Grasp and Motion Planning For grasping an object in a cluttered environment several tasks need to take place: 1.Finding a collision free path.
Inverse Kinematics Jacobian Matrix Trajectory Planning
Goal Directed Design of Serial Robotic Manipulators
IMPLEMENTATION ISSUES REGARDING A 3D ROBOT – BASED LASER SCANNING SYSTEM Theodor Borangiu, Anamaria Dogar, Alexandru Dumitrache University Politehnica.
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Kinematic Linkages.
Constraints-based Motion Planning for an Automatic, Flexible Laser Scanning Robotized Platform Th. Borangiu, A. Dogar, A. Dumitrache University Politehnica.
© Manfred Huber Autonomous Robots Robot Path Planning.
Lecture 2: Introduction to Concepts in Robotics
INVERSE KINEMATICS IN A ROBOTIC ARM AND METHODS TO AVOID SINGULARITIES Submitted By :-Course Instructor :- Avinash Kumar Prof. Bhaskar Dasgupta Roll No.-
INVERSE KINEMATICS ANALYSIS TRAJECTORY PLANNING FOR A ROBOT ARM Proceedings of th Asian Control Conference Kaohsiung, Taiwan, May 15-18, 2011 Guo-Shing.
Robotics Chapter 5 – Path and Trajectory Planning
Manipulator’s Forward kinematics
CSCE 441: Computer Graphics Forward/Inverse kinematics Jinxiang Chai.
Review: Differential Kinematics
1cs426-winter-2008 Notes  Will add references to splines on web page.
ROBOT VISION LABORATORY 김 형 석 Robot Applications-B
ECE 450 Introduction to Robotics Section: Instructor: Linda A. Gee 10/07/99 Lecture 11.
Outline: Introduction Solvability Manipulator subspace when n<6
NUS CS5247 Dynamically-stable Motion Planning for Humanoid Robots Presenter Shen zhong Guan Feng 07/11/2003.
Trajectory Generation
Randomized Kinodynamics Planning Steven M. LaVelle and James J
Rick Parent - CIS681 Reaching and Grasping Reaching control synthetic human arm to reach for object or position in space while possibly avoiding obstacles.
1cs426-winter-2008 Notes. 2 Kinematics  The study of how things move  Usually boils down to describing the motion of articulated rigid figures Things.
System Model: Physical Module Constraints: 1)A module must have a minimum of two adjacent free sides in order to move. 2) A module must have an adjacent.
CSCE 441: Computer Graphics Forward/Inverse kinematics Jinxiang Chai.
Randomized KinoDynamic Planning Steven LaValle James Kuffner.
Fundamentals of Computer Animation
Cognitive Robotics 03/30/09 1 Manipulation and Path Planning Cognitive Robotics David S. Touretzky & Ethan Tira-Thompson Carnegie Mellon.
Robotics Chapter 3 – Forward Kinematics
9/30/20161 Path Planning Cognitive Robotics David S. Touretzky & Ethan Tira-Thompson Carnegie Mellon Spring 2012.
CSCE 441: Computer Graphics Forward/Inverse kinematics
Character Animation Forward and Inverse Kinematics
Mitsubishi robot arm.
INVERSE MANIPULATOR KINEMATICS
Zaid H. Rashid Supervisor Dr. Hassan M. Alwan
CHAPTER 2 FORWARD KINEMATIC 1.
Humanoid Motion Planning
Special English for Industrial Robot
CSCE 441: Computer Graphics Forward/Inverse kinematics
Chapter XIII Character Animation
Outline: Introduction Solvability Manipulator subspace when n<6
Special English for Industrial Robot
Humanoid Motion Planning for Dual-Arm Manipulation and Re-Grasping Tasks Nikolaus Vahrenkamp, Dmitry Berenson, Tamim Asfour, James Kuffner, Rudiger Dillmann.
Chapter 4 . Trajectory planning and Inverse kinematics
Presentation transcript:

HIGH-LEVEL ROBOT ARM MANIPULATION PRIMITIVES Thesis Proposal for the Master of Science Degree in Computer Science Presented by Glenn Nickens Advised by Dr. David Touretzky Thursday, January 29,

Outline Introduction to the research topic Problem statement Accomplished background work Proposed method of completion and testing Expected outcome and contributions Timeline 2

Introduction Access to the field of robotics has been limited in computer science undergraduate programs due to : – The complexity of the underlying mathematics and theory that is needed to implement kinematics, path planning and manipulation – The size, cost and/or limited capabilities of available robots To help solve this problem, researchers at Carnegie Mellon University have developed: – Tekkotsu – A hand-eye robot 3

Introduction Tekkotsu – Is an open source robot programming framework based on C++. – Is an object-oriented and event passing architecture that makes full use of the template and inheritance features of C++ (Tekkotsu). – Programmers use high-level primitives, such as “nod your head” and “walk to that location”, to control robots. 4

Introduction The hand-eye robot: – Has a three-link planar arm, with a webcam attached to a pan-tilt above it for vision – Is a small, affordable robot that fits on a classroom table – Can be programmed to manipulate objects identified by the camera However, Tekkotsu does not have high-level manipulation primitives for an arm. 5

Introduction Developing the high-level primitives necessary to perform manipulation with the arm is the subject of this research proposal. Once the primitives are developed, I will test them by writing a tic-tac-toe player. The player will use only the primitives developed in this research to manipulate the game pieces. 6

Problem Statement Tekkotsu does not have the high-level manipulation primitives for a hand-eye robot to perform complex tasks such as moving an object to a target position. In this research I will specify the primitives required to perform complex tasks. I will implement them, then demonstrate that the primitives are suitable for performing the tasks. 7

Background To develop the manipulation primitives the following are necessary: – A robot arm – Kinematics – Collision detection – Path planning – Path smoothing 8

Three-Link Planar Arm Three Dynamixel AX-12 servos Upper arm and forearm are constructed of aluminum tubes and elongated c-brackets End-effector is a c-bracket 9

Manipulation Surfaces No closeable fingers Must move objects by pushing them Three manipulation surfaces: – Interior of the c-bracket – Wrist – Forearm & Upper arm 10

Why not two links? Manipulation in the plane requires at least 3DOF (x, y, and  ). A two-link arm only has 2DOF. A a three-link arm can reach a target from many angles; a two-link arm can reach it from only two angles. 11

Why not four or more links? Given a target and angle of manipulation, a three- link arm will have at most two solutions, a four-link arm may have infinitely many solutions. Solving kinematics for a four-link arm is more complex than for a three- link arm. Links are expensive (power, weight, wiring). 12

Kinematics Kinematics describes the relationship between the position and orientation of the end-effector and the joint angles of the arm. 13

Forward Kinematics Forward/direct kinematics calculations determine the end effector configuration given the joint angles. Forward kinematics calculations are easily solved with a series of matrix multiplications, and will always produce a unique solution. 14

Inverse Kinematics Inverse kinematics calculations search for a set of joint angles that produce a specified end effector configuration. Inverse kinematics calculations are harder; there may be many solutions, or there may be none. 15

Inverse Kinematics In this research, inverse kinematics is used to determine the shoulder, elbow, and wrist angles given a target position and the manipulation surface orientation. The inverse kinematics calculations for the arm use a four step process based on a common analytical approach documented in the book ‘Robot Modeling and Control’. 16

IK Calculations Process 1.Determine the wrist position [x w, y w ] from the target point [x t, y t ] and desired orientation, ϕ t. 2.Determine the elbow angle, θ 2, from the wrist position [x w, y w ] and arm dimensions, L 1 and L 2. 3.Determine the shoulder angle, θ 1. 4.Determine the wrist angle, θ 3. 17

Multiple Solutions The step for determining the elbow angle, θ 2, may produce two solutions. These are called the elbow up and elbow down configurations. 18

IK Modifications The inverse kinematics calculations process described thus far is ideal for arms whose joints turn without bound and whose environments are obstacle free. Modifications have been made to these calculations to create an IK solver specifically for the arm in this research. 19

IK Modifications The joints cannot turn a full 360° because adjacent arm segments will collide. The IK solver only uses configurations that are within the turning limits of each joint. 20

IK Modifications Sometimes a target is not reachable from a desired orientation, but may be reached from another orientation. The IK solver will search around the desired orientation at 10° intervals for 180° in both directions until a valid solution is found. 21

IK Modifications When both elbow up and elbow down configurations are valid, the IK solver must choose one. It chooses the one that has the same elbow direction as the arm’s current configuration. 22

IK Modifications The IK solver uses a collision detection algorithm to check for collisions of the arm with itself or with objects in the environment. Arm segments and obstacles are represented as rectangles. The algorithm is based on the Separating Axis Theorem. 23

Path Planner Once the kinematics solver has determined the start and end configurations for the arm, a collision free path must be computed to move the arm. 24

Path Planning Path planning is the construction of a continuous sequence of arm configurations from the start to the end configuration while respecting constraints (Kuffner 2009). The constraints in this research are the arm’s joint limits, obstacles in the environment, and the need to maintain contact with objects. The path planner in this research is based on an algorithm called RRT-Connect (Kuffner 2000). 25

Rapidly-exploring Random Trees Rapidly-exploring Random Trees (RRTs) are trees whose vertices encode configuration states of the arm (LaValle 1998). The RRT grows by alternately extending the tree in random directions and moving toward the goal configuration. 26

RRT-Connect RRT-Connect grows two RRTs, one from the start and one from the goal configuration, and biases the trees to grow toward each other. Once the RRTs connect, the path is extracted using backtracking. 27

Path Smoothing The random component of the RRT-Connect search often results in a jerky and meandering solution, therefore a smoothing algorithm is applied to the path. Smoothing is accomplished by selecting random segments to be snipped from the path. 28

Paths The pictures to the right show the arm’s trajectory along a path from the start, green, to the end, red, configuration. The first image shows a path constructed by the path planner. The second image shows the same path, but after the smoothing algorithm has been applied to it. 29

Methodology In this section I will discuss: – The high-level primitives I have chosen – How I plan on implementing them and – How I will demonstrate the success of my work 30

Manipulation primitives I have chosen five high-level manipulation primitives: – Move an object to a precise position – Sweep a collection of objects from one region of the workspace to another – Pick an object out of a pile – Adjust the orientation of an object – Propel an object in a specified direction 31

High-Level Primitives 32 Move an object to a target position

High-Level Primitives 33 Sweep a collection of objects

High-Level Primitives 34 Pick an object out of a pile

High-Level Primitives 35 Adjust the orientation of an object

High-Level Primitives 36 Propel an object in a direction

Manipulation Planner To realize the primitives, I will develop a manipulation planner to determine: – Which manipulation surface to use – How to acquire contact with an object – What trajectory the arm should follow 37

Planning Process Complications Joint limits and obstacles constrain the arm’s freedom of motion. The forearm will collide with the upper arm or the red obstacle if it tries to move inward or outward, respectively. 38

Planning Process Complications 39 Planned trajectories must keep the manipulation surface in contact with the object

Planning Process Complications Moving an object with the upper arm or the forearm is imprecise because it may slide. 40

Planning Process Complications Some tasks may require multiple manipulations 41

Executing the Plan I will develop a manipulation engine to execute the plans produced by the manipulation planner. The engine will: – Monitor the execution of each step – Take corrective action should something go wrong 42

Manipulation Engine Monitoring will be done by: – Verifying arm positions by checking the joint angles – Verifying object positions using vision Corrective action may have to be taken because: – The arm may not have acquired the object – The object may not be where it should be – The arm may have accidentally moved the object 43

Validation: A tic-tac-toe player The player will use only three of the primitives mentioned earlier – Moving a game piece – Sweeping game pieces off the board – Picking a game piece from a pile The tic-tac-toe player will not reference any low-level concepts such as kinematics, path planning or manipulation surfaces. 44

Playing tic-tac-toe 45

Contributions/Expected Outcome My work will allow robot programmers to easily manipulate objects by specifying desired effects and letting the planner figure out how to achieve them. Students in undergraduate robotics courses will be able to experiment with manipulation without having to write their own kinematics solvers, path planners, or collision detection algorithms. The manipulation planner and engine will be integrated into the Tekkotsu framework and will be used on other robots, including the Chiara. 46

Timeline/Milestones 47

References 48 1.Tekkotsu: Getting Started. (2007) Retrieved 26 January 2009 from Tekkotsu web site: 2.Spong, Mark W., Seth Hutchinson, and M. Vidyasagar. Robot Modeling and Control. John Wiley & Sons, Kuffner, James. “Classical Path Planning with RRTs”. January 13, Kuffner, James J., Steven M. LaValle. RRT-connect: An efficient approach to single-query path planning. In Proceedings IEEE International Conference on Robotics and Automation, pages , LaValle, Steven M. Rapidly-Exploring Random Trees: A New Tool for Path Planning. TR 98-11, Computer Science Dept., Iowa State Univ. Oct

Questions 49