SARAMR : uma arquitetura de referência baseada em loops de controle para facilitar manutenções em software robótico autoadaptativo

Submitted by Izabel Franco (izabel-franco@ufscar.br) on 2016-09-06T18:00:39Z No. of bitstreams: 1 DissMHP.pdf: 3604162 bytes, checksum: 5844b74d634a30ad629fc36c26706ee1 (MD5) === Approved for entry into archive by Marina Freitas (marinapf@ufscar.br) on 2016-09-12T13:56:27Z (GMT) No. of bitstreams:...

Full description

Bibliographic Details
Main Author: Paula, Marcos Henrique de
Other Authors: Camargo, Valter Vieira de
Language:Portuguese
Published: Universidade Federal de São Carlos 2016
Subjects:
Online Access:https://repositorio.ufscar.br/handle/ufscar/7059
Description
Summary:Submitted by Izabel Franco (izabel-franco@ufscar.br) on 2016-09-06T18:00:39Z No. of bitstreams: 1 DissMHP.pdf: 3604162 bytes, checksum: 5844b74d634a30ad629fc36c26706ee1 (MD5) === Approved for entry into archive by Marina Freitas (marinapf@ufscar.br) on 2016-09-12T13:56:27Z (GMT) No. of bitstreams: 1 DissMHP.pdf: 3604162 bytes, checksum: 5844b74d634a30ad629fc36c26706ee1 (MD5) === Approved for entry into archive by Marina Freitas (marinapf@ufscar.br) on 2016-09-12T13:56:40Z (GMT) No. of bitstreams: 1 DissMHP.pdf: 3604162 bytes, checksum: 5844b74d634a30ad629fc36c26706ee1 (MD5) === Made available in DSpace on 2016-09-12T13:57:22Z (GMT). No. of bitstreams: 1 DissMHP.pdf: 3604162 bytes, checksum: 5844b74d634a30ad629fc36c26706ee1 (MD5) Previous issue date: 2015-06-08 === Não recebi financiamento === Autonomous mobile robots are a special category of robots designed for performing tasks without the intervention of human beings. Some robots are designed to perform tasks in completely inhospitable environments such as the earth´s subsurface, the ocean depths or spatial exploration. In order to consider a robot as autonomous, a fundamental premise is to have self-adaptation capabilities. Over the last years, the advances in technology allow the development of self-adaptive systems, which are able to manage themselves to recuperate from faults or even change their behavior and structure in order to improve the quality of the delivered service. A critical point when building any software is its architecture, i.e., its structural organization in a set of interacting components. In this context, reference architecture is a technique that is well known for combining the best practices, patterns and strategies for building and standardizing domain specific software. Nowadays, there is a lack of studies presenting reference architectures for structuring self-adaptive software of mobile robots in order to decrease maintenance efforts. A number of studies claim that self-adaptive systems are based on the control theory and, more specifically, on the use of control loops in their architecture to perform adaptations. Therefore, this master thesis proposes SARAMR, a control loop-based reference architecture whose goal is to make maintenance activities a more productive task. The employment of the architecture divides the whole system in two modules; base application and adaptation module. The adaptation module encompasses the control loops and the base application is further divided into three other components: environment, behaviors and the electromechanical part. SARAMR was qualitatively evaluated by means of the development of two applications: a self-adaptive wall follower mobile robot and another conventional one to performing monitoring in in-door environments. Next, some maintenance activities were created to investigate the effort of applying them. We have observed that the separation of concerns of our architecture allows new components to be added causing less impacts than in systems developed in an adhoc way. === Robôs móveis autônomos fazem parte de uma categoria especial de robôs projetados para realizar tarefas sem a intervenção de seres humanos. Alguns robôs são projetados para realizar tarefas em ambientes completamente inóspitos à vida humana como no subsolo terrestre, nas profundezas de oceanos ou na exploração espacial. Para que um robô seja considerado autônomo, uma premissa fundamental é possuir capacidades de autoadaptação. Nos últimos anos, os avanços da tecnologia possibilitaram o desenvolvimento de sistemas robóticos autoadaptativos, que são capazes de gerenciarem a si próprios, se recuperarem de falhas e também de alterarem seu comportamento e estrutura com o objetivo de otimizar e/ou manter a qualidade do serviço (QoS) oferecido. Uma questão crítica para a concepção e construção de qualquer sistema de software é sua arquitetura, isto é, sua organização estrutural em um conjunto de componentes que interagem. Nesse contexto, a utilização de arquiteturas de referência é uma abordagem conhecida atualmente por combinar as melhores práticas, padrões e estratégias para a construção e padronização de sistemas de software para um determinado domínio. Atualmente, nota-se uma carência de estudos que apresentem arquiteturas de referência para estruturar o software de robôs móveis autoadaptativos de forma a facilitar atividades de manutenção nesses sistemas. Muitos estudos apontam que sistemas autoadaptativos são baseados na teoria do controle e mais especificamente na utilização de loops de controle em sua arquitetura para realizar as adaptações. Diante disso, este trabalho propõe a arquitetura de referência SARAMR, uma arquitetura de referência baseada em loops de controle cujo objetivo é facilitar atividades de manutenção no software desses sistemas. A utilização da arquitetura divide o sistema em dois módulos: aplicação base e módulo de adaptação. O módulo de adaptação envolve os loops de controle e a aplicação base ainda é subdividida em três componentes: ambiente, comportamentos e a parte eletromecânica. SARAMR foi avaliada de forma qualitativa mediante o desenvolvimento duas aplicações: um robô autoadaptativo seguidor de paredes e um outro convencional de patrulhamento. Depois disso, algumas manutenções evolutivas foram idealizadas no sentido de averiguar o esforço de aplicá-las. Constatou-se que a separação de interesses existente na arquitetura permite que novos componentes possam ser adicionados com impacto menor do que em sistemas que não usam essa arquitetura.