A robot arm has a series of axis movements that determine the position and orientation of its ‘end effector’. As we move from the base coordinates, we can move down the elements of the arm, defining new sets of axes as we go. So we string 4 by 4 matrices together, representing axis angles or displacements, so that we arrive at the position and orientation of the end-effector that does the work. To avoid confusion we can separate out each individual action, such as an individual rotation or an individual translation down a limb, so that they are only combined when we multiply their matrices together. We have to be clear about the order in which to put the matrices. If the hand is just a translation L in the x direction from the elbow, then a point with coordinates (x, y, z, 1) relative to the hand would have coordinates (x + L, y, z, 1) relative to the elbow. So if we think of ‘travelling back from the hand', the matrices will build up from right to left. If we think of ‘travelling out from the base', they will build up from left to right. So for something like the classic Puma, we might end up with a product of: (waist rotate)(shoulder rotate)(translate shoulder to elbow)(elbow rotate) (translate elbow to wrist)(wrist rotate) - and so on, in that order. But when you come to the grind of multiplying the matrices together, as long as you keep them in the right order you can pair them off in any way that you wish, starting from the right or left or even in the middle. This is one of the more straightforward tasks. If you are designing a robot controller, you will have the problem of ‘inverse kinematics', of calculating a set of axis angles to give some desired position and orientation of the end-effector. But that is another story.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Kinematic chains

  • John Billingsley

摘要

A robot arm has a series of axis movements that determine the position and orientation of its ‘end effector’. As we move from the base coordinates, we can move down the elements of the arm, defining new sets of axes as we go. So we string 4 by 4 matrices together, representing axis angles or displacements, so that we arrive at the position and orientation of the end-effector that does the work. To avoid confusion we can separate out each individual action, such as an individual rotation or an individual translation down a limb, so that they are only combined when we multiply their matrices together. We have to be clear about the order in which to put the matrices. If the hand is just a translation L in the x direction from the elbow, then a point with coordinates (x, y, z, 1) relative to the hand would have coordinates (x + L, y, z, 1) relative to the elbow. So if we think of ‘travelling back from the hand', the matrices will build up from right to left. If we think of ‘travelling out from the base', they will build up from left to right. So for something like the classic Puma, we might end up with a product of: (waist rotate)(shoulder rotate)(translate shoulder to elbow)(elbow rotate) (translate elbow to wrist)(wrist rotate) - and so on, in that order. But when you come to the grind of multiplying the matrices together, as long as you keep them in the right order you can pair them off in any way that you wish, starting from the right or left or even in the middle. This is one of the more straightforward tasks. If you are designing a robot controller, you will have the problem of ‘inverse kinematics', of calculating a set of axis angles to give some desired position and orientation of the end-effector. But that is another story.