Skip to content
ARGOS LAB Start with an idea

The workshop library

Find your next question.

Explore an idea, change a condition and see what follows. Every workshop includes explanations, an experiment and its limits.

New to robotics? Start here

23ways to explore

23 workshops

01

Coordination

Distributed average consensus

How do several agents reach agreement?

BeginnerInteractive simulation
Preparation and limits for Distributed average consensus

Recommended preparation: No previous workshop needed.

Exchange numbers between neighbors, break a connection and inspect whether the group still reaches a common value.

What this represents: Abstract scalar model with synchronous neighbor exchanges.

Limits: Agreement does not establish that the shared number is correct about the outside world. Node positions are a diagram, not flight.

02

Motion & navigation

Artificial Potential Fields

Can simple motion rules find their way around an obstacle?

BeginnerInteractive simulation
Preparation and limits for Artificial Potential Fields

Recommended preparation: No previous workshop needed.

Balance attraction to a goal with repulsion from walls and neighbors. Compare arrival, collision and getting stuck.

What this represents: Planar disk kinematics with a known map and exact local peer sensing.

Limits: Local avoidance does not search for a route. The drone display adds no vertical escape, acceleration or flight physics.

03

Coordination

Task allocation and execution

Who should do each job when one agent becomes unavailable?

BeginnerInteractive simulation
Preparation and limits for Task allocation and execution

Recommended preparation: No previous workshop needed.

Compare fixed, greedy and minimum-cost assignments, then follow each job through travel, service and completion.

What this represents: Central allocation and finite-state execution with planar point motion.

Limits: Reports and commands arrive instantly. There are no obstacles, collision avoidance or flight dynamics.

04

Coordination

Decision architectures

Who can decide when the network splits?

IntermediateInteractive simulation
Preparation and limits for Decision architectures

Recommended preparation: 01 / Distributed average consensus; 03 / Task allocation and execution; Understand neighbor exchanges and the difference between assignment and completion.

Run the same task rule under central, subgroup and peer authority. Separate finished work from reports that actually arrive.

What this represents: Planar task execution with explicit logical communication links.

Limits: The peer agreement rule is a teaching protocol. Links have no physical radio, delay queue or random packet loss.

05

Motion & navigation

A* path planning

How does a robot find a route around an obstacle?

BeginnerInteractive simulation
Preparation and limits for A* path planning

Recommended preparation: No previous workshop needed.

Inspect the search performed by A* and Dijkstra, then watch a robot follow the resulting waypoints.

What this represents: Grid search on a known map followed by planar point motion.

Limits: A route is separate from its execution. The model has no body radius, turning constraint or obstacle discovery.

06

Localization & mapping

Position estimation

What if a robot is not where it thinks it is?

IntermediateInteractive simulation
Preparation and limits for Position estimation

Recommended preparation: 05 / A* path planning; Know how waypoints guide motion; the lesson introduces uncertainty and filtering.

Follow a route using dead reckoning or a Kalman filter. Introduce noisy or missing observations and compare belief with position.

What this represents: Planar motion with synthetic displacement and position measurements.

Limits: A reported arrival can be false. Measurements are synthetic inputs, not a GNSS, IMU or camera pipeline.

07

Localization & mapping

Sharing uncertain estimates

Does every message contain new information?

AdvancedInteractive simulation
Preparation and limits for Sharing uncertain estimates

Recommended preparation: 06 / Position estimation; Understand position uncertainty and the role of covariance in a Kalman filter.

Also helpful: 01 / Distributed average consensus

Exchange estimates of one target and see how repeated information can create false confidence. Compare fusion rules.

What this represents: Static target estimates with synthetic observations and a logical message ring.

Limits: Reported confidence and actual error differ. Agents do not move, gather new observations or run physical sensors.

08

Motion & navigation

Reciprocal collision avoidance

Can moving agents share responsibility for avoiding a collision?

IntermediateInteractive simulation
Preparation and limits for Reciprocal collision avoidance

Recommended preparation: 02 / Artificial Potential Fields; Understand local attraction and repulsion before comparing velocity constraints.

Also helpful: 05 / A* path planning

Compare ORCA, potential fields and direct motion at a crossing. Inspect safe velocity choices, symmetry and missing observations.

What this represents: Planar disks with instantaneous velocity changes and exact peer observations.

Limits: Avoiding contact does not guarantee arrival. No acceleration, vertical avoidance or flight controller is modeled.

09

Coordination

Distributed task bundles

How can neighbors resolve competing claims on the same jobs?

