# Set up the Vision Kit

## Connect the camera to Skynode

Connect the camera to one of the USB ports on Skynode using the provided cable.\
Attach Skynode to your development PC and power it up as shown in: "[Connecting to a device](/app-development/app-development/connecting-to-a-device.md)".

<figure><img src="/files/53vfpYzAXMJf2SF3Tejk" alt=""><figcaption></figcaption></figure>

## Software requirements

The Vision Kit requires that the **video2ros** app is installed on Skynode. It can be downloaded from Auterion Suite: [video2ros](https://suite.auterion.com/store/developer?productId=133)

{% hint style="success" %}
In AuterionOS versions older than v3.5.6, **video2ros** is pre-installed.
{% endhint %}

Verify the presence and status of these two apps on the **Apps** page of the Skynode Web UI on <http://10.41.1.1/apps>, as shown below.

<figure><img src="/files/3hx5B02h7CYxK9t7Cr6x" alt=""><figcaption><p>The Apps page in the Skynode Web UI, showing the <strong>app-base-v2</strong> app and <strong>video2ros</strong> service.</p></figcaption></figure>

## The *video2ros* service

This service acquires raw video frames from the camera and makes them available to apps utilising the Auterion SDK [Camera API](/app-development/auterion-sdk/system-state-api-1.md) (from v1.2.0). Additionally, it publishes these frames on the `/camera/image_raw` ROS 2 topic. This topic will be available within any other app or service running on the same device.\
\
Configure the **video2ros** settings according to the table below. To edit the settings, click the gear icon for the **video2ros** service in the Skynode Web UI and select **Settings**. Note that different settings are required, depending on the version of **video2ros**.

{% tabs %}
{% tab title="video2ros v1.2.0 and newer" %}

| Setting                  | Value        |
| ------------------------ | ------------ |
| Frame rate               | 15           |
| Width                    | 1280         |
| Height                   | 720          |
| Device                   | /dev/videoCV |
| Input Format             | UYVY         |
| Output Format            | yuv422       |
| Brightness               | 0            |
| Contrast                 | 9            |
| Gamma                    | 220          |
| Saturation               | 16           |
| Sharpness                | 16           |
| Use Custom Auto Exposure | false        |
| {% endtab %}             |              |

{% tab title="Older than v1.2.0" %}

| Setting       | Value        |
| ------------- | ------------ |
| Frame rate    | 15           |
| Width         | 1280         |
| Height        | 720          |
| Format        | YUV422       |
| Device        | /dev/videoCV |
| {% endtab %}  |              |
| {% endtabs %} |              |

### Alternative image resolutions

The Vision Kit camera supports three resolutions, each with its own maximum frame rate. To use a different resolution, alter the **video2ros** settings to match one of the combinations below.

| Width | Height | Frame Rate |
| ----- | ------ | ---------- |
| 1280  | 720    | 15         |
| 1920  | 1080   | 8          |
| 1920  | 1200   | 6          |

### Camera calibration

The **video2ros** service provides an interface for specifying the intrinsic calibration parameters of the camera, if needed.

Please refer to the [Camera Calibration](/hardware-integration/airframe-integration/camera-calibration.md) documentation for more details.

## Validate your setup

To verify that the image topic is being published, you can use the ROS 2 CLI commands within an app or service running on your device.\
For example, one can check the ROS 2 topic list directly from the **video2ros** service by executing the commands shown below:

```bash
# SSH into Skynode
pc> ssh root@10.41.1.1

# Open a shell in the video2ros service's Docker container
host> docker exec -ti com.auterion.video2ros.video2ros /bin/bash

# Source ROS 2 and list the available topics
video2ros> source /opt/ros/humble/setup.bash
video2ros> ros2 topic list
```

Go to the next page to install and run an example app making use of the Vision Kit.


---

# 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.auterion.com/app-development/resources/skynode-vision-kit-s/set-up-the-vision-kit.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.
