이것은 사용자가 2025-4-2 22:14에 https://app.immersivetranslate.com/pdf-pro/7075e68d-52b3-4bab-a9b0-1f2f5c7dea81/?isTrial=true을(를) 위해 저장한 이중 언어 스냅샷 페이지로, 몰입형 번역에 의해 제공된 이중 언어 지원이 있습니다. 저장하는 방법을 알아보세요?

Kilobot: A Low Cost Scalable Robot System for Collective Behaviors
Kilobot: 집단 행동을 위한 저비용 확장 가능한 로봇 시스템

Michael Rubenstein, Christian Ahler, and Radhika Nagpal
마이클 루벤스타인, 크리스티안 알러, 라디카 나그팔

Abstract  추상적인

In current robotics research there is a vast body of work on algorithms and control methods for groups of decentralized cooperating robots, called a swarm or collective. These algorithms are generally meant to control collectives of hundreds or even thousands of robots; however, for reasons of cost, time, or complexity, they are generally validated in simulation only, or on a group of a few tens of robots. To address this issue, this paper presents Kilobot, a low-cost robot designed to make testing collective algorithms on hundreds or thousands of robots accessible to robotics researchers. To enable the possibility of large Kilobot collectives where the number of robots is an order of magnitude larger than the largest that exist today, each robot is made with only $ 14 $ 14 $14\$ 14 worth of parts and takes 5 minutes to assemble. Furthermore, the robot design allows a single user to easily operate a large Kilobot collective, such as programming, powering on, and charging all robots, which would be difficult or impossible to do with many existing robotic systems.는 기존의 많은 로봇 시스템으로는 수행하기 어렵
현재 로봇 공학 연구에서는 스웜(swarm) 또는 콜렉티브(collective)라고 하는 분산된 협력 로봇 그룹을 위한 알고리즘 및 제어 방법에 대한 방대한 작업이 있습니다. 이러한 알고리즘은 일반적으로 수백 또는 수천 대의 로봇 집단을 제어하기 위한 것입니다. 그러나 비용, 시간 또는 복잡성으로 인해 일반적으로 시뮬레이션에서만 검증되거나 수십 대의 로봇 그룹에서 검증됩니다. 이 문제를 해결하기 위해 이 백서에서는 로봇 연구원이 수백 또는 수천 대의 로봇에서 집단 알고리즘을 테스트할 수 있도록 설계된 저비용 로봇인 Kilobot을 소개합니다. 로봇의 수가 오늘날 존재하는 가장 큰 로봇보다 훨씬 더 많은 대규모 킬로봇 집단의 가능성을 가능하게 하기 위해 각 로봇은 부품으로 $ 14 $ 14 $14\$ 14 만들어지며 조립하는 데 5분이 걸립니다. 또한 로봇 설계를 통해 한 명의 사용자가 프로그래밍, 전원 켜기 및 모든 로봇의 충전과 같은 대규모 Kilobot 집단을 쉽게 작동할 수 있으며, 이는 기존의 많은 로봇 시스템으로는 수행하기 어렵거나 불가능합니다.

I. Introduction  I. 소개

