![]() |
amino
1.0-beta2
Lightweight Robot Utility Library
|
#include "state.h"
Go to the source code of this file.
Classes | |
struct | aa_ct_pt |
Waypoint. More... | |
Macros | |
#define | AA_CT_SEG_IN 1 |
#define | AA_CT_SEG_OUT 0 |
#define | AA_CT_LIN_SEG 1 |
#define | AA_CT_PB_SEG 2 |
#define | AA_CT_ACCL_SEG 3 |
Functions | |
struct aa_ct_pt_list * | aa_ct_pt_list_create (struct aa_mem_region *reg) |
Initialize and construct a point list from a memory region. More... | |
void | aa_ct_pt_list_add (struct aa_ct_pt_list *list, struct aa_ct_state *state) |
Add a reference to a waypoint to the back of a point list. More... | |
void | aa_ct_pt_list_add_front (struct aa_ct_pt_list *list, struct aa_ct_state *state) |
Add a reference to a waypoint to the front of a point list. More... | |
void | aa_ct_pt_list_add_qutr (struct aa_ct_pt_list *list, const double E[7]) |
Add a quaternion-translation pose to the point list. | |
void | aa_ct_pt_list_add_q (struct aa_ct_pt_list *list, size_t n_q, const double *q) |
Add a quaternion-translation position the point list. | |
void | aa_ct_pt_list_destroy (struct aa_ct_pt_list *list) |
Destroys an allocated point list. More... | |
const struct aa_ct_state * | aa_ct_pt_list_start_state (const struct aa_ct_pt_list *list) |
Return the initial state of the point list. | |
const struct aa_ct_state * | aa_ct_pt_list_final_state (const struct aa_ct_pt_list *list) |
Return the final state of the point list. | |
size_t | aa_ct_pt_list_size (const struct aa_ct_pt_list *list) |
Return the number of points in the point list. | |
void | aa_ct_pt_list_dump (FILE *stream, struct aa_ct_pt_list *list) |
Print out a list of points to a file. More... | |
int | aa_ct_seg_list_eval (struct aa_ct_seg_list *list, struct aa_ct_state *state, double t) |
Evaluates a segment list at a given time. More... | |
int | aa_ct_seg_list_eval_q (struct aa_ct_seg_list *list, double t, size_t n, double *q) |
Evaluate trajectory and fill configuration array. | |
int | aa_ct_seg_list_eval_dq (struct aa_ct_seg_list *list, double t, size_t n, double *q, double *dq) |
Evaluate trajectory and fill configuration and velocity arrays. | |
void | aa_ct_seg_list_plot (struct aa_ct_seg_list *list, size_t n_q, double dt) |
Plots a segment list with a given resolution. More... | |
void | aa_ct_seg_list_destroy (struct aa_ct_seg_list *list) |
Destroys an allocated segment list. More... | |
size_t | aa_ct_seg_list_n_q (const struct aa_ct_seg_list *list) |
Return segment list configuration count. | |
double | aa_ct_seg_list_duration (const struct aa_ct_seg_list *list) |
Return duration (time) of segment list. | |
struct aa_ct_seg_list * | aa_ct_tjq_pb_generate (struct aa_mem_region *reg, struct aa_ct_pt_list *list, struct aa_ct_limit *limits) |
Generate a parabolic blend trajectory from a point list. More... | |
struct aa_ct_seg_list * | aa_ct_tjq_trap_generate (struct aa_mem_region *reg, struct aa_ct_pt_list *list, struct aa_ct_limit *limits) |
Generate a trapezoidal blend trajectory from a point list. More... | |
struct aa_ct_seg_list * | aa_ct_tjq_lin_generate (struct aa_mem_region *reg, struct aa_ct_pt_list *list, struct aa_ct_limit *limits) |
Generate a linear trajectory from a point list. More... | |
struct aa_ct_seg_list * | aa_ct_tjX_pb_generate (struct aa_mem_region *reg, struct aa_ct_pt_list *list, struct aa_ct_limit *limits) |
Generate a parabolic blend trajectory in the workspace from a point list. More... | |
int | aa_ct_seg_list_check (struct aa_ct_seg_list *segs, double dt, int(*function)(void *cx, double t, const struct aa_ct_state *state), void *cx) |
Check the trajectory by evaluting function at points along the trajectory. More... | |
int | aa_ct_seg_list_check_c0 (struct aa_ct_seg_list *segs, double dt, double tol, double eps) |
Check C0 (position) continuity of the trajectory. More... | |
struct aa_ct_seg_list * | aa_ct_tjx_slerp_generate (struct aa_mem_region *reg, struct aa_ct_pt_list *list) |
Generate a SLERP trajectory from a point list. More... | |
void aa_ct_pt_list_add | ( | struct aa_ct_pt_list * | list, |
struct aa_ct_state * | state | ||
) |
Add a reference to a waypoint to the back of a point list.
The reference will be kept in the list.
list | List to add point to |
state | State to add to list |
void aa_ct_pt_list_add_front | ( | struct aa_ct_pt_list * | list, |
struct aa_ct_state * | state | ||
) |
Add a reference to a waypoint to the front of a point list.
The reference will be kept in the list.
list | List to add point to |
state | State to add to list |
struct aa_ct_pt_list* aa_ct_pt_list_create | ( | struct aa_mem_region * | reg | ) |
Initialize and construct a point list from a memory region.
reg | Memory region to allocate from |
void aa_ct_pt_list_destroy | ( | struct aa_ct_pt_list * | list | ) |
Destroys an allocated point list.
list | List to destroy |
void aa_ct_pt_list_dump | ( | FILE * | stream, |
struct aa_ct_pt_list * | list | ||
) |
Print out a list of points to a file.
stream | File to print to |
list | Point list to print |
int aa_ct_seg_list_check | ( | struct aa_ct_seg_list * | segs, |
double | dt, | ||
int(*)(void *cx, double t, const struct aa_ct_state *state) | function, | ||
void * | cx | ||
) |
Check the trajectory by evaluting function at points along the trajectory.
segs | The segment list to check |
dt | Time intervel between steps to check |
function | Function to check a state, must return 0 if state is valid |
int aa_ct_seg_list_check_c0 | ( | struct aa_ct_seg_list * | segs, |
double | dt, | ||
double | tol, | ||
double | eps | ||
) |
Check C0 (position) continuity of the trajectory.
segs | The segment list to check |
dt | Time intervel between steps |
tol | Maximum distance between two steps |
eps | Maximum distance between final and inital position of subsequent segments |
void aa_ct_seg_list_destroy | ( | struct aa_ct_seg_list * | list | ) |
Destroys an allocated segment list.
list | List to destroy |
int aa_ct_seg_list_eval | ( | struct aa_ct_seg_list * | list, |
struct aa_ct_state * | state, | ||
double | t | ||
) |
Evaluates a segment list at a given time.
Fills in the provided state struct With the reference state at that time.
list | Segment list to evaluate |
state | State structure to fill in |
t | Time to evaluate segment list at |
void aa_ct_seg_list_plot | ( | struct aa_ct_seg_list * | list, |
size_t | n_q, | ||
double | dt | ||
) |
Plots a segment list with a given resolution.
Pipes commands to gnuplot.
list | Segment list to plot |
n_q | Number of configurations |
dt | Timestep to plot |
struct aa_ct_seg_list* aa_ct_tjq_lin_generate | ( | struct aa_mem_region * | reg, |
struct aa_ct_pt_list * | list, | ||
struct aa_ct_limit * | limits | ||
) |
Generate a linear trajectory from a point list.
reg | Region to allocate from |
list | Point list to build segment list from |
limits | State structure with dq and ddq kinematic limits |
struct aa_ct_seg_list* aa_ct_tjq_pb_generate | ( | struct aa_mem_region * | reg, |
struct aa_ct_pt_list * | list, | ||
struct aa_ct_limit * | limits | ||
) |
Generate a parabolic blend trajectory from a point list.
reg | Region to allocate from |
list | Point list to build segment list from |
limits | State structure with dq and ddq kinematic limits |
struct aa_ct_seg_list* aa_ct_tjq_trap_generate | ( | struct aa_mem_region * | reg, |
struct aa_ct_pt_list * | list, | ||
struct aa_ct_limit * | limits | ||
) |
Generate a trapezoidal blend trajectory from a point list.
reg | Region to allocate from |
list | Point list to build segment list from |
limits | State structure with dq and ddq kinematic limits |
struct aa_ct_seg_list* aa_ct_tjX_pb_generate | ( | struct aa_mem_region * | reg, |
struct aa_ct_pt_list * | list, | ||
struct aa_ct_limit * | limits | ||
) |
Generate a parabolic blend trajectory in the workspace from a point list.
reg | Region to allocate from |
list | Point list to build segment list from |
limits | State structure with dq and ddq kinematic limits |
struct aa_ct_seg_list* aa_ct_tjx_slerp_generate | ( | struct aa_mem_region * | reg, |
struct aa_ct_pt_list * | list | ||
) |
Generate a SLERP trajectory from a point list.
reg | Region to allocate from |
list | Point list to build segment list from |