クラス spc::SPCBase

SPC基底クラス [詳細]

#include <spcbase.h>


Public メソッド

 SPCBase ()
 コンストラクタ
 ~SPCBase ()
 デストラクタ
long speak (std::string sentence)
 発話要求
long speak (std::string sentence, spc::SPC_SPEAK_KIND param)
 発話要求(腕動作指定)
long waitForAnswer (std::string sentence, spc::SPC_ANSWER &answer)
 質問要求(Yes/No)
long waitForAnswer (std::string sentence, std::vector< std::string > yesWords, std::vector< std::string > noWords, std::vector< std::string > cancelWords, spc::SPC_ANSWER &answer)
 質問要求(YesNo拡張)
long waitForAnswer (std::string sentence, std::vector< std::string > answerWords, spc::SPC_ANSWER &answer, std::string &recogWord, int &recogIndex)
 質問要求(回答項目設定)
long waitForAnswer (std::string sentence, std::vector< std::string > trueWords, std::vector< std::string > falseWords, spc::SPC_ANSWER &answer, std::string &recogWord, int &recogIndex)
 質問要求(正解・不正解)
long setWaitForAnswerTimeOut (long sec)
 質問要求タイムアウト時間設定
long takePicture (std::string filePath)
 写真撮影要求
long getWalkingMode (bool &walkingMode)
 歩行モード取得要求
long setWalkingMode (bool walkingMode)
 歩行モード設定要求
long walk (spc::SPC_WALK_TYPE type, long walkparam, float angle)
 歩行要求
long walk (spc::SPC_WALK_TYPE type, long walkparam, float angle, bool sitdown)
 歩行要求(歩行後の動作設定可能)
long turn (long direction)
 方向転換要求
long stepping (long stepTime)
 足踏み要求
long standUp ()
 立ち上がる
long sitDown ()
 座る
long makeMotion (std::string filePath)
 モーション実行要求
long makeMotion (std::string filePath, bool useLowerServo, bool finMotion, spc::SPC_SYNCMOTION_TYPE syncMotionType, std::string syncMotionParam)
 モーション実行要求(別動作との同時実行)
long makeMotion (std::string filePath, bool useLowerServo, bool finMotion, std::vector< spc::SPC_SYNCMOTION_TYPE > syncMotionType, std::vector< std::string > syncMotionParam)
 モーション実行要求(別動作との同時実行:複数動作対応)
long makeMotion (std::string filePath, bool useLowerServo, bool finMotion, std::vector< spc::SPC_SYNCMOTION_TYPE > syncMotionType, std::vector< std::string > syncMotionParam, bool loopMotion)
 モーション実行要求(別動作との同時実行:複数動作対応、モーション再実行対応)
long makeDanceMotion (std::string filePath, bool useLowerServo, bool finMotion, std::vector< spc::SPC_SYNCMOTION_TYPE > syncMotionType, std::vector< std::string > syncMotionParam)
 ダンス用モーション実行要求(別動作との同時実行:複数動作対応)
long getServoInfo (std::vector< spc::SPC_SERVO_INFO > &servoInfos)
 サーボ情報の取得
long getInvalidModeStatus (spc::SPC_SERVO_INVALID_MODE_STATUS &status)
 サーボ無効化状態の取得
long isServoConnection (bool &connection)
 サーボ通信可能状態の取得
long loadConfig (std::string sectName, std::string confName, std::string &value)
 アプリケーションコンフィグファイル読み込み要求
long loadConfig (std::string appName, std::string sectName, std::string confName, std::string &value)
 アプリケーションコンフィグファイル読み込み要求(アプリケーション名指定)
long startDetectMovingObject (float speed=1.0)
 動体検知開始要求
long stopDetectMovingObject ()
 動体検知終了要求
long startLED (std::string filePath)
 LED点灯要求
long startLED (std::string filePathMicOn, std::string filePathMicOff)
 LED点灯要求(音声認識可能時、音声認識不可能時の自動切り替え)
long startLED (std::vector< std::string > vLEDPath, long interval)
 LEDの連続表示
long stopLED ()
 LED消灯要求
long enableNetwork ()
 ネットワーク有効化要求
long disableNetwork ()
 ネットワーク有効化完了要求
long playSound (std::string filePath)
 サウンドファイル再生要求
long setActionPSDFluctuation (spc::SPC_ACTION_PSD_FLUCTUATION_TYPE action)
 PSD変動検知時の動作設定
long controlArms (spc::SPC_ARM_TYPE Arms, bool move)
 腕の動作指定要求
long startWaitShakeHand ()
 握手検知の開始要求
long stopWaitShakeHand ()
 握手検知の終了要求
long expressFeeling (spc::SPC_FEELING_TYPE feelingType)
 感情動作要求
long startTimer (unsigned long interval, unsigned long count, long &timerId)
 タイマー開始要求
long stopTimer (long timerId)
 タイマー停止要求
long startNeckControl ()
 首制御開始要求
long stopNeckControl ()
 首制御終了要求
long moveNeck (spc::SPC_MOVE_NECK_PARAM param)
 首動作要求
long lookFront (long execTime)
 正面を向く
long moveArm (spc::SPC_MOVE_ARM_PARAM param)
 腕動作要求
long getBatteryStatus (spc::SPC_BATTERY_STATUS &status)
 バッテリー状態の取得要求
long getPoseStatus (spc::SPC_POSE_STATUS_KIND &pose)
 姿勢取得要求
long setVolume (long volume)
 音量設定要求
long getVolume (long &volume)
 音量取得要求
long getDataDirPath (std::string &dirPath)
 アプリケーションプロパティ格納ディレクトリの取得
long getDiskUsage (float &diskInfo)
 ディスクの使用率取得
long getDiskFreeSize (float &diskInfo)
 ディスク空き容量取得要求
long getAppDiskUsage (float &diskInfo)
 自アプリケーションのディスク使用量取得
long getAppDiskUsage (std::string appName, float &diskInfo)
 指定アプリケーションのディスク使用量取得
long exitComponent ()
 アプリケーション終了要求
virtual void onInitialize ()
 アプリケーション初期化イベント
virtual void onFinalize ()
 アプリケーション終了イベント
virtual void onFaceCatch (std::string name, bool owner)
 顔認識イベント
virtual void onFaceDrop ()
 顔認識不可イベント
virtual void onKnownPlace (spc::SPC_PLACE place)
 現在位置認識イベント
virtual void onMovingObjectCatch (float speed, spc::SPC_MOVING_OBJECT_DIRECTION direction)
 動体検知イベント
virtual void onPSDFluctuationCatch ()
 PSD変動イベント
virtual void onHandShakeCatch (spc::SPC_ARM_TYPE hand)
 握手検知イベント
virtual void onTimer (long timerId)
 タイマーイベント

Static Public メソッド

static long setLogLevel (spc::SPC_LOG_LEVEL logLevel)
 ログレベル設定要求
static long outputLog (spc::SPC_LOG_LEVEL logLevel, std::string filename, std::string fncname, long line, const char *format,...)
 ログ出力要求


説明

SPC基底クラス

関数

long spc::SPCBase::speak ( std::string  sentence  ) 

発話要求

指定した文字列を発話する

引数:
[in] sentence 発話する文字列
戻り値:
0 正常終了
0以外 処理失敗
 // 「こんにちは」と発話する
 speak("こんにちは");

