Motion Planning
- 使用States建立State Graph
- Nodes(在差不多的位置設置點),
- Sample Strategy 1:靠近障礙物以圓爲範圍,圓的中心點到圓邊的中點爲Collision-Free)
- Sample Strategy 2:使用Grid的小田字格樣式
- Sample Strategy 3:Combine(用相等的Weight)
- Edges(把能連接的點連在一起),
- Configuration (檢查環境要求),
- Line Segments in Collision-Space(檢查是否在禁區)
OrientationofArea(a,b,c)=∣∣∣∣∣axbxcxaybycy111∣∣∣∣∣
- 順時針:Area < 0; 反時針: Area > 0; 同線:Area = 0;
- Nodes(在差不多的位置設置點),
Collision-free Path
Q: 如果從建好的Graph裏移除一些的nodes以及edges,也能保證有一條最短的且collision-free的路徑在起始點與終點間嗎?
A: 能。當移除nodes時,也意味着有條edge不存在了,所以如果一個Graph裏能保證有起始到終點的最短路且還能移除任意的edges, 我想到了MST(Minimum Spanning Graph)的定理。運用在:
- 【Reference 1】Spanning tree based algorithms for low latency and energy efficient data aggregation enhanced convergecast (DAC) in wireless sensor networks
- 【Reference 2】Collision-Free Network Exploration
- 【Reference 3】Collision-free path coloring with application to minimum-delay gathering in sensor networks
Collision Free Check
Box bounding and line segment collision check won’t get the same answers. To check 2 line segments, it needs to construct a rectangle. However how to construct a rectangle by only one line segment is a problem. Line segment collision check uses the binary check base idea. If the determine of several segments are not at the same orientation, then they will collide, vice versa.
Example: [x1,y1,x2,y2,x3,y3,x4,y4] = [“0”,”2”,”3”,”5”,”1”,”4”,”4”,”3”]
@Matlab Figure for Box Bounding Test Method:
x = [0,3,1,4];y = [2,5,4,3];
plot(x,y,"r*");
for ii = 1 : 4
text(x(ii),y(ii),"("+x(ii)+","+y(ii)+")");
end
要以兩條segments構建兩個矩形:
高度:abs(0-3)= 3; abs(1-4)=3
寬度:abs(2-5)= 3; abs(4-3)=1
X:MIN(0,3); MIN(1,4)
Y:MIN(2,5); MIN(4,3)
構造好兩個矩形後,檢查是否intersect,如果intersect則說明兩個Box collide。
@Line Segments Test Method:
在2D裏設置所有點的Z軸爲“1”,計算一個包含3點組成的Area的orientation,如上面matrix 公式。
Configuration Space (C-Space)
β-lookout :來自β, 定義了來自C-Space的一個observer region的一系列cobfigurations, 而且這樣一個C-Space不僅能夠得到在兩個不同observer regions裏的β fraction of the free space,還能夠滿足讓兩個不同的Observer Regions被一條直線相鏈接在一起。這條直線可以看作是一個Edge,兩個Regions可以看作爲Edge兩端的Nodes。這條Edge被用於PRM State Graph裏。
α:被定義爲能夠發現observer region裏 free space的 β fraction。因此α取決於 β的大小,成正比。大的α說明 β-lookout 的set size也大。
- 整幅圖域: C-Space (Configuration Space)
- 黑色區域: free space 的 1號 observer region
- 淺藍區域: free space 的 2號 observer region
- 棕色區域: 禁區/障礙物
- 深藍區域: observer region 的 α fraction
- 橘色區域: observer region 的 β fraction
解法:PRM(Probabilistic Roadmap) Uniform random sampling (在上面Motion Planning 的起始部分的State Graph步驟)