BB.Ufactory.Actuator.Cartesian (bb_ufactory v0.1.0)

Copy Markdown View Source

Cartesian-space position actuator for xArm arms.

Sends end-effector pose commands (x, y, z, roll, pitch, yaw) directly to the arm using register 0x15 (MOVE_LINE). The arm's own controller solves inverse kinematics internally, so no IK computation is needed here.

Unlike BB.Ufactory.Actuator.Joint, this actuator bypasses the ETS batch loop — frames are forwarded immediately to the controller via BB.Process.call/3 and dispatched to the hardware on the same call.

Command Interface

Cartesian commands use a custom GenServer cast rather than the standard scalar %Command.Position{} message (which only holds a single float). Send commands via:

BB.Process.cast(robot, :cartesian, {:move_cartesian, {x, y, z, roll, pitch, yaw}})
  • x, y, z — position in millimetres
  • roll, pitch, yaw — orientation in radians

Speed and acceleration default to the values configured in options_schema and can be overridden per-command by passing {:move_cartesian, pose, speed, accel}.