https://blog.csdn.net/m0_37140588/article/details/79760789算法
1.处理器
(肯定每一个关节应该动多少,多远)==>控制器(发信号使得驱动器到某个关节的指定角度)
2.六自由度解释
除了空间内的三个坐标数据(肯定位置xyz),还须要肯定所选点的姿态,因此须要六个自由度才能达到空间的任意位置,例如五自由度,能绕三个轴转动但只能沿着xy轴平移,5自由度能够指定姿态但只能沿着xy轴,不能沿着z轴给部件定位。而7自由度系统无惟一解
3.坐标
机器人的构型一般因为其坐标系来肯定,3P,PRP,P2R是由于其关节类型不一样,RSP转动、球型、滑动型
参考坐标系只是说明了三种不一样参考坐标系:
一全局参考坐标系(机械臂同时协调运动)
二是关节参考坐标系(各个坐标独立运动)
三是工具参考坐标系,随着工具方向的不一样两次沿着工具坐标系的n轴移动相同距离,在全局空间内也是不一样的
4.示教模式
机器人各个关节随示教杆运动,到达指望姿态,位姿信息送入控制器。示教过程当中,控制器控制各关节达到到相同位姿,经常使用于点对点控制,只能保证到达示教点。连续示教则是动做连续采样
5.工做空间
机器人能达到的点的集合,和机器人构型、连杆以及腕关节有关,不一样构型的机械臂正逆运动学不一样
6.机器人位置运动学
利用矩阵创建物体、位置、姿态及运动的表示方法,而后研究直角坐标型,圆柱形以及球型等不一样机器人的正逆运动学,最后用D-H法推到机器人的正逆运动学方程。 没有肯定末端执行器长度的机械手型机器人(假设末端是一个平板面),只能根据端面的位姿来计算关节值。断面的位姿可能与用户感觉到的位姿有可能不一样。
7.机器人的矩阵表示
须要知道物体坐标原点在参考坐标系中的位置,以及物体坐标系关于这三个参考坐标轴的姿态,所以总共须要6条独立信息来描述。
8.齐次变换矩阵
主要是由于许多不一样顺序的矩阵乘在一块儿获得机器人运动学方程,因此须要方阵,
若是既要表示姿态又要表示位置,在矩阵中加入比例因子使得成为4*4方阵,指标是姿态去掉比例因子获得3*3方阵。这种形式的称之为齐次变换矩阵。
9.复合变换
而后学习纯绕轴运动(相对于参考坐标系),主要是乘以角度不一样的绕轴,XYZ(左乘 在原来相对于参考坐标系左边,而后来了在变换矩阵的左边乘)
相对于旋转坐标系, (右乘 在原来相对于参考坐标系左边,而后来了在变换矩阵的右边乘)
10。变换矩阵的逆
若是矩阵可逆,那么它的逆矩阵和它的伴随矩阵之间只差一个系数
矩阵行列式的值,去掉一行,取出某个元素,将原始矩阵去除该元素所在的行和列,获得新的矩阵,使该元素与新矩阵的行列式相乘就,最后将一行的全部乘积相加便可。
伴随矩阵对于三阶矩阵
a11 a12 a13
a21 a22 a23
a31 a32 a33
首先求出 各代数余子式
A11 = (-1)^2 * (a22 * a33 - a23 * a32) = a22 * a33 - a23 * a32
A12 = (-1)^3 * (a21 * a33 - a23 * a31) = -a21 * a33 + a23 * a31
A13 = (-1)^4 * (a21 * a32 - a22 * a31) = a21 * a32 - a22 * a31
A21 = (-1)^3 * (a12 * a33 - a13 * a32) = -a12 * a33 + a13 * a32
……
A33 = (-1)^6 * (a11 * a22 - a12 * a21) = a11 * a22 - a12 * a21
而后伴随矩阵就是
A11 A12 A13
A21 A22 A23
A31 A32 A33
变换矩阵的逆的算法①计算矩阵行列式②转置③求转置后的伴随矩阵④伴随矩阵除以行列式
11. 3*3和4*4的区别
3*3只包含位置,计算矩阵的逆就是将矩阵转置,只有旋转矩阵才是酉矩
4*4求逆可分为两个部分矩阵的旋转部分式酉矩阵,能够转置;未知部分式向量与旋转坐标系的点积
12.机器人的正逆运动学
已知连杆,关节角。须要在物体上固连一个坐标系,而后描述该坐标系的原点位置和三个轴的姿态,总共须要6个自由度或者六条信息来完整地定义该物体的位姿。
13.不一样构型的关节的求解
直角坐标,圆柱坐标,球型坐标,不一样构型的求解方法不尽相同,不过直角坐标系须要对位姿带来的旋转作角度解耦合,圆柱坐标系也须要解耦合,不过有绕a轴的旋转角,仍然平行于z轴,因此求出的角为累加上a轴旋转角以后的
14.位置*姿态 与D-H模型
位置*姿态创建模型更快,可是对于不一样构型的机械臂,构建模型不一样。
D-H模型与机器人结构顺序,复杂程度无关,微分运动学,雅可比分析,动力学分析以及力分析都是基于D-H表示法所得到的结果。
15 D-H
每一个关节指定一个本地参考坐标系,指定一个z轴和x轴。z轴在关节处,而x轴的 选取一般在两个关节的公垂线里,(关节不必定平行或者相交)若是定义an表示Zn-1与Zn之间的公垂线,则定义Xn的方向为沿an的方向。关节n处的z轴编号为n-1(关节z轴平行)挑选与前一关节的公垂线共线的一条公垂线(关节z轴相交)选取两条z轴的叉积方向(Xn+1为Zn叉乘Zn+1),向量叉积如图所示,解释向量a,b在同一个平面内
对于旋转关节,绕z轴旋转的旋转角θ是关节变量;对于滑动关节,沿z轴的连杆长度d是关节变量。--其中θ为绕着z轴的旋转角度, d表示相邻公垂线之间的距离(关节偏移量)a表示公垂线的长度(连杆长度)α表示相邻两个z轴之间的角度(扭角)
在《机器人学导论》P58有这样一段话,描述了四个变量感受不错
注意:坐标系0是固定不动的,机器人都是相对它而运动的。
D-H模型超好的一个视频(此视频须要FQ)
http://blog.cavedu.com/2009/11/14/%e5%bd%b1%e7%89%87-%e5%b0%87%e6%a9%9f%e5%99%a8%e6%89%8b%e8%87%82d-h%e8%bd%89%e6%8f%9b%e7%9f%a9%e9%99%a3%e5%8f%83%e6%95%b8%e8%a7%a3%e9%87%8b%e5%be%88%e6%b8%85%e6%a5%9a%e7%9a%84%e5%bd%b1%e7%89%87/
中英文翻译以下(字幕中)
D-H parameters define the motion of actuators connected by rigid links,
z axis points along of rotation,
or axis of translation for a prismatic joint,
x axis for base frame is a free choice,
constrained for subsequent joints,
y axis is now constrained to complete right-handed coordinate frame
now let us add the next joint,
again, the z axis is defined by the axis of actuation,
D-H parameters are derived from common normal between consecutive z axes,
new x axis is colinear with common normal, with origin at intersection with new z,
notice the origin is not at the center of the actuator.the origin may be in "open sapce",
with these joint axes,four parameters specify the joint-to-joint transformation :d,r,θ,α
d is the depth along the previous joint's z axis
θ is the angle about the previous z to align its x with the new origin
r is the distance along the rotated x axis
alternatively,radius of rotation about previous z
finally,α rotates about the new x axis to put z in its desired orientation
special case :parallel z axes
parallel z axes have an infinite number of common normals,thus d is a free parameter
choose any convenient d,other parameters determied as before
now you know how to lay out D-H parameters
翻译;D-H参数定义了由刚性连杆链接的执行机构的运动,
沿着旋转的z轴点,
或棱镜接头的平移轴线,
基准框架的x轴是一个自由选择,
受后续关节限制,
y轴如今被限制为完整的右手坐标系
如今让咱们添加下一个联合,
再次,z轴由致动轴限定,
D-H参数是从连续z轴之间的公共法线导出的,
新的x轴与共同的法线共线,原点与新的z相交,
请注意,原点不在执行机构的中心。原点可能处于“开放式”状态,
利用这些关节轴,四个参数指定关节到关节的变换:d,r,θ,α
d是沿着前一个关节的z轴的深度
θ是关于前一个z的角度,以便将x与新原点对齐
r是沿着旋转的x轴的距离
或者,关于前一个z的旋转半径
最后,α围绕新的x轴旋转以将z置于其指望的方向
特殊状况:平行z轴
平行z轴具备无限数量的经常使用法线,所以d是一个自由参数
选择任何方便的d,其余参数与之前同样肯定
如今你知道如何布置D-H参数
16.退化问题
(1)到达物理空间极限不能进一步运动
(2)两个类似关节共线
17.灵巧
不灵巧区域:接近工做空间极限时,机械臂能达到定位在指望点上,却不能达到指望的位姿。
18.雅可比矩阵的计算
位置的求导,将创建关节运动与手运动之间的联系。
19.运动学和力学
只要肯定机器人关节变量就能根据其运动方程肯定机器人的位置,或者已知机器人的指望位姿就能肯定相应关节变量和速度。
20.运动规划、路径规划、轨迹规划的联系与区别?
运动规划由路径规划和轨迹规划(时间)组成,链接起点位置和终点位置的序列点或曲线称之为路径,构成路径的策略称之为路径规划。
轨迹规划与什么时候达到路径中的每一个部分有关,强调时间性。从一个点到一个点,路径是同样的,而通过路径的每一个部分的快慢不一样,轨迹也就不一样。至关于路径规划后,须要加入时间量使得完成轨迹规划。
路径是机器人位姿的必定序列,而不考虑机器人位姿参数随时间变化的因素。路径规划(通常指位置规划)是找到一系列要通过的路径点,路径点是空间中的位置或关节角度,而轨迹规划是赋予路径时间信息。
运动规划(又称运动插补)是在给定的路径端点之间插入用于控制的中间点序列从而实现沿给定的平稳运动。
运动控制则是主要解决如何控制目标系统准确跟踪指令轨迹的问题。即对于给定的指令轨迹,选择适合的控制算法和参数,产生输出,控制目标实时,准确地跟踪给定的指令轨迹。
Att:路径规划的目标是使路径与障碍物的距离尽可能远同时路径的长度尽可能短(问:无视觉融入,如何作到离障碍物远);轨迹规划的目标主要是机器人关节空间移动中使得机器人的运行时间尽量短,或者能量尽量小。轨迹规划在路径规划的基础上加入时间序列信息,对机器人执行任务时的速度与加速度进行规划,以知足光滑性和速度可控性等要求
全局路径规划将全局目标分解为局部目标,再由局部规划实现局部目标,方法有可视图法、环境分割法(自由空间法、栅格法)等。局部路径规划主要解决机器人定位和路径跟踪问题,方法有人工势场法、模糊逻辑法等。
21.关节空间与直角坐标空间的描述
考虑一个多自由度机器人从空间位置A点移项B项,利用机器人逆运动学方程,能够计算车机器人达到新位置时关节的总位移,机器人控制器利用所计算的关节值驱动机器人达到新的关节值,从而使机器人手臂运动到新的位置。采用关节量来描述机器人的运动称为关节空间描述。这种情形下,最终将机器人移动到指望位置,但机器人在A点B点之间的位置不可预知。
假设在AB之间画一个直线,但愿机器人沿直线运动,需将直线的点分为许多小段,求得每一个中间点,在每一个中间点求解逆运动学方程,计算一系列关节量,而后由控制器驱动关节到达下一个目标点
22.关节空间与直角坐标空间的问题
直角坐标空间,一 计算量大 ;二 难以确保不存在奇异点(穿过自身,轨迹在工做空间以外),关节值发生突变;
缘由:没法事先获得其位姿
解决方法:能够指定机器人必须经过的中间点来避开障碍物和其余奇异点(示教机器人能够,固定动做也能够)
23.自由度关节机器人非归一化和归一化运动
非归一化:从A到B每一个关节都是以最大角速度运行,这样其两臂到达目标位置的时间不一样,手臂末端走过的距离也是不均匀的
归一化:使得运动范围在叫嚣关节空间成比例的减慢,从而使得两个关节能同时开始和结束。
24.轨迹规划需注意的点
知道关节的加速度,知道最大的角速度;不能很快达到既定速度,能够分路径段设定不一样的精度
25.多点轨迹规划
全部的中间运动段均可以采用过分的方式平滑链接在一块儿。须要注意的是,因为采用了平滑过渡曲线,机器人通过原来不可能通过的点,因此机器人通过的可能不是原来的点,因此要精确通过那个点,能够事先设定一个不一样的点,使得平滑后的点正好通过必需要精确通过的点。
26.关节空间内轨迹规划
轨迹规划给定点均为关节量而非直角坐标量。一种方法是使用屡次多项式
开始的角度Φ1和时间t1,结束角度Φ2和时间t2,机器人开始和结束时的速度。三次多项式能用于产生每一个关节的运动轨迹。(位置和速度是连续的,加速度不连续)
开始的角度Φ1和时间t1,结束角度Φ2和时间t2,机器人开始和结束时的速度,加速度。
27.抛物线过渡的线性段
让机器人以恒定的速度在起点和中点位置之间运动,一次多项式,(缘由)速度是常数,加速度为0
28.关节空间其余轨迹规划
棒棒函数轨迹、加速度曲线为方形或者梯形函数轨迹以及争先函数轨迹等。
29.直角空间坐标系轨迹规划
所谓轨迹、是指操做臂在运动过程当中的位移、速度和加速度。而轨迹规划是根据做业任务的要求,计算出预期的运动轨迹。
对于关节空间的轨迹规划,规划函数生成的值就是关节值,直角坐标空间轨迹规划函数生成的值就是机器人末端手的位姿,他们须要求解逆运动方程才能转化为关节量。
(1)将时间增长一个增量t=t+Δt(2)利用所选轨迹函数计算出手的位姿(3)利用机器人逆运动学方程计算对应手位姿的关节量(4)将关节信息传递给控制器(5)返回到循环开始
30.关节空间和直角空间
轨迹规划既可在关节空间也可在直角空间中进行,可是作规划的轨迹函数都必须连续和平滑,使得操做臂的运动平稳。在关节空间进行规划时,是将关节变量表示成为时间的函数,并规划它的一阶和二阶时间导数;在直角空间进行规划是指将手部位姿、速度和加速度表示为时间的函数。而相应的关节位移、速度和加速度由手部的信息导出。一般经过运动学反解得出关节位移,用逆雅克比求出关节速度,用逆雅克比及其导数求解关节加速度。
31.关节空间进行规划
在关节空间进行规划时,大量工做是对关节边路的插值运算。
关节轨迹的插值:为了求得在关节空间造成所要求的轨迹,首先运用运动学反解将路径点转换成关节矢量角度值,而后对每一个关节拟合一个光滑函数,使之从起始点开始,依次经过全部路径点,最后到达目标点。对于每一段路径,各个关节运动时间均相同,这样保证全部关节同时到达路径点和终止点,从而获得工具坐标系应有的位置和姿态。可是,尽管每一个关节在同一段路径中的运动时间相同,各个关节函数之间倒是相互独立的。
总之,关节空间法是以关节角度的函数来描述机器人的轨迹的,关节空间法没必要在直角坐标系中描述两个路径点之间的路径形状,计算简单,容易。再者,因为关节空间与直角坐标空间之间不是连续的对应关系,于是不会发生机构的奇异性问题。
在关节空间中进行轨迹规划,须要给定机器人在起始点、终止点手臂的形位。对关节进行插值时,应知足一系列约束条件。在知足全部约束条件下,能够选取不一样类型的关节插值函数,生成不一样的轨迹。插值方法有:
一、三次多项式插值;二、过路径点的三次多项式插值;三、高阶多项式插值;四、用抛物线过渡的线性插值;五、过路径点的用抛物线过渡的线性插值。
32.笛卡尔空间坐标系
笛卡尔空间规划法:
1、物体对象的描述
相对于固接坐标系,物体上任一点用相应的位置矢量表示,任一方向用方向余弦表示,给出物体的几何图形及固接坐标系后,只要规定固接坐标系的位姿,即可重构该物体。
2、做业的描述
在这种轨迹规划系统中,做业是用操做臂终端抓手位姿的笛卡尔坐标结点序列规定的,所以,结点是指表示抓手位姿的齐次变换矩阵。相应的关节变量可用运动学反解程序计算。
3、两个结点之间的“直线”运动
操做臂在完成做业时,抓手的位姿能够用一系列结点P来表示。所以,在直角坐标空间中进行轨迹规划的首要问题是由两结点pi和pi+1所定义的路径起点和终点之间,如何生成一系列中间点。两结点间最简单的路径是在空间的一个直线移动和绕某轴的转动。若运动时间给定以后,则可产生一个使线速度和角速度受控的运动。
4、两段路径之间的过渡
为了不两段路径衔接点处速度不连续,当由一段轨迹过渡到下一段轨迹时,须要加速或减速。
5、运动学反解的有关问题
主要是笛卡尔路径上解的存在性(路径点都在工做空间以内与否)、惟一性和奇异性。
一、 第一类问题:中间点在工做空间以外。在关节空间中进行规划不会出现这类问题。
二、 第二类问题:在奇异点附近关节速度激增。想PUMA这类机器人具备两种奇异点:工做空间边界奇异点和工做空间内部的奇异点。在处于奇异位姿时,与操做速度(笛卡尔空间速度)相对应的关节速度可能不存在(无限大)。能够想象,当沿笛卡尔空间的直线路径运动到奇异点附近时,某些关节速度将会趋于无限大。实际上,所允许的关机速度是有限的,于是会致使操做臂偏离预期轨迹。
三、 第三类问题:起始点和目标点有多重解。问题在于起始点与目标点若不用同一个反解(不理解),这时关节变量的约束和障碍约束便会产生问题。
正由于笛卡尔空间轨迹存在这些问题,现有的多数工业机器人的控制系统具备关节空间和笛卡尔空间的轨迹生成方法。用户一般使用关节空间法,只是在必要时,才采用笛卡尔空间方法。
33.运动规划的评价标准
完备性(complete): 利用该算法,在有限时间内能解决全部有解问题;
最优性(optimality): 利用该算法,能找到最优路径(距离最短、耗时最小、耗能最少等)
34.为何要用IK
对于机械臂,目标是终端空间位置(xyz), 但采样空间倒是关节空间(q0,q1,...qN)。有了IK以后,咱们就能够把三维空间的目标p转化为关节空间的目标q。那么这样就会让采样算法能算的更快,具体方法不赘述,这样的算法有RRT-Connect,BKPIECE等等双向采样算法。
机器人轨迹规划(熊友伦)特别连接:https://blog.csdn.net/weixin_28900531/article/details/79431055
---------------------
做者:小球球_大肚腩
来源:CSDN
原文:https://blog.csdn.net/m0_37140588/article/details/79760789
版权声明:本文为博主原创文章,转载请附上博文连接!框架