机器人操作空间轨迹规划 -- 姿态规划
? ? ? ? 這里我們主要討論機(jī)器人操作空間的姿態(tài)規(guī)劃方法。機(jī)器人末端執(zhí)行器的指向,由(時變的)末端執(zhí)行器坐標(biāo)系相對基坐標(biāo)系的旋轉(zhuǎn)矩陣指定。旋轉(zhuǎn)矩陣的3列表示末端執(zhí)行器坐標(biāo)系相對基坐標(biāo)系的3個單位向量。
? ? ? ?常見的姿態(tài)規(guī)劃方式包括歐拉角和角軸兩種。
I. 歐拉角
? ? ? ?歐拉角是最為常見的也最簡單的一種姿態(tài)規(guī)劃方式,通過為歐拉角指定時間律來描述指向。末端執(zhí)行器的歐拉角三元組由旋轉(zhuǎn)、俯仰、偏擺組成:Φe?=(φ,? ?, ψ?)。通常,Φe?沿連接其初始值Φi?到其最終值Φf?的分段移動。通常選用三次多項式或混合拋物線線性分段時間律是方便的,通過這種方式,時變坐標(biāo)系的角速度將具有連續(xù)量。
示例:五次多項式時間律的位置、速度、加速度曲線,
? ? ? ? ? ? ? ? ??
?
II. 角和軸
? ? ? ? 給定兩個在笛卡爾空間具有相同原點和不同指向的坐標(biāo)系,總可以確定一個單位向量,使得可以通過第一個坐標(biāo)系繞單位向量的軸,旋轉(zhuǎn)1個合適的角度,得到第二個坐標(biāo)系。
1. 基于角軸的姿態(tài)規(guī)劃
? ? ? ?對于定義在操作空間的誤差變量(位置和方向)進(jìn)行處理,其表達(dá)式由下式給出:
? ? ? ?其中, 表示末端執(zhí)行器的期望值, 表示末端執(zhí)行器的計算值。
? ? ? ?對于涉及到方向誤差的部分,其表達(dá)式取決于末端執(zhí)行器方向的詳細(xì)表示,即,歐拉角,角和軸,單位四元數(shù)。
? ? ? ?對于初始旋轉(zhuǎn)矩陣 和目標(biāo)旋轉(zhuǎn)矩陣 ,有:
? ? ? ?所以有,
? ? ? ?對于旋轉(zhuǎn)變換 ,可以表示為繞空間中一固定軸的旋轉(zhuǎn)矩陣。計算軸的單位向量 和旋轉(zhuǎn)角 ,可以求得初始旋轉(zhuǎn)矩陣?yán)@該軸的角速度和角加速度。
? ? ? ?其中,軸的單位向量 :
? ? ? ?
:
?
? ? ? ?為 指定一個時間律,當(dāng) ,且有 。 為常量,由此得到的速度和加速度為:
最后,為了表征末端執(zhí)行器關(guān)于基坐標(biāo)系的指向軌跡,需要進(jìn)行如下變化:
? ? ? 由此我們可以獲取機(jī)械臂的姿態(tài)關(guān)節(jié)的運動速度,再通過雅可比逆解到各個關(guān)節(jié)。
? ? ? 但是以上基于角軸表達(dá)式的姿態(tài)規(guī)劃存在奇異問題,當(dāng)θ= 0或θ= Π時,單位向量r是奇異的。
2.?基于四元數(shù)的姿態(tài)規(guī)劃
? ? ? ? 單位四元數(shù)對姿態(tài)的描述更加自然,另外還有效避免了歐拉角旋轉(zhuǎn)時奇異性的問題,且基于單位四元數(shù)的運動插補(bǔ)算法計算效率要比歐拉角和余弦矩陣高。
2.1 四元數(shù)與旋轉(zhuǎn)矩陣的相互轉(zhuǎn)換
對于旋轉(zhuǎn)矩陣R:
對于四元數(shù)Q:
Q = [q1,? q2,? q3,? q4?]
四元數(shù)轉(zhuǎn)旋轉(zhuǎn)矩陣:
旋轉(zhuǎn)矩陣轉(zhuǎn)四元數(shù):
通過以上轉(zhuǎn)換關(guān)系我們可以實現(xiàn)四元數(shù)與旋轉(zhuǎn)矩陣的相互轉(zhuǎn)換。
2.2?基于四元數(shù)的姿態(tài)規(guī)劃
對于單位四元數(shù)Q = {η,ε },有:
假定 ,則角度θ∈[-Π, Π],相當(dāng)于四元數(shù)可以描述所有的旋轉(zhuǎn)。相比于角軸表達(dá)式,沒有了奇異現(xiàn)象了。因此,我們采用單位四元數(shù)規(guī)劃姿態(tài)。
首先將旋轉(zhuǎn)矩陣的初始值 ,和目標(biāo)值 ,轉(zhuǎn)換成單位四元數(shù),得到:
初始四元數(shù):
目標(biāo)四元數(shù)
對于旋轉(zhuǎn)變換:
有四元數(shù)變換:
?
其中,S(·)為反對稱算子。
因此, 對于末端執(zhí)行器姿態(tài)關(guān)節(jié)速度 有:
?再對該速度雅可比逆解即可得到各關(guān)節(jié)速度。
總結(jié)
以上是生活随笔為你收集整理的机器人操作空间轨迹规划 -- 姿态规划的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于蒙特卡洛方法的机器人工作空间MATL
- 下一篇: Spring中Environment的使