Moving Two Particles with Shared Control Inputs Using Wall Friction

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.


  • [Snapshot]
  • [Snapshot]
  • [Snapshot]


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.
    • Share:

Embed Interactive Demonstration New!

Just copy and paste this snippet of JavaScript code into your website or blog to put the live Demonstration on your site. More details »

Files require Wolfram CDF Player or Mathematica.

Mathematica »
The #1 tool for creating Demonstrations
and anything technical.
Wolfram|Alpha »
Explore anything with the first
computational knowledge engine.
MathWorld »
The web's most extensive
mathematics resource.
Course Assistant Apps »
An app for every course—
right in the palm of your hand.
Wolfram Blog »
Read our views on math,
science, and technology.
Computable Document Format »
The format that makes Demonstrations
(and any information) easy to share and
interact with.
STEM Initiative »
Programs & resources for
educators, schools & students.
Computerbasedmath.org »
Join the initiative for modernizing
math education.
Step-by-Step Solutions »
Walk through homework problems one step at a time, with hints to help along the way.
Wolfram Problem Generator »
Unlimited random practice problems and answers with built-in step-by-step solutions. Practice online or make a printable study sheet.
Wolfram Language »
Knowledge-based programming for everyone.
Powered by Wolfram Mathematica © 2018 Wolfram Demonstrations Project & Contributors  |  Terms of Use  |  Privacy Policy  |  RSS Give us your feedback
Note: To run this Demonstration you need Mathematica 7+ or the free Mathematica Player 7EX
Download or upgrade to Mathematica Player 7EX
I already have Mathematica Player or Mathematica 7+