|
DYNAMICS C API
C-compatible interface to the DYNAMICS library
|
Functions | |
| int | c_alloc_dh_table (int n, c_dh_table *tbl) |
| Allocate a Denavit-Hartenberg table. | |
| void | c_free_dh_table (c_dh_table *tbl) |
| Release a Denavit-Hartenberg table. | |
| void | c_define_link_csys (const double xim1[3], const double zim1[3], const double zi[3], const double rim1[3], const double ri[3], c_coordinate_system *csys) |
| Define a link coordinate system from adjacent geometry. | |
| void | c_define_csys (const double i[3], const double j[3], const double k[3], const double o[3], c_coordinate_system *csys) |
| Define a coordinate system from basis vectors and origin. | |
| void | c_build_dh_table (int n, const c_coordinate_system *csys, c_dh_table *tbl) |
| Build Denavit-Hartenberg parameters from coordinate systems. | |
| int | c_alloc_serial_linkage (int n, c_serial_linkage *lnk) |
| Allocate a serial linkage. | |
| void | c_free_serial_linkage (c_serial_linkage *lnk) |
| Release a serial linkage. | |
| void | c_build_serial_linkage (int n, const c_binary_link *links, c_serial_linkage *linkage) |
| Build a serial linkage from link definitions. | |
| void | c_serial_linkage_forward_kinematics (int n, const c_serial_linkage *lnk, const double *q, double *T, int ldt) |
| Evaluate serial-link forward kinematics. | |
| void | c_serial_linkage_jacobian (int n, const c_serial_linkage *lnk, const double *q, double *jac, int ldj) |
| Evaluate the serial-link Jacobian. | |
| void | c_serial_linkage_inverse_kinematics (int n, const c_serial_linkage *lnk, const double *qo, const double *trg, int ldt, double *q, c_iteration_behavior *ib) |
| Solve serial-link inverse kinematics. | |
| int c_alloc_dh_table | ( | int | n, |
| c_dh_table * | tbl | ||
| ) |
Allocate a Denavit-Hartenberg table.
| n | Number of parameter sets. |
| tbl | Table initialized by the routine. |
| void c_free_dh_table | ( | c_dh_table * | tbl | ) |
Release a Denavit-Hartenberg table.
| tbl | Table to release. |
| void c_define_link_csys | ( | const double | xim1[3], |
| const double | zim1[3], | ||
| const double | zi[3], | ||
| const double | rim1[3], | ||
| const double | ri[3], | ||
| c_coordinate_system * | csys | ||
| ) |
Define a link coordinate system from adjacent geometry.
| xim1 | Previous x direction. |
| zim1 | Previous z direction. |
| zi | Current z direction. |
| rim1 | Previous origin. |
| ri | Current origin. |
| csys | Output coordinate system. |
| void c_define_csys | ( | const double | i[3], |
| const double | j[3], | ||
| const double | k[3], | ||
| const double | o[3], | ||
| c_coordinate_system * | csys | ||
| ) |
Define a coordinate system from basis vectors and origin.
| i | First basis vector. |
| j | Second basis vector. |
| k | Third basis vector. |
| o | Origin. |
| csys | Output coordinate system. |
| void c_build_dh_table | ( | int | n, |
| const c_coordinate_system * | csys, | ||
| c_dh_table * | tbl | ||
| ) |
Build Denavit-Hartenberg parameters from coordinate systems.
| n | Number of systems. |
| csys | Coordinate systems. |
| tbl | Output table. |
| int c_alloc_serial_linkage | ( | int | n, |
| c_serial_linkage * | lnk | ||
| ) |
Allocate a serial linkage.
| n | Link count. |
| lnk | Linkage initialized by the routine. |
| void c_free_serial_linkage | ( | c_serial_linkage * | lnk | ) |
Release a serial linkage.
| lnk | Linkage to release. |
| void c_build_serial_linkage | ( | int | n, |
| const c_binary_link * | links, | ||
| c_serial_linkage * | linkage | ||
| ) |
Build a serial linkage from link definitions.
| n | Link count. |
| links | Link definitions. |
| linkage | Output linkage. |
| void c_serial_linkage_forward_kinematics | ( | int | n, |
| const c_serial_linkage * | lnk, | ||
| const double * | q, | ||
| double * | T, | ||
| int | ldt | ||
| ) |
Evaluate serial-link forward kinematics.
| n | Link count. |
| lnk | Linkage. |
| q | Joint variables. |
| T | Output transform. |
| ldt | Leading dimension of T. |
| void c_serial_linkage_jacobian | ( | int | n, |
| const c_serial_linkage * | lnk, | ||
| const double * | q, | ||
| double * | jac, | ||
| int | ldj | ||
| ) |
Evaluate the serial-link Jacobian.
| n | Link count. |
| lnk | Linkage. |
| q | Joint variables. |
| jac | Output Jacobian. |
| ldj | Leading dimension of jac. |
| void c_serial_linkage_inverse_kinematics | ( | int | n, |
| const c_serial_linkage * | lnk, | ||
| const double * | qo, | ||
| const double * | trg, | ||
| int | ldt, | ||
| double * | q, | ||
| c_iteration_behavior * | ib | ||
| ) |
Solve serial-link inverse kinematics.
| n | Link count. |
| lnk | Linkage. |
| qo | Initial joint variables. |
| trg | Target transform. |
| ldt | Leading dimension of trg. |
| q | Output joint variables. |
| ib | Output iteration statistics. |