buzz-lang / Buzz

A programming language designed for robot swarms.
MIT License
294 stars 61 forks source link

Failed to initialize (beginners error) #79

Closed max7322 closed 5 years ago

max7322 commented 5 years ago

I am trying to get started using buzz and argos an am having a rough time of it. I am able to successfully run the argos tutorials but have run into issues while trying to run the buzz tutorials. I believe it is a library issue but I am not experienced enough to figure out the problem.

Here is my console output while trying to run gradient.bzz ( Ubuntu 16.04 WSL):

Buzz_gradient_error

Gradient.bzz: (.txt)

gradient_bzz.txt

Gradient.argos: (txt)

gradient_argos.txt

Initially I thought it was because buzz was installed in a different dir than argos, while that did not seem to be the issue, I re-installed so the file tree is now as follows:

rootfs/usr/lib/argos3/argos3-examples; buzz; buzz-examples

Thanks for the help and sorry for such a basic question

vivek-shankar commented 5 years ago

Thank you for your interest in Buzz! You did almost everything right. I had to just add a couple of lines in the .argos file to have your setup working. The issues that I had to fix are: As you see in the error message, Argos couldn't initialize the LEDs actuator because it couldn't find the right medium to simulate the LEDs. These mediums in Argos are somewhat special, they simulate the propagation of forms of energy like radio waves, light and etc. You could basically think about it as some kind of medium like the air that carries radio waves or light from a source to all the other parts of the environment. So, whenever you use some kind of actuator that dissipates some kind of energy either in the form of light or radio waves you need to add a medium associated with it, in order to simulate the propagation of that entity.
To find out if the actuator you use needs a medium you could try argos3 -q "NAME_OF_THE_ACTUATOR" (I think you know this, I remember seeing this in your comments).

You basically forgot to add these mediums in the .argos file for two of the actuators you were trying to use: 1. range and bearing and 2. LEDs. I also placed the robots a bit close, so they will not be obstructed by the walls. I am also attaching the .argos file and the .bzz file for your reference.

gradient.txt gradient_bzz.txt

Good Luck!

And if you have any further questions feel free to post them, we will get back to you as soon as possible.

max7322 commented 5 years ago

Wow, I knew it was something simple that I would never figure out. Thanks for the help!