IPB

Welcome Guest ( Log In | Register )

59 Pages V  « < 39 40 41 42 43 > »   
Reply to this topicStart new topic
Endeavour Drive - Drivability analysis
Greg Hullender
post Oct 18 2008, 01:19 AM
Post #601


Senior Member
****

Group: Members
Posts: 1018
Joined: 29-November 05
From: Seattle, WA, USA
Member No.: 590



QUOTE (Geert @ Oct 14 2008, 02:44 AM) *
The method I am using is a different approach which often gives better results on the longer scale: basically I'm 'cloning' the rover and sending out (10 to 100) new rovers in all directions, then the terrain analysis determines how far they will proceed in their given direction during one sol (some will travel 100 meters, other maybe only 2 meters). Then at each new position, each rover is again cloned and from that position again new rovers are send in all possible directions, with the whole sequence repeating itself over and over again. Finally the software keeps tabs on which rovers arrive within a given distance (f.i. 10 meters) of the destination. Once a rover 'arrives' we can read back the route it has taken. The first to arrive has found the fastest route, etc. While traveling the rovers also keep track of the terrain, so each rover carries a record of the terrain traveled, and we can select on other options (so not only the fastest route, but also the smoothest route, etc, etc).


There's a much easier way to do this, though. The trick is, you figure the route backwards from the destination. For each position on your map, you end up with a minimum cost route to the destination. During computation, you have to keep a list of "boundary" points (starting with just the destination point) each time you iterate through this list, the boundary expands. When it reaches the start point, you're done. A boundary point has a known minimum-cost path to the destination, but it has neighboring points for which this hasn't been computed yet.

