|
DYNAMICS C API
C-compatible interface to the DYNAMICS library
|
Functions | |
| int | c_alloc_mechanism_link (int nframes, c_mechanism_link *lnk) |
| Allocate a multi-frame mechanism link. | |
| void | c_free_mechanism_link (c_mechanism_link *lnk) |
| Release a multi-frame mechanism link. | |
| c_mechanism | c_create_parallel_linkage (int nlinks, const c_mechanism_link *links, int njoints, const c_joint *joints, int base, int effector, const double *tool, int ldt) |
| Create a spatial parallel linkage mechanism. | |
| c_mechanism | c_create_planar_linkage (int nlinks, const c_mechanism_link *links, int njoints, const c_joint *joints, int base, int effector, const double *tool, int ldt) |
| Create a planar parallel linkage mechanism. | |
| void | c_free_mechanism (c_mechanism obj) |
| Release a mechanism handle. | |
| int | c_mechanism_link_count (c_mechanism obj) |
| Return the number of links in a mechanism. | |
| int | c_mechanism_joint_count (c_mechanism obj) |
| Return the number of joints in a mechanism. | |
| int | c_mechanism_variable_count (c_mechanism obj) |
| Return the number of mechanism variables. | |
| int | c_mechanism_loop_count (c_mechanism obj) |
| Return the number of independent loops. | |
| int | c_mechanism_constraint_count (c_mechanism obj) |
| Return the number of constraint equations. | |
| int | c_mechanism_degrees_of_freedom (c_mechanism obj) |
| Return mechanism degrees of freedom. | |
| int | c_mechanism_actuated_variable_count (c_mechanism obj) |
| Return the number of actuated variables. | |
| int | c_mechanism_space_dimension (c_mechanism obj) |
| Return the mechanism spatial dimension. | |
| int | c_mechanism_link_frame_count (c_mechanism obj, int i) |
| Return the frame count for a link. | |
| void | c_mechanism_link_frame (c_mechanism obj, int i, int k, double *T, int ldt) |
| Return a link-frame transform. | |
| void | c_mechanism_get_configuration (c_mechanism obj, int n, double *q) |
| Get the current mechanism configuration. | |
| void | c_mechanism_set_configuration (c_mechanism obj, int n, const double *q) |
| Set the mechanism configuration. | |
| void | c_mechanism_body_transform (c_mechanism obj, int i, int n, const double *q, double *T, int ldt) |
| Evaluate a body transform at a configuration. | |
| void | c_mechanism_end_effector_transform (c_mechanism obj, int n, const double *q, double *T, int ldt) |
| Evaluate the end-effector transform. | |
| void | c_mechanism_constraints (c_mechanism obj, int n, const double *q, int nc, double *f) |
| Evaluate mechanism constraint equations. | |
| void | c_mechanism_constraint_jacobian (c_mechanism obj, int n, const double *q, double *jac, int ldj) |
| Evaluate the mechanism constraint Jacobian. | |
| void | c_mechanism_solve_configuration (c_mechanism obj, int na, const double *qa, int n, double *q, c_iteration_behavior *ib) |
| Solve for a complete mechanism configuration. | |
| void | c_mechanism_forward_kinematics (c_mechanism obj, int na, const double *qa, double *T, int ldt, c_iteration_behavior *ib) |
| Evaluate forward kinematics for a mechanism. | |
| void | c_mechanism_jacobian (c_mechanism obj, int na, const double *qa, double *jac, int ldj) |
| Evaluate a mechanism Jacobian. | |
| void | c_mechanism_inverse_kinematics (c_mechanism obj, const double *trg, int ldt, int na, double *qa, c_iteration_behavior *ib) |
| Solve mechanism inverse kinematics. | |
| int c_alloc_mechanism_link | ( | int | nframes, |
| c_mechanism_link * | lnk | ||
| ) |
Allocate a multi-frame mechanism link.
| nframes | Number of link frames. |
| lnk | Link initialized by the routine. |
| void c_free_mechanism_link | ( | c_mechanism_link * | lnk | ) |
Release a multi-frame mechanism link.
| lnk | Link to release. |
| c_mechanism c_create_parallel_linkage | ( | int | nlinks, |
| const c_mechanism_link * | links, | ||
| int | njoints, | ||
| const c_joint * | joints, | ||
| int | base, | ||
| int | effector, | ||
| const double * | tool, | ||
| int | ldt | ||
| ) |
Create a spatial parallel linkage mechanism.
| nlinks | Link count. |
| links | Link definitions. |
| njoints | Joint count. |
| joints | Joint definitions. |
| base | One-based base-link index. |
| effector | One-based end-effector link index. |
| tool | Tool transform. |
| ldt | Leading dimension of tool. |
| c_mechanism c_create_planar_linkage | ( | int | nlinks, |
| const c_mechanism_link * | links, | ||
| int | njoints, | ||
| const c_joint * | joints, | ||
| int | base, | ||
| int | effector, | ||
| const double * | tool, | ||
| int | ldt | ||
| ) |
Create a planar parallel linkage mechanism.
| nlinks | Link count. |
| links | Link definitions. |
| njoints | Joint count. |
| joints | Joint definitions. |
| base | One-based base-link index. |
| effector | One-based end-effector link index. |
| tool | Tool transform. |
| ldt | Leading dimension of tool. |
| void c_free_mechanism | ( | c_mechanism | obj | ) |
Release a mechanism handle.
| obj | Mechanism handle. |
| int c_mechanism_link_count | ( | c_mechanism | obj | ) |
Return the number of links in a mechanism.
| obj | Mechanism handle. |
| int c_mechanism_joint_count | ( | c_mechanism | obj | ) |
Return the number of joints in a mechanism.
| obj | Mechanism handle. |
| int c_mechanism_variable_count | ( | c_mechanism | obj | ) |
Return the number of mechanism variables.
| obj | Mechanism handle. |
| int c_mechanism_loop_count | ( | c_mechanism | obj | ) |
Return the number of independent loops.
| obj | Mechanism handle. |
| int c_mechanism_constraint_count | ( | c_mechanism | obj | ) |
Return the number of constraint equations.
| obj | Mechanism handle. |
| int c_mechanism_degrees_of_freedom | ( | c_mechanism | obj | ) |
Return mechanism degrees of freedom.
| obj | Mechanism handle. |
| int c_mechanism_actuated_variable_count | ( | c_mechanism | obj | ) |
Return the number of actuated variables.
| obj | Mechanism handle. |
| int c_mechanism_space_dimension | ( | c_mechanism | obj | ) |
Return the mechanism spatial dimension.
| obj | Mechanism handle. |
| int c_mechanism_link_frame_count | ( | c_mechanism | obj, |
| int | i | ||
| ) |
Return the frame count for a link.
| obj | Mechanism handle. |
| i | One-based link index. |
| void c_mechanism_link_frame | ( | c_mechanism | obj, |
| int | i, | ||
| int | k, | ||
| double * | T, | ||
| int | ldt | ||
| ) |
Return a link-frame transform.
| obj | Mechanism handle. |
| i | One-based link index. |
| k | One-based frame index. |
| T | Output transform. |
| ldt | Leading dimension of T. |
| void c_mechanism_get_configuration | ( | c_mechanism | obj, |
| int | n, | ||
| double * | q | ||
| ) |
Get the current mechanism configuration.
| obj | Mechanism handle. |
| n | Configuration length. |
| q | Output configuration. |
| void c_mechanism_set_configuration | ( | c_mechanism | obj, |
| int | n, | ||
| const double * | q | ||
| ) |
Set the mechanism configuration.
| obj | Mechanism handle. |
| n | Configuration length. |
| q | Configuration values. |
| void c_mechanism_body_transform | ( | c_mechanism | obj, |
| int | i, | ||
| int | n, | ||
| const double * | q, | ||
| double * | T, | ||
| int | ldt | ||
| ) |
Evaluate a body transform at a configuration.
| obj | Mechanism handle. |
| i | One-based body index. |
| n | Configuration length. |
| q | Configuration values. |
| T | Output transform. |
| ldt | Leading dimension of T. |
| void c_mechanism_end_effector_transform | ( | c_mechanism | obj, |
| int | n, | ||
| const double * | q, | ||
| double * | T, | ||
| int | ldt | ||
| ) |
Evaluate the end-effector transform.
| obj | Mechanism handle. |
| n | Configuration length. |
| q | Configuration values. |
| T | Output transform. |
| ldt | Leading dimension of T. |
| void c_mechanism_constraints | ( | c_mechanism | obj, |
| int | n, | ||
| const double * | q, | ||
| int | nc, | ||
| double * | f | ||
| ) |
Evaluate mechanism constraint equations.
| obj | Mechanism handle. |
| n | Configuration length. |
| q | Configuration values. |
| nc | Constraint count. |
| f | Output constraints. |
| void c_mechanism_constraint_jacobian | ( | c_mechanism | obj, |
| int | n, | ||
| const double * | q, | ||
| double * | jac, | ||
| int | ldj | ||
| ) |
Evaluate the mechanism constraint Jacobian.
| obj | Mechanism handle. |
| n | Configuration length. |
| q | Configuration values. |
| jac | Output Jacobian. |
| ldj | Leading dimension of jac. |
| void c_mechanism_solve_configuration | ( | c_mechanism | obj, |
| int | na, | ||
| const double * | qa, | ||
| int | n, | ||
| double * | q, | ||
| c_iteration_behavior * | ib | ||
| ) |
Solve for a complete mechanism configuration.
| obj | Mechanism handle. |
| na | Number of actuated variables. |
| qa | Actuated variables. |
| n | Configuration length. |
| q | Configuration updated by the solver. |
| ib | Output iteration statistics. |
| void c_mechanism_forward_kinematics | ( | c_mechanism | obj, |
| int | na, | ||
| const double * | qa, | ||
| double * | T, | ||
| int | ldt, | ||
| c_iteration_behavior * | ib | ||
| ) |
Evaluate forward kinematics for a mechanism.
| obj | Mechanism handle. |
| na | Number of actuated variables. |
| qa | Actuated variables. |
| T | Output end-effector transform. |
| ldt | Leading dimension of T. |
| ib | Output iteration statistics. |
| void c_mechanism_jacobian | ( | c_mechanism | obj, |
| int | na, | ||
| const double * | qa, | ||
| double * | jac, | ||
| int | ldj | ||
| ) |
Evaluate a mechanism Jacobian.
| obj | Mechanism handle. |
| na | Number of actuated variables. |
| qa | Actuated variables. |
| jac | Output Jacobian. |
| ldj | Leading dimension of jac. |
| void c_mechanism_inverse_kinematics | ( | c_mechanism | obj, |
| const double * | trg, | ||
| int | ldt, | ||
| int | na, | ||
| double * | qa, | ||
| c_iteration_behavior * | ib | ||
| ) |
Solve mechanism inverse kinematics.
| obj | Mechanism handle. |
| trg | Target transform. |
| ldt | Leading dimension of trg. |
| na | Number of actuated variables. |
| qa | Actuated variables, updated by the solver. |
| ib | Output iteration statistics. |