Difference between revisions of "GSOC2010UANFramework"

From Nsnam
Jump to: navigation, search
(AUV simulator)
m (AUV simulator)
Line 121: Line 121:
  
 
Along with these two mobility models, it will be developed two Mobility Traces Generators, one for the Remus and one for the SeaGlider.
 
Along with these two mobility models, it will be developed two Mobility Traces Generators, one for the Remus and one for the SeaGlider.
The Seaglider's one, will implements the characteristic whale-like movement of the AUV, according to the documentation [9].
+
The Seaglider's one, will implements the characteristic whale-like movement of the AUV, according to the documentation [7].
  
 
===Energy-related classes===
 
===Energy-related classes===

Revision as of 09:10, 8 June 2010

Underwater Acoustics Networks is a research field that, in the last year, is gathering attention from researchers all over the world. Infact, the need for underwater wireless communications exists in applications such as remote control in offshore oil industry [3], pollution monitoring in environmental systems, speech transmission between divers, mapping of the ocean floor, mine counter measures [4], seismic monitoring of ocean faults as well as climate changes monitoring. Unfortunately, making on-field measurements is very expensive and there are no commonly accepted standard to base on. Thus, the priority to make research work going on, is to realize a complete simulation framework that researchers can use to experiment, make tests and make performance evaluation and comparison. The NS-3 UAN module is a first step in this direction, trying to offer a reliable and realistic tool. Infact, the UAN module, offers accurate modelling of the underwater acoustic channel, a model of the WHOI acoustic modem (one of the widely used acoustic modems)[8] and its communications performance, and some MAC protocols. This project, will integrate the efforts of UAN module, extending it to make a simulation framework that researchers will be able to use for their aims. The extension will consists of an Autonomous Underwater Vehicle (AUV) simulator (navigation and movement) alogn with an implementation of AUV batteries. Moreover, it will be implemented, a power model for the WHOI <math>\mu</math>modem and, the available MAC protocols, will be modified to use the energy class. For the moment, the UAN module can be used to make some sort of performance comparisons of the available MAC protocols, or tests the communication channel. With the proposed extension, researchers will be able to use the framework to develop and evaluate their "applications". An application, is intended as a more complete concept, including each parts of the UAN module integrated with the proposed extensions. Then, the final result, will be a complete simulation stack for underwater network applications.


Approach

The work will be divided into two main parts:

  • the AUV simulator
  • the energy classes implementation


Thus, the project components will be:

  1. AUV simulator
  2. classes for AUV batteries and WHOI modem power profile
  3. Helper and utility classes for 1.
  4. Test cases


Use Cases

AUV simulator: the user will be able to program the AUV to navigate over a path of waypoints, to control the velocity, profundity, direction and pitch of the AUV, as well as to tell the AUV to emerge or submerge. Energy classes: the user will be able to use a specific power profile for the WHOI acoustic modem as well as a specific energy model for the AUV. The user will also be able to trace the power consumption of the available MAC protocols.


Components Description

  1. AUV simulator
    Implement a model of the real world movement/navigation of AUV. This involves implementing two classes modelling the two major categories of AUVs: electric motor propelled (like REMUS class [5][6]) and "sea gliders" [7].
    The classic AUVs are submarine-like devices, propelled by an electric motor linked with a propeller. Instead, the "sea glider" class exploits small changes in its buoyancy that, in conjunction with wings, can convert vertical motion to horizontal. So, a glider will reach a point into the water by describing a "saw-tooth" movement.
    Modelling the AUV navigation, involves in considering a real-world AUV class and, model its features into the simulator.
    Thus taking into account weight, maximum velocity, directional capabilities, emerging and submerging times.
    Regarding the sea gliders, will be modelled the saw-tooth movement and its times.
    The AUV class is supposed to aggregate a navigation application (not required) and a transducer.
  2. Implementation of AUV batteries and WHOI modem power profile
    This will be done exploiting the newly reviewed energy model. Implement a specific energy model for the AUV batteries (both REMUS and Seaglider). This will be really useful for researchers to keep trace of the AUV operational life.
    Implements a WHOI modem specific power profile, to keep trace of its power consumption. This can be used to compare the protocol specific power performance. In order to managing to use such power profile, the available MAC protocols will be modified i order to use the modem power profile.
  3. Helper and utility classes for 1.
    An Helper class will be implemented for the AUV simulator to allow users don't mind about the back office operations. Some utility classes will be implemented to let users set the navigation route more easily, improving usability.
  4. Test cases
    Following the ns-3 development model, test cases will be written as required, to test the working of the AUV simulator, of the energy-related classes and of the utility classes.


