# Auterion Setup

## Hardware Setup

ACO is designed to run on the Auterion Skynode. The LightWare SF45 should be connected to any available USB port on the Skynode, similar to the example shown below:

<figure><img src="/files/dUq5oAsFAdJAZMAdYdTs" alt="" width="563"><figcaption></figcaption></figure>

The SF45 is a rotating 2D LiDAR. For best performance with ACO, mount the unit upright or upside down on the drone, its internal sensors automatically determine orientation. Ensure the front of the LiDAR is precisely aligned with the front of the aircraft and that its field of view is unobstructed by propellers, ducts, or payloads.

When ACO is installed, it automatically detects the SF45’s USB port and connects to it. This auto-connection starts spinning the SF45 which provides a simple visual indication that ACO is active and operating correctly.

## Installation

Connect your laptop to the Skynode with the Auterion CLI: <https://docs.auterion.com/app-development/app-development/connecting-to-a-device>

Install the app with: `auterion-cli app install ascend.aco-1.0.0.auterionos` (Soon to be available on the Auterion Store)

On a successful install and hardware setup, you should start to see the SF45 start spinning.

Verify successful running with: `auterion-cli app logs -f ascend.aco` . You should see something similar to:

```bash
ascend.aco.aco-app  | Autopilot system found with index: 0
ascend.aco.aco-app  | Creating UDP socket...
ascend.aco.aco-app  | Connected to GCS
ascend.aco.aco-app  | Obstacle Avoidance System ONLINE.
ascend.aco.aco-app  | Obstacle Avoidance always active: False
ascend.aco.aco-app  | Foxglove data logging: True
```

## Connecting ACO to Auterion Mission Control (AMC)

Before you begin, ensure both the Skynode and GCS device are connected over the same wireless communication network.

Note down your GCS device's IP address.

ACO parameters can be edited through AMC. Among these parameters is the IP address of the GCS instance, which you can update to point to your AMC.

1. Connect the Skynode to your GCS device via USB
2. Switch to Advanced mode by clicking 5 times on the AMC symbol in the top left of the screen
3. Navigate to: `Advanced → Parameters`
4. Hit `Refresh` in the `Tools` option in the top right
5. Locate **Component 85:** This corresponds to the ACO program running on the Skynode
6. Under **Component 85**, find the following parameters in `MAV`:

   * `MAV_GCS_IP1`
   * `MAV_GCS_IP2`&#x20;

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

The GCS IP address must be split into two parts:

* **First half (first two octets)** → `MAV_GCS_IP1`
* **Second half (last two octets)** → `MAV_GCS_IP2`

#### Example IP Address Inputs

| GCS IP Address | MAV\_GCS\_IP1 | MAV\_GCS\_IP2 |
| -------------- | ------------- | ------------- |
| 192.168.1.12   | 192.168       | 1.12          |
| 10.92.11.120   | 10.92         | 11.120        |
| 172.16.5.45    | 172.16        | 5.45          |
| 192.168.100.7  | 192.168       | 100.7         |

Once entered, restart ACO for the changes to take effect: Under `MAV` , locate the parameter `MAV_ACO_RST`, set its value to `1` and hit **Save**. You can now disconnect the USB connection to the Skynode.

As ACO restarts after the parameter change, ACO will automatically relaunch and attempt to reconnect using the configured IP address.&#x20;

Make sure you are able to see the ACO parameters load up under `Advanced → Parameters` again. If you cannot see the parameters, verify your network settings and GCS IP address. Also try pinging the Skynode’s IP from the GCS, and vice-versa, to confirm connectivity.

## Diagnostics

1. Disconnecting the SF45 from the USB cable should result in a status text error

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

If this does not show up, that means the drone is not connected to GCS

* Double check the entered GCS IP address
* Ensure you are able to ping GCS from the drone and vice versa

2. ACO parameters should load up in your GCS

* Locate **Component 85:** This corresponds to the ACO program running on your Drone.

## Useful Control commands

```bash
# Start ACO
auterion-cli app start ascend.aco

# Stop ACO
auterion-cli app stop ascend.aco

# Restart ACO
auterion-cli app restart ascend.aco

# Enable ACO to start on boot
auterion-cli app enable ascend.aco

# Disable ACO auto-start
auterion-cli app disable ascend.aco

# View ACO logs
auterion-cli app logs -f ascend.aco
```

## Foxglove

ACO visualizes pointcloud and collision-prevention data in Foxglove.

Install foxglove from here: <https://foxglove.dev/download>.

On the Foxglove Dashboard page, click **Open Connection**.

Replace **localhost** with the drones IP address (Make sure to be on the same local network), and you should see the points populate in a 3D environment.

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

## Edit PX4 Params

Make sure the `SYS_VEHICLE_RESP` is ≥ 0.5

* This is to make sure the drone stops aggressively and in time
* If the landing speed is aggressive, decrease the `MPC_Z_VEL_MAX_DN` to `1m/s`

## Final things to keep in mind

* As a final setup step, please set `SYS_VEHICLE_RESP = 0.5` and `MPC_Z_VEL_MAX_DN = 1 m/s` in the PX4 parameters. These values help the drone stop in time, without them we’ve seen it get a bit too close to obstacles.
* The software is active only in `Mission mode` and `while airborne` (it’s inactive during takeoff, landing, or in other modes).
* For a first test flight, we recommend the following settings:&#x20;
  * Plan a simple mission, where the drone goes 15m forward, then returns to its take off point
  * Set the mission speed to 1 m/s.&#x20;
  * Try holding a stick or any movable object in front of the drone at some distance after takeoff to see the system react.&#x20;
  * Once that looks good, you can test it against a wall or tree. We’ve thoroughly tested this on our end and don’t expect issues, but it’s always good to take extra safety precautions when running it in a new environment.

{% hint style="warning" %}
Always make sure to have back up joysticks ready incase you see the drone get too close to the obstacle
{% endhint %}

* Note that the SF45 can detect dust particles, so in dusty conditions, it might falsely flag fine dust as an obstacle.
* Please refer to the [ACO Parameters Description](https://ascend-engineering.gitbook.io/ascend-collision-overwatch/aco-parameters-description) page for a better understanding of ACO’s features.


---

# 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://ascend-engineering.gitbook.io/ascend-collision-overwatch/auterion-setup.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.
