Skip to navigation

Deployment Guide

View as Markdown

The Safety Core sits between AI Perception and the machine it protects. It reads perception events from Kafka, checks that the cameras and the perception pipeline can still be trusted, and sends a decision to the machine’s controller over UDP. When it cannot trust its inputs, or loses contact with one of its own components, it holds the machine in a safe state until an operator releases it.

This guide is for someone who runs the Safety Core. It starts the Safety Core Docker container with docker run, and every page gives commands you can run as written.

Choose a path

PathUse it when
Quick DeploymentYou run the VSS Warehouse 2D demo dataset and want the forklift safety function working end to end.
Custom DeploymentYou use your own cameras or scene, another application, more than one decision maker, or the decision maker on the Functional Safety Island.

Read the pages in this order:

  1. Prerequisites: one checklist, with a check for every item.
  2. Applications: what each reference application protects and what it sends.
  3. Quick Deployment or Custom Deployment.
  4. Troubleshooting, when something does not start or does not decide.

Supported targets

TargetWhere the decision maker (SDM) runsApplications
x86-64 server with an NVIDIA GPUHost CPU, inside the containerForklift safety function, Proximity Monitoring, or two decision makers together
NVIDIA IGX ThorCCPLEX, inside the containerForklift safety function, Proximity Monitoring, or two decision makers together
NVIDIA IGX ThorFunctional Safety Island (container option --sdm-on-fsi)Forklift safety function or Proximity Monitoring, one decision maker, 2D perception

The operating system and driver versions for each target are listed in Prerequisites in Getting Started.

NGC artifacts

The 1.4 artifacts are build 6b92731, published in the NGC Catalog under nvidia/halos-outside-in.

ArtifactNGC name
Container image (x86-64 and IGX Thor)nvcr.io/nvidia/halos-outside-in/outside-in-safety:nv-psf-halos-1.4-6b92731
psf-desktop runtime package (x86-64)nvidia/halos-outside-in/outside-in-safety:nv-psf-halos-1.4-x86-lin64-release-6b92731-psf-desktop
psf-desktop-dev development package (x86-64)nvidia/halos-outside-in/outside-in-safety:nv-psf-halos-1.4-x86-lin64-release-6b92731-psf-desktop-dev
psf-tegra runtime package (IGX Thor)nvidia/halos-outside-in/outside-in-safety:nv-psf-halos-1.4-aarch64-release-6b92731-psf-tegra
psf-tegra-dev development package (IGX Thor)nvidia/halos-outside-in/outside-in-safety:nv-psf-halos-1.4-aarch64-release-6b92731-psf-tegra-dev
psf-tegra-fsi FSI firmware package (IGX Thor)nvidia/halos-outside-in/outside-in-safety:nv-psf-halos-1.4-aarch64-release-6b92731-psf-tegra-fsi
Open-source sourcesnvidia/halos-outside-in/outside-in-safety:halos-1.4-oss-sources

What runs where

The nv-psf container runs every Safety Core process except the command receiver and fsicom-agent:

ProcessWhere it runs
NvPSD Gateway (nvpsd_gateway), SEI daemon (nvpss_daemon), MDX client (mdx_client), SAIM (safety_monitor), PCM (nv_perception_monitor), SDM (atl_sdm, proximity_sdm)Inside the nv-psf container
fsicom-agent, when the SDM runs on the Functional Safety IslandOn the host; you start it yourself
Command receiver (atl_sdm_cmd_receiver, proximity_sdm_cmd_receiver)On the host or another machine; you start it yourself

Building on the Safety Core?

The Integration Guide explains the architecture, each component, the Debian packages and running without Docker, and how to write your own decision maker. The Reference section lists every container option, launcher flag and configuration key.