Configuration Control for Physical Coupling of Heterogeneous Robot Swarms

by   Sha Yi, et al.
Carnegie Mellon University

In this paper, we present a heterogeneous robot swarm system that can physically couple with each other to form functional structures and dynamically decouple to perform individual tasks. The connection between robots can be formed with a passive coupling mechanism, ensuring minimum energy consumption during coupling and decoupling behavior. The heterogeneity of the system enables the robots to perform structural enhancement configurations based on specific environmental requirements. We propose a connection-pair oriented configuration control algorithm to form different assemblies. We show experiments of up to nine robots performing the coupling, gap-crossing, and decoupling behaviors.



page 1

page 5

page 6


PuzzleBots: Physical Coupling of Robot Swarms

Robot swarms have been shown to improve the ability of individual robots...

Behavior coordination for self-adaptive robots using constraint-based configuration

Autonomous robots may be able to adapt their behavior in response to cha...

PogoDrone: Design, Model, and Control of a Jumping Quadrotor

We present a design, model, and control for a novel jumping-flying robot...

ROS and Buzz: consensus-based behaviors for heterogeneous teams

This paper address the challenges encountered by developers when deployi...

LaMMos - Latching Mechanism based on Motorized-screw for Reconfigurable Robots and Exoskeleton Suits

Reconfigurable robots refer to a category of robots that their component...

Dynamically Reconfigurable Discrete Distributed Stiffness for Inflated Beam Robots

Inflated continuum robots are promising for a variety of navigation task...

Achieving Non-Uniform Densities in Vibration Driven Robot Swarms Using Phase Separation Theory

In robot swarms operating with severely constrained sensing and communic...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

I Introduction

In unstructured environments, ants form and adapt functional structures dynamically in response to obstacles, gaps, and holes [reid2015army]. Inspired by these animals, robot swarms perform collective behaviors and accomplish complex tasks that a single robot is not capable of. In this paper, we build on our previous work that introduced PuzzleBots [yi2021puzzlebots] - a reconfigurable robot swarm system with a passive coupling mechanism, and present extensions on structural enhancement configuration control.

Existing robot swarms, or Multi-Robot System (MRS) platforms [pickem2017robotarium, rubenstein2012kilobot] have demonstrated collective and decentralized collaboration, but the robots do not physically interact with each other - physical abilities of the robots remain the same as a single robot. In the modular robot systems, individual units are equipped with active mechanical structures to couple and form various structures [tosun2016Design, romanishin2013Mblocks, liang2020freebot, gross2006autonomous, haghighat2015lily]. The most common method for dynamic coupling is performed by magnetic forces [tosun2016Design, romanishin2013Mblocks, liang2020freebot, saldana2019design]. This may consume high energy during the coupling or decoupling process, and also has limited load-carrying capabilities. In addition, the magnets are directional, limiting the formation of the robots and introducing complexity in controlling and planning algorithms. In most modular robot systems, each connection is connected via a single contact point/face. Single connection is more fragile compared with multiple connections when encountering complex environments [luo2019minimum]. Reconfiguration algorithms for pre-connected modular robot systems focus on graph topology reconfiguration [liu2020motion, liu2019distributed, hou2014graph]. Modular robots that have limited mobility reconfigure based on motion primitives [vassilvitskii2002complete] or grid-based setup [claici2017distributed, saldana2017decentralized]. These methods restrict the formation and are ineffective with systems where robots have individual mobility and no strong connection with each other.

In PuzzleBots [yi2021puzzlebots], we presented a passive coupling mechanism where each robot has knobs and holes. PuzzleBots can couple with each other by pushing the knobs into the holes of the other robot when initially aligned, cross a gap, and decouple to perform individual tasks. The passive coupling mechanism does not consume any additional power compared to active coupling mechanisms. While the initial design with four active wheels helps the robots climb onto a platform, it limits their mobility to perform precise motions. In this paper, we focus on the following challenges: 1) improve the existing hardware platform to achieve precise motion while maintaining the gap-crossing capability, 2) reduce fragility of single-connection assembly, 3) develop a planning and control algorithm to achieve a given configuration when robots do not start from aligned positions.

Figure 1: Four robots form a mesh configuration to cross a gap between two platforms.