long spc::SPCBase::speak ( std::string  sentence,
spc::SPC_SPEAK_KIND  param 
)

発話要求(腕動作指定)

指定した文字列を発話する

引数:
[in] sentence 発話する文字列。
[in] param 発話中の腕の動作。
SPC_SPEAK_NORMALの場合、発話中腕を動かし、発話後は腕を戻す。
SPC_SPEAK_SIMPLEの場合、発話中に腕を動かし、終了後元には戻さない。
SPC_SPEAK_NOT_MOVE_ARMの場合は、腕を動かさずに発話する。
戻り値:
0 正常終了
0以外 処理失敗
バージョン:
Sapie3.4以降
 // 腕を動かさずに「こんにちは」と発話する
 speak("こんにちは", spc::SPC_SPEAK_NOT_MOVE_ARM);

long spc::SPCBase::waitForAnswer ( std::string  sentence,
spc::SPC_ANSWER answer 
)

質問要求(Yes/No)

「はい」「いいえ」「やめる」で回答する質問をする

引数:
[in] sentence 発話する質問文
[out] answer 処理結果。戻り値が0(正常終了)の場合のみ有効
戻り値:
0 正常終了
0以外 処理失敗
 // 質問処理のサンプル
 SPC_ANSWER answer;

 // 質問をする
 long rtn;
 rtn = waitForAnswer("準備はいいですか?", answer);
 if(rtn != 0){
   // waitForAnswer処理失敗
   // アプリケーションの終了
   exitComponent();
   return;
 }
 switch(answer){
   case SPC_ANSWER_YES:
     // ここに「はい」が認識されたときの処理を記述する
     break;

   case SPC_ANSWER_NO:
     // ここに「いいえ」が認識されたときの処理を記述する
    break;

   case SPC_ANSWER_CANCEL:
     // ここに「やめる」が認識されたときの処理を記述する
     break;

   default:
     break;
 }

long spc::SPCBase::waitForAnswer ( std::string  sentence,
std::vector< std::string >  yesWords,
std::vector< std::string >  noWords,
std::vector< std::string >  cancelWords,
spc::SPC_ANSWER answer 
)

質問要求(YesNo拡張)

「はい」「いいえ」「やめる」と同様に認識させる単語を設定して質問する

引数:
[in] sentence 発話する質問文
[in] yesWords 「はい」と同様に認識させる単語(全角カタカナで設定、複数設定可)
[in] noWords 「いいえ」と同様に認識させる単語(全角カタカナで設定、複数設定可)
[in] cancelWords 「やめる」と同様に認識させる単語(全角カタカナで設定、複数設定可)
[out] answer 処理結果。戻り値が0(正常終了)の場合のみ有効
戻り値:
0 正常終了
0以外 処理失敗
 // 「オッケー」という回答を認識するサンプル
 SPC_ANSWER answer;
 std::vector<std::string> yesWords, noWords, cancelWords;
 int recogIndex;

 // 認識したい言葉を全角カタカナで追加する
 yesWords.push_back("オッケー");

 // 「いいえ」「やめる」は通常通り
 noWords.clear();
 cancelWords.clear();

 // 質問をする
 // 今回の例では「はい」または「オッケー」と認識した場合
 // answerにSPC_ANSWER_YESが返る
 long rtn;
 rtn = waitForAnswer("用意はいいですか?",
                     yesWords,
                     noWords,
                     cancelWords,
                     answer);

long spc::SPCBase::waitForAnswer ( std::string  sentence,
std::vector< std::string >  answerWords,
spc::SPC_ANSWER answer,
std::string &  recogWord,
int &  recogIndex 
)

質問要求(回答項目設定)

回答する単語を指定して質問を行う

引数:
[in] sentence 発話する質問文
[in] answerWords 回答として指定する単語(全角カタカナで設定)
[out] answer 処理結果。戻り値が0(正常終了)の場合のみ有効
[out] recogWord 認識した単語。処理結果が SPC_ANSWER_RECOGEND の場合のみ有効(全角カタカナ)
[out] recogIndex 認識した単語のanswerWords内インデックス値
戻り値:
0 正常終了
0以外 処理失敗
 // リンゴ、ミカン、バナナのいずれかを認識する
 SPC_ANSWER answer;
 std::vector<std::string> answerWords;
 std::string recogWord;
 int recogIndex;

 // 認識したい言葉を全角カタカナで追加する
 answerWords.push_back("リンゴ");
 answerWords.push_back("バナナ");
 answerWords.push_back("ミカン");

 // 質問をする
 long rtn;
 rtn = waitForAnswer("リンゴ。バナナ。ミカン。どれが好きですか?",
                     answerWords,
                     answer,
                     recogWord,
                     recogIndex);
 if(rtn != 0){
   // waitForAnswer処理失敗
   // アプリケーションの終了
   exitComponent();
   return;
 }
 switch(answer){
   case SPC_ANSWER_RECOGEND:
     // ここに質問が正常終了した場合の処理を記述する
     // 認識した単語は、recogWord、および answerWords[recogIndex] で取得できる
     break;

   case SPC_ANSWER_TIMEOUT:
     // ここに質問処理がタイムアウトした時の処理を記述する
     break;

   default:
     break;
 }

long spc::SPCBase::waitForAnswer ( std::string  sentence,
std::vector< std::string >  trueWords,
std::vector< std::string >  falseWords,
spc::SPC_ANSWER answer,
std::string &  recogWord,
int &  recogIndex 
)

質問要求(正解・不正解)

回答として正解および不正解と判定する単語を指定した質問を行う。

引数:
[in] sentence 発話する質問文
[in] trueWords 正解として指定する単語(全角カタカナで設定、複数設定可)
[in] falseWords 不正解として指定する単語(全角カタカナで設定、複数設定可)
[out] answer 処理結果。戻り値が0(正常終了)の場合のみ有効。
正解に指定した単語を認識した場合は SPC_ANSWER_TRUE、
不正解に指定した単語を認識した場合は SPC_ANSWER_FALSE、
それ以外の単語を認識した場合は SPC_ANSWER_UNKNOWN が返される。
[out] recogWord 認識した単語。処理結果が SPC_ANSWER_TRUE または SPC_ANSWER_FALSE の場合のみ有効。
[out] recogIndex 認識した単語のインデックス値。処理結果が SPC_ANSWER_TRUE または SPC_ANSWER_FALSE の場合のみ有効。
SPC_ANSWER_TRUE なら trueWords内、SPC_ANSWER_FALSE の場合は falseWords内のインデックス値が返される。
戻り値:
0 正常終了
0以外 処理失敗
バージョン:
Sapie3.2以降
 // 正解および不正解と判定する単語を指定して質問する
 std::vector<std::string> trueWords,falseWords;
 SPC_ANSWER answer;
 std::string recogWord;
 int recogIndex;

 // 正解とする単語を追加
 trueWords.push_back("ミカン");
 trueWords.push_back("ボール");

 // 不正解とする単語を追加
 falseWords.push_back("サイコロ");
 falseWords.push_back("ビル");

 // 質問を実行する
 long rtn;
 rtn = waitForAnswer("丸いものの名前を言ってください",
                     trueWords,
                     falseWords,
                     answer,
                     recogWord,
                     recogIndex);
 if(rtn != 0){
   // waitForAnswer処理失敗
   // アプリケーションの終了
   exitComponent();
   return;
 }
 switch(answer){
   case SPC_ANSWER_TRUE:
     // 正解に指定した単語を認識した場合
     // この例では「ミカン」または「ボール」と認識した
     break;

   case SPC_ANSWER_FALSE:
     // 不正解に指定した単語を認識した場合
     // この例では「サイコロ」または「ビル」と認識した
     break;

   default:
     break;
 }

