实验(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.
[s,sd,sdd]= tpoly(0, 1, 100, , 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,)
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,)
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为使用一维轨
5)机器人轨迹规划 来自淘豆网m.daumloan.com转载请标明出处.