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

Scenegraph kinematics. More...

#include "scenegraph.h"

Go to the source code of this file.

Typedefs

typedef int aa_rx_ik_fun(void *context, size_t n_tf, const double *TF, size_t ld_TF, size_t n_q, double *q)
 General type for an IK solver function.
 

Functions

AA_API struct aa_rx_ksol_opts * aa_rx_ksol_opts_create ()
 Create options struct for kinematic solver.
 
AA_API void aa_rx_ksol_opts_destroy (struct aa_rx_ksol_opts *opts)
 Destroy options struct for kinematic solver.
 
AA_API void aa_rx_ksol_opts_set_dt (struct aa_rx_ksol_opts *opts, double dt)
 Set integration step.
 
AA_API void aa_rx_ksol_opts_set_tol_angle (struct aa_rx_ksol_opts *opts, double tol)
 Set angular tolerance.
 
AA_API void aa_rx_ksol_opts_set_tol_trans (struct aa_rx_ksol_opts *opts, double tol)
 Set translational tolerance.
 
AA_API void aa_rx_ksol_opts_set_tol_angle_svd (struct aa_rx_ksol_opts *opts, double tol)
 Set angular tolerance to switch to SVD.
 
AA_API void aa_rx_ksol_opts_set_tol_trans_svd (struct aa_rx_ksol_opts *opts, double tol)
 Set translational tolerance to switch to SVD.
 
AA_API void aa_rx_ksol_opts_set_tol_dq (struct aa_rx_ksol_opts *opts, double tol)
 Set tolerance on joint motion.
 
AA_API void aa_rx_ksol_opts_set_tol_k_dls (struct aa_rx_ksol_opts *opts, double s2min)
 Set damping constant for damped least squares (LU decompisition).
 
AA_API void aa_rx_ksol_opts_set_tol_s2min (struct aa_rx_ksol_opts *opts, double s2min)
 Set minimum square singular value for damped least squares (SVD).
 
AA_API void aa_rx_ksol_opts_set_gain_angle (struct aa_rx_ksol_opts *opts, double k)
 Set angular gain.
 
AA_API void aa_rx_ksol_opts_set_gain_trans (struct aa_rx_ksol_opts *opts, double k)
 Set translational gain.
 
AA_API void aa_rx_ksol_opts_set_max_iterations (struct aa_rx_ksol_opts *opts, size_t n)
 Set maximum interations.
 
AA_API void aa_rx_ksol_opts_set_frame (struct aa_rx_ksol_opts *opts, aa_rx_frame_id frame)
 Set frame to solve.
 
AA_API void aa_rx_ksol_opts_take_config (struct aa_rx_ksol_opts *opts, size_t n_q, double *q, enum aa_mem_refop refop)
 Set a reference configuration.
 
AA_API void aa_rx_ksol_opts_take_gain_config (struct aa_rx_ksol_opts *opts, size_t n_q, double *q, enum aa_mem_refop refop)
 Set a configuration gain (nullspace).
 
AA_API void aa_rx_ksol_opts_take_seed (struct aa_rx_ksol_opts *opts, size_t n_q, double *q_all, enum aa_mem_refop refop)
 Set a configuration seed (initial) value.
 
AA_API void aa_rx_ksol_opts_center_seed (struct aa_rx_ksol_opts *opts, const struct aa_rx_sg_sub *ssg)
 Set the configuration seed (initial) to be the center position.
 
AA_API void aa_rx_ksol_opts_center_configs (struct aa_rx_ksol_opts *opts, const struct aa_rx_sg_sub *ssg, double gain)
 Convenience function to set IK options to center joints.
 
AA_API int aa_rx_ik_jac_x2dq (const struct aa_rx_ksol_opts *opts, size_t n_q, const double *AA_RESTRICT q_act, const double *AA_RESTRICT E_act, const double E_ref[7], const double dx_ref[6], const double *J, double *AA_RESTRICT dq)
 
AA_API struct aa_rx_ik_jac_cx * aa_rx_ik_jac_cx_create (const struct aa_rx_sg_sub *ssg, const struct aa_rx_ksol_opts *opts)
 Create a Jacobian IK solver.
 
AA_API void aa_rx_ik_jac_cx_destroy (struct aa_rx_ik_jac_cx *cx)
 Destroy a Jacobian IK solver.
 
AA_API int aa_rx_ik_jac_solve (const struct aa_rx_ik_jac_cx *context, size_t n_tf, const double *TF, size_t ld_TF, size_t n_q, double *q)
 Solve the Jacobian IK.
 
AA_API int aa_rx_ik_jac_fun (void *context, size_t n_tf, const double *TF, size_t ld_TF, size_t n_q, double *q)
 Convenience function for Jacobian IK solver.
 

Detailed Description

Scenegraph kinematics.

Definition in file scene_kin.h.