long spc::SPCBase::setWaitForAnswerTimeOut ( long  sec  ) 

質問要求タイムアウト時間設定

質問要求(waitForAnswer)のタイムアウト時間を設定する。

引数:
[in] sec 設定するタイムアウト時間(秒)。 一度設定すると、その後の質問動作全てで有効になる。0を設定した場合、システムで決められたデフォルトの値に設定される。
戻り値:
0 正常終了
0以外 処理失敗
バージョン:
Sapie3.2以降
 // 質問要求のタイムアウトを20秒に設定する
 setWaitForAnswerTimeOut(20);

long spc::SPCBase::takePicture ( std::string  filePath  ) 

写真撮影要求

カメラからの画像をJPG画像として保存する

引数:
[in] filePath 画像の保存先(フルパス)
戻り値:
0 正常終了
0以外 処理失敗
 // 写真を撮影するサンプル
 std::string dirPath, filePath;

 // アプリケーションコンフィグが保存されているディレクトリを取得する
 getDataDirPath(dirPath);

 // カメラからの画像を「sample.jpg」と言う名前で
 // アプリケーションコンフィグが保存されているディレクトリに保存する
 filePath = dirPath + "/sample.jpg";
 takePicture(filePath);

 // 保存したファイルは、Linuxのrcpコマンドやscpコマンドで
 // 別のコンピュータに転送するとよい。
 // その際は、enableNetwork()関数で、無線LANの使用を宣言すること

long spc::SPCBase::getWalkingMode ( bool &  walkingMode  ) 

歩行モード取得要求

現在の歩行モードを取得する。

引数:
[out] walkingMode 現在の歩行モード。 歩行可能モードの場合はtrue、 歩行禁止モードの場合はfalseが返る。
戻り値:
0 正常終了
0以外 処理失敗
バージョン:
Sapie3.4以降
参照:
setWalkingMode(bool walkingMode);

long spc::SPCBase::setWalkingMode ( bool  walkingMode  ) 

歩行モード設定要求

歩行モードを設定する。 歩行禁止モードを解除することができるため、本関数を使用したアプリケーションを作成する場合は注意すること。

引数:
[in] walkingMode 設定する歩行モード。 歩行可能モードの場合はtrue、 歩行禁止モードの場合はfalseを設定する。
戻り値:
0 正常終了
0以外 処理失敗
バージョン:
Sapie3.4以降
参照:
getWalkingMode(bool &walkingMode);
 // 歩行可能モードにするサンプル
 bool walkingMode;

 // 現在の歩行モードを取得
 getWalkingMode(walkingMode);
 if(walkingMode == false){
   // 現在歩行禁止モードなら、歩行可能モードにする
   setWalkingMode(true);
 }

long spc::SPCBase::walk ( spc::SPC_WALK_TYPE  type,
long  walkparam,
float  angle 
)

歩行要求

指定された歩数または距離を歩行する。
周りの障害物等の状況により、途中で歩行を停止する場合がある。
なお、歩行禁止モードである場合、ACアダプターが接続されている場合は、歩行を行わない。

引数:
[in] type 歩行タイプ
[in] walkparam 歩行パラメータ。
歩行タイプに SPC_WALK_TYPE_STEPS を指定した場合は歩数、
SPC_WALK_TYPE_DISTANCE を指定した場合は歩行する距離(mm)を指定する
[in] angle 歩行中に旋回する角度。-180.0 < angle < 180.0 で指定。正の角度を指定した場合、PALROから見て左方向に旋回する。
戻り値:
0 正常終了
0以外 処理失敗
参照:
getWalkingMode(bool &walkingMode);

setWalkingMode(bool walkingMode);

 // 正面に5歩歩く
 walk(spc::SPC_WALK_TYPE_STEPS, 5, 0.0);

long spc::SPCBase::walk ( spc::SPC_WALK_TYPE  type,
long  walkparam,
float  angle,
bool  sitdown 
)

歩行要求(歩行後の動作設定可能)

指定された歩数または距離を歩行する。
周りの障害物等の状況により、途中で歩行を停止する場合がある。
なお、歩行禁止モードである場合、ACアダプターが接続されている場合は、歩行を行わない。

引数:
[in] type 歩行タイプ
[in] walkparam 歩行パラメータ。
歩行タイプに SPC_WALK_TYPE_STEPS を指定した場合は歩数、
SPC_WALK_TYPE_DISTANCE を指定した場合は歩行する距離(mm)を指定する。
[in] angle 歩行中に旋回する角度。-180.0 < angle < 180.0 で指定。正の角度を指定した場合、PALROから見て左方向に旋回する。
[in] sitdown 歩行後に座るかどうかを指定。trueで歩行後に座る。falseの場合は座らない。
戻り値:
0 正常終了
0以外 処理失敗
参照:
getWalkingMode(bool &walkingMode);

setWalkingMode(bool walkingMode);

 // 正面に5歩歩く。歩行した後も座らない
 walk(spc::SPC_WALK_TYPE_STEPS, 5, 0.0, false);

long spc::SPCBase::turn ( long  direction  ) 

方向転換要求

指定された角度に方向転換を行う。
周りの障害物等の状況により、途中で方向転換を停止する場合がある。
なお、歩行禁止モードである場合、ACアダプターが接続されている場合は、方向転換を行わない。

引数:
[in] direction 方向転換する角度。-90 <= direction <= 90 で指定。正の角度を指定した場合、PALROから見て左方向に方向転換する。
戻り値:
0 正常終了
0以外 処理失敗
バージョン:
Sapie3.4以降
 // PALROからみて左30度の方向に向きを変える
 turn(30);

long spc::SPCBase::stepping ( long  stepTime  ) 

足踏み要求

指定された時間、その場で足踏みを行う。
周りの障害物等の状況により、途中で足踏みを停止する場合がある。
なお、歩行禁止モードである場合、ACアダプターが接続されている場合は、足踏みを行わない。

引数:
[in] stepTime 足踏み時間。単位は秒。
戻り値:
0 正常終了
0以外 処理失敗
バージョン:
Sapie3.4以降
 // その場で5秒足踏みをする
 stepping(5);

long spc::SPCBase::standUp (  ) 

立ち上がる

戻り値:
0 正常終了
0以外 処理失敗
バージョン:
Sapie3.2以降

long spc::SPCBase::sitDown (  ) 

座る

戻り値:
0 正常終了
0以外 処理失敗
バージョン:
Sapie3.2以降

long spc::SPCBase::makeMotion ( std::string  filePath  ) 

モーション実行要求

指定したモーションファイルに記述された動作を行う。
モーションファイルは「PALROワークショップ」を使用して「PALROアプリケーションスタジオ」を起動し「モーションエディター」で作成する。

引数:
[in] filePath モーションファイル名(フルパス)
戻り値:
0 正常終了
0以外 処理失敗
 // sample.actというモーションファイルを実行する
 // (モーションファイルは、アプリケーションと一緒にインストールしたものとする)
 std::string dirPath;

 // アプリケーションコンフィグが保存されているディレクトリを取得する
 getDataDirPath(dirPath);

 // モーションを実行する
 makeMotion(dirPath + "/sample.act");

