amino  1.0-beta2
Lightweight Robot Utility Library
scene_wk.h File Reference

Workspace control for scene graphs. More...

Go to the source code of this file.

Functions

AA_API struct aa_rx_wk_optsaa_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_cxaa_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...
 

Detailed Description

Workspace control for scene graphs.

Definition in file scene_wk.h.

Function Documentation

◆ aa_rx_wk_dqcenter()

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.

Parameters
[in]ssgthe subscenegraph to control
[in]optsworkspace control options
[in]n_qsize of q
[in]qactual joint positions for the subscenegraph
[out]dq_rcentering velocities for the subscenegraph

◆ aa_rx_wk_dx2dq()

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.

Parameters
[in]ssgthe subscenegraph to control
[in]optsworkspace control options
[in]fkupdated forward kinematics
[in]n_xsize of dx
[in]dxreference workspace velocity
[in]n_qsize of dq
[out]dqreference joint velocity for subscenegraph

◆ aa_rx_wk_dx2dq_np()

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.

See also
aa_rx_wk_dqcenter()
Parameters
[in]ssgthe subscenegraph to control
[in]optsworkspace control options
[in]fkupdated forward kinematics
[in]n_xsize of dx
[in]dxreference workspace velocity
[in]n_qsize of dq
[in]dq_rreference joint velocity (nullspace projected) for subscenegraph
[out]dqcomputed reference joint velocity for subscenegraph

◆ aa_rx_wk_dx_pos()

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.

Parameters
[in]optsWorkspace control options
[in]E_actActual pose (quaternion-translation)
[in]E_refReference pose (quaternion-translation)
[in,out]dxReference workspace velocity (size 6)