Components Details

AUV simulator

The class diagram for the AUV Simulator implementation

The API for the AUV simulator will looks like:

class UanAuvMobilityModel : public MobilityModel
{
public:
  /**
   * Makes the AUV to move forward
   */
  void Move (void);
  /**
   * Makes the AUV to stop
   */
  void Stop (void);
  /**
   * Makes the AUV to emerge at the maximum velocity
   * to the given depth
   * \param depth the depth to which emerge to, in m (negative)
   */
  void Emerge (double depth);
  /**
   * Makes the AUV to submerge at the maximum velocity
   * to the given depth
   * \param depth the depth to which submerge to, in m (negative)
   */
  void Submerge (double depth);
  /**
   * \returns the current pitch in degrees
   */
  double GetPitch () const;

  /**
   * \param pitch the pitch to set in degrees
   */
  void SetPitch (double pitch);
  /**
   * \returns the current depth
   */
  double GetDepth (void);
  /**
   * \returns the current direction in degrees
   */
  double GetDirection (void) const;
  /**
   * \param the heading direction in degrees
   */
  void SetDirection (double dir);
  /**
   * \returns the current speed in m/s
   */
  double GetSpeed () const;
  /**
   * \param speed the speed to set in m/s
   */
  void SetSpeed (double speed);
  /**
   * \param velocity the velocity vector to set
   */
  void SetVelocity (const Vector &velocity);
  /**
   * \param cb the callback being called at the end of the emerging process
   */
  virtual void SetEmergeCallback (Callback<void, Ptr<MobilityModel> > cb) = 0;

  /**
   ** \param cb the callback being called at the end of the submerging process
   */
  virtual void SetSubmergeCallback (Callback<void, Ptr<MobilityModel> > cb) = 0;
};

This interface will be implemented by the UanRemusMobilityModel and the UanGliderMobilityModel classes. Both model will use a constant velocity movement. The two classes will hold the navigation parameteres for the two different AUVs, like maximum gliding angles, maximum operating depth, maximum and minimum velocity. The relative helper class, will allow the user to instantiate the intended AUV type, to install an application container, as well as the uan communication stack (mac, transducer, channel).

Along with these two mobility models, it will be developed two Mobility Traces Generators, one for the Remus and one for the SeaGlider. The Seaglider's one, will implements the characteristic whale-like movement of the AUV, according to the documentation [7].

Energy-related classes

AUV energy source

Basing on the Energy Source interface, it will be implemented a specific energy source for the two AUV classes (REMUS and Seaglider). This classes will reproduce the behaviour of the AUV batteries to give users an accurate model. This model can be naturally used to evaluates the AUV operating life, as well as mission-related power consumption, etc.


WHOI <math>\mu</math>modem energy model

Basing on the Device Energy Model interface, it will be implemented a specific energy model for the WHOI <math>\mu</math>modem. The class will model real-world modem energy consuptions.


MAC energy modifications

The connection point between the energy source and the energy model, will be the MAC layer. This layer, is the one responsible of using the two classes. Thus, the available underwater MAC protocols, will be modified to use the energy model class.


Deliverables

  1. Two AUV simulator classes.
  2. Two AUV energy source classes.
  3. An WHOI modem energy model class.
  4. An Helper class for AUV simulator.
  5. Test cases for 1. and 2.
  6. Example scripts for 1.and 2.
  7. Documentation.


