アンオフィシャル - Aldebaran Robotics NAO とそのほかロボットについて

NAO とそのほかロボットについての情報を発信。ここの情報はアルデバラン非公式です。内容に誤りがあった場合はごめんなさい。

Aldebaran Robotics 社の NAO、そのほかロボットに関連する情報を発信します。

NAOのプログラミング環境の基本(2) Choregraphe について

Choregraphe と NAO を使って動きのアニメーションを作る」 でも紹介した Choregraphe (コリグラフィー)ですが、NAO向けアプリを作るための一通りの機能がそろった強力なソフトです。 

Choregraphe はパソコン上で動かす、NAO 向けアプリを開発するためのツールです。 動作環境として Windows, Mac OSX, Linux をサポートしています。

アプリ開発において、Choregraphe を使う場合と、そうでない場合との比較を表にしてみました。

  サポートするプログラミング言語パソコンからのプログラムの実行NAO本体へのプログラムのアップロード動作アニメーションの作成適正
Choregrapheを使う ビジュアルプログラミング + Python Choregraphe から直接可能 Choregraphe から直接可能 グラフィカルなツール及び NAO 本体と連携してアニメーションの作成を支援する機能あり NAOqi フレームワークが提供する機能を組み合わせてアプリを構築する。NAOStore に公開するアプリを作る
NAOの開発フレームワーク (NAOqi) を直接使う C++, Python, Java など。(それぞれ個別に開発環境を構築する必要あり) 可能 可能だが手間がかかる Choregrapheで作ったアニメーションをインポートするなどの手法をとる 画像解析処理など、CPUコストのかかる処理を独自実装する必要がある場合

 

 Choregraphe にはビジュアルプログラミングの方法が提供されています。機能ごとにボックスがあらかじめ用意されていて、これらを編集ステージにドラッグ・アンド・ドロップ、処理の流れに従ってそれぞれのボックスを接続することによりプログラムを構築するのです。 

ボックスの中には「スクリプト」というものもあります。このボックスは処理内容をスクリプト言語で記述することができます。言語は Python です。このボックスを使えば前回説明した、「プロキシを通してモジュールを操作する」方法で、スクリプトから NAO をコントロールすることもできます。 

極端な話、ステージに「スクリプト」ボックスを一つ置いて、すべての処理をそこに記述するという形でアプリを作ることも可能です。実際、アプリのロード時間が短くて済むなど利点もあります。

一通り使い方を覚えて、必要に応じてビジュアルプログラミングとスクリプトを組み合わせるというのが良い使い方かと思います。

 

以下、前回紹介したプログラムを Choregraphe のビジュアルプログラミングの機能のみを使って実装したときの一連の作業の流れをビデオに収めてみました。