Skip to content

Latest commit

 

History

History
62 lines (44 loc) · 3.78 KB

README.md

File metadata and controls

62 lines (44 loc) · 3.78 KB

About

ARK-OS is a collection of software services and tools for drones. These services provide essential features such as mavlink routing, video streaming, automatic flight log upload, flight controller firmware updating, network RTK corrections, and more.

Supported targets

Getting started

Clone this repository on the device

git clone --recurse-submodules https://github.com/ARK-Electronics/ARK-OS.git

Run the install script on the device. You will be prompted y/n to install the services, you can press enter to skip and use the recommended defaults.

./install.sh

You can skip the interactive prompt by copying the default.env file and renaming it user.env. You can adjust the options in the user.env. This script can be safely run multiple times to update your system.

ARK-UI

A web based UI is provided to more easily manage your device. The main page shows the status of the services and includes controls to edit their settings, start/stop, and view journal log files. There are also pages to manage your network connections and update the flight controller firmware. The webpage is hosted with nginx and is available at http://jetson.local or http://pi6x.local.

alt text

Services

When running the install.sh script you will be prompted to install the below services. The services are installed as systemd user services and conform to the XDG Base Directory Specification.

Jetson and Pi

mavlink-router.service
This service enables mavlink-router to route mavlink packets from the flight controller USB port to user defined UDP endpoints. You can add and remove endpoints using the service configuration enditor in the UI.

dds-agent.service
The dds-agent service bridges the PX4 uORB and ROS2 topics. The bridged topics are defined in PX4 Firmware and can be found here. The dds-agent runs the micro-xrce-dds-agent over the high speed serial connection between flight controller and Companion.

logloader.service
This service downloads log files from the SD card of the flight controller via MAVLink and optionally uploads them to PX4 Flight Review.

flight-review.service
This service hosts a local PX4 Flight Review server on port 5006. All logloader downloaded logs are available here.

rtsp-server.service
This service provides an RTSP server via gstreamer. The stream from the first connected CSI camera can be accessed by default at rtsp://<hostname>.local:5600/camera1.

polaris.service
This service receives RTCM corrections from the PointOne GNSS Corrections service and publishes them to the flight controller via MAVLink.

ark-ui-backend.service
This service provides a REST API backend for ARK-UI.

hotspot-control.service
This service creates a WiFi Hotspot if the device is unable to connect to a WiFi network within 1 minute after booting. You can then use the ARK-UI to put the device into Station mode and connect to your local WiFi network. The default ssid and password are <serialnumber>-<hostname> and password.

Jetson only

rid-transmitter.service
This service starts the RemoteIDTransmitter service which broadcasts RemoteID data via Bluetooth.

jetson-can.service
This service enables the Jetson CAN interface.

jetson-clocks.service
This service sets the Jetson clocks to their maximum rate.