pub struct Leash {
pub translation: f64,
pub rotation: f64,
pub joint: f64,
}Expand description
How far the desired state may run ahead of the measured one. There is no echo of a torque
command to re-anchor the generator on, so every cycle it is anchored on the measured state
pulled toward the previous desired by at most this: while the arm follows, that is exactly
the previous desired and nothing changes; held back (a hand, an obstacle, an unreachable
target) the desired stays within the leash, the force on the arm is bounded by the
stiffness times the leash, and on release the generator resumes from where the arm is
under its budget. Once a stop holds, the leash pulls toward the held state instead, so an
arm moved during the hold meets the same bound. The observer reports what the leash took
off as leash_alteration.
Fields§
§translation: f64Cartesian interface, translation, m. Default 0.025. The force at the leash is about
the felt stiffness times the leash: at the default gains at the ready pose roughly
25-30 N (the unprojected joint springs add to Kx), 18.75 N with
project_joint_gains. Set the collision
thresholds accordingly.
rotation: f64Cartesian interface, rotation, rad. Default 0.15.
joint: f64Joint interface, per joint, rad. Default 0.1. On the joint interface the torque clamp,
not the leash, bounds the torque: at the leash the JOINT
preset pulls 60 Nm on joints 1 to 4 (under their 86 Nm clamp) and 25 / 15 / 5 Nm on the
wrist, where joints 5 and 6 meet the 11.5 Nm clamp first; the examples’ 20 Nm joint
collision threshold is reached at 0.033 rad on joints 1 to 4.
Trait Implementations§
impl Copy for Leash
impl StructuralPartialEq for Leash
Auto Trait Implementations§
impl Freeze for Leash
impl RefUnwindSafe for Leash
impl Send for Leash
impl Sync for Leash
impl Unpin for Leash
impl UnsafeUnpin for Leash
impl UnwindSafe for Leash
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
impl<T> Scalar for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.