2017年9月に我が家にやってきて以来、楽しませていただいているロボットCOZMOちゃん。
前回の記事では、久々に触ってみたらアプリが進化していたよ、という記事を書きました。
その後の勢いで、COZMOのSDKとやらも導入してみました。パソコンからPythonのスクリプトで、COZMOが操作できちゃうってやつです。今回は、COZMOのSDKのインストールに関して紹介しています。
主に、Windows10-Android-Cozmoの手順を紹介していますが、Macの場合も、本家のサイトの同じ場所に方法が書いてあります。
基本的な手順
手順としてはざくっと以下の通り。
- Windowsにバージョン3.5.1以降のPythonをインストール(pipがなければpipも)。
- CozmoのSDKをインストール
- アンドロイドの場合は、Android Debug Bridge (adb) をインストールして、パス(path)を通す。
- スマホのUSBデバッグモードを有効化
- Cozmoアプリを操作するスマホ(タブレット)をUSBケーブル経由でパソコンにつないで、デバイスを認識するか確認
- Cozmoアプリを立ち上げて、Cozmoを動作させ、設定画面でSDKを有効にして、実際にサンプルプログラムを動かしてみる
なお、ここで説明していることはすべて、本家のサイトに英語ですが、書かれています。困ったときは、そちらを参照することをおススメします。
1.Windowsにバージョン3.5.1以降のPythonをインストール
以下のプロセスの参照リンクはこちらです。
ここは、すでにWindowsにPythonが入ってる人が飛ばして良いところですが、入っていない場合は、Pythonのサイトへ飛んで、新しいバージョンをインストールします。インストールする際に、「PATHに追加」にチェックを入れておきましょう。私の場合は、すでにパソコンにAnacondaがインストールされているので、新たにインストールはしませんでした。
ちなみに、Windows10では、「WSL(Windows Subsystem for Linux)」を利用できるので、そちら経由でUbuntuを使用して、Cozmo SDKをインストール・利用することも可能です。この場合の操作方法は、WindowsではなくLinuxでの導入を参照することになります。なお、PythonがすでにWindowsに入っている場合も、Ubuntuに別途Pythonをインストールする必要があるので、注意しましょう。
今回は、Ubuntuではなく、Windows10に導入する方法を紹介しています。
2.CozmoのSDKをインストール
次にCozmoのSDKをインストールします。
pip3 install --user cozmo[camera]
なお、pipが入ってないとエラーメッセージが表示されるので、その際には、pipをインストールしてから、再び上のコマンドを実行します。
3.アンドロイドの場合は、Android Debug Bridge (adb) をインストールして、パス(path)を通す。
3-1 adbのインストール
以下のプロセスの参照リンクはこちらです。
実は、このプロセスが一番面倒だったかも。adbとかパスとか言われたところで、さっぱり分からないし。でも、書いてある通りにやったらできました。
具体的にはまず、こちらのリンク(クリックするといきなりダウンロードが始まります)をクリックして、Androidのplatform tools(Windows)用のZipファイルをダウンロードします。
自分のユーザーファイルの直下にAndroidというフォルダを作成して、そこにダウンロードしたファイルを解凍して、置きます。ファイル的には、
C:\Users\自分のユーザー名\Android\platform-tools-latest-windows\platform-tools
みたいな感じに見えるはずです。この「Platform-tools」というフォルダの中に、「adb」というファイルがあったら成功しています。
3-2 adbのパスを通す
Window左下の検索ボックスで「環境変数」と入力すると「環境変数を編集」という項目が出てくるので、それを選択。
「ユーザーの環境変数」から「path」を選んで、編集を押します。次に「新規」でplatform-toolsを追加します。私の場合はこんな感じのパスを新規で追加しておきます。
C:\Users\自分のユーザー名\Android\platform-tools_r28.0.1-windows\platform-tools
きちんと、設定ができたか確認するには、Windows左下の検索窓から「cmd」と打つなりして、コマンドプロンプトを表示させて、「adb」と打ってみます。だぁーっと長ったらしい説明文のようなものが現れればOKです。
4.スマホのUSBデバッグモードを有効化
こちらの参考ページはこちらのリンクです。
次に、Cozmoアプリを使用しているスマホのUSBデバッグモードを有効化しておきます。
どうするかというと、Androidで、「開発者オプション」が有効になっていない場合は、まず、「設定」→「端末情報」→「ビルド番号」と行き、ビルド番号が表示されている所を7回タップします。途中から「あとx回で開発者です」というカウントダウンみたいなのが表示されます。7回タップしてから、「設定」に戻ると「端末情報」のうえに「開発者向けオプション」という項目が追加されています。
「開発者オプション」→「USBデバック」で「USB接続時はデバックモードにする」をオンにします。
これで完了です。
5. Cozmoアプリを操作するスマホ(タブレット)をUSBケーブル経由でパソコンにつないで、デバイスを認識するか確認
そして、USBデバッグを有効にしたスマホをUSBケーブルでパソコンにつなぎます。
そして、再びコマンドプロンプトを立ち上げて、
adb devices
と打ってみます。
ここで、
List of devices attached
JKJJAIGKKKK device
のように、「List of devices attached」の後に、何らかのデバイスが検知されれば大丈夫です。
もし、
List of devices attached
JKJJAIGKKKK unauthorized
のように、「unauthorized」と表示されている場合は、スマホ側で「USBデバッグを許可しますか?」というメッセージが出てきているはずなので、それを「OK」とし、再度、「adb devices」と打つと、「unauthorized」が「device」に変わるはずです。
ちなみに私の場合、時々、USB接続で端末を認識してくれないことがあります。「List of devices attached」の後に何も表示されないのです。
Cozmoのアプリを立ち上げたり、いろいろしていると認識してくれるので、まぁいっかと思っているのですが、どういう条件だと、「List of devices attached」の後に何も表示されなくなるのかはいまいち謎だったりします。
6.Cozmoアプリを立ち上げて、Cozmoを動作させ、設定画面でSDKを有効にして、実際にサンプルプログラムを動かしてみる。
さて、いよいよ後残るところ少しとなりました。
Cozmoのファイルをダウンロード
まず、こちらからパソコンにCozmoの必要ファイルをダウンロードします。
Cozmoアプリを立ち上げて、ロボットを接続
今度は、スマホでCozmoのアプリを立ち上げて、Cozmoロボットを接続します。そして、アプリの右上の設定画面(黄色で囲ったところ)をクリックし、
「SDKを有効にする」を押すと、SDKを使える状態になります。
サンプルプログラムを実行
先ほどダウンロードしたファイル中のtutorialsというフォルダ内にサンプルプログラムがあるので、試してみます。やり方は、普通にPythonプログラムを実行するのと同じで、サンプルファイルのあるフォルダに移動して、たとえば、
cd C:\Users\自分のユーザー名\cozmo\cozmo_sdk_examples_1.4.9\tutorials_basics
とダウンロードしたファイルがある場所に移動してから、
python 01_hello_world.py
と実行。コズモが、たどたどしい英語で「ハローワールド」と言ってくれます。
日本語版のコズモだと、日本語の方がお得意なので、このサンプルファイルを開いて、テキストの「hello world」を「おはようございます」等の日本語にすることもできます。かなり長い言葉を入力しても、きちんとCozmoがしゃべってくれるのはウレシイものです。
なお、コズモに英語で話してほしい場合は、スマホやタブレットの言語設定を英語に変えてから、アプリを立ち上げ、プログラムを実行すると、流ちょうな英語をしゃべってくれます。
他にもいくつかサンプルファイルが入っているので、試してみると良いと思います。
まとめ~SDKを使うメリットは?
以上、CozmoのSDKって何ぞやを知るために、実際にSDKをインストールして、サンプルプログラムを動かしてみました。
とりわけ、私みたいな素人でも触って感じることができたメリットの一つに「テキストが自由に入力できる」ことがありました。
アプリ上で、Cozmoにしゃべらせたいワードを入力するとなると、すべてひらがなやカタカナになるし、長い文章は正直面倒です。ですが、SDKからだと、漢字で入力しても認識してくれるし、長い文章も入力できます。これは便利だなぁと思いました。
なのでとりわけ、Cozmoにいっぱいしゃべらせたいプログラムを作りたい場合は、SDKでコンピュータから作るのもありかな、と思ったのでした。また、複数のCozmoを同時に動かしたい場合も、SDKでやるのが簡単だと思います(我が家には複数台はありませんが(^^;)。
たとえば、海外のユーチューバーのLife with Cozmoチャンネルさんは、CozmoのSDKを上手く使って素敵なパフォーマンスを演出されています。こちらがその一つです。
こういうの、自分で出来たら楽しいだろうなぁ。
とにかく、今後も楽しいアイデアを思いついたら実践していきたいと思っています。Cozmoは長く楽しめる良いロボットだとつくづく思います。
コメント