allenai / allenact

An open source framework for research in Embodied-AI from AI2.
https://www.allenact.org
Other
312 stars 50 forks source link

Environment for honey bee foraging and dance #211

Open portegys opened 3 years ago

portegys commented 3 years ago

Problem

I'm interested in porting a simulation of honey bee foraging behavior, including their unique dance that informs the colony of the whereabouts of nectar, to the allenact platform.

Desired solution

The current simulation is in a grid world, so it would probably be a variation of the minigrid world. There would be a variable number of nectar-containing flowers in the world, each uniquely identified, along with a central hive. A run would consist of randomly placing a bee on a flower with a random orientation. This simulates arriving from a foraging mission. The bee would extract the flower's nectar and observe if there is surplus nectar in the flower that the colony should be made aware of (through the bee dance). Knowing the flower id, the bee then flies to the hive where is deposits the nectar. If surplus nectar was observed, it then "dances" to indicate the direction and distance to the flower (or maybe just the id of the flower).

Lucaweihs commented 3 years ago

Hi @portegys ,

This looks like an interesting possible addition! To get a sense of if AllenAct is the best tool for you goals, it would be great to get a little more information:

Thanks!

portegys commented 3 years ago

Hi Luca, Thanks for getting back. I'd first like to explore reinforcement learning to get an idea of the limitations/strengths of it for this task. I've had success with an context-memory system that I've developed, but not with a recurrent NN. So on the multi-agent question, honey bees do this fascinating dance to alert other bees about where nectar is, and then they fly off to retrieve it. So, yes, this should optimally be a multi-agent task.I've run it with 1 to 5 bees so far. Right now the code is java, but I'm prepared to port it to python for this. Thanks, Tom Portegys

On Mon, Sep 28, 2020 at 4:29 PM Luca Weihs notifications@github.com wrote:

Hi @portegys https://github.com/portegys ,

This looks like an interesting possible addition! To get a sense of if AllenAct is the best tool for you goals, it would be great to get a little more information:

  • As you'd like to have this simulation in AllenAct, I imagine you're interested in studying what types of foraging behavior the bee agent will learn through reinforcement learning? Are there other learning paradigms you're considering?
  • Will this be a multi-agent simulation? Looking briefly at your reference it seems like it collaboration is key. If so, how many simultaneous agents do you expect to have in the environment?
  • What kind of code is already available for this simulation? If the existing code has a Python API then it might be possible to bypass having to use minigrid at all.

Thanks!

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/allenai/allenact/issues/211#issuecomment-700291402, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAF3XMBPZJCTRI7QZNYD6WTSID54RANCNFSM4R3JS7MA .

Lucaweihs commented 3 years ago

Hi Tom,

Sorry for the delay, the team had a conference deadline last week that consumed most of everyone's attention. This sounds like a great potential addition. I would have some hesitancy if you were planning to simulate hundreds or thousands of bees in the same envirnoment (I imagine this might work fine but allenact was not explicitly designed with this in mind so I'm not sure if there are any hidden bottlenecks). The numbers you're mentioning seem more than reasonable. Let me know if there is any support you need regarding how best this can be made to work with allenact.

Best, Luca

portegys commented 3 years ago

OK, thanks. I'll keep in touch! Tom

On Mon, Oct 5, 2020 at 6:25 PM Luca Weihs notifications@github.com wrote:

Hi Tom,

Sorry for the delay, the team had a conference deadline last week that consumed most of everyone's attention. This sounds like a great potential addition. I would have some hesitancy if you were planning to simulate hundreds or thousands of bees in the same envirnoment (I imagine this might work fine but allenact was not explicitly designed with this in mind so I'm not sure if there are any hidden bottlenecks). The numbers you're mentioning seem more than reasonable. Let me know if there is any support you need regarding how best this can be made to work with allenact.

Best, Luca

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/allenai/allenact/issues/211#issuecomment-703941641, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAF3XMH22ZWII46YWQMV22LSJJIXRANCNFSM4R3JS7MA .