A large group of decentralized closely cooperating entities, commonly called a collective or swarm, can work together to complete a task that is beyond the capabilities of any of its individuals. Many such examples can be found in nature: army ants and honeybee colonies effectively forage over large areas many kilometers wide; desert ant groups can collectively transport large irregular objects 50 times their collective weight; termite colonies construct mounds meters tall even though individuals are only a few millimeters tall themselves. These examples from nature have inspired longstanding research in collective robotics to achieve the kind of parallelism, robustness and collective capability of these natural systems.
일반적으로 집단 또는 스웜(swarm)이라고 하는 긴밀하게 협력하는 분산된 대규모 개체 그룹은 개인의 능력을 넘어서는 작업을 완료하기 위해 함께 작업할 수 있습니다. 이러한 많은 예가 자연에서 발견 될 수 있습니다 : 군대 개미와 꿀벌 식민지는 수 킬로미터 너비의 넓은 지역에서 효과적으로 먹이를 찾습니다. 사막개미 그룹은 집단 무게의 50배에 달하는 크고 불규칙한 물체를 집단적으로 운반할 수 있습니다. 흰개미 군집은 개체 자신의 높이가 몇 밀리미터에 불과하더라도 미터 높이의 둔덕을 건설합니다. 이러한 자연의 사례는 집단 로봇 공학에 대한 오랜 연구에 영감을 주어 이러한 자연 시스템의 병렬성, 견고성 및 집단 능력을 달성했습니다.
Within robotics, there is a wide range of active research topics that explore algorithms to control these robotic collectives, such as self-assembly [1], [16], [14], collective construction [4], [7], and exploration [6], [18], to name a few. Researchers commonly envision these algorithms to operate on collectives of hundreds [4], thousands [16], [14], or more [1], [12], robots; however, for reasons of cost, time, or complexity, they are generally validated in simulation only [1], [14], or on a group of a few tens of robots or fewer [5], [15]. When using a simulation to validate an algorithm for a collective of robots, it is difficult to accurately model robots’
로보틱스 내에는 자기 조립[1], [16], [14], 집단 구성[4], [7], 탐험[6], [18] 등과 같이 이러한 로봇 집단을 제어하는 알고리즘을 탐구하는 광범위한 활발한 연구 주제가 있습니다. 연구자들은 일반적으로 이러한 알고리즘이 수백 [4], 수천 [16], [14] 또는 그 이상[1], [12], 로봇에서 작동한다고 생각합니다. 그러나 비용, 시간 또는 복잡성으로 인해 일반적으로 시뮬레이션[1], [14] 또는 수십 대 이하의 로봇 그룹[5], [15]에서만 검증됩니다. 시뮬레이션을 사용하여 로봇 집합체에 대한 알고리즘을 검증할 때 로봇을 정확하게 모델링하기가 어렵습니다.
Fig. 1. Isometric (left) and bottom (right) views of a Kilobot. Some key features are: (A) Vibration motors, (B) Lithium-Ion battery, © Rigid supporting legs, (D) Infrared transmitter/receiver, (E) Three-color (RGB) LED, (F) Charging tab, and (G) Ambient light sensor. Note the 1 cm line for scale.
그림 1. Kilobot의 등각 투영 (왼쪽) 및 하단 (오른쪽) 보기. 몇 가지 주요 기능으로는 (A) 진동 모터, (B) 리튬 이온 배터리, © 견고한 지지 다리, (D) 적외선 송신기/수신기, (E) 3색(RGB) LED, (F) 충전 탭 및 (G) 주변광 센서가 있습니다. 눈금에 대한 1cm 선에 유의하십시오.

interaction with each other, such as communication and sensing, and with the environment, such as movement and collisions. This modeling difficulty can lead to disparities in algorithm behavior when operating on a simulated collective versus a real robotic collective. Additionally, operating an algorithm designed for a large collective of robots on just a few may hide scaling issues within the algorithm that can only be uncovered in a much larger collective. To better understand and validate both current and future collective control algorithms, it would be useful for these algorithms to be tested on a larger collective of real robots.
의사 소통 및 감지와 같은 상호 작용과 이동 및 충돌과 같은 환경과의 상호 작용. 이러한 모델링의 어려움은 시뮬레이션된 집단과 실제 로봇 집단에서 작동할 때 알고리즘 동작의 불균형으로 이어질 수 있습니다. 또한 소수의 대규모 로봇 집단을 위해 설계된 알고리즘을 운영하면 훨씬 더 큰 집단에서만 발견할 수 있는 확장 문제를 알고리즘 내에 숨길 수 있습니다. 현재와 미래의 집단 제어 알고리즘을 더 잘 이해하고 검증하기 위해서는 이러한 알고리즘을 실제 로봇의 더 큰 집합체에서 테스트하는 것이 유용할 것입니다.
Other research groups have also recognized the importance of a collective of robots for testing and validating algorithms; however, for various reasons, most operate collectives of a few tens of robots [10], [5], [3] or at the very most a few hundred robots [2], [11]. These collective sizes are primarily limited by robot cost and operational complexity. The cost of an individual robot is perhaps the largest limiting factor for collective size; for a fixed budget, the lower the robot price, the larger the size of the collective. For example, a popular commercially available robot, the e-puck [3], equipped with an infrared communication ring for collective operations, costs over $ 1300 $ 1300 $1300\$ 1300, and as a result, is usually operated in collectives of about 10 robots. A robot more oriented towards large scale multi-robot research is the Jasmine robot [11]. This robot costs about $ 130 $ 130 $130\$ 130 in parts and has been operated in collectives of 150 robots; however, the robot is not available for purchase.
다른 연구 그룹들도 알고리즘을 테스트하고 검증하기 위해 로봇 집단의 중요성을 인식했습니다. 그러나 여러 가지 이유로 대부분은 수십 대의 로봇[10], [5], [3] 또는 기껏해야 수백 대의 로봇[2], [11]으로 구성된 집단을 운영합니다. 이러한 집합적 크기는 주로 로봇 비용 및 운영 복잡성에 의해 제한됩니다. 개별 로봇의 비용은 아마도 집단 크기에 대한 가장 큰 제한 요소일 것입니다. 고정 예산의 경우 로봇 가격이 낮을수록 집합체의 크기가 커집니다. 예를 들어, 상업적으로 이용 가능한 인기 있는 로봇인 e-puck [3]은 집단 작업을 위한 적외선 통신 링이 장착되어 있어 비용이 많이 들며 $ 1300 $ 1300 $1300\$ 1300 , 결과적으로 일반적으로 약 10대의 로봇으로 구성된 집합체로 운영됩니다. 대규모 다중 로봇 연구를 지향하는 로봇은 재스민 로봇입니다[11]. 이 로봇은 부품 가격이 대략 $ 130 $ 130 $130\$ 130 비쌉니다.150 대의 로봇으로 구성된 집단으로 운영되었습니다. 그러나 로봇은 구매할 수 없습니다.
In addition to cost, the complexity of operating the robots, such as turning the robots on/off, charging, controlling, and
비용 외에도 로봇 켜기/끄기, 충전, 제어 및