long spc::SPCBase::makeMotion ( std::string  filePath,
bool  useLowerServo,
bool  finMotion,
spc::SPC_SYNCMOTION_TYPE  syncMotionType,
std::string  syncMotionParam 
)

モーション実行要求(別動作との同時実行)

モーションと同時に指定した動作を行う。
また、モーション実行後の動作の指定や、モーションのみ実行することも可能。

引数:
[in] filePath モーションファイル名(フルパス)
[in] useLowerServo 下半身制御フラグ。上半身のみ使用するモーションの場合はfalse。立ち上がるモーションなど、PALROの下半身を使用する場合はtrue。
[in] finMotion モーション実行後に姿勢を戻すかどうか。戻す場合はtrue。
[in] syncMotionType モーションと同時に実行する動作を指定する。モーションのみ実行する場合は SPC_SYNCMOTION_NON を指定する。
[in] syncMotionParam モーションと同時に実行する動作のパラメータ。
syncMotionTypeにSPC_SYNCMOTION_SPEAK を指定した場合は発話する文字列、
SPC_SYNCMOTION_SOUND を指定した場合は再生する音声ファイルパス(フルパス)、
SPC_SYNCMOTION_LED を指定した場合はPALROモーションファイルのパス(フルパス)を指定する。
SPC_SYNCMOTION_NON を指定した場合は無視される。
戻り値:
0 正常終了
0以外 処理失敗
バージョン:
Sapie3.2以降
 // モーションと発話を同時に実行する
 // (モーションファイルは、アプリケーションと一緒にインストールしたものとする)
 std::string dirPath;

 // アプリケーションコンフィグが保存されているディレクトリを取得する
 getDataDirPath(dirPath);

 // モーションと発話を同時に実行する
 makeMotion(dirPath + "/sample.act",             // モーションファイル名を指定する
            false,                               // 下半身を使用しない
            false,                               // 元に戻さない
            SPC_SYNCMOTION_SPEAK,                // モーションと同時に実行する動作。今回は発話を指定する
            "モーションと発話を同時に実行します" // 発話内容
            );

long spc::SPCBase::makeMotion ( std::string  filePath,
bool  useLowerServo,
bool  finMotion,
std::vector< spc::SPC_SYNCMOTION_TYPE syncMotionType,
std::vector< std::string >  syncMotionParam 
)

モーション実行要求(別動作との同時実行:複数動作対応)

モーションと同時に指定した動作を行う。同時に実行する動作に複数の指定が可能。 なお、同時動作の指定とパラメータの対応は指定順とする。

引数:
[in] filePath モーションファイル名(フルパス)
[in] useLowerServo 下半身制御フラグ。上半身のみ使用するモーションの場合はfalse。立ち上がるモーションなど、PALROの下半身を使用する場合はtrue。
[in] finMotion モーション実行後に姿勢を戻すかどうか。戻す場合はtrue。
[in] syncMotionType モーションと同時に実行する動作を指定する。モーションのみ実行する場合は SPC_SYNCMOTION_NON を指定する。
[in] syncMotionParam モーションと同時に実行する動作のパラメータ。
syncMotionTypeにSPC_SYNCMOTION_SPEAK を指定した場合は発話する文字列、
SPC_SYNCMOTION_SOUND を指定した場合は再生する音声ファイルパス(フルパス)、
SPC_SYNCMOTION_LED を指定した場合はPALROモーションファイルのパス(フルパス)を指定する。
SPC_SYNCMOTION_NON を指定した場合は無視される。
戻り値:
0 正常終了
0以外 処理失敗
バージョン:
Sapie3.2以降
 // モーションと発話とLEDの表示を同時に実行する
 // (モーションファイル, LEDファイルは、アプリケーションと一緒にインストールしたものとする)
 std::string dirPath;
 std::vector<spc::SPC_SYNCMOTION_TYPE> syncMotionType;
 std::vector<std::string> syncMotionParam;

 // アプリケーションコンフィグが保存されているディレクトリを取得する
 getDataDirPath(dirPath);

 // モーション実行のパラメータを設定する
 syncMotionType.push_back(SPC_SYNCMOTION_SPEAK); // 発話
 syncMotionType.push_back(SPC_SYNCMOTION_LED);   // LED表示
 syncMotionParam.push_back("モーションと発話とLED表示を同時に実行します"); // 発話のパラメータ(発話内容)
 syncMotionParam.push_back(dirPath + "/sample.led");                       // LED表示のパラメータ(LEDファイル名)

 // モーションと発話を同時に実行する
 makeMotion(dirPath + "/sample.act",  // モーションファイル名
            false,                    // 下半身を使用しない
            false,                    // モーション実行後、姿勢を元に戻さない
            syncMotionType,           // モーションと同時に実行する動作
            syncMotionParam           // 動作のパラメータ
            );

long spc::SPCBase::makeMotion ( std::string  filePath,
bool  useLowerServo,
bool  finMotion,
std::vector< spc::SPC_SYNCMOTION_TYPE syncMotionType,
std::vector< std::string >  syncMotionParam,
bool  loopMotion 
)

モーション実行要求(別動作との同時実行:複数動作対応、モーション再実行対応)

モーションと同時に指定した動作を行う。同時に実行する動作に複数の指定が可能。 モーションと同時実行する発話・音声再生が終了した時点でモーションを中断する。 発話・音声再生が1回のモーション実行より長い場合、再度モーションを実行する。 なお、同時動作の指定とパラメータの対応は指定順とする。

引数:
[in] filePath モーションファイル名(フルパス)
[in] useLowerServo 下半身制御フラグ。上半身のみ使用するモーションの場合はfalse。立ち上がるモーションなど、PALROの下半身を使用する場合はtrue。
[in] finMotion モーション実行後に姿勢を戻すかどうか。戻す場合はtrue。
[in] syncMotionType モーションと同時に実行する動作を指定する。モーションのみ実行する場合は SPC_SYNCMOTION_NON を指定する。
[in] syncMotionParam モーションと同時に実行する動作のパラメータ。
syncMotionTypeにSPC_SYNCMOTION_SPEAK を指定した場合は発話する文字列、
SPC_SYNCMOTION_SOUND を指定した場合は再生する音声ファイルパス(フルパス)、
SPC_SYNCMOTION_LED を指定した場合はPALROモーションファイルのパス(フルパス)を指定する。
SPC_SYNCMOTION_NON を指定した場合は無視される。
[in] loopMotion trueに設定した場合は、モーションよりも発話または音声再生が長い場合、再度モーションを実行し、終了時点でモーションも終了する。
syncMotionTypeにSPC_SYNCMOTION_SPEAKまたはSPC_SYNCMOTION_SOUNDの設定が無い場合はこの設定は使用されない。
戻り値:
0 正常終了
0以外 処理失敗
バージョン:
Sapie3.4以降
 // モーションと発話とLEDの表示を同時に実行する
 // (モーションファイル, LEDファイルは、アプリケーションと一緒にインストールしたものとする)
 std::string dirPath;
 std::vector<spc::SPC_SYNCMOTION_TYPE> syncMotionType;
 std::vector<std::string> syncMotionParam;

 // アプリケーションコンフィグが保存されているディレクトリを取得する
 getDataDirPath(dirPath);

 // モーション実行のパラメータを設定する
 syncMotionType.push_back(SPC_SYNCMOTION_SPEAK); // 発話
 syncMotionType.push_back(SPC_SYNCMOTION_LED);   // LED表示
 syncMotionParam.push_back("モーションと発話とLED表示を同時に実行します"); // 発話のパラメータ(発話内容)
 syncMotionParam.push_back(dirPath + "/sample.led");                       // LED表示のパラメータ(LEDファイル名)

 // モーションと発話を同時に実行する
 makeMotion(dirPath + "/sample.act",  // モーションファイル名
            false,                    // 下半身を使用しない
            false,                    // モーション実行後、姿勢を元に戻さない
            syncMotionType,           // モーションと同時に実行する動作
            syncMotionParam,          // 動作のパラメータ
            true                      // 発話よりモーションが先に終了した場合、再度モーションを実行する
            );