AdvancedInteractive simulation
Preparation and limits for Distributed task bundles

Recommended preparation: 01 / Distributed average consensus; 03 / Task allocation and execution; Understand neighbor agreement and task ownership before inspecting bids and timestamps.

Also helpful: 04 / Decision architectures

Build task bundles with CBBA, exchange bids and watch agents release conflicting claims when communication changes.

What this represents: Static assignment model with additive utilities and logical neighbor messages.

Limits: A winning claim is a plan, not completed work. Agents do not move or execute their bundles.

10

Coordination

Behavior Trees and state machines

What happens to a running action when priorities change?

IntermediateInteractive simulation
Preparation and limits for Behavior Trees and state machines

Recommended preparation: 03 / Task allocation and execution; Understand the distinction between assigning a task and executing its steps.

Compare reactive and memory-based execution. Follow the checks, interruptions and recovery of a drone inspection sequence.

What this represents: Three-dimensional point kinematics with explicit action and condition evaluation.

Limits: Altitude belongs to the model, but inertia, aerodynamics, collision avoidance and sensor physics do not.

11

Localization & mapping

Cooperative localization

Can observing another robot improve your own position estimate?

AdvancedInteractive simulation
Preparation and limits for Cooperative localization

Recommended preparation: 06 / Position estimation; Understand Kalman prediction, correction and covariance.

Also helpful: 07 / Sharing uncertain estimates

Compare separate filters with a joint estimate for two robots. Remove an absolute reference and inspect what remains uncertain.

What this represents: Prescribed planar paths and synthetic absolute and relative observations.

Limits: The estimator does not steer the robots. Relative observations alone cannot remove a shared global position offset.

12

Localization & mapping

Building a map with EKF-SLAM

How can a robot build a map and locate itself at the same time?

AdvancedInteractive simulation
Preparation and limits for Building a map with EKF-SLAM

Recommended preparation: 06 / Position estimation; Understand filtering and uncertainty; the lesson introduces heading and range/bearing observations.

Estimate a robot pose and landmark positions together. Revisit landmarks, interrupt sensing and inspect map uncertainty.

What this represents: Planar EKF-SLAM with synthetic sensing and supplied landmark identities.

Limits: The landmark identities are given. This is not visual recognition, LiDAR processing or a solution to data association.

13

Localization & mapping

Correcting a trajectory with pose graphs

How can revisiting a place correct an earlier route estimate?

AdvancedInteractive simulation
Preparation and limits for Correcting a trajectory with pose graphs

Recommended preparation: 12 / Building a map with EKF-SLAM; Understand pose estimation, drift and revisiting a mapped location.

Optimize a history of poses with a supplied loop closure. Compare a correct association with one that distorts the trajectory.

What this represents: Browser-computed optimization of synthetic historical planar poses.

Limits: Loop associations are supplied. Lower graph error does not establish a more accurate route when an association is wrong.

14

Distributed software

Consensus across ROS 2 processes

What changes when an algorithm runs in separate programs?

IntermediateRecorded replay
Preparation and limits for Consensus across ROS 2 processes

Recommended preparation: 01 / Distributed average consensus; Know the consensus update; the lesson introduces nodes, topics and explicit rounds.

Inspect recorded publications, receipts and updates from six ROS 2 processes. Compare successful rounds with a missing publication.

What this represents: Actual ROS 2 software execution with synthetic scalar data.

Limits: A central supervisor gates rounds. Animation timing is not measured network latency or vehicle motion.

15

Distributed software

Message freshness

Is a delivered message still useful?

IntermediateRecorded replay
Preparation and limits for Message freshness

Recommended preparation: 14 / Consensus across ROS 2 processes; Understand publishers, subscribers and recorded callbacks.

Pause readers of the same position stream. Compare queue depths and an age gate while distinguishing delivery from fresh state.

What this represents: Actual ROS 2 execution with synthetic position samples.

Limits: Accepting a fresh message does not keep it fresh forever. The moving drone depicts generated data, not flight dynamics.

16

Distributed software

Process failure and restart

Does hearing from an agent again make its old state valid?

IntermediateRecorded replay
Preparation and limits for Process failure and restart

Recommended preparation: 15 / Message freshness; Understand message age and the difference between a received sample and retained state.

Compare silence with a killed and restarted process. Inspect heartbeat suspicion, sequence numbers and restart epochs.

What this represents: Actual ROS 2 process interruption and restart with synthetic position context.

Limits: A timeout is an observer suspicion, not proof of a crash. No physical vehicle failure or mission recovery is simulated.

