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
版權聲明:本文爲博主原創文章,轉載請附上博文連接!框架