armour.reachsets.JLSInstance

class armour.reachsets.JLSInstance(q_ub: list[list[zonopy.polyZonotope]], q_lb: list[list[zonopy.polyZonotope]], dq_ub: list[list[zonopy.polyZonotope]], dq_lb: list[list[zonopy.polyZonotope]], jrsInstance: JRSInstance)[source]

Bases: ReachSetInstance

This is just an individual instance of joint limit set set from armour

__init__(q_ub: list[list[zonopy.polyZonotope]], q_lb: list[list[zonopy.polyZonotope]], dq_ub: list[list[zonopy.polyZonotope]], dq_lb: list[list[zonopy.polyZonotope]], jrsInstance: JRSInstance)[source]

Methods

__init__(q_ub, q_lb, dq_ub, dq_lb, jrsInstance)

eval_constraints(k, n_c, constraints, ...)

Note: remember that smooth constraints still need to be considered

genNLConstraint(worldState)

Generate the nonlinear constraint function for the provided worldState

static eval_constraints(k, n_c: int, constraints: list[Callable], grad_constraints: list[Callable])[source]

Note: remember that smooth constraints still need to be considered

genNLConstraint(worldState: WorldState) Callable[source]

Generate the nonlinear constraint function for the provided worldState

This function should handle the obstacle-frs pair or similar to generate the nonlinear constraint. This should return a function handle that return 4 outputs: (c, ceq, gc, gceq), where c <= 0 and ceq = 0 are the constraints, and gc and gceq are the gradients for the respective constraints

Parameters:

worldState – WorldState: The observation of the world we want to generate the constraint for

Returns:

A function handle for the generated nlconstraint where the constraint function’s return type is (c, ceq, gc, gceq)

Return type:

function_handle