matlab机器人工具箱qlim,Matlab机器人工具箱——动力学

文章目录

前言

本文主要介绍串联机械臂的动力学与控制。机械臂上每一个连杆由前一个连杆的反作用力和力矩支撑,另外它还受自身的重力,以及来自它所支撑的后一个连杆的反作用力和力矩。

正向动力学

正向动力学是已知施加各个关节上电机提供的力/力矩,在此力矩作用下,关节如何运动,求对应各个关节角度、角速度、角加速度。

以Puma560机器人为例,直接在命令行输入代码:

mdl_puma560

即可直接调用工具箱中的Puma560模型,在给定关节坐标(q)、关节速度(qd)和所施加的力矩(Q)的条件下,关节加速度可以用Serial-Link对象的accel方法计算得到:

qdd=p560.accel(q,qd,Q)

该功能也封装在Simulink的Robot模块中,以下为其应用的一个示例,直接在命令行输入:

sl_ztorque

如图1所示,施加给机器人的力矩为0,初始关节角被设定为Robot模块的一个参数,这里为“0角度位姿”。运行该仿真:

a88aaca7cb2cbc8a5685edaacdb3b54d.png

r=sim('sl_ztorque');

关节角作为随时间变化的函数被返回到r对象中:

t=r.find('tout');

q=r.find('yout');

我们用动画演示机器人的运动:

p560.plot(q,'trail','b-','movie','r.gif')

0f42c871d1005ee6556286d888379405.gif

可以看到它在重力作用下崩溃,因为没有力矩来对抗重力来保持机器人直立。肩关节和肘关节都会垂下来并来回摆动。

我们还可以绘制出随时间变化的关节角度:

plot(t,q(:,1:3))

title('关节角度曲线');

leg


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部