Send target positions to one or more robot joints.
Positions are SI units: radians for revolute/continuous joints, metres for
prismatic joints. Send a single joint with joint/position, or a batch as a
JSON object string in positions_json. The robot must be armed and idle.
Delivery defaults to pubsub, which waits for every actuator to accept its
command and reports the first refusal. direct casts instead and waits for
nothing, so it answers ok whether or not the robot took the command.