ARGOS LAB Start with an idea

02 / Motion · Beginner

Artificial
Potential Fields.

Can local decisions find a way through?

Three agents share a destination.
Each combines a command toward the goal with commands away from nearby surfaces.

Try the experiment
01 / Add4.8 m/s

Goal contribution. Peer pushes cancel.

02 / Limit1 m/s

The speed cap limits the command.

03 / Move2 cm

A2 moves toward the goal in 0.02 s.

Worked example · A2 at the start of the corridor · reference gains
Walls are outside repulsion range. Arrows are schematic velocity contributions, not physical forces.

A browser simulation of planar motion. The 3D drones show the same disk model; there is no flight physics or live execution.

Before you begin

If the commands cancel,
what happens next?

A route may exist even when the local rule cannot find it. Predict what the agents will do inside a U-shaped trap.

Explore the four questions
Method & assumptionsReactive local rule · known map · exact nearby peer sensing
Synchronous 0.02 s steps · no message network
Algorithm / variant
Artificial Potential Fields

Quadratic goal attraction plus finite-range inverse-clearance repulsion, adapted to velocity commands.

Decision architecture
Decentralized · reactive

Each agent uses its own position, a preloaded goal/map, and nearby peer positions. No shared route planner.

Update timing
Synchronous · discrete time

All commands read the previous state. Position advances by velocity × 0.02 s.

Sensing / communication
Ideal local peer sensing

Peers within 0.7 m surface clearance are sensed exactly. The static obstacle map is known. No message network is modeled.

Execution: one browser simulation of planar kinematics. The 3D view places detailed quadrotors at a fixed 0.65 m display height above the same x/y footprint. Extruded capsule walls match the map. There is no vertical escape, acceleration limit or flight physics.

01 / Try it

A direction at every step.

Paused
Open corridor
Goal attraction Wall repulsion Agent separation Capped velocity

Select an agent to inspect its decision. Arrows are capped for legibility; the table gives exact velocity components. Map distances are in metres.

Simulated time0.00 sStep 0 / 2,000
Inside goal region0 / 3All three required for success
Farthest from goal8.02 mCentre distance; goal radius 0.8 m
Minimum clearance0.36 mSwept surfaces over the entire run

The experiment is paused. Predict, then advance one model step.

Watch the distance

Progress toward the goal

Maximum centre distance · m

Dashed line: the 0.8 m goal radius. Near-zero speed alone does not establish arrival.

Look inside

Agent A1’s decision

The controller receives its own position, the goal, the known map and nearby peer positions. Arrival, clearance and stall are evaluator measurements.

Evaluator state · all positions in model metres. Global arrival, minimum clearance and stalled status are not controller inputs.
AgentxyGoal distancePath travelledInside goal?

02 / Follow a question

Arrive. Stall. Collide.
What makes the difference?

Change one condition. Inspect how the outcome changes.

Open fieldOpen corridor 01 / Environment

Same rule. Different walls.

Compare open ground with a corridor. Look at the paths and the contribution of the walls.

Local balanceGoal 02 / Local trap

A way out. No plan to find it.

The U opens to the left; the goal is on the right. Can local contributions guide the agents back out and around?

Separation offContact 03 / Peer repulsion

What keeps agents apart?

Turn off agent separation on open ground. Do their disks touch before reaching the goal?

Wall repulsion offWall stays 04 / Wall repulsion

The wall is still there.

Turn off wall repulsion in the U. Compare the outcome with the trapped run: does moving forward solve the problem?

Guided cases load the reference gains, then apply only the stated change. Each starts paused. Diagrams are schematics, not recorded trajectories.

Compare measured reference runs Arrival · stall · collision

Computed with this model and a maximum budget of 2,000 steps. Each run stops at its first evaluated outcome. Results do not change your current run.

Minimum clearance measures surface-to-surface distance over swept motion, including agent pairs and walls.
ExperimentOutcomeStepTimeInside goalMin. clearance

03 / Go deeper

Add directions.
Take a small step.

The goal points one way; nearby surfaces point away. Each agent adds these velocity contributions, caps the speed, then moves for 0.02 s.

One agent, one step

At the start, A2 is at (−4, 0). The goal contribution is (4.8, 0) m/s. Peer contributions cancel and the walls are out of range.

1 m/s × 0.02 s = 2 cm

After the speed cap, A2 reaches (−3.98, 0) in one step.

Read the rule, assumptions & source
ugoal = kgoal (g − p)
urep = η (1/d − 1/d₀) n / d²   if 0 < d < d₀
v = limit(ugoal + ∑ uwall + ∑ upeer, 1 m/s)
p[k + 1] = p[k] + 0.02 v[k]
p, g · metres
The agent position and goal centre.
d, d₀ · metres
Surface clearance and influence distance: 1 m for walls, 0.7 m for peers. Repulsion is zero beyond d₀.
n
A unit vector pointing away from the wall or neighboring disk.
kgoal, η
Attraction gain in s⁻¹; repulsion gains in m⁴/s for this velocity formulation.

What counts as success?

All three agent centres must be within 0.8 m of the goal centre, with no swept contact. Agents are disks of radius 0.12 m; wall segments have radius 0.10 m. Contact stops the run as a collision.

What counts as stalled?

For 100 consecutive updates, all speeds stay below 0.005 m/s and the maximum goal distance changes by less than 0.01 m, with arrival still incomplete. This measured criterion is not a proof that every small perturbation must stay trapped.

Primary method source: Oussama Khatib (1986), Real-Time Obstacle Avoidance for Manipulators and Mobile Robots ↗. This page implements the stated velocity-controller adaptation, with no global path search or guarantee of collision avoidance or arrival.

These are velocity commands, not physical forces. Local avoidance gives no general guarantee of arrival or collision avoidance. A stopped agent has not necessarily reached its goal.

Keep the thread

Moving locally.
Planning ahead.

Explore how A* searches a known map before the agent moves, in a separate grid-based experiment.

Explore A* path planning