Files for defining skills represented as a series of fixed frame poses. Skill files contain a series of commands and values that are executed by the SkillParser
. Values can be parameterized and loaded at runtime when entered as $<parameter_name>
.
To add a new skill to an agent the skill's skill file should be loaded in by calling readSkillsFromFile()
in NaoBehavior::NaoBehavior()
. The skill should also be added to enum SkillType
in headers/headers.h and to EnumParser<SkillType>
in headers/headers.cc.
Skill files are in the following format:
STARTSKILL <name_of_skill>
STARTSTATE
settar <joint> <target_angle> [<joint> <target_angle>]* end
inctar <joint> <amount_to_increase_angle> [<joint> <amount_to_increase_angle>]* end
setscale <joint> <scale> [<joint> <scale>]* end
reset <joint> [joint]* end
stabilize <LEG_LEFT | LEG_RIGHT> <x_zmp_value> <y_zmp_value>
setfoot <LEG_LEFT | LEG_RIGHT> <xoffset> <yoffset> <zoffset> <role> <pitch> <yaw> end
STARTCURVE <LEG_LEFT | LEG_RIGHT> controlpoint <xoffset> <yoffset> <zoffset> <role> <pitch> <yaw> end [controlpoint <xoffset> <yoffset> <zoffset> <role> <pitch> <yaw> end]* ENDCURVE
wait <time> end
ENDSTATE
ENDSKILL
REFLECTSKILL <name_of_skill_to_reflect> <reflected_skill_name>