#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 : アクチュエーターロック |