Command payload for a Cartesian linear move (MOVE_LINE, register 0x15).
BB's built-in BB.Message.Actuator.Command.Position holds a single scalar,
which cannot express a 6-DOF end-effector pose. This payload carries the
full pose and is declared by BB.Ufactory.Actuator.Cartesian via
BB.Actuator.command_payloads/1, so it travels through the same gated
command pipeline as any built-in command — the robot must be armed, and
refusals reach a synchronous caller.
Fields
x,y,z— target TCP position in millimetres (arm base frame)roll,pitch,yaw— target orientation in radians (RPY)speed— optional TCP linear speed in mm/s; the actuator's configured default applies whennilacceleration— optional TCP linear acceleration in mm/s²; the actuator's configured default applies whennilcommand_id— optional correlation reference for feedback tracking
Examples
alias BB.Message
alias BB.Ufactory.Message.Command.CartesianMove
{:ok, msg} = Message.new(CartesianMove, :tcp,
x: 300.0, y: 0.0, z: 400.0,
roll: 3.14159, pitch: 0.0, yaw: 0.0
)
# Deliver synchronously and learn whether it was accepted:
BB.call(MyRobot, :tcp, {:command, msg})
Summary
Types
Functions
@spec new( atom(), keyword() ) :: {:ok, BB.Message.t()} | {:error, term()}