Skip to content

A minimal library for computing robot kinematics in Rust.

License

Notifications You must be signed in to change notification settings

filipmrc/kinematics-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

kinematics-rs is a minimal robot kinematics library written in Rust.

NOTE: This library is still in very early stages of development and started as a project for learning Rust. See a list of more feature-complete libraries here.

The guiding principles of development for this library:

  • scope limited to forward problems for kinematic chains and trees
  • exhaustive unit testing for maintainng robustness
  • detailed benchmarks for provably high performance
  • bindings for other languages for simple integration into existing projects

Usage

Simple usage example:

use kinematics_rs::{Chain};

fn main() {
    // Initialize Chain object that loads the robot URDF
    let robot = Chain::<f32>::new(String::from("models/kuka_iiwr.urdf"), String::from("world_joint"));

    // Random joint configuration
    let config = vec![-0.57, 0.87, -0.65, -0.04, 2.27, 0.83, -2.44];

    // Forward kinematics for "ee_fixed_joint"
    let xf_target = robot.fk(&config, &String::from("ee_fixed_joint"));
    println!("{:}", xf_target);

    // Jacobian for "ee_fixed_joint"
    let jac_target = robot.jacobian(&config, &String::from("ee_fixed_joint"));
    println!("{:}", jac_target);
}

Other libraries

k - Excellent Kinematics library in Rust with many functionalities.

About

A minimal library for computing robot kinematics in Rust.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages