PolySync Bus and Runtime

This article was written for version 2.0.9 of Core. Click here for the most recent version of the help center.

A PolySync runtime is defined within the System Design File (SDF), and is a convenient way to reference the full software and hardware system. The SDF represents the static runtime configuration, defining each host, every node, and all sensors in the autonomous vehicle system.

A runtime doesn’t exist until one or more nodes are executing as valid domain participants. This is done by calling the psync_init function. All nodes within the runtime communicate on a shared PolySync bus.

The PolySync bus exists on the Ethernet wire. On a distributed system, all hosts would be connected to the same Gigabit Ethernet switch.

System Architecture

In the diagram, the hardware-dependent nodes─the Dynamic Driver Interfaces─have been logically separated from the pure-software application nodes. All nodes use the PolySync C and C++ APIs to access the PolySync bus.

Information and sensor data is passed around in pre-defined PolySync messages, which are published and subscribed to the bus using the various APIs.

The PolySync Node Scaffolding Generator can be used to generate a node to subscribe to the desired message(s).