52 research outputs found

    Robotics Middleware: A Comprehensive Literature Survey and Attribute-Based Bibliography

    Get PDF
    Autonomous robots are complex systems that require the interaction between numerous heterogeneous components (software and hardware). Because of the increase in complexity of robotic applications and the diverse range of hardware, robotic middleware is designed to manage the complexity and heterogeneity of the hardware and applications, promote the integration of new technologies, simplify software design, hide the complexity of low-level communication and the sensor heterogeneity of the sensors, improve software quality, reuse robotic software infrastructure across multiple research efforts, and to reduce production costs. This paper presents a literature survey and attribute-based bibliography of the current state of the art in robotic middleware design. The main aim of the survey is to assist robotic middleware researchers in evaluating the strengths and weaknesses of current approaches and their appropriateness for their applications. Furthermore, we provide a comprehensive set of appropriate bibliographic references that are classified based on middleware attributes.http://dx.doi.org/10.1155/2012/95901

    Real-Time Scheduling Method for Middleware of Industrial Automation Devices

    Get PDF
    In this study, a real-time scheduling algorithm, which supports periodic and sporadic executions with event handling, is proposed for the middleware of industrial automation devices or controllers, such as industrial robots and programmable logic controllers. When sensors and embedded controllers are included in control loops having different control periods, they should transmit their data periodically to the controllers and actuators; otherwise, fatal failure of the system including the devices could occur. The proposed scheduling algorithm manages modules, namely, the thread type (or .so type) and process type (or .exe type), for periodic execution, sporadic execution, and non-real-time execution. The program structures for the thread-type and process-type modules that can make the proposed algorithm manage the modules efficiently are suggested; then, they are applied in periodic and sporadic executions. For sporadic executions, the occurrences of events are first examined to invoke the execution modules corresponding to the events. The proposed scheduling algorithm is implemented using the Xenomai real-time operating system (OS) and Linux, and it is validated through several examples

    Robotics software frameworks for multi-agent robotic systems development

    Get PDF
    Robotics is an area of research in which the paradigm of Multi-Agent Systems (MAS) can prove to be highly useful. Multi-Agent Systems come in the form of cooperative robots in a team, sensor networks based on mobile robots, and robots in Intelligent Environments, to name but a few. However, the development of Multi-Agent Robotic Systems (MARS) still presents major challenges. Over the past decade, a high number of Robotics Software Frameworks (RSFs) have appeared which propose some solutions to the most recurrent problems in robotics. Some of these frameworks, such as ROS, YARP, OROCOS, ORCA, Open-RTM, and Open-RDK, possess certain characteristics and provide the basic infrastructure necessary for the development of MARS. The contribution of this work is the identification of such characteristics as well as the analysis of these frameworks in comparison with the general-purpose Multi-Agent System Frameworks (MASFs), such as JADE and Mobile-C.Ministerio de Ciencia e Innovaciรณn TEC2009-10639-C04-02Junta de Andalucรญa P06-TIC-2298Junta de Andalucรญa P08-TIC-0386

    On Software Quality-motivated Design of a Real-time Framework for Complex Robot Control Systems

    Get PDF
    Frameworks have fundamental impact on software quality of robot control systems. We propose systematic framework design aiming at high levels of support for all quality attributes that are relevant in the robotics domain. Design decisions are taken accordingly. We argue that certain areas of design are especially critical, as changing decisions there would likely require rewriting significant parts of the implementation. For these areas, quality-motivated solutions and benefits for actual applications are discussed. We illustrate and evaluate their implementations in our framework Finroc - after briefly introducing it. This includes a highly modular framework core and a well-performing, lock-free, zero-copying communication mechanism. Finroc is being used in complex and also in commercial robotic projects - which evinces that the approaches are suitable for real-world applications

    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

    The Cognitive Interaction Toolkit โ€“ Improving Reproducibility of Robotic Systems Experiments

    Get PDF
    Lier F, Wienke J, Nordmann A, Wachsmuth S, Wrede S. The Cognitive Interaction Toolkit โ€“ Improving Reproducibility of Robotic Systems Experiments. In: Brugali D, Broenink JF, Kroeger T, MacDonald BA, eds. SIMPAR: International Conference on Simulation, Modeling, and Programming for Autonomous Robots. Lecture Notes in Computer Science . Vol 8810. Cham: Springer; 2014: 400-411.Research on robot systems either integrating a large number of capabilities in a single architecture or displaying outstanding perfor- mance in a single domain achieved considerable progress over the last years. Results are typically validated through experimental evaluation or demonstrated live, e.g., at robotics competitions. While common robot hardware, simulation and programming platforms yield an improved ba- sis, many of the described experiments still cannot be reproduced easily by interested researchers to confirm the reported findings. We consider this a critical challenge for experimental robotics. Hence, we address this problem with a novel process which facilitates the reproduction of robotics experiments. We identify major obstacles to experiment repli- cation and introduce an integrated approach that allows (i) aggregation and discovery of required research artifacts, (ii) automated software build and deployment, as well as (iii) experiment description, repeatable exe- cution and evaluation. We explain the usage of the introduced process along an exemplary robotics experiment and discuss our approach in the context of current ecosystems for robot programming and simulation

    Axon: A Middleware for Robotics

    Get PDF
    The area of multi-robot systems and frameworks has become, in recent years, a hot research area in the field of robotics. This is attributed to the great advances made in robotic hardware, software, and the diversity of robotic systems. The need to integrate different heterogeneous robotic components and systems has led to the birth of robotic middleware. A robotic middleware is an intricate piece of software that masks the heterogeneity of underlying components and provides high-level interfaces that enable developers to make efficient use of the components. A large number of robotic middleware programs exist today. Each one comes with its own design methodologies and complexities. Up to this moment, however, there exists no unified standard for robotic middleware. Moreover, many of the middleware in use today deal with low-level and hardware aspects. This adds unnecessary complexity in research involving robotic behavior, inter-robot collaboration, and other high-level experiments which do not require prior knowledge of low-level details. In addition, the notion of structured lightweight data transfer between robots is not emphasized in existing work. This dissertation tackles the robotic middleware problem from a different perspective. The aim of this work is to develop a robust middleware that is able to handle multiple robots and clients within a laboratory environment. In the proposed middleware, a high-level representation of robots in an environment is introduced. Also, this work introduces the notion of structured and efficient data exchange as an important issue in robotic middleware research. The middleware has been designed and developed using rigorous methodologies and leading edge technologies. Moreover, the middlewareโ€™s ability to integrate different types of robots in a seamless manner, as well as its ability to accommodate multiple robots and clients, has been tested and evaluated

    Scheduling Problems

    Get PDF
    Scheduling is defined as the process of assigning operations to resources over time to optimize a criterion. Problems with scheduling comprise both a set of resources and a set of a consumers. As such, managing scheduling problems involves managing the use of resources by several consumers. This book presents some new applications and trends related to task and data scheduling. In particular, chapters focus on data science, big data, high-performance computing, and Cloud computing environments. In addition, this book presents novel algorithms and literature reviews that will guide current and new researchers who work with load balancing, scheduling, and allocation problems

    ํ˜‘์—… ๋กœ๋ด‡์„ ์œ„ํ•œ ์„œ๋น„์Šค ๊ธฐ๋ฐ˜๊ณผ ๋ชจ๋ธ ๊ธฐ๋ฐ˜์˜ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•๋ก 

    Get PDF
    ํ•™์œ„๋…ผ๋ฌธ(๋ฐ•์‚ฌ)--์„œ์šธ๋Œ€ํ•™๊ต ๋Œ€ํ•™์› :๊ณต๊ณผ๋Œ€ํ•™ ์ „๊ธฐยท์ปดํ“จํ„ฐ๊ณตํ•™๋ถ€,2020. 2. ํ•˜์ˆœํšŒ.๊ฐ€๊นŒ์šด ๋ฏธ๋ž˜์—๋Š” ๋‹ค์–‘ํ•œ ๋กœ๋ด‡์ด ๋‹ค์–‘ํ•œ ๋ถ„์•ผ์—์„œ ํ•˜๋‚˜์˜ ์ž„๋ฌด๋ฅผ ํ˜‘๋ ฅํ•˜์—ฌ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ชจ์Šต์€ ํ”ํžˆ ๋ณผ ์ˆ˜ ์žˆ๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์‹ค์ œ๋กœ ์ด๋Ÿฌํ•œ ๋ชจ์Šต์ด ์‹คํ˜„๋˜๊ธฐ์—๋Š” ๋‘ ๊ฐ€์ง€์˜ ์–ด๋ ค์›€์ด ์žˆ๋‹ค. ๋จผ์ € ๋กœ๋ด‡์„ ์šด์šฉํ•˜๊ธฐ ์œ„ํ•œ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋ช…์„ธํ•˜๋Š” ๊ธฐ์กด ์—ฐ๊ตฌ๋“ค์€ ๋Œ€๋ถ€๋ถ„ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋กœ๋ด‡์˜ ํ•˜๋“œ์›จ์–ด์™€ ์†Œํ”„ํŠธ์›จ์–ด์— ๋Œ€ํ•œ ์ง€์‹์„ ์•Œ๊ณ  ์žˆ๋Š” ๊ฒƒ์„ ๊ฐ€์ •ํ•˜๊ณ  ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋กœ๋ด‡์ด๋‚˜ ์ปดํ“จํ„ฐ์— ๋Œ€ํ•œ ์ง€์‹์ด ์—†๋Š” ์‚ฌ์šฉ์ž๋“ค์ด ์—ฌ๋Ÿฌ ๋Œ€์˜ ๋กœ๋ด‡์ด ํ˜‘๋ ฅํ•˜๋Š” ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ๋Š” ์‰ฝ์ง€ ์•Š๋‹ค. ๋˜ํ•œ, ๋กœ๋ด‡์˜ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ฐœ๋ฐœํ•  ๋•Œ ๋กœ๋ด‡์˜ ํ•˜๋“œ์›จ์–ด์˜ ํŠน์„ฑ๊ณผ ๊ด€๋ จ์ด ๊นŠ์–ด์„œ, ๋‹ค์–‘ํ•œ ๋กœ๋ด‡์˜ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒƒ๋„ ๊ฐ„๋‹จํ•˜์ง€ ์•Š๋‹ค. ๋ณธ ๋…ผ๋ฌธ์—์„œ๋Š” ์ƒ์œ„ ์ˆ˜์ค€์˜ ๋ฏธ์…˜ ๋ช…์„ธ์™€ ๋กœ๋ด‡์˜ ํ–‰์œ„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์œผ๋กœ ๋‚˜๋ˆ„์–ด ์ƒˆ๋กœ์šด ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์ œ์•ˆํ•œ๋‹ค. ๋˜ํ•œ, ๋ณธ ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ํฌ๊ธฐ๊ฐ€ ์ž‘์€ ๋กœ๋ด‡๋ถ€ํ„ฐ ๊ณ„์‚ฐ ๋Šฅ๋ ฅ์ด ์ถฉ๋ถ„ํ•œ ๋กœ๋ด‡๋“ค์ด ์„œ๋กœ ๊ตฐ์ง‘์„ ์ด๋ฃจ์–ด ๋ฏธ์…˜์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•œ๋‹ค. ๋ณธ ์—ฐ๊ตฌ์—์„œ๋Š” ๋กœ๋ด‡์˜ ํ•˜๋“œ์›จ์–ด๋‚˜ ์†Œํ”„ํŠธ์›จ์–ด์— ๋Œ€ํ•œ ์ง€์‹์ด ๋ถ€์กฑํ•œ ์‚ฌ์šฉ์ž๋„ ๋กœ๋ด‡์˜ ๋™์ž‘์„ ์ƒ์œ„ ์ˆ˜์ค€์—์„œ ๋ช…์„ธํ•  ์ˆ˜ ์žˆ๋Š” ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด๋ฅผ ์ œ์•ˆํ•œ๋‹ค. ์ œ์•ˆํ•˜๋Š” ์–ธ์–ด๋Š” ๊ธฐ์กด์˜ ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด์—์„œ๋Š” ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๋„ค ๊ฐ€์ง€์˜ ๊ธฐ๋Šฅ์ธ ํŒ€์˜ ๊ตฌ์„ฑ, ๊ฐ ํŒ€์˜ ์„œ๋น„์Šค ๊ธฐ๋ฐ˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ, ๋™์ ์œผ๋กœ ๋ชจ๋“œ ๋ณ€๊ฒฝ, ๋‹ค์ค‘ ์ž‘์—…(๋ฉ€ํ‹ฐ ํƒœ์Šคํ‚น)์„ ์ง€์›ํ•œ๋‹ค. ์šฐ์„  ๋กœ๋ด‡์€ ํŒ€์œผ๋กœ ๊ทธ๋ฃน ์ง€์„ ์ˆ˜ ์žˆ๊ณ , ๋กœ๋ด‡์ด ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์„œ๋น„์Šค ๋‹จ์œ„๋กœ ์ถ”์ƒํ™”ํ•˜์—ฌ ์ƒˆ๋กœ์šด ๋ณตํ•ฉ ์„œ๋น„์Šค๋ฅผ ๋ช…์„ธํ•  ์ˆ˜ ์žˆ๋‹ค. ๋˜ํ•œ ๋กœ๋ด‡์˜ ๋ฉ€ํ‹ฐ ํƒœ์Šคํ‚น์„ ์œ„ํ•ด 'ํ”Œ๋žœ' ์ด๋ผ๋Š” ๊ฐœ๋…์„ ๋„์ž…ํ•˜์˜€๊ณ , ๋ณตํ•ฉ ์„œ๋น„์Šค ๋‚ด์—์„œ ์ด๋ฒคํŠธ๋ฅผ ๋ฐœ์ƒ์‹œ์ผœ์„œ ๋™์ ์œผ๋กœ ๋ชจ๋“œ๊ฐ€ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜์˜€๋‹ค. ๋‚˜์•„๊ฐ€ ์—ฌ๋Ÿฌ ๋กœ๋ด‡์˜ ํ˜‘๋ ฅ์ด ๋”์šฑ ๊ฒฌ๊ณ ํ•˜๊ณ , ์œ ์—ฐํ•˜๊ณ , ํ™•์žฅ์„ฑ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด, ๊ตฐ์ง‘ ๋กœ๋ด‡์„ ์šด์šฉํ•  ๋•Œ ๋กœ๋ด‡์ด ์ž„๋ฌด๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๋„์ค‘์— ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ƒํ™ฉ์— ๋”ฐ๋ผ ๋กœ๋ด‡์„ ๋™์ ์œผ๋กœ ๋‹ค๋ฅธ ํ–‰์œ„๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ๋™์ ์œผ๋กœ๋„ ํŒ€์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๊ณ , ์—ฌ๋Ÿฌ ๋Œ€์˜ ๋กœ๋ด‡์ด ํ•˜๋‚˜์˜ ์„œ๋น„์Šค๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ทธ๋ฃน ์„œ๋น„์Šค๋ฅผ ์ง€์›ํ•˜๊ณ , ์ผ๋Œ€ ๋‹ค ํ†ต์‹ ๊ณผ ๊ฐ™์€ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด์— ๋ฐ˜์˜ํ•˜์˜€๋‹ค. ๋”ฐ๋ผ์„œ ํ™•์žฅ๋œ ์ƒ์œ„ ์ˆ˜์ค€์˜ ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด๋Š” ๋น„์ „๋ฌธ๊ฐ€๋„ ๋‹ค์–‘ํ•œ ์œ ํ˜•์˜ ํ˜‘๋ ฅ ์ž„๋ฌด๋ฅผ ์‰ฝ๊ฒŒ ๋ช…์„ธํ•  ์ˆ˜ ์žˆ๋‹ค. ๋กœ๋ด‡์˜ ํ–‰์œ„๋ฅผ ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์–‘ํ•œ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์—ฐ๊ตฌ๋˜๊ณ  ์žˆ๋‹ค. ํŠนํžˆ ์žฌ์‚ฌ์šฉ์„ฑ๊ณผ ํ™•์žฅ์„ฑ์„ ์ค‘์ ์œผ๋กœ ๋‘” ์—ฐ๊ตฌ๋“ค์ด ์ตœ๊ทผ ๋งŽ์ด ์‚ฌ์šฉ๋˜๊ณ  ์žˆ์ง€๋งŒ, ๋Œ€๋ถ€๋ถ„์˜ ์ด๋“ค ์—ฐ๊ตฌ๋Š” ๋ฆฌ๋ˆ…์Šค ์šด์˜์ฒด์ œ์™€ ๊ฐ™์ด ๋งŽ์€ ํ•˜๋“œ์›จ์–ด ์ž์›์„ ํ•„์š”๋กœ ํ•˜๋Š” ์šด์˜์ฒด์ œ๋ฅผ ๊ฐ€์ •ํ•˜๊ณ  ์žˆ๋‹ค. ๋˜ํ•œ, ํ”„๋กœ๊ทธ๋žจ์˜ ๋ถ„์„ ๋ฐ ์„ฑ๋Šฅ ์˜ˆ์ธก ๋“ฑ์„ ๊ณ ๋ คํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์—, ์ž์› ์ œ์•ฝ์ด ์‹ฌํ•œ ํฌ๊ธฐ๊ฐ€ ์ž‘์€ ๋กœ๋ด‡์˜ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ฐœ๋ฐœํ•˜๊ธฐ์—๋Š” ์–ด๋ ต๋‹ค. ๊ทธ๋ž˜์„œ ๋ณธ ์—ฐ๊ตฌ์—์„œ๋Š” ์ž„๋ฒ ๋””๋“œ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์„ค๊ณ„ํ•  ๋•Œ ์“ฐ์ด๋Š” ์ •ํ˜•์ ์ธ ๋ชจ๋ธ์„ ์ด์šฉํ•œ๋‹ค. ์ด ๋ชจ๋ธ์€ ์ •์  ๋ถ„์„๊ณผ ์„ฑ๋Šฅ ์˜ˆ์ธก์ด ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, ๋กœ๋ด‡์˜ ํ–‰์œ„๋ฅผ ํ‘œํ˜„ํ•˜๊ธฐ์—๋Š” ์ œ์•ฝ์ด ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋ณธ ๋…ผ๋ฌธ์—์„œ ์™ธ๋ถ€์˜ ์ด๋ฒคํŠธ์— ์˜ํ•ด ์ˆ˜ํ–‰ ์ค‘๊ฐ„์— ํ–‰์œ„๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๋กœ๋ด‡์„ ์œ„ํ•ด ์œ ํ•œ ์ƒํƒœ ๋จธ์‹  ๋ชจ๋ธ๊ณผ ๋ฐ์ดํ„ฐ ํ”Œ๋กœ์šฐ ๋ชจ๋ธ์ด ๊ฒฐํ•ฉํ•˜์—ฌ ๋™์  ํ–‰์œ„๋ฅผ ๋ช…์„ธํ•  ์ˆ˜ ์žˆ๋Š” ํ™•์žฅ๋œ ๋ชจ๋ธ์„ ์ ์šฉํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋”ฅ๋Ÿฌ๋‹๊ณผ ๊ฐ™์ด ๊ณ„์‚ฐ๋Ÿ‰์„ ๋งŽ์ด ํ•„์š”๋กœ ํ•˜๋Š” ์‘์šฉ์„ ๋ถ„์„ํ•˜๊ธฐ ์œ„ํ•ด, ๋ฃจํ”„ ๊ตฌ์กฐ๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋ธ์„ ์ œ์•ˆํ•œ๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ ์—ฌ๋Ÿฌ ๋กœ๋ด‡์˜ ํ˜‘์—… ์šด์šฉ์„ ์œ„ํ•ด ๋กœ๋ด‡ ์‚ฌ์ด์— ๊ณต์œ ๋˜๋Š” ์ •๋ณด๋ฅผ ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•ด ๋‘ ๊ฐ€์ง€ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•œ๋‹ค. ๋จผ์ € ์ค‘์•™์—์„œ ๊ณต์œ  ์ •๋ณด๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํƒœ์Šคํฌ๋ผ๋Š” ํŠน๋ณ„ํ•œ ํƒœ์Šคํฌ๋ฅผ ํ†ตํ•ด ๊ณต์œ  ์ •๋ณด๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ๋˜ํ•œ, ๋กœ๋ด‡์ด ์ž์‹ ์˜ ์ •๋ณด๋ฅผ ๊ฐ€๊นŒ์šด ๋กœ๋ด‡๋“ค๊ณผ ๊ณต์œ ํ•˜๊ธฐ ์œ„ํ•ด ๋ฉ€ํ‹ฐ์บ์ŠคํŒ…์„ ์œ„ํ•œ ์ƒˆ๋กœ์šด ํฌํŠธ๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค. ์ด๋ ‡๊ฒŒ ํ™•์žฅ๋œ ์ •ํ˜•์ ์ธ ๋ชจ๋ธ์€ ์‹ค์ œ ๋กœ๋ด‡ ์ฝ”๋“œ๋กœ ์ž๋™ ์ƒ์„ฑ๋˜์–ด, ์†Œํ”„ํŠธ์›จ์–ด ์„ค๊ณ„ ์ƒ์‚ฐ์„ฑ ๋ฐ ๊ฐœ๋ฐœ ํšจ์œจ์„ฑ์— ์ด์ ์„ ๊ฐ€์ง„๋‹ค. ๋น„์ „๋ฌธ๊ฐ€๊ฐ€ ๋ช…์„ธํ•œ ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด๋Š” ์ •ํ˜•์ ์ธ ํƒœ์Šคํฌ ๋ชจ๋ธ๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ ์œ„ํ•ด ์ค‘๊ฐ„ ๋‹จ๊ณ„์ธ ์ „๋žต ๋‹จ๊ณ„๋ฅผ ์ถ”๊ฐ€ํ•˜์˜€๋‹ค. ์ œ์•ˆํ•˜๋Š” ๋ฐฉ๋ฒ•๋ก ์˜ ํƒ€๋‹น์„ฑ์„ ๊ฒ€์ฆํ•˜๊ธฐ ์œ„ํ•ด, ์‹œ๋ฎฌ๋ ˆ์ด์…˜๊ณผ ์—ฌ๋Ÿฌ ๋Œ€์˜ ์‹ค์ œ ๋กœ๋ด‡์„ ์ด์šฉํ•œ ํ˜‘์—…ํ•˜๋Š” ์‹œ๋‚˜๋ฆฌ์˜ค์— ๋Œ€ํ•ด ์‹คํ—˜์„ ์ง„ํ–‰ํ•˜์˜€๋‹ค.In the near future, it will be common that a variety of robots are cooperating to perform a mission in various fields. There are two software challenges when deploying collaborative robots: how to specify a cooperative mission and how to program each robot to accomplish its mission. In this paper, we propose a novel software development framework that separates mission specification and robot behavior programming, which is called service-oriented and model-based (SeMo) framework. Also, it can support distributed robot systems, swarm robots, and their hybrid. For mission specification, a novel scripting language is proposed with the expression capability. It involves team composition and service-oriented behavior specification of each team, allowing dynamic mode change of operation and multi-tasking. Robots are grouped into teams, and the behavior of each team is defined with a composite service. The internal behavior of a composite service is defined by a sequence of services that the robots will perform. The notion of plan is applied to express multi-tasking. And the robot may have various operating modes, so mode change is triggered by events generated in a composite service. Moreover, to improve the robustness, scalability, and flexibility of robot collaboration, the high-level mission scripting language is extended with new features such as team hierarchy, group service, one-to-many communication. We assume that any robot fails during the execution of scenarios, and the grouping of robots can be made at run-time dynamically. Therefore, the extended mission specification enables a casual user to specify various types of cooperative missions easily. For robot behavior programming, an extended dataflow model is used for task-level behavior specification that does not depend on the robot hardware platform. To specify the dynamic behavior of the robot, we apply an extended task model that supports a hybrid specification of dataflow and finite state machine models. Furthermore, we propose a novel extension to allow the explicit specification of loop structures. This extension helps the compute-intensive application, which contains a lot of loop structures, to specify explicitly and analyze at compile time. Two types of information sharing, global information sharing and local knowledge sharing, are supported for robot collaboration in the dataflow graph. For global information, we use the library task, which supports shared resource management and server-client interaction. On the other hand, to share information locally with near robots, we add another type of port for multicasting and use the knowledge sharing technique. The actual robot code per robot is automatically generated from the associated task graph, which minimizes the human efforts in low-level robot programming and improves the software design productivity significantly. By abstracting the tasks or algorithms as services and adding the strategy description layer in the design flow, the mission specification is refined into task-graph specification automatically. The viability of the proposed methodology is verified with preliminary experiments with three cooperative mission scenarios with heterogeneous robot platforms and robot simulator.Chapter 1. Introduction 1 1.1 Motivation 1 1.2 Contribution 7 1.3 Dissertation Organization 9 Chapter 2. Background and Existing Research 11 2.1 Terminologies 11 2.2 Robot Software Development Frameworks 25 2.3 Parallel Embedded Software Development Framework 31 Chapter 3. Overview of the SeMo Framework 41 3.1 Motivational Examples 45 Chapter 4. Robot Behavior Programming 47 4.1 Related works 48 4.2 Model-based Task Graph Specification for Individual Robots 56 4.3 Model-based Task Graph Specification for Cooperating Robots 70 4.4 Automatic Code Generation 74 4.5 Experiments 78 Chapter 5. High-level Mission Specification 81 5.1 Service-oriented Mission Specification 82 5.2 Strategy Description 93 5.3 Automatic Task Graph Generation 96 5.4 Related works 99 5.5 Experiments 104 Chapter 6. Conclusion 114 6.1 Future Research 116 Bibliography 118 Appendices 133 ์š”์•ฝ 158Docto

    State-based Safety of Component-based Medical and Surgical Robot Systems

    Get PDF
    Safety has not received sufficient attention in the medical robotics community despite a consensus of its paramount importance and the pioneering work in the early 90s. Partly because of its emergent and non-functional characteristics, it is challenging to capture and represent the design of safety features in a consistent, structured manner. In addition, significant engineering efforts are required in practice when designing and developing medical robot systems with safety. Still, academic researchers in medical robotics have to deal with safety to perform clinical studies. This dissertation presents the concept, model and architecture to reformulate safety as a visible, reusable, and verifiable property, rather than an embedded, hard-to-reuse, and hard-to-test property that is tightly coupled with the system. The concept enables reuse and structured understanding of the design of safety features, and the model allows the system designers to explicitly define and capture the run-time status of component-based systems with support for error propagation. The architecture leverages the benefits of the concept and the model by decomposing safety features into reusable mechanisms and configurable specifications. We show the concept and feasibility of the proposed methods by building an open source framework that aims to facilitate research and development of safety systems of medical robots. Using the cisst component-based framework, we empirically evaluate the proposed methods by applying the developed framework to two research systems -- one based on a commercial robot system for orthopedic surgery and another robot soon to be clinically applied for manipulation of flexible endoscopes
    • โ€ฆ
    corecore