robot
A copp.Robot object containing sampled path data, limits, and constraints.
P = copp.solver.topp3_lp.Problem(ROBOT, A_LINEARIZATION)
This class is a package-specific facade over the shared copp.solver.topp3.Problem descriptor. topp3_lp.solve accepts the shared descriptor too; use this facade when the solver namespace improves readability. Construction is side-effect free with respect to native third-order linearization; solve() performs lazy linearization and mutates the Robot's native cache.
robotA copp.Robot object containing sampled path data, limits, and constraints.
a_linearizationSeed a(s) profile used to linearize third-order constraints.
idx_s_start1-based start station for third-order problems. The covered interval runs from this station through the stored profile length. Default: 1
a_boundaryEndpoint squared-speed values [a_start, a_final] for the selected station interval. Default: [0, 0]
b_boundaryEndpoint path-acceleration values [b_start, b_final] for third-order profiles. Default: [0, 0]
num_stationary_maxMaximum number of stationary nodes allowed by the third-order profile descriptor. Default: 1
a_linearization_floorPositive floor applied to a_linearization when forming third-order linearization data. Default: 1.0e-10
ProblemConstruct a TOPP3-LP problem descriptor.
ProblemP = copp.solver.topp3_lp.Problem(ROBOT, A_LINEARIZATION)
creates a descriptor for topp3_lp.solve. Name-value options are the same as copp.solver.topp3.Problem. A shared copp.solver.topp3.Problem can also be passed to solve().
ExampleCommon.setup_path();
ctx = ExampleCommon.third_order_context();
a_seed = ExampleCommon.solve_topp2_seed(ctx.robot, ctx.n);
problem = copp.solver.topp3_lp.Problem( ...
ctx.robot, ...
a_seed, ...
idx_s_start=1, ...
a_boundary=ctx.a_boundary, ...
b_boundary=ctx.b_boundary, ...
num_stationary_max=ctx.num_stationary_max);