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