[proposal] Integrate GADEN into NRP - simulate 3D olfaction


#1

The MAPIR group at the University of Malaga have recently released GADEN, a ROS pkg for 3D Gas dispersion simulator intended to enable simulation of mobile robot olfaction, using realistic models of gas sensors. Have a look at the corresponding paper on GADEN, it’s open access.

Integrating GADEN into NRP would be absolutely awesome, because it would allow us to carry out simulations for gas-based robot navigation. But the real killer feature is that, due to the NRP’s unique capabilities, it would also enable us to simulate mouse and human olfaction, using actual spiking networks to process chemical information. Needless to say, this could create a “unique selling point” for NRP.

The authors of GADEN have published their pkgs on github. Unfortunately I’m still a beginner in ROS and have a hard time judging whether it would be feasible to get GADEN running within NRP. Maybe one of the NRP developers could have a look at the pkgs and give me a hint whether it would in theory be possible to integrate GADEN into NRP?


#2

Looks great!

I don’t want to sound too optimistic, but since it is a ROS package, it should be straightforward to integrate. You can do it yourself on your local install:

cd $HBP/GazeboRosPackages/src
git clone git@github.com:MAPIRlab/gaden.git
cd ..
catkin_make

Probably you’ll have some dependency issues that you’ll have to install with apt-get.


#3

I also added an epic in our backlog for discussion after this release (October). We might figure out a tighter integration with graphical rendering, monitoring, and stuff. We might then integrate it in the next release (March 2018).
Until then, please tell us if you succeed in using it as Jacques described, because we can add a tutorial for it, which would be helpful for other users.


#4

Hi Jacques and Axel,

thanks for your input so far. I cloned the repo into GazeboRosPackages as described by Jacques, plus olfaction_msgs which is a dependency.
Problem: There seems to be an .h file missing, or maybe it’s an error on my side… see issue #3 in the GADEN github repo.

While I wait for a reply from the GADEN guys, I wonder how I can integrate GADEN into NRP experiments once it’s set up and compiled. Is there an “NRP Experiment design for Dummies” available somewhere that I can get started with?

Thanks in advance,

Michael


#5

Dear Michael,

Indeed the documentation might lack how to set up a new experiment from scratch. That is because we will provide soon a guided wizard for that. But for now, the best solution is to copy an existing simple experiment, such as the braitenberg_husky (in the Experiments repo) and to hack it, either with a text editor, or better, with our embedded transfer functions editors. In your transfer functions, you will be able to import GADEN and call its api.
I will join here or send you a pdf with insights on the experiment file layout.
For more detailed info on transfer functions, read the guide book at:
https://developer.humanbrainproject.eu/docs/projects/HBP%20Neurorobotics%20Platform/1.2/index.html
Jacques may have more beginner material too.

Cheers, Axel


#6

Hi Michael

To learn how to use the NRP by using the NRP, I would strongly suggest the experiment tutorial I wrote in Experiments/tutorial_baseball. There you will find an jupyter notebook walking you though the features of the NRP.

I have further developed the notebook to explain how to create an experiment from scratch - basically what Axel said - but it is not yet merged and released.

Cheers,
Jacques


#7

Thanks Axel and Jacques, I will have a look at the resources you suggested. I’ll posted any progress about getting GADEN running in this forum.

Cheers,

Michael


#8

Update: GADEN compilation issues have been solved. I’m now exploring ways to run GADEN and make it useable in NRP.


#9

Hi Michael,

What’s your current status? Florian Röhrbein asked me to take a look at GADEN and the NRP and see what could be done to get things working, I’ll take a look starting tomorrow morning and be able to directly support you as we figure out how to get things integrated and what current limitations/features are required.

I imagine visualization may not be directly supported in the NRP frontend depending on how they model the gas visualization I am seeing on their website, but it’ll be good to identify these things and come up with a solid use case / experiment setup for you.

Best,
Kenny


#10

Dear Michael,

The Gaden integration has been filed into our bitbucket feature request tracker (https://bitbucket.org/hbpneurorobotics/neurorobotics-platform/issues/18/) and the implementation is starting in this sprint, but will probably last until shortly after our 1.3 release. We will indeed not only integrate gaden in our backend simulator, but also add particle representation in the frontend.

We will keep you posted over the bitbucket issue mentioned above.

Best regards.


#11

Sorry for the delay, I was on vacation.

@vonarnim Great news that this is now “officially” followed up. Thanks! Still playing catch-up with my emails this week, but please let me know if I can be of help in any way!

Cheers,

Michael


#12

thx
دانلود فیلم خارجی


#13

Hi @vonarnim , now that I got NRP working with VMware on a Mac I’m feeling a bit bold :wink:
I’d like to have a shot at the current development version, including GADEN.
Is this something worthwhile to try for someone not actively involved in ongoing development, or are there too many hoops to jump through?
Where would I start?


#14

Dear Michael,

A part of the Gaden integration has been achieved in the Autumn, but due to priority changes, it has been frozen for now unfortunately. Indeed, our managers want us to focus on usability, ease of use and robustness till March and our team is fully booked with that.
Still, Gaden is still on our work plan. Though, if you want to participate in its development it could be beneficial for all. Just tell me via email if you are interested and we can organize a meeting.

I’m sorry that there is no better answer for now to your request.

To address your other question: there is no public development version. The code in Bitbucket is updated very regularly and lags only a couple of days behind the latest dev branch, so an update of the platform will give you the latest changes.

Best regards,
Axel