=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

§0..3 Initial Steps


The steps §0-3 are documenting procedures that have the objective of helping define the main problem (the object of the study) and what techniques are going to be utilized in the simulation study. We don't use any formal procedure for this phase, but we recommend some good practices and give some enlightenment of how to procede in these steps. Specially in Modelling and Simulation (M&S) topics, these steps are necessary and are very important to avoid the "Type III Error" [1], which happens when the formulated (and implemented) problem does not correspond to the real problem (the original object of study), or in other words, the presented formulations, solutions, simulations and analysis, are irrelevant in solving/answering the main problem/question.

Example: We want to study the impact of one robot sending wrong information in a cooperative robotic system, to see how robust is the system against hijack equipment. However, after several weeks of work, we end up with a simulation capable of study missing packages instead of packages with wrong information. Even if the final simulation is useful and produce interesting results, it won't give any information about the initial problem.

The initial step (0) is to establish the main idea of the problem. In our case, we want to study how can we simulate network aspects and its impact on a cooperative robotic task. However, it may be of interest to someone a focus on a specific set of techniques defined a priori or yet, a study of the impact of a robot application in a network protocol.

The next step (1) is to set the problem domain, or in other words, what aspect I want to study and simulate. Do I want to cover energy consumption? Topology control? Any specific characteristic?

This is a simple step, but is fundamental for any simulation method, as simulations should not be more complex than necessary for the study[2]. A careful revision and information acquisition about the problem is recommended. 

Example: For all our initial studies we use Cooperative Control, Basic Wireless Network, Individual Robot Control, Topology Control and Additional Network Protocols topics. And it was also decided to use 10 mobile terrestrial robots in a decentralized cooperative task, an 2D simulation and a direct message exchange approach for robot communication/cooperation.   

The next step (2) is to propose techniques/algorithms for the selected topics. It is necessary to have a basic knowledge about the topics and a documentation about the solutions (theory) is advised.  
_________________________________________________________________________________
Example of Techniques: 

They were chosen by the following criteria: if they ar in fact solutions for the proposed topic, if they were not used together before and if they were tested independently before (if there is other simulations or works using them separately). 

📘 Cooperative Task: average rendez-vous and reference redenz-vous [3];

📘 Cooperative Control Strategy: RHC consensus for rendez-vous [3], simple average consensus and circuncentre consensus [4];

📘 Individual Control: an ideal model for individual velocity control and robot's mobility as a first order equation model [5].

📘 Wireless Network: Mobile Ad-Hoc Network [6], UDP/IP protocol [7] and WI-FI technology [8];

📘 Additional Protocols: RA-TDMA [9] e TDMA [10];

📘 Topology Control: fixed and dynamic;

_________________________________________________________________________________

The last step from this part (3) is to specify needs, objectives, assumptions and document it all. This is very important as the documents will be vital in the following steps.

The documentation should start with defining, in very clear way, the study objectives, answering the question "How will I solve my problem?". This will lead to further questions of how does the techniques interact with each other and what are the expected results according with the theory.   

Every question that popup should be in the document as they can be useful even if we do not have the answer right away. In this cases, we can make some assumptions and check it later during simulation development.

Other assumptions may be made to simplify the simulation. For example, assuming collision free robots or a "2D Universe". These assumptions should be re-checked, specially if results did not match with the expected ones in the end of the method.

The documentation format is similar as described in [11], consisting in the following topics: Id, category (method step), name, study case, brief description, intend use and the content.

Some information from these documents may be integrated with the simulation documentation procedure (described in the next steps), but is important to keep the documents separated as they are made to help evaluate the study overall results and not the simulation implementation.
_________________________________________________________________________________
Example: 

For our initial studies, we made the following documents:

📘 Overall Definitions: study brief description, expected results outcomes and objectives;
📘 Assumptions: all the assumptions made so far and it also include ones made in the next steps;
📘 Communication Model: how the network is organized (OSI layers) and which characteristics are desirable;
📘 Control Model: information related to cooperative and individual control;
📘 System Model: a brief description of how all the systems are suppose to interact and any extra information that were not in the others documents.
 _________________________________________________________________________________

With the study well detailed, the following step is to do the same for the simulation using conceptual and communicative models, to help in the implementation stage. This step is described in the next page.


References

[1] Balci,Osman. "Principles and Techniques of Simulation Validation, Verification and Testing",Proceedings of the 1995 Winter Simulation Conference, 1995.
[2] Law, A. M. “Simulation Modelling and Analysis”, McGraw-Hill, 5th Edition, pp. 804, 2015.
[3] Ordoñez, B.; et al. "Generation of Trajectories Using Predictive Control for Tracking Consensus with Sensing and Connectivity Constraint". Studies in Computational Intelligence. 1ed.: Springer Berlin Heidelberg, 2014, p. 19-37.
[4] Martínez, S. "Practical rendezvous through modified circumcenter algorithms". In: Proceedings of the 46th IEEE Conference on Decision and Control, New Orleans, LA, USA, 2007.
[5] Choset, Howie; Lynch, Kevin; Thrun, Sebastian; et al. "Principles of Robot Motion: Theory, Algorithms, and Implementations". ISBN: 9780262033275, 2005.
[6] Wang, Z. et al. "Ad-hoc robot wireless communication". In: IEEE International Conference on Systems, Man and Cybernetics, Vol. 4, pp. 4045 - 4050 vol.4, 2003.
[7] Kudelski, L. M. et al. “RoboNetSim: an integrated framework for multi-robot and network simulation”, in Robotics and Autonomous Systems 61, 483-496, 2013.
[8] Kahar, Saliyah et al. "A Review of Wireless Technology Usage for Mobile Robot Controller". International Conference on System Engineering and Modeling (ICSEM 2012), IPCSIT vol. 34, Singapura, 2012. 
[9] Oliveira, Luis; Almeida, Luis; Santos, Frederico. "A Loose Synchronisation Protocol for Managing RF Ranging in Mobile Ad-Hoc Networks", RoboCup 2011: Robot Soccer World Cup XV, Lecture Notes in Computer Science Volume 7416, pp 574-585, 2012.
[10] Wadud, Abdullah-Al "A TDMA Scheme for Mobile Sensor Networks. International Journal of Distributed Sensor Networks", Vol. 2013, ID 907583, 2013.
[11] Balci, O. "Introduction to Modeling and Simulation". Class Slides, ACM SIGSIM, Available in <http://www.acm-sigsim-mskr.org/Courseware/Balci/introToMS.htm>,  2013.

Page Release: 24/04/17
Last Update: 11/08/17