Trajectory estimation¶
The estimation of the trajectory, and all auxilliary parameters, are performed through the
TrajectoryEstimator
class.
Behind the scenes, the estimator builds a Ceres-Solver optimization problem that is then solved.
-
class
kontiki.
TrajectoryEstimator
¶ Class that performs trajectory estimation.
-
solve
(progress=True, max_iterations=50)¶ Solve the estimation problem by minimizing the measurement residuals. Returns a
Summary
instance.If progress is True, then a progress report is written to stdout while the optimization in progressing.
max_iterations specify the number of steps the optimizer is allowed to take.
-
add_measurement
(m : Measurement)¶ Add a measurement to the optimization problem.
Warning
Make sure the measurement m is alive until
solve()
has been called, e.g. by putting it in a list.
-
add_callback
(func, update_state=False)¶ Adds a callback function which is called after every iteration of the optimizer.
The callback function should accepts a single
IterationSummary
instance as argument, and return either None, or aCallbackReturnType
value. None is the same asCallbackReturnType.Continue
.If your callbacks need to access the objects currently being optimized (e.g. the trajectory), you must set update_state=True.
-
Estimator helper classes¶
The following classes are wrappers around the Ceres-Solver classes of the same name.
-
class
kontiki.
CallbackReturnType
¶ Return types for iteration callbacks
Members:
Abort : Abort the optimization
Continue : Continue the optimization
TerminateSuccessfully : Stop the optimization, marking it as success
-
class
kontiki.
Summary
¶ -
BriefReport
(self: kontiki._ceres.Summary) → str¶
-
FullReport
(self: kontiki._ceres.Summary) → str¶
-
IsSolutionUsable
(self: kontiki._ceres.Summary) → bool¶
-
final_cost
¶
-
fixed_cost
¶
-
initial_cost
¶
-
inner_iteration_time_in_seconds
¶
-
is_constrained
¶
-
iterations
¶
-
jacobian_evaluation_time_in_seconds
¶
-
line_search_cost_evaluation_time_in_seconds
¶
-
line_search_gradient_evaluation_time_in_seconds
¶
-
line_search_polynomial_minimization_time_in_seconds
¶
-
line_search_total_time_in_seconds
¶
-
linear_solver_time_in_seconds
¶
-
message
¶
-
minimizer_time_in_seconds
¶
-
num_effective_parameters
¶
-
num_effective_parameters_reduced
¶
-
num_inner_iteration_steps
¶
-
num_linear_solver_threads_given
¶
-
num_linear_solver_threads_used
¶
-
num_parameter_blocks
¶
-
num_parameter_blocks_reduced
¶
-
num_parameters
¶
-
num_parameters_reduced
¶
-
num_residual_blocks
¶
-
num_residual_blocks_reduced
¶
-
num_residuals
¶
-
num_residuals_reduced
¶
-
num_successful_steps
¶
-
num_threads_given
¶
-
num_threads_used
¶
-
num_unsuccessful_steps
¶
-
postprocessor_time_in_seconds
¶
-
preprocessor_time_in_seconds
¶
-
residual_evaluation_time_in_seconds
¶
-
termination_type
¶
-
total_time_in_seconds
¶
-
-
class
kontiki.
IterationSummary
¶ -
cost
¶
-
cost_change
¶
-
cumulative_time_in_seconds
¶
-
eta
¶
-
gradient_max_norm
¶
-
gradient_norm
¶
-
iteration
¶ Current iteration
-
iteration_time_in_seconds
¶
-
line_search_function_evaluations
¶
-
line_search_gradient_evaluations
¶
-
line_search_iterations
¶
-
linear_solver_iterations
¶
-
relative_decrease
¶
-
step_is_nonmonotonic
¶
-
step_is_successful
¶
-
step_is_valid
¶ Step was numerically valid
-
step_norm
¶
-
step_size
¶
-
step_solver_time_in_seconds
¶
-
trust_region_radius
¶
-