amino
1.0-beta2
Lightweight Robot Utility Library
|
Motion Planning. More...
#include "scene_ik.h"
Go to the source code of this file.
Functions | |
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_destroy (struct aa_rx_mp *mp) |
Destroy a motion planning context. | |
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. More... | |
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. More... | |
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. More... | |
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 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_simplify (struct aa_rx_mp *mp, int simplify) |
Set whether to simplify the planned path. | |
AA_API void | aa_rx_mp_set_track_collisions (struct aa_rx_mp *mp, int track) |
Set whether to track collisions. | |
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_plan (struct aa_rx_mp *mp, double timeout, size_t *n_path, double **p_path_all) |
Execute the planner. More... | |
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_rrt_attr * | aa_rx_mp_rrt_attr_create (void) |
Create an RRT attribute struct. | |
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_rrt_attr_set_bidirectional (struct aa_rx_mp_rrt_attr *attrs, int is_bidirectional) |
Whether the RRT should be bidirectional. | |
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. More... | |
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_sbl_attr_destroy (struct aa_rx_mp_sbl_attr *) |
Destroy an SBL attribute struct. | |
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. More... | |
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_kpiece_attr_destroy (struct aa_rx_mp_kpiece_attr *) |
Destroy an KPIECE attribute struct. | |
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. More... | |
Motion Planning.
Definition in file scene_planning.h.
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.
By default, no collisions are allowed.
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.
All collisions at the given configuration are assumed to be allowed.
mp | The motion planning context |
n_all | Length of array q_all |
q_all | A valid configuration array (for the entire scene graph). |
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.
mp | The motion planning context |
timeout | Maximum time to execute the planner |
n_path | Number of waypoints in the path. |
p_path_all | Output path data. Contains configurations at each waypoint for the entire scene graph. Size is n_path times the configuration space size of the entire scene graph. |
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.
mp | The motion planning context |
attr | Attributes for the planning algorithm (NULL uses defaults) |
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.
mp | The motion planning context |
attr | Attributes for the planning algorithm (NULL uses defaults) |
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.
mp | The motion planning context |
attr | Attributes for the planning algorithm (NULL uses defaults) |
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.
mp | The motion planning context |
n_all | Length of array q_all |
q_all | Array of start configurations for the entire scene graph. |