49 research outputs found
Recommended from our members
Coordinated Resource Management in Networked Embedded Systems
This dissertation shows that with simple programming abstractions, network-wide resource coordination is ef๏ฌcient and useful for programming embedded sensor networks. Existing systems have focused primarily on managing resources for individual nodes, but a sensor network is not merely a collection of nodes operating independently: it must coordinate behavior across multiple nodes to achieve high ef๏ฌciency. We need tools that can enable system-wide coordination at a higher level of abstraction than what exists today. We present three core contributions. The ๏ฌrst is a service called IDEA that enables networkwide energy management for sensor networks. It unites energy monitoring, load modeling, and distributed state sharing into a single service that facilitates distributed decision making. Using simulation and testbed results, we show that IDEA enables improvements in network lifetime of up to 35% over approaches that do not consider energy distribution. Our second contribution is Karma, a system for coordinating insect-sized robotic microaerial vehicle (MAV) swarms, an emerging class of mobile sensor networks. Karmas system architecture simpli๏ฌes the functionality of an individual MAV to a sequence of sensing and actuation commands called behaviors. Each behavior has an associated progress function, a measure of how much of that behavior has been completed. Programming is done by composing behaviors which are coordinated using input from the progress functions. Through simulation and testbed experiments, we demonstrate Karma applications can run on limited resources, are robust to individual MAV failure, and adapt to changes in the environment. Our ๏ฌnal contribution is Simbeeotic, a testbed for MAV coordination algorithms. MAV sensors must be codesigned with the software and coordination algorithms that depend on them. This requires a testbed capable of simulating sensors to evaluate them before actual hardware is available and the ability to test with real ๏ฌight dynamics for accurate control evaluation. In addition, simulation should be able to scale to hundreds or thousands of MAVs at a reduced level of ๏ฌdelity in order to test at scale. We demonstrate that Simbeeotic provides the appropriate level of ๏ฌdelity to evaluate prototype systems while maintaining the ability to test at scale.Engineering and Applied Science
Swarm-Oriented Programming of Distributed Robot Networks
One challenge of programming soon-to-be-common large robotic teams is the definition of programming primitives that generate reusable and predictable behaviors. A new language construct allows developers to categorize robots using custom conditions and assign tasks to the groups created. The web extra at https://youtu.be/ddHXIef3nDo offers a real-life demonstration of a robot swarm programmed using Buzz, an extension language with dynamic typing
Team-level programming of drone sensor networks
Autonomous drones are a powerful new breed of mobile sensing platform that can greatly extend the capabilities of traditional sensing systems. Unfortunately, it is still non-trivial to coordinate multiple drones to perform a task collaboratively. We present a novel programming model called team-level programming that can express collaborative sensing tasks without exposing the complexity of managing multiple drones, such as concurrent programming, parallel execution, scaling, and failure recovering. We create the Voltron programming system to explore the concept of team-level programming in active sensing applications. Voltron offers programming constructs to create the illusion of a simple sequential execution model while still maximizing opportunities to dynamically re-task the drones as needed. We implement Voltron by targeting a popular aerial drone platform, and evaluate the resulting system using a combination of real deployments, user studies, and emulation. Our results indicate that Voltron enables simpler code and produces marginal overhead in terms of CPU, memory, and network utilization. In addition, it greatly facilitates implementing correct and complete collaborative drone applications, compared to existing drone programming systems
Development of Communication Link Perception for Decision Making in Mobile Agents
Examination and comparison of Packet Error Rate (PER), Error Burstiness (EB), and Receive Signal Strength Indicator (RSSI) as communication connectivity management metrics for multi-agent mobile robot networks are explored in this thesis. Assessment Accuracy (AA) and Time To Process (TTP) are used as parameters for the comparison of metrics given that mobile robots are required to make critical decisions rapidly. The initial investigations are done with a mobile unit making PER, EB, and RSSI measurements at an increasing distance from a base station. A relatively linear relationship between PER and EB was discovered with a R2 value of .967. Strong correlations between EB and PER were observed in areas between 0% and 50% PER. A communication aware algorithm was developed using both EB and PER to allow the mobile agent to assess the Link Quality (LQ) faster in scenarios of communication loss by scanning for error bursts
A tuple space for data sharing in robot swarms
In this paper, we present a system to allow a swarm of robots to agree on a set of (key,value) pairs. This system enables a form of information sharing that has the potential to be an asset for coordination in complex environments, such as globally optimized task allocation. Taking inspiration from the environment-mediated communication of social insects, we call the system virtual stigmergy. Experimental evaluation indicates that virtual stigmergy can work in a wide variety of running conditions including heavy packet loss, and can cope with random motion trajectories
ํ์ ๋ก๋ด์ ์ํ ์๋น์ค ๊ธฐ๋ฐ๊ณผ ๋ชจ๋ธ ๊ธฐ๋ฐ์ ์ํํธ์จ์ด ๊ฐ๋ฐ ๋ฐฉ๋ฒ๋ก
ํ์๋
ผ๋ฌธ(๋ฐ์ฌ)--์์ธ๋ํ๊ต ๋ํ์ :๊ณต๊ณผ๋ํ ์ ๊ธฐยท์ปดํจํฐ๊ณตํ๋ถ,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