ローリングコンバットピッチなう!

AIとか仮想化とかペーパークラフトとか

COZMO

昨年のクリスマス、サンタさんが我が家にCOZMOというロボットを連れて来てくれました。
タカラトミー: コズモ
http://www.takaratomy.co.jp/products/cozmo/

もともと米国のANKIという会社が開発したもので、Pixerの協力のもと、Pixer映画に出てきそうな愛らしい動きや表情をするロボットで、息子が夢中で遊んでいます。

さて、このCOZMO君、開発元からSDKが提供されており、python3のscriptでPCからリモートコントロール出来るとのこと。
確定申告とかの作業が一段落したので、COZMO SDKを試してみることに。

SDKは以下のWebページで公開されています。
http://cozmosdk.anki.com/docs/index.html

まず最初に確認したのは、SDKが動作する環境。できれば各種実験用にしているLinuxマシン(Linux Mint)に入れたかったのでチェックしたところUbuntu 14.04もしくは16.04をサポート。他のLinux環境でもpython3が入っていれば概ね動きそうな感じ。

ところで、COZMO君、どうやって遠隔操作するのかというと、基本的にはandroidiOSマシンに専用アプリをDL。COZMOがWi-Fi APモードになり、専用アプリを起動したスマフォをCOZMO APに帰属させる形で。
SDKからのコントロールは、このスマフォとUSBでPCを接続、専用アプリをSDKモードにしてコントールします。

[PC]---USB---[スマフォ]〜〜〜COZMO

スマフォがandroidの場合は、PCにadbをインストールします。スマフォがiOSマシンの場合、PCがLinuxであればusbmuxdというソフトをインストールする必要があります。SDKのホームページのリンクをたどるとGithubからソース落としてbuildする様に読めたので、やってみたところいくつかのライブラリのverが古いと言われてbuildに失敗する。

Linux Mint 17.2を使っていたのですが、usbmuxdのbuildのためにOSをバージョンアップすることに。まず17.2→17.3にあげて、更に17.3→18。
最後に18→18.3に上げるという3段階アップを3日間に分けて実行。
で、18.3まで上げてから気づいたのですが、usbmuxd自体はubuntuのパッケージとしてフツーにapt install出来るのでした...

とはいえUbuntu16.04相当にLinux Mintが上がったので結果オーライ。

あとはSDKのホームページのインストール説明通りにpython3,pip3,COZMO SDKをインストール。
http://cozmosdk.anki.com/docs/install-linux.html

更にtutorialのサンプルソースをDL。
http://cozmosdk.anki.com/docs/downloads.html

サンプルはCOZMOに任意の言葉をしゃべらせたり、決まったパターンで走行させたり、あるいはカメラで人の顔を認識すると背面のLEDを光らせたりとか、色々入っていて、ざっとソースを読めばCOZMO APIの使い方がなんとなく理解出来る様になっています。
インストールに成功してしまえば、サンプルソースを動かすのはほぼノートラブルで成功しました。

このSDKを使うと、COZMOのカメラの映像がPCに転送され、人の顔や、COZMOと遊ぶ時に使う専用キューブを認識する様子がPCからモニター出来るのですが、幼稚園児の息子が妙にこのアプリを気に入った模様。
(カメラ画像のモニターならスマフォ上の専用アプリでも出来るんですけどね。)

ただ、COZMOはペットも認識することになっているのですが、うちのウサギさんはうまく認識してくれません。もう少し調べてみます。