programming the collective, also plays a role in limiting the size of the collective. For example, a common way to control the power of a robot is to have a switch on each robot to turn the robot on and off [3], [10]. If this switch takes three seconds per robot to find and flip, then it would take a single person 50 minutes to turn on a collective of 1000 robots! Furthermore, if the collective is large enough, the first robot to turn on may actually run out of power before the last robot is turned on. This manual power switch as well as other design decisions can prevent the size of the collective from scaling to large numbers.
집단을 프로그래밍하는 것은 또한 집단의 규모를 제한하는 역할을 합니다. 예를 들어, 로봇의 동력을 제어하는 일반적인 방법은 각 로봇에 스위치를 켜서 로봇을 켜고 끄는 것입니다[3], [10]. 이 스위치가 로봇 한 대당 찾아서 뒤집는 데 3초가 걸린다면, 한 사람이 1,000대의 로봇을 켤 때 50분이 걸릴 것입니다! 더욱이, 집합체가 충분히 크다면, 마지막 로봇이 켜지기 전에 첫 번째 로봇의 전원이 실제로 소진될 수 있습니다. 이 수동 전원 스위치와 다른 설계 결정은 집합체의 크기가 큰 숫자로 확장되는 것을 방지할 수 있습니다.
To make a robot scalable to large collective sizes, as described in [8], all the operations of the robot must work on the collective as a whole, and not require any individual attention to the robot, such as pushing a switch or plugging in a charging cable for each robot. In other words, all collective operations must be scalable. An example of a scalable operation on a robotic collective is the programming of the I-Swarm robots [13]. In these robots, instead of plugging in a programming cable to each robot in order to update its program, each can receive a program via an infrared communication channel. This allows an overhead infrared transmitter to program all the robots in the collective in a fixed amount of time, independent of the number of robots. Another example of scalable operations is found in [8], [11], where instead of manually plugging in each robot to a charger for battery charging, they use an automatic charging dock that allows the robots to charge themselves without human help, thus making the robot charging scalable. An example of a scalable operation regarding power control is found on the Robomote [15], and in sensor networks. Instead of powering off a robot, it is always on, but in a low power sleep state, ready to turn on if the appropriate command is received. As a result, a Robomote never has to be turned on or off manually, and the entire collective can be turned “on” in a fixed time independent of the number of robots. These sorts of scalable operations are essential for collective operations, but at the same time, they should not dramatically change the robots’ capabilities, cost, or ease of manufacturing.
[8]에서 설명한 것처럼 로봇을 대규모 집합적 크기로 확장하려면 로봇의 모든 작동이 집합체에서 작동해야 하며, 스위치를 누르거나 각 로봇의 충전 케이블을 연결하는 것과 같이 로봇에 대한 개별적인 주의가 필요하지 않아야 합니다. 즉, 모든 집단 운영은 확장 가능해야 합니다. 로봇 집단에서 확장 가능한 작업의 예로는 I-Swarm 로봇의 프로그래밍이 있습니다[13]. 이러한 로봇에서는 프로그램을 업데이트하기 위해 각 로봇에 프로그래밍 케이블을 연결하는 대신 적외선 통신 채널을 통해 프로그램을 수신할 수 있습니다. 이를 통해 오버헤드 적외선 송신기는 로봇 수에 관계없이 고정된 시간 내에 집합체의 모든 로봇을 프로그래밍할 수 있습니다. 확장 가능한 작업의 또 다른 예는 [8], [11]에서 찾을 수 있으며, 배터리 충전을 위해 각 로봇을 충전기에 수동으로 연결하는 대신 로봇이 사람의 도움 없이 스스로 충전할 수 있는 자동 충전 도크를 사용하여 로봇 충전을 확장할 수 있습니다. 전력 제어와 관련된 확장 가능한 작동의 예는 Robomote[15] 및 센서 네트워크에서 찾을 수 있습니다. 로봇의 전원을 끄는 대신 항상 켜져 있지만 저전력 절전 상태이며 적절한 명령이 수신되면 켤 준비가 되어 있습니다. 결과적으로 Robomote는 수동으로 켜거나 끌 필요가 없으며 로봇 수에 관계없이 고정된 시간에 전체 집합을 "켤" 수 있습니다. 이러한 종류의 확장 가능한 운영은 집단 운영에 필수적이지만 동시에 로봇의 기능, 비용 또는 제조 용이성을 크게 변화시켜서는 안 됩니다.
The rest of this paper introduces a new robot, the Kilobot, which is a low cost robot with fully scalable operations. This robot is designed to make testing collective algorithms on hundreds or thousands of robots accessible to robotics researchers. First we describe the hardware design of a Kilobot robot, where its low cost ( $ 14 $ 14 $14\$ 14 worth of parts) and quick assembly ( 5 min ) enable large numbers to be produced easily. While these robots are low-cost, they still have abilities similar to other collective robots. These abilities include: differential drive locomotion, on-board computation power, neighbor-to-neighbor communication, and neighbor-to-neighbor distance sensing. These abilities are achieved at low cost mainly through the use of vibration based locomotion and a simple range only sensor. Next, we discuss how the operations of a Kilobot robot, such as programming, turning power on and off, battery charging, and starting/stopping programs, do not require any individual attention by a person,
이 백서의 나머지 부분에서는 완전히 확장 가능한 작업을 수행하는 저비용 로봇인 새로운 로봇인 Kilobot을 소개합니다. 이 로봇은 로봇 연구원들이 수백 또는 수천 대의 로봇에서 집단 알고리즘을 테스트할 수 있도록 설계되었습니다. 먼저 Kilobot 로봇의 하드웨어 설계에 대해 설명하며, 저렴한 비용(부품 $ 14 $ 14 $14\$ 14 가치)과 빠른 조립(5분)으로 많은 수를 쉽게 생산할 수 있습니다. 이 로봇은 저렴하지만 여전히 다른 집단 로봇과 유사한 능력을 가지고 있습니다. 이러한 기능에는 차동 구동 이동, 온보드 계산 능력, 이웃 간 통신 및 이웃 간 거리 감지가 포함됩니다. 이러한 능력은 주로 진동 기반 이동과 간단한 범위 전용 센서를 사용하여 저렴한 비용으로 달성됩니다. 다음으로 프로그래밍, 전원 켜기 및 끄기, 배터리 충전, 프로그램 시작/중지와 같은 Kilobot 로봇의 작동이 사람의 개별적인 주의를 필요로 하지 않는 이유에 대해 설명합니다.