We provide solutions to the challenges mentioned above by a heterogeneous robot swarm system and a connection-pair-oriented configuration control algorithm. In this paper, we assume the target configuration is given by the user and the goal of the robots is to align and form this predefined configuration. To improve the gap-crossing performance, we introduce a heterogeneous system containing pilot robots and non-pilot robots. Pilot robots have the same design as [yi2021puzzlebots] that helps climbing onto platforms. Non-pilot robots have caster wheels that enables precise control in both linear velocity and angular velocity. This heterogeneous system utilize the advantages of both designs while minimizing the drawbacks. Based on this, we propose a connection-pair oriented configuration control algorithm with which robots can form given configurations from unaligned positions. Due to the passive coupling mechanism, the connection between robots in [yi2021puzzlebots] can be fragile and sensitive to disturbances. Borrowing the k-connectivity concept from graph theory, we introduce the mesh assembly shown in Figure 1, where robots can couple in two dimensions to strengthen the connection pairs formed in one direction. Experiments show that the mesh configuration helps maintain a stable assembly formation and increases the strength of the connection.

The outline of the paper is as follows. First, we discuss the problem setup of what the robots are expected to achieve in Section II. Then, in Section III, we present our connection-pair-oriented configuration control algorithm that drives the robots to a given coupled configuration. Next, in Section IV, we present our heterogeneous system consisting of pilot robots and non-pilot robots. Finally, experiments of up to nine robots with line and mesh formation to cross gaps of different sizes, as well as calibration and a behavior sequence demonstration, are presented in Section V.

Ii Problem Formulation

Consider a set of robots on a 2D plane. Denote the poses of the robots as , where each robot pose consists of its coordinates in and axis, and its heading angle, i.e. . The control of the robots is based on unicycle model where the control input consists of linear velocities and angular velocities, i.e. . The transition equation [lavalle2006planning] is defined as

Figure 2: (a) PuzzleBot with eight connection points shown as blue dots and the robot frame (O), world frame (W), and connection point frame (C); (b) Two possible connection configuration for two robots.

Our heterogeneous system consists of two type of robots - pilot and non-pilot robots. The two type of robots are different in wheel design but follow the same dynamics in Equation (1). Details will be introduced in Section IV. All robots have the same body with two knobs and two holes on each side to provide passive coupling behavior [yi2021puzzlebots]. The knobs on one robot can be inserted into the holes of another robot to couple. To parametrize each coupling pair, we define eight connection points on the robot body as shown in Figure 1(a). Define the connection point set of robot as . Robot and robot are coupled when , forming one or more connection pairs. Each connection pair uniquely defines a coupling configuration, while each coupling configuration may have multiple connection pairs as shown in Figure 1(b). Define an assembly as a group of successfully coupled robots. An assembly consists of two or more robots and the relationship of their connection pairs.

The goal configuration consists of relative poses on the 2D plane, i.e. is the same goal configuration as where is a rigid transformation on the 2D plane. To form functional assembly structures, robots in the goal configuration are coupled, i.e. for each robot in , there exist a robot whose . This coupling constraint on the goal configuration is particularly challenging since a simple go-to-goal controller cannot guarantee the coupling behavior or the alignment of the connection pairs. We will introduce our connection pair oriented configuration control algorithm to solve this problem in section III.

Iii Methodology

In this section, we will present three aspects of the configuration control based on connection pairs. Section III-A introduces a PID based controller that aligns a single pair of connection points. Then the formation of a two-robot assembly, which serves as a basis for multiple connection pair alignment, is defined in section II. Section III-B introduces an optimization-based control for an assembly to reach individual goals while maintaining in-assembly connection pairs. The last section III-C presents our connection pair based configuration control algorithm. Heterogeneity of the system will be discussed in section IV.

Iii-a Single Connection Pair Alignment

As shown in Figure 1(a), the robot body frame is defined as , and the contact frame of a connection point is defined as . The frame and frame have the same orientation. Note that the frame is a general representation of a contact frame but not a specific connection point on a robot. Given a target connection pair alignment and of the robots and respectively, where , denote the position of in and axis in world frame as . The heading angle of is , aligned with the robot frame. For robot , the controller for connection pair alignment is


where is the pseudo-inverse of in Equation (1). is wrapped into . is an angle bias added when the connection pair will lead the robots to align side-by-side. This will help the robot to push its knob into the hole of the other robot. Similarly, is computed accordingly as in Equation (2). Note that not any given set of connection pair can be aligned due to local minima with this Jacobian pseudo-inverse method. For example, for the two robots in Figure 1(b), it will be infeasible if the connection point on the left robot is on the left side of the robot body. In our setting, we assume robots only start from feasible positions with respect to a given connection pair.

Iii-B Connection Pair Maintenance

Once one or more connection pairs are aligned in the system, we study the motion of an assembly - how to reach another configuration while maintaining current connection pairs within an assembly. Consider a given target control input for an assembly. The assembly consists of one or multiple connection pair(s) already aligned. We aim to find the control that minimizes while maintaining the connection pairs within the assembly. We formulate this problem as a quadratic programming (QP) problem with linear constraints. Define the homogeneous transformation from the world frame to the contact frame of robot to be . We have , where is constant for a given connection point. Denote

