AIBO Remote Framework (for ERS-7) 仕様

 2005/10/05


1.概要

 AIBO Remote Framework は、AIBO と PC をネットワーク接続し、PC 上からAIBOを制御するソフトウェア開発環境である。AIBOマインド3が動作するAIBO(ERS-7)で利用できる。アプリケーション開発者は、AIBO Remote Framework 内で用意されている、AIBO Remote Framework API を使用することで、PC 上から AIBO の制御が行える。AIBO Remote Framework (for ERS-7) は、PC と AIBO(ERS-7) を接続しデータの送受信を実現するためのライブラリを提供する。

本文章は、AIBO Remote Framework API について記述するものであり、はじめに、AIBO Remote Framework API の全体的像を示した後に、具体的な API に関して記述する。

 

2.構成

2.1 モジュール構成

本章では、AIBO Remote Framework の構成について記述する。アプリケーションから、AIBO に接続する際に存在する PC 上ソフトウェアのモジュール構成は、

の3つからなっている(図 2.1 参照)。

 
※ 赤の点線で囲った部分が AIBO Remote Framework の部分

図 2.1 AIBO Remote Framework 構成

 

AIBO と PC 側アプリケーションは多対多の関係を形成することができる。その際に AIBO と PC 間の接続を中継するサーバーは1つである。
AIBO Remote Framework API は、

の4つの DLL から構成されている。これらの DLL と AIBO までのモジュール構成を図 2.2 のブロック図に示す。

図 2.2 モジュール構成ブロック図

 

2.2 機能一覧

AIBO Remote Framework が提供する機能一覧を以下に記す。

■ AIBO とのネットワーク接続/切断
PC と AIBO のネットワーク接続を実現する。接続は、AIBO の IP アドレスを指定する。

■ VirtualAIBO Server のロック/アンロック
複数アプリケーション間の排他制御のため、VirtualAIBO Serverの制御権を占有(ロック)できる。

■ 各種サービスの制御
AIBO 内の各種サービスの開始/停止の制御を行う。サービスには、FTP、Sensor、Image、Audio 送受信 がある。また、各種サービスの状態を確認することもできる。各種サービスが開始されていないと、それらのサービスに関連する API は動作しない。サービスの状態を確認しサービスを開始させる必要がある。

■ セマンティクスデータ取得
セマンティクスデータを取得できる。セマンティックス(SemID)の一覧は、SemID.h ヘッダーファイルで定義されている。いくつかのセマンティックスは、SubInfo 情報を伴う。SunInfo は Semantics.txtで説明する。

■ FTP 制御
AIBO Remote Framework で提供する FTP は、MMFTP(メモリマップド FTP)で、転送されたデータはメモリー上に保存される。PC 上のコンテンツ(MOTION、AUDIO、LED)を AIBO 側で再生するときに MMFTP を使用し、データを転送後、コンテンツを再生させる。メモリスティック内のファイルは、AIBO Remote Framework では置き換えることはできない。

■ Sensor データ取得
Sensor のデータを取得することができる。

■ Image データ取得
AIBO に取り付けられているカメラが捕らえた映像を取得することができる。(仕組みに関しては、「3.2.1 イメージデータの受信」にて説明する)

■ カメラ設定
AIBO に取り付けられているカメラのプロパティー(露出、シャッタースピード、AE(Auto Exposure)、AWB(Auto White Balance))設定が行える。

■ Audio データ送受信
PC 側でキャプチャしたオーディオデータを AIBO 側へ転送し、AIBO に取り付けられているスピーカーより再生することができる。(仕組みに関しては、「3.2.2 オーディオデータの送信」にて説明する)また、AIBO に取り付けられているマイクロフォンが受信したオーディオデータを PC 側で取得することができる。(仕組みに関しては、「3.2.3 オーディオデータの受信」にて説明する)