Fig. 2. Picture of the Kilobot arena, including overhead controller (A), control station (B), 25 robot test collective ©, and charging station (D).
그림 2. 오버헤드 컨트롤러(A), 제어소(B), 25 로봇 테스트 집단 © 및 충전 스테이션(D)을 포함한 Kilobot 경기장의 사진.

and therefore a large collective can be easily overseen by a single operator.
따라서 대규모 집합체는 단일 운영자가 쉽게 감독할 수 있습니다.

II. Kilobot Design  II.. 킬로봇 디자인

Two competing factors were considered when designing the Kilobot robot: the cost, and the functionality. The robot needs enough functionality to allow it to perform a wide variety of collective behaviors, while at the same time, it must be simple enough to keep the cost low.
Kilobot 로봇을 설계할 때 두 가지 경쟁 요소가 고려되었는데, 그것은 비용과 기능이었습니다. 로봇은 다양한 집단 행동을 수행할 수 있는 충분한 기능이 필요하며, 동시에 비용을 낮게 유지할 수 있을 만큼 단순해야 합니다.
SDASH [14], an algorithm developed to self-assemble and self-heal a collective shape, was chosen as a collective behavior to motivate the Kilobot hardware design. This rather complex behavior requires that the robots have the ability to: 1) move forward, 2) rotate, 3) communicate with nearby neighbors, 4) measure distance to nearby neighbors, and 5) have sufficient memory to run SDASH. We feel that these requirements taken from SDASH also give a good sample of robot capabilities needed for many other collective robot behaviors. Furthermore, to improve Kilobots ability to operate in large collectives, as well as to make it a more versitile robotic platform, some additional requirements beyond the five from SDASH were added. The additional requirements are that Kilobot must: measure ambient light levels, display some internal state to assist with debugging, and allow for scalable operations.
집단 형상을 자가 조립하고 자가 치유하기 위해 개발된 알고리즘인 SDASH[14]는 Kilobot 하드웨어 설계에 동기를 부여하기 위한 집단 행동으로 선택되었습니다. 이 다소 복잡한 동작을 위해서는 로봇이 1) 전진, 2) 회전, 3) 주변 이웃과 통신, 4) 주변 이웃과의 거리 측정, 5) SDASH를 실행할 수 있는 충분한 메모리가 있어야 합니다. 우리는 SDASH에서 가져온 이러한 요구 사항이 다른 많은 집단 로봇 행동에 필요한 로봇 기능의 좋은 샘플을 제공한다고 생각합니다. 또한, 대규모 집단에서 작동할 수 있는 킬로봇의 능력을 향상시키고 보다 다재다능한 로봇 플랫폼으로 만들기 위해 SDASH의 5가지 요구 사항 외에 몇 가지 추가 요구 사항이 추가되었습니다. 추가 요구 사항은 Kilobot이 주변 조명 수준을 측정하고, 디버깅을 지원하기 위해 일부 내부 상태를 표시하고, 확장 가능한 작업을 허용해야 한다는 것입니다.
While these are not the minimum set of functions needed for a collective robot, they strike a balance between what behaviors a collective of robots is capable of, and the cost of that collective. This section describes the design of the Kilobot hardware which has the functionality desired, while also keeping the price low. A general overview of the Kilobot robot is given in Fig. 1. The environment, called the “arena”, that these robots are intended to operate in, consists of a smooth, level, reflective table (e.g. a standard dry erase surface) which can be seen in Fig. 2.
이것들은 집단 로봇에 필요한 최소한의 기능 집합은 아니지만, 집단 로봇이 할 수 있는 행동과 그 집단의 비용 사이에서 균형을 이룹니다. 이 섹션에서는 원하는 기능을 제공하면서도 가격을 낮게 유지하는 Kilobot 하드웨어의 설계에 대해 설명합니다. Kilobot 로봇에 대한 일반적인 개요는 그림 1에 나와 있습니다. 이 로봇이 작동하도록 의도된 "아레나"라고 하는 환경은 그림 2에서 볼 수 있듯이 매끄럽고 평평하며 반사되는 테이블(예: 표준 드라이 지우기 표면)로 구성됩니다.

