文档详情

5)机器人轨迹规划.docx

发布:2016-11-27约4.02千字共14页下载文档
文本预览下载声明
实验(5)机器人轨迹规划实验 一、实验目的: 理解机器人轨迹规划的相关概念; 对构建的机器人进行速度分析; 能够使用simulink构建机器人仿真模型。 二、路径描述和路径生成 轨迹描述了操作臂在多维空间中的期望运动。轨迹指每个自由度的位置、速度和加速度的时间历程。由用户通过简单的描述来指定机器人的期望运动,然后由系统来完成详细的计算,确定到达目标的准确路径、时间历程、速度和加速度曲线等。 轨迹生成问题: 1)通过表达式计算轨迹的问题; 2)在轨迹生成的运行时间内要计算位置、速度和加速度; 3)计算轨迹点的速率—路径更新率(60Hz-2000Hz)。 机器人操作臂的运动看作是工具坐标系{T}相对于工作台坐标系{S}的运动。工具坐标系从当前值{Tinitial}移动到最终端期望值{Tfinal},其运动包括工具相对于工作台的姿态和位置变化。 路径点一般由:初始点、最终点和中间点。 图1 机器人操作臂的运动 三、轨迹规划方法 研究以关节角的函数来描述轨迹(在时间和空间)的轨迹生成方法。每个路径点由工具坐标系{T}相对于工作台坐标系{S}的期望位姿来确定;应用逆运动学,将中间点“转换”成一组期望的关节角;得到经过各中间点并终止于目标点的n个关节的光滑函数。对于每个关节,由于各路径段所需的时间是相同的,因此所有的关节将同时到达各中间点,从而得到{T}在每个中间点上的期望的笛卡尔位姿。 (1)一维情况下的轨迹用多项式表示: 轨迹所对应的速度和加速度: 当t=(0-T)时,可以得到如下的矩阵: 在matlab robot toolbox中对应的5次多项式轨迹生成的函数: tpoly 函数原型为 [S,SD,SDD] = tpoly(S0, SF, M) 其中, S0为初始位置,SF为终止位置,M为步数。 S为轨迹,SD为速度,SDD为加速度 例1: [s,sd,sdd]=tpoly(0,1,100); subplot(3,1,1) plot(s) ylabel(s); subplot(3,1,2) plot(sd) ylabel(sd); subplot(3,1,3) plot(sdd) ylabel(sdd); 例2:初始化速度为0.5,末端速度为0. [s,sd,sdd]= tpoly(0, 1, 100, 0.5, 0); subplot(3,1,1) plot(s) ylabel(s); subplot(3,1,2) plot(sd) ylabel(sd); subplot(3,1,3) plot(sdd) ylabel(sdd); LSPB(parabolic blend 抛物线拟合)书本p168 LSPB函数原型: [S,SD,SDD] = lspb(S0, SF, M)(1) [S,SD,SDD] = lspb(S0, SF, M, V)(2) 其中,S0为初始位置,SF为终止位置,M为步数,V为线性段的速度值(不可随便取值,可以先执行函数(1)后获取最大和最小的线性速度,max(sd)和min(sd)); S为轨迹,SD为速度,SDD为加速度 例3. [s,sd,sdd] = lspb(0, 1, 100) subplot(3,1,1) plot(s) ylabel(s); subplot(3,1,2) plot(sd) ylabel(sd); subplot(3,1,3) plot(sdd) ylabel(sdd); 例4,不同线性速度情况 [s,sd,sdd] = lspb(0, 1, 100,0.015) subplot(3,1,1) plot(s,r ) ylabel(s); hold on; subplot(3,1,2) plot(sd,r ) ylabel(sd); hold on; subplot(3,1,3) plot(sdd,r ) ylabel(sdd); hold on; [s,sd,sdd] = lspb(0, 1, 100,0.012) subplot(3,1,1) plot(s,b ) ylabel(s); subplot(3,1,2) plot(sd,b ) ylabel(sd); subplot(3,1,3) plot(sdd,b ) ylabel(sdd); (2)多维情况下的轨迹规划 函数mtraj mtraj函数原型: [Q,QD,QDD] = mtraj(TFUNC, Q0, QF, M) 其中,TFUNC为使用一维轨迹规划函数(tploy、lspb等),Q0和QF为起始和结束时的多维位置值。 使用方法如下: [Q,QD,QDD] = mtraj(@tpoly, [0 2], [1 -1], 50); subplot(3,1,1) plot(Q) ylabel(s); subplo
显示全部
相似文档