#ros #tf #变换

tf_rosrust

这是 ROS tf 库的 Rust 版本。它旨在用于机器人,以帮助跟踪多个坐标系,并是提供各种机器人相关功能的 Rust 库套件的一部分。

6 个版本

0.1.0 2023年3月20日
0.0.5 2021年12月7日
0.0.4 2021年10月6日
0.0.3 2021年7月29日

#108机器人

Download history 34/week @ 2024-03-14 75/week @ 2024-03-21 52/week @ 2024-03-28 34/week @ 2024-04-04 57/week @ 2024-04-11 19/week @ 2024-04-18 21/week @ 2024-04-25 25/week @ 2024-05-02 48/week @ 2024-05-09 42/week @ 2024-05-16 24/week @ 2024-05-23 45/week @ 2024-05-30 17/week @ 2024-06-06 27/week @ 2024-06-13 26/week @ 2024-06-20 10/week @ 2024-06-27

83 每月下载量
3 个 Crates 中使用 (通过 arci-ros)

MIT/Apache

56KB
1.5K SLoC

tf_rosrust

Build and Test crates.io docs

该项目是从 arjo129 rustros_tfMaxiMaerz rustros_tf 分支出来的。

  • 原始代码更改
    • MaxiMaerz 修复了变换
    • 包含 ros msg 文件,无需安装 ros 即可运行
    • 修复了动态 tf 处理

这是 ROS tf 库的 Rust 版本。它旨在用于机器人,以帮助跟踪多个坐标系,并是提供各种机器人相关功能的 Rust 库套件的一部分。

特性

到目前为止,仅实现了以下功能

  • TfListenerlookup_transform 和时间遍历。
  • TfBroadcaster 发布 /tf

我仍在以下方面工作

  • 更高效的缓存数据结构。
  • 去除 unwrap()

支持的平台

目前仅在 x86_64 上运行 ROS Melodic 的 Ubuntu 18.04 进行了测试。它应该可以在任何安装了适当 ROS 的基于 Linux 的系统上运行。

入门

首先安装 ROS。在 ubuntu 上,可以这样操作

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
curl -sSL 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xC1CF6E31E6BADE8868B172B4F42ED6FBAB17C654' | sudo apt-key add -
sudo apt update
sudo apt install ros-melodic-desktop

安装 ROS 后,您可以将此 crate 作为依赖项添加到您的 cargo 项目中

[dependencies]
tf_rosrust = "0.0.5"

第三方软件

此产品包括第三方开发的软件的副本和修改。

  • ros_msgs 包含了 rostf2_msgs 的消息包的副本和修改,这些内容遵循 2-Clause BSD 许可协议。

有关详细信息,请参阅这些目录中包含的许可文件。

示例用法

以下示例展示了简单的查找。

use tf_rosrust::TfListener;

fn main() {
    rosrust::init("listener");
    let listener = TfListener::new();

    let rate = rosrust::rate(1.0);
    while rosrust::is_ok() {
        let tf = listener.lookup_transform("camera", "base_link", rosrust::Time::new());
        println!("{tf:?}");
        rate.sleep();
    }
}

依赖项

~26–40MB
~839K SLoC