Skip to main content

Rust bindings for the Franka Emika Panda robot

Project description

Readme

English | 简体中文

unofficial rust implementation of libfranka!

This library is part of the Universal Robot Driver Project! We are committed to providing Rust driver support for more robotic platforms! Unifying driver interfaces across different robot models, reducing the learning curve for robotics, and delivering more efficient robot control solutions!

During implementation, we referenced both libfranka and libfranka-rs. Special thanks to open-source contributors, especially marcbone - their library provided significant assistance! This implementation is not intended to be a direct replica of the official approach, but rather follows a more idiomatic Rust methodology.

Additionally, the official driver implementation has limited support for non-Ubuntu systems and high dependency on real-time kernels. In this library, we make real-time kernels an optional dependency. We strive to provide support for platforms without real-time kernels or with performance constraints.

OS Architecture Support
Windows 10 x86_64
Windows 10 amd64
Windows 11 x86_64
Windows 11 amd64
Ubuntu 20.04 x86_64
Ubuntu 22.04 x86_64
macOS 13 x86_64
macOS 14 aarch64
Other Other ???

Other OS/arch combinations may work but remain untested due to hardware limitations. PRs and issues are welcome!

This library also aims to support multiple language bindings through our unified interface. Currently supported:

  • Python
  • C++ (Planned)
  • Java (Planned)
  • Go (Planned)
  • C# (Planned)

Requirements

  • Rust 2024

Features

  • Robot state reading
  • Robot behavior parameters, controller parameters, and payload configuration
  • Access to official Franka dynamic models
  • Known-target interfaces
    • Joint-space point-to-point motion generator (blocking/async)
    • Cartesian-space point-to-point motion generator (blocking/async)
    • Waypoint spline motion generator (blocking/async)
  • Closure-based control interfaces
    • Joint position control
    • Joint velocity control
    • Cartesian position control
    • Cartesian velocity control
    • Torque control
  • Handler tracking interfaces
    • Joint position tracking
    • Joint velocity tracking
    • Cartesian position tracking
    • Cartesian velocity tracking
    • Torque tracking
  • Official gripper support
  • Official vacuum gripper support

Quick Start

Add to your Cargo.toml:

[dependencies]
franka-rust = "*"

Minimal example (see examples for more):

fn main() -> RobotResult<()> {
    let mut robot = FrankaRobot::new("172.16.0.3");
    robot.set_default_behavior()?;

    robot.set_collision_behavior(SetCollisionBehaviorData {
        lower_torque_thresholds_acceleration: [20., 20., 18., 18., 16., 14., 12.],
        upper_torque_thresholds_acceleration: [20., 20., 18., 18., 16., 14., 12.],
        lower_torque_thresholds_nominal: [20., 20., 18., 18., 16., 14., 12.],
        upper_torque_thresholds_nominal: [20., 20., 18., 18., 16., 14., 12.],
        lower_force_thresholds_acceleration: [20., 20., 20., 25., 25., 25.],
        upper_force_thresholds_acceleration: [20., 20., 20., 25., 25., 25.],
        lower_force_thresholds_nominal: [20., 20., 20., 25., 25., 25.],
        upper_force_thresholds_nominal: [20., 20., 20., 25., 25., 25.],
    })?;

    robot.move_to(MotionType::Joint(FRANKA_ROBOT_DEFAULT_JOINT), 0.3)?;

    Ok(())
}

This code connects to a Franka Emika robot at 172.16.0.3 and performs a blocking move to FRANKA_ROBOT_DEFAULT_JOINT.

Simple, right? Give it a try!

TODO

  • more examples
  • handler interface

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

franka_rust-0.1.7-cp313-cp313-win_amd64.whl (443.3 kB view details)

Uploaded CPython 3.13Windows x86-64

franka_rust-0.1.7-cp313-cp313-win32.whl (420.5 kB view details)

Uploaded CPython 3.13Windows x86

