from magnebot.actions.action import Action
An action that the Magnebot can do. An action is initialized, has an ongoing state, and an end state. An action also has a status indicating whether it's ongoing, succeeded, or failed; and if it failed, why.
Variable | Type | Description | Value |
---|---|---|---|
JOINT_ORDER |
Dict[Arm, List[ArmJoint]] | The order in which joint angles will be set. | {Arm.left: [ArmJoint.column, |
-
status
The current status of the action. By default, this isongoing
(the action isn't done). -
initialized
If True, the action has initialized. If False, the action will try to sendget_initialization_commands(resp)
on this frame. -
done
If True, this action is done and won't send any more commands.
Action()
(no parameters)
self.get_initialization_commands(resp, static, dynamic, image_frequency)
Parameter | Type | Default | Description |
---|---|---|---|
resp | List[bytes] | The response from the build. | |
static | MagnebotStatic | The static Magnebot data. | |
dynamic | MagnebotDynamic | The dynamic Magnebot data. | |
image_frequency | ImageFrequency | How image data will be captured during the image. |
Returns: A list of commands to initialize this action.
self.set_status_after_initialization()
In some cases (such as camera actions) that finish on one frame, we want to set the status after sending initialization commands. To do so, override this method.
self.get_ongoing_commands(resp, static, dynamic)
Evaluate an action per-frame to determine whether it's done.
Parameter | Type | Default | Description |
---|---|---|---|
resp | List[bytes] | The response from the build. | |
static | MagnebotStatic | The static Magnebot data. | |
dynamic | MagnebotDynamic | The dynamic Magnebot data. |
Returns: A list of commands to send to the build to continue the action.
self.get_end_commands(resp, static, dynamic, image_frequency)
Parameter | Type | Default | Description |
---|---|---|---|
resp | List[bytes] | The response from the build. | |
static | MagnebotStatic | The static Magnebot data. | |
dynamic | MagnebotDynamic | The dynamic Magnebot data. | |
image_frequency | ImageFrequency | How image data will be captured during the image. |
Returns: A list of commands that must be sent to end any action.