Struct rubullet::ChangeDynamicsOptions[][src]

pub struct ChangeDynamicsOptions {
    pub mass: Option<f64>,
    pub lateral_friction: Option<f64>,
    pub spinning_friction: Option<f64>,
    pub rolling_friction: Option<f64>,
    pub restitution: Option<f64>,
    pub linear_damping: Option<f64>,
    pub angular_damping: Option<f64>,
    pub contact_stiffness_and_damping: Option<(f64, f64)>,
    pub friction_anchor: Option<bool>,
    pub local_inertia_diagonal: Option<Vector3<f64>>,
    pub ccd_swept_sphere_radius: Option<f64>,
    pub contact_processing_threshold: Option<f64>,
    pub activation_state: Option<ActivationState>,
    pub joint_damping: Option<f64>,
    pub anisotropic_friction: Option<f64>,
    pub max_joint_velocity: Option<f64>,
    pub collision_margin: Option<f64>,
    pub joint_limits: Option<(f64, f64)>,
    pub joint_limit_force: Option<f64>,
}

Dynamics options for the change_dynamics method. Some options do not depend on the given link and apply to the whole body. These options are:

  • linear_damping
  • angular_damping
  • activation_state
  • max_joint_velocity - PyBullet claims that you can set it per joint, but that is not true
  • collision_margin

Fields

mass: Option<f64>

change the mass of the link

lateral_friction: Option<f64>

lateral (linear) contact friction

spinning_friction: Option<f64>

torsional friction around the contact normal

rolling_friction: Option<f64>

torsional friction orthogonal to contact normal (keep this value very close to zero, otherwise the simulation can become very unrealistic

restitution: Option<f64>

bouncyness of contact. Keep it a bit less than 1, preferably closer to 0.

linear_damping: Option<f64>

linear damping of the link (0.04 by default)

angular_damping: Option<f64>

angular damping of the link (0.04 by default)

contact_stiffness_and_damping: Option<(f64, f64)>

The contact stiffness and contact damping of the link encoded as tuple (contact_stiffness, contact_damping) This overrides the value if it was specified in the URDF file in the contact section.

friction_anchor: Option<bool>

enable or disable a friction anchor: friction drift correction (disabled by default, unless set in the URDF contact section)

local_inertia_diagonal: Option<Vector3<f64>>

diagonal elements of the inertia tensor. Note that the base and links are centered around the center of mass and aligned with the principal axes of inertia so there are no off-diagonal elements in the inertia tensor.

ccd_swept_sphere_radius: Option<f64>

radius of the sphere to perform continuous collision detection.

contact_processing_threshold: Option<f64>

contacts with a distance below this threshold will be processed by the constraint solver. For example, if 0, then contacts with distance 0.01 will not be processed as a constraint

activation_state: Option<ActivationState>

When sleeping is enabled, objects that don’t move (below a threshold) will be disabled as sleeping, if all other objects that influence it are also ready to sleep.

joint_damping: Option<f64>

Joint damping coefficient applied at each joint. This coefficient is read from URDF joint damping field. Keep the value close to 0. Joint damping force = -damping_coefficient * joint_velocity

anisotropic_friction: Option<f64>

coefficient to allow scaling of friction in different directions.

max_joint_velocity: Option<f64>

maximum joint velocity for the whole robot, if it is exceeded during constraint solving, it is clamped. Default maximum joint velocity is 100 units.

collision_margin: Option<f64>

change the collision margin. dependent on the shape type, it may or may not add some padding to the collision shape.

joint_limits: Option<(f64, f64)>

changes the lower and upper limits of a joint. (lower_limit, upper_limit)

NOTE that at the moment, the joint limits are not updated in get_joint_info!

joint_limit_force: Option<f64>

change the maximum force applied to satisfy a joint limit.

Trait Implementations

impl Clone for ChangeDynamicsOptions[src]

impl Debug for ChangeDynamicsOptions[src]

impl Default for ChangeDynamicsOptions[src]

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> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

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>,