Enum rubullet::ControlMode[][src]

pub enum ControlMode {
    Position(f64),
    PositionWithPd {
        target_position: f64,
        target_velocity: f64,
        position_gain: f64,
        velocity_gain: f64,
        maximum_velocity: Option<f64>,
    },
    Velocity(f64),
    Torque(f64),
    Pd {
        target_position: f64,
        target_velocity: f64,
        position_gain: f64,
        velocity_gain: f64,
        maximum_velocity: Option<f64>,
    },
}

The Control Mode specifies how the robot should move (Position Control, Velocity Control, Torque Control) Each Control Mode has its own set of Parameters. The Position mode for example takes a desired joint position as input. It can be used in set_joint_motor_control()

ModeImplementationComponentConstraint error to be minimized
Position,PositionWithPdconstraintvelocity and position constrainterror = position_gain*(desired_position-actual_position)+velocity_gain*(desired_velocity-actual_velocity)
Velocityconstraintpure velocity constrainterror = desired_velocity - actual_velocity
TorqueExternal Force
Pd?????????

Variants

Position(f64)

Position Control with the desired joint position.

PositionWithPd

Same as Position, but you can set your own gains

Fields of PositionWithPd

target_position: f64

desired target position

target_velocity: f64

desired target velocity

position_gain: f64

position gain

velocity_gain: f64

velocity gain

maximum_velocity: Option<f64>

limits the velocity of a joint

Velocity(f64)

Velocity control with the desired joint velocity

Torque(f64)

Torque control with the desired joint torque.

Pd

PD Control

Fields of Pd

target_position: f64

desired target position

target_velocity: f64

desired target velocity

position_gain: f64

position gain

velocity_gain: f64

velocity gain

maximum_velocity: Option<f64>

limits the velocity of a joint

Auto Trait Implementations

Blanket Implementations

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

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

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

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

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

impl<T> Pointable for T

type Init = T

The type for initializers.

impl<T> Same<T> for T

type Output = T

Should always be Self

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

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<V, T> VZip<V> for T where
    V: MultiLane<T>,