#include <MotionController.h>

Public メソッド | |
| CMotionController () | |
| コンストラクタ | |
| virtual | ~CMotionController () |
| デストラクタ | |
| long | Move (const MoveCommandList &liCmd) |
| 移動指示 | |
| long | Move (const MoveCommandList &liCmd, const TargetInfo &targetInfo) |
| 移動指示 | |
| long | Move (const ContinuousCommandList &liContCmd) |
| 移動指示 | |
| long | WalkDistance (long distance, float angle, long speed) |
| 距離指定歩行指示 | |
| long | Turn (float direction, long speed) |
| 方向転換指示 | |
| long | Stepping (long second) |
| 足踏み指示 | |
| long | InitMotion () |
| 基本姿勢(全サーボ角度=0)を取る。 | |
| long | FinMotion () |
| 終了姿勢(リラックスポジション)を取る。 | |
| long | FinMotion (long lOption) |
| 終了姿勢(リラックスポジション)を取る。引数で動作オプションを指定できます。 | |
| long | WalkSteps (long steps, float angle, long stride, long cycle, long firstStep) |
| 歩数指定歩行指示 | |
| long | MoveNeck (float hAngle, float vAngle, long execTime) |
| 指定角度(水平方向、垂直方向)に首を向ける | |
| long | MoveNeckFree (float hAngle, float vAngle, long execTime) |
| 指定角度(水平方向、垂直方向)に首を向ける | |
| long | MoveArm (float leftSholderPitch, float leftSholderRoll, float leftElbow, float rightSholderPitch, float rightSholderRoll, float rightElbow, long execTime) |
| 指定角度に腕サーボ(6個)を動かす | |
| long | StartMotion (ServoInfoList &servoInfoList, long startInterval, long execTime) |
| 指定角度に全サーボを動かす。 | |
| long | StartMotion (std::string sFilePath) |
| モーションを開始する | |
| long | StartMotion (std::string sFilePath, long lOption) |
| モーションを開始する | |
| long | StartMotion (long motionID) |
| モーションIDに紐付くモーションを実行する | |
| long | StartScenario (std::string name) |
| シナリオを開始する。 | |
| long | StartScenario (std::string name, long lOption) |
| シナリオを開始する。 | |
| long | StartScenario (long scenarioID) |
| シナリオIDに紐付くモーションを実行する | |
| long | LoadMotionFile (const std::string sFilePath, MotionFileInfo &info) |
| モーションファイルをロードする。 | |
| long | SaveMotionFile (const std::string sFilePath, const MotionFileInfo &info) |
| モーションファイルをセーブする | |
| long | CancelMotion () |
| 実行中の動作を中止する。 | |
| long | CancelMotionQuick () |
| 実行中の動作を即時中止する。 | |
| long | SetDetectObstacle (bool b) |
| 障害物検知オプションをセットする。 | |
| long | GetDetectObstacle (bool &b) |
| 障害物検知オプションを取得する | |
| long | SetDctObsDetail (long flg) |
| 障害物検知詳細オプションをセットする | |
| long | SetWalkDetail (long flg) |
| 歩行詳細オプションをセットする | |
| long | GetDctObsDetail (long &flg) |
| 障害物検知オプションを取得する | |
| long | GetWalkDetail (long &flg) |
| 歩行詳細オプションを取得する | |
| long | SetMovePermission (bool b) |
| 歩行許可モードを設定する | |
| long | GetMovePermission (bool &b) |
| 歩行許可モードを取得する | |
| long | Lock (const std::vector< long > liServo) |
| サーボをロックする | |
| long | Unlock () |
| サーボのロックを解除する | |
| long | GetIdleTime (std::vector< IdleInfo > &liIdle) |
| アイドル時間を取得する。 | |
| long | GetPoseStatus (long &pose) |
| 現在の姿勢を取得する | |
| long | GetInvalidMode (ServoInvalidConfList &liInvalid) |
| サーボ無効化状態取得 | |
| long | GetStepLimit (bool &b, long &step, long &maxStep) |
| 制限歩数状態取得 | |
| long | GetMovable (bool &b, long &result) |
| 移動状態取得 | |
| long Sapie::CMotionController::Move | ( | const MoveCommandList & | liCmd | ) |
移動指示
| [in] | liCmd | 移動コマンドリスト。このリストに格納された移動コマンドを順に実行する。現在は最大2要素までしか指定しないこと。 |
| long Sapie::CMotionController::Move | ( | const MoveCommandList & | liCmd, | |
| const TargetInfo & | targetInfo | |||
| ) |
移動指示
| [in] | liCmd | 移動コマンドリスト。このリストに格納された移動コマンドを順に実行する。現在は最大2要素までしか指定しないこと。 2要素を指定する場合、設定可能なパターンは、直進・直進、旋回・直進、直進・旋回の3パターンのみとする。 |
| [in] | targetInfo | 目標物情報指定。 |
| long Sapie::CMotionController::Move | ( | const ContinuousCommandList & | liContCmd | ) |
移動指示
| [in] | liContCmd | 連続実行移動コマンドリスト。指定された移動コマンドを連続的に実行する。コマンドの途中に初期姿勢に戻らない。 moveCommandListには、最大2要素までしか指定しないこと。 |
| long Sapie::CMotionController::WalkDistance | ( | long | distance, | |
| float | angle, | |||
| long | speed | |||
| ) |
距離指定歩行指示
| [in] | distance | 歩行距離を指定(単位:mm) |
| [in] | angle | 旋回角度。歩行開始から歩行終了までどれだけ旋回するかの角度を指定する。単位deg。 |
| [in] | speed | 歩行速度を指定(未使用) 現在は、必ず WALKSPD_NORMAL を指定すること。 |
| long Sapie::CMotionController::Turn | ( | float | direction, | |
| long | speed | |||
| ) |
方向転換指示
| [in] | direction | 方向を指定(-180~180) |
| [in] | speed | 方向転換速度を指定(未使用)。 現在は、必ず TURNSPD_NORMAL を指定すること。 |
| long Sapie::CMotionController::Stepping | ( | long | second | ) |
足踏み指示
| [in] | second | 秒数を指定(1~30) |
| long Sapie::CMotionController::InitMotion | ( | ) |
基本姿勢(全サーボ角度=0)を取る。
| long Sapie::CMotionController::FinMotion | ( | ) |
終了姿勢(リラックスポジション)を取る。
| long Sapie::CMotionController::FinMotion | ( | long | lOption | ) |
終了姿勢(リラックスポジション)を取る。引数で動作オプションを指定できます。
| [in] | lOption | 動作オプション(未使用)。 現在は、必ず FIN_OPTION_DETECT_PRESS_OFF を指定すること。 |
| long Sapie::CMotionController::WalkSteps | ( | long | steps, | |
| float | angle, | |||
| long | stride, | |||
| long | cycle, | |||
| long | firstStep | |||
| ) |
歩数指定歩行指示
| [in] | steps | 歩行歩数 |
| [in] | angle | 旋回角度。歩行開始から歩行終了までどれだけ旋回するかの角度を指定する。単位deg。 |
| [in] | stride | 歩幅を指定(未使用) |
| [in] | cycle | 歩行周期を指定(未使用) |
| [in] | firstStep | 初回遊脚(未使用)
|
| long Sapie::CMotionController::MoveNeck | ( | float | hAngle, | |
| float | vAngle, | |||
| long | execTime | |||
| ) |
指定角度(水平方向、垂直方向)に首を向ける
| [in] | hAngle | 水平方向の角度を指定。単位deg。 |
| [in] | vAngle | 垂直方向の角度を指定。単位deg。 |
| [in] | execTime | 動作にかける実行時間。単位ミリ秒。 |
| long Sapie::CMotionController::MoveNeckFree | ( | float | hAngle, | |
| float | vAngle, | |||
| long | execTime | |||
| ) |
指定角度(水平方向、垂直方向)に首を向ける
| [in] | hAngle | 水平方向の角度を指定。単位deg。 |
| [in] | vAngle | 垂直方向の角度を指定。単位deg。 |
| [in] | execTime | 動作にかける実行時間。単位ミリ秒。 |
| long Sapie::CMotionController::MoveArm | ( | float | leftSholderPitch, | |
| float | leftSholderRoll, | |||
| float | leftElbow, | |||
| float | rightSholderPitch, | |||
| float | rightSholderRoll, | |||
| float | rightElbow, | |||
| long | execTime | |||
| ) |
指定角度に腕サーボ(6個)を動かす
| [in] | leftSholderPitch | 左肩ピッチ角度。単位deg。 |
| [in] | leftSholderRoll | 左肩ロール角度。単位deg。 |
| [in] | leftElbow | 左肘角度。単位deg。 |
| [in] | rightSholderPitch | 右肩ピッチ角度。単位deg。 |
| [in] | rightSholderRoll | 右肩ロール角度。単位deg。 |
| [in] | rightElbow | 右肘角度。単位deg。 |
| [in] | execTime | 実行時間。単位ミリ秒。 |
| long Sapie::CMotionController::StartMotion | ( | ServoInfoList & | servoInfoList, | |
| long | startInterval, | |||
| long | execTime | |||
| ) |
指定角度に全サーボを動かす。
| [in] | servoInfoList | サーボの角度を格納した構造体のリスト |
| [in] | startInterval | 動作開始までのインターバル(ミリ秒) |
| [in] | execTime | 動作にかける実行時間(ミリ秒) |
| long Sapie::CMotionController::StartMotion | ( | std::string | sFilePath | ) |
モーションを開始する
| [in] | sFilePath | モーションファイルのフルパス。 |
| long Sapie::CMotionController::StartMotion | ( | std::string | sFilePath, | |
| long | lOption | |||
| ) |
モーションを開始する
| [in] | sFilePath | モーションファイルのフルパス。 |
| [in] | lOption | オプション。SUDDEN_MOVE_GUARD_OFFの指定が可能。 |
| long Sapie::CMotionController::StartMotion | ( | long | motionID | ) |
モーションIDに紐付くモーションを実行する
| [in] | motionID | 登録されているモーションID |
| long Sapie::CMotionController::StartScenario | ( | std::string | name | ) |
シナリオを開始する。
| [in] | name | シナリオファイルのフルパス。 |
| long Sapie::CMotionController::StartScenario | ( | std::string | name, | |
| long | lOption | |||
| ) |
シナリオを開始する。
| [in] | name | シナリオファイルのフルパス。 |
| [in] | lOption | オプション。SUDDEN_MOVE_GUARD_OFFの指定が可能。 |
| long Sapie::CMotionController::StartScenario | ( | long | scenarioID | ) |
シナリオIDに紐付くモーションを実行する
| [in] | scenarioID | 登録されているシナリオファイルのID |
| long Sapie::CMotionController::LoadMotionFile | ( | const std::string | sFilePath, | |
| MotionFileInfo & | info | |||
| ) |
モーションファイルをロードする。
| [in] | sFilePath | モーションファイルのフルパス |
| [out] | info | 読み込んだモーションファイルのデータ |
| long Sapie::CMotionController::SaveMotionFile | ( | const std::string | sFilePath, | |
| const MotionFileInfo & | info | |||
| ) |
モーションファイルをセーブする
| [in] | sFilePath | モーションファイルのフルパス |
| [in] | info | 保存するモーションのデータ。 |
| long Sapie::CMotionController::CancelMotion | ( | ) |
実行中の動作を中止する。
歩行や方向転換においては、安全な姿勢で停止する。停止するまでの 時間は動作による。例えば、歩行では本メソッドをコールしてから 最大3歩程度歩行する。
停止が完了した時点で、停止された動作に対する OnComplete イベントが 発生する。
| long Sapie::CMotionController::CancelMotionQuick | ( | ) |
実行中の動作を即時中止する。
歩行や方向転換は対象外。通常の中止に準じる。
停止が完了した時点で、停止された動作に対する OnComplete イベントが 発生する。
モーション実行は即時中断を
| long Sapie::CMotionController::SetDetectObstacle | ( | bool | b | ) |
障害物検知オプションをセットする。
| [in] | b | 障害物検知を行うかどうか。trueの場合、障害物検知を行う。 |
| long Sapie::CMotionController::GetDetectObstacle | ( | bool & | b | ) |
障害物検知オプションを取得する
| [out] | b | 障害物検知を行うかどうか。trueの場合、障害物検知を行う。 |
| long Sapie::CMotionController::SetDctObsDetail | ( | long | flg | ) |
障害物検知詳細オプションをセットする
| [in] | flg | 障害物検知詳細オプション。以下の値をビットフラグで指定する。
|
| long Sapie::CMotionController::SetWalkDetail | ( | long | flg | ) |
歩行詳細オプションをセットする
| [in] | flg | 歩行詳細オプション。以下の値をビットフラグで指定する。
|
| long Sapie::CMotionController::GetDctObsDetail | ( | long & | flg | ) |
障害物検知オプションを取得する
| [out] | flg | 障害物検知詳細オプション。
|
| long Sapie::CMotionController::GetWalkDetail | ( | long & | flg | ) |
歩行詳細オプションを取得する
| [out] | flg | 障害物検知詳細オプション。
|
| long Sapie::CMotionController::SetMovePermission | ( | bool | b | ) |
歩行許可モードを設定する
| [in] | b | 歩行許可モードを設定する。trueの場合は歩行が許可される。 |
| long Sapie::CMotionController::GetMovePermission | ( | bool & | b | ) |
歩行許可モードを取得する
| [in] | b | 歩行許可モードを設定する。trueの場合は歩行が許可される。 |
| long Sapie::CMotionController::Lock | ( | const std::vector< long > | liServo | ) |
サーボをロックする
| [in] | liServo | ロック対象のサーボIDリスト |
| long Sapie::CMotionController::Unlock | ( | ) |
サーボのロックを解除する
| long Sapie::CMotionController::GetIdleTime | ( | std::vector< IdleInfo > & | liIdle | ) |
アイドル時間を取得する。
| [out] | liIdle | アイドル情報リスト |
| long Sapie::CMotionController::GetPoseStatus | ( | long & | pose | ) |
現在の姿勢を取得する
| [out] | pose | 現在の姿勢
|
| long Sapie::CMotionController::GetInvalidMode | ( | ServoInvalidConfList & | liInvalid | ) |
サーボ無効化状態取得
無効化されているサーボの一覧を取得する。無効化されているサーボは、トルクONが禁止されている。
| [out] | liInvalid | サーボ無効化情報リスト |
| long Sapie::CMotionController::GetStepLimit | ( | bool & | b, | |
| long & | step, | |||
| long & | maxStep | |||
| ) |
制限歩数状態取得
一日の制限歩数を超えていないか歩数をチェックする。
| [out] | b | 状態(true:制限歩数以内 false:制限歩数以上) |
| [out] | step | 歩行許可歩数 |
| [out] | maxStep | 一日の歩行可能歩数 |
| long Sapie::CMotionController::GetMovable | ( | bool & | b, | |
| long & | result | |||
| ) |
移動状態取得
歩行許可モード、制限歩数、アクチュエーター無効化、アクチュエーターロック の状態から移動可能かを判断する。
| [out] | b | 状態(true:移動可能 false:移動不可能) |
| [out] | result | 0x00000000 : 正常 0x00000001 : 歩行許可モード 0x00000002 : 制限歩数 0x00000004 : アクチュエーター無効化 0x00000008 : アクチュエーターロック |
1.5.5