7,808 research outputs found

    Reusable Software Components for Robots Using Fuzzy Abstractions

    Get PDF
    Mobile robots today, while varying greatly in design, often have a large number of similarities in terms of their tasks and goals. Navigation, obstacle avoidance, and vision are all examples. In turn, robots of similar design, but with varying configurations, should be able to share the bulk of their controlling software. Any changes required should be minimal and ideally only to specify new hardware configurations. However, it is difficult to achieve such flexibility, mainly due to the enormous variety of robot hardware available and the huge number of possible configurations. Monolithic controllers that can handle such variety are impossible to build. This paper will investigate these portability problems, as well as techniques to manage common abstractions for user-designed components. The challenge is in creating new methods for robot software to support a diverse variety of robots, while also being easily upgraded and extended. These methods can then provide new ways to support the operational and functional reuse of the same high-level components across a variety of robots

    Software Reuse across Robotic Platforms: Limiting the effects of diversity

    Get PDF
    Robots have diverse capabilities and complex interactions with their environment. Software development for robotic platforms is time consuming due to the complex nature of the tasks to be performed. Such an environment demands sound software engineering practices to produce high quality software. However software engineering in the robotics domain fails to facilitate any significant level of software reuse or portability. This paper identifies the major issues limiting software reuse in the robotics domain. Lack of standardisation, diversity of robotic platforms, and the subtle effects of environmental interaction all contribute to this problem. It is then shown that software components, fuzzy logic, and related techniques can be used together to address this problem. While complete software reuse is not possible, it is demonstrated that significant levels of software reuse can be obtained. Without an acceptable level of reuse or portability, software engineering in the robotics domain will not be able to meet the demands of a rapidly developing field. The work presented in this paper demonstrates a method for supporting software reuse across robotic platforms and hence facilitating improved software engineering practices

    Early aspects: aspect-oriented requirements engineering and architecture design

    Get PDF
    This paper reports on the third Early Aspects: Aspect-Oriented Requirements Engineering and Architecture Design Workshop, which has been held in Lancaster, UK, on March 21, 2004. The workshop included a presentation session and working sessions in which the particular topics on early aspects were discussed. The primary goal of the workshop was to focus on challenges to defining methodical software development processes for aspects from early on in the software life cycle and explore the potential of proposed methods and techniques to scale up to industrial applications

    Design Criteria to Architect Continuous Experimentation for Self-Driving Vehicles

    Full text link
    The software powering today's vehicles surpasses mechatronics as the dominating engineering challenge due to its fast evolving and innovative nature. In addition, the software and system architecture for upcoming vehicles with automated driving functionality is already processing ~750MB/s - corresponding to over 180 simultaneous 4K-video streams from popular video-on-demand services. Hence, self-driving cars will run so much software to resemble "small data centers on wheels" rather than just transportation vehicles. Continuous Integration, Deployment, and Experimentation have been successfully adopted for software-only products as enabling methodology for feedback-based software development. For example, a popular search engine conducts ~250 experiments each day to improve the software based on its users' behavior. This work investigates design criteria for the software architecture and the corresponding software development and deployment process for complex cyber-physical systems, with the goal of enabling Continuous Experimentation as a way to achieve continuous software evolution. Our research involved reviewing related literature on the topic to extract relevant design requirements. The study is concluded by describing the software development and deployment process and software architecture adopted by our self-driving vehicle laboratory, both based on the extracted criteria.Comment: Copyright 2017 IEEE. Paper submitted and accepted at the 2017 IEEE International Conference on Software Architecture. 8 pages, 2 figures. Published in IEEE Xplore Digital Library, URL: http://ieeexplore.ieee.org/abstract/document/7930218

    Relational oriented systems engineering framework for flight training

    Get PDF
    The integration of systems of systems (SoS) associated with a flight training mission directly reflects the problem of developing a system engineering process for the design of live, virtual and constructive (LVC) experiments. Due to the complexity and disparity of the technology in a flight training SoS (FTSoS), modeling and analysis of architecture is becoming increasingly important. Relational Oriented Systems Engineering (ROSE) methodology is used to develop a framework for simulation and analysis of a navigational SoS for a typical aircraft. The framework can be used for both the prescription of navigation systems entering and exiting the SoS and for the analysis of pilot behavior as navigation quality of service (QoS) changes. ROSE offers a novel approach to developing a model-based systems engineering (MBSE) process for simulation and analysis of a complex SoS problem

    Design methodology for smart actuator services for machine tool and machining control and monitoring

    Get PDF
    This paper presents a methodology to design the services of smart actuators for machine tools. The smart actuators aim at replacing the traditional drives (spindles and feed-drives) and enable to add data processing abilities to implement monitoring and control tasks. Their data processing abilities are also exploited in order to create a new decision level at the machine level. The aim of this decision level is to react to disturbances that the monitoring tasks detect. The cooperation between the computational objects (the smart spindle, the smart feed-drives and the CNC unit) enables to carry out functions for accommodating or adapting to the disturbances. This leads to the extension of the notion of smart actuator with the notion of agent. In order to implement the services of the smart drives, a general design is presented describing the services as well as the behavior of the smart drive according to the object oriented approach. Requirements about the CNC unit are detailed. Eventually, an implementation of the smart drive services that involves a virtual lathe and a virtual turning operation is described. This description is part of the design methodology. Experimental results obtained thanks to the virtual machine are then presented

    Heterogeneous component interactions: Sensors integration into multimedia applications

    Full text link
    Resource-constrained embedded and mobile devices are becoming increasingly common. Since few years, some mobile and ubiquitous devices such as wireless sensor, able to be aware of their physical environment, appeared. Such devices enable proposing applications which adapt to user's need according the context evolution. It implies the collaboration of sensors and software components which differ on their nature and their communication mechanisms. This paper proposes a unified component model in order to easily design applications based on software components and sensors without taking care of their nature. Then it presents a state of the art of communication problems linked to heterogeneous components and proposes an interaction mechanism which ensures information exchanges between wireless sensors and software components
    corecore