[][src]Struct arcos_kdl::inverse_diff_kinematics::InverseDiffKinematicsSolver

pub struct InverseDiffKinematicsSolver { /* fields omitted */ }

Solver for inverse differential kinematcs. Calculate the joints rates from their current position and desired velocity at end-effector

chain: chain to use by the solver
weight_task_space: Weights in the task space
weight_joint_space: How much to use each joint
jacobian: Jacobian of the current chain
temp_qdots: Temporal storage of qdot values
svd_result: For calculating SVD
lambda: parameter for tresholding singular values
epsilon: (1e-300) allowed error in convergence of singular values
maxiter: (150)Max allowed iteration for convergence of SV
n_joints: Number of joints in the kinematic chain\

Methods

impl InverseDiffKinematicsSolver[src]

pub fn new(in_chain: Chain) -> Self[src]

Create a new solver from a given chain

pub fn set_weights(
    &mut self,
    task_space: WeightTaskSpace,
    joint_space: WeightJointSpace
)
[src]

Set the weight matrices for inverse kinematics

pub fn set_lambda(&mut self, new_lambda: f64)[src]

Set the Lambda parameter

pub fn set_convergence(&mut self, new_epsilon: f64, new_maxiter: usize)[src]

Set parameters for convergence algorithm

pub fn solve(&mut self, twist: &Twist, init_angles: &Vec<f64>) -> Vec<f64>[src]

Solver for inverse differential kinematics

This function uses the weighted damped least square inverse kinematics algorithm. From a Twist and current joint state, it calculates the velocities at each joint.

twist: desired twist at the end effector
init_angles: current state of each joint
Returns a vector with the velocities at each joint.

Auto Trait Implementations

Blanket Implementations

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<SS, SP> SupersetOf<SS> for SP where
    SS: SubsetOf<SP>,