long spc::SPCBase::makeDanceMotion ( std::string  filePath,
bool  useLowerServo,
bool  finMotion,
std::vector< spc::SPC_SYNCMOTION_TYPE syncMotionType,
std::vector< std::string >  syncMotionParam 
)

ダンス用モーション実行要求(別動作との同時実行:複数動作対応)

モーションと同時に指定した動作を行う。同時に実行する動作に複数の指定が可能。 同時動作の指定とパラメータの対応は指定順とする。 なお、サーボの動作でエラーが発生した場合、本関数もエラーで終了する。

引数:
[in] filePath モーションファイル名(フルパス)
[in] useLowerServo 下半身制御フラグ。上半身のみ使用するモーションの場合はfalse。立ち上がるモーションなど、PALROの下半身を使用する場合はtrue。
[in] finMotion モーション実行後に姿勢を戻すかどうか。戻す場合はtrue。
[in] syncMotionType モーションと同時に実行する動作を指定する。モーションのみ実行する場合は SPC_SYNCMOTION_NON を指定する。
[in] syncMotionParam モーションと同時に実行する動作のパラメータ。
syncMotionTypeにSPC_SYNCMOTION_SPEAK を指定した場合は発話する文字列、
SPC_SYNCMOTION_SOUND を指定した場合は再生する音声ファイルパス(フルパス)、
SPC_SYNCMOTION_LED を指定した場合はPALROモーションファイルのパス(フルパス)を指定する。
SPC_SYNCMOTION_NON を指定した場合は無視される。
戻り値:
0 正常終了
0以外 処理失敗
バージョン:
Sapie3.4以降
 // モーションと音声ファイルの再生とLEDの表示を同時に実行する
 // (モーションファイル, LEDファイルは、アプリケーションと一緒にインストールしたものとする)
 // (本関数は、ダンス用のため、サーボ動作でエラーが起きた場合は動作を停止する)
 std::string dirPath;
 std::vector<spc::SPC_SYNCMOTION_TYPE> syncMotionType;
 std::vector<std::string> syncMotionParam;

 // アプリケーションコンフィグが保存されているディレクトリを取得する
 getDataDirPath(dirPath);

 // モーション実行のパラメータを設定する
 syncMotionType.push_back(SPC_SYNCMOTION_SOUND); // 音声再生
 syncMotionType.push_back(SPC_SYNCMOTION_LED);   // LED表示
 syncMotionParam.push_back(dirPath + "/sample.wav"); // 音声再生のパラメータ(音声ファイル名)
 syncMotionParam.push_back(dirPath + "/sample.led"); // LED表示のパラメータ(LEDファイル名)

 // モーションと発話を同時に実行する
 makeDanceMotion(dirPath + "/sample.act",  // モーションファイル名を指定する
                 false,                    // 下半身を使用しない
                 false,                    // 元に戻さない
                 syncMotionType,           // モーションと同時に実行する動作
                 syncMotionParam           // 動作のパラメータ
                 );

long spc::SPCBase::getServoInfo ( std::vector< spc::SPC_SERVO_INFO > &  servoInfos  ) 

サーボ情報の取得

サーボ情報を取得する。サーボ位置とサーボIDの対応は、
PALRO Gardenの 【 デベロッパー 】 - 【 ドキュメント 】 の " PALRO Motion Editor ガイド " を参照のこと。

引数:
[out] servoInfos サーボ情報
戻り値:
0 正常終了
0以外 処理失敗
バージョン:
Sapie3.4以降

long spc::SPCBase::getInvalidModeStatus ( spc::SPC_SERVO_INVALID_MODE_STATUS status  ) 

サーボ無効化状態の取得

熱上昇等の理由により、システム側で停止しているサーボがあるかどうかを取得する。

引数:
[out] status サーボ無効化情報
戻り値:
0 正常終了
0以外 処理失敗
バージョン:
Sapie3.4以降

long spc::SPCBase::isServoConnection ( bool &  connection  ) 

サーボ通信可能状態の取得

全身のサーボと正常に通信できているかを取得する。

引数:
[out] connection 現在のサーボ通信可能状態。 全身のサーボ通信が正常の場合は true。 サーボ通信の異常がある場合は false。
戻り値:
0 正常終了
0以外 処理失敗
バージョン:
Sapie3.4以降

long spc::SPCBase::loadConfig ( std::string  sectName,
std::string  confName,
std::string &  value 
)

アプリケーションコンフィグファイル読み込み要求

呼び出し元アプリケーションのアプリケーションコンフィグファイルから値の読み込みを行う。
アプリケーションコンフィグファイルの内容に関しては、PALRO Gardenの 【 デベロッパー 】 - 【 ドキュメント 】 の " アプリケーション開発ガイド " を参照のこと。

引数:
[in] sectName セクション名(大分類名)
[in] confName 設定項目名(小分類名)
[out] value 設定値
戻り値:
0 正常終了
0以外 処理失敗
 // アプリケーションコンフィグファイルから設定値を読み出すサンプル
 std::string value;

 // セクション名 common, 設定項目名 count に記載された値を取得する
 loadConfig("common", "count", value);

 // 取得した値をログに出力する
 setLogLevel(SPC_LOG_LEVEL_DEBUG);
 SPC_LOG_DEBUG("取得した値: %s", value.c_str());

long spc::SPCBase::loadConfig ( std::string  appName,
std::string  sectName,
std::string  confName,
std::string &  value 
)

アプリケーションコンフィグファイル読み込み要求(アプリケーション名指定)

アプリケーションコンフィグファイルから設定値の読み込みを行う。他アプリケーションの設定値を取得する場合に使用する。
アプリケーションコンフィグファイルの内容に関しては、PALRO Gardenの 【 デベロッパー 】 - 【 ドキュメント 】 の " アプリケーション開発ガイド " を参照のこと。

引数:
[in] appName アプリケーション名
[in] sectName セクション名(大分類名)
[in] confName 設定項目名(小分類名)
[out] value 設定値
戻り値:
0 正常終了
0以外 処理失敗
 // アプリケーションコンフィグファイルから設定値を読み出すサンプル
 std::string value;

 // SampleComponentという名前のアプリケーションのコンフィグファイルから情報を読み出す
 // セクション名 common, 設定項目名 count に記載された値を取得する
 loadConfig("SampleComponent", "common", "count", value);

 // 取得した値をログに出力する
 setLogLevel(SPC_LOG_LEVEL_DEBUG);
 SPC_LOG_DEBUG("取得した値: %s", value.c_str());

long spc::SPCBase::startDetectMovingObject ( float  speed = 1.0  ) 

動体検知開始要求

指定した速度以上の動体を検知する。動体を検知した場合、onCatchMovingObject関数がコールされる。

