problem
Problem struct or object for the selected solver namespace.
profile = copp.solver.topp3_socp.solve(problem, options)
solves PROBLEM with default Options and returns a copp.Profile3rd object. PROFILE.a stores \((ds/dt)^2\) at stations and PROFILE.b stores \(d^2s/dt^2\). Both fields are PROBLEM.s_len-by-1 double column vectors.
PROBLEM may be the shared copp.solver.topp3.Problem descriptor or the solver-specific topp3_socp.Problem facade. The facade is recommended for readability but is not required by the type contract.
Lazy linearization: This call linearizes third-order constraints using PROBLEM.a_linearization and mutates the native Robot's internal third-order constraint cache. Constructing PROBLEM does not mutate the Robot cache.
problemProblem struct or object for the selected solver namespace.
optionsSolver options struct or object for the selected solver namespace. Default: copp.solver.topp3_socp.Options()
profileThird-order profile object containing a, b, and stationary-node metadata.
ExampleCommon.setup_path(); ctx = ExampleCommon.third_order_context(); a_seed = ExampleCommon.solve_topp2_seed(ctx.robot, ctx.n); problem = copp.solver.topp3_socp.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); options = copp.solver.topp3_socp.Options(); profile = copp.solver.topp3_socp.solve(problem, options);