# Kinetics & Physics Simulation

Grid Studio has a built in physics engine and can be used to simulate an object with mass being hung/driven from motorized winches.

### Prerequisite

* 1 x Kinetic Construction
* 1 or more x Kinetic Driver
* IO connection to receive the kinetic driver information from

### Setup

1. Make sure that there is 1 x Kinetic Construction already created. Kinetic Construction is the object in Grid Studio that is representing the object that will be winched up and down.
2. Define the location of where the Kinetic Construction is located via the `Position` parameter under the `Coordinates` Tab<br>

   <figure><img src="/files/zRkhe3mWJ0Gi4cmUDN6v" alt=""><figcaption></figcaption></figure>
3. In the Kinetic Construction object, within the `Kinetic Construction` Tab, define the number of points that the object would be hanging from with the `Point Count` parameter (typically this would be at least 2 or more points)<br>

   <figure><img src="/files/oVXGtb9hza8PYQ4ngQNP" alt=""><figcaption></figcaption></figure>
4. For each of the points that the object would be hanging from. Define the relative position under  under the `Kinetic Construction` tab,  each of the points has a `rel Pos` parameter for the relative position to the Kinetic Construction itself.<br>

   <figure><img src="/files/Miu9XrmnMRU4007ODIHH" alt=""><figcaption></figcaption></figure>
5. For each of these points, create a corresponding Kinetic Driver object in the object tree and define their position under the `Coorindates` tab, in the `Position` parameter.<br>

   <figure><img src="/files/6VXpst4wm4UOkmURvjOG" alt=""><figcaption></figcaption></figure>
6. For each of the Kinetic Driver, define the range of motion for the `Kinetic Driver` under the `Kinetic Driver` Tab, inside the `Configuration` container, in the `Drive Range Min` & `Drive Range Max`<br>

   <figure><img src="/files/3zG141ZMTCn0YVqijwi5" alt=""><figcaption></figcaption></figure>
7. Linking each of the `Points` in the `Kinetic Construction` with its corresponding `Kinetic Driver`<br>

   <figure><img src="/files/EkPJHPa1E370zG6xfzGQ" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
Do <mark style="color:red;">NOT</mark> put the Kinetic Driver as a child of a Kinetic Construction
{% endhint %}

If the above steps are completed correctly, the entire Kinetic Construction should be working when the length of the Kinetic Driver. When the length of the Kinetic Driver is changed, the Kinetic Construction should move accordingly.<br>

<figure><img src="/files/8vJjsl0ge9MXIgnzT191" alt=""><figcaption></figcaption></figure>

### Enabling the Physics Engine

Turning on the Physics Engine will enable the ability to understand how mass and gravity affects the position of a Kinetic Construction

1. Enable this feature under the Project Credit Window<br>

   <figure><img src="/files/XmUUsqWVPC4oNdd5rIPi" alt=""><figcaption></figcaption></figure>
2. Turn on the Physics Engine under Project Settings<br>

   <figure><img src="/files/BoQ6WohIw2eMvtvYxbhh" alt=""><figcaption></figcaption></figure>
3. Depending on how you are going to be receiving the winch values from extenal sources, create the corresponding IO connection.
4. Linking each of the Kinetic Drivers to the incoming signal from a winch under Map Input<br>

   <figure><img src="/files/Edc5vZW7lYa6vuR4hjSa" alt=""><figcaption></figcaption></figure>
5. If needed, define the corresponding address or ID which corresponds to the correct Kinetic Driver

### Fine Tuning

There are properties within Grid Studio that can be adjusted so that the simulation would match better to real life.

For each of the Kinetic Drivers, under the Physics section, there are the method of the chain, mass of the chain, and segments in the chain. For details please refer to the Kinetic Driver object.<br>

<figure><img src="/files/4lwVZI04r7VWnfLnYCF9" alt=""><figcaption></figcaption></figure>

For the overall Kinetic Construction, under the Physics section, there are settings like the mass of the overall object, dampen movement and dampen rotation. For details, please refer to the Kinetic Construction object.

<figure><img src="/files/VK57Vzo5IogyK01w5jmb" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://stage-precision.gitbook.io/grid/kinetics-and-physics-simulation/kinetics-and-physics-simulation.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
