1,246 research outputs found

    A goal-oriented approach for the generation and evaluation of alternative architectures

    Get PDF
    There is a recognized gap between requirements and architectures. There is also evidence that architecture evaluation, when done at the early phases of the development lifecycle, is an effective way to ensure the quality attributes of the final system. As quality attributes may be satisfied at a different extent by different alternative architectural solutions, an exploration and evaluation of alternatives is often needed. In order to address this issue at the requirements level, we propose to model architectures using the i* framework, a goal-oriented modelling language that allows to represent the functional and non-functional requirements of an architecture using actors and dependencies instead of components and connectors. Once the architectures are modelled, we propose guidelines for the generation of alternative architectures based upon existing architectural patterns, and for the definition of structural metrics for the evaluation of the resulting alternative models. The applicability of the approach is shown with the Home Service Robot case study.Peer ReviewedPostprint (author's final draft

    DiffStack: A Differentiable and Modular Control Stack for Autonomous Vehicles

    Full text link
    Autonomous vehicle (AV) stacks are typically built in a modular fashion, with explicit components performing detection, tracking, prediction, planning, control, etc. While modularity improves reusability, interpretability, and generalizability, it also suffers from compounding errors, information bottlenecks, and integration challenges. To overcome these challenges, a prominent approach is to convert the AV stack into an end-to-end neural network and train it with data. While such approaches have achieved impressive results, they typically lack interpretability and reusability, and they eschew principled analytical components, such as planning and control, in favor of deep neural networks. To enable the joint optimization of AV stacks while retaining modularity, we present DiffStack, a differentiable and modular stack for prediction, planning, and control. Crucially, our model-based planning and control algorithms leverage recent advancements in differentiable optimization to produce gradients, enabling optimization of upstream components, such as prediction, via backpropagation through planning and control. Our results on the nuScenes dataset indicate that end-to-end training with DiffStack yields substantial improvements in open-loop and closed-loop planning metrics by, e.g., learning to make fewer prediction errors that would affect planning. Beyond these immediate benefits, DiffStack opens up new opportunities for fully data-driven yet modular and interpretable AV architectures. Project website: https://sites.google.com/view/diffstackComment: CoRL 2022 camera read

    Behavior trees in action: A study of robotics applications

    Get PDF
    Autonomous robots combine a variety of skills to form increasingly complex behaviors called missions. While the skills are often programmed at a relatively low level of abstraction, their coordination is architecturally separated and often expressed in higher-level languages or frameworks. Recently, the language of Behavior Trees gained attention among roboticists for this reason. Originally designed for computer games to model autonomous actors, Behavior Trees offer an extensible tree-based representation of missions. However, even though, several implementations of the language are in use, little is known about its usage and scope in the real world. How do behavior trees relate to traditional languages for describing behavior? How are behavior tree concepts used in applications? What are the benefits of using them? We present a study of the key language concepts in Behavior Trees and their use in real-world robotic applications. We identify behavior tree languages and compare their semantics to the most well-known behavior modeling languages: state and activity diagrams. We mine open source repositories for robotics applications that use the language and analyze this usage. We find that Behavior Trees are a pragmatic language, not fully specified, allowing projects to extend it even for just one model. Behavior trees clearly resemble the models-at-runtime paradigm. We contribute a dataset of real-world behavior models, hoping to inspire the community to use and further develop this language, associated tools, and analysis techniques.Comment: 14 pages, 5 figures, 13rd ACM SIGPLAN International Conference on Software Language Engineering (SLE) (SLE 2020

    How to Measure RPA\u27s Benefits? A Review on Metrics, Indicators, and Evaluation Methods of RPA Benefit Assessment

    Get PDF
    RPA is a new approach to automating processes that has gained momentum in recent years. Research and vendors highlight potential benefits of RPA, such as increased efficiency, quality, cost reduction, and higher customer and employee satisfaction. However, as interest in RPA grows, so does the need to demonstrate its benefits, which in turn requires a suitable toolbox of metrics, indicators, and evaluation methods. To the best of our knowledge, an overview of RPA benefit assessment possibilities is lacking. In this paper, we identify 62 distinct metrics/indicators and ten evaluation methods used for assessing RPA benefits. Our results show that efficiency- and cost-related performance indicators prevail in the scientific literature. In terms of evaluation methods, most contributions do not mention any specific method for RPA benefit assessment. Our findings serve practitioners and researchers with an overview of the current possibilities for a realistic RPA benefit assessment and a corresponding research agenda

    Remote interaction with mobile robots

    Get PDF
    This paper describes an architecture, which can be used to build remote laboratories to interact remotely via Internet with mobile robots using different interaction devices. A supervisory control strategy has been used to develop the remote laboratory in order to alleviate high communication data rates and system sensitivity to network delays. The users interact with the remote system at a more abstract level using high level commands. The local robot's autonomy has been increased by encapsulating all the robot's behaviors in different types of skills. User interfaces have been designed using visual proxy pattern to facilitate any future extension or code reuse. The developed remote laboratory has been integrated into an educational environment in the field of indoor mobile robotics. This environment is currently being used as a part of an international project to develop a distributed laboratory for autonomous and teleoperated systems (IECAT, 2003).Publicad

    PARMA-CC: Parallel Multiphase Approximate Cluster Combining

    Get PDF
    Clustering is a common component in data analysis applications. Despite the extensive literature, the continuously increasing volumes of data produced by sensors (e.g. rates of several MB/s by 3D scanners such as LIDAR sensors), and the time-sensitivity of the applications leveraging the clustering outcomes (e.g. detecting critical situations, that are known to be accuracy-dependent), demand for novel approaches that respond faster while coping with large data sets. The latter is the challenge we address in this paper. We propose an algorithm, PARMA-CC, that complements existing density-based and distance-based clustering methods. PARMA-CC is based on approximate, data parallel cluster combining, where parallel threads can compute summaries of clusters of data (sub)sets and, through combining, together construct a comprehensive summary of the sets of clusters. By approximating clusters with their respective geometrical summaries, our technique scales well with increased data volumes, and, by computing and efficiently combining the summaries in parallel, it enables latency improvements. PARMA-CC combines the summaries using special data structures that enable parallelism through in-place data processing. As we show in our analysis and evaluation, PARMA-CC can complement and outperform well-established methods, with significantly better scalability, while still providing highly accurate results in a variety of data sets, even with skewed data distributions, which cause the traditional approaches to exhibit their worst-case behaviour. In the paper we also describe how PARMA-CC can facilitate time-critical applications through appropriate use of the summaries

    PROACTIVE COMPUTING PARADIGM APPLIED TO THE PROGRAMMING OF ROBOTIC SYSTEMS

    Get PDF
    This doctoral thesis is concerned with the development of advanced software for robotic systems, an area still in its experimental infancy, lacking essential methodologies from generic software engineering. A significant challenge within this domain is the absence of a well-established separation of concerns from the design phase. This deficiency is exemplified by Navigation 2, a realworld reference application for (semi-) autonomous robot journeys developed for and on top of the Robot Operating System (ROS): the project’s leading researchers encountered difficulties in maintaining and evolving their complex software, even for supposed-to-be straightforward new functions, leading to a halt in further development. In response, this thesis first presents an alternative design and implementation approach that not only rectifies the issues but also elevates the programming level of consistent robot behaviors. By leveraging the proactive computing paradigm, our dedicated software engineering model provides programmers with enhanced code extension, reusability and maintenance capabilities. Furthermore, a key advantage of the model lies in its dynamic adaptability via on-the-fly strategy change in decision-making. Second, in order to provide a comprehensive evaluation of the two systems, an exhaustive comparative study between Navigation 2 and the same application implemented along the lines of our model, is conducted. This study covers thorough assessments at both compile-time and runtime. Software metrics such as coupling, lack of cohesion, complexity, and various size measures are employed to quantify and visualize code quality and efficiency attributes. The CodeMR software tool aids in visualizing these metrics, while runtime analysis involves monitoring CPU and memory usage through the Datadog monitoring software. Preliminary findings indicate that our implementation either matches or surpasses Navigation 2’s performance while simultaneously enhancing code structure and simplifying modifications and extensions of the code base

    Towards a Tool-based Development Methodology for Pervasive Computing Applications

    Get PDF
    Despite much progress, developing a pervasive computing application remains a challenge because of a lack of conceptual frameworks and supporting tools. This challenge involves coping with heterogeneous devices, overcoming the intricacies of distributed systems technologies, working out an architecture for the application, encoding it in a program, writing specific code to test the application, and finally deploying it. This paper presents a design language and a tool suite covering the development life-cycle of a pervasive computing application. The design language allows to define a taxonomy of area-specific building-blocks, abstracting over their heterogeneity. This language also includes a layer to define the architecture of an application, following an architectural pattern commonly used in the pervasive computing domain. Our underlying methodology assigns roles to the stakeholders, providing separation of concerns. Our tool suite includes a compiler that takes design artifacts written in our language as input and generates a programming framework that supports the subsequent development stages, namely implementation, testing, and deployment. Our methodology has been applied on a wide spectrum of areas. Based on these experiments, we assess our approach through three criteria: expressiveness, usability, and productivity

    BEHAVIORAL COMPOSITION FOR HETEROGENEOUS SWARMS

    Get PDF
    Research into swarm robotics has produced a robust library of swarm behaviors that excel at defined tasks such as flocking and area search, many of which have potential for application to a wide range of military problems. However, to be successfully applied to an operational environment, swarms must be flexible enough to achieve a wide array of specific objectives and usable enough to be configured and employed by lay operators. This research explored the use of the Mission-based Architecture for Swarm Composability (MASC) to develop mission-specific tactics as compositions of more general, reusable plays for use with the Advanced Robotic Systems Engineering Laboratory (ARSENL) swarm system. Three tactics were developed to conduct autonomous search of a geographic area and investigation of generated contacts of interest. The tactics were tested in live-flight and virtual environment experiments and compared to a preexisting monolithic behavior implementation completing the same task. Measures of performance were defined and observed that verified the effectiveness of solutions and confirmed the advantages that composition provides with respect to reusability and rapid development of increasingly complex behaviors.Lieutenant Commander, United States NavyApproved for public release. Distribution is unlimited
    • …
    corecore