Skip to main content

ArmParam

Trait ArmParam 

Source
pub trait ArmParam<const N: usize> {
Show 17 associated constants and 5 methods const JOINT_MIN: [f64; N]; const JOINT_MAX: [f64; N]; const CONTROL_PERIOD: f64; const JOINT_TYPES: [JointType; N] = _; const JOINT_DEFAULT: [f64; N] = _; const JOINT_PACKED: [f64; N] = _; const JOINT_VEL_BOUND: [f64; N] = _; const JOINT_ACC_BOUND: [f64; N] = _; const JOINT_JERK_BOUND: [f64; N] = _; const CARTESIAN_VEL_BOUND: f64 = f64::MAX; const CARTESIAN_ACC_BOUND: f64 = f64::MAX; const CARTESIAN_JERK_BOUND: f64 = f64::MAX; const ROTATION_VEL_BOUND: f64 = f64::MAX; const ROTATION_ACC_BOUND: f64 = f64::MAX; const ROTATION_JERK_BOUND: f64 = f64::MAX; const TORQUE_BOUND: [f64; N] = _; const TORQUE_DOT_BOUND: [f64; N] = _; // Provided methods fn limit_joint_jerk(q_dddot: &mut [f64; N]) -> &mut [f64; N] { ... } fn limit_joint_acc<'a>( q_ddot: &'a mut [f64; N], q_ddot_last: &[f64; N], time: f64, ) -> &'a mut [f64; N] { ... } fn limit_joint_vel<'a>( q_dot: &'a mut [f64; N], q_dot_last: &[f64; N], q_ddot_last: &[f64; N], time: f64, ) -> &'a mut [f64; N] { ... } fn limit_joint<'a>( q: &'a mut [f64; N], q_last: &[f64; N], q_dot_last: &[f64; N], q_ddot_last: &[f64; N], time: f64, ) -> &'a mut [f64; N] { ... } fn limit_torque<'a>( tau: &'a mut [f64; N], tau_last: &[f64; N], time: f64, ) -> &'a mut [f64; N] { ... }
}

Required Associated Constants§

Source

const JOINT_MIN: [f64; N]

Source

const JOINT_MAX: [f64; N]

Source

const CONTROL_PERIOD: f64

Control loop period in seconds. Used by trajectory-planning default implementations (e.g. ArmPreplannedPath::move_waypoints) to lay down a uniform time grid. Override this to match the actual realtime rate of the underlying driver.

Provided Associated Constants§

Source

const JOINT_TYPES: [JointType; N] = _

Source

const JOINT_DEFAULT: [f64; N] = _

Source

const JOINT_PACKED: [f64; N] = _

Source

const JOINT_VEL_BOUND: [f64; N] = _

Source

const JOINT_ACC_BOUND: [f64; N] = _

Source

const JOINT_JERK_BOUND: [f64; N] = _

Source

const CARTESIAN_VEL_BOUND: f64 = f64::MAX

Source

const CARTESIAN_ACC_BOUND: f64 = f64::MAX

Source

const CARTESIAN_JERK_BOUND: f64 = f64::MAX

Source

const ROTATION_VEL_BOUND: f64 = f64::MAX

Source

const ROTATION_ACC_BOUND: f64 = f64::MAX

Source

const ROTATION_JERK_BOUND: f64 = f64::MAX

Source

const TORQUE_BOUND: [f64; N] = _

Source

const TORQUE_DOT_BOUND: [f64; N] = _

Provided Methods§

Source

fn limit_joint_jerk(q_dddot: &mut [f64; N]) -> &mut [f64; N]

Source

fn limit_joint_acc<'a>( q_ddot: &'a mut [f64; N], q_ddot_last: &[f64; N], time: f64, ) -> &'a mut [f64; N]

Source

fn limit_joint_vel<'a>( q_dot: &'a mut [f64; N], q_dot_last: &[f64; N], q_ddot_last: &[f64; N], time: f64, ) -> &'a mut [f64; N]

Source

fn limit_joint<'a>( q: &'a mut [f64; N], q_last: &[f64; N], q_dot_last: &[f64; N], q_ddot_last: &[f64; N], time: f64, ) -> &'a mut [f64; N]

Source

fn limit_torque<'a>( tau: &'a mut [f64; N], tau_last: &[f64; N], time: f64, ) -> &'a mut [f64; N]

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§