HIGHLEVELMANIPULATION PRIMITIVESFORAROBOTARM Supported by National - PowerPoint PPT Presentation
ThesisProposalfortheMasterofScienceDegreeinComputerScience PresentedbyGlennV.Nickens AdvisedbyDr.DavidTouretzky Thursday,January29,2009 HIGHLEVELMANIPULATION
Thesis Proposal for the Master of Science Degree in Computer Science Presented by Glenn V. Nickens Advised by Dr. David Touretzky Thursday, January 29, 2009 HIGH‐LEVEL MANIPULATION PRIMITIVES FOR A ROBOT ARM Supported by National Science Foundation awards 0717705 and 0742106 to Carnegie Mellon University, and 0742198 to Norfolk State University. 1
Outline • IntroducKon to the research topic • Problem statement • Accomplished background work • Proposed method of compleKon and tesKng • Expected outcome and contribuKons • Timeline 2
IntroducKon • Access to the field of roboKcs has been limited in computer science undergraduate programs due to: – The complexity of the underlying mathemaKcs and theory that is needed to implement kinemaKcs, path planning and manipulaKon – The size, cost and/or limited capabiliKes of available robots • To help solve this problem, researchers at Carnegie Mellon University have developed: – The Tekkotsu soSware framework – An inexpensive hand‐eye robot ($995 from RoPro Design) 3
IntroducKon • 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++. – programmers use high‐level primiKves, such as “nod your head” and “walk to that locaKon”, to control robots. 4
IntroducKon • The hand‐eye robot: – has a three‐link planar arm, with a webcam a`ached to a pan‐Klt above it for vision. – is a small, affordable robot that fits on a classroom table. – can be programmed to manipulate objects idenKfied by the camera. • However, Tekkotsu does not have high‐level manipulaKon primiKves for an arm. 5
IntroducKon • CreaKng the high‐level primiKves necessary to perform manipulaKon with the arm is the subject of this research proposal. • Once the primiKves are implemented, I will test them by wriKng a Kc‐tac‐toe player. • The player will use only the high‐level primiKves to manipulate the game pieces. 6
Problem Statement I will: – design the high‐level manipulaKon primiKves required to program the hand‐eye robot. – formalize and implement the algorithms for the primiKves. – demonstrate that the primiKves are suitable for performing complex tasks. 7
Background • To create the manipulaKon primiKves the following are necessary: – A robot arm – KinemaKcs – Collision detecKon – 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
ManipulaKon Surfaces • No closeable fingers • Must move objects by pushing them • Three manipulaKon surfaces: – Interior of the c‐bracket – Wrist – Forearm & Upper arm 10
Why not two links? • ManipulaKon 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 manipulaKon, a three‐ link arm will have at most two soluKons, a four‐link arm may have infinitely many soluKons. • Solving kinemaKcs for a four‐link arm is more complex than for a three‐ link arm. • Links are expensive (power, weight, wiring). 12
KinemaKcs • KinemaKcs describes the relaKonship between the posiKon and orientaKon of the end‐effector and the joint angles of the arm. 13
Forward KinemaKcs • Forward/direct kinemaKcs calculaKons determine the end effector configuraKon given the joint angles. • Forward kinemaKcs calculaKons are easily solved with a series of matrix mulKplicaKons, and will always produce a unique soluKon. 14
Inverse KinemaKcs • Inverse kinemaKcs calculaKons search for a set of joint angles that produce a specified end effector configuraKon. • Inverse kinemaKcs calculaKons are harder; there may be mulKple soluKons, or there may be none. 15
Inverse KinemaKcs • In this research, inverse kinemaKcs is used to determine the shoulder, elbow, and wrist angles given a target posiKon and the manipulaKon surface orientaKon. • The inverse kinemaKcs calculaKons for the arm use a four step process based on a common analyKcal approach documented in the book ‘Robot Modeling and Control’ (Spong 2006). 16
IK CalculaKon Process Determine the: 1) wrist posiKon [x w , y w ] from the target point [x t , y t ] and desired orientaKon, ϕ t . 2) elbow angle, θ 2 , from the wrist posiKon [x w , y w ] and arm dimensions, L 1 and L 2 . 3) shoulder angle, θ 1 . 4) wrist angle, θ 3 . 17
IK Step 1 • Determine the wrist posiKon [x w , y w ] from the target point [x t , y t ] and desired orientaKon, ϕ t . 18
IK Step 2 • Determine the elbow angle, θ 2 , from the wrist posiKon [x w , y w ] and arm dimensions, L 1 and L 2 . 19
MulKple SoluKons • The step for determining the elbow angle, θ 2 , may produce two soluKons. • These are called the elbow up and elbow down configuraKons. 20
IK Step 3 • Determine the shoulder angle, θ 1 . 21
IK Step 4 • Determine the wrist angle, θ 3 22
IK ModificaKons • The inverse kinemaKcs calculaKon process described thus far is ideal for arms whose joints turn without bound and whose environments are obstacle‐free. • ModificaKons have been made to these calculaKons to create an IK solver specifically for the arm in this research. 23
IK ModificaKons • The joints cannot turn a full 360° because adjacent arm segments will collide. • The IK solver only uses configuraKons that are within the turning limits of each joint. 24
IK ModificaKons • SomeKmes a target is not reachable from a desired orientaKon, but may be reached from another orientaKon. • The IK solver will search around the desired orientaKon at 10° intervals for 180° in both direcKons unKl a valid soluKon is found. Desired Valid orientation orientation 25
IK ModificaKons • When both elbow up and elbow down configuraKons are valid, the IK solver must choose one. • It chooses the one that has the same elbow direcKon as the arm’s current configuraKon. 26
IK ModificaKons • The IK solver uses a collision detecKon 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 SeparaKng Axis Theorem. 27
Path Planner Once the kinemaKcs solver has determined the start and end configuraKons for the arm, a collision free path must be computed to move the arm. 28
Recommend
More recommend
Explore More Topics
Stay informed with curated content and fresh updates.