pub struct CartesianPose {
pub O_T_EE: [f64; 16],
pub elbow: [f64; 2],
pub has_elbow: bool,
pub motion_finished: bool,
}Expand description
Stores values for Cartesian pose motion generation.
Port of franka::CartesianPose.
Fields§
§O_T_EE: [f64; 16]Homogeneous transformation O_T_EE_d, column major, that transforms from the end effector
frame EE to base frame O.
elbow: [f64; 2]Elbow configuration: elbow[0] is the position of the 3rd joint in [rad],
elbow[1] the flip direction of the elbow (4th joint), +1 or -1.
has_elbow: boolWhether there is a stored elbow configuration.
libfranka’s CartesianPose::hasElbow() reports elbow != {0, 0}; the constructors below
reproduce that, so with_elbow([.., ..], [0.0, 0.0]) yields has_elbow == false.
motion_finished: boolDetermines whether to finish a currently running motion.
Implementations§
Source§impl CartesianPose
impl CartesianPose
Sourcepub fn new(O_T_EE: [f64; 16]) -> Self
pub fn new(O_T_EE: [f64; 16]) -> Self
Creates a new CartesianPose without an elbow configuration.
O_T_EE is a column-major homogeneous transformation matrix.
Sourcepub fn with_elbow(O_T_EE: [f64; 16], elbow: [f64; 2]) -> Self
pub fn with_elbow(O_T_EE: [f64; 16], elbow: [f64; 2]) -> Self
Creates a new CartesianPose with an elbow configuration.
Sourcepub fn validate(&self) -> FrankaResult<()>
pub fn validate(&self) -> FrankaResult<()>
Validates the command like libfranka’s control_loop.cpp does before sending it
(checkMatrix(command.O_T_EE_c) and, if an elbow is set, checkElbow(command.elbow_c)).
Trait Implementations§
Source§impl ActiveMotionInput for CartesianPose
impl ActiveMotionInput for CartesianPose
Source§fn create_motion_command(&self) -> FrankaResult<MotionGeneratorCommand>
fn create_motion_command(&self) -> FrankaResult<MotionGeneratorCommand>
Source§impl Clone for CartesianPose
impl Clone for CartesianPose
Source§fn clone(&self) -> CartesianPose
fn clone(&self) -> CartesianPose
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 CartesianPose
Source§impl Debug for CartesianPose
impl Debug for CartesianPose
Source§impl Finishable for CartesianPose
impl Finishable for CartesianPose
Source§fn is_finished(&self) -> bool
fn is_finished(&self) -> bool
Source§fn set_finished(&mut self, finished: bool)
fn set_finished(&mut self, finished: bool)
Source§impl MotionGenerator for CartesianPose
impl MotionGenerator for CartesianPose
Source§const KIND: MotionGeneratorKind = MotionGeneratorKind::CartesianPosition
const KIND: MotionGeneratorKind = MotionGeneratorKind::CartesianPosition
Source§impl PartialEq for CartesianPose
impl PartialEq for CartesianPose
Source§fn eq(&self, other: &CartesianPose) -> bool
fn eq(&self, other: &CartesianPose) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for CartesianPose
Auto Trait Implementations§
impl Freeze for CartesianPose
impl RefUnwindSafe for CartesianPose
impl Send for CartesianPose
impl Sync for CartesianPose
impl Unpin for CartesianPose
impl UnsafeUnpin for CartesianPose
impl UnwindSafe for CartesianPose
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.