2020.1.60.3 Double Bar Linkage Solver
Overview
A Kinematic Bar Bar Linkage Solver is a combinatory joint which allows you to quickly create an bar linkage using Wheel Joints and a Prismatic Joint. Bar linkages are commonly used in hydraulic systems (such as crane arms).
The Kinematic Bar Linkage Solver can easily be used for Kinematic Synthesis (n-bar linkages by combining <4 bar link systems).
A Bar Linkage Solver controlling a piston pushing an arm
Where to find
The Kinematic Bar Linkage Solver component can be found under Mechanics > Add Kinematics > Kinematic Bar Linkage Solver.
It can also be accessed from the GameObject menu or from the Hierarchy Context menu.
A new GameObject will be created if you do not have a GameObject selected. Otherwise, the Kinematic Bar Linkage Solver will be added to the selected GameObject.
Feature layout
The image below shows the complete feature layout of the Kinematic Bar Linkage Solver component.
Generic Joint Settings |
|
Pass Priority | Priority of the kinematic chain calculations. Higher numbers are calculated earlier |
Enforce Outside Playmode | Enforces the prismatic joint in edit mode |
Prevent Kinematic Update | Removes the prismatic joint from the kinematic chain calculations |
Prevent Further Kinematic Update on this GameObject | Allows lower priority kinematic transforms on the same GameObject to be skipped in calculations |
Allow Direct User Input | Allows the user to manipulate the prismatic joint with the scene gizmo |
Min. User Input Translation Offset | The minimum value the user must input before translations are applied |
Min. User Input Rotation Offset | The minimum value the user must input before rotations are applied |
Kinematic Chaining |
|
Opposing Relation Instance | The kinematic transform to which you want to link the prismatic joint to |
Relation Direction | Describes the direction of the manipulation of the Transforms. The following options are available:
|
Relation Type | Not yet implemented |
Motion Direction is Reversed | When enabled, the manipulation to/from the opposing kinematic transform is inverted |
Bar Linkage Triangles |
|
Add Triangle | Allows the user to add a new triangle with a random color to the Bar Linkage Solver |
Triangle ## | Shows the ID of the triangle, the names of the two Wheel Joints in the triangle and whether the triangle is the leading triangle |
Color Picker | Allows the user to change the color of the triangle |
Delete Button | Allows the user to delete the triangle from the Bar Linkage Solver |
Leading Triangle / Set as Leading | If the triangle is the leading triangle, that will be displayed. Else a button will appear to set the triangle as the leading triangle |
Moving Pivot | The Bar Linkage Solver is the Moving Pivot by default. This is a constant field and is shown for clarity |
Fix Pivot | Allows the user to assign a Wheel Joint as Fix Pivot |
Hinge Point | Allows the user to assign a Wheel Joint as Hinge Point |
Draw Triangle Gizmo | Allows the user to toggle the triangle gizmo |
Limit Relation & Update Settings |
|
Spline Input field | Defines the DSpline to which the Prismatic Joint is bound to |
Prismatic Joint Settings |
|
Spline Constraint Lenght | The length of the spline |
Current Spline Position | Normalized position of the Prismatic joint over the spline between 0 and 1 |
Target Control Point | The Spline point to be used for Update Limit ControlPoint |
Update Limit ControlPoint | Updates the Target Control Point to the current spline position |
How to use - Part A
To create a Kinematic Bar Linkage Solver, you first need the right setup. This setup will include several fixed arms, Wheel Joints and a Piston (this requires a SplineUNDEFINED ). Part A of the How to use will guide you through the process of creating this system
Example of a system suitable for a Bar Linkage Solver.
Add a 2020.1.60.3 Double Wheel Joint to each of the rotational points
Make sure the Wheel Axis Direction of the Kinematic Wheel Joints are aligned with the desired rotation
After all Kinematic Wheel Joints are added, create a DSpline to control the range and postion of the Piston. Align the Spline Control Points to the Piston Rod. Holding V enables snapping to vertices in Unity
Make sure the DSpline is parented under the Piston. Your system is now set up to add a Kinematic Bar Linkage Solver
How to use - Part B
This part will show you how to add a Kinematic Bar Linkage Solver, to your previously created system. A Bar Linkage Solver requires the creation of several triangles.
Add a Body Controller, this can be found under Mechanics > Add Kinematics > Body Controller
Make sure the Kinematic Controller is placed above the system in the Hierarchy
Add a Kinematic Bar Linkage Solver to the prismatic component in the system. This can be found under Mechanics > Add Kinematics > Kinematic Bar Linkage Solver. The prismatic component is the piston part that controls the system
Assign the DSpline as the constraining spline for the Bar Linkage Solver
Create a Triangle
Assign the Fix Pivot and the Hinge Point for the Triangle
Turn on Enforce outside playmode, the first Triangle should work now
Create a second Triangle and follow the same steps
The Kinematic Bar Linkage Solver is now complete
Prespective Documentation