4R动机器人逆运动学—基于MATLAB

所需积分/C币:9 2018-08-05 15:12:35 904KB PDF

许多低成本的爱好类机器人,只有4个关节(自由度)。本文档描述了如何用MATLAB的机器人工具箱1来确定这种机器人的逆运动学。
2 MOVING TO A POSE a- px ikin(, az, l-10001 Warning: Initial joint angles results in near-singular configuration, this may slow converge In Seriallink iine at 140 0.6747 2.6132 1.9831 2.3849 ote that we have specified a mask value of (1, 1,,, 0, 0)which indicates that we only care about errors in the x- y- and 7-directions, rotational errors are to be ignored. The error message simply indicates that the Jacobian, required at each iteration, is singular for the initial set of joint angles. Which is shown in Figure 3(a). While this looks rather awkward the tool position is ndeed what we requested > px. fkirc(a) ars 0.7746 0.6247 0.0986100.0000 0.61970.73090.078980.000 0.1263 0.0000-0.9920-/0.0C00 1.000 as indicated by the top three values in the rightmost column Inversc kincmatics is, in gcncral, not uniqucly dcfincd. Thcrc arc sevcral arm config. urations that will give the same tool position. The numerical method has just chosen the awkward one. In the less awkward configuration we chose earlier using the teach pendant we see that a3 was negative. With a bit of trial and error, guided by the configuration we achieved using the teach pendant, we find that >>q=px. kine(Tcr[0.51-1-0.5],[1110001) 0.6747 0.8000-1.6280 0.8655 >>p×.p1ot(q gives a reasonable looking solution, as shown in Figure 3(b) 2 Moving to a pose Looking from above as shown in Figure 4(a) we can see that the arm is a straight line and its angle is a function only of q1, the waist joint. The effective length of the line is a function of 2, 93 and 4. The height of the lool tip, as shown in Figure 4 is also a function of (2: q3 and q4. So while there is only one possible value of q1, there infinite number of values of 2, g3 and g4-it is a 3-bar linkage pinned at each end. ea particular choice of 2, y3 and g results in a dillerent orientalion of the lools Z-direction this is an unconstrained degree of freedom 3 Copyright Peter Corke 2014 2 MOVING TO A POSE Figure 3: Two solutions for the tool tip position(100, 80, -70 PhaNtom 10 2CO X Figure 1: Two views of the robot at tool tip position(100, 80, -70) 4 Copyright Peter Corke 2014 3 MOVING TO A POSE 3 Moving to a pose Now we want to control the orientation of the tool as well. The construction of the robot only allows us to control the tool z-direction. The only way we could change the tool x or y-direction would be to rotate g1 but this would violate the position requirement. For an underactuated robot arm it is critically import ant to underst and what the mechanism can and cannot do, particularly when we are talking about controlling pose The first step is to specify the desired pose. If we look at the value we set above > Td Td= 0103 1-000 8 we see that the rotation part, is an identity matrix, which has desired tool z-direction pointing upward in the world z-direction, as defined by the third column. This is impos sible for the robot to achieve. to be reaching down towards the table top with its finger tips pointing upwards, as well as being non-useful for picking up an object on the table We need to set the orientation part of the desired tool pose and we do that by >>"d= trans(「10080-701)+Oa2tx(「0-101,「00-11) 010 8 0 0 which postmultiplies by a rotational transform that has its z-axis in the negative world z- direction(downward)and its y-axis in the negative world y-direction. The third column now indicates negative world z-direction The only remaining degree of freedom is evident when we look at the robot side on the tool z-axis is not pointing quitc downward. In ordcr to change things so that it is we must rotate the end-effector frame >>q=px. kine(rd;[0.51-1-0.5],[1111001) Warning: Initial joint angles results in near-singular configuration, this may slow converge Tn Seriallinki<ine at 140 0.67470.69541.8288-0.6174 > px Ikire(q) ar s 0.7809 0.6247 0.0000100.0200 Copyright Peter Corke 2014 REFERENCES 0.6247 0.7809 0.000080.000 0.000-0.0000-1.0000-70.0000 1.000 >>p×.p1ot(q) 44 DOF arm The fundamental problem is that we normally specify the pose of the robot' s end-effector in terms of the full orientation of the frame e. However with only one orientation degree of freedom we cannot achieve an arbitrary pose. At best we can specify the direction of one of the unit -vector columns of the orthonormal rotation matrix the n, o or a vector. If we want the gripper jaws pointing straight down then a=[00-1. If we want the gripper jaws in the horizontal plane then n=001. However if we wanted the gripper jaws to pointing downwards at 45 degrees the orientation would be a lunction ol the gripper position- we lose the benefit of decoupling tool position and orientation Consider instead that the tool orient ation was expressed with respect a new frame IV which has its origin coincident with E but its y- and -axes lie in the world horizontal plane References [1 P. I. Corke, Robotics, Vision E Conlrol: Fundamerlal Algorilhns in MATLAB Springer,201l.IsBN9783-64220143-1 6 Copyright Peter Corke 2014

...展开详情
img
Elen005
  • 分享宗师

    成功上传21个资源即可获取

关注 私信 TA的资源

上传资源赚积分,得勋章
最新资源