# Dashboard Motionsystem

## Motion Cueing System

### Enabling the Motion System

The motion system must be enabled in the configuration settings. You can also enable the **high-precision timer**, which ensures that filters operate stably with a 2ms timing interval. However, this requires more CPU power.

After activation, you can use the system via the **Motion** button on the dashboard. Additional sources such as games and simulations will be added over time.

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

<figure><img src="/files/bEeEtouHCEDd0j5dBLmJ" alt="" width="156"><figcaption></figcaption></figure>

<figure><img src="/files/OQ4pCDRJo4XyYO4f7fki" alt="" width="375"><figcaption></figcaption></figure>

### Functionality

#### **Important: The Rig Operates in "Position Mode"**

For this mode to work correctly, all rig geometry settings must be accurately configured in the configuration section. Incorrect settings can cause erratic and unpredictable movements. To verify the setup, test the rig using the **Test Tab** in the configuration section under **"6DOF Float Mode"**.

The system automatically detects running games and simulations. When a simulation is active, the corresponding profile for the rig and game is loaded. The profile marked as **"Active Profile"** is always used.

For some sources (e.g., flight simulators), two profiles are available. These can be switched using:

* **Show Air/Normal**
* **Show Ground/Extra**

For racing games, only the "Normal" profile is used. The system automatically transitions between **Air and Ground** modes when required.

#### **Profile Management**

Profiles can be managed using the available buttons:

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

* **Add** – Create a new profile
* **Delete** – Remove a profile
* **Copy** – Duplicate an existing profile

Multiple profiles can be created for different rigs and games. If you want to edit a profile for another rig, you must select the appropriate controller for that rig. this means setup the another rig in the controller. Only **one** profile can be marked as **"Active"** at a time.

**Profile Customization**

You can set up different profiles for various simulation environments, such as **Air** and **Ground** for flight simulators. Other simulations may only require **Normal** or **Air** profiles. Edit these profiles by selecting the checkbox next to the desired profile.

The dropdown menu allows you to rename profiles. Simply write new name into.

#### **Data Monitoring**

Clicking **"Data"** opens a window displaying:

* Available simulation data
* Timing information
* Computed values

#### Profiles sharing

The **Profiles** button allows you to import and export selected profiles, making it easy to share configurations between different setups or users.

Data transmission only occurs when the rig is **ONLINE**. The system includes transition mechanisms for smooth profile switching in various scenarios.

#### **Testing and Safety**

* Start with a **Gain of only 10%** and gradually increase it once you're sure that the motion behaves as expected.
* When a simulation is running, **profiles cannot be edited**.

#### Setup Profiles

To adjust the filters, you can use the sliders to modify the values of each filter. You can also edit the filters via text input in the text field. The syntax will be explained in more detail below.\
Here you will also find the link to a video that explains the adjustment and setup of profiles.

{% embed url="<https://www.youtube.com/watch?v=vs7HWV7CmxU&t=1s>" %}

#### Filters

The following filters are available:

* **CROP(VALUE;Lower Limit;Upper Limit)** – Clips values outside the defined range (in mm or degrees).
* **EMALP(VALUE;Filter Value)** – Applies a low-pass filter with the given value.
* **EMAHP(VALUE;Filter Value)** – Applies a high-pass filter with the given value.
* **GAIN(VALUE;Factor)** – Multiplies the value by the given factor.
* **MUL(VALUE;Factor)** – Multiplies the value by the given factor.
* **LOGISTIC(VALUE;Threshold, Steepness)** – Applies a logistic filter based on a threshold (in mm) and steepness.
* **REMAP(VALUE; Input\_low;Input\_high;Output\_low;Output\_high)** – Scales the input value to a different output range.
* **ROLLOVER(VALUE;Degrees)** – Ensures correct transitions for continuous rotations (e.g., loops).

The filters work similarly to those in Flypt **Mover**, allowing you to develop them there and later integrate them into your profiles.

#### **Filter Nesting**

Filters can be nested and are computed sequentially. Example:

```
CROP(EMALP(EMALP(EMAHP(GAIN(VALUE;1);100);100);100);-100;100)
```

The syntax is automatically validated. If incorrect, the text turns **red**. Leaving the text field with an invalid filter reverts it to the previous valid configuration.

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

For each effect, the **"Add"** function loads a default filter combination corresponding to classic motion cueing:

* **SURGE, SWAY, HEAVE** → High-pass + 2x Low-pass
* **YAW, ROLL, PITCH** → Low-pass + High-pass
* **Tilt Coordination** → 3x Low-pass

All these functions incorporate a **CROP filter** for stability.

***

### Overall Settings

The sliders adjust values across all effects:

* **Boost** – Sets the maximum **GAIN** value.
* **Smooth** – Sets the maximum **EMALP** (low-pass filter) value.
* **Washout** – Sets the maximum **EMAHP** (high-pass filter) value.

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

### Effects

Each **Degree of Freedom (DOF)** has an associated effect:

* **Sway, Surge, Heave** → Uses acceleration with g-force.
* **Yaw, Roll, Pitch** → Uses angular velocity.

#### **Tilt Coordination**

* **Sway** is converted into **Roll**.
* **Surge** is converted into **Pitch**.

This enables a **classical motion cueing approach**.

Each effect can be adjusted with:

* **Slider** – Scales the **Overall** value in percentage.
* **Enabled Checkbox** – Activates or deactivates the effect.

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

Manually editing values in the filter line allows custom scaling. The **Limit Slider** modifies the **CROP** filter to set a maximum value.

All changes are saved when exiting the window.

***

### Controller Effects

Each profile can have custom controller settings. These settings are only sent to the controller **once when the profile loads**.

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

> **Note:** The settings are **not stored on the controller** and will be lost after a restart. it will be loaded when using the profile again

***

### Bank in Roll and Pitch Position Effects

The **position of Roll and Pitch** is computed in degrees. This approach is not entirely accurate and is primarily intended for rigs with large actuators as a **fun effect**.

The lower image illustrates how an aircraft roll of **90°** is mapped to a rig roll position of **19°**.

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

***

### Future Development

The system is being expanded to include:

* **Belt Effects w\.i.p.**<br>
* **Motion Cancellation w\.i.p.**

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

<figure><img src="/files/BTmnArH79h3JICmBrfTI" 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://docs.motion4sim.com/motion/dashboard-motionsystem.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.
