Overview
JCS dev_host is the interface between a JCS network and your higher level robotic software. dev_host is available as a C++ library for Linux operating systems.
JCS dev_host is a synchronous system that is ticked at a rate defined by configuration. Upon each tick of the network, dev_host transmits user data to any devices or processes, ticks the devices and processes and receives any data from the devices or processes to be presented to the user.
dev_host manages device and process configuration, startup and shutdown and monitors device health.
dev_host supports a number of useful features:
- Concise network and device configuration via YAML files. This allows robot configuration to be version controlled and easily modifiable.
- Tools to manage startup and shutdown of devices and processes.
- Synchronous signals API in which real time data is exchanged with the network at fixed rates.
- Configurable sub rates to allow exchange of data and ticking of processes at rates other than the configured base rate.
- An asynchronous parameter interface to configure and query devices and processes.
Definitions
Here are some useful definitions that are used around JCS:
Term | Definition |
---|---|
Signal | Some data (e.g. a floating point value) that is transferred around the network. |
Tick | Ticking of the synchronous system is advancing forward by a time step. |
Rate | The frequency at which a particular tick occurs. |
Base-rate | The primary rate at which the JCS system is ticked at. |
Sub-rate | A rate slower than the base rate. |
Device | A piece of JCS specific hardware. |
Process | A thing that can run on some JCS devices. Examples are PID controllers, solver and transformations. |