Go to Post I guess I should read the manual. - r_towle [more]
Home
Go Back   Chief Delphi > CD-Media > Photos
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

photos

papers

everything



N Dimensional Exploring Tree

By: Marlow
New: 02-07-2015 15:56
Updated: 02-07-2015 15:56
Views: 1225 times


N Dimensional Exploring Tree

This is the first step of my solution to the programming challenge proposed here last week. It scales linearly with dimensions and logarithmically with iterations. A 3d visualizer will be coming soon.

Recent Viewers

  • Guest

Discussion

view entire thread

Reply

03-07-2015 11:08

SenorZ


Unread Re: pic: N Dimensional Exploring Tree

This visually reminds me of a research project I did in college. Trying to find out if a branched dendrimer chain (polymer) could form a hollow ball, or if it would "fill in".
Always filled in.



03-07-2015 14:23

faust1706


Unread Re: pic: N Dimensional Exploring Tree

To add context to this because I feel most people don't understand the significance of this:

Marlow (re)created a n dimensional path finding algorithm that is magnitudes times faster than the standard a* algorithm. While the path constructed is virtually never the most optimal path, it finds the path fast enough such that it can be implemented in real time and does not matter how refined the grid is because it uses a floating point grid at all times. With a trajectory smoother algorithm, a discrete path using this RRT (rapidly exploring random tree) may be found, and then smoothed using gradient descent in real time.

This is what the robots in the DARPA robotics competition were doing in real time when they were climbing over debris or getting their hand in position to turn a valve, except the search space had many more dimensions than 2.



03-07-2015 19:08

Marlow


Unread Re: pic: N Dimensional Exploring Tree

To expand on @faust1706's explaination:

My method constructs 2 RRTs, one from the initial state, the other from the goal state. The program is constructs these 2 trees independently and simultaneously. After every few iterations, the program checks to see if the shate a point, or roughly share a point, in space. It goes until they do, then the path is going down the tree based at the initial starting point and then it goes up the goal tree from the shared point.

While this method isn't the greatest for low dimensionality search spaces, it shines when the dimensions start getting big as it scales linearly with dimensions.

I'm curious to see if any team will ever actually implement this. Alas I don't think teams have the ability to given the amount of moving pieces it has. It seems like it'd be a nightmare.



03-07-2015 19:25

Marlow


Unread Re: pic: N Dimensional Exploring Tree

To expand on @faust1706's explaination:

My method constructs 2 RRTs, one from the initial state, the other from the goal state. The program is constructs these 2 trees independently and simultaneously. After every few iterations, the program checks to see if the shate a point, or roughly share a point, in space. It goes until they do, then the path is going down the tree based at the initial starting point and then it goes up the goal tree from the shared point.

While this method isn't the greatest for low dimensionality search spaces, it shines when the dimensions start getting big as it scales linearly with dimensions.

I'm curious to see if any team will ever actually implement this. Alas I don't think teams have the ability to given the amount of moving pieces it has. It seems like it'd be a nightmare.



03-07-2015 20:25

kylestach1678


Unread Re: pic: N Dimensional Exploring Tree

Quote:
Originally Posted by Marlow View Post
I don't think teams have the ability to given the amount of moving pieces it has. It seems like it'd be a nightmare.
Not to mention the fact that no game so far has called for much more than basic autonomous capability...



03-07-2015 20:59

Marlow


Unread Re: pic: N Dimensional Exploring Tree

It'd be cool to see a robot recalculate its autonomous every game, though.



03-07-2015 21:21

GeeTwo


Unread Re: pic: N Dimensional Exploring Tree

I cannot tell where the start or end points are; I thought this was searching from one point (presumably 57, 56), not two. It would be helpful if the nodes were color-coded by the iteration number. If it would not be too cluttered, displaying the obstacles would be nice, as well.

Finally, I'm not sure if I misread the original problem statement, but I understood that the goal was to optimize the route, not the search for any route. In optimizing the route, you would probably want to use the corners and edges of the obstacles as search nodes, as well as random points away from the obstacles. This tactic would also help locate paths through narrow gaps that the unconstrained exploring tree would be likely to miss.



03-07-2015 22:07

kylestach1678


Unread Re: pic: N Dimensional Exploring Tree

Quote:
Originally Posted by Marlow View Post
It'd be cool to see a robot recalculate its autonomous every game, though.
That won't really be necessary until there is a game that has an autonomous where things aren't in the same place every time. Autonomous endgame, anyone?



03-07-2015 22:16

kylestach1678


Unread Re: pic: N Dimensional Exploring Tree

Quote:
Originally Posted by Marlow View Post
It'd be cool to see a robot recalculate its autonomous every game, though.
That won't really be necessary until there is a game that has an autonomous where things aren't in the same place every time. Autonomous endgame, anyone?



03-07-2015 22:52

Peter Johnson


Unread Re: pic: N Dimensional Exploring Tree

Quote:
Originally Posted by kylestach1678 View Post
That won't really be necessary until there is a game that has an autonomous where things aren't in the same place every time. Autonomous endgame, anyone?
We've had games like that. In 2008, the balls were placed in random initial positions at the start of every match and you got points for knocking yours down. The challenge was made easier with IR receivers making it a hybrid rather than pure auto mode, but with more powerful image processing available now it would be fun to have a similar auto challenge with hybrid disallowed.



04-07-2015 11:55

Marlow


Unread Re: pic: N Dimensional Exploring Tree

Quote:
Originally Posted by GeeTwo View Post
I cannot tell where the start or end points are; I thought this was searching from one point (presumably 57, 56), not two. It would be helpful if the nodes were color-coded by the iteration number. If it would not be too cluttered, displaying the obstacles would be nice, as well.

Finally, I'm not sure if I misread the original problem statement, but I understood that the goal was to optimize the route, not the search for any route. In optimizing the route, you would probably want to use the corners and edges of the obstacles as search nodes, as well as random points away from the obstacles. This tactic would also help locate paths through narrow gaps that the unconstrained exploring tree would be likely to miss.
Huh. I never thought about using the obstacles to guide the path itself. I always viewed them as disallowing certain paths (I'm here, I can't go to the right because there is an obstacle there, go somewhere else).

I am working on making the visualizer run in real time as the tree is being constructed, but I'm on holiday so I don't know when that will get done. I think that would be cool. This little demo doesn't find paths and therefore doesn't take obstacles into account. I wrote the program first and am just now getting to the visualizer.

The final demo program will be the actual program I submitted to @faust1706 with the case n = 2 (maybe another visualizer where n = 3), and it will be of the two trees growing with obstacles being displayed, with every piece of what is happening.

I wish I had the ability to actually use this on a small arduino bot or something, but I don't know how to do vision processing to find obstacles or make the robot go from (x1, y1) to (x2, y2). If I do could do that, then I'd love to see them on a quadcopter for some aerial maneuvers. I have lots to learn in terms of control theory and theoretical computer science!



view entire thread

Reply
previous
next

Tags

loading ...



All times are GMT -5. The time now is 04:24.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi