#ros #dataset

rosbag

读取 ROS 包文件的实用工具

10 个版本 (5 个重大更改)

0.6.3 2024年5月27日
0.6.1 2022年9月2日
0.6.0 2022年5月25日
0.5.0 2022年2月20日
0.2.0 2018年4月18日

#16 in 机器人学

Download history 119/week @ 2024-05-18 160/week @ 2024-05-25 22/week @ 2024-06-01 62/week @ 2024-06-08 40/week @ 2024-06-15 77/week @ 2024-06-22 36/week @ 2024-06-29 77/week @ 2024-07-06 62/week @ 2024-07-13 109/week @ 2024-07-20 229/week @ 2024-07-27 70/week @ 2024-08-03 101/week @ 2024-08-10 92/week @ 2024-08-17

每月517 次下载

MIT/Apache

41KB
877 行代码

rosbag-rs

Crate Docs Apache2/MIT licensed Rust Version Build Status Dependency Status

纯 Rust 库,用于读取 ROS 包文件。

示例

use rosbag::{ChunkRecord, MessageRecord, IndexRecord, RosBag};

let bag = RosBag::new(path)?;
// Iterate over records in the chunk section
for record in bag.chunk_records() {
    match record? {
        ChunkRecord::Chunk(chunk) => {
            // iterate over messages in the chunk
            for msg in chunk.messages() {
                match msg? {
                    MessageRecord::MessageData(msg_data) => {
                        // ..
                    }
                    MessageRecord::Connection(conn) => {
                        // ..
                    }
                }
            }
        },
        ChunkRecord::IndexData(index_data) => {
            // ..
        },
    }
}
// Iterate over records in the index section
for record in bag.index_records() {
    match record? {
        IndexRecord::IndexData(index_data) => {
            // ..
        }
        IndexRecord::Connection(conn) => {
            // ..
        }
        IndexRecord::ChunkInfo(chunk_info) => {
            // ..
        }
    }
}

许可协议

该库采用以下任一许可协议:

由您选择。

贡献

除非您明确表示,否则您提交的任何有意包含在作品中的贡献,根据 Apache-2.0 许可协议定义,将按照上述双许可协议进行许可,不附加任何额外条款或条件。

依赖项

~2.5MB
~39K SLoC