WOLFRAM SYSTEM MODELER
JoystickForceResponseModel simulating response of three joystick designs to circularly varying test force |
SystemModel["IndustryExamples.ConsumerProducts.Joystick.JoystickForceResponse"]
This model compares the response of three analog joysticks to a circularly varying test force. Each joystick has a handle re-centering mechanism based on a symmetrical arrangement of a different number of tension springs.
The other model in this example is JoystickReturnTrajectory, which compares the free return trajectory of the three joysticks.
The joystick model is constructed hierarchically. Double-click on a component such as fourSpringReturn to see its model diagram. Inside fourSpringReturn double-click on one of the tension springs to see its model diagram, and so on:
To simulate the model and view a 3D animation of it, follow the steps below:
Click the Simulate button:
Click the Animate button:
Use your mouse or trackpad to drag the animation into a good angle, and zoom in with your scroll wheel or by using the trackpad. Then click the play button to play the animation.
The animation shows the response of the joystick handles to a test force that attempts to trace out a circle:
Note that the response of the joysticks is not perfectly circular. The joysticks with a larger number of symmetrically spaced springs (four or six) trace out a path that is more nearly circular.
After simulating the model, look at the stored plots to see the path traced out by the joysticks.
You can see that the six-spring arrangement leads to the most circular force response.
By simulating the other model in this example, JoystickReturnTrajectory, you can also obtain the following parametric plots of the trajectory of each joystick as it re-centers itself after being displaced:
You can see that the six-spring arrangement leads to the most linear return trajectory.
appliedForce |
Value: 0.1 Type: Force (N) Description: Force applied on the joysticks |
---|---|
springConstants |
Value: 100 Type: TranslationalSpringConstant (N/m) Description: Base spring constant of the joystick springs |
world |
Type: World Description: World coordinate system + gravity field + default animation definition |
|
---|---|---|
joystickJoint1 |
Type: JoystickJoint Description: Two degree-of-freedom joystick joint |
|
bodyCylinder1 |
Type: BodyCylinder Description: Rigid body with cylinder shape. Mass and animation properties are computed from cylinder data and density (12 potential states) |
|
bodyCylinder2 |
Type: BodyCylinder Description: Rigid body with cylinder shape. Mass and animation properties are computed from cylinder data and density (12 potential states) |
|
rotatingRadialForce2 |
Type: RotatingRadialForce Description: Radially directed force with circularly varying direction |
|
threeSpringReturn |
Type: ThreeSpringReturn Description: Joystick re-centering mechanism with three tension springs |
|
fixedTranslation1 |
Type: FixedTranslation Description: Fixed translation of frame_b with respect to frame_a |
|
fixedTranslation2 |
Type: FixedTranslation Description: Fixed translation of frame_b with respect to frame_a |
|
fourSpringReturn |
Type: FourSpringReturn Description: Joystick re-centering mechanism with four tension springs |
|
rotatingRadialForce3 |
Type: RotatingRadialForce Description: Radially directed force with circularly varying direction |
|
bodyCylinder3 |
Type: BodyCylinder Description: Rigid body with cylinder shape. Mass and animation properties are computed from cylinder data and density (12 potential states) |
|
bodyCylinder4 |
Type: BodyCylinder Description: Rigid body with cylinder shape. Mass and animation properties are computed from cylinder data and density (12 potential states) |
|
joystickJoint2 |
Type: JoystickJoint Description: Two degree-of-freedom joystick joint |
|
fixedTranslation3 |
Type: FixedTranslation Description: Fixed translation of frame_b with respect to frame_a |
|
joystickJoint3 |
Type: JoystickJoint Description: Two degree-of-freedom joystick joint |
|
bodyCylinder5 |
Type: BodyCylinder Description: Rigid body with cylinder shape. Mass and animation properties are computed from cylinder data and density (12 potential states) |
|
bodyCylinder6 |
Type: BodyCylinder Description: Rigid body with cylinder shape. Mass and animation properties are computed from cylinder data and density (12 potential states) |
|
rotatingRadialForce4 |
Type: RotatingRadialForce Description: Radially directed force with circularly varying direction |
|
sixSpringReturn |
Type: SixSpringReturn Description: Joystick re-centering mechanism with six tension springs |
|
fixedTranslation4 |
Type: FixedTranslation Description: Fixed translation of frame_b with respect to frame_a |
|
fixedTranslation5 |
Type: FixedTranslation Description: Fixed translation of frame_b with respect to frame_a |
|
base |
Type: FixedShape2 Description: Visualizing an elementary shape with dynamically varying shape attributes (has two frame connectors) |
|
fixed |
Type: Fixed Description: Frame fixed in the world frame at a given position |
|
fixedTranslation6 |
Type: FixedTranslation Description: Fixed translation of frame_b with respect to frame_a |
|
fixedTranslation7 |
Type: FixedTranslation Description: Fixed translation of frame_b with respect to frame_a |
|
fixedTranslation8 |
Type: FixedTranslation Description: Fixed translation of frame_b with respect to frame_a |