運動規劃中C空間的理解

2021-10-23 14:12:39 字數 2479 閱讀 1229

先上結論:在構型空間(也就是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....