■ 動作制御
大/中/小レベル分類(LMSコマンド)によるモーション再生コマンドの送信、または MWCID による AIBO 制御用コマンドの送信が行える。AIBO の代表的な動作「歩行、姿勢設定、頭角度変更、キック、ヘディング」は専用の API から実行できる。

■ 操作制御権管理
内部制御モード、リモートモードの操作制御権の切り替えが行える。内部制御モードにおいては、PC 側からのコマンド送信による制御(例えば、首角度変更や歩行命令)はできない。ただし、AIBO から送られるデータに関しては、リモートモード同様に取得することができる。

■ 自律系制御
各種自律系サービスの開始/停止の制御(音声認識、動体認識、顔検出、顔認識、ビジュアルパターン認識、物体認識(TR)、崖認識、自己充電)。

■ 3D 表示
Direct X を使用した AIBO の 3D 表示が行える。

■ UPnP 検索
UPnP(Universal Plug and Play) を使用して AIBO の検索を行える。

■ TTS
TTS(Text to Speech)エンジンを使用して文字列を音声変換し再生、またはWaveデータとして出力できる。

■ その他
・バッテリーレベルの取得
・切断時モードの変更
・モーション停止(実行モーションの途中停止)
・Local IP アドレス取得
・AIBO 内部時計設定
・AIBO の MAC アドレス取得
・User ID/Password の設定
 


3.VirtualAIBO Client

3.1 メッセージ通知

3.1.1 VirtualAIBO Client - VirtualAIBO Server 間

AIBO Remote Framework API 中の VirtualAIBO Client と VirtualAIBO Server 間の同期は Windows メッセージを使用してデータのやり取りが行われる。前節で説明したブロック図中の VAIBOClient.DLL と VAIBOServer 間の太線の矢印が Windowsメッセージを示している。VirtualAIBO Server から受け取った Windows メッセージに対して VirtualAIBO Client はアプリケーションへ返すウインドウメッセージを生成し送信することとなる。その送られる内容は次節に示す。

3.1.2 アプリケーション - VirtualAIBO Client 間

VirtualAIBO Client からアプリケーションへは下記の Windows メッセージにより通知が行われる。
 

(1) WM_VAIBO_CONNECT
説明    : ネットワーク通信確立通知
wParam  : 上位ワード AIBO ID 下位ワード 0
lParam   : 0

(2) WM_VAIBO_DISCONNECT
説明    : ネットワーク通信切断通知
wParam  : 上位ワード AIBO ID 下位ワード 0
lParam   : 0

(3) WM_VAIBO_REMOTE_NOTIFY
説明    : Internal/External制御の切り替え完了通知
wParam  : 上位ワード AIBO ID 下位ワード 0
lParam   : 0 Internal制御 1 External制御

(4) WM_VAIBO_SEMANTICS
説明    : セマンティクスメッセージ受信通知
wParam  : セマンティクスメッセージの種類
・上位ワードは、 AIBO ID。
・下位ワードは、
         SEM_STATUS        // 状態遷移通知
         SEM_START         // 開始通知
         SEM_DONE          // 終了通知
         SEM_ERROR         // エラー通知
         SEM_RESULT        // 結果通知
         SEM_FINISHED       // 自己充電・骨咥え終了通知
lParam   : メッセージデータ(VAIBODef.hにて規定)

(注意) SEM_STATUS, SEM_RESULT, または SEM_FINISHED のセマンティクスメッセージ を処理中に結果終了を待つVAIBOクラスの関数を呼び出してはいけません。 結果を返すには、現在実行中のセマンティクスメッセージを処理する関数から リターンする必要がありますが、その中の関数で結果待ちをするので、 プログラムがデッドロックし、処理が継続できなくなります。
以下の2つの関数(SendCmd, SetRobotObjectMode)は結果終了を待つので、このプログラムは デッドロックします。

