pub struct NativeBackend { /* private fields */ }Expand description
Serial-chain rigid-body model built from a URDF.
Implementations§
Source§impl NativeBackend
impl NativeBackend
Sourcepub fn from_urdf(urdf: &str) -> FrankaResult<NativeBackend>
pub fn from_urdf(urdf: &str) -> FrankaResult<NativeBackend>
Builds the model from a URDF string.
The chain from the URDF root to the link8 frame must contain exactly
seven revolute (or continuous) joints; fixed joints anywhere along the
way are folded into the neighbouring placements and the inertias of the
links they carry are merged into the supporting joint, which is what
pinocchio::urdf::buildModelFromXML does for the model libfranka builds.
Sourcepub fn flange_placement(&self) -> [f64; 16]
pub fn flange_placement(&self) -> [f64; 16]
Placement of the flange (link8) frame in joint 7’s frame, as a
column-major 4x4 matrix.
This is pinocchio_model_.frames[last_link_frame_index_].placement, the
transform RobotModel::updateInertiaIfNeeded uses to move the total
load from the flange frame into the last joint’s frame.
Trait Implementations§
Source§impl Clone for NativeBackend
impl Clone for NativeBackend
Source§fn clone(&self) -> NativeBackend
fn clone(&self) -> NativeBackend
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for NativeBackend
impl Debug for NativeBackend
Source§impl RobotModelBackend for NativeBackend
impl RobotModelBackend for NativeBackend
Source§fn coriolis(
&self,
q: &[f64; 7],
dq: &[f64; 7],
i_total: &[f64; 9],
m_total: f64,
f_x_ctotal: &[f64; 3],
gravity_earth: &[f64; 3],
) -> [f64; 7]
fn coriolis( &self, q: &[f64; 7], dq: &[f64; 7], i_total: &[f64; 9], m_total: f64, f_x_ctotal: &[f64; 3], gravity_earth: &[f64; 3], ) -> [f64; 7]
Coriolis force vector
C(q, dq) * dq, in Nm. Read moreSource§fn gravity(
&self,
q: &[f64; 7],
gravity_earth: &[f64; 3],
m_total: f64,
f_x_ctotal: &[f64; 3],
) -> [f64; 7]
fn gravity( &self, q: &[f64; 7], gravity_earth: &[f64; 3], m_total: f64, f_x_ctotal: &[f64; 3], ) -> [f64; 7]
Gravity torque vector, in Nm. Port of
RobotModelBase::gravity.Source§fn mass(
&self,
q: &[f64; 7],
i_total: &[f64; 9],
m_total: f64,
f_x_ctotal: &[f64; 3],
) -> [f64; 49]
fn mass( &self, q: &[f64; 7], i_total: &[f64; 9], m_total: f64, f_x_ctotal: &[f64; 3], ) -> [f64; 49]
7x7 joint-space inertia matrix, column-major. Port of
RobotModelBase::mass.Source§fn pose(&self, q: &[f64; 7], joint_index: usize) -> [f64; 16]
fn pose(&self, q: &[f64; 7], joint_index: usize) -> [f64; 16]
Pose of a joint frame in the base frame. Port of
RobotModelBase::pose.Source§fn pose_flange(&self, q: &[f64; 7]) -> [f64; 16]
fn pose_flange(&self, q: &[f64; 7]) -> [f64; 16]
Pose of the flange frame. Port of
RobotModelBase::poseFlange.Source§fn pose_ee(&self, q: &[f64; 7], f_t_ee: &[f64; 16]) -> [f64; 16]
fn pose_ee(&self, q: &[f64; 7], f_t_ee: &[f64; 16]) -> [f64; 16]
Pose of the end-effector frame. Port of
RobotModelBase::poseEe.Source§fn pose_stiffness(
&self,
q: &[f64; 7],
f_t_ee: &[f64; 16],
ee_t_k: &[f64; 16],
) -> [f64; 16]
fn pose_stiffness( &self, q: &[f64; 7], f_t_ee: &[f64; 16], ee_t_k: &[f64; 16], ) -> [f64; 16]
Pose of the stiffness frame. Port of
RobotModelBase::poseStiffness.Source§fn body_jacobian(&self, q: &[f64; 7], joint_index: usize) -> [f64; 42]
fn body_jacobian(&self, q: &[f64; 7], joint_index: usize) -> [f64; 42]
Body (
LOCAL) Jacobian of a joint frame. Port of RobotModelBase::bodyJacobian.Source§fn body_jacobian_flange(&self, q: &[f64; 7]) -> [f64; 42]
fn body_jacobian_flange(&self, q: &[f64; 7]) -> [f64; 42]
Body Jacobian of the flange frame. Port of
RobotModelBase::bodyJacobianFlange.Source§fn body_jacobian_ee(&self, q: &[f64; 7], f_t_ee: &[f64; 16]) -> [f64; 42]
fn body_jacobian_ee(&self, q: &[f64; 7], f_t_ee: &[f64; 16]) -> [f64; 42]
Body Jacobian of the end-effector frame. Port of
RobotModelBase::bodyJacobianEe.Source§fn body_jacobian_stiffness(
&self,
q: &[f64; 7],
f_t_ee: &[f64; 16],
ee_t_k: &[f64; 16],
) -> [f64; 42]
fn body_jacobian_stiffness( &self, q: &[f64; 7], f_t_ee: &[f64; 16], ee_t_k: &[f64; 16], ) -> [f64; 42]
Body Jacobian of the stiffness frame. Port of
RobotModelBase::bodyJacobianStiffness.Source§fn zero_jacobian(&self, q: &[f64; 7], joint_index: usize) -> [f64; 42]
fn zero_jacobian(&self, q: &[f64; 7], joint_index: usize) -> [f64; 42]
Zero (
LOCAL_WORLD_ALIGNED) Jacobian of a joint frame. Port of
RobotModelBase::zeroJacobian.Source§fn zero_jacobian_flange(&self, q: &[f64; 7]) -> [f64; 42]
fn zero_jacobian_flange(&self, q: &[f64; 7]) -> [f64; 42]
Zero Jacobian of the flange frame. Port of
RobotModelBase::zeroJacobianFlange.Auto Trait Implementations§
impl Freeze for NativeBackend
impl RefUnwindSafe for NativeBackend
impl Send for NativeBackend
impl Sync for NativeBackend
impl Unpin for NativeBackend
impl UnsafeUnpin for NativeBackend
impl UnwindSafe for NativeBackend
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
Mutably borrows from an owned value. Read more
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<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>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
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
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.