目次
Section 1
手動で制御する走行モード
前回はArdupilot Roverの基本的なモードを紹介しましたが、今回はRoverで利用可能な手動で走行するモードについて簡単に紹介したいと思います。
今回見ていく「手動で制御する走行モード」と次回紹介する「自立型の走行モード」は、自分が勝手に区分しました。
分類が正しいかどうかは捉え方によると思うのですが、ざっくり言えばスティック入力で走らせるモードと、ある程度勝手に走るモードで区分しています。
GPSなどのセンサーにより自己位置推定や速度の推定が必要かそうでないかについては、モードによって異なりますので、ご注意頂けたらと思います。
この区分方法で前回紹介したHold ModeとManual Modeを考えた場合、Manual Modeは明らかに手動で制御する走行モードと言えます。
Hold Modeは動かないので、なんとも言えませんが、自立的に動かない状態をキープしているので、強いていうなら自立型の走行モードと言えるかも知れません。
Section 2
Acro Mode
Acro Mode
https://ardupilot.org/rover/docs/acro-mode.html
Ardupilotでマルチコプターを製作した経験がある方は、Acro Modeをホバリング状態を維持するのが比較的難しい事から、マニュアルモードに近いイメージで捉えている方が多いかと思います。
RoverにおいてはAcro Modeとは別にManual Modeが用意されており、この2つのモードの間には違いがあります。
Manual Modeは基本的にはスティック操作でステアリングやスロットルを直接制御するモードですが、Acro Modeでスティック操作で制御するのは旋回速度と速度と明記されています。
ざっくり言うと、Acro ModeではFCが現在の車両の状態とスティック操作の内容から計算を行った上でステアリングサーボとESCを制御するという形になります。
このシリーズで実際に走らせ始めたところまで進んだら紹介しようと思っていますが、Acro Modeを良い形で利用する為にはTuning Speed and Throttleの調整が必要です。
また、Acro Modeでは方向保持が有効になり、例えばシンプルなRCカーの場合、路面が悪いとステアリングの入力なしでスロットルを入れるだけでは真っ直ぐ進めなかったりしますが、Acro Modeでは外部の影響を補正して方向を維持しようとしてくれるようです。
さらにセンサーを追加して設定すればオブジェクト回避機能も有効にできるそうです。
まとめると、シンプルなRCカーと一味違ったArdupilot Roverならではの要素を、手動操縦に付加できるモードであると言えそうです。
実際にManual ModeからAcro Modeに切り替えて走行すると、スティック入力で制御してはいるものの、車両がある程度意思を持って動いているかのような感覚が楽しめるかと思います。
Section 3
Learning Mode
Learning Mode (deprecated)
https://ardupilot.org/rover/docs/learning-mode.html
Learningモードはdeprecatedになっていますので、Rover-3.2 以降のファームウェアでは利用できないようですが、変わりにスイッチに機能を割り当てる事ができるようです。
この機能は、下記のドキュメントで説明されています。
Recording Waypoints for a Mission
https://ardupilot.org/rover/docs/common-learning-a-mission.html#common-learning-a-mission
簡単に言うと、現在の車両の位置をウェイポイントとして記録する機能とのことです。
走らせる場所が比較的狭い場合や特徴的な対象物がない場合、PCのMission Planner画面の地図で走行のミッションを作成するのに手間がかかる事がありますが、スイッチに機能を割り当ててうまく活用することで随分便利になりそうです。
Section 4
Simple Mode
Simple Mode
https://ardupilot.org/rover/docs/simple-mode.html
ManualモードやAcroモードでは車両の向いている向きに対して前進・右左のスティック操作が適用されますが、Simpleモードは、車両が現在どの方向を向いているかに関係なく、パイロットの視点からの前進・右左に車両の動きを制御できると言うもののようです。
後退(バック)に関しては記述がないので適用されるかどうか分からなかったのですが、今回製作しているCC02 TAMIYA LAND CRUISER 40はESC (HOBBYWING QUICRUN1080 BRUSHED G2) のリアルカーモードを利用しているので、試す事も難しいかなと考えています。
機首方向を意識して左右の制御を行う操作については、RCカーに限らず、目視で制御するラジコン全体として初心者がまずトレーニングを行うものと思いますし、その技能の上達がラジコンホビーの面白さの1つではあるものの、Simpleモードを使えばそのトレーニングを省略できますので、機体の制御に不慣れなユーザーには便利な機能と言えます。
機首方向を意識した制御は機体がしっかり見えている事が前提になりますので、機体が遠く離れてしまい機首方向が分かりづらくなる場合、うまく利用すれば役に立ちそうな機能です。
車両がアームした向きを基準に前進・右左が決まるようですので、初めは自分の目の前に車両を自分と同じ向きにセッティングし、自分は向きを変えずに自分よりも前方向で車両を動かす場合において、スティック方向と動作方向が一致し、シンプルに車両を制御できるようです。
SIMPLE_TYPEパラメータを使用すると、移動方向を東西南北でコントロールできるようになるとのことで、車両の目的によってはSimple モードを活用する事で格段に使いやすくなるかも知れません。
Section 5
Steering Mode
Steering Mode
https://ardupilot.org/rover/docs/steering-mode.html
ドキュメントを確認すると、SteeringモードはAcroモードにかなり近いのですが、Steeringモードの方がステアリング制御の面で少し高機能版といったイメージかと思います。
Acroモードでは直線的に変化していた旋回速度が、Steeringモードでは車両の横方向の加速度を制御する形になるようです。
しっかり設定すればカーブの際に旋回半径と速度がFCにより計算されて制御されますので、Acroモードよりも車両が転倒したりしづらくなり、逆に言えば設定値によって旋回速度が制限されてしまうようです。
設定すればオブジェクト回避が利用できる点と、ステアリングがニュートラルの場合方向保持が効くという点はAcroモードと同じです。
簡単に言うとAcroモードとSteeringモードではステアリング制御の仕組みが違うようなので、どちらがより好みか、もしくは目的に対してより適切かで選択するのが良さそうです。
Section 6
今回実際に設定した手動で制御する走行モード
今回製作しているCC02では、現時点でメインのモードスイッチに手動で制御する走行モードとしてAcroモードを設定しています。
3ポジションスイッチに前回ご紹介したHoldモードとManualモード、さらに今回紹介したAcroモードを設定する事で、手動で制御する場合の走行モードを1つのスイッチで選べるように構成しているのですが、Acroモードを選択しているのは自立走行の調整作業でAcroモードを利用する為です。
手動で制御する走行モードはManualモードと、もう1つくらい好みのものがあれば充分な場合が多いと思います。
自立走行の調整が完了したら、車両の目的や使い方に応じてAcroモードの部分を自立型の走行モードに置き換えてしまうのも良いかも知れません。
また、使った事がないので使用感や性能が良くわからないのですが、RCカーの世界では安定性や操縦性の向上の目的でジャイロと呼ばれるアイテムがあるそうです。
FCに搭載される代表的なセンサーはまさにジャイロセンサーであり、Ardupilot のRoverに改造する事で、自動的にジャイロセンサーの恩恵を受けられる状態にはなっているはずです。
そういった視点であえて手動で制御する為にArdupilotのRoverを作り、走行モードを追求してみる、といった楽しみ方もありそうです。
次回は自立型の走行モードを紹介します。