

Subject:
Determining 3D position and orientation via spatial resection
Category: Science > Math Asked by: q3manga List Price: $50.00 
Posted:
20 Oct 2006 12:37 PDT
Expires: 19 Nov 2006 11:37 PST Question ID: 775421 
I am looking for a method to determine my exact position and orientation in 3D space based on angle, elevation and range to a set of known points. Some quick searching shows that this seems to be called "spatial resection." What I am looking for is a series of stepbystep instructions to perform this that can be passed to a programmer to implement. Excel spreadsheets are a great way to demonstrate this, but are not required as long as there is an adequate walkthrough that I can reproduce. If it is at all possible to keep the math to basic trig functions and simple matrix transforms, please do so ? pretty much anything in Excel is fair game. A sample of what I need to know: I have 6 known points in 3d space. I can determine an angle, elevation, and range to every one of those points. I am not sure of my position, and I am not sure of my orientation (i.e. I am unsure which way is north, 0 or up). I would also like to know a confidence on that position ? some additional simple searching revealed that there is a "least squares method" of determining confidence, but any reliable method is acceptable. Some sample data: I have 6 points with known 3d (x,y,z) locations (AF) A: (5.8311,2.9535,0.9356) B: (4.5664,4.1200,0.7690) C: (4.2774,3.9950,0.8312) D: (0.9403,3.9162,0.8276) E: (0.5229,4.0035,0.8581) F: (0.9988,3.8776,0.8251) I have an unknown point from which I determine my angle, elevation and range to the above points. Angle begins with 0 at the local "north" and increases clockwise. At the unknown point, the local "north" may not be in the same orientation as points AF. I need to determine what the orientation is, and by how many degrees it needs to be changed so it is back in the same orientation as the surveyed points. Elevation begins with 0 being straight "up" and 180 being "down." Range units are the same units used in the coordinate system (meters, if it matters) From my unknown position, my (angle, elevation, range) to points AF are: A: (79.4658,81.3344,6.0447) B: (96.1967,82.5461,5.7346) C: (97.4889,99.0231,5.4636) D: (135.4403,102.3247,4.0018) E: (156.1425,78.6381,4.2284) F: (162.8964,101.4897,4.2715) What I need to know is: 1. What is my current position (x,y,z)? 2. What is my current orientation (how many degrees off is my local angle and elevation from that of the surveyed points?) 3. What is the confidence that I am at that position or what is the range of positions I could be in? 3a. Depending on the number of points necessary to perform the resection (I?m guessing 3 here) I can run through all combinations of 3 points and get a set of potential positions (hopefully they will all be very close to each other). I?m assuming I should simply take the weighted center of these points and make my position that point +/ whatever the greatest range from the center is. If this is the case, please let me know. If there is a better method of determining this, please show an example. Please let me know if you would like any further clarification, or if I need to provide additional data.  
 
 
 


There is no answer at this time. 

