End2End Robotics Stacks

Full-stack Robotics Software

End2End Robotics Stacks: Full-stack Robotics Software

CyberCortex.AI is the go-to operating system for implementing full-stack robotics solutions.

The CyberCortex Robotics software stacks follow a vertical integration approach, where each component is designed in-house and carefully tailored for our customers' need.

We are powering navigation solutions for wheeled, legged and aerial robots, by leveraging our patented robotics OS and its components:

  • CyC inference for executing DataBlocks for Filters on embedded computers
  • CyC comm for establishing real-time communication datastreams between teams of collaborative robotic systems
  • CyC dnn for running perception and control deep neural networks
  • CyC GraphSense, implementing our approach to simultaneous perception, localization and mapping
  • CyC GraphPlan, used for planning and executing safe motion control trajectories based on the output of CyC GraphSense

Each developed robotics stack is maintained, updated and access through CyC droids, our robotic fleet management solution. The neural networks used for powering different stages of perception and control within a robotics stack are trained using our CyC dojo system.

CyberCortex DataBlocks

In the following, we will explain the concept of a CyberCortex DataBlock using an application example composed of 2 robots (a Unitree A1 legged robot and an Anafi Parrot 4K drone), a Mission Controller, our CyC dojo system and the CyC droids robotic fleet management platform. The two robotic systems receive high-level commands from Mission Control. These commands represent the perimeter of the area to be surveilled, which is typically located on unstructured rough terrain.

CyberCortex.AI powering two collaborative robots..

The video below shows the embedded hardware (top-right corner) on which the robots' DataBlocks run. In the left, we see the output of the CyC dnn Embodied AI engine, uperimposed on the images acquired from the drone and the legged robot, respectively. The legged robot's LiDAR data is shown in the middle, while the CyC droids robotic fleet management interface is visible in the bottom-right corner.

Accessing the CyberCortex.AI DataBlock through CyC droids..

The block diagram of the application is illustraed in the figure below, showcasing the five DataBlocks running on five different devices. For the sake of clarity, only the DataBlock executed on the legged robot is detailed (left area of the figure). A DataBlock is a table-like structure specifying the structure of the processing pipeline running on a computing device that has an unique BlockID. The BlockID is equal to the device's MAC address. Each entry in the DataBlock is a so-called Filter running at a given sampling time. A Filter outputs a processed datastream, while consuming datastreams provided by other filters. The output datastream is obtained either by locally processing the input datastreams, or by mapping the output of aFilter computed on a remote device. In the later case, the output datastream of a Filter running on a remote computer is mirrored locally using CyC comm, thus masking the actual location of computation.
CyberCortex.AI Software Stack
The DataBlocks are started automatically using an operating system's daemon. When executed wihtin a terminal, it displays the Filter components, their computation location (BlockID), their types and output datastream, as well as the samling time: