![]() |
amino
1.0-beta2
Lightweight Robot Utility Library
|
Workspace control for scene graphs. More...
Go to the source code of this file.
Functions | |
AA_API struct aa_rx_wk_opts * | aa_rx_wk_opts_create (void) |
Create workspce control options. | |
AA_API void | aa_rx_wk_opts_destroy (struct aa_rx_wk_opts *) |
Destroy workspce control options. | |
AA_API void | aa_rx_wk_dx_pos (const struct aa_rx_wk_opts *opts, const double *E_act, const double *E_ref, struct aa_dvec *dx) |
Proportional control on pose error. More... | |
AA_API int | aa_rx_wk_dx2dq (const struct aa_rx_sg_sub *ssg, const struct aa_rx_wk_opts *opts, const struct aa_rx_fk *fk, const struct aa_dvec *dx, struct aa_dvec *dq) |
Convert workspace (Cartesian) velocity to joint velocity. More... | |
AA_API int | aa_rx_wk_dx2dq_np (const struct aa_rx_sg_sub *ssg, const struct aa_rx_wk_opts *opts, const struct aa_rx_fk *fk, const struct aa_dvec *dx, const struct aa_dvec *dq_r, struct aa_dvec *dq) |
Convert workspace (Cartesian) velocity to joint velocity, with nullspace projection. More... | |
AA_API struct aa_rx_wk_lc3_cx * | aa_rx_wk_lc3_create (const struct aa_rx_sg_sub *ssg, const struct aa_rx_wk_opts *opts) |
AA_API int | aa_rx_wk_dx2dq_lc3 (const struct aa_rx_wk_lc3_cx *lc3, double dt, const struct aa_rx_fk *fk, const struct aa_dvec *dx_r, const struct aa_dvec *q_a, const struct aa_dvec *dq_a, const struct aa_dvec *dq_r, struct aa_dvec *dq) |
AA_API void | aa_rx_wk_dqcenter (const struct aa_rx_sg_sub *ssg, const struct aa_rx_wk_opts *opts, const struct aa_dvec *q, struct aa_dvec *dq_r) |
Find joint-centering reference velocity. More... | |
Workspace control for scene graphs.
Definition in file scene_wk.h.
AA_API void aa_rx_wk_dqcenter | ( | const struct aa_rx_sg_sub * | ssg, |
const struct aa_rx_wk_opts * | opts, | ||
const struct aa_dvec * | q, | ||
struct aa_dvec * | dq_r | ||
) |
Find joint-centering reference velocity.
[in] | ssg | the subscenegraph to control |
[in] | opts | workspace control options |
[in] | n_q | size of q |
[in] | q | actual joint positions for the subscenegraph |
[out] | dq_r | centering velocities for the subscenegraph |
AA_API int aa_rx_wk_dx2dq | ( | const struct aa_rx_sg_sub * | ssg, |
const struct aa_rx_wk_opts * | opts, | ||
const struct aa_rx_fk * | fk, | ||
const struct aa_dvec * | dx, | ||
struct aa_dvec * | dq | ||
) |
Convert workspace (Cartesian) velocity to joint velocity.
[in] | ssg | the subscenegraph to control |
[in] | opts | workspace control options |
[in] | fk | updated forward kinematics |
[in] | n_x | size of dx |
[in] | dx | reference workspace velocity |
[in] | n_q | size of dq |
[out] | dq | reference joint velocity for subscenegraph |
AA_API int aa_rx_wk_dx2dq_np | ( | const struct aa_rx_sg_sub * | ssg, |
const struct aa_rx_wk_opts * | opts, | ||
const struct aa_rx_fk * | fk, | ||
const struct aa_dvec * | dx, | ||
const struct aa_dvec * | dq_r, | ||
struct aa_dvec * | dq | ||
) |
Convert workspace (Cartesian) velocity to joint velocity, with nullspace projection.
[in] | ssg | the subscenegraph to control |
[in] | opts | workspace control options |
[in] | fk | updated forward kinematics |
[in] | n_x | size of dx |
[in] | dx | reference workspace velocity |
[in] | n_q | size of dq |
[in] | dq_r | reference joint velocity (nullspace projected) for subscenegraph |
[out] | dq | computed reference joint velocity for subscenegraph |
AA_API void aa_rx_wk_dx_pos | ( | const struct aa_rx_wk_opts * | opts, |
const double * | E_act, | ||
const double * | E_ref, | ||
struct aa_dvec * | dx | ||
) |
Proportional control on pose error.
The computed reference term is ADDED to dx.
[in] | opts | Workspace control options |
[in] | E_act | Actual pose (quaternion-translation) |
[in] | E_ref | Reference pose (quaternion-translation) |
[in,out] | dx | Reference workspace velocity (size 6) |