opencog / opencog-to-minecraft

Interface linking Minecraft to OpenCog using ROS
20 stars 13 forks source link

Implement routing algorithm over the currently known blocks. #44

Open fredyvilla opened 8 years ago

fredyvilla commented 8 years ago

Issue by AndrewBuck Friday Jan 15, 2016 at 16:16 GMT Originally opened as https://github.com/fredyvilla/opencog-to-minecraft/issues/18


Discussion of routing in the atomspace using the spacemap and octomap implementation

fredyvilla commented 8 years ago

Comment by AndrewBuck Friday Jan 15, 2016 at 16:25 GMT


I created this issue as a more centralized place of discussion for routing in the currently existing blockspace which is known to the bot. The routing in this sense is just "basic" routing, in that it only considers routes in the currently existing atomspace, it does not consider modifying the blocks around the bot in the routing (like building bridges, digging through walls, tunneling, etc). More complex routes involving plans to redesign the blockspace can be implemented later on, but to start we want to just consider routing in the blockspace as it currently exists.

fredyvilla commented 8 years ago

Comment by akhisud Friday Jan 15, 2016 at 16:54 GMT


If I understood right, when this routing is implemented, the bot will be able to navigate from one given coordinate to another given coordinate on flat terrain (if such a path exists). Am I correct or wrong?

fredyvilla commented 8 years ago

Comment by karandesai-96 Friday Jan 15, 2016 at 17:06 GMT


Random movement might not be carried on in a long run. Keeping a list node is a good idea, each item can be a tuple of two entities - (A) move/ jump and (B) the direction. Also, to move from a start point to end point, there can be many possibilities. I haven't used atomspace yet, but at a superficial level, I can visualize that if the bot has to move optimally, he can have two choices: (A) Bot can choose a path which is relatively shorter, but contains more jump actions, if he can prioritize the time over his hunger (jump consumes more energy than walk). (B) Bot can choose a relatively longer path, which will consume less energy of bot overall.

So I suppose, a list node containing a path should have some sort of parameters assigned, which hint towards the probability of bot taking up that path.