Expand description
Unros is an experimental alternative to the ROS 1 & 2 frameworks.
It is written from the ground up in Rust and seeks to replicate most of the common functionality in ROS while adding some extra features that exploit Rust’s abilities.
This crate contains the core functionality which defines what this framework offers:
- The Node trait
- A complete logging system
- An asynchronous Node runtime
- Publisher and Subscribers (analagous to ROS publisher and subscribers)
- The Service framework (analagous to ROS actions and services)
Modules§
- anyhow
- github crates-io docs-rs
- bytes
- Provides abstractions for working with bytes.
- log
- A lightweight logging facade.
- logging
- pubsub
- Publishers and Subscribers are an essential component of many frameworks in many different disciplines.
- rayon
- Rayon is a data-parallelism library that makes it easy to convert sequential computations into parallel.
- rng
- A simple pool of pseudorandom number generators to avoid seeding new ones frequently.
- service
- Services can be thought of as a long running function whose execution has to be requested through an API, and its status can be tracked while it is running, and the return value will be provided back to the service requester.
- tokio
- A runtime for writing reliable network applications without compromising speed.
- utils
- Several utilities that complement the Unros framework.
Macros§
- default_
run_ options - Creates a default
RunOptions
. - setup_
logging - Sets up a locally available set of logging macros.
- super_
panic - A safe way to terminate the program with ample logged information.
Structs§
- Application
- Configuration for an
Application
that will be ran by Unros. - Drop
Check - A simple primitive for tracking when clones of itself have been dropped.
- Node
Intrinsics - An object that all Nodes must store.
- Observing
Drop Check - A similar object to
DropCheck
, however, none of its clones will be updated when this is dropped. - RunOptions
- Configurations for the runtime
- Runtime
Context - A reference to the runtime that is currently running.
Traits§
- Node
- A Node just represents a long running task.
Functions§
- asyncify_
run - Spawns a blocking thread (using
spawn_persistent_thread
) that can be awaited on. - get_env
- Deserialize environment variables and dhe default config file into the given generic type.
- spawn_
persistent_ thread - Spawns a thread that is guaranteed to run the given closure to completion.
- start_
unros_ runtime - The main entry point to an Unros runtime.
Attribute Macros§
- async_
trait - main
- Wraps the given method to be ran using
start_unros_runtime
.