pub struct CuDiffIkParams {
pub base_damping: f64,
pub max_singularity_damping: f64,
pub singularity_threshold_sq: f64,
pub limit_margin: Angle,
pub linear_limit_margin: Length,
pub enforce_velocity_limits: bool,
}Expand description
Parameters of velocity/twist differential inverse kinematics (Jacobian servoing).
RON (every field optional, SI values):
{"base_damping": 0.02, "max_singularity_damping": 0.25, "singularity_threshold_sq": 1e-4, "limit_margin": 0.15, "linear_limit_margin": 0.015, "enforce_velocity_limits": true}
Fields§
§base_damping: f64Baseline damping factor $\lambda_0 > 0$ used far from singularities (dimensionless).
max_singularity_damping: f64Maximum additional damping $\lambda_{\max} \ge 0$ added at exact singularity (dimensionless).
singularity_threshold_sq: f64Yoshikawa manipulability squared threshold $w_{\text{thresh}}^2$ below which adaptive
singularity damping ramps up smoothly (dimensionless; 0 disables it).
limit_margin: AngleRevolute joint-limit proximity margin within which motion toward a limit is smoothly damped.
linear_limit_margin: LengthPrismatic joint-limit damping distance.
enforce_velocity_limits: boolWhether to uniformly scale output joint velocities when any joint exceeds max_velocity.
Implementations§
Trait Implementations§
Source§impl<'__de, __Context> BorrowDecode<'__de, __Context> for CuDiffIkParams
impl<'__de, __Context> BorrowDecode<'__de, __Context> for CuDiffIkParams
Source§fn borrow_decode<__D: BorrowDecoder<'__de, Context = __Context>>(
decoder: &mut __D,
) -> Result<Self, DecodeError>
fn borrow_decode<__D: BorrowDecoder<'__de, Context = __Context>>( decoder: &mut __D, ) -> Result<Self, DecodeError>
Source§impl Clone for CuDiffIkParams
impl Clone for CuDiffIkParams
Source§fn clone(&self) -> CuDiffIkParams
fn clone(&self) -> CuDiffIkParams
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for CuDiffIkParams
Source§impl Debug for CuDiffIkParams
impl Debug for CuDiffIkParams
Source§impl<__Context> Decode<__Context> for CuDiffIkParams
impl<__Context> Decode<__Context> for CuDiffIkParams
Source§impl Default for CuDiffIkParams
impl Default for CuDiffIkParams
Source§impl<'de> Deserialize<'de> for CuDiffIkParamswhere
CuDiffIkParams: Default,
impl<'de> Deserialize<'de> for CuDiffIkParamswhere
CuDiffIkParams: Default,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Encode for CuDiffIkParams
impl Encode for CuDiffIkParams
Source§impl PartialEq for CuDiffIkParams
impl PartialEq for CuDiffIkParams
Source§impl Serialize for CuDiffIkParams
impl Serialize for CuDiffIkParams
impl StructuralPartialEq for CuDiffIkParams
Source§impl TypePath for CuDiffIkParams
impl TypePath for CuDiffIkParams
fn type_path() -> &'static str
fn short_type_path() -> &'static str
fn type_ident() -> Option<&'static str>
fn crate_name() -> Option<&'static str>
fn module_path() -> Option<&'static str>
Auto Trait Implementations§
impl Freeze for CuDiffIkParams
impl RefUnwindSafe for CuDiffIkParams
impl Send for CuDiffIkParams
impl Sync for CuDiffIkParams
impl Unpin for CuDiffIkParams
impl UnsafeUnpin for CuDiffIkParams
impl UnwindSafe for CuDiffIkParams
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CuMsgPayload for T
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§impl<T> ElementType for T
impl<T> ElementType for T
impl<T> GetTypeRegistration for T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more