Skip to main content

Module robot_impl

Module robot_impl 

Source
Expand description

Connection, state stream and motion lifecycle.

Port of franka::Robot::Impl (libfranka 0.21.2 src/robot_impl.{h,cpp}). Everything that talks to the robot lives here; crate::robot::Robot is a thin, locked facade on top.

Unlike the C++ class, RobotImpl is Sync and every method takes &self: the mutable bookkeeping (message id, modes) lives behind one small mutex — the equivalent of libfranka’s message_id_mutex_, widened to cover the mode fields it also reads and writes — so that Robot::stop() can run on another thread while a control loop is running.

This module holds the session itself — the handshake, the shared bookkeeping and the state stream. The motion lifecycle (Move, the per-cycle command, StopMove and the ActiveControl write paths) is in the motion submodule, and libfranka’s createControlException text formatting is in the exception submodule.

Structs§

RobotImpl
The FCI session plus everything franka::Robot::Impl keeps.

Constants§

DEFAULT_DEVIATION
Deviations libfranka’s control loops and ActiveControl pass to every Move (franka::ControlLoop<T>::kDefaultDeviation).
NUM_JOINTS
Number of joints, as franka::RobotControl::kNumJoints.