Arm Motions¶
For arm only motions the ArmKeyFrameEngine is used. It can only be active while walking or standing. We only use this engine to move the arm on the back to avoid colliding other robots.
Arm motions are configured in the file Config/Robots/Default/armKeyFrameEngine.cfg
.
Parameters¶
An example is listed below
allMotions = [
{
id = back;
states = [
{
angles = [119.5deg, 10deg, 75deg, -10deg, -90deg, 0deg]; // ShoulderPitch, ShoulderRoll, ElbowYaw, ElbowRoll, WristYaw, Hand
stiffness = [90, 60, 80, 90, 90, 90];
duration = 800;
interpolation = linear;
},
[...]
allMotions
: Contains the list of all arm motions, exceptreverse
.id
: The name of the arm motions.states
: The keyframesangles
: The target joints.stiffness
: The stiffness values.duration
: Interpolation duration.interpolation
: The interpolation type, like linear or sinus.
Adding new Arm Motions¶
Despite the available motions, you may add further ones to the file following the same structure under a new id
. The new id
has to be appended to the end of the enumeration ArmKeyFrameId
within the representation Src/Representation/MotionControl/ArmKeyFrameRequest.h
.
The new id
must be listed after default
but before reverse
.
It is important to know that all motions will only be declared for the left arm.
Last update:
October 11, 2023