sharf

1 Overview

CI status Build Status
Ubuntu package 22.04 (jammy) 24.04 (noble)
amd64 Latest version of 'sharf' @ Cloudsmith Latest version of 'sharf' @ Cloudsmith
arm64 Latest version of 'sharf' @ Cloudsmith

A collection of utility packages for ROS/robotics projects. Refer to http://www.sherikov.net/sharf/ for more information.

2 Package Overview

This repository contains several utility packages designed for robotics and ROS applications:

2.1 ariles

A proxy ROS1/ROS2 package for Ariles serialization/configuration library, which supports multiple data formats including YAML, JSON, ROS parameters, ROS2 parameters, Octave script output, and name-value pairs. It provides a flexible way to handle configuration and serialization in robotics applications.

2.2 cdinit

A ROS-compatible CMake wrapper for the dinit service manager, designed to replace or complement traditional launching mechanisms like roslaunch, ros2launch, tmux, and screen. It offers service management with startup ordering, runtime dependencies, and advanced failure handling, suitable for robotics applications requiring robust launch management.

2.3 intrometry

A telemetry collection utility that addresses the same problem as pal_statistics and data_tamer but in a different way. It uses the ariles serialization library and keeps track of updated data instead of taking global snapshots. Features multiple backends including ROS2 topic publishing and MCAP file writing.

2.4 thread_supervisor

A simple C++17 thread supervisor that automatically restarts failed or finished threads.

2.5 graphite_to_mcap

A system statistics collection utility that accepts data in Graphite format and logs it to MCAP files. It’s designed to work with tools like collectd for system monitoring, with output compatible with PlotJuggler for data analysis and visualization.

2.6 pjmsg_mcap_wrapper

A logging library that writes plotjuggler_msgs to MCAP files without ROS dependencies. It incorporates FastCDR serializer, MCAP library, and pregenerated plotjuggler_msgs data structures, providing a complete solution for data logging without exposing its dependencies.

3 Packages

3.1 Dependency graph

3.2 Doxygen documentation

Package Dependency graph
ariles2_core_ws graph
ariles2_graphviz_ws graph
ariles2_namevalue2_ws graph
ariles2_octave_ws graph
ariles2_pugixml_ws graph
ariles2_rapidjson_ws graph
ariles2_ros2param_ws graph
ariles2_yamlcpp_ws graph
cdinit graph
cdinit_ros2 graph
graphite_to_mcap graph
intrometry_frontend graph
intrometry_pjmsg_mcap graph
intrometry_pjmsg_topic graph
intrometry_tests graph
pjmsg_mcap_wrapper graph
thread_supervisor graph

Total number of packages: 17

3.3 Workspace status

tags/0.2.4-0-gf061ef6
WSH: >>> status: git sources ---
Flags: H - version hash mismatch, M - uncommited changes
name               version                                  actual version            HM repository
----               -------                                  --------------            -- ----------
ariles             0d3074c9414e2518b19ce4d41b26919a450335e3 tags/ws-2.5.4-0-g0d3074c9  M https://github.com/asherikov/ariles.git
cdinit             d4398e9f7adec7173e93ab8dea187a70818c2cfa heads/master-0-gd4398e9      https://github.com/asherikov/cdinit.git
graphite_to_mcap   f0ad58c7120f71c963c51d8ddf3341f70153a100 heads/main-0-gf0ad58c        https://github.com/asherikov/graphite_to_mcap.git
intrometry         b53b80d52cf3f820072d9f48629d8325b2d11a56 heads/main-0-gb53b80d        https://github.com/asherikov/intrometry.git
pjmsg_mcap_wrapper c89d9cdb74930b0a86b0fb90b31732d2e0547851 heads/main-0-gc89d9cd        https://github.com/asherikov/pjmsg_mcap_wrapper.git
thread_supervisor  2d740f6ac746137dcb015e42716eb284b4c686ca tags/1.2.3-0-g2d740f6        https://github.com/asherikov/thread_supervisor.git

WSH: <<< status: git sources ---

4 Useful links

4.1 ROS1

4.2 ROS2