Struct rubullet::InverseKinematicsParameters [−][src]
pub struct InverseKinematicsParameters<'a> { pub end_effector_link_index: usize, pub target_position: Vector3<f64>, pub target_orientation: Option<UnitQuaternion<f64>>, pub limits: Option<InverseKinematicsNullSpaceParameters<'a>>, pub joint_damping: Option<&'a [f64]>, pub solver: IkSolver, pub current_position: Option<&'a [f64]>, pub max_num_iterations: Option<usize>, pub residual_threshold: Option<f64>, }
Expand description
Parameters for the calculate_inverse_kinematics()
You can easily create them using the InverseKinematicsParametersBuilder
Fields
end_effector_link_index: usize
end effector link index
target_position: Vector3<f64>
Target position of the end effector (its link coordinate, not center of mass coordinate!). By default this is in Cartesian world space, unless you provide current_position joint angles.
target_orientation: Option<UnitQuaternion<f64>>
Target orientation in Cartesian world space. If not specified, pure position IK will be used.
limits: Option<InverseKinematicsNullSpaceParameters<'a>>
Optional null-space IK
joint_damping: Option<&'a [f64]>
joint_damping allows to tune the IK solution using joint damping factors
solver: IkSolver
Solver which should be used for the Inverse Kinematics
current_position: Option<&'a [f64]>
By default RuBullet uses the joint positions of the body. If provided, the target_position and target_orientation is in local space!
max_num_iterations: Option<usize>
Refine the IK solution until the distance between target and actual end effector position is below the residual threshold, or the max_num_iterations is reached
residual_threshold: Option<f64>
Refine the IK solution until the distance between target and actual end effector position is below this threshold, or the max_num_iterations is reached
Trait Implementations
Auto Trait Implementations
impl<'a> RefUnwindSafe for InverseKinematicsParameters<'a>
impl<'a> Send for InverseKinematicsParameters<'a>
impl<'a> Sync for InverseKinematicsParameters<'a>
impl<'a> Unpin for InverseKinematicsParameters<'a>
impl<'a> UnwindSafe for InverseKinematicsParameters<'a>
Blanket Implementations
Mutably borrows from an owned value. Read more
type Output = T
type Output = T
Should always be Self
The inverse inclusion map: attempts to construct self
from the equivalent element of its
superset. Read more
pub fn is_in_subset(&self) -> bool
pub fn is_in_subset(&self) -> bool
Checks if self
is actually part of its subset T
(and can be converted to it).
pub fn to_subset_unchecked(&self) -> SS
pub fn to_subset_unchecked(&self) -> SS
Use with care! Same as self.to_subset
but without any property checks. Always succeeds.
pub fn from_subset(element: &SS) -> SP
pub fn from_subset(element: &SS) -> SP
The inclusion map: converts self
to the equivalent element of its superset.
pub fn vzip(self) -> V