// Dead Lock Sample
// CVAIBO *m_pVAibo
// ON_REGISTERED_MESSAGE(WM_VAIBO_SEMANTICS, OnVAIBOSemantics)
LRESULT CBaseClientDlg::OnVAIBOSemantics( WPARAM wParam, LPARAM lParam )
{
    if ( semState == SEM_RESULT )
    {
        m_pVAibo->SendCmd( APPCMD_IMAGE_PLAY, TRUE);
        m_pVAibo->SetRobotObjectMode(eRobotObjectRecognizeObjectPink, eRobotObjectModeStart );
    }
}

(5) WM_VAIBO_INPUT_SEMANTICS
説明    : インプットセマンティクス受信通知
         VAIBO::GetInputSemantics()をコールしてデータを取得する
wParam  : 上位ワード AIBO ID 下位ワード 0
lParam   : 0

(6) WM_VAIBO_SENSOR_DATA
説明    : センサーデータ受信通知
wParam  : 上位ワードが AIBO ID。下位ワードは、センサーデータの個数。
lParam   : SensorRec構造体配列のポインタ

(7) WM_VAIBO_PRODUCTID
説明    : プロダクトID受信通知
         VAIBO::GetProductID()をコールしてデータを取得する
wParam  : 上位ワード AIBO ID 下位ワード 0
lParam   : 0

(8) WM_VAIBO_BATTERY_LVL
説明    : バッテリー残量変化通知
wParam  : 上位ワード AIBO ID 下位ワード 0
lParam   : バッテリー残量

(9) WM_MMFTP_SENDING
説明    : FTPファイル送信経過通知
wParam  : 上位ワード AIBO ID 下位ワード 0
lParam   : 転送したデータサイズ

(10) WM_IMAGETP_UPDATE
説明    : イメージデータ更新通知
         VAIBO::ImageGetData()をコールしてJPEGデータを取得する
wParam  : 上位ワード AIBO ID 下位ワード 0
lParam   : 受信したデータサイズ

(11) WM_AUDIOTP_UPDATE
説明    : オーディオデータ更新通知
         VAIBO::AudioGetData()をコールしてPCMデータを取得する
wParam  : 上位ワード AIBO ID 下位ワード 0
lParam   : 受信したデータサイズ

(12) WM_VAIBO_CLIENT_UPDATE
説明    : サーバー接続クライアント増減時に通知
wParam  : 上位ワードは、 AIBO ID。下位ワードは、 1(増加) or 0(減少)。
lParam   : クライアントのウィンドウハンドル

(13) WM_VAIBO_LOCK
説明    : サーバーのロック状態が変化した時に通知
wParam  : 上位ワード AIBO ID 下位ワード 0
lParam   : 1(Lock) or 0(UnLock)


3.2 共有メモリ

AIBO からのイメージデータ受信、オーディオデータの送受信、その他サーバー情報蓄積情報(サーバーウインドウハンドル、センサー、姿勢、状態、バッテリーレベル、セマンティクス 等)は共有メモリを使用してデータのやり取りが行われる機構となっている。共有メモリの種類は、イメージ、オーディオ受信、オーディオ送信、サーバー情報の4つであり、イメージ、オーディオ受信、オーディオ送信の共有メモリは、VirtualAIBO Server 起動時に AIBO の接続最大数 16 個分がキー名を変えつくられる。

3.2.1 イメージデータの受信

(1) VirtualAIBO Server は、AIBO から受け取ったイメージデータを一旦共有メモリ(Key:VAIBOImageObject*)に格納する。
(2) データが格納されると VirtualAIBO Server は更新通知メッセージを VirtualAIBO Client に送付する。
(3) VirtualAIBO Client は、それをトリガーとして共有メモリ(Key:VAIBOImageObject*)を参照することでデータを得る。
(4) データ取得後 VirtualAIBO Client は、アプリケーションに対して、更新通知メッセージ(WM_IMAGETP_UPDATE) を送付する。
(5) 更新通知メッセージ(WM_IMAGETP_UPDATE)メッセージを受け取ったアプリケーションは、API(VAIBO::ImageGetData)コールにてイメージデータの取得をしアプリケーション側でそのデータを描画することができる。また、API(VAIBO::ImageSetWindowHandle) で描画用のウインドウハンドルを渡し描画を自動的にVirtualAIBO Client に行わせることもできる。

