COZMO SDK:Tutorials Basics 02,03

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」を渡すとそのまま読み上げてくれるのですね。

ちなみに、母艦スマートフォンが日本語設定の場合は、

このように、読み上げも日本語になります。