5 个版本
0.2.3 | 2024年8月13日 |
---|---|
0.2.2 | 2023年5月13日 |
0.2.1 | 2023年4月22日 |
0.2.0 | 2023年4月22日 |
0.1.0 | 2023年4月21日 |
#32 在 机器人
每月117 次下载
71KB
1K SLoC
Rust 的 ROS 核心实现
这个 Rust 库提供了 ROS (Robot Operating System) 核心的独立实现。它允许你在没有依赖外部 ROS 安装的情况下运行 ROS 主节点并与其他 ROS 节点进行通信。你可以使用这个库在 Rust 中构建 ROS 节点,包括发布者和订阅者,而无需使用任何其他 ROS 依赖。
示例
独立 ROS 核心节点
要启动 ROS 核心节点,运行以下命令
# start the ros-core
RUST_LOG=debug cargo run
然后运行你的任何 ROS 堆栈,例如,Python chatter 示例。
说话者/听者
这个示例创建了一个包含以下内容的单个可执行文件
- ROS 核心节点
- ROS 发布者
- ROS 订阅者
要运行说话者/听者示例,执行以下命令
RUST_LOG=info ROSRUST_MSG_PATH=`realpath examples/chatter/msgs` cargo run --example chatter --release
此示例创建了一个包含独立 ROS 核心节点实现、ROS 发布者和 ROS 订阅者的单个可执行文件。此实现受到 ROS Wiki 中的官方 chatter Python 示例的启发,该示例演示了使用 ROS 消息在两个节点之间进行简单通信。
使用官方 ROS Docker 镜像进行调试
为了展示此 ROS 核心实现可以与官方 ROS 发布者和订阅者(Python)一起使用,我们提供了一个调试脚本,用于启动 ROS Docker 镜像并运行说话者和听者示例。要运行脚本,执行以下命令
# change directory to debugging folder
cd debugging
# make the script executable
chmod +x run.sh
# execute the script
./run.sh
此脚本将下载官方 ROS Docker 镜像并启动一个带有 ROS 环境的容器。然后,它将运行一个 Python 脚本,该脚本使用 ROS 说话者和听者节点与来自此存储库的独立 ROS 核心实现进行通信。这旨在作为一个示例,说明如何将独立 ROS 核心(ros-core-rs)实现与其他 ROS 节点一起使用,但使用此脚本并非必需,以便单独使用独立实现。
贡献
我们欢迎对这个项目的贡献!如果你发现了一个错误或有一个功能请求,请在此 GitHub 仓库中创建一个问题。如果你想贡献代码,请随时提交一个 pull request。
交叉编译到 arm64
apt install libssl-dev:arm64
export AARCH64_UNKNOWN_LINUX_GNU_OPENSSL_LIB_DIR=/usr/lib/aarch64-linux-gnu/
export AARCH64_UNKNOWN_LINUX_GNU_OPENSSL_INCLUDE_DIR=/usr/include/aarch64-linux-gnu/
cargo build --target aarch64-unknown-linux-gnu --release
依赖
~13–26MB
~413K SLoC