カチャカでロボカップ4:JupyterLabで動かしてみた♪

はじめに

この記事は次のスマートファニチャープラットフォーム「カチャカ」APIマニュアルの「サンプルコードをJupyterLabで実行する」までを自分のPCで実行して、いくつかの面白いサンプルプログラムを説明した記事です。

カチャカをプログラムで動かす3つの方法

カチャカを自分のプログラムで動かす方法は次の3つです。ロボカップなどのロボット競技会で使う場合は、2番目、3番目の方法になります。

  1. カチャカ本体に自分のプログラムを入れる方法:カチャカにはPlaygroundというカチャカ本体で動くコンテナ環境があり、そこから自作のプログラムを動かすことができる。ただし、リソースがストレージ3GB、メモリが512MBと限られる。
  2. PCからカチャカAPIを使って動かす方法:カチャカはgRPC(Googleが開発した高性能なリモートプロシージャコール(RPC)フレームワーク)準拠のAPIを提供しているので、ローカルネットワーク(WiFI)からカチャカを動かすことができる。
  3. PCからROS2を使って動かす方法:ROS2ブリッジを使用し、ROS2からgRPCで提供されるサービスを実行できる。

利用するための準備

  • カチャカAPIの有効化
    •  スマートフォンアプリを起動し、「設定」 →カチャカ設定「カチャカ」 → 「カチャカAPI 」→ 「カチャカAPIを有効化する」のスライドバーを右に移動しONにする。

JupyterLabで動かす

  • カチャカのIPアドレスを調べる。
    • スマホアプリの「設定」→「アプリ情報」→「IPアドレス」

  • ブラウザを起動して、アドレスバーに以下のURLを入力する。
    • http://<カチャカのIPアドレス>:26501/
  • ログイン画面が表示されるので、以下のパスワードを入力する。
    • パスワード:kachaka

パスワードの変更

  • セキュリティを強化するためにパスワードを変更しましょう。Launcherから「Terminal」をクリックして起動する。

  • Terminalで次のコマンドを入力すると”Enter password”と表示さえるので新しいパスワードを入力する。Terminalには何も表示されないが、Enterキーを押すと”Verify password”と表示されるので、同じパスワードを入力する。うカチャカを再起動すると新しいパスワードが反映される。
    • jupyter lab password

サンプルコードのダウンロード

  • 左枠のファイル一覧から README.ipynb をダブルクリックして、上部メニューバーの「▶▶」をクリックする。
  • 以下のダイアログが表示された場合は「Restart」ボタンを押す。

  • サンプルコードのダウンロードが完了すると、以下のようなメッセージが表示され、左側のファイル一覧に kachaka-apiフォルダが作成される。

依存ライブラリのインストール

  • ダウンロード後、最初の一回だけ次の手順を実行します。左コラムのファイル一覧からkachaka-api → python → demosフォルダを選択する。
  • install_libraries.ipynbをダブルクリックすると、右のコラムにソースコードが表示される。
  • 上部メニューバーの「▶▶」ボタンをクリックして依存ライブラリをインストールする。

サンプルコードの実行方法

  • 左コラムのファイル一覧からkachaka-api → python → demosフォルダを選択する。いろいろ面白いサンプルコードがあるので試してみると面白いと思う。
  • 左コラムのファイルをダブルクリックすると、右側にソースコードが表示されるので、どういうAPIでカチャカを動かせるかわかる。
  • 実行方法は、メニューバーの「▶▶」ボタンをクリックするとサンプルコードが実行される。次にいくつかのサンプルコードの実行結果を紹介する。

サンプルコードの例

  • speak.ipynb:音声合成のデモ。「カチャカです、よろしくね」と喋る。
  • teleop.ipynb:ROSなどでお馴染みの遠隔操作のデモ。十字キーが表示されるので、それを使いカチャカを好きな方向に移動できる。
  • get_front_camera.ipynb:フロントカメラの生画像と圧縮画像を取得し表示する。

フロントカメラの圧縮画像

フロントカメラの生画像

  • get_laser_scan.ipynb:LiDARのデータ取得と表示

LiDARのデータ表示

  • get_object_detection.ipynb:画像による物体検出。人とカチャカシェルフは検出できた。

今回はここまで。続く。。。

コメント

タイトルとURLをコピーしました