A. Locomotion  A. 운동

One important capability of the Kilobot is that it must be able to move in its environment. The most common locomotion strategy for swarm robots is to use a two-wheeled
Kilobot의 중요한 기능 중 하나는 환경 내에서 이동할 수 있어야 한다는 것입니다. 스웜 로봇의 가장 일반적인 이동 전략은 이륜차를 사용하는 것입니다

differential drive, where each wheel is powered by an electric gear motor. While this conventional wheeled locomotion is quite effective, it is relatively expensive. To keep the cost down, Kilobot uses two sealed coin shaped vibration motors for locomotion. When one of these motors is activated, the centripetal forces generated by the vibrating motor are converted to a forward force on the Kilobot located at the motor’s mounting location. The principle of converting the motor vibration to a forward force can be explained using the slip-stick principle, the details of which can be found in [17]. The slip-stick locomotion of a Kilobot was confirmed using high-speed video of the robot’s movement. Due to the off-center mounting of the two vibration motors, as shown in Fig. 1, the vibration of one motor alone will cause a rotation of the Kilobot about its vertical axis, while the vibration of the other motor will cause an opposite rotation. By controlling the magnitude of vibration for the two motors independently in a differential drive manner, the robot can move in a continuous range from clockwise rotation, to straight forward, to counterclockwise rotation. This enables the Kilobot to move approximately 1 cm / sec 1 cm / sec 1cm//sec1 \mathrm{~cm} / \mathrm{sec} and rotate approximately 45 degrees/sec.
차동 드라이브는 각 휠이 전기 기어 모터에 의해 구동됩니다. 이 기존의 바퀴 달린 운동은 매우 효과적이지만 상대적으로 비쌉니다. 비용을 절감하기 위해 Kilobot은 두 개의 밀폐형 동전 모양의 진동 모터를 사용하여 이동합니다. 이러한 모터 중 하나가 활성화되면 진동 모터에서 생성된 구심력은 모터의 장착 위치에 있는 Kilobot에서 전진력으로 변환됩니다. 모터 진동을 전방력으로 변환하는 원리는 슬립 스틱 원리를 사용하여 설명할 수 있으며, 이에 대한 자세한 내용은 [17]에서 확인할 수 있습니다. 킬로봇의 슬립스틱 이동은 로봇의 움직임을 담은 고속 영상을 통해 확인됐다. 그림 1과 같이 두 진동 모터의 중심에서 벗어난 장착으로 인해 한 모터의 진동만으로도 Kilobot이 수직 축을 중심으로 회전하고 다른 모터의 진동은 반대 회전을 유발합니다. 차동 구동 방식으로 두 모터의 진동 크기를 독립적으로 제어함으로써 로봇은 시계 방향 회전에서 직진, 시계 반대 방향 회전으로 연속 범위에서 이동할 수 있습니다. 이를 통해 Kilobot은 초당 1 cm / sec 1 cm / sec 1cm//sec1 \mathrm{~cm} / \mathrm{sec} 약 45도 동안 이동하고 회전할 수 있습니다.
One major drawback to using this low-cost slip-stick based locomotion, as opposed to wheels with encoders, is that there is no real form of odometry. This makes moving precisely over long distances or for a long time difficult. One way to address this difficulty, which harnesses the power of a collective, is to use the measured distances between neighbors as feedback to correct errors in the robot’s movement. As is shown in section II-F, this allows the robot to achieve fairly accurate motion control when aided by other robots. Another limitation to this locomotion is that it can not move over rougher surfaces, requiring a smooth surface such as a dry erase surface to work. While this does limit the environments that Kilobot can operate in, it dramatically reduces its cost, and still allows for the demonstration of many interesting collective behaviors.
엔코더가 있는 바퀴와 달리 이 저렴한 슬립 스틱 기반 이동을 사용하는 데 있어 한 가지 주요 단점은 실제 형태의 주행 거리 측정이 없다는 것입니다. 이로 인해 장거리나 장시간 이동을 정확하게 하기가 어렵습니다. 집단의 힘을 활용하는 이 문제를 해결하는 한 가지 방법은 측정된 이웃 사이의 거리를 피드백으로 사용하여 로봇 움직임의 오류를 수정하는 것입니다. 섹션 II-F에서 볼 수 있듯이, 이를 통해 로봇은 다른 로봇의 도움을 받을 때 상당히 정확한 모션 제어를 달성할 수 있습니다. 이 이동의 또 다른 한계는 거친 표면 위로 이동할 수 없기 때문에 작동하려면 건식 지우기 표면과 같은 매끄러운 표면이 필요하다는 것입니다. 이로 인해 Kilobot이 작동할 수 있는 환경이 제한되지만 비용이 크게 절감되고 여전히 많은 흥미로운 집단 행동을 시연할 수 있습니다.

