drzo / opensim4opencog

Automatically exported from code.google.com/p/opensim4opencog
2 stars 0 forks source link

Port pathing code. #7

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
Can you possibly port or show an example of the pathing code to use in say
teh test client or non cog related openmv project?

Original issue reported on code.google.com by Xot...@gmail.com on 24 Jan 2010 at 2:52

GoogleCodeExporter commented 8 years ago
I don't have an example offhand but will try to explain:

Here is a summary of what is going on working backwards:

1) The pathfinder used is a pretty simple A* Pathfinder using a 2D array of 
numbers 
0-255
The 0-255 The lower the number the more passable the cell is.  except 255 = 
completely blocked
Each cell is 0.2 meters apart. So a 256x256 is 1280x1280 cells. 

2) The passibity numbers are computed based on a hightmap which is a 2D array 
of 
floats.  The passibity is based on how big the jump between adjacent hights 
are. if 
the jump is 0.2 of hight that means there was a 45 degree incline (still 
passible)
if the hight is >0.5 then its considered 255 blocked.

3)  Creating the highmap is the barrier where Cogbot code and pathfinding code 
gets 
fuzzy.
here is what is required: "Basically everything one needs to write a monochrome 
graphical client"
   a) All bitmaps of scultpy prims - a way to compute 3D meshes
   b) prim parent/child relationships
   c)  prim location/scale/rotation/meshinfo/phantomness

All of this required a fault tollerant Asset/Prim retrieval system.
I *might* be able to extract this into its own library  which deserves to be 
called 
MonochromeGraphicsSupport.dll 
though for now would be called CollisionSystem.dll 
Becasue it downloads and creates the 3D world pixel by pixel.. in order to 
compute 
the highmaps 
and to do collision detection.  it would take a GridClient and an assets folder 
path 
for downloading.

Original comment by logicmoo@gmail.com on 29 Jan 2010 at 1:25

GoogleCodeExporter commented 8 years ago
Oh I truncated the above post:

Heightmaps is the foot position where a 1.9Hx0.3W imperfect spherebody can be 
moved 
around based on gravity. The amount of hieght the object has to move up or down 
is 
the amount of blockedness between cells.  If the but if the spherebody bumps 
its 
head it'll get a 255. sometimes a gradual incline will allow the spherebody to 
climb 
a ramp outside the original ground plane.  But all this helps the bot discover 
hollowness of objects and avoid falling off cliffs and walk arround in complex 
sculpty houses.

The problem I run into at the moment is the week it might take to get Cogbot to 
start using the servics of a new API for a retrieval system for prims and 
meshing in 
CollisionSystem.dll.. I can say w/in a couple months this week might be able to 
be 
made.

Original comment by logicmoo@gmail.com on 29 Jan 2010 at 1:48

GoogleCodeExporter commented 8 years ago
Yeah that would be extremely helpfull... A true pathing that is fast would rock.

Original comment by Xot...@gmail.com on 21 Mar 2010 at 6:28

GoogleCodeExporter commented 8 years ago
COmplete: See PathFinding3D.dll

Original comment by logicmoo@gmail.com on 1 Jul 2012 at 8:13