Presentation is loading. Please wait.

Presentation is loading. Please wait.

Structure and Synthesis of Robot Motion Kinematics Subramanian Ramamoorthy School of Informatics 18 January, 2010.

Similar presentations


Presentation on theme: "Structure and Synthesis of Robot Motion Kinematics Subramanian Ramamoorthy School of Informatics 18 January, 2010."— Presentation transcript:

1 Structure and Synthesis of Robot Motion Kinematics Subramanian Ramamoorthy School of Informatics 18 January, 2010

2 What is Kinematics? Kinematics (Greek κινειν, kinein, to move) is a branch of classical mechanics which describes the motion of objects without consideration of the circumstances leading to the motion. As opposed to dynamics - which studies relation between motion of objects and its causes. Robot kinematics is the study of the motion of robots. In a kinematic analysis the position, velocity and acceleration of all the links are calculated without considering the forces that cause this motion. Robot kinematics deals with aspects of redundancy, collision avoidance and singularity avoidance. 18/01/2010Structure and Synthesis of Robot Motion2

3 Why might we Ignore Causes of Motion Many possible reasons: To get a temporary handle on constraints To restrict the solution space for the more detailed problem Because, sometimes, that is enough (e.g., animation) or even just kinematics can be hard (e.g., biology or surgery) For now: We will discuss this classical view of robot motion In many modern problems, the strict separation of concerns may be hard to achieve – E.g., Humanoid walking is an intricate mix of kinematics and dynamics 18/01/2010Structure and Synthesis of Robot Motion3

4 Recap: Describing 3-dim motion 18/01/2010Structure and Synthesis of Robot Motion4

5 Recap: Combined 3-dim Rotations If a robot/object consists of many links/parts, we could compute position of any end with respect to a base via an appropriate sequence of transformations: 18/01/2010Structure and Synthesis of Robot Motion5 Where are these two points w.r.t. each other?

6 A Typical Scenario Many robotics problems involve a workspace goal that needs to be achieved through joint space actions Translating between the two coordinate systems requires thinking through a sequence of coord. Frames In the figure: – How does object motion translate to robot manipulator motion? 18/01/2010Structure and Synthesis of Robot Motion6

7 Anatomy of a Typical Robot Manipulator joints links gripper (end effector) Manipulator model from: http://uwf.edu/ria/robotics/robotdraw/4dofform.htm 18/01/20107Structure and Synthesis of Robot Motion

8 Two Aspects of Kinematics Forward Kinematics – Given joint angles, compute the transformation between world & gripper coordinates – Relatively straightforward Inverse Kinematics – Given the transformation between world coordinates and an arbitrary frame, compute the joint angles that would line your gripper coordinates up with that frame. – More complex 18/01/20108

9 Forward Kinematics 18/01/2010Structure and Synthesis of Robot Motion9 Scenario: You have a robotic arm that starts out aligned with the x o -axis. You tell the first link to move by  1 and the second link to move by  2 Question: What is the position of the end of the robotic arm? Solution: Use transformation matrices from earlier lecture

10 H = R z (  1 ) * T x1 (l 1 ) * R z (  2 ) * T x2 (l 2 ) * R z (  3 ) i.e. Rotating by  1 will put you in the X 1 Y 1 frame. Translate in the along the X 1 axis by l 1. Rotating by  2 will put you in the X 2 Y 2 frame. and so on until you are in the X 3 Y 3 frame. The position of the yellow dot relative to the X 3 Y 3 frame is (l 1, 0). Multiplying H by that position vector will give you the coordinates of the yellow point relative the the X 0 Y 0 frame. Locate the Yellow Dot in Base Frame X2X2 X3X3 Y2Y2 Y3Y3 11 22 33 1 23 X1X1 Y1Y1 X0X0 Y0Y0 18/01/201010Structure and Synthesis of Robot Motion Rotation, around z, by Y 2 Translation, along x 2, by l 2

11 X2X2 X3X3 Y2Y2 Y3Y3 11 22 33 1 23 X1X1 Y1Y1 X0X0 Y0Y0 X4X4 Y4Y4 H = R z (  1 ) * T x1 (l 1 ) * R z (  2 ) * T x2 (l 2 ) * R z (  3 ) * T x3 (l 3 ) This takes you from the X 0 Y 0 frame to the X 4 Y 4 frame. The position of the yellow dot relative to the X 4 Y 4 frame is (0,0). Notice that multiplying by the (0,0,0,1) vector will equal the last column of the H matrix. Variation: New Coordinate Frame at the Dot 18/01/201011Structure and Synthesis of Robot Motion

12 Denavit-Hartenberg Convention A Standard Description involving 4 parameters: a (i-1) : Length of perpendicular between joint axes  (i-1) : Amount of rotation around the common perpendicular so that the joint axes are parallel d (i-1) : The displacement along the Z i axis needed to align the a (i-1) to the a i common perpendiculars.  i : Amount of rotation around the Z i axis needed to align the X (i-1) axis with the X i axis. 18/01/2010Structure and Synthesis of Robot Motion12

