28 research outputs found

    Model-driven engineering for mobile robotic systems: a systematic mapping study

    Get PDF
    Mobile robots operate in various environments (e.g. aquatic, aerial, or terrestrial), they come in many diverse shapes and they are increasingly becoming parts of our lives. The successful engineering of mobile robotics systems demands the interdisciplinary collaboration of experts from different domains, such as mechanical and electrical engineering, artificial intelligence, and systems engineering. Research and industry have tried to tackle this heterogeneity by proposing a multitude of model-driven solutions to engineer the software of mobile robotics systems. However, there is no systematic study of the state of the art in model-driven engineering (MDE) for mobile robotics systems that could guide research or practitioners in finding model-driven solutions and tools to efficiently engineer mobile robotics systems. The paper is contributing to this direction by providing a map of software engineering research in MDE that investigates (1) which types of robots are supported by existing MDE approaches, (2) the types and characteristics of MRSs that are engineered using MDE approaches, (3) a description of how MDE approaches support the engineering of MRSs, (4) how existing MDE approaches are validated, and (5) how tools support existing MDE approaches. We also provide a replication package to assess, extend, and/or replicate the study. The results of this work and the highlighted challenges can guide researchers and practitioners from robotics and software engineering through the research landscape

    Specification Patterns for Robotic Missions

    Get PDF
    Mobile and general-purpose robots increasingly support our everyday life, requiring dependable robotics control software. Creating such software mainly amounts to implementing their complex behaviors known as missions. Recognizing the need, a large number of domain-specific specification languages has been proposed. These, in addition to traditional logical languages, allow the use of formally specified missions for synthesis, verification, simulation, or guiding the implementation. For instance, the logical language LTL is commonly used by experts to specify missions, as an input for planners, which synthesize the behavior a robot should have. Unfortunately, domain-specific languages are usually tied to specific robot models, while logical languages such as LTL are difficult to use by non-experts. We present a catalog of 22 mission specification patterns for mobile robots, together with tooling for instantiating, composing, and compiling the patterns to create mission specifications. The patterns provide solutions for recurrent specification problems, each of which detailing the usage intent, known uses, relationships to other patterns, and---most importantly---a template mission specification in temporal logic. Our tooling produces specifications expressed in the LTL and CTL temporal logics to be used by planners, simulators, or model checkers. The patterns originate from 245 realistic textual mission requirements extracted from the robotics literature, and they are evaluated upon a total of 441 real-world mission requirements and 1251 mission specifications. Five of these reflect scenarios we defined with two well-known industrial partners developing human-size robots. We validated our patterns' correctness with simulators and two real robots

    Programming Robots for Activities of Everyday Life

    Get PDF
    Text-based programming remains a challenge to novice programmers in\ua0all programming domains including robotics. The use of robots is gainingconsiderable traction in several domains since robots are capable of assisting\ua0humans in repetitive and hazardous tasks. In the near future, robots willbe used in tasks of everyday life in homes, hotels, airports, museums, etc.\ua0However, robotic missions have been either predefined or programmed usinglow-level APIs, making mission specification task-specific and error-prone.\ua0To harness the full potential of robots, it must be possible to define missionsfor specific applications domains as needed. The specification of missions of\ua0robotic applications should be performed via easy-to-use, accessible ways, and\ua0at the same time, be accurate, and unambiguous. Simplicity and flexibility in\ua0programming such robots are important, since end-users come from diverse\ua0domains, not necessarily with suffcient programming knowledge.The main objective of this licentiate thesis is to empirically understand the\ua0state-of-the-art in languages and tools used for specifying robot missions byend-users. The findings will form the basis for interventions in developing\ua0future languages for end-user robot programming.During the empirical study, DSLs for robot mission specification were\ua0analyzed through published literature, their websites, user manuals, samplemissions and using the languages to specify missions for supported robots.After extracting data from 30 environments, 133 features were identified.\ua0A feature matrix mapping the features to the environments was developedwith a feature model for robotic mission specification DSLs.Our results show that most end-user facing environments exist in the\ua0education domain for teaching novice programmers and STEM subjects. Mostof the visual languages are developed using Blockly and Scratch libraries.\ua0The end-user domain abstraction needs more work since most of the visualenvironments abstract robotic and programming language concepts but not\ua0end-user concepts. In future works, it is important to focus on the development\ua0of reusable libraries for end-user concepts; and further, explore how end-user\ua0facing environments can be adapted for novice programmers to learn\ua0general programming skills and robot programming in low resource settings\ua0in developing countries, like Uganda

    EUD-MARS: End-User Development of Model-Driven Adaptive Robotics Software Systems

    Get PDF
    Empowering end-users to program robots is becoming more significant. Introducing software engineering principles into end-user programming could improve the quality of the developed software applications. For example, model-driven development improves technology independence and adaptive systems act upon changes in their context of use. However, end-users need to apply such principles in a non-daunting manner and without incurring a steep learning curve. This paper presents EUD-MARS that aims to provide end-users with a simple approach for developing model-driven adaptive robotics software. End-users include people like hobbyists and students who are not professional programmers but are interested in programming robots. EUD-MARS supports robots like hobby drones and educational humanoids that are available for end-users. It offers a tool for software developers and another one for end-users. We evaluated EUD-MARS from three perspectives. First, we used EUD-MARS to program different types of robots and assessed its visual programming language against existing design principles. Second, we asked software developers to use EUD-MARS to configure robots and obtained their feedback on strengths and points for improvement. Third, we observed how end-users explain and develop EUD-MARS programs, and obtained their feedback mainly on understandability, ease of programming, and desirability. These evaluations yielded positive indications of EUD-MARS

    Incorporating Measurement Uncertainty into OCL/UML Primitive Datatypes

    Get PDF
    Preprint publicado en la revista Software & System Modeling :Bertoa, M.F., Burgueño, L., Moreno, N., Vallecillo, A. "Incorporating measurement uncertainty into OCL/UML primitive datatypes." Softw Syst Model (2019). https://doi.org/10.1007/s10270-019-00741-0)The correct representation of the relevant properties of a system is an essential requirement for the effective use and wide adoption of model-based practices in industry. Uncertainty is one of the inherent properties of any measurement or estimation that is obtained in any physical setting; as such, it must be considered when modeling software systems that deal with real data. Although a few modeling languages enable the representation of measurement uncertainty, these aspects are not normally incorporated into their type systems. Therefore, operating with uncertain values and propagating their uncertainty become cumbersome processes, which hinder their realization in real environments. This paper proposes an extension of OCL/UML primitive datatypes that enables the representation of the uncertainty that comes from physical measurements or user estimates into the models, together with an algebra of operations that are defined for the values of these types.TIN2014-52034-R, TIN2016-75944-R and PGC2018-094905-B-I

    Designing Trustworthy Autonomous Systems

    Get PDF
    The design of autonomous systems is challenging and ensuring their trustworthiness can have different meanings, such as i) ensuring consistency and completeness of the requirements by a correct elicitation and formalization process; ii) ensuring that requirements are correctly mapped to system implementations so that any system behaviors never violate its requirements; iii) maximizing the reuse of available components and subsystems in order to cope with the design complexity; and iv) ensuring correct coordination of the system with its environment.Several techniques have been proposed over the years to cope with specific problems. However, a holistic design framework that, leveraging on existing tools and methodologies, practically helps the analysis and design of autonomous systems is still missing. This thesis explores the problem of building trustworthy autonomous systems from different angles. We have analyzed how current approaches of formal verification can provide assurances: 1) to the requirement corpora itself by formalizing requirements with assume/guarantee contracts to detect incompleteness and conflicts; 2) to the reward function used to then train the system so that the requirements do not get misinterpreted; 3) to the execution of the system by run-time monitoring and enforcing certain invariants; 4) to the coordination of the system with other external entities in a system of system scenario and 5) to system behaviors by automatically synthesize a policy which is correct

    Multi-Agent Systems

    Get PDF
    A multi-agent system (MAS) is a system composed of multiple interacting intelligent agents. Multi-agent systems can be used to solve problems which are difficult or impossible for an individual agent or monolithic system to solve. Agent systems are open and extensible systems that allow for the deployment of autonomous and proactive software components. Multi-agent systems have been brought up and used in several application domains

    Assessing and Improving Industrial Software Processes

    Get PDF
    Software process is a complex phenomenon that involves a multitude of different artifacts, human actors with different roles, activities to be performed in order to produce a software product. Even though the research community is devoting a great effort in proposing solutions aimed at improving software process, several issues are still open. In this Thesis work I propose different solutions for assessing and improving software processes carried out in real industrial contexts. More in detail, I proposed a solution, based on ALM and MDE, for supporting Gap Analysis processes for assessing if a software process is carried out in accordance with Standards or Evaluation Framework. Then, I focused on a solution based on tool integration for the management of trace links among the artifacts involved in the software process. As another contribution, I proposed a Reverse engineering process and a tool, named EXACT, for supporting the analysis and comprehension of spreadsheet based artifacts involved in software development processes. Finally, I realized a semi-automatic approach, named AutoMative, for supporting the introduction in real Industrial software processes of SPL for managing the variability of the software products to be developed. Case studies conducted in real industrial settings showed the feasibility and the positive impact of the proposed solutions on real industrial software processes

    Um modelo de otimização para planejamento dinâmico de voo para grupos de drones por meio de sistema multiagente e leilões recursivos

    Get PDF
    Orientador: Eduardo TodtTese (doutorado) - Universidade Federal do Paraná, Setor de Ciências Exatas, Programa de Pós-Graduação em Informática. Defesa : Curitiba, 03/07/2020Inclui referênciasÁrea de concentração: Ciência da ComputaçãoResumo: Este trabalho apresenta um modelo aplicado de cooperacao para otimizar voos de veiculos aereos nao tripulados do tipo quadricoptero, tambem conhecidos como Drones, com aplicacao na agricultura de precisao. O modelo utiliza Sistema Multiagente para permitir a abertura, que e a propriedade de inserir e retirar elementos do modelo a qualquer momento. Para garantir a dinamicidade, que e a caracteristica que o modelo tem de se recuperar de eventos adversos ou falhas, agentes cognitivos com BDI foram utilizados. Para garantir a troca de mensagens independente da quantidade de elementos no modelo, foi utilizado o protocolo FIPA Contract-NET. Um algoritmo distribuido de otimizacao utilizando leiloes recursivos tambem foi desenvolvido, o qual visa otimizar o tempo de voo, assim como o uso da bateria dos Drones, sendo a bateria a grande limitacao destes e inibindo sua utilizacao na agricultura de precisao. Esse algoritmo foi testado em seu modelo original e, posteriormente, refinado a partir de heuristicas e metodologias visando diminuir o numero de leiloes recursivos, assim como o tempo de processamento, em comparacao ao modelo original. Este modelo, apos aplicacao das heuristicas e metodologias, foi testado. Em cenarios contendo multiplos Drones, o desempenho foi 30% superior ao algoritmo dinamico encontrado na literatura que tambem pode ser aplicado em ambientes dinamicos. Do ponto de vista de abertura e dinamicidade, o modelo foi testado no simulador MultiDrone Simulator, permitindo gerar novos planos de voo, mesmo com eventos adversos. Os resultados dos testes em simulacao realizados sustentam que o modelo proposto apresenta comportamento como esperado, mostrando-se como uma plataforma promissora de pesquisa para uso de Drones em cenarios da agricultura de precisao, uma vez que este modelo permite a utilizacao de multiplos Drones em ambientes dinamicos e abertos, garantindo a otimizacao do tempo de voo, o que garante economia da bateria dos Drones. Palavras-chave: Drones, Sistema Multiagente, BDI, Leilao RecursivoAbstract: This work presents an applied model of cooperation to optimize flights of unmanned aerial vehicles like quadcopters, also known as Drones, involved in precision agriculture. This model uses a Multiagent System to allow up the opening, which is the property of inserting and removing elements from the model at any time. To allow dynamism, which is the characteristic that the model has to recover from adverse events or failures, cognitive agents with BDI structure were used. To guarantee the exchange of messages in dynamic number of elements, the FIPA Contract-NET protocol were used. A distributed optimization algorithm using recursive auctions was also developed, which aims to optimize the number of points covered by Drones. This model aims to optimize the flight time, which directly reflects the optimization of the Drone's battery use. This is a great limitation of this kind of aerial vehicle and which inhibits its use in precision agriculture. This algorithm was tested as original proposed and, later, refined from heuristics and methodologies in order to decrease the number of auctions, as well as the processing time. This model, after applying the heuristics and methodologies, was tested, and in scenarios containing multiple Drones, the performance was 30 % higher than the dynamic algorithm found in the literature that can also be applied in dynamic environments. From the point of view of openness and dynamics, the model was tested in the MultiDrone Simulator, allowing to generate new flight plans, even with the simulated adverse events. The results of the simulation tests carried out maintain that the proposed model behaves as expected, showing itself as a promising research platform for the use of drones in precision agriculture scenarios, since this model allows the use of multiple Drones in environments dynamic and open, guaranteeing the flight optimization, which ensures battery saving for Drones. Keywords: Drones, Multiagent System, BDI, Recursive Auction
    corecore