/*!
  \page run_ctrl_commands_page 走行の指示方法

  - 走行の指示は、クラスのメンバ関数で行う
  - コマンドはノンブロッキング関数で構成する

  \code
// オブジェクトの生成とデバイスへの接続
RunCtrl run;
run.connect(argc, argv);

// 直進コマンドの発行
run.followLine(Point(1000, 0), deg(0));

// 停止までの時間
delay(2000);

// 走行を停止
run.stop(); \endcode

  - 移動系のコマンド
    \n \n
    - 指定した経路の追従
      - followLine(Point(x, y), angle) ... 直線追従
        - followLine(x, y, angle) といった overload 的な関数は、RunUtils クラスで定義する
      \n \n
      - followCircle(Point(x, y), radius) ... 円弧追従
        - radius > 0 のときに反時計回り
    \n \n
    - 位置制御コマンド
      - stopToLine(Point(x, y), angle) ... 停止距離の指定
        - 指定直線の垂線上で、指定直線の方向を向いて停止する
    \n \n
    - 停止向きの指定
      - stopToDirection(angle) ... 停止向きの指定
    \n \n
    - 速度制御、加速度制御
      - setStraightVelocity(int mm_sec) ... 並進速度の設定
      - straightVelocity() ... 並進速度の取得
      - setStraightAcceleration(int mm_sec2) ... 並進加速度を設定
      - setRotateVelocity(int mm_sec) ... 回転速度の設定
      - rotateVelocity() ... 回転速度の取得
      - setRotateAcceleration(int mm_sec2) ... 回転加速度を設定


  - 自己位置情報の取得コマンド
    - position() ... 推定自己位置の取得


  - 判定系コマンド
    - isStable() ... 制御中かどうか
      - isNearPoint(Point()) などは、RunUtils クラスで定義する
*/
