![]() |
lebai-motion-control
3.1.8
lebai motion control C interface
|
Dynamics module. More...
Functions | |
| int | lmc_dyn_id (lmc_robot_model_t *const robot_model, lmc_joint_state_t const *const joint_state, double *const torque) |
| Compute inverse dynamic of robot: given the joint position, velocity and acceleration, compute the joint torque. More... | |
| int | lmc_dyn_update_tcp_force_direct_estimation (lmc_robot_model_t *const robot_model, lmc_joint_state_t const *const joint_state, double const *const torque, lmc_wrench_t *const f) |
| Core update of direct dynamic equation based external tcp force estimatation algorithm: given the joint position, velocity and acceleration and current feedback torque on joint, try to estimate the external tcp force. More... | |
| int | lmc_dyn_update_tcp_force_momentum_observer_estimation (lmc_robot_model_t *const robot_model, double cycle_time, lmc_joint_state_t const *const joint_state, double const *const torque, lmc_wrench_t *const f) |
| Core update of momentum observer based external tcp force estimatation algorithm: given the joint position, velocity and current feedback torque on joint, try to estimate the external tcp force. More... | |
| int | lmc_dyn_init_tcp_force_momentum_observer_estimation (lmc_robot_model_t *const robot_model, lmc_joint_state_t const *const joint_state) |
| Init momentum observer estimation. More... | |
| int | lmc_dyn_estimate_payload_with_twice_strategy (lmc_robot_model_t *const robot_model, lmc_all_sampled_joint_state_t const *const all_sampled_data, double *const mass, lmc_translation_t *const com) |
| Estimate payload parameter. More... | |
| *int | lmc_dyn_gravity_compensate (lmc_robot_model_t *const robot_model, lmc_joint_state_t const *const joint_state,*double *const torque) |
| Compute gravity compensation for robot, can be used for teaching. More... | |
| **int | lmc_dyn_computed_torque_control (lmc_robot_model_t *const robot_model,*lmc_joint_state_t const *const joint_state, lmc_joint_cmd_t const *const joint_cmd,*double *const torque, double *const inertia) |
| Computed torque control algorithm. More... | |
| **int | lmc_dyn_set_computed_torque_control_param (lmc_robot_model_t *const robot_model, const double *kp, const double *kv) |
| Set computed torque control parameters. More... | |
| *int | lmc_dyn_set_gravity (lmc_robot_model_t const *const robot_model, lmc_translation_t const *const gravity) |
| Set gravity vector, will affect all the dynamic algorithms. More... | |
Dynamics module.
| * * int lmc_dyn_computed_torque_control | ( | lmc_robot_model_t *const | robot_model, |
| *lmc_joint_state_t const *const | joint_state, | ||
| lmc_joint_cmd_t const *const | joint_cmd, | ||
| *double *const | torque, | ||
| double *const | inertia | ||
| ) |
Computed torque control algorithm.
/**
| [in] | robot_model | Robot model data for dynamic computing. |
| [in] | joint_state | Joint state data input for compute. |
| [in] | joint_cmd | Joint command data input for compute. |
| [out] | torque | The torque computing result. |
| [out] | inertia | The computed matrix principal diagonal inertia, mostly represent joint inertia state. |
| int lmc_dyn_estimate_payload_with_twice_strategy | ( | lmc_robot_model_t *const | robot_model, |
| lmc_all_sampled_joint_state_t const *const | all_sampled_data, | ||
| double *const | mass, | ||
| lmc_translation_t *const | com | ||
| ) |
Estimate payload parameter.
| [in] | robot_model | Robot model data for dynamic computing. |
| [in] | all_sampled_data | All sampled data. For joint torques, we get the delta torques of two measurements. Only one joint can move simultaneously. |
| [out] | mass | computed mass. |
| [out] | com | computed center of mass. |
| * int lmc_dyn_gravity_compensate | ( | lmc_robot_model_t *const | robot_model, |
| lmc_joint_state_t const *const | joint_state, | ||
| *double *const | torque | ||
| ) |
Compute gravity compensation for robot, can be used for teaching.
/**
| [in] | robot_model | Robot model data for dynamic computing. |
| [in] | joint_state | Joint state data input for compute. |
| [out] | torque | The computed result in array form. |
| int lmc_dyn_id | ( | lmc_robot_model_t *const | robot_model, |
| lmc_joint_state_t const *const | joint_state, | ||
| double *const | torque | ||
| ) |
Compute inverse dynamic of robot: given the joint position, velocity and acceleration, compute the joint torque.
| [in] | robot_model | Robot model data for dynamic computing. |
| [in] | joint_state | Joint state data input for compute. |
| [out] | torque | The computed result in array form. |
| int lmc_dyn_init_tcp_force_momentum_observer_estimation | ( | lmc_robot_model_t *const | robot_model, |
| lmc_joint_state_t const *const | joint_state | ||
| ) |
Init momentum observer estimation.
| [in] | robot_model | Robot model data for dynamic computing. |
| [in] | joint_state | Joint state data input for compute, only position and velocity will be used. |
| * * int lmc_dyn_set_computed_torque_control_param | ( | lmc_robot_model_t *const | robot_model, |
| const double * | kp, | ||
| const double * | kv | ||
| ) |
Set computed torque control parameters.
/**
| [in] | robot_model | Robot model data structure for setting. |
| [in] | kp | kp array data. |
| [in] | kv | kv array data. |
| * int lmc_dyn_set_gravity | ( | lmc_robot_model_t const *const | robot_model, |
| lmc_translation_t const *const | gravity | ||
| ) |
Set gravity vector, will affect all the dynamic algorithms.
| [in] | robot_model | Robot model data structure for setting. |
| [in] | gravity | gravity vector data |
| int lmc_dyn_update_tcp_force_direct_estimation | ( | lmc_robot_model_t *const | robot_model, |
| lmc_joint_state_t const *const | joint_state, | ||
| double const *const | torque, | ||
| lmc_wrench_t *const | f | ||
| ) |
Core update of direct dynamic equation based external tcp force estimatation algorithm: given the joint position, velocity and acceleration and current feedback torque on joint, try to estimate the external tcp force.
| [in] | robot_model | Robot model data for dynamic computing. |
| [in] | joint_state | Joint state data input for compute. |
| [in] | torque | The actual joint torque in array form. |
| [out] | f | The external tcp force. |
| int lmc_dyn_update_tcp_force_momentum_observer_estimation | ( | lmc_robot_model_t *const | robot_model, |
| double | cycle_time, | ||
| lmc_joint_state_t const *const | joint_state, | ||
| double const *const | torque, | ||
| lmc_wrench_t *const | f | ||
| ) |
Core update of momentum observer based external tcp force estimatation algorithm: given the joint position, velocity and current feedback torque on joint, try to estimate the external tcp force.
| [in] | robot_model | Robot model data for dynamic computing. |
| [in] | cycle_time | loop cycle time. |
| [in] | joint_state | Joint state data input for compute, only position and velocity will be used. |
| [in] | torque | The actual joint torque in array form. |
| [out] | f | The external tcp force. |
1.8.11