38 #ifndef AMINO_RX_SCENE_PLANNING_H
39 #define AMINO_RX_SCENE_PLANNING_H
58 struct aa_rx_mp_planner;
123 const double *E,
size_t ldE );
142 AA_API const struct aa_rx_cl_set *
163 double **p_path_all );
177 struct aa_rx_mp_rrt_attr;
182 AA_API struct aa_rx_mp_rrt_attr*
197 int is_bidirectional );
207 const struct aa_rx_mp_rrt_attr *attr );
215 struct aa_rx_mp_sbl_attr;
220 AA_API struct aa_rx_mp_sbl_attr*
237 const struct aa_rx_mp_sbl_attr *attr );
245 struct aa_rx_mp_kpiece_attr;
250 AA_API struct aa_rx_mp_kpiece_attr*
267 const struct aa_rx_mp_kpiece_attr *attr );
#define AA_API
calling and name mangling convention for functions
Inverse Position Kinematics.
AA_API struct aa_rx_mp_kpiece_attr * aa_rx_mp_kpiece_attr_create(void)
Create an KPIECE attribute struct.
AA_API void aa_rx_mp_set_rrt(struct aa_rx_mp *mp, const struct aa_rx_mp_rrt_attr *attr)
Use the RRT motion planning algorithm.
AA_API struct aa_rx_mp * aa_rx_mp_create(const struct aa_rx_sg_sub *sub_sg)
Create a new motion plannet context for the given sub-scenegraph.
AA_API void aa_rx_mp_allow_collision(struct aa_rx_mp *mp, aa_rx_frame_id id0, aa_rx_frame_id id1, int allowed)
Indicate whether collisions between the two given frames are allowed.
AA_API void aa_rx_mp_rrt_attr_destroy(struct aa_rx_mp_rrt_attr *)
Destroy an RRT attribute struct.
AA_API void aa_rx_mp_allow_config(struct aa_rx_mp *mp, size_t n_all, double *q_all)
Indicate a valid configuration for the motion planning context.
AA_API void aa_rx_mp_sbl_attr_destroy(struct aa_rx_mp_sbl_attr *)
Destroy an SBL attribute struct.
AA_API void aa_rx_mp_rrt_attr_set_bidirectional(struct aa_rx_mp_rrt_attr *attrs, int is_bidirectional)
Whether the RRT should be bidirectional.
AA_API const struct aa_rx_cl_set * aa_rx_mp_get_collisions(const struct aa_rx_mp *mp)
Get most recent collision data.
AA_API int aa_rx_mp_set_wsgoal(struct aa_rx_mp *mp, size_t n_e, const aa_rx_frame_id *frames, const double *E, size_t ldE)
Set the goal as workspace pose.
AA_API void aa_rx_mp_set_start(struct aa_rx_mp *mp, size_t n_all, double *q_all)
Set the motion planning start configuration.
AA_API void aa_rx_mp_set_sbl(struct aa_rx_mp *mp, const struct aa_rx_mp_sbl_attr *attr)
Use the SBL motion planning algorithm.
AA_API int aa_rx_mp_set_goal(struct aa_rx_mp *mp, size_t n_q, double *q_subset)
Set the goal as a joint-space configuration.
AA_API void aa_rx_mp_set_simplify(struct aa_rx_mp *mp, int simplify)
Set whether to simplify the planned path.
AA_API void aa_rx_mp_set_kpiece(struct aa_rx_mp *mp, const struct aa_rx_mp_kpiece_attr *attr)
Use the KPIECE motion planning algorithm.
AA_API int aa_rx_mp_plan(struct aa_rx_mp *mp, double timeout, size_t *n_path, double **p_path_all)
Execute the planner.
AA_API void aa_rx_mp_set_track_collisions(struct aa_rx_mp *mp, int track)
Set whether to track collisions.
AA_API struct aa_rx_cl_set * aa_rx_mp_get_allowed(const struct aa_rx_mp *mp)
Return a pointer to the allowed collision set for the motion planning context.
AA_API struct aa_rx_mp_sbl_attr * aa_rx_mp_sbl_attr_create(void)
Create an SBL attribute struct.
AA_API void aa_rx_mp_kpiece_attr_destroy(struct aa_rx_mp_kpiece_attr *)
Destroy an KPIECE attribute struct.
AA_API void aa_rx_mp_destroy(struct aa_rx_mp *mp)
Destroy a motion planning context.
AA_API struct aa_rx_mp_rrt_attr * aa_rx_mp_rrt_attr_create(void)
Create an RRT attribute struct.
signed long aa_rx_frame_id
Type for frame indices.