(57)【要約】【課題】人間の思考における曖昧さを考慮したルートを作成可能な航法装置を提供する。【解決手段】航法装置１は、取得部３１と、ルート作成部３２と、を備える。取得部３１は、船舶用のルートの作成に用いる出発地、目的地、及び海図情報を少なくとも取得する。ルート作成部３２は、所定の条件で少なくとも２つに分けられた航行可能領域の一方を第１航行領域とし、他方を第２航行領域としたときに、取得部３１が取得した出発地、目的地、及び海図情報に基づいて、出発地から目的地までルートに沿って航行したときの合計の距離が短く、かつ、第２航行領域よりも第１航行領域を優先的に通過するルートを作成する。【選択図】図１
2020008443.tif 000002
【特許請求の範囲】
【請求項１】
船舶用のルートの作成に用いる出発地、目的地、及び海図情報を少なくとも取得する取得部と、
所定の条件で少なくとも２つに分けられた航行可能領域の一方を第１航行領域とし、他方を第２航行領域としたときに、前記取得部が取得した出発地、目的地、及び海図情報に基づいて、出発地から目的地までルートに沿って航行したときの合計の距離が短く、かつ、前記第２航行領域よりも前記第１航行領域を優先的に通過するルートを作成するルート作成部と、
を備えることを特徴とする航法装置。
【請求項２】
請求項１に記載の航法装置であって、
前記ルート作成部は、ルート探索時において、前記第１航行領域及び前記第２航行領域を通過する距離が長くなるほど高いコストを設定し、かつ、同じ距離を通過する場合は前記第１航行領域を通過するよりも前記第２航行領域を通過する方が高いコストを設定し、コストの合計が小さいルートを作成することを特徴とする航法装置。
【請求項３】
請求項２に記載の航法装置であって、
前記ルート作成部は、前記第２航行領域内において、通過する場所によって異なる高さのコストを設定することを特徴とする航法装置。
【請求項４】
請求項２又は３に記載の航法装置であって、
海図上の所定の領域と、当該領域を通過するときのコストを算出するための値と、を関連付けて記憶する記憶部を備えることを特徴とする航法装置。
【請求項５】
請求項１から４までの何れか一項に記載の航法装置であって、
前記ルート作成部は、海図上の所定の点又は領域であるノードと、ノード同士を接続するリンクと、を用いて仮ルートを作成し、その後に、仮ルートの少なくとも１つのノードを飛ばしてリンクで接続してルートを作成することを特徴とする航法装置。
【請求項６】
請求項５に記載の航法装置であって、
前記ルート作成部は、仮ルートの２つのノードの領域と、当該２つのノードを接続するリンクが通過する領域と、に基づいて、当該２つのノードを接続するか否かを判定することを特徴とする航法装置。
【請求項７】
請求項５に記載の航法装置であって、
前記ルート作成部は、仮ルートを所定距離だけオフセットしたルートが、所定位置を通過するか否かに基づいて、当該２つのノードを接続するか否かを判定することを特徴とする航法装置。
【請求項８】
請求項１から７までの何れか一項に記載の航法装置であって、
ユーザが入力した条件値に応じて、航行可能領域を少なくとも第１航行領域と第２航行領域に分けることを特徴とする航法装置。
【請求項９】
請求項１から８までの何れか一項に記載の航法装置であって、
水深、及び、陸からの距離の少なくとも何れかに基づいて、航行可能領域を少なくとも第１航行領域と第２航行領域に分けることを特徴とする航法装置。
【請求項１０】
請求項１から９までの何れか一項に記載の航法装置であって、
前記ルート作成部が作成したルートを表示する制御を行う表示制御部を備え、
前記表示制御部は、ルートのうち、前記第１航行領域を通過する部分と、前記第２航行領域を通過する部分と、でルートの外観を異ならせて表示することを特徴とする航法装置。
【請求項１１】
請求項１０に記載の航法装置であって、
前記表示制御部は、ユーザが操作して作成したルートについて、航行不能領域を通過する部分と、前記第１航行領域を通過する部分と、前記第２航行領域を通過する部分と、でルートの外観を異ならせて表示することを特徴とする航法装置。
【請求項１２】
請求項１から１１までの何れか一項に記載の航法装置であって、
燃料に関する演算を行う燃料演算部を備え、
前記ルート作成部は、現在地から燃料補給位置までのルートを作成し、
前記燃料演算部は、作成したルートに沿って燃料補給位置まで移動した場合の燃料消費量を算出することを特徴とする航法装置。
【請求項１３】
請求項１２に記載の航法装置であって、
前記燃料演算部は、現在の燃料から、前記燃料補給位置まで移動した場合の燃料消費量を減算した結果が所定の閾値以下になった場合にその旨を報知することを特徴とする航法装置。
【請求項１４】
請求項１３に記載の航法装置であって、
前記燃料演算部が前記報知を行う際に、前記ルート作成部が作成したルートを表示することを特徴とする航法装置。
【請求項１５】
請求項１から１４までの何れか一項に記載の航法装置であって、
ユーザに対して通知を行う通知部を備え、
前記ルート作成部は、中間点を設定し、前記出発地から前記中間点までの中間ルートを作成し、
前記通知部は、前記中間ルートに関する情報を通知し、
前記ルート作成部は、前記中間ルートの作成の開始後において、出発地から目的地までのルートを作成することを特徴とする航法装置。
【請求項１６】
船舶用のルートの作成に用いる出発地、目的地、及び海図情報を少なくとも取得し、
所定の条件で少なくとも２つに分けられた航行可能領域の一方を第１航行領域とし、他方を第２航行領域としたときに、取得した出発地、目的地、及び海図情報に基づいて、出発地から目的地までルートに沿って航行したときの合計の距離が短く、かつ、前記第２航行領域よりも前記第１航行領域を優先的に通過するルートを作成することを特徴とするルート作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、主として、船舶が航行するためのルートを作成する航法装置に関する。
【背景技術】
【０００２】
従来から、船舶に搭載され、ユーザが出発地と目的地とを入力することでルートを作成するナビゲーション装置が知られている。特許文献１は、この種のナビゲーション装置を開示する。
【０００３】
特許文献１の舶用ナビゲーション装置は、ルート上の２つの地点を接続した場合において、航行不能な領域を通るときは、その航行不能領域を回避するようにルートを補正する。舶用ナビゲーション装置は、この処理を繰り返すことで自動的にルートを作成する。
【０００４】
非特許文献１は、Ａ＊と称される経路探索のアルゴリズムを開示する。Ａ＊は、例えばカーナビゲーション装置で用いられる経路探索の手法である。Ａ＊は、各ノードから目的地までのコスト（距離）の推定値を用いて、出発地から目的地までのコストが最小となるように探索を行う。また、非特許文献２は、Ａ＊を改変したシータ＊と称される経路探索のアルゴリズムを開示する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許第７２６８７０３号明細書
【非特許文献】
【０００６】
【非特許文献１】Ｐｅｔｅｒ  Ｅ．  Ｈａｒｔ、他２名、「Ａ  Ｆｏｒｍａｌ  Ｂａｓｉｓ  ｆｏｒ  ｔｈｅ  Ｈｅｕｒｉｓｔｉｃ  Ｄｅｔｅｒｍｉｎａｔｉｏｎ  ｏｆ  Ｍｉｎｉｍａｌ  Ｃｏｓｔ  Ｐａｔｈｓ」、（米国）、  ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｓｙｓｔｅｍｓ  Ｓｃｉｅｎｃｅ  ａｎｄ  Ｃｙｂｅｒｎｅｔｉｃｓ、１９６８年７月、ＶＯＬ．ｓｓｃ−４、ＮＯ．２、ｐｐ．１００−１０７
【非特許文献２】Ｋｅｎｎｙ  Ｄａｎｉｅｌ、他１名「Ｔｈｅｔａ＊：  Ａｎｙ−Ａｎｇｌｅ  Ｐａｔｈ  Ｐｌａｎｎｉｎｇ  ｏｎ  Ｇｒｉｄｓ」（カナダ）、Ｊｏｕｒｎａｌ  ｏｆ  Ａｒｔｉｆｉｃｉａｌ  Ｉｎｔｅｌｌｉｇｅｎｃｅ  Ｒｅｓｅａｒｃｈ  ２０１０年、３９、ｐｐ．５３３−５７９
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ここで、特許文献１等の従来の舶用ナビゲーション装置では、航行が可能か否かが領域毎に設定されている。そして、航行が可能な領域（航行可能領域）だけを通るようにしてルートを作成する。
【０００８】
しかし、ユーザが手動でルートを作成する場合、航行可能領域であっても例えば陸地に近い領域は可能な限り通過しないルートを作成し、必要な場合（例えば港に繋がる狭い航路を航行する場合等）にだけ陸地に近い領域を通過するルートを作成することがある。また、例えば所定の漁場を可能な限り通過するルートを作成し、非常に遠回りになるのであれば、この漁場を通過しないルートを作成することがある。しかし、航法装置では、このような人間の思考における曖昧さを考慮したルートを作成することができなかった。
【０００９】
本発明は以上の事情に鑑みてされたものであり、その主要な目的は、人間の思考における曖昧さを考慮したルートを作成可能な航法装置を提供することにある。
【課題を解決するための手段及び効果】
【００１０】
本発明の解決しようとする課題は以上の如くであり、次にこの課題を解決するための手段とその効果を説明する。
【００１１】
本発明の第１の観点によれば、以下の構成の航法装置が提供される。即ち、この航法装置は、取得部と、ルート作成部と、を備える。前記取得部は、船舶用のルートの作成に用いる出発地、目的地、及び海図情報を少なくとも取得する。前記ルート作成部は、所定の条件で少なくとも２つに分けられた航行可能領域の一方を第１航行領域とし、他方を第２航行領域としたときに、前記取得部が取得した出発地、目的地、及び海図情報に基づいて、出発地から目的地までルートに沿って航行したときの合計の距離が短く、かつ、前記第２航行領域よりも前記第１航行領域を優先的に通過するルートを作成する。
【００１２】
本発明の第２の観点によれば、以下のルート作成方法が提供される。即ち、船舶用のルートの作成に用いる出発地、目的地、及び海図情報を少なくとも取得する。所定の条件で少なくとも２つに分けられた航行可能領域の一方を第１航行領域とし、他方を第２航行領域としたときに、取得した出発地、目的地、及び海図情報に基づいて、出発地から目的地までルートに沿って航行したときの合計の距離が短く、かつ、前記第２航行領域よりも前記第１航行領域を優先的に通過するルートを作成する。
【００１３】
これにより、航行可能であるが可能な限り航行したくない領域を第２航行領域とすることで、通常は第１航行領域を回避しつつ必要な場合は第２航行領域を通過するようにしてルートを作成できる。また、逆に、可能な限り航行したい領域を第１航行領域とすることで、少し遠回りになってでも第１航行領域を通過するルートを作成できる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態に係る航法装置の構成を示すブロック図。
【図２】ルートの探索時の処理量を低減するために事前に行う処理を示すフローチャート。
【図３】海図を分割したノード及びノード同士を接続するリンクを示す図。
【図４】周囲の距離に応じた水深の差分を示す図。
【図５】ルートの作成時に航法装置が行う処理を示すフローチャート。
【図６】ルートを作成するための喫水、安全水深、及び安全距離を入力する画面を示す図。
【図７】ルートを作成するための出発地及び目的地を入力する画面を示す図。
【図８】水深、航行不能領域までの距離に応じたコストの評価値を定めるグラフ。
【図９】第１航行領域、第２航行領域、及び航行不能領域を概念的に示す図。
【図１０】水深に基づくスムージングを判定する処理を説明する図。
【図１１】航行不能領域までの距離に基づくスムージングを判定する処理を説明する図。
【図１２】目的地までの直線ルートを探索する処理を行わずに作成された仮ルートを示す図。
【図１３】目的地までの直線ルートを探索する処理を行って作成された仮ルートを示す図。
【図１４】航法装置が作成したルートが表示部に表示されている様子を示す図。
【図１５】ユーザが作成したルートが表示部に表示されている様子を示す図。
【図１６】燃料補給の通知の可否を判定する処理を示すフローチャート。
【図１７】燃料の補給が必要である旨の警告及び燃料補給ルートが表示されている画面を示す図。
【図１８】中間ルートの作成を含むルート作成処理を示すフローチャート。
【図１９】出発地と目的地を接続する１つの線分に基づいて中間点を決定することを示す図。
【図２０】過去の航跡に基づいて中間点を決定することを示す図。
【図２１】ＡＩＳで得られた情報に基づいて中間点を決定することを示す図。
【発明を実施するための形態】
【００１５】
次に、図面を参照して本発明の実施の形態を説明する。図１は、航法装置１の全体的な構成を示すブロック図である。
【００１６】
航法装置１は、船舶に搭載され、海図上に自船の位置を表示可能である。また、航法装置１は、ユーザが入力した出発地及び目的地等に基づいて、船舶が航行するためのルートを作成可能である。ユーザは、航法装置１が作成したルートに沿って操舵したり、図略の自動操舵装置にルートに沿うように指示したりすることができる。これにより、船舶はルートに沿って航行することができる。
【００１７】
図１に示すように、航法装置１には、ＧＰＳ受信機１２と、方位センサ１３と、ＡＩＳ装置１４と、が接続されている。また、航法装置１は、演算部２１と、記憶部２２と、表示部２３と、操作部２４と、を備える。演算部２１は、取得部３１と、ルート作成部３２と、表示制御部３３と、燃料演算部３４と、通知部３５と、を備える。
【００１８】
ＧＰＳ受信機１２は、ＧＰＳアンテナ１１が取得した測位信号に基づいて、自船の位置情報を算出する。ＧＰＳ受信機１２が算出した位置情報は、航法装置１の演算部２１に出力される。
【００１９】
方位センサ１３は、自船に固定された複数のＧＰＳアンテナを備えており、ＧＰＳアンテナの相対的な位置関係から船首方位を検出する。方位センサ１３が検出した船首方位は、航法装置１の演算部２１に送信される。なお、方位センサ１３としては、この構成以外にも、例えば磁気方位センサやジャイロコンパス等を用いることができる。
【００２０】
ＡＩＳ装置１４は、ＡＩＳ（Ａｕｔｏｍａｔｉｃ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  Ｓｙｓｔｅｍ：船舶自動識別システム）を用いて他船の情報（具体的には、他船の位置、名称、目的地等、以下ＡＩＳ情報）を取得する。具体的には、ＡＩＳ装置１４は、図略のＡＩＳアンテナを介して、他船が送信したＡＩＳ情報を受信して、演算部２１へ出力する。なお、ＡＩＳ装置１４は、自船のＡＩＳ情報を送信することもできる。
【００２１】
演算部２１は、ＦＰＧＡ、ＡＳＩＣ、又はＣＰＵ等の演算装置により実現される。演算部２１は、予め作成されたプログラムを実行することで、航法装置１に関する様々な処理を実行可能に構成されている。以下の説明では、演算部２１が実行する処理のうち、ルート作成に必要な情報を取得する処理、ルートを作成／判定する処理、ルートを表示する処理について詳細に説明するが、演算部２１はそれ以外の処理についても実行可能である（例えば、縮尺の切替え、メニュー表示等）。
【００２２】
記憶部２２は、フラッシュメモリ（フラッシュディスク及びメモリーカード等）、ハードディスク、あるいは光ディスク等の不揮発性メモリ、又は、ＲＡＭ等の揮発性メモリにより実現される。また、不揮発性メモリと揮発性メモリの両方を備え、記憶する情報に応じて、不揮発性メモリと揮発性メモリとを使い分けてもよい。記憶部２２には、一般的な海図情報だけでなく、ルートの探索時の処理量を低減するために事前に求めた情報（詳細は後述）が記憶されている。
【００２３】
表示部２３は、液晶ディスプレイ等で構成されており、演算部２１が作成した各種の映像を表示することができる。例えば、表示部２３は、海図上の自船の位置及びルートを表示することができる。
【００２４】
操作部２４は、ユーザが操作するための部分である。ユーザは、操作部２４を操作して指示を入力することにより、ルートを作成したり、表示設定を変更したりすることができる。なお、操作部２４は、タッチパネルであってもよいし、十字キーや回転キー等の物理キーであってもよい。また、画面上のポインタを移動させるマウスやトラックボール等であってもよい。
【００２５】
次に、ルートの探索時の処理量を低減するために事前に行う処理について図２から図４を参照して説明する。図２は、ルートの探索時の処理量を低減するために事前に行う処理を示すフローチャートである。図３は、海図を分割したノード及びノード同士を接続するリンクを示す図である。図４は、周囲の距離に応じた水深の差分を示す図である。
【００２６】
図２に示す処理は、航法装置１の出荷前に別の演算装置で行われ、処理の結果が記憶部２２に記憶されている。ただし、図２に示す処理は、ルート作成の指示を受ける前、又は、ルート作成の指示を受けた後に、航法装置１が行ってもよい。
【００２７】
初めに、演算装置は、海図を分割してノードを作成する（Ｓ１０１）。ノードとは、海図を分割した最小単位の領域又は当該領域上の点である。本実施形態では、図３に示すように、各ノードが同じサイズの正方形となるように海図を分割する。なお、図３では、陸を示す部分に斜線のハッチングが付されている。
【００２８】
海図の分割方法は任意であり、各ノードは正方形でなくても良く、例えば六角形であってもよい。また、各ノードの大きさが異なっていてもよい。各ノードの大きさが異なる場合、例えば、四分木分割という方法を用いることができる。具体的には、所定領域の海図を４つの正方形（縦横２つずつ）となるように分割し、この４つの領域について、陸と海が混在する領域は更に４つの正方形に分割し、陸のみ又は海のみの領域については分割を行わない。この処理を継続して行うことで、海図を分割することができる。
【００２９】
次に、演算装置は、分割したノードについて、ノード同士を接続するリンクを作成する（Ｓ１０２）。本実施形態では、図３に示すように、互いに隣接する２つのノードであって、海に相当するノード同士をリンクで接続した（黒丸同士を接続する直線がリンクである）。そのため、陸に相当するノード同士はリンクで接続されていない。また、海と陸に相当する２つのノードもリンクで接続されていない。
【００３０】
次に、演算装置は、分割したノード毎に周囲の水深を調べて、ノード毎の水深を登録する（Ｓ１０３）。具体的には、演算装置は、所定のノードに対して、周囲１ノードの範囲のうち最も水深が浅い領域の水深を求める。図４に示す例では、注目しているノード（黒丸が付されているノード）の周囲１ノードの範囲には、注目しているノードよりも水深が浅い領域が存在しない。従って、周囲１ノードの「水深の差分」は０ｍとなる。次に、演算装置は、このノードに対して、周囲２ノードの範囲のうち最も水深が浅い領域の水深を求める。図４に示す例では、注目しているノードの周囲２ノードの範囲には、注目しているノードよりも水深が１ｍ浅い領域が存在する。従って、周囲２ノードの「水深の差分」は１ｍとなる。次に、演算装置は、このノードに対して、周囲３ノードの範囲のうち最も水深が浅い領域の水深を求める。図４に示す例では、注目しているノードの周囲３ノードの範囲には、陸地が存在する。陸地の水深を０ｍと考えると「水深の差分」は２ｍであるが、陸地が存在する場合には処理を簡単にするために「水深の差分」を一律に１０ｍとする。なお、陸地が存在する場合であっても、陸地の水深を０ｍとして「水深の差分」を計算してもよい。演算装置は、以上の処理を全てのノードに対して行う。なお、ノード毎に大きさが異なる場合、例えば最も小さなノードの大きさをノードの一単位として、同様に処理を行えばよい。また、本実施形態では、周囲３ノードまでの「水深の差」を求めるが、周囲２ノード以下であってもよいし、周囲４ノード以上であってもよい。また、ノードの一辺の長さを１単位とせずに、所定距離を１単位としてもよい。
【００３１】
演算装置は、以上のようにして求めた、ノード、リンク、ノード毎の周囲の水深を海図情報に対応付けて記憶部２２に記憶する。なお、一般的に海図情報に、Ｓ１０１〜Ｓ１０３で求めた情報を付加した情報を「ルート探索用海図情報」と称することがある。
【００３２】
次に、航法装置１のルート作成部３２がルートを作成する処理について図５から図１１を参照して説明する。初めに、ユーザが行う指示（操作）について、図５から図７を参照して説明する。図５は、ルートの作成時に航法装置が行う処理を示すフローチャートである。図６は、ルートを作成するための喫水、安全水深、及び安全距離を入力する画面を示す図である。図７は、ルートを作成するための出発地及び目的地を入力する画面を示す図である。
【００３３】
航法装置１のユーザは、航法装置１を操作して、ルート作成時の条件を入力する。具体的には、ユーザは、図６に示すように、操作部２４を操作して（例えば海図が表示されている部分をタップする等して）ルート作成時の条件を入力する画面を表示させて、この条件（喫水、安全水深、及び安全距離）を入力する。
【００３４】
喫水は、船舶が水に浮かんでいる場合において、船舶の最も下面から水面までの長さである。言い換えれば、「喫水」は、船が沈んでいる深さである。船舶は、水深が喫水以上の領域であれば航行可能である。「安全水深」は、ユーザが余裕をもって航行するために設定される水深であり、喫水より大きな水深が入力される。航法装置１は、可能な限り水深が安全水深以上の領域を通過するようにしてルートを作成する。「安全距離」は、航行不能領域（陸地又は水深が喫水未満の海域）に対してどの程度離れた位置を通過するかを定めるものである。航法装置１は、可能な限り航行不能領域からの距離が安全距離以上となるようにしてルートを作成する。ユーザが操作部２４を操作して入力した、喫水、安全水深、及び安全距離は、演算部２１の取得部３１によって取得される（Ｓ２０１）。
【００３５】
次に、ユーザは、航法装置１を操作して、ルート作成時の出発地及び目的地を入力する。また、必要に応じて経由地を入力する。具体的には、ユーザは、図７に示すように、操作部２４を操作して（例えば海図が表示されている部分をタップする等して）ルート作成時の出発地及び目的地を入力する画面を表示させる。その後、操作部２４を操作して（例えば海図上の出発地又は目的地に該当する箇所をタップする等して）出発地及び目的地を入力する。ユーザが操作部２４を操作して入力した出発地及び目的地は、演算部２１の取得部３１によって取得される（Ｓ２０２）。
【００３６】
次に、演算部２１のルート作成部３２は、記憶部２２からルート探索用海図情報を読み出しつつ、仮ルートを作成する（Ｓ２０３）。本実施形態では、ルート作成部３２は、Ａ＊というアルゴリズムを用いて、ルートの探索を行う。具体的には、以下の式（１）で示されるコストが最小になるようにルートを探索する。
ｆ（ｍ）＝ｇ（ｎ）＋ｈ（ｍ）＋Ｅｖａｌ（ａ，ｂ，・・）Ｃｏｓｔ（ｎ，ｍ）  （１）
Ｅｖａｌ（ａ，ｂ，・・）＝１＋α１＊Ｆｕｎｃ１（ａ）＋α２＊Ｆｕｎｃ２（ｂ）＋・・  （２）
【００３７】
ｆ（ｍ）は出発地からノードｍを通り目的地に到達するルートの最小コストである。ｇ（ｎ）は、出発地からノードｎまでの最小コストの推定値である。ｈ（ｍ）は、ノードｍから目的地までの最小コストの推定値である。なお、ノードｍは、ノードｎに隣接するノードである。ｇ（ｎ）はＡ＊のアルゴリズムを実行することで求まるが、ｈ（ｍ）は妥当な推定値を入力する必要がある。本実施形態では、ｈ（ｍ）は、ノードｍから目的地までの直線距離であるが、別の方法で求めたｈ（ｍ）を用いてもよい。
【００３８】
Ｃｏｓｔ（ｎ，ｍ）は、ノードｎからノードｍへ移動するときのコストである。Ｃｏｓｔ（ｎ，ｍ）は、どの領域を移動するかは加味しない値であるため、移動距離に比例する値となる（以下、移動コストと称する）。Ｅｖａｌ（ａ，ｂ，・・・）は、領域に応じて定められる評価値であり、移動コストと評価値の積がコストとなる。
【００３９】
Ａ＊のアルゴリズムでは、ノードｎに隣接する全てのノードｍについてｆ（ｍ）を計算し、それを繰り返すことで、出発地から目的地に到達するルートの最小コストを算出する。そして、最小コストとなる際に経由したノードを接続したものが、最小コストのルートとなる。
【００４０】
式（２）は、評価値を示す関数である。Ｆｕｎｃ１（ａ）とＦｕｎｃ２（ｂ）はそれぞれ別の観点の評価値である。また、α１はＦｕｎｃ１（ａ）の重み係数であり、α２はＦｕｎｃ２（ｂ）の重み係数である。
【００４１】
以下、上記のＡ＊のアルゴリズムを船舶のルート作成に用いる例を説明する。図８は、水深、航行不能領域までの距離に応じたコストの評価値を定めるグラフである。図９は、第１航行領域、第２航行領域、及び航行不能領域を概念的に示す図である。
【００４２】
本実施形態では、「水深」と「航行不能領域までの距離」をそれぞれ考慮した評価値を用いる。図８には、評価値の具体的な計算方法が示されている。図８の上側のグラフは、水深に応じたコストの評価値を定めるグラフである。このグラフに示すように、水深が安全水深以上である場合は、評価値は最低値となり、一定である。水深が喫水以上であるが安全水深未満である場合は、評価値は喫水に近づくに従って大きくなる。水深が喫水未満である場合、評価値は無限大である。
【００４３】
図８の下側のグラフは、航行不能領域までの距離に応じたコストの評価値を定めるグラフである。このグラフに示すように、航行不能領域までの距離が安全距離以上である場合は、評価値は最低値となり、一定である。航行不能領域までの距離が安全距離未満である場合は、評価値は航行不能領域に近づくに従って大きくなる。
【００４４】
航行不能領域までの距離に応じたコストの評価値を求める場合、注目するノードから、水深が喫水未満のノードまでの距離が必要となる。従って、注目するノードの水深ではなく、その周囲の水深が必要となる。例えば注目するノードの周囲３ノードの水深を読み出す場合、注目するノードに加え、更に４８ノード分の水深が必要となる（図４を参照）。従って、処理量が多くなる。しかし、本実施形態では、ノード毎に周囲のノードの水深が予め計算されて記憶部２２に記憶されているので、ルート探索時の処理量を大幅に低減できる。
【００４５】
図９には、このグラフの結果に基づいて海図上の領域を分けた例を示している。最も密度が高いドットを付した領域（第１航行領域）は、水深が安全水深以上であって、かつ、航行不能領域までの距離が安全距離以上の領域である。言い換えれば、第１航行領域は、図８における評価値がともに最低値となる領域である。次に密度が高いドットを付した領域（第２航行領域）は、水深が喫水以上、安全水深未満であるか、航行不能領域までの距離が安全距離未満である領域である（航行不能領域を除く）。言い換えれば、第２航行領域は、航行は可能であるが、評価値（即ち通過時のコスト）が第１航行領域よりも高い領域である。最も密度が低いドットを付した領域（航行不能領域）は、水深が喫水未満であり、航行できない領域である。
【００４６】
上述のように、ルート作成部３２は、出発地から目的地までのコストが最小になるようにルートを作成する。これにより、少し遠回りになる程度であれば、第２航行領域を迂回して第１航行領域を通過するルートの方がコストが低くなるため、ルート作成部３２はこのようなルートを作成する。図９では、出発地から真西に進んだ方が目的地までの距離は短くなるが、出発地の西の第２航行領域を通過することでコストが高くなってしまう。従って、ルート作成部３２は、出発地から南に進んだ後に西に進むルートを作成する。
【００４７】
また、非常に遠回りになる場合又は第２航行領域を通過しないと目的地に到達できない場合等は、第２航行領域を通過するルートの方がコストが低くなるため、ルート作成部３２はそのようなルートを作成する。図８では、画面中央近傍の第２航行領域を迂回すると非常に遠回りになるため、ルート作成部３２は、この第２航行領域を通過するルートを作成する。
【００４８】
また、航行不能領域を航行する場合はコストが無限大となるので航行不能領域を航行するルートが作成されることはない。なお、航行不能領域の評価値を無限大とする手法に代えて、ルート探索の際に、航行不能領域に接続されるリンクを予め選択できないようにしてもよい。
【００４９】
以上のようにして、コストが最小となるルートが求められる。このようにして求められたルートは、隣接するノードを辿ったものであり、進行方向が小刻みに変化して、航行しにくかったり最短でなかったりする。以下、この隣接するノードを辿ったルートを「仮ルート」と称する。
【００５０】
ルート作成部３２は、この仮ルートについて、一部のノードを飛ばしてリンクで接続することで、最終的なルートを作成する（Ｓ２０４）。以下、この処理をスムージングと称する。スムージングを行うことで、ルートが滑らかになったり、更に距離を短くすることができるが、航行不能領域又は第２航行領域を新たに通過する可能性があるため、所定の条件を満たした場合に、スムージングを行う。また、スムージングを行うか否かは、「水深」と「航行不能領域までの距離」の両方の観点で判断される。
【００５１】
初めに、「水深」の観点からスムージングを判定する処理を説明する。図１０は、水深に基づくスムージングを判定する処理を説明する図である。図１０では、丸印の内部の数字が水深を示しており、０の場合は喫水未満、１の場合は喫水以上で安全水深未満、３の場合は安全水深以上である。
【００５２】
初めに、接続を試みる仮ルートの２つのノードの水深がともに安全水深以上である場合を考える。この場合、ルート作成部３２は、２つのノードを接続するリンクが安全水深以上の領域のみを通過するときは、この２つのノードを接続する。この条件を満たす場合は、水深が安全水深未満の領域を新たに通過しないため、スムージングの利点のみを得ることができる。図１０に示す例では、スムージングＡがこの条件を満たしている。
【００５３】
次に、接続を試みる仮ルートの２つのノードの水位がともに、喫水以上で安全水深未満である場合を考える。この場合、ルート作成部３２は、２つのノードを接続するリンクが全て同じ水位を通るか、水位の差が所定以下である場合に、２つのノードを接続する。また、この条件に代えて、２つのノードを接続するリンクが２つのノードの水位と同じか、それより高い水位のみを通る場合に、２つのノードを接続してもよい。図１０に示す例では、スムージングＢがこの条件を満たしている。
【００５４】
次に、接続を試みる仮ルートの２つのノードの一方が安全水深以上で、他方が喫水以上で安全水深未満である場合を考える。この場合、ルート作成部３２は、スムージングを行わない。これにより、喫水以上で安全水深未満の領域を通過する長さを抑えることができる。図１０に示す例では、スムージングＣがこの条件を満たすため、スムージングが行われていない。
【００５５】
次に、「航行不能領域までの距離」の観点からスムージングを行うか否かを判定する処理を説明する。図１１は、航行不能領域までの距離に基づくスムージングを判定する処理を説明する図である。
【００５６】
図１１において、ルート作成部３２が作成した仮ルートを太線で示している。また、接続を試みる仮ルートの２つのノードに黒丸を付している。「航行不能領域までの距離」の観点では、この仮ルートを安全距離に相当する距離だけオフセットし、このオフセットしたルートが航行不能領域上を通過しない場合はスムージングを行い、オフセットしたルートが航行不能領域上を通過する場合はスムージングを行わない。
【００５７】
図１１に示す例では、安全距離が１ノードの場合、オフセットしたルートが航行不能領域上を通過しないのでスムージングを行う。一方、安全距離が２ノードの場合、オフセットしたルートが航行不能領域上を通過するので、スムージングを行わない。
【００５８】
ルート作成部３２は、以上のようにして仮ルートにスムージングを行うことで、最終的なルートを作成する。なお、スムージングは、できる限り多数のノードを飛ばす方が効率的であるため、初めに出発地と目的地とを接続するスムージングを検討し、このスムージングができない場合は、出発地のノードを１つ進めて（又は目的地のノードを１つ戻して）スムージングができるか否かを判定する。そして、スムージングが可能なノードが存在しなくなった時点で、スムージングを終了する。なお、スムージングは必須ではなく、省略することもできる。
【００５９】
また、本実施形態では、ルート作成部３２は、ステップＳ２０３の処理において、ノードを飛ばすことなく（即ち、隣接するノードを辿って）仮ルートを作成する。これに代えて、ノードを飛ばした仮ルートを作成することもできる。以下、図１２及び図１３を参照して説明する。図１２には、本実施形態のように、ノードを飛ばさずに作成した仮ルートが示されている。ここで、図１２に示すノードＡから目的地まで移動する際に通過する領域及びその周囲の領域が、全て第１航行領域である場合（あるいは全て第２航行領域である場合）、スムージングを行うことで、ノードＡと目的地が一直線で接続される。つまり、仮ルートにおけるノードＡから目的地までの探索結果は、最終的なルートに反映されない。
【００６０】
そのため、ルート作成部３２は、以下の処理を行うことで、ルートの探索に係る処理量を低減できる。即ち、ルート作成部３２は、仮ルートの作成中において（詳細にはコストを計算しつつ次に経由すべきノードを探索しているときにおいて）、着目しているノードと目的地とを一直線で接続した場合に、この一直線上に障害物等の航行不能領域が存在するか否かを判定する。そして、この一直線上に航行不能領域が存在しない場合、着目しているノードと目的地とを一直線で接続する仮ルートを作成する。図１３に示す例では、ルート作成部３２は、ノードＡに着目している間において、ノードＡと目的地とを接続する一直線上に航行不能領域が無いことを特定し、ノードＡと目的地とを一直線で接続して、仮ルートの作成を完了する。
【００６１】
このような処理を行うことで、着目しているノードから目的地までのルートの探索を省略できるので、ルートの探索に係る処理量を低減できる。なお、着目しているノードと目的地とを一直線で接続する場合において、この一直線上に上記の評価値が高い領域（例えば第２航行領域）が存在するときは、移動距離は短いがコストが高い仮ルートが作成される可能性がある。そのため、例えば、ルート作成部３２は、この一直線が通る領域の評価値が一定である場合（特に評価値が最小の場合）、着目しているノードと目的地とを一直線で接続して、仮ルートの作成を完了する。なお、評価値を考慮せずに、着目しているノードと目的地とを一直線で接続することもできる。
【００６２】
次に、作成したルートの表示方法について簡単に説明する。表示制御部３３は、作成したルートを海図上に表示する画像を作成し、表示部２３に出力する。このとき、表示制御部３３は、ルートのうち、第１航行領域を通過する部分と、第２航行領域を通過する部分と、で外観を異ならせる（図１４を参照）。本実施形態では、両者で色を異ならせている（図１４では第２航行領域に相当する部分にハッチングを付している）が、例えば一方のみを点滅させてもよいし、一方のみに所定の模様を付してもよい。これにより、ユーザは、第２航行領域を通過する部分を一見して認識することができる。
【００６３】
次に、ユーザが作成したルートの判定方法について簡単に説明する。ユーザは、操作部２４を操作して、出発地、経由地、及び目的地を選択する。ルート作成部３２は、これらの地点を接続することでルートを作成する。ルート作成部３２は、このようにして作成したルートを判定する。上述のようにルート作成部３２は、このルートが存在する領域が、第１航行領域に該当するのか、第２航行領域に該当するのか、航行不能領域に該当するのかを判定可能である。
【００６４】
表示制御部３３は、この判定結果に基づいて、ルートのうち、第１航行領域を通過する部分と、第２航行領域を通過する部分と、航行不能領域を通過する部分と、で外観を異ならせる（図１５を参照）。図１５では、第２航行領域に相当する部分にハッチングを付し、航行不能領域に相当する部分を塗り潰している。なお、外観の異ならせ方のバリエーションは、航法装置１が作成したルートを表示する場合と同様である。
【００６５】
燃料演算部３４は、燃料の補給の必要性を判定する制御を行う。以下、図１６のフローチャートに沿って具体的に説明する。
【００６６】
初めに、燃料演算部３４は、ＧＰＳ受信機１２が算出した現在位置を取得するとともに、図略の燃料計から燃料残量を取得する（Ｓ３０１）。次に、燃料演算部３４は、今回の航海における移動量（即ち、出港から現在位置までの合計の移動量）を、出港から現在までに消費した燃料で除することで、平均燃費を算出する（Ｓ３０２）。
【００６７】
なお、平均燃費の算出に用いる期間は一例であり、過去の所定時間（例えば５時間）を用いてもよいし、以前の航海を含めてもよい。また、燃料消費量は、船舶の速度、船舶の旋回回数、潮流の強さ及び方向等にも依存するため、これらのうち少なくとも１つを考慮して平均燃費を算出してもよい。また、予め定められた燃費（例えば船舶のカタログ上の燃費）を用いることで、平均燃費の計算を省略することもできる。
【００６８】
次に、燃料演算部３４は、現在位置を出発地とし、予め登録された燃料補給位置（ホームポート等の港の位置）を目的地として、上述の方法によりルートを作成する（Ｓ３０３）。以下では、このルートを燃料補給ルートと称する。燃料補給ルートは、本実施形態の方法で作成されるため、航行可能であるが可能な限り航行したくない領域をできる限り避けたルートが作成される。燃料補給ルートの作成時点では、燃料補給ルートは表示部２３に表示されない。
【００６９】
次に、燃料演算部３４は、仮想残燃料を算出する（Ｓ３０４）。仮想残燃料とは、燃料補給ルートに沿って燃料補給位置まで航行したときの燃料残量である。具体的には、燃料補給ルートの長さを平均燃費で除することで、燃料補給ルートを航行するために必要な燃料量を算出する。そして、現在の燃料残量から、燃料補給ルートを航行するために必要な燃料量を減ずることで、仮想残燃料が算出される。なお、仮想残燃料の算出方法は一例である。例えば、燃料補給ルートの旋回回数及び潮流等を考慮して必要な燃料を算出してもよい。
【００７０】
次に、燃料演算部３４は、仮想残燃料が閾値以下か否かを判定する（Ｓ３０５）。この閾値は航法装置１の製造時に定められていてもよいし、ユーザが任意に変更可能であってもよい。閾値を大きくするほど、早いタイミングで燃料補給が要求されることとなる。燃料演算部３４は、仮想残燃料が閾値以下である場合、図１７に示すように、燃料の補給が必要である旨の警告と、燃料補給ルートを表示部２３に表示する（Ｓ３０６）。一方、燃料演算部３４は、仮想残燃料が閾値より大きい場合、ステップＳ３０１以降の処理を再び行う。つまり、燃料演算部３４は、燃料補給ルートの作成と仮想残燃料の算出を所定の間隔で行い、仮想残燃料が閾値を以下となった時点で警告及び燃料補給ルートの表示を行う。
【００７１】
なお、燃料演算部３４は、燃料補給ルートに加えて、燃料補給位置を出発地とし、今回の航海における終着地を目的地としたルートを作成して表示してもよい。また、警告としては、表示部２３に表示することに加えて又は代えて、警告音又は警告メッセージをスピーカから出力する構成であってもよい。また、警告と燃料補給ルートの表示の一方を省略する構成であってもよい。
【００７２】
次に、中間ルートの作成を含むルート作成処理について図１８から図２１を参照して説明する。本実施形態のように、コストを考慮して通過するノードを決定する処理は、特にルートの距離が長くなるに連れて、処理量が大幅に多くなる。従って、ルート作成部３２が出発地から目的地までのルートを作成する場合、ユーザの待ち時間が長くなる可能性がある。ユーザが出発の直前にルートを作成する場合、ユーザはルートの作成が完了するまで船を出発させることができない。この点を考慮し、ルート作成部３２は、最終的なルートの作成前に、出発地から中間点までのルートである中間ルートを作成して、ユーザに提示する。これにより、ユーザは、中間ルートに基づいて、出発する方向等を特定することができる。この処理は、出発地から目的地までの距離が所定の閾値を超える場合に自動的に行ってもよい。あるいは、ユーザの設定に応じて、この処理の実行の有無を切替可能であってもよい。
【００７３】
以下、中間ルートの作成を含むルート作成処理について具体的に説明する。ルート作成部３２は、初めに上記の中間点を設定する（Ｓ４０１）。中間点は、以下に例示する様々な方法で決定され、この決定された中間点がルート作成部３２により設定される。中間点を決定する方法は様々であるが、例えば、（１）ユーザの指定により決定する方法、（２）出発地と目的地に基づいて決定する方法、（３）過去の航跡に基づいて決定する方法、（４）ＡＩＳ情報に基づいて決定する方法等が考えられる。
【００７４】
（１）ユーザの指定により決定する方法とは、ユーザが操作部２４を操作して、例えば海図上の所定点を指定する方法である。つまり、ユーザは、出発地と目的地に加えて、中間点を指定する。なお、ユーザが経由地を１又は複数指定した場合は、何れかの経由地を中間点として取り扱うこともできる。
【００７５】
（２）出発地と目的地に基づいて決定とは、図１９に示すように、出発地と目的地とを接続する線分上の所定点を中間点として定める方法である。更に、本実施形態では、この線分上の地点のうち、海、川、及び湖等（言い換えれば陸地以外の部分）が中間点として決定される。なお、中間点が目的地に近過ぎる場合、あるいは、出発地から中間点までの距離が遠過ぎる場合、中間ルートの作成にも時間が掛かるため、出発地から遠すぎない位置（つまり、出発地からの距離が所定の閾値以下の地点）が中間点として決定されることが好ましい。
【００７６】
（３）過去の航跡に基づいて決定とは、図２０に示すように、過去の航跡上の所定点を中間点として定める方法である。航海時は過去の航跡と同様のルートで目的地に向かう可能性があるため、過去の航跡上の所定点を中間点として定めることは妥当性が高い。また、過去の航跡のうち、目的地に最も近い地点を通る航跡を選択し、この航跡上の所定点が中間点として定められることが好ましい。更に言えば、目的地に最も近い点を通る航跡であるだけでなく、更に、出発地の近傍から目的地に向かっている航跡であることが一層好ましい。つまり、出発地及び目的地の位置に基づいて航跡を選択され、この航跡上の所定点が中間点として定められる。なお、航跡上のどの点を中間点として定めるかは、（２）の方法と同様である。
【００７７】
（４）ＡＩＳ情報に基づいて決定とは、図２１に示すように、ＡＩＳ情報が示す他船の位置及び向き（船首方位）に基づいて、中間点を定める方法である。他の船舶も、自船と同様のルートで目的地（又はその近傍）に向かう可能性があるため、他船の位置及び向きに基づく位置を中間点とすることは妥当性が高い。具体的には、ＡＩＳ情報に基づいて他船の位置及び向きを取得し、目的地を向いている他船を特定し（即ち、目的地に対する方向の誤差が最も小さい他船を特定し）、この他船の位置を中間点として決定する。また、ＡＩＳ情報には他船の目的地が含まれているため、自船の目的地に近い地点を目的地とする他船を特定し、この他船の位置を中間点として決定することもできる。
【００７８】
上記の中間点の決定方法は一例であり、異なる方法で決定することもできる。また、中間点を決定する処理は、演算部２１が行ってもよいし、自船の他の機器又は自船外の機器（例えば図１に示す陸上に設置されたサーバ１００）が行ってもよい。自船外の機器が中間点を決定する場合、演算部２１は、中間点を決定するための情報（出発地、目的地、過去の航跡、及びＡＩＳ情報等）を、自船外の機器へ送信する。なお、自船外の機器は、これらの情報だけでなく、別の船舶から受信した情報を更に用いて中間点を求めることもできる。言い換えれば、この自船外の機器は、複数の船舶について、航跡、出発地、目的地、中間点、及びＡＩＳ情報の情報を蓄積することで、妥当性の高い中間点を決定できる。
【００７９】
ステップＳ４０１でルート作成部３２が中間点を設定した後に、ルート作成部３２は、出発地から中間点までの中間ルートを作成する（Ｓ４０２）。中間ルートは、出発地から目的地までの最終的なルートと同じ方法で作成される。なお、最終的なルートの作成方法と、中間ルートの作成方法と、が異なっていてもよい。
【００８０】
次に、通知部３５は、中間ルートに関する情報をユーザに通知する（Ｓ４０３）。通知部３５は、表示部２３に情報を表示する処理を行ったり、図略のスピーカから音声を発する処理を行ったりすることで、ユーザに通知を行う。ここで、中間ルートに関する情報とは、地図上に示した中間ルート等の中間ルート自体の情報と、自船の出発の方向等の中間ルートから導き出される情報と、を含む。別の観点から説明すると、最終的なルートが作成されるまでユーザが待機せざるを得ない事態を防止するために、通知部３５は、自船の運行に関する情報をユーザに通知することが更に好ましい。
【００８１】
次に、ルート作成部３２は、上述した処理を行って、出発地から目的地までの最終的なルートを作成する（Ｓ４０４）。最終的なルートを作成する処理は、中間ルートに関する情報の通知（ステップＳ４０３）の後に開始する。ただし、最終的なルートを作成する処理は、中間ルートの作成（Ｓ４０２）の後に開始してもよいし、中間ルートの作成の開始後であって完了前に開始してもよい。
【００８２】
以上の処理を行うことで、最終的なルートの作成が完了する前において、ユーザは、自船の運行に関する処理を進めることができる。
【００８３】
以上に説明したように、本実施形態の航法装置１は、取得部３１と、ルート作成部３２と、を備え、以下のルート作成方法を行う。取得部３１は、船舶用のルートの作成に用いる出発地、目的地、及び海図情報を少なくとも取得する。ルート作成部３２は、所定の条件で少なくとも２つに分けられた航行可能領域の一方を第１航行領域とし、他方を第２航行領域としたときに、取得部３１が取得した出発地、目的地、及び海図情報に基づいて、出発地から目的地までルートに沿って航行したときの合計の距離が短く、かつ、第２航行領域よりも第１航行領域を優先的に通過するルートを作成する。
【００８４】
これにより、航行可能であるが可能な限り航行したくない領域を第２航行領域とすることで、通常は第１航行領域を回避しつつ必要な場合は第２航行領域を通過するようにしてルートを作成できる。
【００８５】
また、本実施形態の航法装置１において、ルート作成部３２は、ルート探索時において、第１航行領域及び第２航行領域を通過する距離が長くなるほど高いコストを設定し、かつ、同じ距離を通過する場合は第１航行領域を通過するよりも第２航行領域を通過する方が高いコストを設定し、コストの合計が小さいルートを作成する。
【００８６】
これにより、航行可能であるが可能な限り航行したくない、又は、遠回りになってもできる限り航行したい等といった人間的な思考を数値化して取り扱うことができる。
【００８７】
また、本実施形態の航法装置１において、ルート作成部３２は、第２航行領域内において、通過する場所によって異なる高さのコストを設定する。
【００８８】
これにより、所定の条件を満たす場所にできる限り近づきたい又は近づきたくないという事情がある場合においても、それらの事情を反映したルートを作成できる。
【００８９】
また、本実施形態の航法装置１は、海図上の所定の領域と、当該領域を通過するときのコストを算出するための値と、を関連付けて記憶する記憶部２２を備える。
【００９０】
これにより、領域を通過するときのコストをルートの探索時に領域毎に求める必要がないため、ルートの探索時の処理量を低減できる。
【００９１】
また、本実施形態の航法装置１において、ルート作成部３２は、海図上の所定の点又は領域であるノードと、ノード同士を接続するリンクと、を用いて仮ルートを作成し、その後に、仮ルートの少なくとも１つのノードを飛ばしてリンクで接続してルートを作成する。
【００９２】
このように、ノードとリンクを用いてルートを作成することで、漠然とルートを作成する場合と比較して、効率的かつ論理的にルートを作成できる。また、その後にノードを飛ばしてリンクで接続することで、ルートの距離を短くすることができる。
【００９３】
また、本実施形態の航法装置１において、ルート作成部３２は、仮ルートの２つのノードの領域と、当該２つのノードを接続するリンクが通過する領域と、に基づいて、当該２つのノードを接続するか否かを判定する。
【００９４】
これにより、例えば、ノードを飛ばして２つのノードを接続する際のデメリット（第２航行領域を通過する長さが長くなる、航行不能領域を通過するルートが作成される等）を防止しつつ、ノードを飛ばして２つのノードを接続できる。
【００９５】
また、本実施形態の航法装置１において、ルート作成部３２は、仮ルートを所定距離だけオフセットしたルートが、所定位置を通過するか否かに基づいて、当該２つのノードを接続するか否かを判定する。
【００９６】
これにより、所定位置から離れた状態を維持しつつ、又は、所定位置に近づいた状態を維持しつつ、２つのノードを接続できる。
【００９７】
また、本実施形態の航法装置１においては、ユーザが入力した条件値に応じて、航行可能領域を少なくとも第１航行領域と第２航行領域に分ける。
【００９８】
これにより、ユーザの好み又は船舶の大きさ等に基づいて第１航行領域及び第２航行領域を設定できる。
【００９９】
また、本実施形態の航法装置１においては、水深、及び、陸からの距離の両方に基づいて、航行可能領域を少なくとも第１航行領域と第２航行領域に分ける。
【０１００】
これにより、水深が浅い箇所、及び、陸からの距離が近い箇所の航行を可能な限り避けたルートを作成できる。
【０１０１】
また、本実施形態の航法装置１は、ルート作成部３２が作成したルートを表示する制御を行う表示制御部３３を備える。表示制御部３３は、ルートのうち、第１航行領域を通過する部分と、第２航行領域を通過する部分と、でルートの外観を異ならせて表示する。
【０１０２】
これにより、航行可能であるが可能な限り航行したくない領域、又は、できる限り航行したい領域を一見して確認することができる。
【０１０３】
また、本実施形態の航法装置１において、表示制御部３３は、ユーザが操作して作成したルートについて、航行不能領域を通過する部分と、第１航行領域を通過する部分と、第２航行領域を通過する部分と、でルートの外観を異ならせて表示する。
【０１０４】
これにより、ユーザが作成したルートを判定することができる。
【０１０５】
また、本実施形態の航法装置１は、燃料に関する演算を行う燃料演算部３４を備える。ルート作成部３２は、現在地から燃料補給位置までのルート（燃料補給ルート）を作成する。燃料演算部３４は、作成したルートに沿って燃料補給位置まで移動した場合の燃料消費量を算出する。
【０１０６】
これにより、直線距離ではなく燃料補給位置までの実際の航行距離に基づいて燃料消費量を算出するため、精度の高い燃料消費量を把握することができる。
【０１０７】
また、本実施形態の航法装置１においては、燃料演算部３４は、現在の燃料から、燃料補給位置まで移動した場合の燃料消費量を減算した結果（仮想残燃料）が所定の閾値以下になった場合にその旨を報知する。
【０１０８】
これにより、精度の高い燃料消費量に基づいて、燃料の補給が必要なタイミングをユーザに知らせることができる。
【０１０９】
また、本実施形態の航法装置１においては、燃料演算部３４が報知を行う際に、ルート作成部３２が作成したルートを表示する。
【０１１０】
これにより、燃料補給位置に向かうルートをユーザに知らせることができる。特に、燃料補給ルートは、本実施形態のコストを考慮した処理により作成されるため、航行可能であるが可能な限り航行したくない領域をできる限り避けたルートが提案される。
【０１１１】
また、本実施形態の航法装置１は、ユーザに対して通知を行う通知部３５を備える。ルート作成部３２は、中間点を設定し、出発地から中間点までの中間ルートを作成する。通知部３５は、中間ルートに関する情報をユーザに通知する。ルート作成部３２は、中間ルートの作成の開始後において、出発地から目的地までのルートを作成する。
【０１１２】
これにより、最終的なルートの作成が完了する前において、ユーザは、自船の運行に関する処理を進めることができる。
【０１１３】
以上に本発明の好適な実施の形態を説明したが、上記の構成は例えば以下のように変更することができる。例えば、本実施形態の航法装置１が有する機能の一部を省略することができる。
【０１１４】
上記の実施形態では、評価値として「水深」と「航行不能領域までの距離」を用いたが、何れか一方のみを用いてもよい。例えば「水深」のみを評価値として用いた場合、喫水以上で安全水深未満の全ての領域が第２航行領域に該当し、安全水深以上の領域が第１航行領域に該当する。
【０１１５】
また、「水深」と「航行不能領域までの距離」以外の条件による評価値を用いてもよい。例えば、「天候」による評価値を用いることができる。この場合、航法装置１は、外部から位置に応じた天候情報を取得する。このように、航法装置１は、海図だけから特定される情報ではなく、外部のセンサや通信機器から取得した情報を参照して評価値を求めてもよい。そして、天候が悪い領域を通過する場合は、天候が良好な領域を通過する場合よりも、単位距離当たりのコストが大きくなるように設定する。これにより、ルート作成部３２は、天候が悪い領域を可能な限り避け、必要な場合にのみ天候が悪い領域を通過するルートを作成できる。
【０１１６】
上記の実施形態では、ルート作成部３２は、ユーザが近づきたくない領域（水深が浅い領域）を可能な限り避けるようにルートを作成する。これに代えて、ルート作成部３２は、ユーザが近づきたい領域（効率のよい漁場、天候が良好な場所、又は景色がよい場所）を可能な限り通過するようにルートを作成することもできる。この場合、ユーザが近づきたい領域が第１航行領域に該当し、それ以外の領域が第２航行領域に該当する。第１航行領域を通過するコストは、第２航行領域を通過するコストよりも小さいので、ルート作成部３２は、多少遠回りであっても第１航行領域を通過するようにルートを作成する。
【０１１７】
上記の実施形態では、Ａ＊アルゴリズムを用いてルートを探索したが、別のアルゴリズム（例えばダイクストラ法）でルートを探索してもよい。また、コストという概念を用いなくてもよい。例えば、第１航行領域のみを通過して出発地から目的地に至るルートを探索し、そのようなルートが探索できない又は所定距離（出発地から目的地までの直線距離の所定倍の距離等）を超えた場合、第２航行領域を通過するルートを探索する手法を用いてもよい。
【０１１８】
図９で示したグラフは一例であり、異なっていてもよい。例えば、水深に応じた評価値を定めるグラフにおいて、喫水以上で安全水深未満の評価値を一定値（安全水深以上の評価値よりも大きい値）としてもよい。また、このグラフにおいて、喫水以上で安全水深未満の領域を、直線ではなく曲線（Ｎ次関数又は指数関数等）としてもよい。また、航行不能領域までの距離に応じた評価値を定めるグラフにおいて、水深と同様に、航行不能領域までの距離が所定以上小さい場合に、コストが無限大となるようにしてもよい。また、安全距離未満の領域を、直線ではなく曲線（Ｎ次関数又は指数関数等）としてもよい。
【０１１９】
上記の実施形態では、事前に他の演算装置で求めた探索用海図情報を出荷時に航法装置１の記憶部２２に記憶しているが、船舶でインターネット通信が可能な場合は、海上において、探索用海図情報を受信する構成であってもよい。また、寄港地において、探索用海図情報を取得することもできる。
【０１２０】
上記の実施形態では、喫水、安全水深、及び安全距離をユーザが入力するが、例えば船舶に関する情報を記憶する記憶装置から必要な情報を取得し、航法装置１がこれらの値を自動的に設定してもよい。
【０１２１】
上記の実施形態では、記憶部２２は、「航行不能領域までの距離」の評価値を求めるための情報（周囲の水深）をノード毎に予め記憶している。これに代え、各ノードの評価値そのものをノード毎に記憶してもよい。また、「水深」の評価値そのものをノード毎に記憶してもよい。
【符号の説明】
【０１２２】
１  航法装置
２１  演算部
２２  記憶部
３１  取得部
３２  ルート作成部
３３  表示制御部
【図１】
2020008443.tif 000003
【図２】
2020008443.tif 000004
【図３】
2020008443.tif 000005
【図４】
2020008443.tif 000006
【図５】
2020008443.tif 000007
【図６】
2020008443.tif 000008
【図７】
2020008443.tif 000009
【図８】
2020008443.tif 000010
【図９】
2020008443.tif 000011
【図１０】
2020008443.tif 000012
【図１１】
2020008443.tif 000013
【図１２】
2020008443.tif 000014
【図１３】
2020008443.tif 000015
【図１４】
2020008443.tif 000016
【図１５】
2020008443.tif 000017
【図１６】
2020008443.tif 000018
【図１７】
2020008443.tif 000019
【図１８】
2020008443.tif 000020
【図１９】
2020008443.tif 000021
【図２０】
2020008443.tif 000022
【図２１】
2020008443.tif 000023