Skip to content

Latest commit

 

History

History
93 lines (57 loc) · 3.55 KB

ik_motion.md

File metadata and controls

93 lines (57 loc) · 3.55 KB

IKMotion

from magnebot.actions.ik_motion import IKMotion

Abstract base class for arm motions that utilize IK.

Class Variables

Variable Type Description Value
JOINT_ORDER Dict[Arm, List[ArmJoint]] The order in which joint angles will be set. {Arm.left: [ArmJoint.column,

Fields

  • status The current status of the action. By default, this is ongoing (the action isn't done).

  • initialized If True, the action has initialized. If False, the action will try to send get_initialization_commands(resp) on this frame.

  • done If True, this action is done and won't send any more commands.

  • status The current status of the action. By default, this is ongoing (the action isn't done).

  • initialized If True, the action has initialized. If False, the action will try to send get_initialization_commands(resp) on this frame.

  • done If True, this action is done and won't send any more commands.


Functions

__init__

IKMotion(arm, set_torso, orientation_mode, target_orientation, dynamic)

Parameter Type Default Description
arm Arm The arm used for this action.
set_torso bool If True, stop sliding the torso when the arms stop moving at the end of the action.
orientation_mode OrientationMode The orientation mode.
target_orientation TargetOrientation The target orientation.
dynamic MagnebotDynamic The dynamic Magnebot data.

get_initialization_commands

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.

set_status_after_initialization

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.

get_ongoing_commands

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.

get_end_commands

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.