ロボット位置操作コマンド


Functions

virtual VXV::Position3D RunCtrl::getLocalPosition (void)
 モジュール内座標系における推定自己位置を返す
VXV::Position RunCtrl::getRunPosition (const CoordinateCtrl *crd=VXV::GL)
 推定自己位置を返す
void RunCtrl::adjustRunPosition (const VXV::Position &position, const CoordinateCtrl *crd=VXV::GL)
 推定自己位置の更新
void RunCtrl::coordinateUpdateDetect (bool on)
 座標系変更の影響を設定

Function Documentation

VXV::Position3D RunCtrl::getLocalPosition ( void   )  [virtual, inherited]

モジュール内座標系における推定自己位置を返す

ロボットの推定自己位置を返す。ここで返される値は、座標系の設定に依存しない

Returns:
ロボットの推定自己位置
crd_position.png

走行モジュールが管理しているロボット位置

Implements RunInterface.

Reimplemented in mRunCtrl.

Definition at line 10 of file runCoordinate.cpp.

References VXV::convertWithAngle(), TicksCtrlInterface::getModuleTicks(), RunCtrl::local_offset, runCtrl_t::msec, VXV::Direction::rad(), runCtrl_t::sec, and RunCtrl::tbl.

Referenced by RunCtrl::getRunPosition().

VXV::Position RunCtrl::getRunPosition ( const CoordinateCtrl *  crd = VXV::GL  )  [virtual, inherited]

推定自己位置を返す

指定座標系からみたロボット位置を返す

Parameters:
crd [i] 座標系
Returns:
指定座標系におけるロボットの推定自己位置
crd_position.png

指定座標系におけるロボット位置

仕様例

    #include <runCtrl.h>
    #include <typePrint.h>
    
    int main(int argc, argv) {
      RunCtrl run;
      run.connect(argc, argv);

      std::cout << run.getRunPosition() << std::endl;
      ...

Implements RunInterface.

Examples:
stopToObstacle.cpp, and ticksPosUse.cpp.

Definition at line 26 of file runCoordinate.cpp.

References RunCtrl::getLocalPosition().

Referenced by RunCtrl::adjustRunPosition(), RunCtrl::getAngleToDirection(), RunCtrl::getLengthToGrid(), and RunCtrl::getLengthToLine().

void RunCtrl::adjustRunPosition ( const VXV::Position position,
const CoordinateCtrl *  crd = VXV::GL 
) [virtual, inherited]

推定自己位置の更新

ロボット位置を指定座標系の指定位置にあるように変更する

Parameters:
position [i] 修正後の位置
crd [i] 座標系
new_position.png

ロボットの管理位置を修正

Implements RunInterface.

Definition at line 31 of file runCoordinate.cpp.

References RunCtrl::getRunPosition(), and RunCtrl::local_offset.

void RunCtrl::coordinateUpdateDetect ( bool  on  )  [virtual, inherited]

座標系変更の影響を設定

座標系の変更が、移動中のコマンドに影響を与えるかどうかを設定する。

Parameters:
on [i] 座標系の変更が走行中の経路に影響を与える場合 true
使用例
    run.followLine(VXV::Position(0, 0, deg(0)));
    VXV::Delay(1000);

    // ロボット位置を (0, 0, 90[deg]) という風に再設定する
    run.adjustRunPosition(VXV::Position(0, 0, deg(90)));

    // 以前の評価が run.coordinateUpdateDetect(false) であれば、
    // ロボットの移動経路は変更されない

    // 以前の評価が run.coordinateUpdateDetect(true) であれば、
    // ロボットの移動経路は新しい座標系の (0, 0, deg(0)) の直線に
    // 追従するように更新される

crd_update_detect.png

設定による走行経路の違い

Implements RunInterface.

Definition at line 45 of file runCoordinate.cpp.


Generated on Mon Apr 13 22:52:07 2009 by  doxygen 1.5.7.1