• 领导讲话
  • 自我介绍
  • 党会党课
  • 文秘知识
  • 转正申请
  • 问题清单
  • 动员大会
  • 年终总结
  • 工作总结
  • 思想汇报
  • 实践报告
  • 工作汇报
  • 心得体会
  • 研讨交流
  • 述职报告
  • 工作方案
  • 政府报告
  • 调研报告
  • 自查报告
  • 实验报告
  • 计划规划
  • 申报材料
  • 当前位置: 勤学考试网 > 公文文档 > 研讨交流 > 正文

    机器人技术实验报告x

    时间:2020-11-20 12:51:38 来源:勤学考试网 本文已影响 勤学考试网手机站

    精品文档

    精品文档

    i

    i欢迎下载

    工业机器人Matlab仿真

    实验报告

    指导老师:

    姓名:

    班级:

    学号:

    2013年10月28日

    精品文档

    精品文档

    PAGE

    PAGE #欢迎下载

    实验内容(一)

    利用三次多项式规划出关节角运动轨迹,并在 Matlab环境下绘制出轨迹 曲线。

    题目:假设有一旋转关节的单自由度操作臂处于静止状态时,初始角位置 e 0=15,要求经过3s平滑运动以后该关节停止在终止角 e f=75的地方,试

    规划出满足以上要求的关节轨迹。并在 Matlab环境下绘制轨迹曲线。

    (a) e 0=15, e f=75, t f = 3; (b) e 0=15, e f = 45, t f = 4;

    (c) e 0=30, e f=75, t f = 3; (d) e o=3O, e f=45, t f = 5;

    (e) e 0=30, e f=60, t f = 3;

    熟悉机器人工具箱Robotics Toolbox,阅读robot.pdf文档,应用工具箱 中transl、rotx、roty和rotz函数得到平移变换和旋转变换的齐次变换 矩阵,而复合变换可以由若干个简单变换直接相乘得到。并与课堂上学习 的平移矩阵和旋转矩阵作对比,观察一致性。

    解:transl平移变换举例:机器人在x轴方向平移了 0.5米,那么我们可 以用下面的方法来求取平移变换后的齐次矩阵:

    程序如下:tran sl(0.5,0,0)

    结果如下:ans =

    1.0000 0 0 0.5000

    0 1.0000 0 0

    0 0 1.0000 0

    0 0 0 1.0000

    Rotx旋转变换举例:机器人绕x轴旋转45度,那么可以用rotx来求取旋转后 的齐次矩阵:

    程序如下:rotx(pi/4)

    结果如下:ans =

    1.0000 0 0

    0 0.7071 -0.7071

    0 0.7071 0.7071

    Roty旋转变换举例:机器人绕y轴旋转90度,那么可以用roty来求取旋转后

    的齐次矩阵:

    程序如下:

    roty(pi/2)

    结果如下:

    ans =

    0.0000

    0

    1.0000

    0

    0

    1.0000

    0

    0

    -1.0000

    0

    0.0000

    0

    0

    0

    0

    1.0000

    Rotz旋转变换举例如下:机器人绕z轴旋转-90度,那么可以用rotz来求取旋

    转后的齐次矩阵:

    程序如下:

    rotz(-pi/2)

    结果如下:

    ans =

    0.0000

    1.0000 0

    0

    -1.0000

    0.0000 0

    0

    0

    0 1.0000

    0

    0

    0 0

    1.0000

    结论:多次调用函数再组合,和我们学习的平移矩阵和旋转矩阵做个对比,结 果是一致的。

    在机器人工具箱 Robotics Toolbox 中,应用Link函数、robot函数构建

    机器人对象。(详细了解link, robot 函数的调用格式)

    答:link程序如下:

    L1 = lin k([0 0 0 0 0]);

    L2 = lin k([-pi/2 0 0 0 1]); % 移动关节

    L3 = lin k([0 0 0 0 1]); % 移动关节

    L4 = lin k([pi/2 0 0 0.4318 0]);

    L5 = lin k([-pi/2 0 0 0 0]);

    L6 = lin k([0 0 0 0 0]);

    Robot程序如下:

    r = robot({L1 L2 L3 L4 L5 L6}); % 构建机器人

    r.n ame = 'robot001'; % 命名

    qA = [0 0 0 0 0 0];

    TB = [-0.6533 0.2706 -0.7071 -0.6318

    0.4571 -0.6036 -0.6533 0

    -0.6036 -0.75 0.2706 0.15

    0 0 0 1];

    qAB = ikine(r, TB); % 对TB进行运动学逆问题求解

    %它说明机械手由A到B,关节1需要正向转动1.5708rad,

    %关节2和3需要向前移动0.15和0.2m,

    %最后三个关节需要各自转动 0.3927,0.7854,0.3927rad

    精品文档

    精品文档

    X PAGE

    X

    PAGE #欢迎下载

    TC = [0.3361 -0.2075 -0.9187 -0.4821

    0.8669 -0.3131 0.3879 0.4821

    -0.3681 -0.9268 0.0747 0.18

    0 0 0 1];

    Ikine程序如下:

    qBC = ikine(r, TC) - ikine(r, TB); % 由 B 至U C t = 0:0.025:2;

    q = jtraj(qA, qAB, t);

    Plot程序如下:plot(r, q); % 绘图

    Robot函数举例:

    0.4

    0.4

    精品文档

    精品文档

    PAGE

    PAGE #欢迎下载

    实验内容(二):

    函数实(1)应用Robotics Toolbox 工具箱提供的ct⑻、jt⑻ 和trinterp

    函数实

    现笛卡尔规划、关节空间规划和变换插值。

    答:ct⑻举例

    程序如下:TO = tran sl([1 1 1]);

    T1 = tran sl([-3 5 2]);

    TC1 = ct⑻(T0, T1, 101);

    t1 = [0:0.01:1];

    figure, plot(t1, tran sl(TC1));

    t2 = [0:0.05:20];

    r = jtraj(0, 1,⑵;

    TC2 = ct⑻(T0, T1, r);

    figure, plot(t2, tran sl(TC2));

    轨迹如下:

    0

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8 0.9 1

    % jt⑻轨迹规划测试 puma560;

    50mst = 0:0.05:2; % 在2秒内完成某个动作,采样间隔是

    50ms

    [q, qd, qdd] = jt⑻(qz, qr, t);

    figure, plot (t, q)

    figure, plot3 (t, q(:,2), q(:,3))

    figure, plot (t, qd)

    figure, plot (t, qdd)

    结果如下:

    2.5

    2

    1.5

    1

    0.5

    0

    -0.5

    -1

    -1.5

    -2

    -2 5 [ [ [: j c 1 1 c 1 r

    '0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

    1.5

    0.5

    -0.5

    -1

    -1.5

    0.2

    0.4

    0.6

    0.8

    1.2

    1.4

    1.6

    1.8

    -0.5

    -1

    -1.5

    -2

    1.5

    1.5

    0.5

    0.5

    % tri nterp 进行轨迹差值

    TO = tran sl([1 1 1]);

    T1 = tran sl([-3 5 2]);

    trin terp(TO, T1, 0)

    trin terp(TO, T1, 0.3)

    trin terp(TO, T1, 0.5)

    trin terp(TO, T1, 0.8)

    trin terp(T0, T1, 1)

    结果:由于电脑问题,图片无法显示。

    (2)利用Robotics Toolbox 工具箱提供的fkine函数实现机器人运动学正问 题的求解。

    % fkine函数实现机器人运动学正问题的求解 puma560

    t = 0:0.056:2;

    q = jt⑻(qz, qr, t);

    T = fkin e(p560, q); % T

    是 个三维的矩阵,前两维是 4X4的矩阵代表坐标

    变化,第三维是时间

    结果如下:经过运行,我们得到的是一系列从关节到手部末端执行器的空间 T

    矩阵,其第一个和最后一个如下:

    T(:,:,1)=

    1.0000 0 0 0.4521

    0 1.0000 0 -0.1500

    0 0 1.0000 0.4318

    0

    0

    0 1.0000

    T(:,:,36)=

    1.0000

    0

    0 0.0203

    0

    1.0000

    0 -0.1500

    0

    0

    1.0000 0.8636

    0

    0

    0 1.0000

    实验内容(三)

    利用Robotics Toolbox工具箱提供的ikine函数实现机器人运动学逆问题的求 解。

    qA = [0 0 0 0 0 0];

    TB = [-0.6533 0.2706 -0.7071 -0.6318

    0.4571 -0.6036 -0.6533 0

    -0.6036 -0.75 0.2706 0.15

    0 0 0 1];

    qAB = ikine(r, TB); % 对TB进行运动学逆问题求解

    %它说明机械手由A到B,关节1需要正向转动1.5708rad,

    %关节2和3需要向前移动0.15和0.2m,

    %最后三个关节需要各自转动 0.3927,0.7854,0.3927rad

    TC = [0.3361 -0.2075 -0.9187 -0.4821

    0.8669 -0.3131 0.3879 0.4821

    -0.3681 -0.9268 0.0747 0.18

    0 0 0 1];

    Ikine程序如下:

    qBC = ikine(r, TC) - ikine(r, TB); % 由 B 至U C

    (1)利用Robotics Toolbox 工具箱提供的inertia 函数计算机械臂关节空间

    的惯性矩阵。

    (2)在机器人轨迹规划之后,利用 Robotics Toolbox工具箱中的plot函数来 实现对规划路径的仿真(动画演示)。

    答:Plot程序如下:plot(r, q); % 绘图

    运行后结果图如下:

    欢迎您的下载,

    资料仅供参考!

    致力为企业和个人提供合同协议,策划案计划书,学习资料等等

    打造全网一站式需求

    • 考试时间
    • 范文大全
    • 作文大全
    • 课程
    • 试题
    • 招聘
    • 文档大全

    推荐访问