Menu

#498 Wifi Model for Stage 3.2

Unstable
open
Stage (103)
5
2012-12-16
2009-10-14
Tyler Gunn
No

A Port of the 3.1.0 port by Rahul Balani, with some improvements:
* Code optimization: determining model type with an enum versus string compares,
* Code optimization: Wifi models add themselves to a vector of all wifi models housed in the world, rather than using the "get models by name" approach used previously,
* Code optimization: Using system inet_addr type to store IPs, netmasks, etc; makes for faster comparisons.
* Code cleanups: moved wifi config and samples to proper C++ classes.
* If no MAC specified, robots will generate their own random MAC address that is unique among all WIFI models in the world file.
* Added netmask specifier to wifi model.
* New link success rate parameter defines the percentage of time a link between two wifi neighbors will successfully be established. Defaults to 100 (ie 100%), meaning that links between robots within range are always present. A value less than 100 means that the link has a chance of failing, resulting in robots losing connection with their wifi neighbors. You can see this in the wifi visualization as the links between robots appear to flicker when the success rate is < 100.
* Added in OPTIONAL support for using the Boost random number generator to generate the gaussian random variables that are part of the LOG NORMAL model, and also used with the communication reliability setting.
* Added the ability to specify the RANDOM SEED used to initialize the random generator for each wifi model. This only really works when using the boost RNG. The purpose of this is to allow deterministic, repeatable experiments using simulated WIFI.
* Introduced wifi message base class (can be extended as in wander_wifi.cc example) to provide a common means of passing messages to wifi neighbors. *
* Revamped the communication interface to support ESSID, and network/subnet checking to only send messages to an intended recipient.
* Also supports IP broadcasts to all peers on the same network.
* Cleaned up the communication interface to make use of the new wifi message base class.
* Added a wander_wifi.cc controller example that makes use of simulated wifi to send messages between robots, using the new comm interface.

Discussion

  • Tyler Gunn

    Tyler Gunn - 2009-10-14

    Place in libstage/communication.cc

     
  • Tyler Gunn

    Tyler Gunn - 2009-10-14

    Place in examples/ctrl/wander_wifi.cc

     
  • Tyler Gunn

    Tyler Gunn - 2009-11-01
     
  • Tyler Gunn

    Tyler Gunn - 2009-11-01

    Apply to 8286.
    Note: I have recently updated the patch file as it had a small bug in the auto mac generation code.

     
  • Nobody/Anonymous

    f2Wlol <a href="http://umutjnvildgw.com/">umutjnvildgw</a>, [url=http://avhnhbdobeav.com/]avhnhbdobeav[/url], [link=http://crzgqoazerwv.com/]crzgqoazerwv[/link], http://jpwdjdknrdip.com/

     

Log in to post a comment.