Moving Two Particles with Shared Control Inputs Using Wall Friction

Initializing live version
Download to Desktop

Requires a Wolfram Notebook System

Interact on desktop, mobile and cloud with the free Wolfram Player or other Wolfram Language products.

How can two particles in a two-dimensional workspace, steered by the same global control signal, be moved to arbitrary final positions? This is difficult because the control input is symmetrical. This Demonstration provides an algorithm to move the particles from starting positions (denoted by squares) to the desired final positions (denoted by circles) with the shortest path, making use of boundary interactions (dark red boundaries) to break this control symmetry. The parameter controls how the particles approach the boundaries.

Contributed by: Shiva Shahrokhi and Aaron T. Becker (November 2015)
Open content licensed under CC BY-NC-SA



There are many applications for large swarms of tiny robots in robotics, biology and chemistry. These robots often lack onboard computation, actuation and communication capabilities. Instead, these “robots” are particles carrying some payload, and the particle swarm is controlled by a shared, global control input, such as a uniform magnetic gradient or electric field. In previous work, we showed that the two-dimensional position of each particle in such a swarm is controllable if the workspace contains a single obstacle the size of one particle.

Requiring a small rigid obstacle suspended in the middle of the workspace is a strong constraint, especially in three dimensions. This Demonstration relaxes that constraint and provides a position control algorithm that requires interactions only with the boundaries. Both in vivo and artificial environments often have boundaries. We assume that particles in contact with the boundaries have zero velocity if the global control input pushes the particle into the wall. This Demonstration provides a shortest-path algorithm for positioning a two-particle swarm.

The solution is a best-first search algorithm that maintains a list of possible paths (moves) sorted according to an admissible heuristic on path length. The algorithm works by expanding the path with the shortest estimated length. Expanding a path means either moving directly to the goal or pushing one robot to a wall and adjusting the relative position of the other robot. As soon as the goal is reached, the algorithm returns this shortest path.

Both the robots and their paths are shown on the left plot, while the right plot shows either the configuration space or the moves and their distances. The configuration is defined as the difference between the positions of robot 1 and robot 2. The red square represents the starting and , and the green circle represents the goal and . The green rectangle represents and configurations reachable in one move by first colliding with a horizontal wall. The blue rectangle represents and configurations reachable in one move by first colliding with a vertical wall.


[1] A. Becker, G. Habibi, J. Werfel, M. Rubenstein and J. McLurkin, “Massive Uniform Manipulation: Controlling Large Populations of Simple Robots with a Common Input Signal,” in 2013 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Tokyo, Japan: IEEE, 2013 pp. 520–527. doi: 10.1109/IROS.2013.6696401.

[2] S. Shahrokhi, A. Mahadev and A. Becker, "Algorithms for Shaping a Particle Swarm with a Shared Input Using Non-Slip Wall Contacts," in 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), forthcoming.

Feedback (field required)
Email (field required) Name
Occupation Organization
Note: Your message & contact information may be shared with the author of any specific Demonstration for which you give feedback.