#raspberry-pi #iot #automation #framework

sybot

Rust 库,用于协调组件、定义机器人系统及其通信

4 个版本

0.10.4 2024 年 5 月 25 日
0.10.3 2024 年 5 月 25 日
0.9.0-alpha 2024 年 5 月 7 日

机器人 中排名 #84

Download history 120/week @ 2024-05-03 14/week @ 2024-05-10 206/week @ 2024-05-17 270/week @ 2024-05-24 15/week @ 2024-05-31 4/week @ 2024-06-07 2/week @ 2024-06-28 11/week @ 2024-07-05

每月下载 263

自定义许可证

61KB
1K SLoC

sybot

Crates.io version sybot: rustc 1.68+

一个简单的库,用于控制组件和机器人组。

syact 的扩展库。

-- 未完成的文档 --

完整文档将很快添加

目标

  • 创建一个控制机器人、将它们暴露给网络并进行基本计算的综合性库

行动中

以下示例创建了一个新的 SyArm 机器人,运行所有设置函数并执行 GCode 脚本。

点击显示 Cargo.toml
# ...

[dependencies]
# Include the library configured for the raspberry pi
sybot = { version = "0.8.2, features = [ "rasp" ] }

# ...

use sybot::{Robot, JsonConfig, ActRobot, Setup};
use sybot::robot::SyArm;
use sybot::intpr::Interpreter;
use sybot::intpr::gcode::init_intpr;

fn main() -> std::io::Result<()> {
    // Load the standard-partlibs in order to use motor names as data
    //
    // ```json
    // "device": {
    //     "consts": "MOT_17HE15_1504S",    // Motor name, see
    // // <https://docs.rs/syact/0.11.1/syact/data/struct.StepperConst.html#associatedconstant.MOT_17HE15_1504S>
    //     "pin_dir": 17,
    //     "pin_step": 26
    // },
    // ```
    let libs = sybot::partlib::create_std_libs();

    // Create the robot out of the [configuration file]
    // (https://github.com/SamuelNoesslboeck/sybot/blob/master/res/SyArm_Mk1.conf.json)
    let mut syarm = SyArm::from_conf(
        JsonConfig::read_from_file(&libs, "res/SyArm_Mk1.conf.json")
    )?;

    // Run setup functions
    syarm.setup();
    // Enables async movements (multiple motors moving at once)
    syarm.setup_async();

    // DEBUG
        // Select "NoTool" at index 2
        syarm.set_tool_id(2);
    // 

    // Create a new GCode interpreter
    let intpr = init_intpr();

    // Run a GCode script
    dbg!(intpr.interpret_file(&mut syarm, "res/gcode/basicYZpos.gcode"));

    Ok(())
}

(来源: "examples/in_action.rs")

特性

有关更多特性,请参阅 syact#features

问题和请求

如果您遇到任何问题或对新增功能有任何请求,请随时在 GitHub 仓库 中创建问题。

依赖关系

~7–16MB
~239K SLoC