第六章 轨迹规划
《机器人技术概论》讲义之欧阳德创编

《机器人技术概论》讲义目录第一章机器人概论- 1 -《机器人概论》研究的内容- 1 -什么是机器人?- 1 -机器人的发展- 2 -为什么要发展机器人?- 3 -机器人发展的三个阶段- 3 -机器人学- 4 -机器人的分类- 4 -第二章机器人的数学基础- 6 -第一节位置和姿态的表示- 6 -第二节坐标变换- 7 -第三节齐次变换- 8 -第三章机器人运动学- 11 -第一节机器人运动方程的表示- 11 -第二节连杆变换矩阵及其乘积- 12 -第四章机器人的感觉系统- 18 -第一节传感器原理简介- 18 -第二节传感器在机器人中的应用- 20 -第五章机器人驱动与控制技术- 28 -第一节驱动电机- 28 -第二节位置控制- 30 -第六章机器人轨迹规划- 35 -第一节轨迹规划的一般性问题- 35 -第二节关节轨迹的插值- 35 -第三节移动机器人路径规划- 38 -第一章机器人概论《机器人概论》研究的内容在机器人研究中,我们通常在三维空间中研究物体的位置。
这些物体可用两个非常重要的特性来描述:位置和姿态。
我们会首先研究如何用数学的方法表示和计算这些参量。
运动学研究物体的运动,而不考虑引起这种运动的力。
在运动学中,我们研究位置、速度、加速度和位置变量对于时间和其它变量的高阶微分。
其中,正运动学方程描述各个关节变量在工具坐标系与基坐标系间的函数关系;逆运动学通过给定工具坐标系的位置和姿态,计算各个关节变量。
机器人与外界环境相互作用时,在接触的地方要产生力和力矩,统称为操作力矢量。
n个关节的驱动力(或力矩)组成的n 维矢量,称为关节力矢量。
静力学研究在静态平衡状态下,操作力向关节力映射存在着的线性关系。
动力学主要研究产生运动所需要的力。
为了使操作臂从静止开始加速,使末端执行器以一定的速度作直线运动,最后减速停止,必须通过关节驱动器产生一组复杂的力矩函数来实现。
机器人的感觉主要介绍产生机器人的力觉、视觉、触觉、接近觉等相关的传感器。
第6章-操作臂轨迹规划

较小,随后使其以恒定速度运动,在接近B点时再在较小的分段上减速。
另一种情况是轨迹规划的路径并非直线,而是某个期望路径(例如二次 曲线),这时必须基于期望路径计算出每个划分段的坐标,并进而计算出相 应的关节量,这样才能规划处操作臂沿期望路径的轨迹。
第6章 操作臂Байду номын сангаас迹规划
操作臂轨迹规划的目的:是生成运动控制系统的参考输入,以确保操
作臂完成规划的轨迹。这里的轨迹指的是每个自由度的位置、速度和加速度 的时间历程。
轨迹的组成:由生成一组由期望轨迹的内插函数(典型地为多项式)所得
到的时间序列值构成的。
轨迹的实现:路径和轨迹规划既要用到操作臂的运动学,也要用到操作臂
对操作臂而言,所设计的路径是从初始姿态到指定的最终姿态所包含的全 过程,其过渡过程由运动律来描述,运动律要求执行器施加到关节上的广义 力对操作臂本体不产生冲击或不产生谐振模式。
轨迹规划算法的输入包括路径描述、路径约束以及由操作臂动力学施加的 约束,其输出是按时间顺序给出的位置、速度和加速度的值构成的末端执行器 轨迹。
以上仅考虑了操作臂在A和B点之间的运动,如果要求操作臂顺序平稳地通 过这些点,则必须包括中间点和过渡点。
假设操作臂从A点经过B点运动到C点。 一种方法是从A向B先加速,再匀速,接 近B点减速并在达到B点时停止,然后由 B到C重复这一过程(包括了不必要的停 止动作)。另一种方法是将B点两边的运 动进行平滑过渡:先接近B点,然后沿平 滑过渡的路径重新加速,最终抵达并停止 在C点。
的动力学,并用到各种逼近处理的方法来实现操作臂在运动过程中保持受控 的运动序列。
1
6.1 轨迹规划的基本原理
第六章 轨迹规划

