Um ambiente gráfico para desenvolvimento de software de controle para robôs móveis através de simulação 3D - Marchezi, Humberto Cardoso (2007)
This work demonstrates the development of an Integrated Robot Control Environment (IRCE), an integrated environment for control software development for a population of mobile robots that includes edition, compilation and execution. This environment uses the tools from the Player/Stage/Gazebo project and allows the configuration of robots and their sensors besides the environment where they actuate. The described environment lets the control software algorithms to be developed and later verified through a 3D simulation. If desired, the same control software can be loaded in a real robot without changes what makes it possible to have a faster development cycle. Besides turning the mobile robot software development process more agile, the system can also support the research of intelligent control and the teaching of robotics in the universities. The requirements and the development structure of this environment were captured with use cases and a systematic development procedure using the UML language (Unified Modelling Language) was adopted to specify and document the project. Additionally the MVC design pattern (Model-View-Controller) was adopted since it eases the source-code maintenance and extension. An example case shows how to apply this environment to develop a simple control for obstacle avoidance in a mobile robot. An application involving several robots is simple to be conceived. One of the most important functions of this system is the possibility to describe a virtual scene in more interactive manner by using the mouse to modify the position or the properties of 3D models involved in the simulation. In its turn, the scene is saved in the world file format which defines a 3D virtual scene in the Player/Stage/Gazebo project. Although there are similar systems, one contribution of this dissertation is in present an open-source integrated development system for easy use and extensibility