Robotics planningAdvanced

Dual-Arm Scheduling with CP-SAT

A dual-arm robot needs more than an action list; it needs a schedule that respects resources, precedence, and collision risk.

CP-SATSchedulingTAMPRobotics

Site connection

The TAMP project assigns actions to robot arms using greedy scheduling and OR-Tools CP-SAT before motion verification.

Visual model

Scheduling between symbolic planning and motion checks

Step through the pipeline and notice where scheduling sits before geometric verification.

Interactive

Learning can rank plans, but geometry still verifies them

1Symbolic skeletonplanner space
2Arm assignmentplanner space
3IK checkmotion verifier
4Collision checkmotion verifier
5Trajectorymotion verifier
6Trace logtraining data

A simplified interval model has start times sis_i, durations did_i, and end times ei=si+die_i=s_i+d_i.

Precedence constraints look like:

eisje_i \le s_j

Resource constraints prevent two actions from using the same arm or workspace at incompatible times.

PrecedencePick before place; open before insert.
Arm resourceOne arm cannot execute two actions at once.
Shared workspaceTwo arms may conflict even if they are different resources.
ObjectiveMinimize makespan, risk, or expected verification cost.

Why CP-SAT Fits

CP-SAT is designed for discrete optimization over integer variables and constraints. Scheduling is full of integer decisions: which arm gets an action, when an interval starts, whether two intervals can overlap, and what objective is minimized.

In TAMP, CP-SAT can produce a candidate schedule, but that schedule still needs IK, collision checking, and trajectory feasibility.

Greedy vs Solver-Based Scheduling

A greedy scheduler is fast and simple, but early choices can block later actions. A solver can reason globally, but it costs more compute and needs a well-posed model.

The useful research comparison is not ideological. It is empirical: when does solver overhead pay for itself by reducing downstream motion failures?

ApproachStrengthWeakness
GreedyFast and easy to inspectCan make locally good but globally bad assignments
CP-SATHandles precedence and resource constraints globallyRequires modeling work and solve time
Learned guidanceCan prioritize likely-feasible schedulesNeeds trace data and validation

Common Pitfalls

  • Modeling scheduling constraints while ignoring geometric collisions.
  • Using real-valued durations without converting carefully for integer solvers.
  • Optimizing makespan only and producing risky near-collisions.
  • Forgetting uncertainty in learned duration estimates.

Quick check

Quiz

What kind of problems is CP-SAT especially suited for?
  1. Discrete constraint optimization
  2. Rendering CSS
  3. Unstructured prose
  4. Camera exposure only

CP-SAT works over integer variables and constraints, which fits many scheduling formulations.

Sources and Further Reading

Related Explainers