blog
ブログ
2016.04.21
Pepper技術ブログ:NAOqiAPIメモ
こんにちは!
日本システムデザイン Pepper担当のスエヨシです。
NAOqi Framework (Pepper ミドルウェア)で提供されているAPIについて、
公式ドキュメント記載の情報を調査しましたので、
覚書として記載します。
◆NAOqi APIs
以下、下記の公式ドキュメントページを翻訳した内容となります。
NAOqi APIs – Aldebaran documentation
Core(コア)
ALAutonomousLife | オートノマスライフモードにおけるアクティビティのライフサイクル管理を行うAPI。 |
---|---|
ALBehaviorManager | ビヘイビアの管理(読込・起動・停止)とビヘイビアに関する情報の取得を行うAPI。 |
ALConnectionManager | ネットワーク接続を管理するAPI。イーサネット・Wifi・Bluetooth等をサポート。 |
ALExtractor | 視覚及び知覚に関連するAPI群の基本クラスとして使用されるAPIモジュール。 |
ALMemory | ロボットのハードウェア構成に関連するすべてのキー情報を格納するために使用される集中型メモリ。 具体的には、アクチュエータやセンサの現在の状況に関する情報を提供する。 |
ALModule | ユーザモジュールの基本クラスとして使用されるAPIモジュール。 |
ALNotificationManager | ロボット上の通知を管理する機能を提供するAPI。 |
ALPreferenceManager | ロボット及びアプリケーションの環境設定を管理する為のAPI。 |
ALResourceManager | モーター・マイク・LED・CPU・カメラ設定等、リソースの管理を行う為のAPI。 複数ビヘイビア間でのリソースの排他制御や同期制御等。 |
ALStore | アルデバランストアからアプリを取得する為のAPI。 |
ALSystem | システム設定やシャットダウン・再起動等の操作を行う為のAPI。 |
ALVisionExtractors | 視覚及び知覚に関連するAPI群の基本クラスとして使用されるAPIモジュール。 |
ALTabletService | タブレットの操作を行う為のAPI。Webアプリケーションの読込や動画再生、タブレット自身の設定制御等に使用する。 |
ALUserSession | アクティブユーザの状態管理と、そのデータのバインディングを行うAPI。 ※WIP。API・ドキュメントともに未確定情報。 |
ALWorldRepresentation | 一般的な物体に関する空間データの長期保存を行うAPI。 |
PackageManager | アプリケーションパッケージのインストールと管理を行うAPI。 |
Motion(動作)
ALAutonomousMoves | ロボットが自動的に行う微妙な動作を制御する為のAPI。 |
---|---|
ALMotion | ロボットの動作の作成を支援するAPI。 |
ALNavigation | ロボットの移動を安全に行う為のAPI。移動経路上の障害物の検出と回避。 |
ALRecharge | 充電ベースに関するロボットの振る舞いを管理するAPI。 |
ALRobotPosture | 事前に定義されている以外の姿勢を作る為のAPI。 |
Audio(音声)
ALAnimatedSpeech | ロボットの会話を作成する為のAPI。会話内容に合わせてボディランゲージを行う。 |
---|---|
ALAudioDevice | 音声入力(マイク)と音声出力(スピーカー)へのアクセスを行うAPI。 |
ALAudioPlayer | 複数の音声ファイル形式に対応する再生サービスと、それに関する操作機能を提供するAPI。 |
ALAudioRecorder | ロボットのマイクから入力された音声信号を、wavまたはoggファイルで録音するサービスを提供するAPI。 |
ALDialog | 特定の記述ルール(qiChatスクリプト)を使用することにより、ロボットに会話スキルを与えるAPI。 |
ALSoundDetection | 音声バッファに入ってきた、意味のある音声の検出を行うAPI。 |
ALSoundLocalization | ロボットが聞いた任意音声の発生方向を特定するAPI。 |
ALSpeechRecognition | 事前に定義された単語・文節をロボットに認識させる為のAPI。 |
ALTextToSpeech | text-to-speechエンジンにてロボットに発話させる為のAPI。 |
ALVoiceEmotionAnalysis | 発話者の声の表現から、発話内容に関係なく発話者の感情を特定するAPI。 |
Vision(視覚)
ALBacklightingDetection | カメラで撮影した画像が逆行か否かを判別するAPI。 |
---|---|
ALBarcodeReader | カメラで撮影した画像からのバーコードの検出、並びに検出したバーコードの解読を行うAPI。 |
ALCloseObjectDetection | ロボットに近すぎる物体の検出を行うAPI。 |
ALColorBlobDetection | 高速な二次元視覚準拠カラーブロブ検出器を提供するAPI。 |
ALDarknessDetection | ロボットが暗所にいるか否かを判別するAPI。 |
ALLandmarkDetection | 特殊な目印(Naomark)並びにその中の特定のパターンをロボットに認識させる為のAPI。 |
ALLocalization | 室内環境におけるロボットの位置特定を行うAPI。 |
ALMovementDetection | アルデバランロボットの視野内の動きを検出する為のAPI。 |
ALPhotoCapture | 写真の撮影やロボットカメラの利用、並びに撮影データのディスクへの保存等を行うAPI。 |
ALRedBallDetection | 赤いボールを検出する高速な視覚を提供するAPI。 |
ALSegmentation3D | ロボットの視野内に存在する物体を抽出するAPI。 ※3Dセンサ必須 |
ALVideoDevice | ロボットのカメラ等ビデオソースで取得した画像データを、各種画像処理モジュールに提供する為のAPI。 |
ALVideoRecorder | ロボットのカメラを利用した動画の撮影、及びディスクへの保存を行うAPI。 |
ALVisionRecognition | 画像の差異や以前に学習した場所か否か等、視覚の認識を行うAPI。 |
ALVisualCompass | 所定の参照画像と比較した際の、Y軸とZ軸に対するロボットの現在の回転角を抽出するAPI。 |
ALVisualSpaceHistory | ロボットの頭の動きを追跡し、頭の位置のタイムスタンプ付きマップを構築する為のAPI。 |
People Perception(人物知覚)
ALBasicAwareness | ロボットが人間とのアイコンタクトを行う為のAPI。 |
---|---|
ALEngagementZones | ロボットに対する空間内の位置と、エンゲージメントゾーンの概念に基づいて、人物または動きの検出と分類を行う。 |
ALFaceCharacteristics | 任意の人物に対して、年齢や性別の推定、並びに笑顔やその他の表情の検出等を行う。 |
ALFaceDetection | ロボットの目の前にある顔を検出・認識する。 |
ALGazeAnalysis | 検出した人物の視線の方向や、目を開いている・閉じている等の情報を検出し、 その人物がロボットを見ているか否かを知覚する。 |
ALPeoplePerception | ロボットの周囲の人物を追跡し、その人物に関する基本的な情報を提供する。 |
ALSittingPeopleDetection | 任意の人物に対して、座っているか立っているかの情報を検出する。 |
ALWavingDetection | 任意の人物が、ロボットの気を引くように腕を動かしているか否か(例えば「手を振る」等)を検出する。 |
Sensors(センサ)
ALBattery | ロボットのバッテリーハードウェアに関連するイベントの制御を行う。 |
---|---|
ALBodyTemperature | いくつかのハードウェア部品のオーバーヒートや温度上昇に関連するイベントの制御を行う。 |
ALChestButton | ロボットの胸部ボタンに関連するイベントの制御を行う。 |
ALFsr | ロボット脚部の接地状況に関連するイベントの制御を行う。 |
ALInfrared | ロボットと赤外線通信を行う。ロボットの遠隔操作や複数ロボット間での同期通信等。 |
ALLaser | レーザーヘッド(オプション機器)によるデータの受信とALMemoryへの保存。 |
ALLeds | ロボットのLED操作を行う。 |
ALSensors | ロボットのセンサに対応するイベントの制御を行う。 |
ALSonar | ALMemoryを経由して超音波センサーから情報を受信・処理し、状況に応じてイベントを発生させる。 |
ALTouch | ロボットへの接触に関連するイベントの制御と、接触部位の検出を行う。 |
Trackers(追跡)
ALTracker | 任意の手段(頭だけ・体全体・等)で任意の対象(赤いボール・顔・ランドマーク)を追跡する。 |
---|
Diagnosis(診断)
ALDiagnosis | ハードウェア上での問題の発生を検出する。(主に電気的な接続について。) |
---|
DCM(デバイス接続管理)
DCM | 音声とカメラを除くロボット内のほとんどの電子機器(デバイス)との通信を行う。 |
---|
Deprecated(非推奨)
ALAudioSourceLocalization | ロボットが聞いた任意音声の発生方向を特定するAPI。 ※非推奨 → ALSoundLocalizationで代替 |
---|---|
ALBonjour | ボンジュールプロトコルを使用してローカルネットワーク上のNAOqiサービスを広告(?)するAPI。 ※非推奨 |
ALFaceTracker | 顔の追跡 ※非推奨 → ALTrackerで代替 |
ALLogger | ロボット上のエラー・警告・情報等をリモートマシンからログ出力させる為のAPI。 ※非推奨 → qiLogで代替 |
ALLauncher | 動的ライブラリ及びインポートPythonモジュールの読込、実行可能ファイルやスクリプトの実行、 モジュールの読込成否チェック等を行うAPI。 ※非推奨 |
ALMotionRecorder | ロボットの姿勢を記録する為のAPI。 ※非推奨 → AnimationModeで代替 |
ALPreferences | XML設定ファイルへのアクセスと、ALValues⇔xmlの変換機能を提供するAPI。 ※非推奨 → ALPreferenceManagerで代替 |
ALRedBallTracker | 赤いボールの追跡 ※非推奨 → ALTrackerで代替 |
ALRobotPose | 複数のセンサを利用して、ロボットの現在の姿勢を認識するAPI。 ※非推奨 → ALRobotPostureで代替 |
以上です。
公式ドキュメントを翻訳しただけではニュアンスが良く分からないものもある為、
できることなら各APIで実際に実装して動作を確認する等しておきたいですね。
弊社ではPepperのアプリケーション開発を行っています。
詳しくはこちらをご参照ください。