A strategy for transporting tall objects with a swarm of miniature mobile robots
Jianing Chen, Melvin Gauci and Roderich Groß
Abstract
This research proposes a strategy for transporting a tall, and potentially heavy, object to a goal using a large number of miniature mobile robots.
The robots move the object by pushing it, and hence, are not required to have any manipulation capabilities (eg gripping).
The direction in which the object moves is controlled by the way in which the robots distribute themselves around its perimeter. If the robots dynamically reallocate themselves around the section of the object's perimeter that occludes their view of the goal, then the object will eventually be transported to the goal.
This strategy is fully distributed, and makes no use of communication between the robots.
A controller based on this strategy was implemented on a swarm of 12 physical e-puck robots. A systematic experiment with 30 randomised trials was performed. The object was successfully transported to the goal in all the trials.
On average, the path the object was moved was about 7.7% longer than the shortest path.
Highlight video
State flow diagram
In this strategy, making more robots push along the occluded side of the object does not only increase the pushing power, it also stabilises the moving direction of the object. These four movements are the key motions to achieve a uniform and tight pushing formation.
Motion controller
Block diagram
Weight matrices
S1. Search object (avoiding)
nS | 0.7 | |||||||
---|---|---|---|---|---|---|---|---|
nD | 0 | |||||||
SR | -0.25 | -0.25 | 0 | 0 | 0 | 0 | -0.25 | -0.25 |
SA | -0.125 | -0.125 | 0 | 0 | 0 | 0 | -0.125 | -0.125 |
DR | 4.25 | 3.75 | 1 | 2 | -2 | -1 | -3.25 | -3.5 |
DA | 2.125 | 1.875 | 0.5 | 1 | -1 | -0.5 | -1.625 | -1.75 |
S2. Move to object (avoiding)
nS | 0.7 | |||||||
---|---|---|---|---|---|---|---|---|
nD | 0 | |||||||
SR | -0.75 | -0.25 | 0 | 0 | 0 | 0 | -0.25 | -0.625 |
SA | -0.25 | -0.25 | 0 | 0 | 0 | 0 | -0.25 | -0.25 |
DR | -0.75 | -0.25 | 0 | 0 | 0 | 0 | -0.25 | -0.625 |
DA | 4.25 | 3.75 | 1 | 2 | -2 | -1 | -3.25 | -3.5 |
S3. Close in on object (robot avoiding and object following)
nS | 0.6 | |||||||
---|---|---|---|---|---|---|---|---|
nD | 0 | |||||||
SR | -0.75 | -0.25 | 0 | 0 | 0 | 0 | -0.25 | -0.625 |
SA | -0.25 | -0.25 | 0 | 0 | 0 | 0 | -0.25 | -0.25 |
DR | -3.25 | -2.25 | -1 | 0 | 0 | 0.25 | 0.75 | 2.625 |
DA | 4.25 | 3.75 | 1 | 2 | -2 | -1 | -3.25 | -3.5 |
S5. Push object (robot avoiding and object following)
nS | 0.5 | |||||||
---|---|---|---|---|---|---|---|---|
nD | 0 | |||||||
SR | -0.125 | 0 | 0 | 0 | 0 | 0 | 0 | -0.125 |
SA | -0.25 | -0.375 | 0 | 0 | 0 | 0 | -0.375 | -0.25 |
DR | -1.875 | -1 | 0 | 0 | 0 | 0 | 1 | 1.875 |
DA | 1.5 | 0.125 | 0 | 0 | 0 | 0 | -0.125 | -1.5 |
S6. Move around object (left-hand wall following)
nS | 0.1 | |||||||
---|---|---|---|---|---|---|---|---|
nD | 0.7 | |||||||
SR | 0 | 0 | 0 | 0 | 0 | 2.375 | 1.5 | 0 |
SA | 0 | 0 | 0 | 0 | 0 | 1.5 | 0.5 | 0 |
DR | 0 | 0 | 0 | 0 | -1 | -3.625 | -6 | -5 |
DA | 0 | 0 | 0 | 0 | -1 | -1.5 | -2.5 | -3 |
S7. Evade (repulsive motion)
nS | 0 | |||||||
---|---|---|---|---|---|---|---|---|
nD | 0 | |||||||
SR | -0.75 | -0.375 | 0 | 0.625 | 0.625 | 0 | -0.375 | -0.75 |
SA | -0.75 | -0.375 | 0 | 0.625 | 0.625 | 0 | -0.375 | -0.75 |
DR | 0.25 | 0.125 | 0 | 0.125 | -0.125 | 0 | -0.125 | -0.25 |
DA | 0.25 | 0.125 | 0 | 0.125 | -0.125 | 0 | -0.125 | -0.25 |
Experiment videos
- Trial 1
- Trial 2
- Trial 3
- Trial 4
- Trial 5
- Trial 6
- Trial 7
- Trial 8
- Trial 9
- Trial 10
- Trial 11
- Trial 12
- Trial 13
- Trial 14
- Trial 15
- Trial 16
- Trial 17
- Trial 18
- Trial 19
- Trial 20
- Trial 21
- Trial 22
- Trial 23
- Trial 24
- Trial 25
- Trial 26
- Trial 27
- Trial 28
- Trial 29
- Trial 30