引数:
[in] speed 動体の速度。速度がこの値よりも大きい動体を検知する。 なお、設定する値の目安として、SPC_MOVINGOBJECT_SPEED_FAST、SPC_MOVINGOBJECT_SPEED_MID、SPC_MOVINGOBJECT_SPEED_SLOW を定義している。 全ての動体を検知したい場合は、SPC_MOVINGOBJECT_SPEED_ALL を設定する。
戻り値:
0 正常終了
0以外 処理失敗
参照:
onMovingObjectCatch(float speed, spc::SPC_MOVING_OBJECT_DIRECTION direction)

stopDetectMovingObject()

long spc::SPCBase::stopDetectMovingObject (  ) 

動体検知終了要求

動体の検知を終了する

戻り値:
0 正常終了
0以外 処理失敗

long spc::SPCBase::startLED ( std::string  filePath  ) 

LED点灯要求

指定されたLEDデータファイルに基づき、顔のLEDを点灯する。
LEDデータファイルは「PALROワークショップ」を使用して「PALROアプリケーションスタジオ」を起動し「LED表示のテスト」で作成する。
終了する場合は、stopLED関数をコールする。

引数:
[in] filePath LEDデータファイル名(フルパス)
戻り値:
0 正常終了
0以外 処理失敗
参照:
stopLED()
 // sample.ledというファイルで指定されたLEDを点灯する
 // (LEDデータファイルは、アプリケーションと一緒にインストールしたものとする)
 std::string dirPath;

 // アプリケーションコンフィグが保存されているディレクトリを取得する
 getDataDirPath(dirPath);

 // LEDを点灯する
 startLED(dirPath + "/sample.led");

long spc::SPCBase::startLED ( std::string  filePathMicOn,
std::string  filePathMicOff 
)

LED点灯要求(音声認識可能時、音声認識不可能時の自動切り替え)

音声認識の状態に応じた顔のLEDを点灯する。これにより、ユーザー側へ明示的に音声入力待ちであることを示すことができる。
LEDデータファイルは「PALROワークショップ」を使用して「PALROアプリケーションスタジオ」を起動し「LED表示のテスト」で作成する。
終了する場合は、stopLED関数をコールする。

引数:
[in] filePathMicOn 音声認識可能時に表示するLEDデータファイル名(フルパス)
[in] filePathMicOff 音声認識不可能時に表示するLEDデータファイル名(フルパス)
戻り値:
0 正常終了
0以外 処理失敗
バージョン:
Sapie3.2以降
参照:
stopLED()
 // 質問中など音声認識可能な時は、sample1.led,
 // 音声認識ができないときは sample2.ledで指定されたLEDを点灯する。
 // (LEDデータファイルは、アプリケーションと一緒にインストールしたものとする)
 std::string dirPath;

 // アプリケーションコンフィグが保存されているディレクトリを取得する
 getDataDirPath(dirPath);

 // LEDを点灯する
 // この時点でsample2.ledで指定したLEDが点灯する
 startLED(dirPath + "/sample1.led", dirPath + "/sample2.led");

 // 質問をする。
 // 質問文の発話後、音声認識が可能になったタイミングで
 // sample1.ledで指定したLEDが点灯する
 SPC_ANSWER answer;
 waitForAnswer("質問しても、いいですか?", answer);

long spc::SPCBase::startLED ( std::vector< std::string >  vLEDPath,
long  interval 
)

LEDの連続表示

指定されたLEDを一定間隔で切り替えて表示する。 終了する場合は、stopLED関数をコールする。

引数:
[in] vLEDPath 表示するLEDファイルのパス(フルパス)。
[in] interval LEDの表示間隔。単位はミリ秒。
戻り値:
0 正常終了
0以外 処理失敗
バージョン:
Sapie3.4以降
参照:
stopLED()
 // LEDの連続表示
 // (LEDデータファイルは、アプリケーションと一緒にインストールしたものとする)
 std::vector<std::string> vLEDPath;
 std::string dirPath;

 // アプリケーションコンフィグが保存されているディレクトリを取得する
 getDataDirPath(dirPath);

 // 表示するLEDデータファイルのパスを、表示順に格納する
 vLEDPath.push_back(dirPath + "/sample1.led");
 vLEDPath.push_back(dirPath + "/sample2.led");
 vLEDPath.push_back(dirPath + "/sample3.led");
 vLEDPath.push_back(dirPath + "/sample4.led");
 vLEDPath.push_back(dirPath + "/sample5.led");

 // sample1.led ~ sample5.ledで指定されたLEDを
 // 500ミリ秒間隔で表示する
 startLED(vLEDPath, 500);

 // 5秒スリープ
 sleep(5);

 // StartLEDで指定したLED表示を終了
 stopLED();

long spc::SPCBase::stopLED (  ) 

LED消灯要求

startLED関数で点灯したLEDを終了する。

戻り値:
0 正常終了
0以外 処理失敗

long spc::SPCBase::enableNetwork (  ) 

ネットワーク有効化要求

無線LANへの接続を開始する。

戻り値:
0 正常終了
0以外 処理失敗

long spc::SPCBase::disableNetwork (  ) 

ネットワーク有効化完了要求

アプリケーションから無線LAN接続の終了を宣言する。 他アプリケーションで無線LANが使用されている等の場合は、PALROが必ずしもネットワークから切断されるわけではない。

戻り値:
0 正常終了
0以外 処理失敗

long spc::SPCBase::playSound ( std::string  filePath  ) 

サウンドファイル再生要求

指定された音声ファイルを再生する。再生可能な形式は以下の通り。

  • WAVファイル
  • MP3ファイル
引数:
[in] filePath 音声ファイル(フルパス)
戻り値:
0 正常終了
0以外 処理失敗
バージョン:
Sapie3.2以降
 // sample.wavを実行する
 // (このファイルは、アプリケーションと一緒にインストールしたものとする)
 std::string dirPath;

 // アプリケーションコンフィグが保存されているディレクトリを取得する
 getDataDirPath(dirPath);

 // 音声を再生する
 playSound(dirPath + "/sample.wav");

static long spc::SPCBase::setLogLevel ( spc::SPC_LOG_LEVEL  logLevel  )  [static]

ログレベル設定要求

アプリケーションのログレベルを設定する。 設定したログレベル以上のログが、アプリケーションログに出力される。

引数:
[in] logLevel ログレベル
戻り値:
0 正常終了
0以外 処理失敗
バージョン:
Sapie3.2以降
参照:
outputLog(spc::SPC_LOG_LEVEL logLevel, std::string filename, std::string fncname, long line, const char* format, ...)

static long spc::SPCBase::outputLog ( spc::SPC_LOG_LEVEL  logLevel,
std::string  filename,
std::string  fncname,
long  line,
const char *  format,
  ... 
) [static]

ログ出力要求

アプリケーションログへの出力を行う。 アプリケーションログの確認および取得は「PALROアプリケーションスタジオ」の「アプリケーションログ」で行う。 なお、本関数をより簡易に使用するためのマクロが定義されているので、そちらの利用を推奨する。

