Using Your Own Edge Processor
Edge Processor Requirements
When running Ouster Gemini Detect on a customer-provided edge processor, it is important to ensure that the edge processor specifications meet the minimum required specifications for the software. The specifications depend on the number of lidar’s in use with a particular edge processor and which inference model is being used.
Classic Detect
Ouster Gemini Classic Detect is built to run on 64-bit Intel or AMD or ARM CPUs. The number of required cores scales with the number of lidar’s that will be used with the system. Ouster Gemini Detect requires n + 1 cores, where n is the number of lidar’s in use on a system. For each lidar, Ouster Gemini Detect requires 2 GB of RAM. With this in mind, a computer connected to three lidar’s would require four CPU cores and 6 GB of RAM. Each core must be at least equivalent to a 9th generation Intel Core i7. Additionally, we recommend 1GBe NIC to support up to 4 lidar’s. We recommend a minimum of 128GB local hard drive storage.
Note
Ouster Gemini Detect Classic currently supports a Linux based operating system, Ubuntu 20.04 or later. If your edge processor does not meet the requirement, please refer to Requirements.
Detect Deep Learning
Ouster Gemini Detect Deep Learning (model) is custom built to run on 64-bit Intel and ARM CPU hosts that are equipped with dedicated Nvidia GPUs. The number of required CPU cores and CUDA cores scales with the number of lidar’s that will be used with the system.
Ouster Gemini Detect requires 2n + 1 CPU cores, where n is the number of lidar’s in use on a system, 800 CUDA cores per lidar, and 4 GB of RAM per lidar. This hardware specification supports a ML AOI of 120m by 120m. (See Setting up DL AOD). With this in mind, a computer connected to three lidar’s would require seven CPU cores, 2400 CUDA cores, and 12 GB of RAM. Each CPU core must be at least equivalent to a 9th generation Intel Core i7 and Nvidia GPU should be later than Ampere architecture. Additionally, we recommend 1GBe NIC (or 10GBe NIC for >4 sensors) to handle lidar data rates and a minimum of 128GB local hard drive storage.
Note
Ouster Gemini Detect currently is limited to use on a Linux based operating system, Ubuntu 20.04 or later. If your edge processor does not meet the requirement, please refer to Requirements.
Installing Ouster Gemini Detect
There are two ways to install Ouster Gemini Detect for the first time:
From
get-detect.sh
script, internet access required.From a compressed archive, internet access not required.
Both methods will require user access to the Ouster Gemini Detect repository. Contact your Ouster Support representative for access. For more information, please refer to Ouster Registry.
Install Detect via get-detect.sh
If the host machine has internet access, the easiest Detect installation method is to run the get-detect.sh script. This script will install the latest version of Detect and all of its dependencies.
Use of this method will require a valid Ouster Gemini Detect Registry username and identity token. Please refer to Identity Token for more information on how to obtain your identity token.
Note
This method will only install docker if it is not already installed on the host machine. Please verify your system has the correct docker version listed in Installing Docker before running this script.
This script can be used to install Classic Detect, Detect Deep Learning, or Detect for ITS. Please refer to get-detect.sh for usage information. User can also refer to get-detect.sh
script to update systems to the latest version.
Once shell access is established with the edge device, download and run the get-detect.sh
script with the following commands:
curl -fsSL https://get.gemini.ouster.dev -o get-detect.sh
sh ./get-detect.sh
You will be prompted for your credentials and the sudo password for installation. If you’re installing Detect Deep Learning, run get-detect.sh
with the --vella
flag.
Note
Detect Deep Learning requires a compatible Nvidia GPU. Your installation will not fail without an Nvidia GPU but you will not be able to run any Detect Deep Learning :ref:`profiles<profile>`. For x86_64
devices, nvidia display driver (version of 535 or newer) must be installed. For Jetson architectures Ouster recommends the JetPack 5.1 board support package.
sh ./get-detect.sh --vella
Updating Detect with get-detect.sh
You can update Detect by calling the get-detect.sh
script again. If an
updated version is available, it will be pulled from the Ouster registry and
installed. If you want to switch between Classic Detect or Detect Deep
Learning, you need to uninstall the previous version. You can uninstall Detect
with the following command:
sudo apt remove ouster-solutions-agent
Install Detect from Compressed Archive
Install docker engine on the host machine. Please refer to Docker Engine Installation for more information.
Optional
If you intend on installing Detect Deep Learning, install the Nvidia Container Toolkit. See Nvidia Container Toolkit Installation for more information.Download the latest Detect archive from the Ouster Gemini Detect repository. Please refer to Ouster Registry for more information on downloading appropriate archives.
Extract the Detect archive to a directory on the host machine,
tar xvf /path/to/detect-{version}.tar
This will provide two additional files as follows
detect-{version}.tar.gz
&detect-{version}.tar.gz.minisig
Extract Ouster Detect from the file ending in .tar.gz` to any temporary directory on the host machine,
mkdir /path/to/detect-{version} tar xvzf /path/to/detect-{version}.tar.gz -C /path/to/detect-{version}
Optional
To perform a fresh install, bring down the previous version of Detect and remove any previous overrides,cd /opt/ouster docker compose down rm compose.override.yaml
Move into the extracted directory and run the Detect setup script,
cd /path/to/detect-{version} ./setup.sh
Optional
validate the install:docker ps
: Shows the running Detect containers with a tag matching your installed version.dpkg -l ouster-solutions-agent
: Displays the installed Agent version on Debian systems.yum list installed ouster-solutions-agent
: Displays the installed Agent version on some RedHat systems.dnf list installed ouster-solutions-agent
: Displays the installed Agent version on some RedHat systems.systemctl status ouster-solutions-agent
: Checks if the Agent service is running.systemctl status sentinel-license-manager.service
: Checks if the Sentinel License Manager service is running.
Installing Docker
Note
If you are installing detect for the first time via the
get-detect.sh
script, you do not need to install docker. The script will install docker if it is not already installed.When installing Docker, Ouster strongly recommends the instructions provided. Docker packages from
Snap Package Manager
andDocker Compose V1
are not compatible. However, Docker compose v2.16 & above and Docker version 23 and above are compatible.
Ouster Gemini Detect is designed using a microservices architecture. The system is broken up into a number of component services, most of which run inside of docker containers. As such, docker must be installed and running on all computers on which Ouster Gemini Detect will be used. In addition to the docker engine, docker compose must also be installed. Compose is used to orchestrate the set of containers that make up Ouster Gemini Detect’s functionality.
The docker website provides instructions for installing the docker engine and docker compose for a variety of supported platforms. If the customer does not already have a Linux-based operating system installed on their computer, Ouster recommends installing a recent version of Ubuntu Server edition. The docker website provides instructions specific to installing docker on Ubuntu systems.
Once the docker engine is installed, Ouster recommends completing the docker Linux post-installation instructions. This will ensure that the user account used by the customer will be able to interact directly with the docker daemon.
Running Docker Images
This section addresses how to start
, stop
and restart
Ouster Gemini Detect.
Note
At the end of the Ouster Gemini Detect installation process, all docker images will be started. The following instructions should only be required in debugging scenarios for advanced users.
All commands in this section assume that the user is in the directory /opt/ouster
, which is where the compose.yaml
file is located. To start the Ouster Gemini Detect system, the user must execute the following command,
$ docker compose up -d
This command will create containers from each of the Ouster Gemini Detect docker images, create a docker volume where persistent files will be stored, and connect all containers together on a docker bridge network. All containers make use of docker’s built-in logging functionality.
To view the container logs, the user must execute the following:
$ docker compose logs -f
This command will display the history of logs and also continue to display new
log entries as they arrive from Ouster Gemini Detect. The user may exit viewing the logs by
issuing a CTRL-C
.
Once the Ouster Gemini Detect containers are brought up for the first time, the system is
configured to restart each time the computer reboots. If the user would like to
stop the containers manually, the following command must be issued from the
/opt/ouster
directory,
$ docker compose down
When a new version of Ouster Gemini Detect has been retrieved, the user must restart Ouster Gemini Detect in order take advantage of the updated software. Ouster Gemini Detect may be restarted by issuing the following command,
$ docker compose restart