cerulion_cli
The cerulion command-line tool for
Cerulion, a zero-copy, deterministic
framework for real-time robotics.
Install
cerulion_netd is the network gateway daemon the CLI starts when a command
needs a remote robot's topic. Release binaries and the Homebrew and Debian
packages are in the
installation guide.
First run
# A node that fires every 100 ms and publishes one geometry_msgs/Vector3.
# Edit nodes/sensor/src/lib.rs so tick writes the output, for example:
# self.reading.x = self.tick_count as f64;
# In a second terminal:
A node with no input has nothing to trigger it, so node create needs
--policy period_ms=N (or --policy external). An output that tick never
writes publishes nothing. On Unix, graph run runs the graph across several
processes by default and asks before it writes that layout into the graph file;
--single-process opts out.
cerulion --help prints the whole command tree, and each subcommand answers
--help except ros2 run and ros2 launch: those forward every argument,
--help included, to the native ros2, and refuse with exit 69 until
librmw_cerulion.so sits beside the cerulion binary. Install the ROS 2
release package, or build rmw_cerulion against your ROS 2 headers and set
CERULION_LIB_DIR to the directory holding librmw_cerulion.so. The
quickstart adds
recording and replay verification, and the
API reference
documents every verb.
This crate is a thin clap wrapper over cerulion_cli_engine, where the command
logic lives.
License
Licensed under the GNU Affero General Public License v3.0 only (AGPL-3.0-only). See the LICENSE file. A separate commercial license is available; see the project README.