先上結論:在構型空間(也就是c空間中),不管機械人的構型如何,有幾個自由度,它在構型空間中都只是乙個點!!!
1. work-space與c-space的關係:方向
操作特點
c-space
=>work-space
正運動學
滿射work-space
=>c-space
逆運動學
多解、奇異點
既然機械人在構型空間中就是乙個點,那麼在c-space中設計的planning演算法就不再是侷限於某一機械人系統的planning演算法,而是理論上可以擴充套件到任意機械人系統。機械人型別
c-space
平面機械人
特殊歐式群se(2):(x,
y,θ)
t(x,y,\theta)^t
(x,y,θ
)t無人機特殊歐式群se(3):(x,
y,z,
roll
,pit
ch,y
aw)t
(x,y,z,roll,pitch,yaw)^t
(x,y,z
,rol
l,pi
tch,
yaw)
t六軸機械臂
即關節空間:(θ1
,θ2,
θ3,θ
4,θ5
,θ6)
t(\theta_1,\theta_2,\theta_3,\theta_4,\theta_5,\theta_6)^t
(θ1,θ
2,θ
3,θ
4,θ
5,θ
6)t
2. 對於平面移動機械人來說:它的構型空間是通過對障礙物進行膨脹小車的大小得到的,此消彼長,因此小車縮成了乙個點。
3. 對於平面二連桿臂來說:它的構型空間是(θ1
,θ2)
t(\theta_1,\theta_2)^t
(θ1,θ
2)t
,即它的關節空間,對於二連桿來說也就是乙個平面,它對應的拓撲平面是乙個環,也就是下圖中的(b)圖
4. 障礙物到c-space的轉換
work-space中的障礙物在c空間中一般都是超曲面,在c-space中應用規劃時,一般要把機械臂工作空間內的障礙物在c空間中用數學來描述。
障礙物b在robot的構型空間表示為:
c or
obot
(b)=
x∈cs
pace
robo
t∣(r
obot
)x∩b
≠0co_(b)=|(robot)_x \cap b\neq0 }
corobo
t(b
)=x∈
cspa
cero
bot
∣(ro
bot)
x∩b
=0
其中,(ro
bot)
x(robot)_x
(robot
)x表示robot與關節變數x的關係,當x∈c
orob
ot(b
)x\in co_(b)
x∈coro
bot
(b),則robot與障礙物b會發生干涉。
思路:
推薦一本比較經典的運動規劃書籍《principles of robot motion - theory, algorithm and implementation》
宣告:圖源網路,侵刪!
c 命名空間的理解
c 程式中的若干上下文要求指定命名空間名稱或型別名稱。兩種形式的名稱都寫為以 標記分隔的乙個或多個識別符號。namespace name 命名空間名稱 namespace or type name 命名空間或型別名稱 type name 型別名 namespace or type name 命名空間...
向量表示 運動拋物線 對向量空間的理解
線性代數是研究向量和矩陣的一門數學,矩陣也是向量構成的,所以線性代數主要是研究向量,向量空間以及向量線性組合性質的一門科學。我們很早就接觸到了向量這個東西,向量也稱為向量,是一種有方向,有數值大小的一種數值表示。我們知道向量有幾種基本的運算,向量加法,就是向量裡的每乙個分量對應相加,向量與乙個標量相...
c 中regex的命名空間 c 命名空間
system.transactions 命名空間 注意 此命名空間在 net framework 2.0 版中是新增的。使用 system.transactions 命名空間包含的類可以編寫自己的事務應用程式和資源管理器。具體地說,可以建立和參與 與乙個或多個參與者 本地或分布式事務。system....