The rule to expand a boundary point, X, is, first, find each of its neighbors (even the neighbors that already have costs -- this is very important) and compute the cost from that neighbor (call it Y) to X. Add the known cost from X to the destination, and see if this estimate of the cost from Y to the desination is better than the cost that Y already has. If it is, store that cost in Y. If there's already a better route from Y to the destination, don't bother. If Y had no cost in it at all (that is, this is the first time we've added a cost to Y) or if you improved the cost, add Y to the end of the boundary list. Finally, when we've processed all the neighbors of X, delete X from the boundary list.

It may be safer to store the new boundary in a separate structure from the old one, just because you must be very sure that you don't start using any new boundary point until ALL of the old ones have been fully processed. Another point is that the program ends not when the start point BECOMES a boundary point, but when it ceases to be one. (That is when it becomes an interior point.) For something like the rover, that's a fine detail, though.

This is called dynamic programming, and it is far and away the best way to handle a problem of this type. I can't see any reason anyone would consider using a different algorithm, unless the memory constraints are very, very tight.

--Greg
Go to the top of the page
 
+Quote Post
Juramike
post Oct 18 2008, 02:06 AM
Post #602


Senior Member
****

Group: Moderator
Posts: 2785
Joined: 10-November 06
From: Pasadena, CA
Member No.: 1345



Not sure here, but couldn't this process get locked into local minimum rather than finding a global minimum?

-Mike


--------------------
Some higher resolution images available at my photostream: http://www.flickr.com/photos/31678681@N07/
Go to the top of the page
 
+Quote Post
Juramike
post Oct 18 2008, 03:47 AM
Post #603


Senior Member
****

Group: Moderator
Posts: 2785
Joined: 10-November 06
From: Pasadena, CA
Member No.: 1345



Here is the REALLY BIG picture showing Victoria Crater to Endeavour Crater with the terrain model and E Corridor route indicated in black.
Attached Image


-Mike


--------------------
Some higher resolution images available at my photostream: http://www.flickr.com/photos/31678681@N07/
Go to the top of the page
 
+Quote Post
Juramike
post Oct 18 2008, 04:36 AM
Post #604


Senior Member
****

Group: Moderator
Posts: 2785
Joined: 10-November 06
From: Pasadena, CA
Member No.: 1345



Again, here is the E Corridor Route proposed earlier in the thread. The key section will be getting through the Victoria Crater debris apron to where this route joins with some of the other proposed routes at the yellow square. (From the yellow square to the end of this terrain modeled section it is a fast green route all the way to the SE corner.) This section is shown below, black boxes are 50 m square:
Attached Image


Taking the most difficult terrain in the 50 m box to be the terrain type of the entire box (worst case scenario), here is the box-by-box terrain evaluation for the E Corridor route:
Attached Image



--------------------
Some higher resolution images available at my photostream: http://www.flickr.com/photos/31678681@N07/
Go to the top of the page
 
+Quote Post
Juramike
post Oct 18 2008, 04:38 AM
Post #605


Senior Member
****

Group: Moderator
Posts: 2785
Joined: 10-November 06
From: Pasadena, CA
Member No.: 1345



Finally, with these 50 m box terrain classification the entire route can be scored based on historical drive data.

The estimated drive time (= score) for the E Corridor Route is 53 days
Attached Image


-Mike



--------------------
Some higher resolution images available at my photostream: http://www.flickr.com/photos/31678681@N07/
Go to the top of the page
 
+Quote Post
CosmicRocker
post Oct 18 2008, 06:03 AM
Post #606


Senior Member
****

Group: Members
Posts: 2228
Joined: 1-December 04
From: Marble Falls, Texas, USA
Member No.: 116



Eegads, man. I can't believe how industriously you have been promoting the Eastward First Route. I'm almost convinced. We need more HiRise imagery to see the endgame, but I'm still onboard with your suggestion.

I think it is coming down to the two questions we had from the beginning. Should the rover take one of the three easy, southerly paths and then hope it can punch through the relatively short sections of tricky terrain beyond, or should it skirt the potentially dangerous stuff with a somewhat longer drive?

I hate to say it, but the odds are against Oppy completing this trip. The good news is that whichever direction is chosen, we'll see something new. wink.gif


--------------------
...Tom

I'm not a Space Fan, I'm a Space Exploration Enthusiast.
Go to the top of the page
 
+Quote Post
Geert
post Oct 18 2008, 06:24 AM
Post #607


Member
***

Group: Members
Posts: 236
Joined: 5-June 08
From: Udon Thani
Member No.: 4185



QUOTE (Greg Hullender @ Oct 18 2008, 08:19 AM) *
There's a much easier way to do this, though. The trick is, you figure the route backwards from the destination. For each position on your map, you end up with a minimum cost route to the destination. During computation, you have to keep a list of "boundary" points (starting with just the destination point) each time you iterate through this list, the boundary expands. When it reaches the start point, you're done. A boundary point has a known minimum-cost path to the destination, but it has neighboring points for which this hasn't been computed yet.

This is called dynamic programming, and it is far and away the best way to handle a problem of this type. I can't see any reason anyone would consider using a different algorithm, unless the memory constraints are very, very tight.


You are right, the reason I didn't implement it in the first place was simply constraints on the amount of time I can spend on this 'job' and I was worried it would indeed use up a lot of memory (I wanted to avoid working with a grid), but as I'm rewriting most of the code now anyway I might add it as an extra feature. It will be a bit easier now as I'm now using latitude/longitude coordinates instead of pixel locations so I'm no longer 'stuck' to one image only.

It all comes down a bit to how much faith you place on software-generated routes, originally I started this toolkit only for image-analyzes, and the 'route finding' option was only a quick add-on. But I see what I can do laugh.gif

Regards,

Geert.
Go to the top of the page
 
+Quote Post
Juramike
post Oct 18 2008, 03:38 PM
Post #608


Senior Member
****

Group: Moderator
Posts: 2785
Joined: 10-November 06
From: Pasadena, CA
Member No.: 1345



The SE Direct route from Victoria Crater apron through the debris field to the fast green route intersection.
Black boxes are 50 m square:
Attached Image


Taking the most difficult terrain in the 50 m box to be the terrain type of the entire box (worst case scenario), here is the box-by-box terrain evaluation for the SE Direct route:
Attached Image




--------------------
Some higher resolution images available at my photostream: http://www.flickr.com/photos/31678681@N07/
Go to the top of the page
 
+Quote Post
Juramike
post Oct 18 2008, 03:51 PM
Post #609


Senior Member
****

Group: Moderator
Posts: 2785
Joined: 10-November 06
From: Pasadena, CA
Member No.: 1345



The estimated drive time (= score) for the SE Direct Route is 43 days.
Attached Image


This is 10 days shorter than the E Corridor route, but proportionally more difficult terrain needs to be traversed. There is a larger percentage of slow terrain (violet and above). A small patch of bigger dunes is crossed by pavement.

-Mike


--------------------
Some higher resolution images available at my photostream: http://www.flickr.com/photos/31678681@N07/
Go to the top of the page
 
+Quote Post
Juramike
post Oct 19 2008, 12:39 AM
Post #610


Senior Member
****

Group: Moderator
Posts: 2785
Joined: 10-November 06
From: Pasadena, CA
Member No.: 1345



The South Central route from Victoria Crater apron through the debris field to the fast green route intersection.
Black boxes are 50 m square:
Attached Image


Taking the most difficult terrain in the 50 m box to be the terrain type of the entire box (worst case scenario), here is the box-by-box terrain evaluation for the South Central route:
Attached Image


--------------------
Some higher resolution images available at my photostream: http://www.flickr.com/photos/31678681@N07/
Go to the top of the page
 
+Quote Post
Juramike
post Oct 19 2008, 12:44 AM
Post #611


Senior Member
****

Group: Moderator
Posts: 2785
Joined: 10-November 06
From: Pasadena, CA
Member No.: 1345



The estimated drive time (= score) for the South Central Route is 47 days.
Attached Image


Some of the "Red terrain on pavement squares" may be overcautious. A visual inspection of the original HiRise image shows that they are most likely Violet on pavement terrain. Being uber-conservative, I kept them as red terrain. (In this drive direction it doesn't affect the estimated drive time).

-Mike


--------------------
Some higher resolution images available at my photostream: http://www.flickr.com/photos/31678681@N07/
Go to the top of the page
 
+Quote Post
Greg Hullender
post Oct 19 2008, 01:30 AM
Post #612


Senior Member
****

Group: Members
Posts: 1018
Joined: 29-November 05
From: Seattle, WA, USA
Member No.: 590



QUOTE (Juramike @ Oct 17 2008, 07:06 PM) *
Not sure here, but couldn't this process get locked into local minimum rather than finding a global minimum?

-Mike



Grin. Nope. It's provably optimal. Dynamic programming really has extensive applications. It's a key part of any modern algorithms class. It doesn't work for everything, but it's great for route-finding problems.

--Greg
Go to the top of the page
 
+Quote Post
Greg Hullender
post Oct 19 2008, 01:38 AM
Post #613


Senior Member
****

Group: Members
Posts: 1018
Joined: 29-November 05
From: Seattle, WA, USA
Member No.: 590



QUOTE (Geert @ Oct 17 2008, 11:24 PM) *
You are right, the reason I didn't implement it in the first place was simply constraints on the amount of time I can spend on this 'job' and I was worried it would indeed use up a lot of memory (I wanted to avoid working with a grid), but as I'm rewriting most of the code now anyway I might add it as an extra feature. It will be a bit easier now as I'm now using latitude/longitude coordinates instead of pixel locations so I'm no longer 'stuck' to one image only.

It all comes down a bit to how much faith you place on software-generated routes, originally I started this toolkit only for image-analyzes, and the 'route finding' option was only a quick add-on. But I see what I can do laugh.gif

Regards,

Geert.


Let me know if you want some help with it. (Send me a private message, if you like.) I know some tricks that'll let you keep the grid on disk (mostly) and just work with the boundary in memory. I'll need to know things like how you're storing the grid-related info and what programming language you're using.

As for how reasonable it is, I hear you. There's every chance that there just isn't enough info in the HiRise images for the result to be meaningful. On the other hand, it ought to provide some entertainment to be able to offer an estimated "fast track" time from the rover's location to the target -- even if it's not perfect.

--Greg
Go to the top of the page
 
+Quote Post
Greg Hullender
post Oct 19 2008, 02:13 AM
Post #614


Senior Member
****

Group: Members
Posts: 1018
Joined: 29-November 05
From: Seattle, WA, USA
Member No.: 590



At the expense of making three posts in a row, it just occurs to me that the A* algorithm was pretty much made for this kind of problem.

http://en.wikipedia.org/wiki/A*_search_algorithm

The extra thing that this gives you is that it lets you use the fact that from any point you can make an optimistic estimate of the drive time from that point just by taking the straight-line distance and assuming perfectly flat terrain. A* will also get the optimal result, and, in this case, it ought to use less computation and less memory.

Note that our cost function (driving time) is monotonic -- a negative cost would mean there's terrain that takes negative time to cross -- so we can make use of the "closed set" the Wikipedia article talks about. (This is similar to the "memoization" that makes dynamic programming work, and without it, this will NOT run in reasonable time or memory.) That just means you don't ever recompute the distance to the same node twice. Since A* hits nodes in increasing distance order, if a point in the grid has ever been visited before, then you know it had a better route. A bit-map of the grid would be enough.

Sigh. This stuff is MUCH easier to explain in person in front of a white-board . . .

--Greg
Go to the top of the page
 
+Quote Post
Juramike
post Oct 19 2008, 04:24 AM
Post #615


Senior Member
****

Group: Moderator
Posts: 2785
Joined: 10-November 06
From: Pasadena, CA
Member No.: 1345



The SW Passage route from Victoria Crater apron through the debris field to the fast green route intersection.
Black boxes are 50 m square:
Attached Image


Taking the most difficult terrain in the 50 m box to be the terrain type of the entire box (worst case scenario), here is the box-by-box terrain evaluation for the SW Passage route:
Attached Image


--------------------
Some higher resolution images available at my photostream: http://www.flickr.com/photos/31678681@N07/
Go to the top of the page
 
+Quote Post

59 Pages V  « < 39 40 41 42 43 > » 
Reply to this topicStart new topic

 



RSS Lo-Fi Version Time is now: 31st May 2024 - 09:58 AM
RULES AND GUIDELINES
Please read the Forum Rules and Guidelines before posting.

IMAGE COPYRIGHT
Images posted on UnmannedSpaceflight.com may be copyrighted. Do not reproduce without permission. Read here for further information on space images and copyright.

OPINIONS AND MODERATION
Opinions expressed on UnmannedSpaceflight.com are those of the individual posters and do not necessarily reflect the opinions of UnmannedSpaceflight.com or The Planetary Society. The all-volunteer UnmannedSpaceflight.com moderation team is wholly independent of The Planetary Society. The Planetary Society has no influence over decisions made by the UnmannedSpaceflight.com moderators.
SUPPORT THE FORUM
Unmannedspaceflight.com is funded by the Planetary Society. Please consider supporting our work and many other projects by donating to the Society or becoming a member.