Target assignment#

Assignment slot: with several motors, which motor goes to which target? (quantum computing strand)

The VLA grounds an instruction to target positions; with several joints or arms the choice of who goes where is the multi-robot allocation QUBO of quantum_mind.computing, solved by any of its solvers (exact, annealing, greedy, or Qiskit QAOA). Cost is travel time, taken as the distance to the target. Assigning every target to exactly one motor allows several targets per motor, which is what that problem encodes.

Functions

assign_targets

Assign each target to a motor.

assign_targets(motor_positions, target_positions, solver='exact', balance=0.5, **kw)[source]#

Assign each target to a motor. Returns (mapping, total_travel, problem); mapping[target] = motor.

balance penalises piling several targets on one motor. solver is a key of SOLVERS; extra keywords go to the solver.