Struct rubullet::ChangeDynamicsOptions[][src]

pub struct ChangeDynamicsOptions {
Show fields 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>,
}
Expand description

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

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Returns the “default value” for a type. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The alignment of pointer.

The type for initializers.

Initializes a with the given initializer. Read more

Dereferences the given pointer. Read more

Mutably dereferences the given pointer. Read more

Drops the object pointed to by the given pointer. Read more

Should always be Self

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more

Checks if self is actually part of its subset T (and can be converted to it).

Use with care! Same as self.to_subset but without any property checks. Always succeeds.

The inclusion map: converts self to the equivalent element of its superset.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.