※ VAIBOImageObject* の "*" は、AIBO の接続 ID (1 〜 16) が入る。

 

3.2.2 オーディオデータの送信

(1) AIBO に PC でキャプチャーしたオーディオデータを送信するには、 VirtualAIBO Client の API(AudioSendData) をコールする。
(2) コールされた VirtualAIBO Client は、一旦共有メモリ(Key:VAIBOAudioSendObject*)にデータを格納する。
(3) VirtualAIBO Client はデータを格納したら、VirtualAIBO Server へ更新通知メッセージを発行する。
(4) 更新通知を受け取った Virtual AIBO Server は、それをトリガーとして共有メモリ(Key:VAIBOAudioSendObject*)よりデータを参照し AIBO へ送信を行う。

※ VAIBOAudioSendObject* の "*" は、AIBO の接続 ID (1 〜 16) が入る。

 

3.2.3 オーディオデータの受信

(1) VirtualAIBO Server は、AIBO から受け取ったオーディオを一旦共有メモリ(Key:VAIBOAudioRecvObject*)に格納する。
(2) データが格納されると VirtualAIBO Server は更新通知メッセージを Virtual AIBO Client に送付する。
(3) VirtualAIBO Client は、それをトリガーとして共有メモリ(Key:VAIBOAudioRecvObject*)を 参照する。
(4) データ取得後に VirtualAIBO Client は、アプリケーションに、更新通知メッセージ(WM_AUDIOTP_UPDATE) を送付する。
(5) 更新通知メッセージ(WM_AUDIOTP_UPDATE)を受け取ったアプリケーションは、API(VAIBO::AudioGetData)コールにてオーディオデータの取得をしアプリケーション側でそのデータを処理することができる。

※ VAIBOAudioRecvObject* の "*" は、AIBO の接続 ID (1 〜 16) が入る。

 

3.2.4 その他情報の取得

サーバー情報蓄積情報(サーバーウインドウハンドル、センサー、姿勢、状態、バッテリーレベル、セマンティクス等)においても上記イメージ、オーディオと同様に共有メモリを使用して VirtualAIBO Server と VirtualAIBO Client の間でデータ共有が行われている。アプリケーション側は、イメージ、オーディオの場合と同様に API コールにより、その返り値もしくは、引数に設定したポインタよりデータの取得を行う機構となっている。

 

4. API 一覧

4.1 VAIBOClient

