判定コマンド


Functions

virtual bool RunCtrl::isStable (void)
 移動の制御状態が安定しているかを返す
int RunCtrl::getLengthToGrid (const VXV::Grid &grid, const CoordinateCtrl *crd=VXV::GL)
int RunCtrl::getLengthToBody (const VXV::Grid &grid, const CoordinateCtrl *crd=VXV::GL)
 指定位置と推定自己位置との距離を返す
int RunCtrl::getLengthToLine (const VXV::Position &line, const CoordinateCtrl *crd=VXV::GL)
 指定直線に垂直な直線と推定自己位置との距離を返す
VXV::Direction RunCtrl::getAngleToDirection (const VXV::Direction &t, const CoordinateCtrl *crd=VXV::GL)
 指定角度との差を返す
int RunCtrl::getStraightVelDiff (int mm_vel=0)
 指定並進速度との差を返す
VXV::Direction RunCtrl::getRotateVelDiff (const VXV::Direction &t=VXV::Direction())
 指定回転速度との差を返す

Function Documentation

bool RunCtrl::isStable ( void   )  [virtual, inherited]

移動の制御状態が安定しているかを返す

直線追従であれば、直線上を走行しているとき、停止コマンドであれば、停止しているときに true が返される。現在実行中のコマンドの制御目標を達成しているかどうかを返す

Return values:
true 安定
false 安定にむけて制御中
使用例
    RunCtrl run;
    run.connect(argc, argv);

    // 目的の方向への回転速度がゼロ近くになったら、次の移動コマンドを発行
    run.rotateToDirection(deg(90));
    while (!run.isStable()) {
      VXV::Delay(100);
    }
    run.followLine(VXV::Position(0, 0, deg(90)));

Implements RunInterface.

Reimplemented in mRunCtrl.

Definition at line 10 of file judgeCtrl.cpp.

int RunCtrl::getLengthToGrid ( const VXV::Grid grid,
const CoordinateCtrl *  crd = VXV::GL 
) [virtual, inherited]

Parameters:
指定位置と推定自己位置との距離を返す 推定自己位置と、指定座標系の点との距離を返す
judge_lengthToGrid.png

距離

Parameters:
grid [i] 指定位置
crd [i] 座標系
Returns:
距離 [mm]
使用例
    RunCtrl run;
    run.connect(argc, argv);

    // 移動しながら、座標 (1000, 1000) との距離を表示し続ける
    VXV::Grid grid(1000, 1000);

    run.followLine(VXV::Position(0, 0, deg(0)));
    while (1) {
      printf("length: %d\n", run.getLengthToGrid(grid));
      VXV::Delay(1000);
    }

Implements RunInterface.

Definition at line 19 of file judgeCtrl.cpp.

References RunCtrl::getRunPosition(), VXV::Grid::x, and VXV::Grid::y.

Referenced by RunCtrl::getLengthToBody().

int RunCtrl::getLengthToBody ( const VXV::Grid grid,
const CoordinateCtrl *  crd = VXV::GL 
) [virtual, inherited]

指定位置と推定自己位置との距離を返す

Parameters:
grid [i] 指定位置
crd [i] 座標系
Returns:
距離 [mm]
Attention:
getLengthToGrid を用いること

Implements RunInterface.

Definition at line 29 of file judgeCtrl.cpp.

References RunCtrl::getLengthToGrid().

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

指定直線に垂直な直線と推定自己位置との距離を返す

返される値は、指定直線の向きの方に自己位置があれば距離が、指定直線の向きとは反対側に自己位置があれば、距離に負号を付けた値が返される

judge_lengthToLine.png

直線との距離

Parameters:
line [i] 指定直線
crd [i] 座標系
Returns:
距離 [mm]
使用例
    RunCtrl run;
    run.connect(argc, argv);

    // 次の移動直線(1000, 0, deg(90))に近づいたらその直線への追従コマンドを発行
    VXV::Position next_line(1000, 0, deg(90));
    run.followLine(VXV::Position(0, 0, deg(0));
    while (run.getLengthToLine(next_line) < -300) {
      VXV::Delay(100);
    }
    run.followLine(next_line);

Implements RunInterface.

Examples:
stopToObstacle.cpp.

Definition at line 35 of file judgeCtrl.cpp.

References RunCtrl::getRunPosition(), VXV::Grid::x, VXV::Grid::y, and VXV::Position::zt.

Referenced by VXV::followLinesUpdate().

VXV::Direction RunCtrl::getAngleToDirection ( const VXV::Direction t,
const CoordinateCtrl *  crd = VXV::GL 
) [virtual, inherited]

指定角度との差を返す

座標系で指定された角度と推定自己位置の角度との差を返す

judge_angleToDirection.png

角度差

Parameters:
t [i] 指定角度
crd [i] 座標系
Returns:
角度差

Implements RunInterface.

Definition at line 47 of file judgeCtrl.cpp.

References RunCtrl::getRunPosition(), and VXV::Position::zt.

int RunCtrl::getStraightVelDiff ( int  mm_vel = 0  )  [virtual, inherited]

指定並進速度との差を返す

指定した速度と現在の移動速度との差を返す

judge_straightVelDiff.png

速度差

Parameters:
mm_vel [i] 指定並進速度 [mm/sec]
Returns:
並進速度の差 [mm/sec]

Implements RunInterface.

Definition at line 54 of file judgeCtrl.cpp.

References RunCtrl::getStraightVel().

VXV::Direction RunCtrl::getRotateVelDiff ( const VXV::Direction t = VXV::Direction()  )  [virtual, inherited]

指定回転速度との差を返す

指定回転速度と現在の回転速度との差を返す

judge_rotateVelDiff.png

回転速度差

Parameters:
t [i] 指定回転速度 [direction/sec]
Returns:
回転速度の差 [direction/sec]

Implements RunInterface.

Definition at line 59 of file judgeCtrl.cpp.

References RunCtrl::getRotateVel().


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