Schedule

  1. 24/05 - 30/05: Design the overall architecture, make UML diagrams, identify the key aspects and problems of the implementation
  2. 31/05 - 09/06 Implement the electric motor propelled AUV simulator
  3. 10/06 - 16/06 Test Cases for electric motor propelled AUV Simulator
  4. 17/06 - 26/06 Implement the Sea Gliders AUV simulator
  5. 27/06 - 03/07 Test cases for Sea Gliders AUV simulator
  6. 04/07 - 11/07 Example scripts for AUVs simulator and Helper class
  7. 12/07 Mid Term Evaluation submission
  8. 13/07 - 19/07 Implement the AUV energy source classes
  9. 20/07 - 22/07 Implement the WHOI modem energy model class
  10. 23/07 - 26/07 Energy modification of the underwater MAC protocols.
  11. 27/07 - 30/07 Test cases for energy related classes
  12. 31/07 - 05/08 Example scripts for power management layer
  13. 09/08 Suggested 'Pencil Down'
  14. 06/08 - 16/08 Documentation and Integration of the project
  15. 16/08 Final Evaluation submission


References

[1] NS-3 Bug 800, http://www.nsnam.org/bugzilla/show_bug.cgi?id=800

[2] Mazzetti, P.; Nativi, S.; Sacco, A.; Bigagli, L.; , "Integration of REST style and AJAX technologies to build Web applications; an example of framework for Location-Based-Services," Information and Communication Technologies: From Theory to Applications, 2008. ICTTA 2008. 3rd International Conference on , vol., no., pp.1-6, 7-11 April 2008 URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=4530218&isnumber=4529902

[3] BINGHAM, D.; DRAKE, T.; HILL, A.; LOTT, R.; The Application of Autonomous Underwater Vehicle (AUV) Technology in the Oil Industry – Vision and Experiences, URL: http://www.fig.net/pub/fig_2002/Ts4-4/TS4_4_bingham_etal.pdf

[4] AUVfest2008: Underwater mines; http://oceanexplorer.noaa.gov/explorations/08auvfest/background/mines/mines.html

[5] Hydroinc Products; http://www.hydroidinc.com/products.html

[6] WHOI, Autonomous Underwater Vehicle, REMUS; http://www.whoi.edu/page.do?pid=29856

[7] Eriksen, C.C., T.J. Osse, R.D. Light, T. Wen, T.W. Lehman, P.L. Sabin, J.W. Ballard, and A.M. Chiodi. Seaglider: A Long-Range Autonomous Underwater Vehicle for Oceanographic Research, IEEE Journal of Oceanic Engineering, 26, 4, October 2001. URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=972073&userType=inst

[8] L. Freitag, M. Grund, I. Singh, J. Partan, P. Koski, K. Ball, and W. Hole, The whoi micro-modem: an acoustic communications and navigation system for multiple platforms, in In Proc. IEEE OCEANS05 Conf, 2005. URL: http://ieeexplore.ieee.org/iel5/10918/34367/01639901.pdf

About me

My name is Andrea Sacco I was born 1985 and I live in Prato, Italy. I am currently finishing the Master of Science in Telecommunications Engineering at University of Florence (Italy), which I started in 2007. My Master thesis work is supervised by Prof. Romano Fantacci and Prof. Tommaso Pecorella, both from the University of Florence, and I've collaborated with Prof. Alvaro Suarez from the University of Las Palmas de Gran Canaria (Spain) during my Erasmus period (from 10/2009 to 3/2010). I am going to defend my Master Thesis on mid-July. I already have a Bachelor of Science in Information Engineering (curriculum Telematics) achieved in Dec. 2007 with a rank of 107 over 110.


Background

I've started using ns-3 in November '09 for a research project with Underwater Wireless Networks related to my master thesis work. I've found and solved a bug into the ns-3 UAN module [1]. I try to be as much active as possible into the ns-3 mailing lists. My research in the field of underwater wireless networks began in September '09 and, during this period I think to have accumulated a good knowledge of the field.


Work and Research

My work and research activities spaces from sensors networks to web applications to passive sensors data. My bachelor thesis project was presented during the ICTTA'08 international conference held in Damascus, Syria from 7 to 11 April 2008, and published on IEEE [2].


Personal Interests

Besides the interests in web evolution, optoelectronics, networking and underwater sensors, I'm interested in surf (my real passion), snowboarding, rugby, and music (singing and playing guitar).