Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Inconsistent XML interface for adding noise to sensors/actuators #120

Open
jharwell opened this issue Dec 10, 2019 · 0 comments
Open

Inconsistent XML interface for adding noise to sensors/actuators #120

jharwell opened this issue Dec 10, 2019 · 0 comments

Comments

@jharwell
Copy link
Collaborator

I'm currently looking at investigating swarm robustness in the present of noise, and would like to add footbot sensor/actuator noise. The sensor/actuators I'm interested in all have the ability to add noise, but the interface is very inconsistent:

  • In the battery, you specify the uniform range to draw noise from directly in the XML.
  • In the differential steering actuator, there are several variables used to calculate the actual applied
    noise from a small equation.
  • In the differential steering sensor, you specify the uniform range to draw noise from for the velocity
    and distance readings directly in the XML.
  • In the proximity sensor, ground sensor, light sensor, you just specify a noise level, which ARGoS
    using internally to construct the range to draw noise from.
  • In the blob camera sensor, you specify the std deviation of the guassian distribution for the distance measure, but the angle measure is always drawn from a uniform distribution (0, 2*pi).

As you can see, there is quite a lot of variety in the level of control, as well as how things are specified in the XML. My thoughts on how to make things somewhat more consistent:

For the simpler sensors/actuators (battery, proximity, light), choosing whether to specify the range directly in the XML or as a single number is an easy change to make, and my preference is pythonic in this regard, in that explicit is better than implicit, and I think specifying the range directly in the XML is the way to go. For the blob sensor, I think exposing the angle of the noise in addition to distance to the user would also be good.

Some sensors/actuators allow the user to specify Gaussian distributions for noise (blob camera, differential steering), and some don't (proximity, ground, and light sensors). I think that adding the ability to choose the type of noise (i.e. uniform or Guassian), or making them all the same would be beneficial as well. However, I'm not a robotics expert, and there may be good reasons why some have uniform vs. Guassian depending on the type of sensor/actuator, but these are not documented in the argos3 -q <query> interface.

@ilpincy @allsey87 any thoughts how how to make things more consistent? I would be happy to do the implementation myself, if there is some consensus on what changes make sense and would enhance usability in ARGoS.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant