810 likes | 1.09k Views
Sorawish Dhanapanichkul Advisor : Dr. Attawith Sudsang. Cooperative Localization using angular measures. Our problem. Localization Multi-robot localization. Our problem. Our problem. Our problem. Output A Positional pattern. Input Angular measurements. A 11 ,…,A 14. A 21 ,…,A 24.
E N D
Sorawish Dhanapanichkul Advisor : Dr. AttawithSudsang Cooperative Localization using angular measures
Our problem • Localization • Multi-robot localization
Our problem • Output • A Positional pattern • Input • Angular measurements A11,…,A14 A21,…,A24 (X1,Y1) (X2,Y2) Cooperative Localization Algorithm A31,…,A34 A41,…,A44 (X3,Y3) A51,…,A54 (X5,Y5) (X4,Y4)
Our problem Line Of Sight(LOS)
Introduction to problem • Unknown correspondence between measurements and robots’ ID
Introduction to problem • Matching Problem • Between measurements and robots’ name Naïve O(NN)
Proposed algorithms • Geometric based algorithm • Based on triangulation • Sensitive to noise • Convex optimization based algorithm • Transform the problem to convex optimization problem • More flexibility
Scope • 2D planar space • Fully visible • Include Uncertainty (measurement’s noise)
Geometric based algorithm • Use property of convex hull • Reduce matching complexity • Based on triangulation
Triangulation • Example • 3 robots • 2 known coordinatesand 1 LOS 3 1 2
Triangulation : Ghost node • > 3 robots (ex. 4 robots) 4 3 1 2
Ghost node elimination • 1 more known coordinate + 2 LOSs 4 3 coordinates 3 LOSs 3 1 2 5
Geometric based algorithm • Compute the position of 3 robots • Triangulation using angular measures of 3 robots with known position
Our matching algorithm • Convexity of LOS Graph 4 Boundary lines 3 1 2 5 Boundary points
Define set of boundary point • A boundary point • have 2 measurements which all the others reside between these two measurements • These 2 measurements are called leftmost(LM) and rightmost(RM) • RM LM <= 180 degrees LM1 RM2 4 RM4 LM4 1 2 LM5 5 RM5 LM2 RM1
Find the boundary points which connected with that reference • Choose reference point • From set of boundary points • By using LM and RM • Set the distance between one of them to be 1 1 2 RM1 1 LM2 5 LM5 RM5 (0,0)
Find last LOS • Try to find the last LOS • To find the last coordinate 1 2 1 5 (0,0)
Find last LOS • These 3 robots are forming a triangle • Assuming that there are S robots inside this triangle Convex!!! S S+1 1 2 1 5 (0,0)
Find last LOS • Example: S = 3 • After sorting, compare 1st measurement of robot 1 and 2 3 1 2 1 5 (0,0)
Find last LOS • Example: S = 3 • After sorting, compare 2nd measurement of robot 1 and 2 3 1 2 1 5 (0,0)
Find last LOS • Example: S = 3 • After sorting, compare 3rd measurement of robot 1 and 2 3 1 2 1 5 (0,0)
Find last LOS • Example: S = 3 • After sorting, compare 4th measurement of robot 1 and 2 3 3+1 1 2 1 5 (0,0)
Algorithm summary • Use our matching algorithm to find 3 LOS • Calculate all intersection from 2 robots • Use 3rd robot’s measurements to eliminate ghost node Time complexity : O(N2) + O(N2) + O(N2 lg(N)) 1 2 5
Measurement noise • Due to our comparing method (opposite direction) • Change comparing method
Ghost returns • Special case Ex. 6 robots Ghost node
Experimental result Wrong rate Number of robot
Convex optimization based algorithm • Propose iterative method :: try to minimize error • Reduce problem to convex optimization problem
Iterative method - flow • Random the answer • Update new answer by step vector • Meet termination condition Yes No End
Iterative method - Example 0th step -Random Actual Answer B A C C A B
Iterative method - Example 1st step Actual Answer B A C C A B
Iterative method - Example 2nd step Actual Answer B A C C B A
Iterative method - Example 3rd step Actual Answer B A B C C A
Iterative method - Example Termination condition Actual Answer B B C C A A
Step vector • Difference between “Sum vector” of actual and answer • Ex. Sum vector A A 0th step Actual Answer B A Step vector A C C A B
Example • C# Answer Actual
Example • C# Answer Actual
Error Actual errorAB • Total error = Σerrorij • Mean angular error = total error / no. of input B B Result A A
Experimental result Mean angular error (Radian) Number of robot
Mathematical explanation • Compare iterative method with gradient descent • Proof of correctness
Update eqn <-> Gradient descent Optimization problem !!! • Update equation • Gradient descent
Integration of gradient • Gradient of function • After integration
Convex function • Property • One lowest value • Locally optimal point = Globally optimal point Convex!!
Proof of correctness • Rewrite the equation (no error) • Lowest value • All robots in the result are at the same place • vector from robot ith to jth of the result = vector from robot ith to jth of the real robot
Experimental result 3.437 degrees Mean angular error (Radian) Number of robot
Experimental result Number of iteration step Number of robot
Algorithm summary • Reduce problem Convex optimization • Tolerate to measurement noise