(0) 0 (t ) f f
6 ( )(1 t )t 4 t 2 t 3 ( )t 2 0 f 0 0 f f 0 2 t2 t t t t f f f f f 6 t 2 0 ( )(1 )t (3t 4t t ) f (3t 2 2t t ) 0 f 0 f f 2 2 t2 t t t f f f f
h b
t h tb
( f 0 ) / 2 b t f / 2 tb
f 0 2 b
t f 2tb
4( f 0 ) t2 f
2 f 0 tb
t f 2tb
2 tb t f tb ( f 0 ) 0
通用旋转变换为:
f x f x vers c f f vers f s z Rot ( f , ) x y f x f z vers f y s 0
等效转角与转轴
给出一任意旋转变换,可由上式求得等效转角与转轴。令:
nx n y nz 0 ox oy oz 0 ax ay az 0 0 f x f x vers c 0 f x f y vers f z s 0 f x f z vers f y s 1 0 f y f x vers f z s f y f y vers c f y f z vers f x s 0 f z f x vers f y s f z f y vers f x s f z f z vers c 0 0 0 0 1
7、机器人运动规划解析

第六章、机器人轨迹规划
战强
北京航空航天大学机器人研究所
第六章、机器人轨迹规划
控制
运动学
动力学
轨迹规划 关节 操作 空间 空间
反馈 轨迹 控制 控制 力 协调 控制 控制
轨迹:操作臂在运动过程中每时每刻的位置、速度和加速度。 轨迹规划:根据作业任务要求计算出预期的运动轨迹,分为关节 空间规划和操作空间规划两类。
1、三次多项式插值:
通过起始点关节角和终止点关节角 的运动轨迹可用一个光滑插值函数 (t ) 来表示。
为实现单关节的平稳运动,轨迹函数
(t ) 至少满足四个约束条件,两个端
θ
0
f
t 关节角轨迹光滑
点的角度约束和两个端点的速度约束。
0 )0 ( 角度约束: (t f ) f
由每一个节点可求出 一个相应的手臂变换 矩阵 6 0T
假设节点 P0 在坐标系{B}中的描述为 B P0 ,则
6 0 0 1 B 1 T W T W T B P0 E T 6 B B 1 I P0 W T W T I P0
0 1 I I E 1 由于 6 T T T P 0 W W 0 6T
由节点 P0 运动到 P1 ,相当于 6 0T 从
6 0 0 1 B 1 B B E 1 T W T W T B P0 E T T P 6 0 0 6T 0 1 B E 1 B B E 1 T W T W T B P T T P 1 6 0 1 6T
求解可得三次多项式的系数
a0 0 a1 0 1 a 3 ( ) 2 f 0 0 2 t2 f tf tf f 2 1 a3 3 ( f 0 ) 2 (0 f ) tf tf
第6章 工业机器人轨迹规划与编程

ABB RAPID程序编程
程序数据与分类
(7)转角区域数据zonedata zonedata用于规定如何结束一个位置,也就是在朝下一个位置移动之前,机器人必须如何 接近编程位置。
(8) 工具坐标数据tooldata 工具坐标数据Tooldata是用于描述安 装在机器人第六轴上的工具的TCP, 重量,重心等参数数据。
根据图中坐标位置关系,可以得到工具坐标系对应的计算公式。
其对应的矩阵为:
x'=(-sin30°,0,-cos30°)
y'=(0,1,0) z'=(cos30°,0,-sin30°)
sin 30 0 cos 30
0
1
0
cos 30 0 sin 30
通过计算,得到工具末端对应的四元素为
=(0.5,0,0.866,0)
◆任务级语言
任务级语言是智能化程度的机器人编程语言,它可根据使用者下达 的要求完成作业任务,并不需要解释机器人的每个动作,只需要给 定目标和相应的约束条件,机器人即可以根据环境信息自行学习、 计算,自动生成机器人轨迹。
ABB RAPID程序编程
RAPID模块格式
RAPID语言是ABB公司开发的专用机器人语言,适用于ABB工业机器人的编程,以 RobotStudio软件为编写平台。
ABB RAPID程序编程
四元数与轨迹规划
那么,可以得到一个旋转矩阵如下:
因此,四元素可以利用相对简洁的式子来表示
ABB RAPID程序编程
四元数与轨迹规划
例3:如图所示已知机器人基坐标系为
,第六轴末端,即法兰盘中心位置坐标系为
机器人工具末端坐标系为
,其中坐标轴 和坐标轴 之间的夹角为30°,求法兰盘
轨迹规划

机械臂轨迹规划一、基本参数1.初始位姿2.过渡位姿3.抓取位姿4.机械臂连杆参数二、运动学正解1.初始位姿:t1=(150)/180*pi t2=(-60)/180*pi t3=0T10=[cos(t1) -sin(t1) 0 0;sin(t1)*cos(0) cos(t1)*cos(0) -sin(0) 0; sin(t1)*sin(0) cos(t1)*sin(0) cos(0) 0; 0 0 0 1]T21=[cos(t2) -sin(t2) 0 260;sin(t2)*cos(0) cos(t2)*cos(0) -sin(0) 0; sin(t2)*sin(0) cos(t2)*sin(0) cos(0) 0; 0 0 0 1]T32=[cos(t3) -sin(t3) 0 0;连杆序号a i-1 αi-1d i θi 关节变量 初始值 1 0 0 0 θ 1 θ1 150° 2 260 0 0 θ 2 θ 2 -60° 390°260- -sin(t3)*cos(pi/2) cos(t3)*cos(pi/2) -sin(pi/2) -260;sin(t3)*sin(pi/2) cos(t3)*sin(pi/2) cos(pi/2) 260*cos(pi/2);0 0 0 1]T30=T10*T21*T32T30 =-0.0000 -0.0000 1.0000 34.83341.0000 -0.0000 0.0000 130.00000 1.0000 0.0000 0.00000 0 0 1.00002、过渡位姿:t1=pi/2T10=[cos(t1) -sin(t1) 0 0;sin(t1)*cos(0) cos(t1)*cos(0) -sin(0) 0;sin(t1)*sin(0) cos(t1)*sin(0) cos(0) 0;0 0 0 1]t2=0T21=[cos(t2) -sin(t2) 0 260;sin(t2)*cos(0) cos(t2)*cos(0) -sin(0) 0;sin(t2)*sin(0) cos(t2)*sin(0) cos(0) 0;0 0 0 1]t3=0T32=[cos(t3) -sin(t3) 0 0;sin(t3)*cos(pi/2) cos(t3)*cos(pi/2) -sin(pi/2) -260;sin(t3)*sin(pi/2) cos(t3)*sin(pi/2) cos(pi/2) 260*cos(pi/2);0 0 0 1]T30=T10*T21*T32T30 =0.0000 -0.0000 1.0000 260.00001.0000 0.0000 -0.0000 260.00000 1.0000 0.0000 0.00000 0 0 1.00003、抓取位姿:t1=1.2388T10=[cos(t1) -sin(t1) 0 0;sin(t1)*cos(0) cos(t1)*cos(0) -sin(0) 0;sin(t1)*sin(0) cos(t1)*sin(0) cos(0) 0;0 0 0 1];t2=-0.2634T21=[cos(t2) -sin(t2) 0 260;sin(t2)*cos(0) cos(t2)*cos(0) -sin(0) 0;sin(t2)*sin(0) cos(t2)*sin(0) cos(0) 0;0 0 0 1];t3=0T32=[cos(t3) -sin(t3) 0 0;sin(t3)*cos(pi/2) cos(t3)*cos(pi/2) -sin(pi/2) -260;sin(t3)*sin(pi/2) cos(t3)*sin(pi/2) cos(pi/2) 260*cos(pi/2);0 0 0 1];T30=T10*T21*T32TT30 =0.5608 -0.0000 0.8279 300.00290.8279 0.0000 -0.5608 99.98470 1.0000 0.0000 0.00000 0 0 1.0000三、运动学反解1、中间位姿到过渡位姿syms t1t2x=260;y=260;T10=[cos(t1) -sin(t1) 0 0;sin(t1)*cos(0) cos(t1)*cos(0) -sin(0) 0;sin(t1)*sin(0) cos(t1)*sin(0) cos(0) 0;0 0 0 1];T21=[cos(t2) -sin(t2) 0 260;sin(t2)*cos(0) cos(t2)*cos(0) -sin(0) 0;sin(t2)*sin(0) cos(t2)*sin(0) cos(0) 0;0 0 0 1];t3=0T32=[cos(t3) -sin(t3) 0 0;sin(t3)*cos(pi/2) cos(t3)*cos(pi/2) -sin(pi/2) -260;sin(t3)*sin(pi/2) cos(t3)*sin(pi/2) cos(pi/2) 260*cos(pi/2);0 0 0 1];T30 =T10*T21*T32;f1=x-T30(1,4);f2=y-T30(2,4);[t1,t2]=solve(f1,f2,t1,t2)t1=vpa(t1/pi*180,6)t2=vpa(t2/pi*180,6)结果:t1 = 90.0.t2 = 0.180.2、过渡位姿到抓取位姿syms t1t2x=300;y=100;T10=[cos(t1) -sin(t1) 0 0;sin(t1)*cos(0) cos(t1)*cos(0) -sin(0) 0;sin(t1)*sin(0) cos(t1)*sin(0) cos(0) 0;0 0 0 1];T21=[cos(t2) -sin(t2) 0 260;sin(t2)*cos(0) cos(t2)*cos(0) -sin(0) 0;sin(t2)*sin(0) cos(t2)*sin(0) cos(0) 0;0 0 0 1];t3=0T32=[cos(t3) -sin(t3) 0 0;sin(t3)*cos(pi/2) cos(t3)*cos(pi/2) -sin(pi/2) -260;sin(t3)*sin(pi/2) cos(t3)*sin(pi/2) cos(pi/2) 260*cos(pi/2);0 0 0 1];T30 =T10*T21*T32;f1=x-T30(1,4);f2=y-T30(2,4);[t1,t2]=solve(f1,f2,t1,t2)t1=vpa(t1/pi*180,6)t2=vpa(t2/pi*180,6)结果:t1 =-34.110570.9803t2 =-164.909-15.0911四、计算雅克比矩阵:用矢量积法求雅可比矩阵syms t1t2T10=[cos(t1) -sin(t1) 0 0;sin(t1)*cos(0) cos(t1)*cos(0) -sin(0) 0;sin(t1)*sin(0) cos(t1)*sin(0) cos(0) 0;0 0 0 1]T21=[cos(t2) -sin(t2) 0 -170;sin(t2)*cos(0) cos(t2)*cos(0) -sin(0) 0;sin(t2)*sin(0) cos(t2)*sin(0) cos(0) 0;0 0 0 1]t3=0T32=[cos(t3) -sin(t3) 0 0;sin(t3)*cos(pi/2) cos(t3)*cos(pi/2) -sin(pi/2) -130;sin(t3)*sin(pi/2) cos(t3)*sin(pi/2) cos(pi/2) 130*cos(pi/2);0 0 0 1]T31=T21*T32;T30=T10*T21*T32;T20=T10*T21;z1 =T10(1:3,3);z2 =T20(1:3,3);p1=T31(1:3,4);p2=T32(1:3,4);r1=T10(1:3,1:3);r2=T20(1:3,1:3);p11=cross(z1,r1*p1);p22=cross(z2,r2*p2);j=[p11 p22 ;z1 z2 ]结果j =[ -sin(t1)*(-170+130*sin(t2))+130*cos(t1)*cos(t2),130*cos(t1)*cos(t2)-130*sin(t1)*sin(t2)][ cos(t1)*(-170+130*sin(t2))+130*sin(t1)*cos(t2), 130*cos(t1)*sin(t2)+130*sin(t1)*cos(t2)][0, 0][0, 0][0, 0][1, 1]当t1=90,t2=0时,雅可比矩阵为j =-260.0000 0.0000260.0000 260.00000 00 00 01.0000 1.0000当t1=70.9803,t2=-15.0911j =-43.3261 205.4828-234.7604 -159.30100 00 00 01.0000 1.0000五、操作速度分析syms q1q2v1v2v=[v1;v2;0;0;0;0];q=[q1;q2];f3=v(1,1)-je(1,1);f4=v(2,1)-je(2,1);[q1,q2]=solve(f3,f4,q1,q2)q11=vpa(q1,3)q22=vpa(q2,3)q11 =-.289e-2*v1-.373e-2*v2q22 =-.786e-3*v2+.426e-2*v1六、各关节轨迹规划采用三次多项式插值法进行关节的轨迹规划过渡位姿关节角1:初值150终值90a0 =150a1 = 0a2 =-20a3 =4.4444关节角2:初值-60终值0a0 =-60a2 =20a3 =-4.4444抓取位姿关节角1:初值90终值70.9803 a0 =90a1 =0a2 =-6.3399a3 = 1.4089关节角2:初值0终值-15.0911 a0 =0a1 =0a2 =-5.0304 a3 =1.1179。
第六章 轨迹规划
轨迹规划的一般性问题
操作臂的运动:工具坐标系{T}相对工作坐标系{S}的运动。
点对点运动:仅规定操作臂的起点和终 点,而不考虑两点间的中间状态。如上、
下料机器人。
轮廓运动:不仅要规定操作臂的起点和
终点,而且要指明两点之间的若干中间 点(称路径点),必须沿特定的路径运 动(约束路径)。弧焊机器人。
在轨迹规划时,还需要弄清在机器人运动轨迹上有无障碍物(障 碍约束)。
轨迹规划器可形象的看出一个黑箱,其
输入包括路径设定和约束,输出操作臂 末端手部的“位姿序列”,表示手部在 各离散时刻的中间行位。
第一种轨迹规划方法:用户对于选定的轨迹结点(插值点)上的 位姿、速度和加速度给出一组显式约束,轨迹规划器从一类函数 (如n次多项式)中选取参数化轨迹,对结点进行插值,并满足 约束条件。
上式确定的三次多项式描述了起始点和终止点具有任意给 定位置和速度的运动轨迹,剩下的问题就是如何确定路径上点 的关节速度。
对于方法1,利用操作臂在此路径上的逆雅可比,把该点 的直角坐标速度“映射”为要求的关节速度。此方法虽能满足 用户设置速度的需要,但逐点设置速度耗费工作量过大。
对于方法2,系统采用某种启发式方法自动选取合适的路 径点速度。
用抛物线过渡的线性插值
笛卡尔空间规划方法
在笛卡尔空间轨迹规划系统中,作业是用操作臂终端抓手 位姿的笛卡尔坐标结点规定的。 物体对象的描述 任一刚体相对参考系的位姿是用与它固接的坐标系来描述。 相对固接坐标系,物体上任一点用相应的位置矢量表示;任一 方向用方向余弦表示。给出物体的几何图形及固接坐标系后, 只要规定固接坐标系的位姿,就可重构该物体。
1 0 L ( ) 0 0
0 1 0 0
0 x 0 y 1 z 0 1
轨迹规划
轨迹规划分为在任务空间和关节空间两种。
根据并联机器人完成工作任务所经过的空间轨迹,编制相应的轨迹规划软件,通过计算机来事先离线计算出各驱动关节在运动中的轨迹,亦即完成轨迹规划的任务。
Paul[16]提出一种机器人手臂沿空间直线段运动的关节轨迹规划方法,Kim和shin[18]又提出一种时间最短轨迹规划方法,这种方法也是基于关节空间的。
运动轨迹是指在运动过程中的位移、速度和加速度。
轨迹规划,是根据作业任务的要求,计算出预期的运动轨迹,然后,在机器人初始位置和目标位置之间用多项式函数来“内插"或者“逼近”给定的路径,并且求出一系列“控制设定点’’,并将其提供给控制单元处理。
根据上述方法求出各轴的移动位移最后,即可规划运动曲线。
在各轴位移求出的情况下,根据所规划速度曲线的形状,可求出各个时间点对应的速度值来确定速度曲线,从而完成运动规划常规的PID控制对于大多数点位控制应用是相当有效的,而对于轨迹跟踪控制问题则效果不理想。
由于并联机器人的绝大多数应用是要求轨迹控制的,因此很少使用常规的PID控制。
并联机器人轨迹规划首先要根据系统运动要求由并联机器人机构的位置逆解方程求解出机器人的始末位姿;然后运用三次多项式插值的方法,分别对并联们器人的三条支路轨迹规划。
Matlab仿真。
并联机器人控制系统模型的建立机器人控制系统的结构如图。
在输入期望轨迹以后,机器人控制系统首先通过轨迹规划,把期望的运动轨迹转换为驱动关节的广义位置坐标。
在机器人控制系统的三个相对独立的回路中分别形成闭环控制回路,通过检测编码器的反馈信号,并与实际的给定位置相比较,根据两者间的误差不断产生控制作用,使机器人关节的实际位置运动到给定值。
系统中轨迹规划和控制在上位机由软件实现,控制输出由运动控制卡和驱动器完成,最终由电机执行。
(哈尔滨工程大学. 6-PRRS并联机器人运动控制方法的研究,2006)建立了6-PRRS并联机器人的运动学模型,并对位置逆解的选取进行了简化,方便了计算。
第六章 轨迹规划
b.作业的描述 参考这些结点的位姿将作业描述为手部的一连串运动和动作
每一结点Pi对应一个变换方程(2.34),从而解得相应的手 臂变换06T。由此得到作业描述的基本结构:作业结点Pi对应 手臂变换06T,从一个变换到另一变换通过手臂运动实现。
更一般地,从一结点Pi 到下一结点Pi +1的运动可表示为
c.两结点之间的直线运动 从结点Pi到Pi +1的运动可以由“驱动变换”D(λ)来表示。
0 6
T ( )0 TB Pi D( )6 T-1 B E
其中,驱动变换D(λ)是归一化时间λ的函数,λ=t/T;t为自 运动开始算起的实际时间;T为走过该轨迹段的总时间。
f
对于恒定加速度的过渡域[t0-tb]
1 2 b 0 t b 2
0
0 tb tf-tb tf t
带抛物线过渡的线性插值(1)
这样对于任意给定的θf、θ0和t,可以选择相应的 和 t b ,得 到路径曲线,通常的做法是选择加速度 的值,然后计算相应
t b2 t tb ( f 0 ) 0
A
D
C
0
B
t0
tA tB
tC
tD t
路径点上速度的自动生成
如果对于运动轨迹的要求更为严格,约束条件增多,那么 三次多项式就不能满足需要,必须用更高阶的多项式对运动轨 迹的路径段进行插值。例如,对某段路径的起点和终点都规定 了关节的位臵、速度和加速度(有六个未知的系数),则要用 一个五次多项式进行插值。
伪节点
如果要求机器人通 过某个结点,同时速度 不为零,怎么办? 可以在此结点两端规定两个 “伪结点”,令该结点在两 伪结点的连线上,并位于两 t 过渡域之间的线性域上。
工业机器人轨迹规划
2、过路径点的三次多项式插值
3、高阶多项式插值
4、用抛物线过渡的线性插值
一、三次多项式插值
在机器人运动过程中,若末端执行器的起始和终止位姿已知,由 逆向运动学即可求出对应于两位姿的各个关节角度。末端执行器实现 两位姿的运动轨迹描述可在关节空间中用通过起始点和终止点关节角
的一个平滑轨迹函数 (t)来表示。
为实现系统的平稳运动,每个关节的轨迹函数 (t)至少需要满足
四个约束条件,即两端点位置约束和两端点速度约束。
端点位置约束是指起始位姿和终止位姿分别所对应的关节角度。
关(节t)在角时度刻ft,0=即0时的值是起始关节角度0,在终端时刻tf时的值是终止
为满足关节运动速度的连续性要求,起始点和终止点的关节速 度可简单地设定为零,即
0 0
t
f
0
上面给出的四个约束条件可以惟一地确定一个三次多项式:
运动过程中的关节速度和加速度则为
t
t
a1 2a2t
2a2
3a3t 6a3t
2
关节角速度和角加速度的表达式为:
t
6
t
2 f
f 0
(3) 规划机器人的运动轨迹时,需明确其路径上是否存在障碍约 束的组合。
本章主要讨论连续路径的无障碍轨迹规划方法。
6.2 插补方式分类与轨迹控制
6.2.1 插补方式分类 点位控制(PTP控制)通常没有路径约束,多以关节坐标运
动表示。点位控制只要求满足起终点位姿,在轨迹中间只有 关节的几何限制、最大速度和加速度约束;为了保证运动的 连续性,要求速度连续,各轴协调。如MOVJ
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
的时间 t b
为保证tb有解,则
当式(6.21)中的等号成立时,线性域的长度缩减为零,整个路 径段由两个过渡域组成,这两个过渡域在衔接处的斜率(代表速
度)相等。当加速度的取值越来越大时,过渡域的长度台越来越
短。如果加速度选为无限大,路径又回复到简单的线性插值情况。
d、过路径点的用抛物线过渡的线性插值 如图所示,某个关节在运动中设有n个路径点,其中三个相
f
对于恒定加速度的过渡域[t0-tb]
1 2 b 0 t b 2
0
0 tb tf-tb tf t
带抛物线过渡的线性插值(1)
这样对于任意给定的θf、θ0和t,可以选择相应的 和 t b ,得 到路径曲线,通常的做法是选择加速度 的值,然后计算相应
t b2 t tb ( f 0 ) 0
速度,有以下三种方法:
(1) 根据工具坐标系在直角坐标空间中的瞬时线速度和角速
度来确定每个路径点的关节速度 ;该方法工作量大。
(2)为了保证每个路径点上的加速度连续,由控制系统按照 此要求自动地选择路径点的速度。
(3)在直角坐标空间或关节空间中采用某种适当的启发式方
法,由控制系统自动地选择路径点的速度;
臵和姿态)的齐次变换短阵。 a. 物体对象的描述 利用第二章有关物体空间的描述方法,任一刚体相对 参考系的位姿是用与它固接的坐标系来描述。相对于
因接坐标系,物体上任一点用相应的位臵矢量p表示; 任一方向用方向余弦表示。给出物体的几何图形及因
接坐标系后,只要规定固接坐标系的位姿,便可重构
该物体。
b.作业的描述 作业和手臂的运动可用手部位姿结点序列来规定,每个结点 是由工具坐标系相对于作业坐标系的齐次变换来描述。相应的关 节变量可用运动学反解程序计算。
任务规划器
1.轨迹规划的一般性问题 这里所谓的轨迹是指操作臂在运动过程中的位移、速度和 加速度。 常见的机器人作业有两种:
•点位作业(PTP=point-to-point motion) •连续路径作业(continuous-path motion),或者称为轮廓运动
(contour motion)。
局部路径规划主要解决(1)和(3)两个问题,即机器人 定位和路径跟踪问题;方法主要有:人工势场法 、模糊逻辑算 法等 。
全局路径规划主要解决(2),即全局目标分解为局部目 标,再由局部规划实现局部目标。主要有:可视图法 、环境分 割法(自由空间法 、栅格法 )等 ;
c.离线路径规划和在线路径规划 离线路径规划是基于环境先验完全信息的路径路径规划。 完整的先验信息只能适用于静态环境,这种情况下,路径是离 线规划的;在线路径规划是基于传感器信息的不确定环境的路
等。
B
D C
图中A区域的位臵码 (Location Code:LC)为3031。 问:图中B,C,D区域的位臵码 LC为?
b.全局路径规划(Global Path Planning)和局部路径规划 (Local Path Planning)
自主移动机器人的导航问题要解决的是: (1)“我现在何处?”; (2)“我要往何处去?”; (3)“要如何到该处去?”。
轨迹规划既可以在关节空间也可以在直角空间中进行。
2.关节轨迹的插值
关节空间法计算简单、容易。再者,不会发生机构的奇异性
问题。
轨迹规划方法一般是在机器人的初始位臵和目标位臵之间用
多项式函数来“内插”或“逼近”给定的路径,并产生一系列的
控制点。 a. 三次多项式插值 只给定机器人起始点和终 止点的关节角度。
c.两结点之间的直线运动
操作臂在完成作业时,抓手的位姿可以用一系列结点Pi来表示。 因此,在直角坐标空间中进行轨迹规划的首要问题是由两结点Pi 和Pi +1,所定义的路径起点和终点之间,如何生成一系列中间点。 两结点之间最简单的路径是在空间的一个直线移动和绕某定粕的 转动。若运动时间给定之后.则可以产生一个使线速度和角速度 受控的运动。
邻的路径点表示为j,k和l,每两个相邻的路径点之间都以线性 函数相连,而所有的路径点附近则有抛物线过渡。(同样存在多 解,每个解对于一个选取的加速度值)
j l k 0
多段带有抛渡的直线样条函数一般并不 经过那些路径点,除非在这些路径点处停止。若选取的加速 度充分大,则实际路径将与理想路径点十分靠近。如果要求 机器人选经某个结点,那么格轨迹分成两段,把此结点作为 前一段的终止点和后一段的起始点即可。
更一般地,从一结点Pi 到下一结点Pi +1的运动可表示为
c.两结点之间的直线运动 从结点Pi到Pi +1的运动可以由“驱动变换”D(λ)来表示。
0 6
T ( )0 TB Pi D( )6 T-1 B E
其中,驱动变换D(λ)是归一化时间λ的函数,λ=t/T;t为自 运动开始算起的实际时间;T为走过该轨迹段的总时间。
根据路径约束和障碍约束,机器人的规划和控制可以分为四类:
操作臂最常用的轨迹规划方法有两种:
第一种是要求对于选定的轨迹结点(插值点)上的位姿、速 度和加速度给出一组显式约束(例如连续性和光滑程度等),轨
迹规划器从一类函数(例如n次多项式)选取参数化轨迹,对结
点进行插值,并满足约束条件。 第二种方法要求给出运动路径的解析式。
伪节点
如果要求机器人通 过某个结点,同时速度 不为零,怎么办? 可以在此结点两端规定两个 “伪结点”,令该结点在两 伪结点的连线上,并位于两 t 过渡域之间的线性域上。
原节点
0
用伪节点的插值曲线
3.笛卡尔空间规划方法
在这种轨迹规划系统中,作业是用操作臀终端抓手位姿的笛
卡尔坐标结点序列规定的。因此,结点指的是表示抓手位姿(位
D(0) I 4X4 D(1) Pi Pi 1
B 1 B
c.两结点之间的直线运动 工具坐标系从结点Pi到Pi +1的运动可分解为一个平移运动 和两个旋转运动:第一个转动使工具轴线(a)与预期的接 近方向a对准;第二个转动是绕工具轴线(a)转动,使方向 矢量o对准。
D( ) L( ) R a ( ) R o ( )
d.两段路径之间的过渡(避免速度突变)
e.笛卡尔空间规划的特点 笛卡尔空间的规划方法不仅概念上直观,而且规划的路径准确。 笛卡尔空间的直线运动仅仅是轨迹规划的一类,更加一般的应 包含其他轨迹,如椭圆、抛物线、正弦曲线等等。可是由于缺 乏适当的传感器测量手部苗卡尔坐标,进行位臵和速度反馈。 笛卡尔空间路径规划的结果需要实时变换为相应的关节坐标, 计算量很大,致使控制间隔拖长。如果在规划时考虑操作臂的 动力学特性.就要以笛卡尔坐标给定路径约束,同时以关节坐 标给定物理约束(例如,各电机的容许力和力矩,速度和加速度 极限),使得优化问题具有在两个不同坐标系中的混合约束。因 此.笛卡尔空间规划存在由于运动学反解带来的问题。
(t ) a0 a1t a2t 2 a3t 3 a4t 4 a5t 5
c、用抛物线过渡的线性插值 单纯线性插值将导致在结点处关节运动速度不连续,加速度
无限大。
0
t
解决办法:在使用线性插值时,
f
把每个结点的邻域内增加一段抛
物线的“缓冲区段”,从而使整
0
0 tb tf-tb tf t
主要是笛卡尔路径上解的存在性(路径点都在工 作空间之内与否)、唯一性和奇异性。
5.2 移动机器人的轨迹规划
1. 机器人的路径规划(一般指位臵规划)
a.基于模型和基于传感器的路径规划 基于模型的方法有:c-空间 法、自由空间法、网格法、四叉 树法、矢量场流的几何表示法等。
相应的搜索算法有A*、遗传算法
f
0
0 tf
单个关节的不同轨迹曲线
t
为了实现平稳运动,轨迹函数至少需要四个约束条件。即 ————满足起点和终点的关节角度约束
————满足起点和终点的关节速度约束(满 足关节速度的连续性要求)
解上面四个方程得:
注意:这组解只适用于关节起点、终点速度为零的运动情况。
例:设只有一个自由度的旋转关节机械手处于静止状态时, =150,要在3s内平稳运动到达终止位臵: 止点的速度为零。 解: 将上式的已知条件代入以下四个方程得四个系数: =750,并且在终
对于方法(2),为了保证路径点处的加速度连续,可以设法 用两条三次曲线在路径点处按照一定的规则联系起来,拼凑成所
要求的轨迹。其约束条件是:联接处不仅速度连续,而且加速度
也要连续。
g
v
0
0
t0
tv
tg t
对于方法(3), 这里所说的启发式方法很简单,即假设用 直线段把这些路径点依次连接起来,如果相邻线段的斜率在路径 点处改变符号,则把速度选定为零;如果相邻线段不改变符号, 则选择路径点两侧的线段斜率的平均值作为该点的速度。
式插值函数,把路径点平滑的连接起来。不同的是,这些“起点”
和“终点”的关节速度不再是零。
3
0
0 t0 t1 t2 t
同理可以求得此时的三次多项式系数:
此时的 速度约 束条件 变为:
(0) 0 (t f ) f
由上式确定的三次多项式描述了起始点和终止点具有任意给定位 臵和速度的运动轨迹。剩下的问题就是如何确定路径点上的关节
这里所谓的轨迹是指操作臂在运动过程中的位移、速度和 加速度。
例1:机器人倒水的规划
倒一杯水 取一个杯子 找到水壶 打开水壶 把水倒入杯中 任务规划层
动作规划层 提起水壶到 杯口上方 把水壶倾斜 把水壶竖直 把水壶放回 原处
手部从A点移动到B点
路径规划层 轨迹规划层
关节从A点移动到B点
机器人倒水动作的规划层次