17

Distributed software

Late readers: Fast DDS and Zenoh

Can a late reader recover earlier publications?

AdvancedRecorded replay
Preparation and limits for Late readers: Fast DDS and Zenoh

Recommended preparation: 14 / Consensus across ROS 2 processes; 15 / Message freshness; Understand ROS 2 topics, queue depth and callback evidence.

Replay the same application through two middleware implementations. Compare volatile and retained histories with a bounded queue.

What this represents: Actual Fast DDS and Zenoh process recordings with synthetic position samples.

Limits: This checks a bounded history contract in a local setup. It is not a general middleware performance ranking.

18

Simulated flight & missions

From a command to a simulated flight

Did the vehicle act, or did it only accept a request?

IntermediateRecorded replay
Preparation and limits for From a command to a simulated flight

Recommended preparation: Read the workshop introduction to autopilots, MAVLink messages and telemetry before inspecting the replay.

Inspect ArduPilot command acknowledgements beside telemetry. Compare a completed takeoff with a request sent while disarmed.

What this represents: Actual ArduCopter software with built-in SITL vehicle dynamics.

Limits: An acknowledgement is not evidence of completed flight. Displayed poses come from autopilot estimates, not independent world truth.

19

Simulated flight & missions

External physics and a force disturbance

What happens when a hovering vehicle receives a physical push?

AdvancedRecorded replay
Preparation and limits for External physics and a force disturbance

Recommended preparation: 18 / From a command to a simulated flight; Distinguish command admission, telemetry and measured flight completion.

Compare nominal hover with a measured force pulse in Gazebo. Inspect world motion, onboard estimates and the return toward hover.

What this represents: Actual ArduCopter execution coupled to external Gazebo physics.

Limits: One bounded force pulse does not establish robustness to arbitrary disturbances. World truth is evaluator information.

20

Simulated flight & missions

Heartbeat loss and onboard failsafe

Can a vehicle respond when ground-station heartbeats stop?

IntermediateRecorded replay
Preparation and limits for Heartbeat loss and onboard failsafe

Recommended preparation: 18 / From a command to a simulated flight; Know the role of autopilot modes and telemetry-derived landing evidence.

Also helpful: 16 / Process failure and restart

Follow an onboard LAND failsafe while telemetry continues to arrive. Observe what clears when heartbeats return.

What this represents: Actual ArduCopter failsafe execution with built-in SITL vehicle dynamics.

Limits: Only outgoing ground-station heartbeats are suppressed. This is not a radio-link failure, and recovery does not restore Guided mode.

21

Simulated flight & missions

Two vehicles, addressed execution

Did the right vehicle receive and complete its assignment?

IntermediateRecorded replay
Preparation and limits for Two vehicles, addressed execution

Recommended preparation: 03 / Task allocation and execution; 18 / From a command to a simulated flight; Understand central task allocation and telemetry-based completion checks.

Assign two jobs centrally, then change one command destination. Separate each vehicle’s evidence from overall landing success.

What this represents: Two actual autopilots with independent SITL physical worlds in a supplied common frame.

Limits: The vehicles do not share collision physics. Landing both vehicles does not establish that both jobs were completed.

22

Simulated flight & missions

Three-drone mission recovery

When can another drone take over an interrupted job?

AdvancedRecorded replay
Preparation and limits for Three-drone mission recovery

Recommended preparation: 10 / Behavior Trees and state machines; 21 / Two vehicles, addressed execution; Understand reactive Behavior Trees, task ownership and per-vehicle completion evidence.

Follow a controlled withdrawal, action cancellation and confirmed landing before unfinished work is assigned to another vehicle.

What this represents: Three actual autopilots with independent SITL physical worlds and central reactive execution.

Limits: Withdrawal is a controlled input. The common display does not create shared collisions, peer allocation or onboard Behavior Trees.

23

Simulated flight & missions

Three drones in one physical world

Does the mission still finish when vehicles share the same world?

AdvancedRecorded replay
Preparation and limits for Three drones in one physical world

Recommended preparation: 19 / External physics and a force disturbance; 22 / Three-drone mission recovery; Understand external physics, evaluator truth and exclusive task reassignment.

Inspect a six-task mission and a controlled withdrawal in one Gazebo world. Compare estimated poses, separation and physical contacts.

What this represents: Three actual ArduCopter autopilots coupled to one collidable Gazebo world.

Limits: Shared physics does not add collision avoidance or decentralized decisions. Recorded cases are not a general robustness benchmark.