利用Denavit-Hartenberg参数构建机械手机器人

2025-10-22 14:06:59

1、DH参数定义了机器人的几何形状,与每个刚体如何连接到其父体有关。为了方便,在矩阵中设置Puma560机器人的参数。Puma机器人是一个串行链操作器。DH参数相对于矩阵中之前的直线,对应于之前的关节附着。

命令行键入:

dhparams = [0 pi/2 0 0;

0.4318 0 0 0

0.0203 -pi/2 0.15005 0;

0 pi/2 0.4318 0;

0 -pi/2 0 0;

0 0 0 0];

利用Denavit-Hartenberg参数构建机械手机器人

2、创建一个刚体树对象来构建机器人。

命令行键入:

robot = robotics.RigidBodyTree;

利用Denavit-Hartenberg参数构建机械手机器人

3、创建第一个刚体并将其添加到机器人中。加入刚体

创建一个RigidBody对象并给它一个唯一的名称。

命令行键入:

body1 = robotics.RigidBody('body1');

利用Denavit-Hartenberg参数构建机械手机器人

4、创建一个联合对象并给它一个唯一的名称。

命令行键入:

jnt1 = robotics.Joint('jnt1','revolute');

利用Denavit-Hartenberg参数构建机械手机器人

5、使用setFixedTransform指定使用DHparameters的从主体到主体的转换。DH参数的最后一个元素,被忽略了,因为这个角度依赖于关节的位置。

命令行键入:

setFixedTransform(jnt1,dhparams(1,:),'dh');

利用Denavit-Hartenberg参数构建机械手机器人

6、命令行键入:

addBody(robot,body1,'base')

利用Denavit-Hartenberg参数构建机械手机器人

7、创建并添加其他刚体到机器人。指定发送addBody以附加它的前一个主体名称。每个固定变换相对于前一个关节坐标系。

命令行键入:

body2 = robotics.RigidBody('body2');

jnt2 = robotics.Joint('jnt2','revolute');

body3 = robotics.RigidBody('body3');

jnt3 = robotics.Joint('jnt3','revolute');

body4 = robotics.RigidBody('body4');

jnt4 = robotics.Joint('jnt4','revolute');

body5 = robotics.RigidBody('body5');

jnt5 = robotics.Joint('jnt5','revolute');

body6 = robotics.RigidBody('body6');

jnt6 = robotics.Joint('jnt6','revolute');

setFixedTransform(jnt2,dhparams(2,:),'dh');

setFixedTransform(jnt3,dhparams(3,:),'dh');

setFixedTransform(jnt4,dhparams(4,:),'dh');

setFixedTransform(jnt5,dhparams(5,:),'dh');

setFixedTransform(jnt6,dhparams(6,:),'dh');

body2.Joint = jnt2;

body3.Joint = jnt3;

body4.Joint = jnt4;

body5.Joint = jnt5;

body6.Joint = jnt6;

addBody(robot,body2,'body1')

addBody(robot,body3,'body2')

addBody(robot,body4,'body3')

addBody(robot,body5,'body4')

addBody(robot,body6,'body5')

利用Denavit-Hartenberg参数构建机械手机器人

8、使用showdetails或show函数验证您的机器人是否正确构建。showdetails列出MATLAB命令窗口中的所有主体。show显示带有给定配置(默认为home)的therobot。调用axis修改axis限制并隐藏axis标签。

命令行键入:

showdetails(robot)

利用Denavit-Hartenberg参数构建机械手机器人

9、命令行键入:

show(robot);

axis([-0.5,0.5,-0.5,0.5,-0.5,0.5])

axis off

利用Denavit-Hartenberg参数构建机械手机器人

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