Skip to main content

Crate use_robotics

Crate use_robotics 

Source
Expand description

§use-robotics

Facade crate for the RustUse robotics vocabulary set.

This crate re-exports the focused child crates behind explicit module names. It is documentation and composition glue only; implementation lives in the focused crates.

use-robotics is not a robotics framework, ROS replacement, simulator, hardware abstraction layer, motion planner, control system, kinematics solver, navigation stack, SLAM system, robot runtime, firmware framework, embedded HAL, hardware driver, sensor processing engine, or async runtime.

§Modules

  • robot for robot names, kinds, models, and manufacturers.
  • robot_id for robot IDs, serial numbers, and instance IDs.
  • joint for joint names, kinds, limits, axes, and indexes.
  • actuator for actuator names, kinds, states, and descriptive ratings.
  • robot_sensor for robot sensor names, kinds, mounts, and reading labels.
  • pose for pose names, pose labels, and orientation-kind labels.
  • frame for robotics frame names, kinds, references, and parent/child relations.
  • end_effector for end-effector names, kinds, grip states, and tool mounts.
  • kinematics_label for kinematics terminology, chain names, link names, and degrees of freedom.
  • robot_subsystem for robot subsystem names, kinds, and lifecycle states.

§Example

use use_robotics::{
    actuator, end_effector, frame, joint, kinematics_label, pose, robot, robot_sensor,
    robot_subsystem,
};

let robot_name = robot::RobotName::new("inspection-arm")?;
let robot_kind = robot::RobotKind::Arm;
let joint_name = joint::JointName::new("shoulder-pan")?;
let actuator_name = actuator::ActuatorName::new("shoulder-servo")?;
let sensor_name = robot_sensor::RobotSensorName::new("wrist-camera")?;
let frame_ref = frame::FrameRef::new(frame::FrameName::new("tool0")?, frame::FrameKind::Tool);
let pose_label = pose::Pose3Label::new("pick-ready")?;
let end_effector = end_effector::EndEffectorKind::Gripper;
let kinematics = kinematics_label::KinematicsKind::Forward;
let subsystem_state = robot_subsystem::SubsystemState::Ready;

assert_eq!(robot_name.as_str(), "inspection-arm");
assert_eq!(robot_kind.to_string(), "arm");
assert_eq!(joint_name.as_str(), "shoulder-pan");
assert_eq!(actuator_name.as_str(), "shoulder-servo");
assert_eq!(sensor_name.as_str(), "wrist-camera");
assert_eq!(frame_ref.name().as_str(), "tool0");
assert_eq!(pose_label.as_str(), "pick-ready");
assert_eq!(end_effector.to_string(), "gripper");
assert_eq!(kinematics.to_string(), "forward");
assert_eq!(subsystem_state.to_string(), "ready");

The example composes robotics vocabulary. It does not move, control, simulate, plan, connect to, or operate a robot.

§License

Licensed under either the MIT license or Apache License, Version 2.0. Thin facade for RustUse robotics vocabulary primitive crates.

Re-exports§

pub use use_actuator as actuator;
pub use use_end_effector as end_effector;
pub use use_frame as frame;
pub use use_joint as joint;
pub use use_kinematics_label as kinematics_label;
pub use use_pose as pose;
pub use use_robot as robot;
pub use use_robot_id as robot_id;
pub use use_robot_sensor as robot_sensor;
pub use use_robot_subsystem as robot_subsystem;

Modules§

prelude
Common robotics vocabulary types from the focused crates.