引数:
[in] logLevel ログレベル。この設定値がsetLogLevelで設定された値以上である場合、実際にログの書き込みが行われる。
[in] filename ログ出力元のファイル名
[in] fncname ログ出力元の関数名
[in] line ログ出力位置のファイル行数
[in] format 書き込み文字列の書式。printf関数と同様に指定する。
戻り値:
0 正常終了
0以外 処理失敗
バージョン:
Sapie3.2以降
参照:
setLogLevel(spc::SPC_LOG_LEVEL logLevel)
 // マクロを使用したログ出力サンプル

 // ログレベルを設定する
 setLogLevel(spc::SPC_LOG_LEVEL_INFO);

 SPC_LOG_ERROR("ERRORレベルのログです");  // このログは出力される
 SPC_LOG_INFO("INFOレベルのログです");    // このログは出力される
 SPC_LOG_DEBUG("DEBUGレベルのログです");  // このログは出力されない

 // ログレベルを変更する
 setLogLevel(spc::SPC_LOG_LEVEL_ERROR);

 SPC_LOG_ERROR("ERRORレベルのログです");  // このログは出力される
 SPC_LOG_INFO("INFOレベルのログです");    // このログは出力されない
 SPC_LOG_DEBUG("DEBUGレベルのログです");  // このログは出力されない

long spc::SPCBase::setActionPSDFluctuation ( spc::SPC_ACTION_PSD_FLUCTUATION_TYPE  action  ) 

PSD変動検知時の動作設定

PSDの変動を検知した際、その通知を行う(onPSDFluctuationCatchをコールする)か、また実行中の動作をキャンセルするかの設定を行う。

引数:
[in] action 設定値。SPC_NOT_NOTYFY_PSD_FLUCTUATION を設定した場合は、onPSDFluctuationCatchがコールされなくなる。
SPC_ONLY_NOTYFY_PSD_FLUCTUATION を設定した場合は、onPSDFluctuationCatchがコールされるようになる。
SPC_NOTYFY_AND_CANCEL_PSD_FLUCTUATION を設定した場合は、PSD検知時の実行中の動作をキャンセルし、onPSDFluctuationCatchをコールする。
SPC_EXIT_COMPONENT_PSD_FLUCTUATION を設定した場合は、PSD検知時にアプリケーションを終了させる(デフォルト設定)。
戻り値:
0 正常終了
0以外 処理失敗
バージョン:
Sapie3.2以降
参照:
onPSDFluctuationCatch()
 // PSDの変動を検知した際にアプリケーションを終了させる
 // (PALROの左耳と口元を覆うと、アプリケーションは終了する)
 setActionPSDFluctuation(SPC_EXIT_COMPONENT_PSD_FLUCTUATION);

long spc::SPCBase::controlArms ( spc::SPC_ARM_TYPE  Arms,
bool  move 
)

腕の動作指定要求

腕のトルクを制御することで、PALROの腕の動作を制御する。 腕のトルクをONにすると腕が動作し、OFFにすると発話やモーション実行時に腕の動作を行わなくなる。 この設定は、本関数で再度設定を行うまで有効である。

引数:
[in] Arms 腕の指定
[in] move 腕のサーボののトルク設定。trueでトルクをON、falseでトルクをOFFにする。
戻り値:
0 正常終了
0以外 処理失敗
バージョン:
Sapie3.2以降
 // 左腕の動作を停止する
 controlArms(SPC_ARM_LEFT, false);

 // 発話する(右腕だけ動作する)
 speak("こんにちは、パルロです");

 // 左腕の動作を再開する
 controlArms(SPC_ARM_LEFT, true);

long spc::SPCBase::startWaitShakeHand (  ) 

握手検知の開始要求

握手(腕を握られたかどうか)の検知を開始する。 本関数を使用する場合、あらかじめcontrolArms関数を使用し腕の動作を停止させる必要がある。 また、握手が検知された場合、onHandShakeCatch関数がコールされる。

戻り値:
0 正常終了
0以外 処理失敗
バージョン:
Sapie3.2以降
参照:
controlArms(spc::SPC_ARM_TYPE Arms, bool move)

onHandShakeCatch(spc::SPC_ARM_TYPE hand)

stopWaitShakeHand()

long spc::SPCBase::stopWaitShakeHand (  ) 

握手検知の終了要求

握手(腕を握られたかどうか)の検知を終了する。

戻り値:
0 正常終了
0以外 処理失敗
バージョン:
Sapie3.2以降

long spc::SPCBase::expressFeeling ( spc::SPC_FEELING_TYPE  feelingType  ) 

感情動作要求

PALROの感情を表すための動作を行う

引数:
[in] feelingType 感情の種別
戻り値:
0 正常終了
0以外 処理失敗
バージョン:
Sapie3.2以降
 // 喜びの感情を表現する
 expressFeeling(SPC_FEELING_JOY);

long spc::SPCBase::startTimer ( unsigned long  interval,
unsigned long  count,
long &  timerId 
)

タイマー開始要求

タイマーを開始する。 本関数実行後に指定時間が経過した場合、onTimer関数がコールされる。 タイマーを停止する場合は、stopTimer関数を使用する。 また、タイマーは複数設定可能である。

引数:
[in] interval タイマーイベントを発生させる間隔。単位はミリ秒。
[in] count タイマーイベントを発生させる回数。0を指定すると無限回。
[out] timerId タイマーID。stopTimer関数でタイマを停止する際に使用する。
戻り値:
0 正常終了
0以外 処理失敗
バージョン:
Sapie3.4以降
参照:
onTimer(long timerId)

stopTimer(long timerId)

long spc::SPCBase::stopTimer ( long  timerId  ) 

タイマー停止要求

実行中のタイマーを停止する。

引数:
[in] timerId startTimer関数で取得したタイマーID。0を指定した場合には、全てのタイマーを停止する。
戻り値:
0 正常終了
0以外 処理失敗
バージョン:
Sapie3.4以降

long spc::SPCBase::startNeckControl (  ) 

首制御開始要求

アプリケーション側で首動作の制御を開始する。 首動作の制御を終了する際には、stopNeckControl関数を実行すること。

戻り値:
0 正常終了
0以外 処理失敗
バージョン:
Sapie3.4以降
参照:
stopNeckControl()

moveNeck(spc::SPC_MOVE_NECK_PARAM param)

long spc::SPCBase::stopNeckControl (  ) 

首制御終了要求

アプリケーション側での首動作の制御を終了する。 本関数の実行後、首が自動的に動くようになる。

戻り値:
0 正常終了
0以外 処理失敗
バージョン:
Sapie3.4以降
参照:
moveNeck(spc::SPC_MOVE_NECK_PARAM param)

long spc::SPCBase::moveNeck ( spc::SPC_MOVE_NECK_PARAM  param  ) 

首動作要求

角度と時間を指定し、首を動かす。
設定可能な角度は、PALRO Gardenの 【 デベロッパー 】 - 【 ドキュメント 】 の " PALRO Motion Editor ガイド " を参照のこと。
なお、startNeckControl関数を実行していない場合、本関数の終了後、首は自動的に動きだすので注意すること。

引数:
[in] param 首動作パラメータ
戻り値:
0 正常終了
0以外 処理失敗
バージョン:
Sapie3.4以降
 // 首を動かすサンプル
 SPC_MOVE_NECK_PARAM param;

 // アプリケーション側で首動作を行う
 startNeckControl();

 // 動作パラメータ。1秒かけて左を向く
 param.hAngle = 60.0;
 param.vAngle = -30.0;
 param.execTime = 1000;

 // 首動作実行
 moveNeck(param);

 // 5秒停止
 sleep(5);

 // アプリケーション側での首動作終了
 stopNeckControl();

