pub enum DynamicURDFChain {
J1(URDFChain<1>),
J2(URDFChain<2>),
J3(URDFChain<3>),
J4(URDFChain<4>),
J5(URDFChain<5>),
J6(URDFChain<6>),
J7(URDFChain<7>),
J8(URDFChain<8>),
}Variants§
J1(URDFChain<1>)
J2(URDFChain<2>)
J3(URDFChain<3>)
J4(URDFChain<4>)
J5(URDFChain<5>)
J6(URDFChain<6>)
J7(URDFChain<7>)
J8(URDFChain<8>)
Implementations§
Source§impl DynamicURDFChain
impl DynamicURDFChain
pub fn try_new(joints: Vec<URDFJoint>) -> DekeResult<Self>
pub fn dof(&self) -> usize
pub fn fk_dyn(&self, q: &[f32]) -> DekeResult<Vec<Affine3A>>
pub fn fk_end_dyn(&self, q: &[f32]) -> DekeResult<Affine3A>
Source§impl DynamicURDFChain
impl DynamicURDFChain
pub fn from_chain(chain: impl Into<Self>) -> Self
Trait Implementations§
Source§impl Clone for DynamicURDFChain
impl Clone for DynamicURDFChain
Source§fn clone(&self) -> DynamicURDFChain
fn clone(&self) -> DynamicURDFChain
Returns a duplicate of the value. Read more
1.0.0 · 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 DynamicURDFChain
impl Debug for DynamicURDFChain
Source§impl FKChain<1> for DynamicURDFChain
impl FKChain<1> for DynamicURDFChain
type Error = DekeError
Source§fn base_tf(&self) -> Affine3A
fn base_tf(&self) -> Affine3A
Configuration-independent transform from the robot’s base frame to the
world frame. Defaults to identity; wrappers that install a static
prefix (e.g.
TransformedFK with a prefix set, or URDFChain
with fixed leading joints baked in) override this so downstream
consumers (collision validators, visualizers) can place the static
base body at the correct pose.fn fk(&self, q: &SRobotQ<1>) -> Result<[Affine3A; 1], Self::Error>
fn fk_end(&self, q: &SRobotQ<1>) -> Result<Affine3A, Self::Error>
Source§fn joint_axes_positions(
&self,
q: &SRobotQ<1>,
) -> Result<([Vec3A; 1], [Vec3A; 1], Vec3A), Self::Error>
fn joint_axes_positions( &self, q: &SRobotQ<1>, ) -> Result<([Vec3A; 1], [Vec3A; 1], Vec3A), Self::Error>
Returns joint rotation axes and axis-origin positions in world frame at
configuration
q, plus the end-effector position.fn dof(&self) -> usize
Source§fn max_reach(&self) -> Result<f32, Self::Error>
fn max_reach(&self) -> Result<f32, Self::Error>
Theoretical maximum reach: sum of link lengths (upper bound, ignores joint limits).
Source§fn jacobian(&self, q: &SRobotQ<N>) -> Result<[[f32; N]; 6], Self::Error>
fn jacobian(&self, q: &SRobotQ<N>) -> Result<[[f32; N]; 6], Self::Error>
Geometric Jacobian (6×N) at configuration
q.
Rows 0–2: linear velocity, rows 3–5: angular velocity.Source§impl FKChain<2> for DynamicURDFChain
impl FKChain<2> for DynamicURDFChain
type Error = DekeError
Source§fn base_tf(&self) -> Affine3A
fn base_tf(&self) -> Affine3A
Configuration-independent transform from the robot’s base frame to the
world frame. Defaults to identity; wrappers that install a static
prefix (e.g.
TransformedFK with a prefix set, or URDFChain
with fixed leading joints baked in) override this so downstream
consumers (collision validators, visualizers) can place the static
base body at the correct pose.fn fk(&self, q: &SRobotQ<2>) -> Result<[Affine3A; 2], Self::Error>
fn fk_end(&self, q: &SRobotQ<2>) -> Result<Affine3A, Self::Error>
Source§fn joint_axes_positions(
&self,
q: &SRobotQ<2>,
) -> Result<([Vec3A; 2], [Vec3A; 2], Vec3A), Self::Error>
fn joint_axes_positions( &self, q: &SRobotQ<2>, ) -> Result<([Vec3A; 2], [Vec3A; 2], Vec3A), Self::Error>
Returns joint rotation axes and axis-origin positions in world frame at
configuration
q, plus the end-effector position.fn dof(&self) -> usize
Source§fn max_reach(&self) -> Result<f32, Self::Error>
fn max_reach(&self) -> Result<f32, Self::Error>
Theoretical maximum reach: sum of link lengths (upper bound, ignores joint limits).
Source§fn jacobian(&self, q: &SRobotQ<N>) -> Result<[[f32; N]; 6], Self::Error>
fn jacobian(&self, q: &SRobotQ<N>) -> Result<[[f32; N]; 6], Self::Error>
Geometric Jacobian (6×N) at configuration
q.
Rows 0–2: linear velocity, rows 3–5: angular velocity.Source§impl FKChain<3> for DynamicURDFChain
impl FKChain<3> for DynamicURDFChain
type Error = DekeError
Source§fn base_tf(&self) -> Affine3A
fn base_tf(&self) -> Affine3A
Configuration-independent transform from the robot’s base frame to the
world frame. Defaults to identity; wrappers that install a static
prefix (e.g.
TransformedFK with a prefix set, or URDFChain
with fixed leading joints baked in) override this so downstream
consumers (collision validators, visualizers) can place the static
base body at the correct pose.fn fk(&self, q: &SRobotQ<3>) -> Result<[Affine3A; 3], Self::Error>
fn fk_end(&self, q: &SRobotQ<3>) -> Result<Affine3A, Self::Error>
Source§fn joint_axes_positions(
&self,
q: &SRobotQ<3>,
) -> Result<([Vec3A; 3], [Vec3A; 3], Vec3A), Self::Error>
fn joint_axes_positions( &self, q: &SRobotQ<3>, ) -> Result<([Vec3A; 3], [Vec3A; 3], Vec3A), Self::Error>
Returns joint rotation axes and axis-origin positions in world frame at
configuration
q, plus the end-effector position.fn dof(&self) -> usize
Source§fn max_reach(&self) -> Result<f32, Self::Error>
fn max_reach(&self) -> Result<f32, Self::Error>
Theoretical maximum reach: sum of link lengths (upper bound, ignores joint limits).
Source§fn jacobian(&self, q: &SRobotQ<N>) -> Result<[[f32; N]; 6], Self::Error>
fn jacobian(&self, q: &SRobotQ<N>) -> Result<[[f32; N]; 6], Self::Error>
Geometric Jacobian (6×N) at configuration
q.
Rows 0–2: linear velocity, rows 3–5: angular velocity.Source§impl FKChain<4> for DynamicURDFChain
impl FKChain<4> for DynamicURDFChain
type Error = DekeError
Source§fn base_tf(&self) -> Affine3A
fn base_tf(&self) -> Affine3A
Configuration-independent transform from the robot’s base frame to the
world frame. Defaults to identity; wrappers that install a static
prefix (e.g.
TransformedFK with a prefix set, or URDFChain
with fixed leading joints baked in) override this so downstream
consumers (collision validators, visualizers) can place the static
base body at the correct pose.fn fk(&self, q: &SRobotQ<4>) -> Result<[Affine3A; 4], Self::Error>
fn fk_end(&self, q: &SRobotQ<4>) -> Result<Affine3A, Self::Error>
Source§fn joint_axes_positions(
&self,
q: &SRobotQ<4>,
) -> Result<([Vec3A; 4], [Vec3A; 4], Vec3A), Self::Error>
fn joint_axes_positions( &self, q: &SRobotQ<4>, ) -> Result<([Vec3A; 4], [Vec3A; 4], Vec3A), Self::Error>
Returns joint rotation axes and axis-origin positions in world frame at
configuration
q, plus the end-effector position.fn dof(&self) -> usize
Source§fn max_reach(&self) -> Result<f32, Self::Error>
fn max_reach(&self) -> Result<f32, Self::Error>
Theoretical maximum reach: sum of link lengths (upper bound, ignores joint limits).
Source§fn jacobian(&self, q: &SRobotQ<N>) -> Result<[[f32; N]; 6], Self::Error>
fn jacobian(&self, q: &SRobotQ<N>) -> Result<[[f32; N]; 6], Self::Error>
Geometric Jacobian (6×N) at configuration
q.
Rows 0–2: linear velocity, rows 3–5: angular velocity.Source§impl FKChain<5> for DynamicURDFChain
impl FKChain<5> for DynamicURDFChain
type Error = DekeError
Source§fn base_tf(&self) -> Affine3A
fn base_tf(&self) -> Affine3A
Configuration-independent transform from the robot’s base frame to the
world frame. Defaults to identity; wrappers that install a static
prefix (e.g.
TransformedFK with a prefix set, or URDFChain
with fixed leading joints baked in) override this so downstream
consumers (collision validators, visualizers) can place the static
base body at the correct pose.fn fk(&self, q: &SRobotQ<5>) -> Result<[Affine3A; 5], Self::Error>
fn fk_end(&self, q: &SRobotQ<5>) -> Result<Affine3A, Self::Error>
Source§fn joint_axes_positions(
&self,
q: &SRobotQ<5>,
) -> Result<([Vec3A; 5], [Vec3A; 5], Vec3A), Self::Error>
fn joint_axes_positions( &self, q: &SRobotQ<5>, ) -> Result<([Vec3A; 5], [Vec3A; 5], Vec3A), Self::Error>
Returns joint rotation axes and axis-origin positions in world frame at
configuration
q, plus the end-effector position.fn dof(&self) -> usize
Source§fn max_reach(&self) -> Result<f32, Self::Error>
fn max_reach(&self) -> Result<f32, Self::Error>
Theoretical maximum reach: sum of link lengths (upper bound, ignores joint limits).
Source§fn jacobian(&self, q: &SRobotQ<N>) -> Result<[[f32; N]; 6], Self::Error>
fn jacobian(&self, q: &SRobotQ<N>) -> Result<[[f32; N]; 6], Self::Error>
Geometric Jacobian (6×N) at configuration
q.
Rows 0–2: linear velocity, rows 3–5: angular velocity.Source§impl FKChain<6> for DynamicURDFChain
impl FKChain<6> for DynamicURDFChain
type Error = DekeError
Source§fn base_tf(&self) -> Affine3A
fn base_tf(&self) -> Affine3A
Configuration-independent transform from the robot’s base frame to the
world frame. Defaults to identity; wrappers that install a static
prefix (e.g.
TransformedFK with a prefix set, or URDFChain
with fixed leading joints baked in) override this so downstream
consumers (collision validators, visualizers) can place the static
base body at the correct pose.fn fk(&self, q: &SRobotQ<6>) -> Result<[Affine3A; 6], Self::Error>
fn fk_end(&self, q: &SRobotQ<6>) -> Result<Affine3A, Self::Error>
Source§fn joint_axes_positions(
&self,
q: &SRobotQ<6>,
) -> Result<([Vec3A; 6], [Vec3A; 6], Vec3A), Self::Error>
fn joint_axes_positions( &self, q: &SRobotQ<6>, ) -> Result<([Vec3A; 6], [Vec3A; 6], Vec3A), Self::Error>
Returns joint rotation axes and axis-origin positions in world frame at
configuration
q, plus the end-effector position.fn dof(&self) -> usize
Source§fn max_reach(&self) -> Result<f32, Self::Error>
fn max_reach(&self) -> Result<f32, Self::Error>
Theoretical maximum reach: sum of link lengths (upper bound, ignores joint limits).
Source§fn jacobian(&self, q: &SRobotQ<N>) -> Result<[[f32; N]; 6], Self::Error>
fn jacobian(&self, q: &SRobotQ<N>) -> Result<[[f32; N]; 6], Self::Error>
Geometric Jacobian (6×N) at configuration
q.
Rows 0–2: linear velocity, rows 3–5: angular velocity.Source§impl FKChain<7> for DynamicURDFChain
impl FKChain<7> for DynamicURDFChain
type Error = DekeError
Source§fn base_tf(&self) -> Affine3A
fn base_tf(&self) -> Affine3A
Configuration-independent transform from the robot’s base frame to the
world frame. Defaults to identity; wrappers that install a static
prefix (e.g.
TransformedFK with a prefix set, or URDFChain
with fixed leading joints baked in) override this so downstream
consumers (collision validators, visualizers) can place the static
base body at the correct pose.fn fk(&self, q: &SRobotQ<7>) -> Result<[Affine3A; 7], Self::Error>
fn fk_end(&self, q: &SRobotQ<7>) -> Result<Affine3A, Self::Error>
Source§fn joint_axes_positions(
&self,
q: &SRobotQ<7>,
) -> Result<([Vec3A; 7], [Vec3A; 7], Vec3A), Self::Error>
fn joint_axes_positions( &self, q: &SRobotQ<7>, ) -> Result<([Vec3A; 7], [Vec3A; 7], Vec3A), Self::Error>
Returns joint rotation axes and axis-origin positions in world frame at
configuration
q, plus the end-effector position.fn dof(&self) -> usize
Source§fn max_reach(&self) -> Result<f32, Self::Error>
fn max_reach(&self) -> Result<f32, Self::Error>
Theoretical maximum reach: sum of link lengths (upper bound, ignores joint limits).
Source§fn jacobian(&self, q: &SRobotQ<N>) -> Result<[[f32; N]; 6], Self::Error>
fn jacobian(&self, q: &SRobotQ<N>) -> Result<[[f32; N]; 6], Self::Error>
Geometric Jacobian (6×N) at configuration
q.
Rows 0–2: linear velocity, rows 3–5: angular velocity.Source§impl FKChain<8> for DynamicURDFChain
impl FKChain<8> for DynamicURDFChain
type Error = DekeError
Source§fn base_tf(&self) -> Affine3A
fn base_tf(&self) -> Affine3A
Configuration-independent transform from the robot’s base frame to the
world frame. Defaults to identity; wrappers that install a static
prefix (e.g.
TransformedFK with a prefix set, or URDFChain
with fixed leading joints baked in) override this so downstream
consumers (collision validators, visualizers) can place the static
base body at the correct pose.fn fk(&self, q: &SRobotQ<8>) -> Result<[Affine3A; 8], Self::Error>
fn fk_end(&self, q: &SRobotQ<8>) -> Result<Affine3A, Self::Error>
Source§fn joint_axes_positions(
&self,
q: &SRobotQ<8>,
) -> Result<([Vec3A; 8], [Vec3A; 8], Vec3A), Self::Error>
fn joint_axes_positions( &self, q: &SRobotQ<8>, ) -> Result<([Vec3A; 8], [Vec3A; 8], Vec3A), Self::Error>
Returns joint rotation axes and axis-origin positions in world frame at
configuration
q, plus the end-effector position.fn dof(&self) -> usize
Source§fn max_reach(&self) -> Result<f32, Self::Error>
fn max_reach(&self) -> Result<f32, Self::Error>
Theoretical maximum reach: sum of link lengths (upper bound, ignores joint limits).
Source§fn jacobian(&self, q: &SRobotQ<N>) -> Result<[[f32; N]; 6], Self::Error>
fn jacobian(&self, q: &SRobotQ<N>) -> Result<[[f32; N]; 6], Self::Error>
Geometric Jacobian (6×N) at configuration
q.
Rows 0–2: linear velocity, rows 3–5: angular velocity.Source§impl From<URDFChain<1>> for DynamicURDFChain
impl From<URDFChain<1>> for DynamicURDFChain
Source§impl From<URDFChain<2>> for DynamicURDFChain
impl From<URDFChain<2>> for DynamicURDFChain
Source§impl From<URDFChain<3>> for DynamicURDFChain
impl From<URDFChain<3>> for DynamicURDFChain
Source§impl From<URDFChain<4>> for DynamicURDFChain
impl From<URDFChain<4>> for DynamicURDFChain
Source§impl From<URDFChain<5>> for DynamicURDFChain
impl From<URDFChain<5>> for DynamicURDFChain
Source§impl From<URDFChain<6>> for DynamicURDFChain
impl From<URDFChain<6>> for DynamicURDFChain
Source§impl From<URDFChain<7>> for DynamicURDFChain
impl From<URDFChain<7>> for DynamicURDFChain
Auto Trait Implementations§
impl Freeze for DynamicURDFChain
impl RefUnwindSafe for DynamicURDFChain
impl Send for DynamicURDFChain
impl Sync for DynamicURDFChain
impl Unpin for DynamicURDFChain
impl UnsafeUnpin for DynamicURDFChain
impl UnwindSafe for DynamicURDFChain
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