2つめのチュートリアルは 「前に進んで曲がる」です。
/examples/tutorials/01_basics/02_drive_and_turn.py
角度、距離、速度を指定するために、cozmo.util モジュールの degrees, distance_mm, speed_mmps クラスを import
from cozmo.util import degrees, distance_mm, speed_mmps
実際の動作ロジックは、以下の部分です。
# Drive forwards for 150 millimeters at 50 millimeters-per-second. robot.drive_straight(distance_mm(150), speed_mmps(50)).wait_for_completed() # Turn 90 degrees to the left. # Note: To turn to the right, just use a negative number. robot.turn_in_place(degrees(90)).wait_for_completed()
最初に、まっすぐ15cm 進みます。APIはこちら。
http://cozmosdk.anki.com/docs/generated/cozmo.robot.html#cozmo.robot.DriveStraight
drive_straight(distance, speed, should_play_anim=True, in_parallel=False, num_retries=0)
「drive_straight」で、進む距離と、速度を指定します。should_play_animで、進んでいる時にアニメーション(頭を動かしたり、しゃべったり)するかどうかを True / False で指定できます。指定しなければ True になります。
距離は「distance_mm」を使って mm で指定、速度は「speed_mmps」を使って、mm/s(1秒あたりに進むmm)で指定します。
上の例だと、150mm を 1秒当たり 50mm で進みますので、3秒間前に進む感じですね。
次に、90度回転します。APIはこちら。
http://cozmosdk.anki.com/docs/generated/cozmo.robot.html#cozmo.robot.Robot.turn_in_place
turn_in_place(angle, in_parallel=False, num_retries=0)
回転する角度を「degree」(度)で指定します。
実際の動作はこういう感じ。(チュートリアル紹介ビデオの該当箇所です)
3つめのチュートリアルは「カウント」です。1(one)から5(five)まで、順に読み上げます。
プログラムはこちら。
/examples/tutorials/01_basics/03_count.py
ポイントは、Pythonのループの文法です。
for i in range(5):
この for 文で、i を 0,1,2,3,4 と加算しながら、下のブロックを5回ループ実行します。
robot.say_text(str(i+1)).wait_for_completed()
(0,1,2,3,4)に1加算した値、(1,2,3,4,5)を読み上げています。パラメータは文字列で渡す必要があるので、str 関数で数値から文字列に変換してます。
実行結果はこちら。
「one」とか指定しなくても、数字「1」を渡すとそのまま読み上げてくれるのですね。
ちなみに、母艦スマートフォンが日本語設定の場合は、
このように、読み上げも日本語になります。