API 名称 機能
CVAIBO::CVAIBO コンストラクタ
CVAIBO::~CVAIBO デストラクタ
CVAIBO::Connect AIBO とのネットワーク接続を開始する。
CVAIBO::Disconnect AIBO とのネットワーク接続の切断
CVAIBO::SetLock サーバーのロック/アンロック
CVAIBO::GetProductID AIBO のプロダクト ID 取得
CVAIBO::GetRemoteMACAddress AIBO の MAC アドレス 取得
CVAIBO::GetRobotDesign AIBO のロボットデザイン取得
CVAIBO::RequestNetService ネットワークサービスのリクエスト
CVAIBO::SendCmd AIBO 制御用コマンド送信
CVAIBO::PlayMotion 大・中・小・レベルによる分類コマンドの再生
CVAIBO::PlayMotionWithAngle 角度指定付きの大・中・小・レベルによる分類コマンドの再生
CVAIBO::IsConnect サーバーのネットワーク接続状態取得
CVAIBO::IsLock サーバーのロック状態取得
CVAIBO::GetStateSensorTP SensorTP の Open/Close 状態取得
CVAIBO::GetStateImageTP ImageTP の Open/Close 状態取得
CVAIBO::GetStateAudioTP AudioTP の Open/Close 状態取得
CVAIBO::GetStateNetAudio NetAudio の Open/Close 状態
CVAIBO::IsFTPOpen FTP の Open/Close 状態取得
CVAIBO::GetInputSemantics セマンティクスデータ取得
CVAIBO::GetSemInfo セマンティクス情報取得
CVAIBO::SensorTransferStart SensorTP のデータ送信開始
CVAIBO::SensorTransferStop SensorTP のデータ送信停止
CVAIBO::SensorGetData SensorTP のデータ取得
CVAIBO::SensorGetSkipRate SensorTP のスキップレート取得
CVAIBO::SensorSetSkipRate SensorTP のスキップレート設定
CVAIBO::ImageInit Image オブジェクト初期化
CVAIBO::ImageOpen Image の受信開始
CVAIBO::ImageClose Image の受信終了
CVAIBO::ImagePause Image データ処理一時停止
CVAIBO::ImageResume Image データ処理再開
CVAIBO::ImageGetData Image データ取得
CVAIBO::ImageSetWindowHandle 動画表示ウインドウ設定
CVAIBO::ImageOutputCaptureData スチール写真撮影
CVAIBO::ImageGetFrameRate Image フレームレート取得
CVAIBO::CameraSetModeDefault カメラモードの自動設定
CVAIBO::CameraSetModeManual カメラモードのマニュアル設定
CVAIBO::CameraSetParamExposure カメラパラメータ、露出設定
CVAIBO::CameraSetParamShutterSpeed カメラパラメータ、シャッタースピード設定
CVAIBO::CameraSetModeAEAWB AE(Auto Exposure),AWB(Auto White Balance)設定
CVAIBO::AudioInit Audio に関するオブジェクトの初期化
CVAIBO::AudioGetOpen オーディオデータの受信開始
CVAIBO::AudioSendOpen AudioStream 再生用通信ポートのオープン
CVAIBO::AudioSendSetMode AudioMode 変更
CVAIBO::AudioClose 通信ポートをクローズして、受信を終了する
CVAIBO::AudioGetData Audio データを取得
CVAIBO::AudioSendData AudioStream 再生データの転送
CVAIBO::AudioSendWAVFile AudioStream 再生データ(ファイル)の転送
CVAIBO::AudioSendPlay オーディオストリームの再生開始処理
CVAIBO::AudioSendStop オーディオストリームの停止処理
CVAIBO::FTPMMSendWAVFile WAVE ファイルを送信する
CVAIBO::FTPMMSendMWCFile MMFTP による MWC ファイルの転送
CVAIBO::FTPMMSendMOTIONFile MMFTP による MOTION ファイルの転送
CVAIBO::FTPMMSendAUDIOFile MMFTP による AUDIO ファイルの転送
CVAIBO::FTPMMSendLEDFile MMFTP による LED ファイルの転送
CVAIBO::UpdateContents コンテンツアップデート
CVAIBO::PlayContents コンテンツ再生
CVAIBO::DoKick キック
CVAIBO::DoHeader ヘディング
CVAIBO::DoWalking 歩行
CVAIBO::DoApproach target指定歩行
CVAIBO::DoGetOffStation ステーションからの立ち上がり
CVAIBO::SetPosture 姿勢設定
CVAIBO::GetPosture 姿勢取得
CVAIBO::GetStatus AIBO のカレント状態を取得する
CVAIBO::ChangeHeadAngle 頭を移動コマンドを送信する
CVAIBO::TurnBody 体旋回
CVAIBO::MotionStop モーション停止
CVAIBO::GetBatteryLevel バッテリーレベルの取得
CVAIBO::SetBatteryLevelNotify バッテリ残量の通知、非通知設定
CVAIBO::ExternalControl コントロール権取得
CVAIBO::InternalControl コントロール権開放
CVAIBO::ChangeDisconnectMode 切断時モード変更
CVAIBO::SetRobotObjectMode 自律系サービス開始・終了
CVAIBO::SetClock AIBO 内部時計設定
CVAIBO::IsControlReady AIBO のコントロール可能状態を確認
CVAIBO::IsRemote AIBO がリモート制御状態かどうかの確認
CVAIBO::SetObserverWnd メッセージ取得ウインドウ追加
CVAIBO::GetLocalIPAddress Local IP アドレスの取得
CVAIBO::GetLastCmdID 発行済みCmdIDの取得
CVAIBO::GetRobotObjectMode AIBO側オブジェクト動作状態の取得
CVAIBO::GetProtocolVersion 各サービスのプロトコルバージョンの取得
CVAIBO::DoRobotFunction AIBO側機能の実行
CVAIBO::StopRobotFunction AIBO側機能の実行停止
CVAIBO::VPRSetMode VPRモードの設定
CVAIBO::VPRTrainModel VPRモデルの学習
CVAIBO::VPRRemoveModel VPRモデルの削除
CVAIBO::VPRQueryModel VPRモデル登録状態の問い合わせ
CVAIBO::VPRGetImage VPR登録モデル画像ファイル名の取得
CVAIBO::SetVolume Volume の設定
CVAIBO::RequestVolume Volume の取得
CVAIBO::SetUserIdPwd ユーザーID, Password の設定
CVAIBO::GetUserIdPwd ユーザーID, Password の取得
CVAIBO::ImageGetInfo 画像認識の設定情報取得
CVAIBO::ImageGetRecogData 画像認識のデータ取得
CATPDirectSound::CATPDirectSound コンストラクタ
CATPDirectSound::~CATPDirectSound デストラクタ
CATPDirectSound::Init クラスの初期化
CATPDirectSound::StartPlay オーディオ再生の開始
CATPDirectSound::EndPlay オーディオ再生の終了
CATPDirectSound::PlayWaveData Waveデータの再生
CATPDirectSound::StartCapture オーディオキャプチャの開始
CATPDirectSound::EndCapture オーディオキャプチャの終了

