voraus Robot Arm for Rust

This guide shows how to use the voraus-robot-arm Rust crate step by step.

First, it is recommended to have a look at the key concepts this library relies on.

The examples in this guide come from the runnable programs in rust/crates/voraus-robot-arm/examples/. To run an example, you need a running voraus.core.

Contents

Page

Description

Quick Start

Connect, enable, move, done

Key Concepts

Capabilities as traits, robot types, commands vs. instructions

Lifecycle

Connect, enable, disable, disconnect, command timeout

Reading the Robot State

Joint pose, TCP pose, velocities, accelerations, states

Moving in Joint Space

Point-to-point motion, Cartesian targets, speed, blending, amending

Moving on a Linear Path

Linear motion with a required speed, blending radius, motion profile

Moving on a Circular Path

Circular motion through a via pose

Instructions

Instruction handles, waiting, errors, blocks, blending

Wait Time

Robot-side waits as block steps

Pause and Continue

Pause motion and resume with the queue intact

Stop

Stop motion, abort the queue, unstop

Jogging

Continuous and target-pose jogging

Coordinate Systems

User-defined coordinate systems

Time Override

Global speed scaling, scoped and with transition

Setting and Resetting Errors

Set an external error, recover with the voraus error handler

Payload

Payload mass and center of mass

Limits

Reading limits and selecting limit sets

Heartbeat

Dead man’s switch between application and robot control

Tools

Tool selection

Pose Conversion

Joint poses to Cartesian poses and back

Digital I/O

Digital inputs and outputs, pins and groups

Stop Behavior

Stop types and durations per stop source

Pose Manager

Named poses with YAML import and export

Logging and Telemetry

tracing setup, RUST_LOG, OpenTelemetry

Changelog

Release notes of the Rust crate