Skip to main content

FKChain

Trait FKChain 

Source
pub trait FKChain<const N: usize, F: KinScalar = f32>:
    Clone
    + Send
    + Sync {
    type Error: Into<DekeError>;

    // Required method
    fn fk(&self, q: &SRobotQ<N, F>) -> Result<[F::AAffine3; N], Self::Error>;

    // Provided methods
    fn dof(&self) -> usize { ... }
    fn base_tf(&self) -> F::AAffine3 { ... }
    fn ee_tf(&self) -> F::AAffine3 { ... }
    fn fk_end(&self, q: &SRobotQ<N, F>) -> Result<F::AAffine3, Self::Error> { ... }
    fn all_fk(
        &self,
        q: &SRobotQ<N, F>,
    ) -> Result<(F::AAffine3, [F::AAffine3; N], F::AAffine3), Self::Error> { ... }
}

Required Associated Types§

Required Methods§

Source

fn fk(&self, q: &SRobotQ<N, F>) -> Result<[F::AAffine3; N], Self::Error>

Provided Methods§

Source

fn dof(&self) -> usize

Source

fn base_tf(&self) -> F::AAffine3

Configuration-independent transform from the robot’s base frame to the world frame.

Source

fn ee_tf(&self) -> F::AAffine3

Source

fn fk_end(&self, q: &SRobotQ<N, F>) -> Result<F::AAffine3, Self::Error>

End-effector frame at configuration q.

Source

fn all_fk( &self, q: &SRobotQ<N, F>, ) -> Result<(F::AAffine3, [F::AAffine3; N], F::AAffine3), Self::Error>

Compute base transform, per-link frames, and the end-effector frame in one call.

Dyn Compatibility§

This trait is not dyn compatible.

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

Implementors§

Source§

impl<const N: usize, F: KinScalar> FKChain<N, F> for BoxFK<N, F>