B. Communication and Sensing
B. 통신 및 감지

A vast majority of collective robot algorithms use robot-to-robot communication and sensing, such as distance and bearing to neighbors, as the main information to drive the behaviors of individual robots. Therefore, it is critical that Kilobot also be able to communicate with its neighbors and sense some information about its physical relation to its neighbors. In order to keep the robot cost down, the sensing of neighbors only includes distance sensing, not bearing sensing. While bearing sensing is often used with collective robots, for example [9], distance-only sensing is still sufficient for interesting collective behaviors, including SDASH [14].
대다수의 집단 로봇 알고리즘은 로봇 간 통신 및 감지(예: 이웃과의 거리 및 방위)를 개별 로봇의 동작을 구동하는 주요 정보로 사용합니다. 따라서 Kilobot이 이웃과 통신하고 이웃과의 물리적 관계에 대한 정보를 감지할 수 있어야 합니다. 로봇 비용을 낮추기 위해 이웃 감지에는 베어링 감지가 아닌 거리 감지만 포함됩니다. 베어링 감지는 예를 들어 집단 로봇과 함께 자주 사용되지만[9], 거리 전용 감지는 SDASH[14]를 비롯한 흥미로운 집단 행동에 여전히 충분합니다.
To communicate with neighboring robots, each Kilobot has an infrared LED transmitter and infrared photodiode receiver, which are located in the center of the PCB and are pointed directly downwards at the table the Kilobot is standing on as shown in Fig. 1. Both the transmitter and receiver have an isotropic emission or reception pattern,
이웃 로봇과 통신하기 위해 각 Kilobot에는 적외선 LED 송신기와 적외선 포토다이오드 수신기가 있으며, 이는 PCB 중앙에 위치하며 그림 1과 같이 Kilobot이 서 있는 테이블을 직접 아래쪽으로 향하게 합니다. 송신기와 수신기 모두 등방성 방출 또는 수신 패턴을 가지고 있으며,

