COPP C ABI
C interface for COPP trajectory optimization
Loading...
Searching...
No Matches
path.h File Reference

Path construction, metadata, evaluation, and callback path APIs. More...

#include <stddef.h>
#include "copp/core.h"

Go to the source code of this file.

Data Structures

struct  CoppPathOptions
 Options for waypoint spline path construction. More...

Typedefs

typedef struct CoppPath CoppPath
 Opaque C handle for a library-owned Path.
typedef enum CoppStatus(* CoppPathEvaluate2ndFn) (void *user_data, size_t dim, size_t n, const double *s, double *q, double *dq, double *ddq)
 C callback for evaluating q, dq, and ddq.
typedef enum CoppStatus(* CoppPathEvaluate3rdFn) (void *user_data, size_t dim, size_t n, const double *s, double *q, double *dq, double *ddq, double *dddq)
 C callback for evaluating q, dq, ddq, and dddq.

Enumerations

enum  CoppPathOutOfRangeMode { COPP_PATH_OUT_OF_RANGE_MODE_ERROR = 0 , COPP_PATH_OUT_OF_RANGE_MODE_CLAMP = 1 }
 C ABI path out-of-range behavior. More...
enum  CoppPathParametrization { COPP_PATH_PARAMETRIZATION_UNIFORM = 0 }
 C ABI waypoint-spline parametrization. More...

Functions

enum CoppStatus copp_path_default_options (double s_min, double s_max, struct CoppPathOptions *out_options)
 Write default waypoint spline options into out_options.
enum CoppStatus copp_path_from_waypoints (struct CoppMatrixViewF64 waypoints, struct CoppPathOptions options, struct CoppPath **out_path)
 Build a waypoint spline path.
enum CoppStatus copp_path_from_evaluator_2nd (size_t dim, double s_min, double s_max, CoppPathEvaluate2ndFn evaluate_2nd, void *user_data, struct CoppPath **out_path)
 Build a path from a C callback that provides derivatives up to 2nd order.
enum CoppStatus copp_path_from_evaluator_3rd (size_t dim, double s_min, double s_max, CoppPathEvaluate2ndFn evaluate_2nd, CoppPathEvaluate3rdFn evaluate_3rd, void *user_data, struct CoppPath **out_path)
 Build a path from C callbacks that provide derivatives up to 3rd order.
enum CoppStatus copp_path_dim (const struct CoppPath *path, size_t *out_dim)
 Return the path dimension.
enum CoppStatus copp_path_s_range (const struct CoppPath *path, double *out_s_min, double *out_s_max)
 Return the valid path parameter range.
enum CoppStatus copp_path_evaluate_up_to_2nd (const struct CoppPath *path, struct CoppSliceF64 s, struct CoppMatrixF64 *out_q, struct CoppMatrixF64 *out_dq, struct CoppMatrixF64 *out_ddq)
 Evaluate q, dq, and ddq at the supplied path parameters.
enum CoppStatus copp_path_evaluate_up_to_3rd (const struct CoppPath *path, struct CoppSliceF64 s, struct CoppMatrixF64 *out_q, struct CoppMatrixF64 *out_dq, struct CoppMatrixF64 *out_ddq, struct CoppMatrixF64 *out_dddq)
 Evaluate q, dq, ddq, and dddq at the supplied path parameters.
void copp_path_free (struct CoppPath *path)
 Release a path handle created by this module.

Detailed Description

Path construction, metadata, evaluation, and callback path APIs.