2005/10/05
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 に関して記述する。
本章では、AIBO Remote Framework の構成について記述する。アプリケーションから、AIBO に接続する際に存在する PC 上ソフトウェアのモジュール構成は、
- アプリケーション - AIBO Remote Framework API を使用したアプリケーション
- AIBO Remote Framework - 本ライブラリ
- VirtualAIBO Server - AIBO と AIBO Remote Framework の通信を中継するプログラム
の3つからなっている(図 2.1 参照)。
※ 赤の点線で囲った部分が AIBO Remote Framework の部分
図 2.1 AIBO Remote Framework 構成
AIBO と PC 側アプリケーションは多対多の関係を形成することができる。その際に AIBO と PC 間の接続を中継するサーバーは1つである。
AIBO Remote Framework API は、
VAIBOClient.dll − AIBO への接続、切断。FTP, Sensor, Image, Audio といった AIBO 内のサービスの処理。AIBO へ歩行、姿勢変更、等の命令を行う。以下 VAIBOClient.dll を VirtualAIBO Server に対して VirtualAIBO Client と呼ぶ。
AIBO3D.DLL − AIBO の 3D 描画に関する処理。
CPCInfo.DLL − AIBO のハードウェア構成(ロボットデザイン)の取得。
VAIBOUPnP.DLL − UPnPによるAIBOの検索。
VAIBOTTS.dll − TTS(Text to Speech)エンジンを使った音声再生、Waveデータ出力。
の4つの DLL から構成されている。これらの DLL と AIBO までのモジュール構成を図 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 の設定
AIBO Remote Framework API 中の VirtualAIBO Client と VirtualAIBO Server 間の同期は Windows メッセージを使用してデータのやり取りが行われる。前節で説明したブロック図中の VAIBOClient.DLL と VAIBOServer 間の太線の矢印が Windowsメッセージを示している。VirtualAIBO Server から受け取った Windows メッセージに対して 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)
AIBO からのイメージデータ受信、オーディオデータの送受信、その他サーバー情報蓄積情報(サーバーウインドウハンドル、センサー、姿勢、状態、バッテリーレベル、セマンティクス 等)は共有メモリを使用してデータのやり取りが行われる機構となっている。共有メモリの種類は、イメージ、オーディオ受信、オーディオ送信、サーバー情報の4つであり、イメージ、オーディオ受信、オーディオ送信の共有メモリは、VirtualAIBO Server 起動時に AIBO の接続最大数 16 個分がキー名を変えつくられる。
(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) が入る。
(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) が入る。
(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) が入る。
サーバー情報蓄積情報(サーバーウインドウハンドル、センサー、姿勢、状態、バッテリーレベル、セマンティクス等)においても上記イメージ、オーディオと同様に共有メモリを使用して VirtualAIBO Server と VirtualAIBO Client の間でデータ共有が行われている。アプリケーション側は、イメージ、オーディオの場合と同様に API コールにより、その返り値もしくは、引数に設定したポインタよりデータの取得を行う機構となっている。
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 を使用します。
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 を使用。
API 名称 機能 CCpcInfo::CCpcInfo コンストラクタ CCpcInfo::~CCpcInfo デストラクタ CCpcInfo::GetJointArray 関節ID配列の取得 CCpcInfo::GetSensorArray Primitive Locator ID とセンサー情報の対応テーブルの取得 CCpcInfo::GetPrimitiveLocator Primitive Locator の取得 ヘッダー:CpcInfo.h 内で宣言。
インポートライブラリ:CpcInfo.lib を使用。
API 名称 機能 DiscoveryAIBOByUPnP UPnP で AIBO の検索を行う ヘッダー:VAIBOUPnPClient.h 内で宣言。
インポートライブラリ:VAIBOUPnP.lib を使用。
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内で宣言。
※ CAIBOTTS 内で、ssnykp.dll, sony_tts_dll.dll, ssnykp.dll, udlib.dll, posattr.dll, uwkanjidll.dll を使用します。
インポートライブラリ:VAIBOTTS.libを使用。