以下、本発明を実施するための形態(以下、実施形態)について詳細に説明する。以下の説明においては、同様の構成には同じ符号を付し、その説明を省略又は簡略する。なお、当業者が適宜実施できる構成については説明を省略し、本発明の基本的な構成についてのみ説明する。本発明の骨子は、測位用電波を使用する測位結果やドップラー情報の取得の間において、進行状態の変化に基づく進行方向の制御を行い、最終的には測位結果やドップラー情報に基づいて確実に進行方向の制御を行うというものである。
<第一の実施形態>
図1及び図2に示すトラクター1(以下、「無人機1」という。)は、移動装置の一例であり、自律移動可能である。無人機1は、無人機1を制御する操縦装置70(図4参照。「プロポ」とも呼ばれる。)からの無線信号による指示で動作を実施するほか、地上を自律走行するように構成されている。本明細書において、自律走行とは、操縦装置70からの無線信号を受けずに、ソフトウェアによって自動的に走行経路を進行することを意味する。自律走行は自動走行と同義である。なお、本実施形態とは異なり、移動装置は無人車両や無人飛行体(ドローン)などの無人移動体に限らず、例えば、人間が搭乗して操縦する有人の重機などの車両であってもよい。
無人機1は、畑で使用されるトラクターである。図1に示すように、無人機1は、畑100を耕す作業、すなわち、耕うんを実施する。耕した後の畑100は、土が波上に盛り上がり、畑100aとなる。
無人機1は、畑100を予定経路R1乃至R6を通過し、耕す。予定経路R1乃至R6において、機首方向が変わる予定位置を曲折位置と呼ぶ。例えば、予定経路R1から予定経路R2の間における曲折位置は位置Pである。曲折位置が開始する位置は位置P1である。
無人機1は、航法衛星202A乃至202Dなどの航法衛星からの測位用電波を受信して、現在位置を測位し、予定経路R1乃至R6を進行するように構成されている。本実施形態において、測位用電波を受信して実施する測位の測位結果の出力の間において、進行方向を微修正する。これにより、実際の走行経路と予定経路R1乃至R6からの相違を従来よりも小さくすることができる。本実施形態は、無人機1の予定経路R1等が直線経路である場合において、無人機1が予定経路を予定方向に進行する制御に関する。
図2に示すように、無人機1は、車両本体10を有する。車両本体10には、無人機1の各部を制御するコンピュータ、自律制御装置32、無線通信装置等が格納されている。自律制御装置32は、慣性センサーと測位装置を含む。自律制御装置32は、自律制御装置の一例である。慣性センサーは、ジャイロセンサー、加速度センサー及び電子コンパスを含む。
ジャイロセンサーは、角速度センサーとも呼ばれ、時間あたりの角度の変化量(角速度)を測定するセンサーである。本実施形態におけるジャイロセンサーは、ICタイプのMEMS(Micro Electro Mechanical System)技術を使った振動式ジャイロセンサーであり、3軸(上下、左右、前後の3つの軸)における角速度を測定することができる。ジャイロセンサーは、方向変化測定手段の一例である。
加速度センサーは、ICタイプのセンサーであって、加速度を測定するセンサーである。本実施形態における加速度センサーは静電容量型のセンサーであり、3軸(上下、左右、前後の3つの軸)における加速度を測定することができる。加速度センサーは、速度変化測定手段の一例である。
電子コンパスは、地球の地磁気を観測して方位を測定することができる装置である。本実施形態における電子コンパスは、ICタイプのコンパスであって、ホール素子技術を用いた3軸電子コンパスである。電子コンパスは、相対方向測定手段の一例である。
測位装置は、航法衛星からの測位用電波を使用して現在位置を測位するための装置である。航法衛星は、例えば、みちびき(準天頂衛星システム)で使用される衛星や、GPS(Global Positioning System)で使用される衛星を含む。測位装置は、基本的に、4つ以上の航法衛星からの測位用電波を受信して無人機1の位置を測定する。測位用電波を利用する測位方法は、周知であるから、説明を省略する。測位装置は測位手段の一例である。
また、車両本体10には、無線通信用のアンテナ12、及び、航法衛星からの測位用電波を受信するためのアンテナ14が配置されている。
また、車両本体10には、前方を撮影して画像を取得するためのカメラ16が配置されている。
車両本体10には、前輪18L及び18R、及び後輪22L及び22R(図3参照)が配置されている。
車両本体10には、ロータリ30が装着されている。ロータリ30は、畑100を耕すための部材である。ロータリ30は、上下方向(図2の矢印Z方向)に動作可能に構成されている。
無人機1において、カメラ16が配置されている方向を機首方向と呼ぶ。機首方向は、無人機1の進行方向であり、図3の矢印M1に示す方向である。
図3に示すように、前輪18L及び18Rは、ステアリングシステム20に接続されており、左右(図3の矢印X方向)に回動可能になっている。ステアリングシステム20を制御することによって、無人機1の機首方向を制御することができる。
また、車両本体10の内部であって、前輪18L及び18Rの近傍には、エンジン26が配置されている。エンジン26は、例えば、ディーゼルエンジンである。エンジン26は、トランスミッション28を介して後輪22L及び22Rのシャフト24と接続されており、後輪22L及び22Rを回転させる。なお、エンジン26は、ディーゼルエンジンに限らず、例えば、ガソリンエンジンであってもよいし、電動モーターであってもよい。
自律制御装置32は、電気的にステアリングシステム20及びエンジン26と接続されており、ステアリングシステム20及びエンジン26を制御する。自律制御装置32によって、無人機1の進行方向及び進行速度を調整するように構成されている。
図4は、無人機1の機能構成の一例を示す概略図である。図4に示すように、無人機1は、自律制御部40、無線通信部58、画像処理部60及び作業制御部62を有する。自律制御部40は、CPU(Central Processing Unit)50、記憶部52、駆動制御部54、及び、衛星測位部56を有する。自律制御部40は自律制御装置32に対応し、自律制御装置32の機能構成を示す。
無人機1は、無線通信部58によって、外部と通信可能になっている。無人機1は、無線通信部58によって、ユーザーが操作する操縦装置(プロポ)70から、発進等の指示を受信する。
無人機1は、画像処理部60によって、カメラ16(図2参照)を作動させて外部の画像を取得し、取得した撮影データを処理する。外部の画像は、主に、無人機1の進行方向の画像である。
無人機1は、作業制御部62によって、ロータリ30の昇降や、作業に必要な進行方向及び進行速度の制御を行う。作業制御部62が、無人機1が実施する作業を制御し、無人機1の移動に関する信号をCPU50に送信する。
無人機1は、衛星測位部56によって、無人機1自体の位置を測定することができる。衛星測位部56は測位装置に対応し、基本的に、4つ以上の航法衛星からの測位用電波を受信して無人機1の位置を測定する。衛星測位部56は、所定の時間間隔において、測位結果を出力する。所定の時間間隔は、例えば、1秒(s)である。
無人機1は、自律制御部40を構成する駆動制御部54によって、ステアリングシステム20及びエンジン26を制御する。駆動制御部54は、ジャイロセンサー、加速度センサー及び電子コンパスからの出力を利用する。
ジャイロセンサーは、衛星測位部56による測位結果の出力間隔よりも短い時間間隔において、無人機1の機首方向の変化を測定する。ジャイロセンサーが機首方向の変化を測定する時間間隔は、例えば、4分の1秒(0.25秒)である。
加速度センサーは、衛星測位部56による測位結果の出力間隔よりも短い時間間隔において、無人機1の速度の変化(加速度)を測定する。加速度は、速度の変化であるから、無人機1の動きの変化である。加速度センサーは、上述のように、3軸の加速度センサーであり、無人機1の3次元の動きを測定することができる。したがって、無人機1の進行方向と直交する成分を有する速度の変化を測定することができる。例えば、無人機1が、機首方向を維持したまま、平行に移動した場合において、その平行移動を測定することができる。加速度センサーが動きの変化を測定する時間間隔は、例えば、4分の1秒(0.25秒)である。
なお、上述のジャイロセンサーが機首方向の変化を測定する時間間隔や加速度センサーが動きの変化を測定する時間間隔は、無人機1の仕様や用途によって調整する。例えば、無人機1がトラクターであれば、ドローン等に比べて相対的に重量が大きく、移動速度が遅いから、時間間隔は相対的に長く設定する。これに対して、移動速度が速い車両やドローンの場合には、時間間隔は相対的に短く設定する。例えば、時間間隔は、1000分の1秒(0.0001秒)単位で調整可能であるが、本実施形態においては、説明の便宜のため、4分の1秒(0.25秒)としている。
図5は、自律制御部40が制御に使用する主なデータを示す。自律制御部40は、ジャイロセンサーによる測定結果であるジャイロセンサー出力、加速度センサーによる測定結果である加速度センサー出力、及び電子コンパスによる測定結果である電子コンパス出力を使用する。衛星測位部56は、航法衛星の軌道情報などの衛星情報と、受信した測位用電波(図示せず)を使用し、測位計算の途中で取得可能なドップラー効果を示すドップラー情報、及び、測位結果としての測位位置を示す測位位置情報を出力する。なお、ドップラー効果は、測位用電波の搬送波の周波数の変化である。
図6に示すように、本実施形態においては、自律制御部40は、ジャイロセンサー出力及び加速度センサー出力を参照して、機首方向の微修正を行い(以下、「第一修正処理」という。)、測位位置情報を使用して位置及び方向の修正を行う(以下、「復帰処理」という。)。ジャイロセンサー出力を参照して行う機首方向の微修正を「第一修正処理A」、加速度センサー出力を参照して行う機首方向の微修正を「第一修正処理B」と呼び、「第一修正処理A」と「第一修正処理B」を総称して「第一修正処理」と呼ぶ。
駆動制御部54によって、後輪22L及び22Rに接続されたエンジン26の回転や、ステアリングシステム20による前輪18L及び18Rの回動を制御し、走行速度や走行方向を制御するようになっている。
記憶部52には、予定経路を自律移動するための移動計画を示すデータ等の自律移動に必要な各種データ及びプログラムのほか、以下のプログラムが格納されている。
記憶部52には、第一修正プログラム、復帰プログラム、画像認識プログラム、及び、回避プログラムが格納されている。CPU50と第一修正プログラムは、第一修正手段の一例である。CPU50と復帰プログラムは、復帰手段の一例である。CPU50と画像認識プログラムは、認識手段の一例である。CPU50と回避プログラムは、回避手段の一例である。
無人機1は、第一修正プログラムによって、ジャイロセンサーによって測定した機首角度の変化、及び、加速度センサーによって測定した速度の変化を減殺するように無人機1の機首方向を修正する。この機首方向の修正が上述の「第一修正処理」である。第一修正処理は、測定した機首角度の変化及び加速度を減殺する処理である。例えば、ジャイロセンサーによって、機首方向がある方向に変化したことを計測した場合には、その方向とは逆の方向に機首方向を変更する。また、例えば、加速度センサーによって、無人機1の進行方向と直交する方向の速度変化を計測した場合には、無人機1がその方向と逆の方向に向かうように機首方向を変更する。これにより、測定した機首角度の変化及び加速度による影響を減殺することができる。第一修正処理の結果として、機首方向が予定経路の方向と一致しているか否かは問わない。無人機1は、第一修正プログラムによって、機首方向を所定の基準量だけ修正する。基準量は、角度と時間で規定され、例えば、1度の角度変化を0.05秒継続する。第一修正処理Aの基準量を「基準量A」と呼び、第一修正処理Bの基準量を「基準量B」と呼び、基準量AとBを総称して「基準量」と呼ぶ。
無人機1は、復帰プログラムによって、衛星測位部56による測位結果に基づいて、無人機1が予定経路上を予定方向に移動するように調整する。この機首方向を予定経路と一致させる調整が上述の「復帰処理」である。したがって、上述の第一修正処理によっても、無人機1が予定経路を予定方向に進行していない場合においても、無人機1は、復帰プログラムによって予定経路上を予定方向に移動することができる。
無人機1は、画像認識プログラムによって、カメラ16で撮影して取得した画像において、回避対象を認識する。無人機1は、記憶部52に、例えば、ニューラルネットワークを記憶しており、回避対象の認識はニューラルネットワークによって行う。
図7及び図8を参照して、学習方法(機械学習の工程)の概略を説明する。学習用データとして多数の画像データ(Image data)をコンピュータのニューラルネットワークのモデル(図7参照)に入力すると(図8のステップS1)、ニューラルネットワークのアルゴリズムによって学習が実施される(ステップS2)。学習用データは、様々な態様の人間が映ったデータである。
ニューラルネットワークのモデルは、例えば、図7に概念的に示すニューラルネットワークである。なお、ニューラルネットワークやディープラーニングは周知なので、本明細書においては概説に留める。ニューラルネットワークは、入力層(Input layer)、1以上の隠れ層(Hidden layer)、及び、出力層(Output layer)で構成される。図7には、隠れ層は1つのみ示しているが、実際には、隠れ層は複数である。すなわち、本実施形態の学習は、多層のニューラルネットワーク(ディープニューラルネットワーク、Deep Neural Network)による機械学習(ディープラーニング)である。
機械学習において、隠れ層及び出力層に入力する入力値の重みw1a等と、入力層、隠れ層及び出力層におけるバイアス(各層における閾値)B1等を調整することによって、出力層からの出力が正解に近づくようにしていく。学習の結果、学習結果データとして、重みとバイアスが調整されたニューラルネットワークが生成される(図8のステップS3)。この学習によって、例えば、画像中のオブジェクトが人間であることを精度よく認識するためのニューラルネットワークが生成される。記憶部52には、このようにして生成されたニューラルネットワークが記憶されている。
無人機1は、画像認識プログラムによって、取得した画像中の物体を認識する。
無人機1は、回避プログラムによって、画像認識プログラムによる認識結果に基づいて、回避動作を実施する。無人機1は、認識プログラムによって認識した回避対象が所定条件を満たす場合に回避動作を実施するように構成されている。
例えば、無人機1は、無人機1と回避対象との距離が、所定の距離範囲であるという所定条件を満たす場合に、回避動作を実施する。所定の距離範囲の距離は、例えば、5メートル(m)である。
以下、図9及び図10を参照して、無人機1における進行方向の制御について説明する。無人機1の予定経路は、図9(a)に示す直線の経路A1であるとする。自律制御装置32は、衛星測位部56によって、時刻t0、t1、t2、t3というように、所定の時間間隔において、測位結果を出力する。所定の時間間隔は、例えば、1秒(second)である。また、無人機1は、時刻t0、t0.25、t0.5、t0.75というように、測位結果の出力間隔よりも短い所定の時間間隔において、機首方向の変化及び速度の変化(加速度)を測定する。機首方向の変化及び速度の変化(加速度)を測定するための所定の時間間隔は、例えば、毎秒4回である。測位結果を取得する時刻t1等においては、無人機1は、復帰プログラムによって、復帰処理を実施する。そして、測位結果を取得する間においては、例えば、時刻t0.25、t0.5、t0.75において、第一修正処理を実施する。機首方向と速度の双方に変化が生じている場合には、例えば、機首方向の変化を優先する、あるいは、速度の変化を優先するという処理によって、制御における矛盾を解消する。本実施形態においては、機首方向と速度の双方に変化が生じている場合には、機首方向の変化を優先し、第一修正処理Aを実施する。
上述のように、自律制御装置32は、測位結果を取得する間においては、第一修正処理を実施し、測位結果を取得すると、復帰処理を実施する。すなわち、復帰処理の間において、第一修正処理による微修正が実施されているから、予定経路A1と実際の経路A1bとの乖離は相対的に小さく、幅W2となる。幅W2は、従来例の幅W1(図29参照)よりも小さい。
図10(a)に示すように、例えば、自律制御装置32が、時刻t0.25において、矢印B1に示す機首方向の変化を測定すると、その変化を減殺するように、その変化とは反対方向である矢印B2に示す方向の変化として、第一修正処理を実施する。図10(a)の例においては、第一修正処理によって、無人機1は予定経路A1と一致はしないが、平行な経路を進行するものとする。自律制御装置32は、時刻t1においては、測位結果に基づいて、現在位置が予定経路上であって、進行方向が予定経路A1の方向と一致するように復帰処理を実施する。自律制御装置32は、復帰処理として、例えば、矢印D1に示すように、機首方向を修正し、現在位置が予定経路上であって、進行方向が予定経路A1の方向と一致するように制御する。図10(a)においては、時刻t1において測位結果を出力し、極めて短時間で復帰処理を開始し、時刻t1.05において復帰処理が完了する例を示している。
図10(b)に示すように、例えば、自律制御装置32が、時刻t0.25において、機首方向の変化は測定(検知)しないが、予定経路A1とは乖離する方向の加速度を計測すると、その加速度の変化による位置の変化を減殺するように、その位置の変化とは反対方向である矢印C2に示す方向の変化として、第一修正処理を実施する。図10(b)の例においては、第一修正処理によって、無人機1は予定経路A1と平行な経路を進行するものとする。自律制御装置32は、時刻t1においては、測位結果に基づいて、現在位置が予定経路上であって、進行方向が予定経路A1の方向と一致するように復帰処理を実施する。復帰処理として、例えば、機首方向を所定の角度だけ変更することで開始し、現在位置が予定経路A1と一致すると、進行方向を予定経路A1の方向と一致させることで完了する。
本実施形態において、復帰処理の大きさを「調整量」と定義する。復帰処理の大きさは、角度と時間で規定される。本実施形態においては、説明の便宜のため、復帰処理の開始から完了までの時間を「調整量」とする。
以下、図11乃至図13のフローチャートを参照して、自律制御装置32による制御の概略を説明する。
自律制御装置32は、無人機1を発進させると(図11のステップST1)、外部の画像を取得し(ステップST2)、ニューラルネットワークによって画像全体を画像認識し(ステップST4)、画像中に回避対象を認識し(ステップST5)、回避距離であると判断すると(ステップST6)、進行を停止する。画像中の回避対象が存在しない場合や、回避距離ではない場合には、任務完了であると判断すると(ステップST7)、制御を終了する。上記のステップST2乃至ステップST6と並行して、無人機1は、現在位置を測位しつつ、所定の経路を進行し、作業を実行する(ステップST3)。
次に、図12を参照して、ステップST3について説明する。自律制御装置32は、曲折位置近傍であると判断すると(図12のステップST31)、曲折位置近傍の制御(ステップST40)を実施する。曲折位置とは、例えば、図1の位置Pであり、経路R1から経路R2へと移行するための進行方向を変えるべき位置である。ステップST40については、後述する。
自律制御装置32は、曲折位置近傍ではないと判断し(ステップST31)、方向または速度の変化を測定した場合には(ステップST32)、第一修正処理を実施する(ステップST33)。また、自律制御装置32は、測位結果を取得し(ステップST34)、現在の進行経路が予定経路上・予定方向ではないと判断すると(ステップST35)、復帰処理を実施する(ステップST36)。ステップST32及びステップST33と、ステップST34乃至ステップST36は並行して実施され、第一修正処理と復帰処理のタイミングが一致する場合には、復帰処理を優先する。
次に、図13を参照して、ステップST40について説明する。自律制御装置32は、曲折位置近傍であると判断すると、速度を低下させ(図13のステップST41)、曲折開始位置であると判断すると(ステップST42)、曲折を開始し(ステップST43)、予定の方向であると判断すると(ステップST44)、予定経路上に位置するかを判断し(ステップST45)、予定経路上ではない場合には、位置を修正するように進行方向を調整する(ステップST46)。曲折位置近傍とは、例えば、経路を修正すべき位置の10メートル(meter)前の位置である。曲折開始位置は、図1の位置P1である。
<第二の実施形態>
次に、図14乃至図16を参照して、第二の実施形態について説明する。なお、第一の実施形態と共通する事項については説明を省略し、第一の実施形態と異なる部分を中心に説明する。
図14に示すように、第二の実施形態においては、自律制御部40は、第一修正処理及び復帰処理に加えて、電子コンパス出力を使用して方向の微修正を行う(以下、「第二修正処理」という。)。
電子コンパスは、衛星測位部56による測位結果の出力間隔よりも短い時間間隔において、無人機1の機首方向を測定する。電子コンパスが機首方向の変化を測定する時間間隔は、例えば、2分の1秒(0.5秒)である。電子コンパスは、地磁気の方向との相対的な関係において機首方向を計測する。無人機1が予定経路A1を進行する場合の予定の方向である予定方向も、地磁気との相対的な関係において規定されている。このため、電子コンパスによって、予定方向と実際の進行方向との相違を測定することができる。
無人機1は、記憶部52(図4参照)に、第二修正プログラムを格納している。CPU50と第二修正プログラムは、第二修正手段の一例である。自律制御装置32は、予定機首方向と電子コンパスによって測定した機首方向との相違(以下、「機首方向のずれ」という。)を減殺するように、無人機1の機首方向を修正する(これが、上述の「第二修正処理」である。)。なお、第一修正処理と第二修正処理のタイミングが一致する場合には、第二修正処理を優先する。第二修正処理と復帰処理のタイミングが一致する場合には、復帰処理を優先する。
図15(a)に示すように、例えば、自律制御装置32が、時刻t0.25において、矢印B1に示す機首方向の変化を測定すると、その変化を減殺するように、その変化とは反対方向である矢印B2に示す方向の変化として、第一修正処理を実施する。図15(a)の例においては、第一修正処理によって、無人機1は予定経路A1と平行な経路には復帰せず、矢印A2に示す経路を移動するものとする。自律制御装置32は、時刻t0.5において、電子コンパスによって機首方向のずれを計測する。時刻t0.5においては、機首方向は矢印A2に示す方向であり、機首方向のずれを計測する。この場合、自律制御装置32は、機首方向を第二の所定の基準量(以下、「第二基準量」という。)だけ修正する。例えば、第二基準量は、1.5度の角度変化を0.05秒継続するというものである。図15(a)の例では、第二修正処理の結果、無人機1の進行方向は予定経路A1の方向と一致しているが、予定経路A1とは一致せず、平行にずれている。自律制御装置32は、時刻t1.0において、測位結果を取得し、機首方向を矢印D1に示すように修正することによって、現在位置が予定経路上であって、進行方向が予定方向と一致するように復帰処理を実施する。
図15(b)は、第二修正処理によって、機首方向のずれが解消しない状態を示す。時刻t0.5においては、機首方向は矢印A2に示す方向であり、自律制御装置32は、機首方向のずれを計測する。この場合、自律制御装置32は、機首方向を第二の所定の基準量だけ修正する。図15(b)の例では、第二修正処理の結果、無人機1の進行方向は予定経路A1の方向と一致せず、矢印A3となっている。自律制御装置32は、時刻t1.0において、測位結果を取得し、機首方向を矢印D2に示すように修正することによって、現在位置が予定経路上であって、進行方向が予定方向と一致するように復帰処理を実施する。
次に、図16を参照して、第一修正処理、第二修正処理及び復帰処理について説明する。自律制御装置32は、曲折位置近傍ではないと判断し(図16のステップST31)、方向または速度の変化を測定した場合には(ステップST32)、第一修正処理を実施する(ステップST33)。また、自律制御装置32は、機首方向と予定経路方向との乖離(機首方向のずれ)を計測すると(ステップST101)、第二修正処理を実施する(ステップST102)。また、自律制御装置32は、測位結果を取得し(ステップST34)、現在の進行経路が予定経路上・予定方向ではないと判断すると(ステップST35)、復帰処理を実施する(ステップST36)。ステップST32及びST33、ステップST101及びST102、及び、ステップST34乃至ST36は並行して実施され、第一修正処理、第二修正処理及び復帰処理のタイミングが一致する場合には、復帰処理が最優先され、続いて、第二修正処理が優先される。
<第三の実施形態>
次に、図17乃至図19を参照して、第三の実施形態について説明する。なお、第一の実施形態または第二の実施形態と共通する事項については説明を省略し、第一の実施形態及び第二の実施形態と異なる部分を中心に説明する。
図17に示すように、本実施形態においては、自律制御部40は、第一修正処理、第二修正処理及び復帰処理に加えて、ドップラー情報を使用して方向の微修正を行う(以下、「第三修正処理」という。)。
第三の実施形態においては、第二の実施形態における構成に加えて、記憶部52(図4参照)に、さらに、機首方向算出プログラム、方向乖離算出プログラム、及び、第三修正プログラムを格納している。CPU50と機首方向算出プログラムは、機首方向算出手段の一例である。CPU50と方向乖離算出プログラムは、方向乖離算出手段の一例である。CPU50と第三修正プログラムは、第三修正手段の一例である。
無人機1は、機首方向算出プログラムによって、各測位用衛星202A等について、ドップラー効果を示すドップラー情報を算出し、そのドップラー情報に基づいて、機首方向を算出する。例えば、図1の測位用衛星202A及び202Bのドップラー情報は、無人機1と測位用衛星202A及び202Bとが近づいていることを示し、その近づいている速度は測位用衛星202Aと202Bとで異なることを示し、測位用衛星202C及び202Dのドップラー情報は無人機1と測位用衛星202C及び202Dとが遠ざかっていることを示し、その遠ざかっている程度は測位用衛星202Cと202Dとで異なっていることを示している場合には、それらの情報を踏まえて、無人機1の進行方向を算出することができる。複数の測位衛星の測位用電波のドップラー情報を使用する方位の測定は周知であるから、詳細な説明は省略する。
無人機1は、方向乖離算出プログラムによって、上述の進行方向と予定経路の方向との乖離を算出する。予定経路は、記憶部52に記憶されているから、無人機1は、上述の進行方向と予定経路の方向との乖離を算出することができる。
無人機1は、第三修正プログラムによって、上記の乖離を減殺するように、無人機1の機首方向を修正する。この機首方向の修正が上述の「第三修正処理」である。自律制御装置32は、機首方向を第三の所定の基準量(以下、「第三基準量」という。)だけ修正する。例えば、第三基準量は、1.5度の角度変化を0.05秒間継続するというものである。
ドップラー情報は、測位結果を取得するための演算が収束する前に取得することができるから、無人機1は、測位結果を使用する復帰処理の間において、第三修正処理を実施することができる。第一修正処理または第二修正処理と、第三修正処理のタイミングが一致する場合には、第三修正処理を優先する。
以下、図18を参照して、無人機1における進行方向の制御について説明する。無人機1の予定経路は、図18(a)に示す直線の経路A1であるとする。無人機1は、衛星測位部56によって、時刻t0、t1、t2、t3というように、所定の時間間隔において(例えば、毎秒1回)、測位結果を出力する。また、無人機1は、時刻t0、t0.25、t0.5、t0.75というように、所定の時間間隔において(例えば、毎秒4回)、機首方向の変化及び速度の変化を測定する。測位結果を取得する時刻t1等においては、無人機1は、復帰プログラムによって、復帰処理を実施する。そして、測位結果を取得する間においては、例えば、時刻t0.25において第一修正処理、t0.5において第二修正処理、t0.75において第三修正処理を実施する。
上述のように、無人機1は、測位結果を取得する間において、第一修正処理、第二修正処理及び第三修正処理による微修正を実施するから、予定経路A1と実際の経路A1cとの乖離は相対的に小さく、幅W3となる。幅W3は、第一の実施形態の幅W2(図9参照)よりも小さい。
次に、図19を参照して、第一修正処理乃至第三修正処理及び復帰処理について説明する。自律制御装置32は、曲折位置近傍ではないと判断し(図19のステップST31)、方向または速度の変化を測定した場合には(ステップST32)、第一修正処理を実施する(ステップST33)。また、自律制御装置32は、機首方向と予定経路方向との乖離を計測すると(ステップST101)、第二修正処理を実施する(ステップST102)。また、自律制御装置32は、ドップラー情報を取得し(ステップST201)、現在の進行経路が予定経路の方向はないと判断すると(ステップST202)、第三修正処理を実施する(ステップST203)。また、自律制御装置32は、測位結果を取得し(ステップST34)、上述した制御によって、復帰処理を実施する。上述の第一修正処理乃至第三修正処理及び復帰処理のタイミングが一致する場合には、復帰処理が最も優先され、次いで、第三修正処理、第二修正処理、第一修正処理の順序で優先される。
<第四の実施形態>
次に、図20乃至図22を参照して、第四の実施形態について説明する。なお、第一の実施形態乃至第三実施形態と共通する事項については説明を省略し、第一の実施形態乃至第三の実施形態と異なる部分を中心に説明する。第四の実施形態においては、移動速度を制御する。
図20に示すように、本実施形態においては、自律制御装置32は、加速度センサー出力を参照して速度を修正する速度修正処理を行い、ドップラー情報を使用して速度を予定速度に復帰する処理である速度復帰処理を行う。
第四の実施形態においては、第一の実施形態乃至第三の実施形態における構成に加えて、記憶部52(図4参照)に、さらに、速度修正プログラム、及び、速度復帰プログラムを格納している。CPU50と速度修正プログラムは、速度修正手段の一例である。CPU50と速度復帰プログラムは、速度復帰手段の一例である。自律制御装置32を構成する加速度センサーは、機首方向における速度の変化も測定する。加速度センサーは、ドップラー情報の取得間隔よりも短い時間間隔において、速度の変化を測定する。
無人機1は、速度修正プログラムによって、上記の速度の変化を減殺するように速度を修正する。この速度の修正が上述の「速度修正処理」である。
無人機1は、速度復帰プログラムによって、ドップラー情報に基づいて、無人機1の移動速度を算出し、移動速度が予定速度と一致するように速度を調整する。この速度の調整が上述の「速度復帰処理」である。航法衛星202A等の軌道は既知であるから、ドップラー情報によって、無人機1の進行速度を算出することができる。速度修正処理と速度復帰処理のタイミング一致する場合には、速度復帰処理を優先する。
以下、図21を参照して、無人機1における進行速度の制御について説明する。無人機1の予定速度は、速度V1であるとする。無人機1は、衛星測位部56によって、時刻t0、t1、t2、t3というように、所定の時間間隔(例えば、毎秒1回)において、測位結果を出力する。また、無人機1は、時刻t0、t0.25、t0.5、t0.75というように、所定の時間間隔において(例えば、毎秒4回)、機首方向の変化及び速度の変化を測定する。無人機1は、機首方向の速度の変化を測定し、予定速度との乖離が生じている場合には、速度修正処理を実施する。速度修正処理は、所定の基準速度だけ実施される。基準速度は、例えば、1メートル毎秒の増減(meter/second)である。
そして、無人機1は、時刻t0.75、t1.5、t2.25というように所定の時間間隔(例えば、0.75秒ごと)において、ドップラー情報に基づいて、速度復帰処理を実施する。速度修正処理を実施しても、予定速度と実際の速度との間に乖離が存在する場合には、速度復帰処理によってその乖離を消滅させる。
次に、図22の概略フローチャートを参照して、無人機1の速度の調整について説明する。速度の調整は、進行方向の調整と並行して実施される。無人機1は、速度変化を測定すると(図22のステップST301)、速度修正処理を実施する(ステップST302)。無人機1は、ドップラー情報を取得し(ステップST303)、予定速度と乖離していると判断すると(ステップST304)、速度復帰処理を実施する(ステップST305)。速度修正処理と速度復帰処理のタイミングが一致した場合には、速度復帰処理を優先する。また、速度修正処理または速度復帰処理と、進行方向の調整のタイミングが一致した場合には、進行方向の調整を優先する。
<第五の実施形態>
次に、図23を参照して、第五の実施形態について説明する。なお、第一の実施形態乃至第四の実施形態と共通する事項については説明を省略し、第一の実施形態乃至第四の実施形態と異なる部分を中心に説明する。第五の実施形態においては、進行方向及び速度について、畑を耕すなどの作業を優先する。
第五の実施形態においては、第一の実施形態乃至第四の実施形態における構成に加えて、記憶部52(図4参照)に、さらに、優先プログラムを格納している。CPU50と優先プログラムは、優先手段の一例である。
無人機1は、優先プログラムによって、無人機1が実施する作業制御する作業制御部62から、無人機1の移動に関する信号を受信した場合には、予定経路と実際の進行経路との乖離を小さくするための制御よりも、作業制御部62からの信号を優先して制御するように構成されている。作業制御部62は、作業制御手段の一例である。作業制御部62を作業モジュールとも呼ぶ。すなわち、方向や動きの変化を測定しても、それが、作業モジュールからの信号によるものであれば、第一修正処理等による進行方向の調整を実施しない。
次に、図23の概略フローチャートを参照して、無人機1の制御について説明する。図23のフローチャートは、第二の実施形態に優先プログラムを適用した例である。自律制御装置32は、作業モジュールからの信号を取得していれば(ステップST401)、作業モジュールからの信号を優先する(ステップST402)。これに対して、自律制御装置32は、作業モジュールからの信号を取得していなければ(ステップST401)、ステップST31以下の処理を実施する。
なお、本実施形態とは異なり、第一修正処理、第二修正処理または第三修正処理は実施せず、復帰処理と優先処理を組み合わせて構成してもよい。
<第六の実施形態>
次に、図24乃至図26を参照して、第六の実施形態について説明する。なお、第一の実施形態乃至第五の実施形態と共通する事項については説明を省略し、第一の実施形態乃至第五の実施形態と異なる部分を中心に説明する。
図24に示すように、本実施形態においては、自律制御装置32は、復帰処理による調整の大きさに基づいて、第一修正処理A,第一修正処理B及び第二修正処理による修正の大きさを補正する。復帰処理による調整の大きさ(調整量)が最も小さくなるように、基準量A、基準量B及び第二基準量を増減する。基準量A、基準量B及び第二基準量の最初の設定は、予定経路からの乖離を回復しないと想定される量として規定されている。最初の設定は、例えば、無人機1の進行方向の修正について、復帰処理のみを実施したときの調整量よりも小さい量である。このため、基本的に、基準量A、基準量B及び第二基準量を増加することで、調整量は小さくなる。調整量が少ないほど、無人機1の実際の進行経路が予定経路A1と一致する程度が大きい。
第六の実施形態においては、第一の実施形態乃至第五の実施形態における構成に加えて、記憶部52(図4参照)に、補正プログラムを格納している。CPU50と補正プログラムは、補正手段の一例である。
無人機1は、補正プログラムによって、復帰処理における調整の大きさ(調整量)に基づいて、第一修正手段及び第二修正手段による機首方向の修正の大きさを補正する。上述のように、第一修正処理によって、所定の基準量だけ、機首方向を修正する。第二修正処理によって、所定の第二基準量だけ、機首方向を修正する。ここで、第一基準量等は適切とは限らない。この点、無人機1は、補正プログラムによって、第一基準量及び第二基準量を増減する補正を行い、復帰処理による調整量を最小化する。無人機1は、第一修正処理については、第一修正処理Aと第二修正処理Bについて、別々に基準量を補正する。
図25を参照して、第一修正処理Aの補正について説明する。例えば、図25に示すように、時刻t0.25において、ジャイロセンサーによって矢印B1に示す機首方向の変化を測定したとする。第一修正処理Aの基準量Aが過少であると、矢印B2Aに示すように、機首方向の修正が過少となる。この結果、復帰処理による調整量が大きくなる。このことは、第一修正処理B及び第二修正処理についても同様である。
この点、自律制御装置32は、基準量A、基準量B及び第二基準量のそれぞれを増減し、調整量が最も小さくするように補正する。基準量A、基準量B及び第二基準量の補正において、調整量が最も小さくなったときの基準量A、基準量B及び第二基準量を「最適値」と呼ぶ。最適値は、基準量A、基準量B及び第二基準量と調整量を対応させてグラフ化した場合において、調整量が極小値を示すときの基準量A、基準量B及び第二基準量である。
例えば、図26に示すように、時刻t2乃至時刻t5において、基準量Aを補正する。時刻t1乃至時刻t5は、それぞれ、復帰処理が実施されるタイミングである。復帰処理によって調整量が判明するから、次回の復帰処理において、補正後の基準量Aを適用する。
図26の例において、時刻t1における調整量は0.3秒(second)である。時刻t2において、基準量Aを増加することによって、調整量は減少する。基準量Aが、1度の角度変化を0.05秒継続するというものであれば、基準量Aを増加し、例えば、1度の角度変化を0.06秒継続するというものに補正する。時刻t3及びt4においても、同様の割合で基準量Aを増加した結果、調整量が減少したとする。しかし、時刻t5においては、基準量Aを増加した結果、かえって調整量が増加している。これは、時刻t4における基準量Aが最適値であったことを意味する。したがって、自律制御装置32は、基準量Aとして、時刻t4のときの条件に設定する。
続いて、基準量Bが、1度の角度変化を0.05秒継続するというものであれば、時刻t6において、基準量Bを増加し、例えば、1度の角度変化を0.06秒継続するというものに補正する。時刻t7乃至t9においても、同様の割合で基準量Bを増加した結果、調整量が減少したとする。しかし、時刻t10においては、基準量Bを増加した結果、かえって調整量が増加している。これは、時刻t9における基準量Bが最適値であったことを意味する。したがって、自律制御装置32は、基準量Bとして、時刻t9のときの条件に設定する。
続いて、第二基準量が、1.5度の角度変化を0.05秒継続するというものであれば、時刻t11において、第二基準量を増加し、例えば、1.5度の角度変化を0.06秒継続するというものに補正する。時刻t12乃至t14においても、同様の割合で第二基準量を増加した結果、調整量が減少したとする。しかし、時刻t15においては、第二基準量を増加した結果、かえって調整量が増加している。これは、時刻t14における第二基準量が最適値であったことを意味する。したがって、自律制御装置32は、第二基準量として、時刻t14のときの条件に設定する。
上記のように、基準量A、基準量B及び第二基準量という複数の基準量について、それぞれ最適値に設定することによって、調整量を最小化することができる。これは、第一修正処理A、第一修正処理B及び第二修正処理が、それぞれ、ジャイロセンサー、加速度センサー、電子コンパスという異なるセンサーからの出力に基づく修正処理であることによる。
なお、基準量A、基準量B及び第二基準量の補正は、本実施形態においては、時間の増加によって行ったが、これとは異なり、角度の増加によって行ってもよい。あるいは、時間の増加と角度の増加の双方を実施してもよい。
上述のように、基本的に、基準量A、基準量B及び第二基準量を増加することで、調整量は小さくなるのであるが、無人機1が走行する場所の実際の状況によっては、基準量A等を増加することによって、かえって調整量が増加する場合もある。この点、自律制御装置32は、基準量の増減のいずれが適切かを判断する。例えば、図28に示すように、時刻t2において、基準量Aを増加することによって、調整量が増加したとする。これは、基準量Aの補正として、基準量Aの増加が不適切であることを意味する。この場合、自律制御装置32は、時刻t3においては、基準量Aを減少し、例えば、1度の角度変化を0.04秒継続するというものに補正する。t4においても、同様の割合で基準量Aを減少した結果、調整量が減少したとする。しかし、時刻t5においては、基準量Aを減少した結果、かえって調整量が増加している。これは、時刻t4における基準量Aが最適値であったことを意味する。したがって、自律制御装置32は、基準量Aとして、時刻t4のときの条件に設定する。なお、基準量Aを増加した場合と減少した場合の双方において、調整量が増加した場合は、現時点の基準量Aが最適値であるから、自律制御装置32は現時点の基準量Aを維持する。基準量A及び第二基準量についても同様である。
以下、図28のフローチャートを参照して、基準量の補正処理について説明する。なお、基準量の補正処理は、無人機1の機首方向の修正処理を平行して、適宜のタイミングで実施される。自律制御装置32は、第一修正処理Aの基準量Aを増減し(図28のステップST501)、基準量Aが最適値であると判断すると(ステップST502)、その基準量Aを維持する。続いて、自律制御装置32は、第一修正処理Bの基準量Bを増減し(ステップST503)、基準量Bが最適値であると判断すると(ステップST504)、その基準量Bを維持する。続いて、自律制御装置32は、第二修正処理の第二基準量を増減し(ステップST505)、第二基準量が最適値であると判断すると(ステップST506)、その第二基準量を維持する。自律制御装置32は、終了条件を満たすと判断すると(ステップST507)、終了する。自律制御装置32は、終了条件を満たさないと判断すると(ステップST507)、ステップST501乃至ステップST506の処理を繰り返す。
なお、本発明は上述の各実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。