Skill の設計契約¶
Skill は、1 台のロボットに対する行動を、セッションから実行できる単位にします。API の一覧や使用例は crane_robot_skills の実装を参照してください。
実装時に守ること:
SkillInterface::run()は各周期にStatus::RUNNING、SUCCESS、FAILUREのいずれかを返す。- 単一動作は
SkillBase::update()、状態遷移を持つ動作はSkillBaseWithStateを使う。 - 入力は
WorldModelWrapper、出力はcommander()のロボット指令とvisualizerの描画。run()の前後処理(指令初期化、キック無効化、描画 flush)を迂回しない。 - 位置はフィールド座標(m)、角度はラジアン(rad)。単位と軸は 座標系仕様 を正本とする。
- スキルを合成するときは、親の指令・可視化レイヤー・状態を壊さない。安全制約(停止、ドリブル距離、ペナルティエリア)は下位プランナと基底クラスに任せる。
主な参照先: