[Documentation] [TitleIndex] [WordIndex

Package Summary

A portable, dependency-free ROS client library in pure C


http://web1.synapticon.com/pub/rosc-Logo_150.png

Documentation

rosc is a dependency-free ROS client implementation in ANSI C which aims to support small embedded systems as well as any operating system. Its long-term goal is to become a hardened, efficient and highly portable implementation of the ROS middleware (including future evolutions of it), making it a good choice for use in industrial applications or product development.

rosc is based on a modular concept, enabling the developer to select or add the platform support he needs. A rosc node is assembled by the rosc core package which contains the basic communication structure, support packages for each platform (operating systems / bare-metal systems (AVR, ARM, XMOS etc.)) as well as communication packages for bare-metal systems which contain the handling functions for several communication interfaces.

Efficiency of rosc is driven and maintained by a bare-metal, low-memory reference scenario. For bare-metal systems each memory storage is allocated at compile time. This means that the user must define a maximum array length for messages with undefined arrays (as an example from a msg file: uint8t array[]). On systems with an operating system this is not necessary because the memory for the array will be allocated at runtime.

Essential features:

Planned future extensions:

Development Status

rosc is available as alpha, and still under heavy development.

You can try out the alpha under Linux now.

Updated on: 2nd January 2014

rosc repository at GitHub

Documentation (github.io)


2023-10-28 12:59