and when applying over time ,

By calculating and extracting the translational component of

, the position vector


Consider as a very small value, we may perform Taylor expansion around to linearize the above equation as


To simplify the notation, denote as and as , the position vector becomes


The connection pair constraint on robot and is defined as


We may stack all the connection pair constraints in Equation (6) in an assembly in one equation . The connection pair maintenance problem then becomes


Iii-C Connection Pair Based Configuration Control

Figure 3: (a) Two convex assemblies couple to form a larger assembly. (b) One robot cannot couple with a concave assembly.

As defined in section II, given a goal configuration , we aim to provide a solution for the robots to reach this goal configuration. During the process of assembling into the goal configuration, a sequential constraint exists - concave assemblies may not be able to assemble into one larger assembly due to the knobs blocking each other. For example, in Figure 2(a), two convex assemblies, each formed by two robots, are able to couple and form a larger assembly of four robots. However, in Figure 2(b), one robot tries to couple with a concave assembly of three robots, but the knobs block its motion. In the algorithm to be introduced in Section III-C, we plan to avoid forming concave assemblies by prioritizing convex assemblies first.

1:: input poses
2:: connection pairs
4:function findExistPairs()
5:      constructGraph() based on distance
6:      getMinimumSpanningTree()
7:     for vertex and in  do
8:         [, ] findMinDistancePair(, )
9:         [(, )] = [, ]      
10:     return
Algorithm 1 Find Existing Connection Pairs

The connection pair assignment is shown in Algorithm 2. First, we align the center of the input goal configuration with the current robot poses as


where is the mean of . We then find the connection pair assignment based on the goal configuration as shown in Algorithm 1. In Algorithm 1, we find the connection pairs based on an existing configuration. This input robot poses assumes the robots are already aligned. First, we construct a fully connected graph where the vertices are the location points in and the edge weights are the distances between the vertices. We then find the Minimum Spanning Tree (MST) based on this distance-induced graph. This provides information on the minimum connection pairs to monitor in order to maintain the current configuration . Then for each edge, we loop through all combinations of connection points on the two vertices of this edge to find the one with minimum distance. With this information in Algorithm 2, we obtain the connection pairs needed to form the goal configuration . The pairs are then sorted based on the distance between the robot poses in . Notice that the concave assembly is only formed with mesh configuration, and line formation can only form a convex assembly. Two robots in mesh configuration always have a distance of times the body length between each other, which is larger than that of the distance in the line configuration. By sorting the distance between robot poses, we can guarantee that convex assemblies are always formed before the concave assemblies. We then calculate the distance matrix between and . Each element in the distance matrix is calculated as . Hungarian algorithm [kuhn1955hungarian] is then used to find the minimum sum of distance assignment between the shifted goal configuration and the current robot poses. Finally, the resulting assignment is mapped to the sorted goal configuration pairs.

1:: goal configuration, : robot poses
2:: connection pair assignment
3:function assignConnectionPairs(, )
4:      alignCenter(, )
5:      findExistPairs()
6:      sortPairs(, ) based on distance
7:      getDistanceMatrix(, )
8:      HungarianAlgorithm()
9:      updatePairAssignment(, )
10:     return
Algorithm 2 Connection Pair Assignment

The configuration control algorithm is shown in Algorithm 3. It takes in a goal configuration and outputs the control input for the robots to execute. During the process, we maintain the information of 1) busy vector where represents if robot is currently aligning an active connection pair, 2) already connected pairs, denoted as ; 3) the active connection pairs that are currently being executed. First, we obtain the goal connection pairs to be executed, denoted as with Algorithm 2. To maintain a dynamic connection between the robots, we will updated the connection pairs in with Algorithm 1. Then we check if any new connection pair can be executed, as in the single pair alignment in Section III-A and the target control input obtained in this step is denoted as . Note that, only the robots that have active connection pairs to execute are assigned with target control input. Therefore, for already connected pairs, e.g. , if robot is , the target control input for robot becomes to mimic the motion of the leading robot in this connection pair. To limit the influence of uncertainties in the hardware actuation, we incorporate a connection bias in the control signal to further maintain the already connected pairs. For each robot , the connection bias is

The optimal control input is then obtained from Equation (7). Finally, we find the already aligned connection pairs in the current execution set . The connected pairs are removed, and the robots return to non-busy status. Depending on the structure of the configuration, the best case run time of this algorithm is while the worst case is .