Subject:
Re: Determining 3D position and orientation via spatial resection
From: ansel001ga on 20 Oct 2006 18:10 PDT 
It sounds like you are talking about spherical coordinates. A point in 3 space can be determined by giving, the distance from the origin and two angle measurements. The first angle measurement is the angle from the positive x axis toward the positive y axis. The second angle measurement is the angle from the positive z axis towards the xy plane. If you create a translation, you can put your unknown point at the origin of the new set of coordinates. It only takes four noncoplanar points with the distance and two angle measurements from the unknown point to uniquely determine it. I assume that by "range" you mean distance. And that "angle" refers to the first angle measurement I mentioned and "elevation" refers to the second. I also assume your angle measurements are in degrees, not radians. Please let me know if I have interpreted your quesiton correctly. 
Subject:
Re: Determining 3D position and orientation via spatial resection
From: berkeleychocolatega on 20 Oct 2006 18:46 PDT 
This is how I understand the question: The first information given is coordinates of N points: A1 thru AN. The second information given is the vector distances D1 thru DN from an unknown center X to each Ai measured in spherical coordinates (rho, theta, phi). These can easily be converted to rectangular coordinates. It is probably better to convert everything to spherical coordinates since if the measurements were rho, theta and phi then this is where the independence of the measurements lie. So X is overdetermined as Ai + Di for each i=1 thru N. Say Xi = Ai + Di. One must assume there is an error in each measurement. Assuming the measurements are independent and all with the same normal distribution of error for rho (and for theta and for phi), the best guess for X is its mean and the best guess for the error is the standard deviation of the Xi's done separately for each spherical coordinate. best guess for X is Xbar = (sum of Xi's)/N and best guess for the error sigma is s = sqrt( sum of (Xi  Xbar)^2 /(N1) ), where each of the three coordinates' errors should be done separately. Then the confidence interval for X is simply Xbar +/ 1.96 * s (1.96 is used for 95% confidence). 
Subject:
Re: Determining 3D position and orientation via spatial resection
From: inventorbobga on 30 Oct 2006 12:22 PST 
I have your answer. I do not know how you want your response. I have an EXCEL spreadsheet that does it. I could also explain the geometry if you wish. Maybe you just want the answers? either way, I have from your example data: Elevation: 6 possibilities, ranging from 0.024861324 to 0.026590482 with an average of 0.025501976 and a standard deviation of 0.000641306 Orientation: 30 answers, ranging from 132.6594308 to 140.8950251 with an average of 139.5125062 and a standard deviation of 1.893133635 X position: 30 answers, ranging from 1.13030109 to 0.532831892 with an average of 0.651004959 and a standard deviation of 0.135038228 Y position: 30 answers, ranging from 8.711172121 to 5.863268573 with an average of 7.706949961 and a standard deviation of 0.826416746 
Subject:
Re: Determining 3D position and orientation via spatial resection
From: inventorbobga on 30 Oct 2006 12:27 PST 
Find excel sheet at www.ee.ualberta.ca/~hillyer/FTP/GoogleAnswers.xls 
Subject:
Re: Determining 3D position and orientation via spatial resection
From: q3manga on 02 Nov 2006 09:04 PST 
inventorbob, I am unable to access the spreadsheet you posted. I'm getting the following error: Access forbidden! You don't have permission to access the requested object. It is either readprotected or not readable by the server. 
Subject:
Re: Determining 3D position and orientation via spatial resection
From: hedgiega on 18 Nov 2006 05:36 PST 
I have decided to withdraw my answer, when ACR dialog denegerated to exchanges like : Clarification of Answer by hedgiega on 09 Nov 2006 17:19 PST q3manga! When I respond to a question, I like to finish and get to the point when customer says ^^ Request for Answer Clarification by mxnmatchga on 22 Sep 2003 00:04 PDT I've got it working! Thanks for all your help! .......vv >>I cannot do that, when customer does not cooeperates >>and starts introducing new, confused and inpractical notation such as: (Xk((XuXt)*XrX*XrY*XrZ))+(Yk((YuYt)*YrX*YrY*YrZ))+(Zk((ZuZt)*ZrX*ZrY*ZrZ))==0 I'm sorry if what I wrote was confusing for you. Please try to understand that >>P.o = x,y = a,b +  r11, r12; r21, r22 * X,Y is possibly just as confusing to me. I'm attempting to solve a problem that is admittedly beyond my mathematical abilities. Although useful, I'm not seeking a lesson in 3d geometry. I need a algorithm to solve a specific singlecase problem. Main problem here was not lack of capabilities, but askers negative attitude. I hope that some GAR will find more patience in dealing with this simple geometry problem. 
Subject:
Re: Determining 3D position and orientation via spatial resection
From: inventorbobga on 28 Nov 2006 09:37 PST 
I have corrected the permissions on the file. You may try again. http://www.ee.ualberta.ca/~hillyer/FTP/ choose GoogelAnswers.xls 
If you feel that you have found inappropriate content, please let us know by emailing us at answerssupport@google.com with the question ID listed above. Thank you. 
Search Google Answers for 
Google Home  Answers FAQ  Terms of Service  Privacy Policy 