ヘッダー:CVAIBO クラスは、VAIBO.h 内で定義。 CATPDirectSound クラスは、ATPDirectSound.h 内で宣言。
インポートライブラリ:VAIBOClient.lib, を使用。
※ VAIBOClient 内で、ijl15.dll を使用します。

4.2 VAIBO3D

API Name Function
CAIBO3D::CAIBO3D コンストラクタ
CAIBO3D::~CAIBO3D デストラクタ
CAIBO3D::Create3D AIBO 3Dオブジェクト作成
CAIBO3D::Show AIBO 3Dオブジェクトの表示、非表示の切り替え
CAIBO3D::HomePosition AIBO 3Dオブジェクトをホームポジションに移動
CAIBO3D::RotateBody AIBO 3Dオブジェクトの回転
CAIBO3D::GetBodyAngle AIBO 3Dオブジェクトの回転角度の取得
CAIBO3D::Set3DPosture AIBO 3Dオブジェクトの姿勢の設定
CAIBO3D::MoveAIBOAnimation AIBO 3Dオブジェクトの移動アニメーション
CAIBO3D::RotateAIBOAnimation AIBO 3Dオブジェクトの回転アニメーション
CAIBO3D::PlayAnimation AIBO 3Dオブジェクトのモーションのアニメーションの開始
CAIBO3D::StopAnimation AIBO 3Dオブジェクトのモーションのアニメーションの終了
CAIBO3D::ClearTrack 軌跡情報の消去
CAIBO3D::DrawTrack 軌跡の描画
CAIBO3D::RotateJoint AIBO 3Dオブジェクトの各関節を回転
CAIBO3D::SetColor AIBO 3Dオブジェクトの各関節のマテリアル色の設定
CAIBO3D::GetColor AIBO 3Dオブジェクトの各関節のマテリアル色の取得
CAIBO3D::MoveCamera カメラの移動
CAIBO3D::ZoomCamera カメラのズーム
CAIBO3D::RotateCamera カメラの回転
CAIBO3D::GetCameraPos カメラ位置の取得
CAIBO3D::GetCameraAngle カメラ回転角度の取得
CAIBO3D::SetLight ライト色の設定
CAIBO3D::SetFloorTexture 床面テクスチャの読み込み
CAIBO3D::SetBackTexture 背景テクスチャの読み込み
CAIBO3D::DeleteFloorTexture 床面テクスチャの削除
CAIBO3D::DeleteBackTexture 背景テクスチャの削除
CAIBO3D::SetLocalRotationX AIBO 3Dオブジェクトのローカル座標X軸回転
CAIBO3D::SetLocalRotationY AIBO 3Dオブジェクトのローカル座標Y軸回転
CAIBO3D::SetLocalRotationZ AIBO 3Dオブジェクトのローカル座標Z軸回転
CAIBO3D::SetLocalRotation AIBO 3Dオブジェクトのローカル座標回転
CAIBO3D::SetLocalTransfer AIBO 3Dオブジェクトのローカル座標平行移動
CAIBO3D::GetLocalRotation AIBO 3Dオブジェクトのローカル座標回転量の取得
CAIBO3D::GetLocalTransfer AIBO 3Dオブジェクトのローカル座標平行移動量の取得
CAIBO3D::ShowCopyModel AIBO 3Dオブジェクトのコピーモデルの表示、非表示の切り替え
CAIBO3D::IsShowCopyModel AIBO 3Dオブジェクトのコピーモデルの表示、非表示情報の取得
CAIBO3D::SetCopyModelRotationX AIBO 3Dオブジェクトのコピーモデルのローカル座標X軸回転
CAIBO3D::SetCopyModelRotationY AIBO 3Dオブジェクトのコピーモデルのローカル座標Y軸回転
CAIBO3D::SetCopyModelRotationZ AIBO 3Dオブジェクトのコピーモデルのローカル座標Z軸回転
CAIBO3D::SetCopyModelRotation AIBO 3Dオブジェクトのコピーモデルのローカル座標回転
CAIBO3D::SetCopyModelTransfer AIBO 3Dオブジェクトのコピーモデルのローカル座標平行移動
CAIBO3D::GetCopyModelRotation AIBO 3Dオブジェクトのコピーモデルのローカル座標回転量の取得
CAIBO3D::GetCopyModelTransfer AIBO 3Dオブジェクトのコピーモデルのローカル座標平行移動量の取得
CAIBO3D::IsShowDrawText2D 2Dテキストの表示フラグの取得
CAIBO3D::ShowDrawText2D 2Dテキストの表示、非表示の切り替え
CAIBO3D::CreateDrawText2DSurface 2Dテキストの表示用サーフェイスの作成
CAIBO3D::SetDrawText2DString 2Dテキストの表示用文字列の登録
CAIBO3D::SetDrawText2DString 2Dテキストの表示用文字列の登録
CAIBO3D::SetDrawText2DFont 2Dテキストの表示用フォントの登録
CAIBO3D::SetDrawText2DColor 2Dテキストの表示カラーの設定
CAIBO3D::SetDrawText2DBackColor 2Dテキストの背景カラーの設定
CAIBO3D::SetDrawText2DBackTransparent 2Dテキストの背景透過の設定
CAIBO3D::SetDrawText2DDrawArea 2Dテキストの表示範囲の設定
CAIBO3D::IsShowDrawText3D 3Dテキストの表示フラグの取得
CAIBO3D::ShowDrawText3D 3Dテキストの表示、非表示の切り替え
CAIBO3D::CreateDrawText3DSurface 3Dテキストの表示用サーフェイスの作成
CAIBO3D::SetDrawText3DString 3Dテキストの表示用文字列の登録
CAIBO3D::SetDrawText3DFont 3Dテキストの表示用フォントの登録
CAIBO3D::SetDrawText3DColor 3Dテキストの表示カラーの設定
CAIBO3D::SetDrawText3DBackColor 3Dテキストの背景カラーの設定
CAIBO3D::SetDrawText3DBackTransparent 3Dテキストの背景透過の設定
CAIBO3D::SetDrawText3DBasePoint 3Dテキストの表示位置の基点座標の設定
CAIBO3D::SetDrawText3DDrawArea 3Dテキストの表示範囲の設定
CAIBO3D::GetVersion バージョン情報取得

