ros2-rust / Ros2_rust
Licence: apache-2.0
Rust bindings for ROS2
Stars: ✭ 187
Programming Languages
rust
11053 projects
Projects that are alternatives of or similar to Ros2 rust
Se2clam
SE(2)-Constrained Localization and Mapping by Fusing Odometry and Vision (IEEE Transactions on Cybernetics 2019)
Stars: ✭ 116 (-37.97%)
Mutual labels: robotics, ros
Ros Control Center
A web-based control center for ROS robots.
Stars: ✭ 180 (-3.74%)
Mutual labels: robotics, ros
Ros2learn
ROS 2 enabled Machine Learning algorithms
Stars: ✭ 119 (-36.36%)
Mutual labels: robotics, ros
Awesome Robotic Tooling
Tooling for professional robotic development in C++ and Python with a touch of ROS, autonomous driving and aerospace.
Stars: ✭ 1,876 (+903.21%)
Mutual labels: robotics, ros
Rosnodejs
Client library for writing ROS nodes in JavaScript with nodejs
Stars: ✭ 145 (-22.46%)
Mutual labels: robotics, ros
Stereo dense reconstruction
Dense 3D reconstruction from stereo (using LIBELAS)
Stars: ✭ 113 (-39.57%)
Mutual labels: robotics, ros
Grl
Robotics tools in C++11. Implements soft real time arm drivers for Kuka LBR iiwa plus V-REP, ROS, Constrained Optimization based planning, Hand Eye Calibration and Inverse Kinematics integration.
Stars: ✭ 105 (-43.85%)
Mutual labels: robotics, ros
Aikido
Artificial Intelligence for Kinematics, Dynamics, and Optimization
Stars: ✭ 133 (-28.88%)
Mutual labels: robotics, ros
Xpp
Visualization of Motions for Legged Robots in ros-rviz
Stars: ✭ 177 (-5.35%)
Mutual labels: robotics, ros
Urdf Viz
visualize URDF/XACRO file, URDF Viewer works on Windows/MacOS/Linux
Stars: ✭ 149 (-20.32%)
Mutual labels: robotics, ros
Robotics setup
Setup Ubuntu 18.04, 16.04 and 14.04 with machine learning and robotics software plus user configuration. Includes ceres tensorflow ros caffe vrep eigen cudnn and cuda plus many more.
Stars: ✭ 110 (-41.18%)
Mutual labels: robotics, ros
Dolly
🤖🐑 It's a sheep, it's a dolly, it's a following robot. Dolly was born to be cloned.
Stars: ✭ 113 (-39.57%)
Mutual labels: robotics, ros
Robotics Coursework
🤖 Places where you can learn robotics (and stuff like that) online 🤖
Stars: ✭ 1,810 (+867.91%)
Mutual labels: robotics, ros
Cleanit
Open-source Autonomy Software in Rust-lang with gRPC for the Roomba series robot vacuum cleaners. Under development.
Stars: ✭ 125 (-33.16%)
Mutual labels: robotics, ros
Evo
Python package for the evaluation of odometry and SLAM
Stars: ✭ 1,373 (+634.22%)
Mutual labels: robotics, ros
Flexbe behavior engine
Contains the behavior engine FlexBE.
Stars: ✭ 101 (-45.99%)
Mutual labels: robotics, ros
Urdf Loaders
URDF Loaders for Unity and THREE.js with example ATHLETE URDF Files
Stars: ✭ 129 (-31.02%)
Mutual labels: robotics, ros
ROS2 for Rust
Build status
Target | Status |
---|---|
Ubuntu 18.04 |
Introduction
This is a set of projects (bindings, code generator, examples and more) that enables developers to write ROS2 applications in Rust.
Features
The current set of features include:
- Generation of all builtin ROS types
- Support for publishers and subscriptions
- Tunable QoS settings
What's missing?
Lots of things!
- An ament build type for Cargo. The current examples use CMake to install and build the binaries... and it's really ugly.
- Component nodes
- Clients and services
- Tests
- Documentation
Limitations
- messages are deep-copied and this can be terribly inefficient for big messages like images; the current solution leverages C typesupport implementations and might benefits from a direct serialization/deserialization
- the current solution for crates export with CMake is not very robust
-
rclrs
interface is very limited for now and might not be so much idiomatic yet, any help and suggestion on the interface would be greatly appreciated - due to the current ROS2 support of non-default clients, packages containing definitions of messages used in Rust crates must be present in the current workspace; otherwise message crates generation won't be triggered
Sounds great, how can I try this out?
You can build and run the example using the included Dockerfile:
git clone https://github.com/ros2-rust/ros2_rust.git
docker build --tag ros2:rust .
docker run -it --rm ros2:rust
ros2 run rclrs_examples rclrs_publisher &
ros2 run rclrs_examples rclrs_subscriber
Or do so manually as summarized in the steps below:
The following steps were last tested on Ubuntu 20.04.
# first, install vcstool from PyPI or apt:
# sudo apt install ros-foxy-desktop python3-vcstool libclang-dev clang
# pip install vcstool
mkdir -p ~/ros2_rust_ws/src/ros2-rust
cd ~/ros2_rust_ws/src/ros2-rust
git clone https://github.com/ros2-rust/ros2_rust.git
cd ../../
vcs import src < src/ros2-rust/ros2_rust/ros2_rust.repos
source /opt/ros/foxy/setup.sh
colcon build
Now you can just run a bunch of examples.
Publisher and subscriber
Publisher:
. ./install/setup.sh
ros2 run rclrs_examples rclrs_publisher
Subscriber:
. ./install/setup.sh
ros2 run rclrs_examples rclrs_subscriber
Enjoy!
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].