← サンプルアプリ一覧へ

レーザーで猫と遊ぶロボット

棚の上(高さ 1 m)に置いた首振り台が、2 つのサーボでレーザーの向きを変え、床に赤い点を描きます。カメラで猫を見て、点を獲物のように動かします。レーザーの点は絶対に捕まえられないのが、ほかのおもちゃとの大きな違いです。安全の仕組みと、遊びの終わらせ方を試してください。猫は安全の仕組みを試すためのテスト用の動く相手(動きは仮のモデル)で、猫の気持ちは扱いません。ロボットが使うのは、カメラで測れる猫の位置と頭の向きだけです。

点の動かし方

時間0:00
飛びかかった0
押さえたのに何もない0
光が頭の近くを通った0
光と頭の一番近い距離—
終わったあと探しまわった—

ロボットの頭の中

1 秒に 20 回、この 6 つを回しています。6 の安全は、ほかのどれよりも先に確かめます。

  1. 1見るカメラの画像から猫を見つけ、床の上の位置と、頭の向きを出す
  2. 2様子を読む近づいてきた・低くかまえた・飛びかかった・飽きた、を見分ける
  3. 3点の行き先猫から遠ざかる方向の床。光が猫の頭の近くを通る場所は選ばない
  4. 4角度に直す床の点 (x, y) から、首振り(pan)と見下ろす角度(tilt)を計算する
  5. 5動かすサーボに角度を送る。SG90 は約 1° 刻みでしか止まれない
  6. 6安全上を向かない・猫が見えないときは消す・人がいないときは消す・時間で止める

レーザーの光の通り道と猫の頭の、2 秒ごとの一番近い距離(青)。赤い線 = 12 cm、これより近いと危ない。灰色の点線 = ひとつ前の設定