7つめのチュートリアルは、背中のLED点灯制御です。
/examples/tutorials/01_basics/07_backpack_lights.py
使用するAPIはこちら。
set_all_backpack_lights(light)
http://cozmosdk.anki.com/docs/generated/cozmo.robot.html#cozmo.robot.Robot.set_all_backpack_lights
パラメータは、cozmo.lights で定義されています。チュートリアルでは、以下の順に光り方を切り替えています。
cozmo.lights.red_light cozmo.lights.green_light cozmo.lights.blue_light cozmo.lights.white_light cozmo.lights.off_light
赤→緑→青→白→OFF です。
チュートリアル紹介ビデオは、ちょっと違うバージョンみたいで、赤→緑→青→OFFで指定してます。
SDK の cozmo/lights.py の仕組みを見てみると、もっと細かい色指定とか、光り方指定もできるみたいですね。
8つめのチュートリアルは、COZMOにアクション(Animation)をさせる方法です。
/examples/tutorials/01_basics/08_animation.py
使用するAPIは、動作を Trigger クラスで指定する方法の「play_anim_trigger」
play_anim_trigger(trigger, loop_count=1, in_parallel=False, num_retries=0, use_lift_safe=False, ignore_body_track=False, ignore_head_track=False, ignore_lift_track=False)
http://cozmosdk.anki.com/docs/generated/cozmo.robot.html#cozmo.robot.Robot.play_anim_trigger
Triggerとしてどのようなものがあるかは、下記の cozmo.anim.Triggers を参照してください、とのこと。
http://cozmosdk.anki.com/docs/generated/cozmo.anim.html#cozmo.anim.Triggers
いっぱいあります。英語の定数名しか情報が無いので、そこから動作を類推するしかないですね。実際に指定して動かしてみないとわからないので、いろいろやってみましょう。
APIもうひとつ。動作を名称文字列で指定する方法の「play_anim」
play_anim(name, loop_count=1, in_parallel=False, num_retries=0)
http://cozmosdk.anki.com/docs/generated/cozmo.robot.html#cozmo.robot.Robot.play_anim
実際のサンプルプログラム中の記載です。
print("Playing Animation Trigger 1:") robot.play_anim_trigger(cozmo.anim.Triggers.CubePounceLoseSession).wait_for_completed()
「cozmo.anim.Triggers.CubePounceLoseSession」のAnimation動作を実行します。
2つめ。
print("Playing Animation Trigger 2: (Ignoring the body track)") robot.play_anim_trigger(cozmo.anim.Triggers.CubePounceLoseSession, ignore_body_track=True).wait_for_completed()
同じAnimationですが、igonore_body_track = True が指定されています。この指定があると、本体は動かずに、顔のみの動作になります。
3つめ。
print("Playing Animation 3:") robot.play_anim(name="id_poked_giggle").wait_for_completed()
name で「id_poked_giggle」を指定しています。play_anim で指定する動作名称は、今後のバージョンアップで変わるかもしれないので、play_anim よりも play_anim_trigger の使用をオススメします、とのこと。
「Cube Pounce Lose Session(キューブを奪い損ねたときのリアクション)」→「Cube Pounce Lose Session(同じく、顔のみ)」→「Poked Giggle(つつかれてクスクス笑う)」の順に動きます。
ちなみに、指定可能なAnimationは、/examples/apps/remote_control_cozmo.py を使うと、簡単に確認できるとのことなので、次回、やってみます。