long spc::SPCBase::lookFront ( long  execTime  ) 

正面を向く

実行時間を指定し、首を正面に向ける

引数:
[in] execTime 実行時間。単位はミリ秒。
戻り値:
0 正常終了
0以外 処理失敗
バージョン:
Sapie3.4以降
 // 1秒かけて正面を向く
 lookFront(1000);

long spc::SPCBase::moveArm ( spc::SPC_MOVE_ARM_PARAM  param  ) 

腕動作要求

角度と時間を指定し、腕を動かす。
設定可能な角度は、PALRO Gardenの 【 デベロッパー 】 - 【 ドキュメント 】 の " PALRO Motion Editor ガイド " を参照のこと。

引数:
[in] param 腕動作パラメータ
戻り値:
0 正常終了
0以外 処理失敗
バージョン:
Sapie3.4以降
 // 腕を動作させるサンプル
 SPC_MOVE_ARM_PARAM param;

 // 腕動作パラメータ。1秒かけて右腕を上げる
 param.leftShoulderPitch = 0;
 param.leftShoulderRoll = 0;
 param.leftElbow = 0;
 param.rightShoulderPitch = -180;
 param.rightShoulderRoll = 0;
 param.rightElbow = 0;
 param.execTime = 1000;

 // 腕動作実行
 moveArm(param);

long spc::SPCBase::getBatteryStatus ( spc::SPC_BATTERY_STATUS status  ) 

バッテリー状態の取得要求

引数:
[out] status バッテリーの状態
戻り値:
0 正常終了
0以外 処理失敗
バージョン:
Sapie3.4以降

long spc::SPCBase::getPoseStatus ( spc::SPC_POSE_STATUS_KIND pose  ) 

姿勢取得要求

現在の姿勢を取得する。

引数:
[out] pose 現在の姿勢
戻り値:
0 正常終了
0以外 処理失敗
バージョン:
Sapie3.4以降

long spc::SPCBase::setVolume ( long  volume  ) 

音量設定要求

音量を設定する

引数:
[in] volume 音量設定値。0(最小)~15(最大)で指定する。
戻り値:
0 正常終了
0以外 処理失敗
バージョン:
Sapie3.4以降
参照:
getVolume(long& volume)
 // 現在の音量から少し上げるサンプル
 long lRtn, volume;

 // 現在の音量を取得する
 lRtn = getVolume(volume);
 if(lRtn == 0){
   if(volume < 15){     // 最大音量ではない
     // 現在の音量より大きくする
     setVolume(volume + 1);
   }
 }

long spc::SPCBase::getVolume ( long &  volume  ) 

音量取得要求

現在の音量を取得する

引数:
[out] volume 音量設定値。0(最小)~15(最大)が返される。
戻り値:
0 正常終了
0以外 処理失敗
バージョン:
Sapie3.4以降
参照:
setVolume(long volume)

long spc::SPCBase::getDataDirPath ( std::string &  dirPath  ) 

アプリケーションプロパティ格納ディレクトリの取得

アプリケーションプロパティのインストール先ディレクトリ(データディレクトリ)を取得する。
このディレクトリには「PALROアプリケーションスタジオ」-「インストール」の「アプリケーションプロパティの保存フォルダー」で指定した場所にあるファイルが格納されている。
取得できるパスは /usr/palro/etc/apl/(アプリケーション名) である。

引数:
[out] dirPath ディレクトリパス
戻り値:
0 正常終了
0以外 処理失敗
バージョン:
Sapie3.4以降

long spc::SPCBase::getDiskUsage ( float &  diskInfo  ) 

ディスクの使用率取得

PALRO全体でのディスクの使用率を取得する

引数:
[out] diskInfo ディスクの使用率。単位はパーセント
戻り値:
0 正常終了
0以外 処理失敗
バージョン:
Sapie3.4以降

long spc::SPCBase::getDiskFreeSize ( float &  diskInfo  ) 

ディスク空き容量取得要求

PALROが使用しているディスクの空き容量を取得する。

引数:
[out] diskInfo ディスク空き容量。単位はMB(メガバイト)
戻り値:
0 正常終了
0以外 処理失敗
バージョン:
Sapie3.4以降

long spc::SPCBase::getAppDiskUsage ( float &  diskInfo  ) 

自アプリケーションのディスク使用量取得

呼び出し元アプリケーションのディスク使用量を取得する。

引数:
[out] diskInfo 自アプリケーションディスク使用量容量。単位はMB(メガバイト)
戻り値:
0 正常終了
0以外 処理失敗
バージョン:
Sapie3.4以降

long spc::SPCBase::getAppDiskUsage ( std::string  appName,
float &  diskInfo 
)

指定アプリケーションのディスク使用量取得

指定したアプリケーションのディスク使用量を取得する。

引数:
[in] appName アプリケーション名
[out] diskInfo 指定アプリケーションディスク使用量容量。単位はMB(メガバイト)
戻り値:
0 正常終了
0以外 処理失敗
バージョン:
Sapie3.4以降

long spc::SPCBase::exitComponent (  ) 

アプリケーション終了要求

アプリケーションを終了する。本関数の実行後、onFinalize関数がコールされ、アプリケーションは終了する。

戻り値:
0 正常終了
0以外 処理失敗

virtual void spc::SPCBase::onInitialize (  )  [virtual]

アプリケーション初期化イベント

アプリケーションの実行開始時にコールされる

virtual void spc::SPCBase::onFinalize (  )  [virtual]

アプリケーション終了イベント

アプリケーションの終了時にコールされる

virtual void spc::SPCBase::onFaceCatch ( std::string  name,
bool  owner 
) [virtual]

顔認識イベント

PALROが顔を認識した場合にコールされる

引数:
[in] name 認識した個人の登録名(全角カタカナ)。個人未確定の場合は空白文字列。
[in] owner 認識した個人がPALROのオーナーであるかどうか。オーナーの場合はtrue。

virtual void spc::SPCBase::onFaceDrop (  )  [virtual]

顔認識不可イベント

顔認識ができなくなった(PALROが顔を見失った)場合にコールされる

virtual void spc::SPCBase::onKnownPlace ( spc::SPC_PLACE  place  )  [virtual]

現在位置認識イベント

現在位置が知っている場所である場合にコールされる

引数:
[in] place 認識した場所

virtual void spc::SPCBase::onMovingObjectCatch ( float  speed,
spc::SPC_MOVING_OBJECT_DIRECTION  direction 
) [virtual]

動体検知イベント

動体を検知した場合に呼び出される

引数:
[in] speed 検知した動体の速度
[in] direction 検知した動体の方向

virtual void spc::SPCBase::onPSDFluctuationCatch (  )  [virtual]

PSD変動イベント

PSDセンサーの値に変動があった場合にコールされる

virtual void spc::SPCBase::onHandShakeCatch ( spc::SPC_ARM_TYPE  hand  )  [virtual]

握手検知イベント

握手(腕を握られた)ことを検知した場合にコールされる

引数:
[in] hand 握手を検知した腕の箇所

virtual void spc::SPCBase::onTimer ( long  timerId  )  [virtual]

タイマーイベント

startTimer関数で設定した時間が経過した場合にコールされる

引数:
[in] timerId startTimer関数で取得したタイマーID


このクラスの説明は次のファイルから生成されました:

SPCに対してMon Aug 5 21:29:12 2013に生成されました。  doxygen 1.5.5