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