13 Transformation Matrices from DH Convention 18/01/2010Structure and Synthesis of Robot Motion13 Z (i - 1) X (i -1) Y (i -1)  ( i - 1) a (i - 1 ) Z i YiYi XiXi aiai didi  i

14 11 X Y S Revolute and Prismatic Joints Combined (x, y) Find Angle : More Specifically : arctan2() specifies that it’s in the first quadrant Finding S : Inverse Kinematics: Simplest Example 18/01/201014Structure and Synthesis of Robot Motion

15 22  (x, y) l2l2 l1l1 Given: l 1, l 2, x, y Find:  1,  2 Redundancy: A unique solution to this problem does not exist - two solutions are possible. Sometimes no solution is possible. (x, y) l2l2 l1l1 l2l2 l1l1 Bit More Complex: 2-link Manipulator 18/01/201015Structure and Synthesis of Robot Motion

16 l1l1 l2l2 22 11  (x, y) Solving for the Joint Angles 18/01/2010Structure and Synthesis of Robot Motion16

17 Solving for Joint Angles, Contd. 18/01/2010Structure and Synthesis of Robot Motion17

18 Things can Begin to Get Complicated… This is still within our model: But, we’d like to avoid tedious calculations like in last slide 18/01/2010Structure and Synthesis of Robot Motion18 Keep feet fixed Hands should follow the mouse

19 Use of the Jacobian Chain of links maps a set of input variables (Joint Angles) to end effecter variables: The Jacobian is defined as: A transformation from joint velocities to end-point velocities: 18/01/2010Structure and Synthesis of Robot Motion19

20 Jacobian: A Simple Example 18/01/2010Structure and Synthesis of Robot Motion20

21 Using the Jacobian Inverse Use task level goals to figure out how end effecter should move - V Solve for the joint angle velocities: Some pitfalls: – J might be singular – Overdetermined system Concept of Pseudoinverse: 18/01/2010Structure and Synthesis of Robot Motion21 When is this singular?

22 Jacobian of the 2-link Arm 18/01/2010Structure and Synthesis of Robot Motion22

23 Where are the Singularities in 2-link Arm? 18/01/2010Structure and Synthesis of Robot Motion23 = 0!

24 Regularizing the Inverse While the pseudoinverse will yield a solution, it may not be the right one always What are the criteria? One way to handle this is to define additional optimisation criteria: 18/01/2010Structure and Synthesis of Robot Motion24

25 Dealing with Ill-Posedness: Heuristic Optimisation Most real problems we care about will take us into these deep waters – hard to get the “correct” solution One practical approach that is favoured in animation is Cyclic Coordinate Descent – Iterative heuristic procedure, one joint at a time – When faced with a large task, prioritise hierarchically and make easy choices first – Other similar heuristics may also be useful Even so, with branching and multiple chains, one needs more care! 18/01/2010Structure and Synthesis of Robot Motion25 p1p1      p2p2

26 Other Issues: Closed Chains 18/01/2010Structure and Synthesis of Robot Motion26 Many of our approximations (e.g., Regularized Inverses) may be subject to peculiar constraints such as loop closure.

27 Learning Inverse Kinematics The relationships we have been discussing are fairly well defined, involving trigonometric functions, etc. It should be possible to approximate/learn them from data Main problem: Inverse kinematics is an ill-posed problem – there are potentially large number of solutions due to redundancies and singularities – This makes the learning problem non-convex One solution, use localized learning – e.g., A. D’Souza, S. Vijayakumar, S. Schaal, Learning Inverse Kinematics, Proc. IROS 2001 18/01/2010Structure and Synthesis of Robot Motion27

28 Locally Weighted Learning for IK Use many local models with restricted regions of applicability: The Jacobian can be represented in terms of weighted sums, involving suitable kernels (e.g., Gaussian receptive fields) Then, learning becomes an iterative process involving targets: 18/01/2010Structure and Synthesis of Robot Motion28

29 Hard Kinematics Problem 1: Constraints & Scale 18/01/2010Structure and Synthesis of Robot Motion29 Source: J-C. Latombe, Stanford.

30 Hard Kinematics Problem 2: Flexibility, High-DOF, Complex Dynamics 18/01/2010Structure and Synthesis of Robot Motion30 DockingShop Rendering of HIV-1 Protease in Complex with the Cyclic Sulfamide Inhibitor Aha006 (PDB code 1AJV). Source: LBL.

31 Hard Kinematics Problem 3: Dealing with Non-rigid Objects 18/01/2010Structure and Synthesis of Robot Motion31 Source: J-C. Latombe, Stanford.

32 Summary We looked at forward and inverse kinematics Forward: Given joint angles, where is the end point? Inverse: If I want end point here, what are the angles? Latter is harder – analytical solutions are tedious and multi-valued, often use local approximations – Could use Machine Learning Other challenging issues: Although we classified problems into categories, real world problems are more diverse (e.g., humans are not really rooted trees) 18/01/2010Structure and Synthesis of Robot Motion32


Download ppt "Structure and Synthesis of Robot Motion Kinematics Subramanian Ramamoorthy School of Informatics 18 January, 2010."

Similar presentations


Ads by Google