Fig. 3. Illustration showing the reflection path of robot communication.
그림 3. 로봇 통신의 반사 경로를 보여주는 그림.

which allow the robot to receive messages equally from all directions. Additionally, both the receiver and transmitter are wide-angle, with an angle of half power of 60 60 60^(@)60^{\circ} from the robot’s downward pointing vertical axis. When the transmitter is active, any nearby robot can receive the light emitted by the transmitting robot after it is reflected off the table, as shown in Fig. 3. Messages are transmitted by pulsing the transmitter according to standard line coding technique. Using this simple communication method, a Kilobot can communicate at rates up to 30 kb / s 30 kb / s 30kb//s30 \mathrm{~kb} / \mathrm{s} with robots up to 10 cm (about 6 robot radii) away.
이를 통해 로봇은 모든 방향에서 동일하게 메시지를 수신할 수 있습니다. 또한 수신기와 송신기는 모두 광각이며 로봇의 아래쪽을 향한 수직 축 60 60 60^(@)60^{\circ} 에서 절반의 전력 각도를 갖습니다. 송신기가 활성화되면 근처에 있는 모든 로봇은 그림 3과 같이 테이블에서 반사된 후 송신 로봇이 방출하는 빛을 수신할 수 있습니다. 메시지는 표준 라인 코딩 기술에 따라 송신기를 펄스하여 전송됩니다. 이 간단한 통신 방법을 사용하여 Kilobot은 최대 10cm(약 6로봇 반경) 떨어진 로봇 30 kb / s 30 kb / s 30kb//s30 \mathrm{~kb} / \mathrm{s} 과 최대 속도로 통신할 수 있습니다.
With all robots using the same infrared channel for communication, there is the possibility that two or more robots may try to transmit at the same time. To mitigate this problem a standard carrier sense multiple access with collision avoidance (CSMA/CA) method is used. Even with CSMA/CA, environments with many nearby robots will experience a reduction of the channel bandwidth due to collisions. In an experiment with 25 robots, configured as shown in Fig. 2, the channel could support on average 240 five-byte packets/second, a 32 % 32 % 32%32 \% channel usage.
모든 로봇이 통신을 위해 동일한 적외선 채널을 사용하기 때문에 두 개 이상의 로봇이 동시에 전송을 시도할 가능성이 있습니다. 이 문제를 완화하기 위해 표준 CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance) 방법이 사용됩니다. CSMA/CA를 사용하더라도 근처에 로봇이 많은 환경은 충돌로 인해 채널 대역폭이 감소하는 것을 경험하게 됩니다. 그림 2와 같이 구성된 25대의 로봇을 사용한 실험에서 채널은 채널 사용량인 32 % 32 % 32%32 \% 초당 평균 240개의 5바이트 패킷을 지원할 수 있습니다.
During any communication between robots, the receiving robot also measures the intensity of the incoming infrared light. This incoming light intensity is a monotonically decreasing function of the distance between the transmitter and the receiver; therefore the distance to the transmitter can be calculated by the receiver. In practice, the incoming intensity of light is also affected by noise and manufacturing variances, which leads to sensing accuracy of ± 2 mm ± 2 mm +-2mm\pm 2 \mathrm{~mm}, and precision under 1 mm .
로봇 간의 모든 통신 중에 수신 로봇은 들어오는 적외선의 강도도 측정합니다. 이 들어오는 광도는 송신기와 수신기 사이의 거리를 단조롭게 감소시키는 함수입니다. 따라서 송신기까지의 거리는 수신기에 의해 계산될 수 있습니다. 실제로, 들어오는 빛의 강도는 노이즈 및 제조 차이의 영향도 받으며, 이로 인해 의 감지 정확도 ± 2 mm ± 2 mm +-2mm\pm 2 \mathrm{~mm} 와 1mm 미만의 정밀도가 발생합니다.
There is also a visible light sensor on each robot, which can sense the level of ambient light shining on the robot. While this sensor is not used in SDASH, it may be useful for other collective applications such as phototaxis or collective transport.
또한 각 로봇에는 가시광선 센서가 있어 로봇에 비치는 주변광의 수준을 감지할 수 있습니다. 이 센서는 SDASH에서 사용되지 않지만 포토택시 또는 집단 운송과 같은 다른 집단 응용 분야에는 유용할 수 있습니다.

