Skip to content

Latest commit

 

History

History
48 lines (33 loc) · 2.57 KB

File metadata and controls

48 lines (33 loc) · 2.57 KB

BallJoint

Derived from Hinge2Joint.

BallJoint {
  SFNode  jointParameters  NULL   # {BallJointParameters, PROTO}
  SFNode  jointParameters2 NULL   # {JointParameters, PROTO}
  SFNode  jointParameters3 NULL   # {JointParameters, PROTO}
  MFNode  device3          [ ]    # {RotationalMotor, PositionSensor, Brake, PROTO}
  # hidden fields
  SFFloat position3        0      # [0, inf)
}

Description

%figure "Ball joint"

ballJoint.png

%end

The BallJoint node can be used to model a ball joint. A ball joint, also called ball-and-socket, prevents translation motion while allowing rotation around its anchor (3 degrees of freedom). It supports spring and damping parameters which can be used to simulate the elastic deformation of ropes and flexible beams.

Its 3 perpendicular axes can be controlled independently using RotationalMotors. The axes are defined in the JointParameters nodes in the jointParameters2 and jointParameters3 fields (the third axis is computed automatically to be perpendicular to the two first one). If the jointParameters2 and/or jointParameters3 fields are empty, the default axes are used instead (respectively (1, 0, 0) and (0, 0, 1)).

Note: The minPosition and maxPosition fields of the RotationalMotor in the device2 field are constrained to the range [-pi/2; pi/2].

Field Summary

  • jointParameters: This field optionally specifies a BallJointParameters node. It contains, among others, the joint position, the axis anchor expressed in relative coordinates and the stop positions.

  • jointParameters2 and jointParameters3: These fields optionally specify a JointParameters node for the second and third axis. They contain, among others, the joint position, the axis position expressed in relative coordinates and the stop positions. If these fields are empty, the springConstant, dampingConstant and staticFriction used are those of the first axis defined in the BallJointParameters node from the jointParameters field.

  • device3: this field optionally specifies a RotationalMotor, an angular PositionSensor and/or a Brake device for the third axis. If no motor is specified, the corresponding axis is passive.

Hidden Field Summary