1:: goal configuration, : robot poses, : threshold
2:: control input
3:[False, …], ,
4:function ConfigurationControl(, )
5:      assignConnectionPairs(, )
6:     for  in  do
7:         update connection pairs      
8:     for (, ) in  do
9:         if , not busy then
10:              .append((, ))
11:              [] = True, [] = True               
12:      alignConnectionPairs(, )
13:      for each
15:     ,
16:     for (, ) in  do
17:         if distance between connection pairs  then
18:              .remove((, ))
19:              [] = False, [] = False
20:              ,               
21:     return
Algorithm 3 Connection Pair Based Configuration Control

Iv Hardware Setup

Each PuzzleBot is equipped with onboard power, computation, communication, and actuation. The circuit design remains the same as in the previous version of the PuzzleBots [yi2021puzzlebots]. Each robot is equipped with four trackers for indoor localization via the Vicon motion tracking system. The robots, Vicon, and a central computer are connected within the same WiFi network. The central computer computes the command velocity and sends it to each robot to execute.

In the previous version of the PuzzleBots, each robot has two wheels on each side, four wheels in total. The two wheels are controlled by one motor via a double reduction gear set. This four-wheeled setup successfully demonstrated the ability to climb onto a platform when crossing a gap. However, their mobility is limited due to friction. The robot can freely move forward and backward but has limited rotation ability. This highly restricts the robots’ performance of achieving precise poses. Therefore, we modified the design by adding two caster wheels in the front and back while replacing the two wheels on each side with only one. The new robot design is shown in Figure 3(c). While the caster wheels successfully solve the problem in rotation and enable the robot to do high-precision tasks, the gap-crossing behavior becomes limited. Since the caster wheels are not actuated, the robot cannot climb onto the platform when the caster wheel reaches the other side of the gap. Thus, we propose a heterogeneous robot swarm system that consists of two types of robots: pilot robots and non-pilot robots. The pilot robot is a four-wheeled robot, and the non-pilot robot is the one with casters and side wheels. As shown in Figure 4, the wheels of the pilot robot will help to climb onto a platform, while the flexibility of the non-pilot robot enables the system to form complex configurations and perform high-precision tasks.

Figure 4: Pilot robot: (a) side view, (b) bottom view. Non-pilot robot: (c) side view, (d) bottom view.

The electronics board on the pilot and non-pilot robot is the same. The control of these two kinds of robots also remains the same, i.e., both follow the differential drive model. The linear velocity is linearly proportional to the left and weight wheel average velocity. The angular velocity is linearly proportional to the velocity difference between the right and left wheels. Denote the left and right motor Pulse-width modulation (PWM) signal as , . The motor rotational speed is linearly proportional to the PWM signal with a fixed load. We parametrize the velocity equation for each robot as


From experiments, each robot needs a start-up torque to move. Denote the corresponding PWM signal as , and a maximum PWM as . With a given control input , we compute

where and are weight parameters for linear and angular velocities respectively. The difference of controlling the pilot and the non-pilot robot lies in their parameters of the control feasibility region, which is the constraints in Equation (7). We will present the calibration of the feasibility region in Section V-A as well.

V Experiments and Results

The system consists of several PuzzleBots, a Vicon localization system, and a central computer within the same network. The algorithm is first tested in simulation in CoppeliaSim[coppeliaSim] with the Vortex Studio111 as the physics engine for concave objects. We conducted three sets of experiments: Section V-A presents the hardware calibration of the pilot and non-pilot robots. Section V-B shows a set of screenshots from a video sequence where three non-pilot robots and one pilot robot couple into a mesh configuration, cross a gap and decouple on the other platform. The last Section V-C presents quantitative results of the gap-crossing performance based on the line and mesh configuration.

V-a Robot Calibration

(a) Non-pilot robot linear velocity
(b) Non-pilot robot angular velocity
(c) Pilot robot linear velocity
(d) Pilot robot angular velocity
(e) Non-pilot robot constraints
(f) Pilot robot constraints
Figure 5: Calibration results of non-pilot and pilot robot. (a) - (d): linear and angular velocities with respect to PWM input (0 to 255). (e) (f): feasibility region in terms of of the non-pilot and pilot robots.

