Skip to main content

ARKOS

ARK-OS is a collection of drone software services and tools. These services provide basic functions such as MavLink routing, video streaming, automatic flight log upload, flight controller firmware updates, network RTK correction, etc.

Supported

getting Started

Clone this repository on your device

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

Run the installation script on the device. You will be prompted to install the service, but 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 to user.env. You can adjust the options in user.env. This script can be safely run multiple times to update your system.

ARK-

We provide a web-based user interface to make it easier for you to manage your device. This webpage is hosted by nginx and can be accessed at http://jetson.local or http://pi6x.local.

Alternative text Alternative text Alternative text Alternative text

Services

When you run the install.sh script, you will be prompted to install the following services. These services will be installed as systemd user services and will conform to the XDG base directory specification.

Jetson and

mavlink-router.service
This service enables the 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 editor in the UI.

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

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

flight-review.service
This service hosts the local PX4 Flight Review server on port 5006. All logs downloaded by logloader can be found here.

rtsp-server.service
This service provides an RTSP server through gstreamer. By default, the stream of the first connected CSI camera can be accessed rtsp://<hostname>.local:5600/camera1.

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

ark-ui-backend.service
This service provides the API gateway for ARK UI.

system-manager.service
This service provides a REST API for Linux system management through the ARK UI.

autopilot-manager.service
This service provides a REST API for autopilot management through the ARK UI.

connecton-manager.service
This service provides a REST API for connection management through the ARK UI.

service-manager.service
This service provides a REST API for systemd user service management through the ARK UI.

only

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

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