pub enum DynamicDHChain {
J1(DHChain<1>),
J2(DHChain<2>),
J3(DHChain<3>),
J4(DHChain<4>),
J5(DHChain<5>),
J6(DHChain<6>),
J7(DHChain<7>),
J8(DHChain<8>),
}Variants§
J1(DHChain<1>)
J2(DHChain<2>)
J3(DHChain<3>)
J4(DHChain<4>)
J5(DHChain<5>)
J6(DHChain<6>)
J7(DHChain<7>)
J8(DHChain<8>)
Implementations§
Source§impl DynamicDHChain
impl DynamicDHChain
pub fn try_new(joints: Vec<DHJoint>) -> 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 DynamicDHChain
impl DynamicDHChain
pub fn from_chain(chain: impl Into<Self>) -> Self
Trait Implementations§
Source§impl Clone for DynamicDHChain
impl Clone for DynamicDHChain
Source§fn clone(&self) -> DynamicDHChain
fn clone(&self) -> DynamicDHChain
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 DynamicDHChain
impl Debug for DynamicDHChain
Source§impl FKChain<1> for DynamicDHChain
impl FKChain<1> for DynamicDHChain
type Error = DekeError
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 DynamicDHChain
impl FKChain<2> for DynamicDHChain
type Error = DekeError
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 DynamicDHChain
impl FKChain<3> for DynamicDHChain
type Error = DekeError
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 DynamicDHChain
impl FKChain<4> for DynamicDHChain
type Error = DekeError
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 DynamicDHChain
impl FKChain<5> for DynamicDHChain
type Error = DekeError
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 DynamicDHChain
impl FKChain<6> for DynamicDHChain
type Error = DekeError
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 DynamicDHChain
impl FKChain<7> for DynamicDHChain
type Error = DekeError
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 DynamicDHChain
impl FKChain<8> for DynamicDHChain
type Error = DekeError
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<DHChain<1>> for DynamicDHChain
impl From<DHChain<1>> for DynamicDHChain
Source§impl From<DHChain<2>> for DynamicDHChain
impl From<DHChain<2>> for DynamicDHChain
Source§impl From<DHChain<3>> for DynamicDHChain
impl From<DHChain<3>> for DynamicDHChain
Source§impl From<DHChain<4>> for DynamicDHChain
impl From<DHChain<4>> for DynamicDHChain
Source§impl From<DHChain<5>> for DynamicDHChain
impl From<DHChain<5>> for DynamicDHChain
Source§impl From<DHChain<6>> for DynamicDHChain
impl From<DHChain<6>> for DynamicDHChain
Source§impl From<DHChain<7>> for DynamicDHChain
impl From<DHChain<7>> for DynamicDHChain
Auto Trait Implementations§
impl Freeze for DynamicDHChain
impl RefUnwindSafe for DynamicDHChain
impl Send for DynamicDHChain
impl Sync for DynamicDHChain
impl Unpin for DynamicDHChain
impl UnsafeUnpin for DynamicDHChain
impl UnwindSafe for DynamicDHChain
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