Robots are commanded with a combination of different motor PWM signals for a period of time, and the Vicon software records the poses. Due to the noise, the velocity obtained directly from two consecutive poses is unusable. Thus, we average the linear and angular velocity across a longer period of time (several seconds). We calculated the mean and difference of the left and right PWM signals, and the result is shown in Figure 5. The parameters obtained from the experiments are , , , . Figure 4(a) and 4(c) show that with the same motor mean, the robot has higher linear velocity when the angular velocity is small. As shown in Figure 4(e) and 4(f), the feasibility region of the non-pilot and pilot when the linear velocity is positive is shown in the polygon. The points obtained from the experiment are projected along the axis based on symmetry. Similarly, the polygon is projected onto the negative plane. The point and point are the critical points defining the polygon. We manually label and by observation, and the polygon region defined by and is recorded. In our experiment, we have , , , . The non-pilot robot is able to rotate in high angular velocity with low linear velocity, while the pilot robot requires a large linear velocity to rotate. The steering distance for the pilot robot to turn is thus larger, making it difficult to perform the coupling behavior, which requires precise rotation. Therefore, a combination of both robots can utilize the flexibility of the non-pilot robot, as well as the climbing wheels of the pilot robot.

V-B Combined Behavior Sequences

Figure 6: Screenshots of four robots coupling to form a mesh configuration, crossing the gap, and decouple.

As shown in Figure 6, the four robots - three non-pilot robots shown in grey and one pilot robot shown in blue, start from unaligned positions on the left platform. The two platforms have a height difference of 5 mm, and the gap size is 40 mm. Due to the large steering distance of pilot robots, they are not given a velocity command until they are coupled with non-pilot robots, which is embedded in the algorithm. In this case, we see that the robots are able to first form two line assembly based on the connection pair assignment and then come together to form a mesh configuration. They are able to cross the gap and reach the other platform, and eventually decouple with each other.

V-C Gap-crossing Performances

(a) Line configuration
(b) Mesh configuration
(c) Line configuration
(d) Mesh configuration
(e) Line configuration
(f) Mesh configuration
Figure 7: Result of various number of robots crossing a gaps with 6 mm height difference, and heading angle. (a) (b) Maximum gap size the line/mesh configuration assembly can cross against the number of robots; (c) (d) Maximum gap size compared with the entire line/mesh assembly length, against the number of robots; (e) (f) Average number of robots that crossed a gap length = length of the line/mesh assembly, against the number of robots.

We performed experiments of various number of robots, with line and mesh formation, of different lengths of gaps with 6 mm height difference. The robots are coupled with a heading angle of . These two numbers are chosen based on the experiments in [yi2021puzzlebots] that 6 mm is a medium height difference and is the heading angle that gives the best performance compared with other heading angles in most of the experiments. We tested a system of 1, 2, 4, 6, 8, 9 robots with gaps lengths ranging from 10 mm to 105 mm, with 5 mm increment. Each experiment is recorded five times. We record the number of robots successfully reach the other platform. The result of the experiments is shown in Figure 7.

Figure 6(a) and 6(b) show that the robots in either line or mesh formation maintain the gap-crossing ability as in [yi2021puzzlebots], and can cross larger gaps with more than eight robots compared with [yi2021puzzlebots]. The line formation is able to cross larger gaps with a small number of robots compared with the mesh formation. The reason is that the total length of the assembly is longer when the robots form a line compared with a mesh. As seen in Figure 6(c) and 6(d), the robots in mesh formation can cross gaps with length of larger percentage of the assembly length. For example, eight robots with two pilots are able to cross a gap their assembly length, while the same robots in line formation can only cross a gap of its assembly length. Since the coupling mechanism will introduce a small height drop of the robots, forming a mesh configuration will lock and strengthen the connection, thus giving a better performance. Robots with a pilot in the back outperform assembly without a pilot robot since the wheels of the back pilot robot provide additional pushing force for the assembly to cross a gap. A pilot robot in the front performs better compared with a back pilot since the gear wheels of the pilot robot help itself to climb onto the platform. Overall, the assembly with both front and back pilot outperforms other settings. Figure 6(e) and 6(f) show the average number of robots that crossed a given gap size of length of the entire assembly. The error bars mark the minimum and the maximum number of robots that crossed in this setting. We observe that with the mesh configuration, all robots can cross the gap in most cases. Although in some cases, the system with two pilots line formation has less robots that crossed, the best case of the two-pilot system has more robots that crossed compared with the other settings.

Vi Conclusions and Future Works

In this paper, we proposed a heterogeneous robot swarm system consists of pilot robots helping climb onto platforms and non-pilot robots providing flexible motions to form functional configurations. Based on our proposed system, we developed the connection-pair-oriented configuration control algorithm, enabling the robots to form various coupling configurations. Our currently approach relies heavily on the motion capture system, limiting the robots to only indoor lab environment. Further studies would include sensor integration, motions on uneven terrains, optimality and scalability analysis on the algorithm, dynamic reconfiguration, and automatic configuration generation based on different tasks and environments.