dynibo 0.3.0

Tree-structured robot kinematics and dynamics with runtime-size workspace APIs
Documentation
# Rust 指南

Rust crate 是 dynibo 的原生接口,提供强类型 link ID、显式 workspace、调用方持有的
输出 buffer,以及详细的 `Error` variant。

```bash
cargo add dynibo
```

## 典型设置

```rust
use dynibo::{BaseState, Robot};

fn main() -> dynibo::Result<()> {
    let robot = Robot::from_urdf("robot.urdf")?;
    let base = BaseState::fixed();
    let target = robot.link_id("tool")?;
    let mut workspace = robot.workspace();
    let q = vec![0.0; robot.joint_count()];

    let pose = robot.forward_kinematics(&base, &q, target, &mut workspace)?;
    println!("{}", pose.translation.vector.transpose());
    Ok(())
}
```

## 内存分配与并发

重复计算矩阵或广义力时,应预先创建并复用输出 buffer。`Workspace` 是模型局部且可变的,
每个并发计算需要独立 workspace。`LinkId` 同样属于模型,不能与独立加载的其他模型混用。

## 类型与错误

`Frame` 是 nalgebra 的三维 isometry。`Twist` 和 `Wrench` 提供有名称的
angular/linear 与 torque/force 分量。可能失败的调用返回 `dynibo::Result<T>`;
`Error::category()` 提供稳定的粗粒度类别,具体 error variant 则保留详细信息。

[打开 Rust API 参考](https://docs.rs/dynibo){ .md-button }