All Projects → rclrust → rclrust

rclrust / rclrust

Licence: Apache-2.0 license
Yet another ROS2 Rust client

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to rclrust

awesome-webots
Awesome Webots
Stars: ✭ 46 (+9.52%)
Mutual labels:  ros2
isaac ros dnn inference
Hardware-accelerated DNN model inference ROS2 packages using NVIDIA Triton/TensorRT for both Jetson and x86_64 with CUDA-capable GPU
Stars: ✭ 67 (+59.52%)
Mutual labels:  ros2
transport drivers
A set of ROS2 drivers for transport-layer protocols.
Stars: ✭ 41 (-2.38%)
Mutual labels:  ros2
li slam ros2
ROS2 package of tightly-coupled lidar inertial ndt/gicp slam
Stars: ✭ 160 (+280.95%)
Mutual labels:  ros2
vscode ros2 workspace
A template for using VSCode as an IDE for ROS2 development.
Stars: ✭ 527 (+1154.76%)
Mutual labels:  ros2
Nindamani-the-weed-removal-robot
Nindamani, the AI based mechanically weed removal robot
Stars: ✭ 73 (+73.81%)
Mutual labels:  ros2
rmw ecal
ROS2 middleware based on eCAL
Stars: ✭ 30 (-28.57%)
Mutual labels:  ros2
docker
Docker-related material to setup, configure and develop with micro-ROS hardware.
Stars: ✭ 32 (-23.81%)
Mutual labels:  ros2
dockerfiles
Dockerfiles I use for development
Stars: ✭ 64 (+52.38%)
Mutual labels:  ros2
Micro-XRCE-DDS-Agent
Micro XRCE-DDS Agent respository
Stars: ✭ 58 (+38.1%)
Mutual labels:  ros2
dynamixel control
ros2_control packages for ROBOTIS Dynamixel
Stars: ✭ 69 (+64.29%)
Mutual labels:  ros2
iknet
Inverse kinematics estimation of ROBOTIS Open Manipulator X with neural networks
Stars: ✭ 27 (-35.71%)
Mutual labels:  ros2
ros-docker-gui
ROS Docker Containers with X11 (GUI) support [Linux]
Stars: ✭ 137 (+226.19%)
Mutual labels:  ros2
Awesome Robotic Tooling
Tooling for professional robotic development in C++ and Python with a touch of ROS, autonomous driving and aerospace.
Stars: ✭ 1,876 (+4366.67%)
Mutual labels:  ros2
orca3
ROS2 AUV based on the BlueRobotics BlueROV2 and Navigation2
Stars: ✭ 43 (+2.38%)
Mutual labels:  ros2
raspimouse ros2 examples
ROS 2 examples for Raspberry Pi Mouse
Stars: ✭ 29 (-30.95%)
Mutual labels:  ros2
ros msft camera
This ROS node uses Windows Media Foundation's frame server to efficiently process camera frames.
Stars: ✭ 17 (-59.52%)
Mutual labels:  ros2
pcl localization ros2
ROS2 package of 3D LIDAR-based Localization using PCL (Not SLAM)
Stars: ✭ 74 (+76.19%)
Mutual labels:  ros2
slam gmapping
Slam Gmapping for ROS2
Stars: ✭ 56 (+33.33%)
Mutual labels:  ros2
kvaser interface
A Kvaser CAN interface ROS abstraction layer.
Stars: ✭ 72 (+71.43%)
Mutual labels:  ros2

rclrust

rclrust's logo

test doc rclrust codecov dependency status Rust 1.53 Apache-2.0

This is yet another ROS2 client library written in Rust.
I have implemented it independent of the ament or colcon. By using proc-macro to generate message-type and service-type code, crate dependency resolution can now be completed in cargo. This was inspired by rosrust

Supporting Environments

  • Rust: 1.56+
  • ROS2:
  • OS:
    • Ubutnu
  • DDS:
    • Fast DDS (Default for Foxy)
    • Cyclone DDS (Default for Galactic+)

Supporting features

  • Code generation from .msg, .srv, .action
  • Loggers
  • Publishers/Subscriptions
  • Services/Clients
  • Timers
  • Parameters (without services)

TODO

  • Parameter services/clients
  • Actions
  • Lifecycles
  • More
    • Unit test
    • Documentation
    • Examples (especially with ament)
  • etc...

Distribution

RclRust is supporting multiple distributions by using cargo features. If you use a fixed distribution, set features in Cargo.toml as follows.

rclrust = { git = "https://github.com/rclrust/rclrust.git", features = ["foxy"] }

Otherwise, do not set features in Cargo.toml and pass target features like --featuers rclrust/${ROS_DISTRO} on build.

rclrust = { git = "https://github.com/rclrust/rclrust.git" }

Examples

Prepare

$ git clone [email protected]:rclrust/rclrust.git
$ cd rclrust
$ cargo build

Pub/Sub

Publisher:

$ cargo run --features <distro> --examples publisher

Subscription

$ cargo run --features <distro> --examples subscription

out

Other examples are here, and examples with colcon are here.

Notice

The icon of RclRust was created by combinating and modifing the following materials.

The other ROS2 clients written in Rust

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].