pub struct Orbita3dKinematicsModel {
pub alpha: f64,
pub gamma_min: f64,
pub offset: f64,
pub beta: f64,
pub gamma_max: f64,
pub passiv_arms_direct: bool,
}
Expand description
Kinematics model for Orbita3d
Fields§
§alpha: f64
§gamma_min: f64
§offset: f64
§beta: f64
§gamma_max: f64
§passiv_arms_direct: bool
Implementations§
Source§impl Orbita3dKinematicsModel
impl Orbita3dKinematicsModel
Source§impl Orbita3dKinematicsModel
impl Orbita3dKinematicsModel
pub fn compute_forward_kinematics_rpy_multiturn( &self, thetas: [f64; 3], ) -> Result<[f64; 3], InverseSolutionErrorKind>
Source§impl Orbita3dKinematicsModel
impl Orbita3dKinematicsModel
Sourcepub fn compute_inverse_kinematics(
&self,
rot: Rotation3<f64>,
) -> Result<[f64; 3], InverseSolutionErrorKind>
pub fn compute_inverse_kinematics( &self, rot: Rotation3<f64>, ) -> Result<[f64; 3], InverseSolutionErrorKind>
pub fn compute_inverse_kinematics_rpy_multiturn( &self, target_rpy: [f64; 3], ) -> Result<[f64; 3], InverseSolutionErrorKind>
pub fn check_gammas(&self, thetas: Vector3<f64>) -> Result<(), Box<dyn Error>>
pub fn compute_valid_solution( &self, target_rpy: [f64; 3], thetas: [f64; 3], ) -> Result<[f64; 3], InverseSolutionErrorKind>
Source§impl Orbita3dKinematicsModel
impl Orbita3dKinematicsModel
Sourcepub fn compute_output_torque(
&self,
thetas: [f64; 3],
input_torque: [f64; 3],
) -> Vector3<f64>
pub fn compute_output_torque( &self, thetas: [f64; 3], input_torque: [f64; 3], ) -> Vector3<f64>
Compute the forward static torque
Compute the output static torque (platform oriented torque) from the input torque (motors torque) and the motor angles.
§Arguments
- thetas - The motor angles as a 3-element array.
- input_torque - The input torque as a 3-element array.
§Returns
- The output torque as a 3d pseudo vector.
Sourcepub fn compute_input_torque(
&self,
thetas: [f64; 3],
output_torque: Vector3<f64>,
) -> [f64; 3]
pub fn compute_input_torque( &self, thetas: [f64; 3], output_torque: Vector3<f64>, ) -> [f64; 3]
Compute the inverse static torque
Compute the input torque (motors torque) from the output torque (platform oriented torque) and the motor angles.
§Arguments
- thetas - The motor angles as a 3-element array.
- output_torque - The output torque as a 3d pseudo-vector.
§Returns
- The input torque as a 3-element array.
Source§impl Orbita3dKinematicsModel
impl Orbita3dKinematicsModel
Sourcepub fn compute_output_velocity(
&self,
thetas: [f64; 3],
input_velocity: [f64; 3],
) -> Vector3<f64>
pub fn compute_output_velocity( &self, thetas: [f64; 3], input_velocity: [f64; 3], ) -> Vector3<f64>
Compute the forward velocity
Compute the output velocity (platform oriented velocity) from the input velocity (motors velocity) and the motor angles.
§Arguments
- thetas - The motor angles as a 3-element array.
- input_velocity - The input velocity as a 3-element array (motors velocity).
§Returns
- The output velocity as a 3d rotation. This rotation is a axis-angle rotation vector representing the velocity pseudo vector.
Sourcepub fn compute_input_velocity(
&self,
thetas: [f64; 3],
output_velocity: Vector3<f64>,
) -> [f64; 3]
pub fn compute_input_velocity( &self, thetas: [f64; 3], output_velocity: Vector3<f64>, ) -> [f64; 3]
Compute the inverse velocity
Compute the input velocity (motors velocity) from the output velocity (platform oriented velocity) and the motor angles.
§Arguments
- thetas - The motor angles as a 3-element array.
- output_velocity - The output velocity as a 3d rotation axis-angle velocity pseudo-vector.
§Returns
- The input velocity as a 3-element array.
Trait Implementations§
Source§impl Clone for Orbita3dKinematicsModel
impl Clone for Orbita3dKinematicsModel
Source§fn clone(&self) -> Orbita3dKinematicsModel
fn clone(&self) -> Orbita3dKinematicsModel
Returns a copy 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 Orbita3dKinematicsModel
impl Debug for Orbita3dKinematicsModel
Source§impl Default for Orbita3dKinematicsModel
impl Default for Orbita3dKinematicsModel
Source§impl<'de> Deserialize<'de> for Orbita3dKinematicsModel
impl<'de> Deserialize<'de> for Orbita3dKinematicsModel
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Serialize for Orbita3dKinematicsModel
impl Serialize for Orbita3dKinematicsModel
impl Copy for Orbita3dKinematicsModel
Auto Trait Implementations§
impl Freeze for Orbita3dKinematicsModel
impl RefUnwindSafe for Orbita3dKinematicsModel
impl Send for Orbita3dKinematicsModel
impl Sync for Orbita3dKinematicsModel
impl Unpin for Orbita3dKinematicsModel
impl UnwindSafe for Orbita3dKinematicsModel
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self
from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self
is actually part of its subset T
(and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset
but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self
to the equivalent element of its superset.