ヘッダー:AIBO3D.h 内で宣言。
インポートライブラリ:AIBO3D.lib を使用。

4.3 CPCINFO

API 名称 機能
CCpcInfo::CCpcInfo コンストラクタ
CCpcInfo::~CCpcInfo デストラクタ
CCpcInfo::GetJointArray 関節ID配列の取得
CCpcInfo::GetSensorArray Primitive Locator ID とセンサー情報の対応テーブルの取得
CCpcInfo::GetPrimitiveLocator Primitive Locator の取得

ヘッダー:CpcInfo.h 内で宣言。
インポートライブラリ:CpcInfo.lib を使用。

4.4 VAIBOUPnP

API 名称 機能
DiscoveryAIBOByUPnP UPnP で AIBO の検索を行う

ヘッダー:VAIBOUPnPClient.h 内で宣言。
インポートライブラリ:VAIBOUPnP.lib を使用。

4.5 VAIBOTTS

API 名称 機能
CVAIBOTTS::Init ライブラリの初期化
CVAIBOTTS::End ライブラリの終了
CVAIBOTTS::GetTTSEngineNum TTSエンジンの個数の取得
CVAIBOTTS::GetTTSEngineName TTSエンジンの名前の取得
CVAIBOTTS::GetTTSEngineKind TTSエンジンの種別の取得
CVAIBOTTS::GetVoiceEngine カレントのTTSエンジンの取得
CVAIBOTTS::SetVoiceEngine カレントのTTSエンジンの設定
CVAIBOTTS::Speak 文字列をTTS変換して再生
CVAIBOTTS::MakeWaveFile 文字列をTTS変換してWAVEファイルを出力
CVAIBOTTS::MakePcmData 文字列をTTS変換してPCMデータを出力
CVAIBOTTS::SetVoiceSpeed VOICEのスピードの設定
CVAIBOTTS::SetVoicePitch VOICEのピッチの設定
CVAIBOTTS::SetVoiceAccent VOICEのアクセントの設定
CVAIBOTTS::SetVoiceVolume VOICEのボリュームの設定
CVAIBOTTS::SetOutputFormat 出力PCMデータフォーマットの設定
CVAIBOTTS::GetVoiceSpeed VOICEのスピードの取得
CVAIBOTTS::GetVoicePitch VOICEのピッチの取得
CVAIBOTTS::GetVoiceAccent VOICEのアクセントの取得
CVAIBOTTS::GetVoiceVolume VOICEのボリュームの取得
CVAIBOTTS::GetOutputFormat 出力PCMデータフォーマットの取得
CVAIBOTTS::GetWordNumInLexicon 辞書登録語句数の取得
CVAIBOTTS::GetWordInLexicon 辞書登録語句の取得
CVAIBOTTS::GetPronunciationInLexicon 辞書登録語句の発音の取得
CVAIBOTTS::GetPartInLexicon 辞書登録語句の品詞の取得
CVAIBOTTS::AddWordInLexicon 辞書に新規語句の登録
CVAIBOTTS::DeleteWordInLexicon 辞書登録語句の削除

ヘッダー:VAIBOTTS.h内で宣言。
インポートライブラリ:VAIBOTTS.libを使用。

※ CAIBOTTS 内で、ssnykp.dll, sony_tts_dll.dll, ssnykp.dll, udlib.dll, posattr.dll, uwkanjidll.dll を使用します。