franka_rust-0.1.7-cp313-cp313-manylinux_2_34_x86_64.whl (594.7 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

franka_rust-0.1.7-cp313-cp313-macosx_11_0_arm64.whl (523.6 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

franka_rust-0.1.7-cp313-cp313-macosx_10_12_x86_64.whl (544.5 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

franka_rust-0.1.7-cp312-cp312-win_amd64.whl (443.6 kB view details)

Uploaded CPython 3.12Windows x86-64

franka_rust-0.1.7-cp312-cp312-win32.whl (420.7 kB view details)

Uploaded CPython 3.12Windows x86

franka_rust-0.1.7-cp312-cp312-macosx_11_0_arm64.whl (524.0 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

franka_rust-0.1.7-cp312-cp312-macosx_10_12_x86_64.whl (545.1 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

franka_rust-0.1.7-cp311-cp311-win_amd64.whl (444.5 kB view details)

Uploaded CPython 3.11Windows x86-64

franka_rust-0.1.7-cp311-cp311-win32.whl (421.6 kB view details)

Uploaded CPython 3.11Windows x86

franka_rust-0.1.7-cp311-cp311-macosx_11_0_arm64.whl (526.6 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

franka_rust-0.1.7-cp311-cp311-macosx_10_12_x86_64.whl (551.4 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

franka_rust-0.1.7-cp310-cp310-win_amd64.whl (444.6 kB view details)

Uploaded CPython 3.10Windows x86-64

franka_rust-0.1.7-cp310-cp310-win32.whl (421.4 kB view details)

Uploaded CPython 3.10Windows x86

franka_rust-0.1.7-cp310-cp310-manylinux_2_34_x86_64.whl (594.6 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ x86-64

franka_rust-0.1.7-cp39-cp39-win_amd64.whl (445.0 kB view details)

Uploaded CPython 3.9Windows x86-64

franka_rust-0.1.7-cp39-cp39-win32.whl (421.5 kB view details)

Uploaded CPython 3.9Windows x86

franka_rust-0.1.7-cp38-cp38-win_amd64.whl (444.9 kB view details)

Uploaded CPython 3.8Windows x86-64

franka_rust-0.1.7-cp38-cp38-win32.whl (421.5 kB view details)

Uploaded CPython 3.8Windows x86

File details

Details for the file franka_rust-0.1.7-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for franka_rust-0.1.7-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 916b4a97f8510f11d780be4cf13c7627441c23dbc99b5d5fdd4a8e051f0f57d0
MD5 b7b1c46f2bff601c0795815514d379a7
BLAKE2b-256 4c7687c2576c14450b12866f646dda1f8cb82b28bbaa61974e29d75194ea69c7

See more details on using hashes here.

File details

Details for the file franka_rust-0.1.7-cp313-cp313-win32.whl.

File metadata

File hashes

Hashes for franka_rust-0.1.7-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 e26013c140c3ee1bf0f60bc77848fd6acca49e6fe1e1b09b0c8342f4a5bdca4d
MD5 22378bbb76a08eb93a88e531a200c105
BLAKE2b-256 2d2a6c07385a326f060feb3ad791eb0ae2f749e65696ccacd80e0b51fb0d3772

See more details on using hashes here.

File details

Details for the file franka_rust-0.1.7-cp313-cp313-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for franka_rust-0.1.7-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 4074fe2e00f4becf66320e7fcf066070c2bc0981de124694affd850aab8fccd2
MD5 52569f5020a05592cca538bea3abda77
BLAKE2b-256 8b513a347117fd7191842fa21f454ffd389c49577b1eb4438f9c32263456bb67

See more details on using hashes here.

File details

Details for the file franka_rust-0.1.7-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for franka_rust-0.1.7-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3709cc8668a46f3d90e475b65d0182c47048e55bb5d9a5a82089df7ed11043ee
MD5 372ccbf18000ba81ff9e59877b9805b2
BLAKE2b-256 9a0a2a0607fcbd6b912930ea63377de28148e44b68691ad70400d9966890c265

See more details on using hashes here.

File details

Details for the file franka_rust-0.1.7-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for franka_rust-0.1.7-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 04518fa29341d97c906436a71fdef9ea3d4b404ca28fa40cd30e35194cd09f6a
MD5 800f5a8cd168349146dad6a74a466978
BLAKE2b-256 0366fa982d473a198ff708fca7d650b654f7d8716e61abb2bed1f337d17b3c43

See more details on using hashes here.

File details

Details for the file franka_rust-0.1.7-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for franka_rust-0.1.7-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 432ceea4561be430092919424ad12f2f26944174e4de39fd0f961586d1d6421e
MD5 d5fe502a9d04a2af3f12c4891cc925cc
BLAKE2b-256 539661e3f0376ef70664158671707444e273110b7cffdcc2284bc05e92715a38

See more details on using hashes here.

File details

Details for the file franka_rust-0.1.7-cp312-cp312-win32.whl.

File metadata

File hashes

Hashes for franka_rust-0.1.7-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 036dd7f6efcea6a3d8c2325472a12ccdc7ba9135798ef932b8c34e86f302c566
MD5 a6e063ef13e64ea20336039fdbad740c
BLAKE2b-256 f803e0562a482b1d7eec02a6d552522909bfd01400c92b2a89f35eaca8588838

See more details on using hashes here.

File details

Details for the file franka_rust-0.1.7-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for franka_rust-0.1.7-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 935978d87c6fed099c0c6463e58870ef0f684a2da2c8f066c0f0c4050ab0de91
MD5 48ac02cad42141ebcac3f42a79c0e09d
BLAKE2b-256 0eb8f349feefa67985571cb9406d1101f8888213cc20bc7c3939a8209e0d8129

See more details on using hashes here.

File details

Details for the file franka_rust-0.1.7-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for franka_rust-0.1.7-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 70b636ce8d32f25adf623f08b871aa5e0aa7439960c5b27f3f6bb0a32f235015
MD5 f70772368d2e88b92d2badb46dac1aed
BLAKE2b-256 99078b097235bb9979ca2868b339ece598cc44465c27ccec2519267878aa7dcf

See more details on using hashes here.

File details

Details for the file franka_rust-0.1.7-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for franka_rust-0.1.7-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 78006d99e36c3bd35cbcb6ed0989fd3d3fb497e9cc38ab03a21e27dcf27e11c7
MD5 7a88ec3f9b99f636db2d839c8fb0bcd5
BLAKE2b-256 8cbf177079bcabac9e7feca15b1e633346cda075bcc424c393bd90f4d1930522

See more details on using hashes here.

File details

Details for the file franka_rust-0.1.7-cp311-cp311-win32.whl.

File metadata

File hashes

Hashes for franka_rust-0.1.7-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 91eee9dc72b6b126ab5c4ace1cd1f6a994b53d058e4acdfd6fb1a5bd1a14d5f9
MD5 e66a89d450c7a632f41bb180f57e49bd
BLAKE2b-256 71972e99621cf0fe40abda7eae83fce6aa7b862256a24f01d2b3fd7f6e886608

See more details on using hashes here.

File details

Details for the file franka_rust-0.1.7-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for franka_rust-0.1.7-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0d0a01ee2baa662807bd5b1395f59f2ff4c6d39583237902e09a47013f9f4b62
MD5 7b96a46a279b777046ca80024e748819
BLAKE2b-256 5d094ca322d6819c5646e25771bc2379c9d10993c935a45e8b5d25baa0393c5f

See more details on using hashes here.

File details

Details for the file franka_rust-0.1.7-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for franka_rust-0.1.7-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 aedf53334f122db7e699a30a4ebf997ba6dc2f0841b8b55d447a625756fced2c
MD5 729683c340561d86bbce638c9c5e363d
BLAKE2b-256 6dcf9f8c8835941c1c0eb9469a170f49f73a8af5f0df8c8e8d8340d6a2416565

See more details on using hashes here.

File details

Details for the file franka_rust-0.1.7-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for franka_rust-0.1.7-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 77573fbe9bc217194c2d7f86ef25dff9e3d28a547bd13d77788b9a5ba10432dc
MD5 d58b957546f95b34f3d104e1d2423ca8
BLAKE2b-256 e253c0fbb8c3d0e8222d42e29fa803718126506b2f9e6e34a91377a37a17aa88

See more details on using hashes here.

File details

Details for the file franka_rust-0.1.7-cp310-cp310-win32.whl.

File metadata

File hashes

Hashes for franka_rust-0.1.7-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 065b2f6ae5bbddc15f88a78d8cc951bde6ba80a13a9a2b81c49ccd1d160aa526
MD5 f73851d8066d9912285bc97068ae1c70
BLAKE2b-256 9c6aa4ae8c29bc75eecd24523a0f798eede11142017bb83c16a06b7be753482a

See more details on using hashes here.

File details

Details for the file franka_rust-0.1.7-cp310-cp310-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for franka_rust-0.1.7-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 017150e5aa8bce569bc9fe3f76901f7f28c67f87738788236a763db556baf498
MD5 737570a1a51f553ceb11c728f212da83
BLAKE2b-256 9e8c68883e00afa5cfdd041cf9b420d52d6b0f0abc9e0815274dda77ae657955

See more details on using hashes here.

File details

Details for the file franka_rust-0.1.7-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for franka_rust-0.1.7-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 651641ae1910ea137ec62cc4578a8b3882382cffca144ac3d735670a698509cc
MD5 4bc08803f3028e0abab71b4243d27243
BLAKE2b-256 e463f9ac2d0270eefb61b97ff10835ddb8276a321d343bea46a8d675b1dba5c7

See more details on using hashes here.

File details

Details for the file franka_rust-0.1.7-cp39-cp39-win32.whl.

File metadata

  • Download URL: franka_rust-0.1.7-cp39-cp39-win32.whl
  • Upload date:
  • Size: 421.5 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.8.6

File hashes

Hashes for franka_rust-0.1.7-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 f9dabea5224487bfc11a501f18df80a64bb69dc1e8845c2a745a06ef27397707
MD5 9412316221d3911c44a38c3a9a4ea77d
BLAKE2b-256 59d6552047cd6ab7274b0fe7abba0909022fd0c4e26daea478389f6fa0232d2d

See more details on using hashes here.

File details

Details for the file franka_rust-0.1.7-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for franka_rust-0.1.7-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 ffa3f8225048ca3a91cfc40b5f7c36c204528b02163b538a05343ebdd68685cb
MD5 f0cfc0fd97fceca53c3dafb33d50ab4f
BLAKE2b-256 a21da885183ab0e116306a6636bdac4d7b2c3d4451ea44a942bd9780242570d4

See more details on using hashes here.

File details

Details for the file franka_rust-0.1.7-cp38-cp38-win32.whl.

File metadata

  • Download URL: franka_rust-0.1.7-cp38-cp38-win32.whl
  • Upload date:
  • Size: 421.5 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.8.6

File hashes

Hashes for franka_rust-0.1.7-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 a3d202db39fe4f7e370418cc517792dbbdc37dde3c01e2c0c5eee5f3f74fd158
MD5 add7775259bbd9bb125c7d0560e1b826
BLAKE2b-256 4cc98216a4c85fe2a201bcbc3442f5743f57225804291d5d469664b866972da8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page