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