C. Controller  C. 컨트롤러

The controller for the robot serves two functions. Firstly, it interfaces with all the low-level electronics such as motors, communication, power circuitry, and the RGB LED (used for displaying information to the operator, seen in Fig. 1). Secondly, it runs a user-defined robot behavior program. The controller used is an Atmega328 microprocessor, which
로봇의 컨트롤러는 두 가지 기능을 제공합니다. 첫째, 모터, 통신, 전력 회로 및 RGB LED(그림 1에서 볼 수 있듯이 작업자에게 정보를 표시하는 데 사용됨)와 같은 모든 저수준 전자 장치와 인터페이스합니다. 둘째, 사용자 정의 로봇 동작 프로그램을 실행합니다. 사용된 컨트롤러는 Atmega328 마이크로프로세서입니다.

  1. Manuscript received September 16, 2011. This work was supported by the Wyss Institute and NSF grant CCF-0829745
    원고는 2011년 9월 16일에 받았습니다. 이 작업은 Wyss Institute와 NSF 보조금 CCF-0829745의 지원을 받았습니다.
    Michael Rubenstein is with the School of Engineering and Applied Sciences at Harvard University. mrubenst@seas. harvard. edu
    마이클 루벤스타인(Michael Rubenstein)은 하버드 대학교의 공학 및 응용 과학 대학에 재직 중입니다. mrubenst@seas. 하버드. 에듀
    Christian Ahler is with the School of Engineering and Applied Sciences at Harvard University. cahlert@seas.harvard. edu
    Christian Ahler는 하버드 대학교의 공학 및 응용 과학 대학에 재직 중입니다. cahlert@seas.하버드 에듀
    Radhika Nagpal is with the School of Engineering and Applied Sciences at Harvard University, and the Wyss Institute for Biologically Inspired Engineering. rad@eecs.harvard.edu
    Radhika Nagpal은 하버드 대학교의 공학 및 응용 과학 대학과 Wyss Institute for Biologically Inspired Engineering에서 근무하고 있습니다. rad@eecs.harvard.edu