以下、この開示をより詳細に説明するために、この開示を実施するための形態について、添付の図面に従って説明する。
実施の形態1.
図1は、実施の形態1に係る人工衛星システムの要部を示すブロック図である。図2は、実施の形態1に係る人工衛星システムにおける画像生成装置の要部を示すブロック図である。図3は、実施の形態1に係る人工衛星システムにおける航行制御装置の要部を示すブロック図である。図1〜図3を参照して、実施の形態1に係る人工衛星システムについて説明する。
図1に示す如く、人工衛星システム1は、地上局2及び人工衛星3を含むものである。地上局2は、画像生成装置11、記憶装置12及び通信装置13を含むものである。人工衛星3は、通信装置21、姿勢推定装置22、カメラ23、記憶装置24及び航行制御装置25を含むものである。
通信装置13及び通信装置21は、相互に通信自在である。これにより、地上局2及び人工衛星3は、相互に通信自在である。
地上局2は、天体O(不図示)に設けられている。これに対して、人工衛星3は、天体Oの周囲を周回するものである。ここで、カメラ23の光軸は、天体Oに向けられるものである。また、人工衛星システム1においては、天体Oを撮像するべき複数個の時刻(以下「撮像時刻」ということがある。)が設定されるものである。人工衛星3は、個々の撮像時刻にて、カメラ23を用いて天体Oを撮像するものである。以下、個々の撮像時刻にてカメラ23により撮像された画像I1を「撮像画像」ということがある。
以下、人工衛星3の軌道に誤差が生じておらず、かつ、人工衛星3の位置に誤差が生じておらず、かつ、人工衛星3の姿勢に誤差が生じていない状態を「理想状態」ということがある。理想状態における人工衛星3の軌道(以下「目標軌道」ということがある。)は、所定の周回軌道に沿うものとなる。また、理想状態における個々の撮像時刻における人工衛星3の位置(以下「目標位置」ということがある。)は、目標軌道における所定の位置となる。また、理想状態における個々の撮像時刻における人工衛星3の姿勢(以下「目標姿勢」ということがある。)は、所定の姿勢となる。また、理想状態において、カメラ23の光軸は、天体Oの中心部に向けられる。
図2に示す如く、画像生成装置11は、シミュレーション画像生成部31及びリファレンス画像生成部32を含むものである。
シミュレーション画像生成部31は、理想状態にて個々の撮像時刻にてカメラ23により撮像されるべき画像I1を模擬するものである。これにより、個々の画像I1に対応するシミュレーション画像I2が生成される。
すなわち、記憶装置12には、目標軌道を示す情報及び個々の撮像時刻を示す情報が記憶されている。シミュレーション画像生成部31は、これらの情報を取得する。シミュレーション画像生成部31は、当該取得された情報を用いて、理想状態における個々の撮像時刻における人工衛星3の位置(x,y,z)を予測するとともに、理想状態における個々の撮像時刻におけるカメラ23の光軸の向き(vx,vy,vz)を予測する。
また、記憶装置12には、天体Oの三次元モデルを示すデータが記憶されている。シミュレーション画像生成部31は、かかるデータを取得する。シミュレーション画像生成部31は、当該取得されたデータを用いて、天体Oの三次元モデルをシミュレーション用の仮想空間に配置する。
また、記憶装置12には、天体Oに係るパラメータ(以下「固有パラメータ」という。)を示す情報及びカメラ23に係るパラメータ(以下「カメラパラメータ」という。)を示す情報が記憶されている。シミュレーション画像生成部31は、これらの情報を取得する。シミュレーション画像生成部31は、当該取得された情報を用いて、シミュレーション用のパラメータ(以下「シミュレーションパラメータ」という。)を設定する。
固有パラメータは、天体Oにおける反射率(例えばアルベド)を示す値及び天体Oにおける太陽高度を示す値などを含むものである。カメラパラメータは、カメラ23の焦点を示す値、カメラ23の光軸を示す値及びカメラ23の位置を示す値などを含むものである。これに加えて、カメラパラメータは、カメラ23におけるレンズ歪み係数を示す値及びカメラ23におけるノイズを示す値などを含むものであっても良い。
シミュレーション画像生成部31は、上記予測された位置(x,y,z)、上記予測された向き(vx,vy,vz)及び上記設定されたシミュレーションパラメータに基づき、理想状態における個々の撮像時刻における画像I1を模擬する。このとき、レンズの投影モデルには、実際のカメラ23における投影モデルと同様のモデルが用いられる。
これにより、個々の画像I1に対応するシミュレーション画像I2が生成される。シミュレーション画像生成部31は、当該生成されたシミュレーション画像I2を示すデータ(以下「シミュレーション画像データ」という。)を記憶装置12に記憶させる。
ここで、天体Oと人工衛星3間の距離が小さい場合、天体Oがカメラ23の画角からはみ出すことにより、天体Oの一部のみがカメラ23により撮像される状態が生ずることがある。この結果、天体Oの一部のみが画像I1に含まれる状態が生ずることがある。この場合、シミュレーション画像生成部31は、以下のようなシミュレーション画像I2を生成するものであっても良い。
すなわち、シミュレーション画像生成部31は、仮想的にカメラ23の画角が拡大されることにより仮想的に天体Oの全体がカメラ23により撮像される状態に対応するシミュレーション画像I2を生成するものであっても良い。これにより、天体Oの全体を含むシミュレーション画像I2が生成される。この結果、天体Oと人工衛星3間の距離が小さい場合であっても、後述する第1画像マッチング部52により実行されるテンプレートマッチング(以下「第1テンプレートマッチング」という。)を実現することができる。
このとき、シミュレーション画像生成部31は、カメラ23の焦点距離を変更することなく、カメラ23の画素数を仮想的に大きくすることにより、かかるシミュレーション画像I2を生成する。これにより、かかるシミュレーション画像I2を生成するにあたり、固有パラメータを示す情報に含まれるカメラ23の焦点距離を示す値をそのまま用いることができる。
リファレンス画像生成部32は、記憶装置12に記憶されているシミュレーション画像データを取得するものである。リファレンス画像生成部32は、当該取得されたシミュレーション画像データを用いて、第1テンプレートマッチング用のリファレンス画像(以下「第1リファレンス画像」という。)I2’を生成するものである。
すなわち、リファレンス画像生成部32は、当該取得されたシミュレーション画像データを用いて、個々のシミュレーション画像I2に対する二値化処理を実行する。このとき、二値化用のパラメータ(二値化用の閾値を含む。以下「第1二値化パラメータ」という。)には、所定の値が用いられる。または、第1二値化パラメータには、統計的手法により算出された値が用いられる。具体的には、例えば、第1二値化パラメータには、判別分析法により算出された値が用いられる。
二値化後のシミュレーション画像I2にノイズが含まれる場合、リファレンス画像生成部32は、二値化後のシミュレーション画像I2に対するノイズ除去処理を実行する。これにより、かかるノイズが第1テンプレートマッチングにより算出される相関値(以下「第1相関値」という。)に影響を与えるのを回避することができる。ノイズ除去処理には、例えば、拡縮処理が用いられる。
次いで、リファレンス画像生成部32は、二値化後のシミュレーション画像I2又はノイズ除去後のシミュレーション画像I2を所定のサイズにリサイズする。これにより、個々のシミュレーション画像I2が第1テンプレートマッチング用のサイズにリサイズされる。
このようにして、個々のシミュレーション画像I2に対応する第1リファレンス画像I2’が生成される。リファレンス画像生成部32は、当該生成された第1リファレンス画像I2’を示すデータ(以下「リファレンス画像データ」という。)を記憶装置12に記憶させる。なお、リファレンス画像データは、第1二値化パラメータを含むものであっても良い。
通信装置13は、記憶装置12に記憶されているリファレンス画像データを取得する。通信装置13は、当該取得されたリファレンス画像データを人工衛星3に送信する。通信装置21は、当該送信されたリファレンス画像データを受信する。通信装置21は、当該受信されたリファレンス画像データを記憶装置24に記憶させる。
姿勢推定装置22は、例えば、スタートラッカにより構成されている。姿勢推定装置22は、人工衛星3の姿勢(φ,θ,ψ)を推定するものである。ここで、姿勢推定装置22により推定される姿勢(φ,θ,ψ)は、個々の撮像時刻における姿勢(φ,θ,ψ)を含むものである。姿勢推定装置22は、当該推定された姿勢(φ,θ,ψ)を示す値(以下「姿勢推定値」という。)を記憶装置24に記憶させるものである。
カメラ23は、上記のとおり、個々の撮像時刻にて天体Oを撮像するものである。カメラ23は、個々の撮像時刻にて撮像された画像I1を示すデータ(以下「撮像画像データ」という。)を記憶装置24に記憶させるものである。
図3に示す如く、航行制御装置25は、自己位置推定装置41、航法値算出部42及び航行制御部43を含むものである。自己位置推定装置41は、第1画像取得部51、第1画像マッチング部52及び自己位置推定部53を含むものである。
第1画像取得部51は、記憶装置24に記憶されているリファレンス画像データを取得するものである。これにより、第1リファレンス画像I2’が取得される。また、第1画像取得部51は、記憶装置24に記憶されている撮像画像データを取得するものである。第1画像取得部51は、当該取得された撮像画像データを用いて、第1テンプレートマッチング用のテンプレート画像(以下「第1テンプレート画像」という。)I1’を生成するものである。これにより、第1テンプレート画像I1’が取得される。
具体的には、例えば、第1画像取得部51は、直近の撮像時刻にて撮像された画像I1に対応する第1リファレンス画像I2’を示すリファレンス画像データを取得する。これにより、直近の撮像時刻にて撮像された画像I1に対応する第1リファレンス画像I2’が取得される。また、第1画像取得部51は、直近の撮像時刻にて撮像された画像I1を示す撮像画像データを取得する。第1画像取得部51は、当該取得された撮像画像データを用いて、直近の撮像時刻にて撮像された画像I1に対応する第1テンプレート画像I1’を生成する。これにより、直近の撮像時刻にて撮像された画像I1に対応する第1テンプレート画像I1’が取得される。
ここで、第1テンプレート画像I1’の生成方法について説明する。第1画像取得部51は、個々の撮像画像I1に対して、リファレンス画像生成部32により実行される二値化処理と同様の二値化処理を実行する。このとき、第1画像取得部51は、上記取得されたリファレンス画像データに含まれる第1二値化パラメータを用いるものであっても良い。次いで、第1画像取得部51は、二値化後の撮像画像I1に対して、リファレンス画像生成部32により実行されるノイズ除去処理と同様のノイズ除去処理を適宜実行する。このようにして、個々の撮像画像I1に対応する第1テンプレート画像I1’が生成される。すなわち、個々の撮像画像I1に対応する第1テンプレート画像I1’が取得される。
第1画像マッチング部52は、第1画像取得部51により取得された第1テンプレート画像I1’及び第1画像取得部51により取得された第1リファレンス画像I2’を用いて、第1テンプレートマッチングを実行するものである。図4は、第1テンプレートマッチングの例を示している。
すなわち、第1画像マッチング部52は、上記取得された第1テンプレート画像I1’のスケールsを変化させる。より具体的には、第1画像マッチング部52は、上記取得された第1テンプレート画像I1’のスケールsを所定の範囲内にて拡大又は縮小する。これにより、互いに異なるスケールsを有する複数枚の第1テンプレート画像I1’が生成される。
また、第1画像マッチング部52は、上記取得された第1リファレンス画像I2’に対するゼロパディング処理を実行する。これにより、余白領域を有する第1リファレンス画像I2’が生成される。第1リファレンス画像I2’に余白領域を付加することにより、第1テンプレート画像I1’の端部(すなわち上端部、下端部、左端部又は右端部)に天体Oが位置する場合であっても、第1テンプレートマッチングを実現することができる。
次いで、第1画像マッチング部52は、上記複数枚の第1テンプレート画像I1’の各々を用いて、上記余白領域を有する第1リファレンス画像I2’を走査する。このとき、第1画像マッチング部52は、第1リファレンス画像I2’における第1テンプレート画像I1’の位置(cx,cy)毎に、かつ、第1テンプレート画像I1’のスケールs毎に、第1テンプレート画像I1’と第1リファレンス画像I2’との相関値(すなわち第1相関値)を算出する。
このようにして、複数個の第1相関値が算出される。個々の第1相関値には、例えば、SAD(Sum of Absolute Difference)又はZNCC(Zero−mean Normalized Cross−Correlatio)が用いられる。
以下、当該算出された複数個の第1相関値のうちの最大値に対応する位置(cx_b,cy_b)を「第1マッチング位置」ということがある。また、当該算出された複数個の第1相関値のうちの最大値に対応するスケールs_bを「第1マッチングスケール」ということがある。
第1マッチング位置(cx_b,cy_b)は、第1リファレンス画像I2’における天体Oの位置に対する第1テンプレート画像I1’における天体Oの位置のずれ量に対応している。以下、かかるずれ量を「第1位置ずれ量」ということがある。また、第1マッチングスケールs_bは、第1リファレンス画像I2’における天体Oのスケールに対する第1テンプレート画像I1’における天体Oのスケールの変化量に対応している。以下、かかる変化量を「第1スケール変化量」ということがある。
すなわち、第1画像マッチング部52は、テンプレートマッチングを実行することにより、第1位置ずれ量に対応する第1マッチング位置(cx_b,cy_b)を算出するとともに、第1スケール変化量に対応する第1マッチングスケールs_bを算出するものである。第1画像マッチング部52は、当該算出された第1マッチング位置(cx_b,cy_b)を自己位置推定部53に出力するとともに、当該算出された第1マッチングスケールs_bを自己位置推定部53に出力する。
自己位置推定部53は、第1画像マッチング部52により出力された第1マッチング位置(cx_b,cy_b)を取得するものである。また、自己位置推定部53は、第1画像マッチング部52により出力された第1マッチングスケールs_bを取得するものである。
また、自己位置推定部53は、記憶装置24に記憶されている姿勢推定値(φ,θ,ψ)を取得するものである。具体的には、例えば、自己位置推定部53は、直近の撮像時刻における姿勢推定値(φ,θ,ψ)を取得するものである。
また、記憶装置24には、天体Oの数値標高モデルを示すデータが記憶されている。自己位置推定部53は、かかるデータを取得するものである。
自己位置推定部53は、上記取得された第1マッチング位置(cx_b,cy_b)に対応する第1位置ずれ量、上記取得された第1マッチングスケールs_bに対応する第1スケール変化量、上記取得された姿勢推定値(φ,θ,ψ)及び上記取得されたデータに含まれる数値標高値を用いて、人工衛星3の自己位置を推定するものである。これにより、例えば、直近の撮像時刻における自己位置が推定される。
かかる自己位置の推定には、公知の種々の技術を用いることができる。これらの技術についての詳細な説明は省略する。自己位置推定部53は、当該推定された自己位置を示す値(以下「自己位置推定値」という。)を航法値算出部42に出力するものである。
航法値算出部42は、自己位置推定部53により出力された自己位置推定値を取得するものである。航法値算出部42は、対応する撮像時刻(例えば直近の撮像時刻)における目標位置に対する当該取得された自己位置推定値が示す自己位置のずれ量を算出するものである。このとき、航法値算出部42は、2方向(水平方向及び垂直方向を含む。)におけるずれ量を算出するものであっても良い。
航法値算出部42は、当該算出されたずれ量に応じて、人工衛星3におけるスラスタ等の制御に用いられる制御値(以下「航法値」という。)を算出するものである。航法値算出部42は、当該算出された航法値を航行制御部43に出力するものである。
航行制御部43は、航法値算出部42により出力された航法値を取得するものである。航行制御部43は、当該取得された航法値を用いて、人工衛星3のスラスタ等を制御するものである。これにより、人工衛星3の位置(x,y,z)に誤差が生じているとき、人工衛星3の位置(x,y,z)を目標位置に近づけることができる。
以下、シミュレーション画像生成部31により実行される処理を総称して「シミュレーション画像生成処理」ということがある。また、リファレンス画像生成部32により実行される処理を総称して「リファレンス画像生成処理」ということがある。また、第1画像取得部51により実行される処理を総称して「第1画像取得処理」ということがある。また、第1画像マッチング部52により実行される処理を総称して「第1画像マッチング処理」ということがある。また、自己位置推定部53により実行される処理を総称して「自己位置推定処理」ということがある。また、航法値算出部42により実行される処理を総称して「航法値算出処理」ということがある。また、航行制御部43により実行される処理及び制御を総称して「航行制御」ということがある。
以下、自己位置推定装置41により実行される処理を総称して「自己位置推定処理等」ということがある。すなわち、かかる自己位置推定処理等は、第1画像取得処理、第1画像マッチング処理及び自己位置推定処理を含むものである。
以下、シミュレーション画像生成部31が有する機能を総称して「シミュレーション画像生成機能」ということがある。また、リファレンス画像生成部32が有する機能を総称して「リファレンス画像生成機能」ということがある。また、第1画像取得部51が有する機能を総称して「第1画像取得機能」ということがある。また、第1画像マッチング部52が有する機能を総称して「第1画像マッチング機能」ということがある。また、自己位置推定部53が有する機能を総称して「自己位置推定機能」ということがある。また、航法値算出部42が有する機能を総称して「航法値算出機能」ということがある。また、航行制御部43が有する機能を総称して「航行制御機能」ということがある。
以下、シミュレーション画像生成機能に「F1」の符号を用いることがある。また、リファレンス画像生成機能に「F2」の符号を用いることがある。また、第1画像取得機能に「F11」の符号を用いることがある。また、第1画像マッチング機能に「F12」の符号を用いることがある。また、自己位置推定機能に「F13」の符号を用いることがある。また、航法値算出機能に「F21」の符号を用いることがある。また、航行制御機能に「F22」の符号を用いることがある。
次に、図5〜図7を参照して、画像生成装置11の要部のハードウェア構成について説明する。
図5に示す如く、画像生成装置11は、プロセッサ61及びメモリ62を有している。メモリ62には、複数個の機能(シミュレーション画像生成機能及びリファレンス画像生成機能を含む。)F1,F2に対応するプログラムが記憶されている。プロセッサ61は、メモリ62に記憶されているプログラムを読み出して実行する。これにより、複数個の機能F1,F2が実現される。
または、図6に示す如く、画像生成装置11は、処理回路63を有している。処理回路63は、複数個の機能F1,F2に対応する処理を実行する。これにより、複数個の機能F1,F2が実現される。
または、図7に示す如く、画像生成装置11は、プロセッサ61、メモリ62及び処理回路63を有している。メモリ62には、複数個の機能F1,F2のうちの一部の機能に対応するプログラムが記憶されている。プロセッサ61は、メモリ62に記憶されているプログラムを読み出して実行する。これにより、かかる一部の機能が実現される。また、処理回路63は、複数個の機能F1,F2のうちの残余の機能に対応する処理を実行する。これにより、かかる残余の機能が実現される。
プロセッサ61は、1個以上のプロセッサにより構成されている。個々のプロセッサは、例えば、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、マイクロプロセッサ、マイクロコントローラ又はDSP(Digital Signal Processor)を用いたものである。
メモリ62は、1個以上の不揮発性メモリにより構成されている。または、メモリ62は、1個以上の不揮発性メモリ及び1個以上の揮発性メモリにより構成されている。すなわち、メモリ62は、1個以上のメモリにより構成されている。個々のメモリは、例えば、半導体メモリ、磁気ディスク、光ディスク、光磁気ディスク、磁気テープ又は磁気ドラムを用いたものである。より具体的には、個々の揮発性メモリは、例えば、RAM(Random Access Memory)を用いたものである。また、個々の不揮発性メモリは、例えば、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read Only Memory)、ソリッドステートドライブ、ハードディスクドライブ、フレキシブルディスク、コンパクトディスク、DVD(Digital Versatile Disc)、ブルーレイディスク又はミニディスクを用いたものである。
処理回路63は、1個以上のデジタル回路により構成されている。または、処理回路63は、1個以上のデジタル回路及び1個以上のアナログ回路により構成されている。すなわち、処理回路63は、1個以上の処理回路により構成されている。個々の処理回路は、例えば、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)、SoC(System on a Chip)又はシステムLSI(Large Scale Integration)を用いたものである。
ここで、プロセッサ61が複数個のプロセッサにより構成されているとき、複数個の機能F1,F2と複数個のプロセッサとの対応関係は任意である。すなわち、複数個のプロセッサの各々は、複数個の機能F1,F2のうちの対応する1個以上の機能に対応するプログラムを読み出して実行するものであっても良い。プロセッサ61は、個々の機能F1,F2に対応する専用のプロセッサを含むものであっても良い。
また、メモリ62が複数個のメモリにより構成されているとき、複数個の機能F1,F2と複数個のメモリとの対応関係は任意である。すなわち、複数個のメモリの各々は、複数個の機能F1,F2のうちの対応する1個以上の機能に対応するプログラムを記憶するものであっても良い。メモリ62は、個々の機能F1,F2に対応する専用のメモリを含むものであっても良い。
また、処理回路63が複数個の処理回路により構成されているとき、複数個の機能F1,F2と複数個の処理回路との対応関係は任意である。すなわち、複数個の処理回路の各々は、複数個の機能F1,F2のうちの対応する1個以上の機能に対応する処理を実行するものであっても良い。処理回路63は、個々の機能F1,F2に対応する専用の処理回路を含むものであっても良い。
すなわち、画像生成装置11においては、個々の機能F1,F2が専用の処理回路により実現されるものであっても良い。
次に、図8〜図10を参照して、航行制御装置25の要部のハードウェア構成について説明する。
図8に示す如く、航行制御装置25は、プロセッサ71及びメモリ72を有している。メモリ72には、複数個の機能(第1画像取得機能、第1画像マッチング機能、自己位置推定機能、航法値算出機能及び航行制御機能を含む。)F11〜F13,F21,F22に対応するプログラムが記憶されている。プロセッサ71は、メモリ72に記憶されているプログラムを読み出して実行する。これにより、複数個の機能F11〜F13,F21,F22が実現される。
または、図9に示す如く、航行制御装置25は、処理回路73を有している。処理回路73は、複数個の機能F11〜F13,F21,F22に対応する処理を実行する。これにより、複数個の機能F11〜F13,F21,F22が実現される。
または、図10に示す如く、航行制御装置25は、プロセッサ71、メモリ72及び処理回路73を有している。メモリ72には、複数個の機能F11〜F13,F21,F22のうちの一部の機能に対応するプログラムが記憶されている。プロセッサ71は、メモリ72に記憶されているプログラムを読み出して実行する。これにより、かかる一部の機能が実現される。また、処理回路73は、複数個の機能F11〜F13,F21,F22のうちの残余の機能に対応する処理を実行する。これにより、かかる残余の機能が実現される。
プロセッサ71の具体例は、プロセッサ61の具体例と同様である。メモリ72の具体例は、メモリ62の具体例と同様である。処理回路73の具体例は、処理回路63の具体例と同様である。このため、詳細な説明は省略する。
ここで、プロセッサ71が複数個のプロセッサにより構成されているとき、複数個の機能F11〜F13,F21,F22と複数個のプロセッサとの対応関係は任意である。すなわち、複数個のプロセッサの各々は、複数個の機能F11〜F13,F21,F22のうちの対応する1個以上の機能に対応するプログラムを読み出して実行するものであっても良い。プロセッサ71は、個々の機能F11〜F13,F21,F22に対応する専用のプロセッサを含むものであっても良い。
また、メモリ72が複数個のメモリにより構成されているとき、複数個の機能F11〜F13,F21,F22と複数個のメモリとの対応関係は任意である。すなわち、複数個のメモリの各々は、複数個の機能F11〜F13,F21,F22のうちの対応する1個以上の機能に対応するプログラムを記憶するものであっても良い。メモリ72は、個々の機能F11〜F13,F21,F22に対応する専用のメモリを含むものであっても良い。
また、処理回路73が複数個の処理回路により構成されているとき、複数個の機能F11〜F13,F21,F22と複数個の処理回路との対応関係は任意である。すなわち、複数個の処理回路の各々は、複数個の機能F11〜F13,F21,F22のうちの対応する1個以上の機能に対応する処理を実行するものであっても良い。処理回路73は、個々の機能F11〜F13,F21,F22に対応する専用の処理回路を含むものであっても良い。
すなわち、自己位置推定装置41においては、個々の機能F11〜F13が専用の処理回路により実現されるものであっても良い。また、航行制御装置25においては、個々の機能F11〜F13,F21,F22が専用の処理回路により実現されるものであっても良い。
次に、図11に示すフローチャートを参照して、画像生成装置11の動作について説明する。
まず、シミュレーション画像生成部31がシミュレーション画像生成処理を実行する(ステップST1)。次いで、リファレンス画像生成部32がリファレンス画像生成処理を実行する(ステップST2)。
次に、図12に示すフローチャートを参照して、自己位置推定装置41の動作について説明する。
まず、第1画像取得部51が第1画像取得処理を実行する(ステップST11)。ステップST11にて取得された撮像画像データが示す撮像画像I1に天体Oの少なくとも一部が含まれている場合(ステップST12“YES”)、次いで、第1画像マッチング部52が第1画像マッチング処理を実行する(ステップST13)。次いで、自己位置推定部53が自己位置推定処理を実行する(ステップST14)。
なお、ステップST11にて取得された撮像画像データが示す撮像画像I1に天体Oが含まれていない場合(ステップST12“NO”)、第1テンプレートマッチングを正確に実行することが不可能又は困難である。このため、ステップST13,ST14の処理はスキップされる。これにより、自己位置推定装置41の処理は終了する。
ステップST12における判定は、例えば、以下のようなものである。すなわち、ステップST11にて生成された第1テンプレート画像I1’における白画素の個数が算出される。当該算出された個数が所定の閾値以上である場合、対応する撮像画像I1に天体Oの少なくとも一部が含まれていると判定される(ステップST12“YES”)。そうでない場合、対応する撮像画像I1に天体Oが含まれていないと判定される(ステップST12“NO”)。
次に、図13に示すフローチャートを参照して、航行制御装置25の動作について説明する。
まず、自己位置推定装置41が自己位置推定処理等を実行する(ステップST21)。これにより、図12を参照して説明した処理が実行される。次いで、航法値算出部42が航法値算出処理を実行する(ステップST22)。次いで、航行制御部43が航行制御を実行する(ステップST23)。
次に、自己位置推定装置41を用いることによる効果について説明する。
上記のとおり、自己位置推定装置41は、撮像画像I1に基づく第1テンプレート画像I1’及びシミュレーション画像I2に基づく第1リファレンス画像I2’を用いた第1テンプレートマッチングを実行することにより自己位置を推定するものである。換言すれば、自己位置推定装置41においては、自己位置を推定するにあたり、個々の撮像画像I1における特徴点群を抽出する処理が不要である。また、撮像画像I1間の特徴量マッチングを実行する処理が不要である。
このため、自己位置推定装置41を用いることにより、特許文献1記載の技術を用いる場合に比して、自己位置の推定に係る計算量を低減することができる。これにより、人工衛星3における計算資源が制限されている場合であっても、人工衛星3における自己位置の推定を実現することができる。
次に、実施の形態1に係る変形例について説明する。
リファレンス画像生成部32は、画像生成装置11に設けられているのに代えて、自己位置推定装置41に設けられているものであっても良い。すなわち、リファレンス画像生成処理は、画像生成装置11により実行されるのに代えて、自己位置推定装置41により実行されるものであっても良い。
航行制御装置25は、人工衛星3と異なる移動体に設けられるものであっても良い。例えば、航行制御装置25は、車両、船舶又は航空機に設けられるものであっても良い。したがって、カメラ23による被写体は、天体Oに限定されるものではない。カメラ23による被写体は、如何なる物体であっても良い。また、画像生成装置11は、地上局2と異なる場所に設けられるものであっても良い。画像生成装置11は、航行制御装置25を有する移動体と通信自在な場所であれば、如何なる場所に設けられるものであっても良い。
以上のように、実施の形態1に係る自己位置推定装置41は、被写体(天体O)の周囲を移動する移動体(人工衛星3)であって、カメラ23を用いて被写体(天体O)を撮像する移動体(人工衛星3)に設けられる自己位置推定装置41において、カメラ23による撮像画像I1に基づく第1テンプレート画像I1’を取得するとともに、撮像画像I1に対応するシミュレーション画像I2に基づく第1リファレンス画像I2’を取得する第1画像取得部51と、第1テンプレート画像I1’を拡縮するとともに第1テンプレート画像I1’を用いて第1リファレンス画像I2’を走査する第1テンプレートマッチングを実行することにより、第1位置ずれ量及び第1スケール変化量を算出する第1画像マッチング部52と、第1位置ずれ量及び第1スケール変化量を用いて自己位置推定値を算出する自己位置推定部53と、を備える。これにより、自己位置の推定に係る計算量を低減することができる。
また、実施の形態1に係る人工衛星システム1は、天体Oの周囲を周回する人工衛星3であって、カメラ23を用いて天体Oを撮像する人工衛星3に設けられる自己位置推定装置41と、人工衛星3と通信自在な地上局2に設けられる画像生成装置11と、を含む人工衛星システム1において、自己位置推定装置41は、カメラ23による撮像画像I1に基づく第1テンプレート画像I1’を取得するとともに、撮像画像I1に対応するシミュレーション画像I2に基づく第1リファレンス画像I2’を取得する第1画像取得部51と、第1テンプレート画像I1’を拡縮するとともに第1テンプレート画像I1’を用いて第1リファレンス画像I2’を走査する第1テンプレートマッチングを実行することにより、第1位置ずれ量及び第1スケール変化量を算出する第1画像マッチング部52と、第1位置ずれ量及び第1スケール変化量を用いて自己位置推定値を算出する自己位置推定部53と、を備え、画像生成装置11は、シミュレーション画像I2を生成するシミュレーション画像生成部31と、第1リファレンス画像I2’を生成するリファレンス画像生成部32と、を備える。これにより、自己位置の推定に係る計算量を低減することができる。
また、実施の形態1に係る自己位置推定方法は、被写体(天体O)の周囲を移動する移動体(人工衛星3)であって、カメラ23を用いて被写体(天体O)を撮像する移動体(人工衛星3)における自己位置推定方法において、第1画像取得部51が、カメラ23による撮像画像I1に基づく第1テンプレート画像I1’を取得するとともに、撮像画像I1に対応するシミュレーション画像I2に基づく第1リファレンス画像I2’を取得するステップST11と、第1画像マッチング部52が、第1テンプレート画像I1’を拡縮するとともに第1テンプレート画像I1’を用いて第1リファレンス画像I2’を走査する第1テンプレートマッチングを実行することにより、第1位置ずれ量及び第1スケール変化量を算出するステップST13と、自己位置推定部53が、第1位置ずれ量及び第1スケール変化量を用いて自己位置推定値を算出するステップST14と、を備える。これにより、自己位置の推定に係る計算量を低減することができる。
実施の形態2.
図14は、実施の形態2に係る人工衛星システムの要部を示すブロック図である。図15は、実施の形態2に係る人工衛星システムにおける画像生成装置の要部を示すブロック図である。図16は、実施の形態1に係る人工衛星システムにおける航行制御装置の要部を示すブロック図である。図14〜図16を参照して、実施の形態2に係る人工衛星システムについて説明する。
なお、図14において、図1に示すブロックと同様のブロックには同一符号を付して説明を省略する。また、図15において、図2に示すブロックと同様のブロックには同一符号を付して説明を省略する。また、図16において、図3に示すブロックと同様のブロックには同一符号を付して説明を省略する。
図14に示す如く、人工衛星システム1aは、地上局2a及び人工衛星3aを含むものである。地上局2aは、画像生成装置11a、記憶装置12及び通信装置13を含むものである。人工衛星3aは、通信装置21、姿勢推定装置22、カメラ23、記憶装置24及び航行制御装置25aを含むものである。
図15に示す如く、画像生成装置11aは、シミュレーション画像生成部31及びリファレンス画像生成部32を含むものである。これに加えて、画像生成装置11aは、テンプレート画像生成部33を含むものである。
テンプレート画像生成部33は、記憶装置12に記憶されているシミュレーション画像データを取得するものである。テンプレート画像生成部33は、当該取得されたシミュレーション画像データを用いて、後述する第2画像取得部54により実行されるテンプレートマッチング(以下「第2テンプレートマッチング」という。)用のテンプレート画像(以下「第2テンプレート画像」という。)I2”を生成するものである。
すなわち、テンプレート画像生成部33は、当該取得されたシミュレーション画像データを用いて、個々のシミュレーション画像I2に対するエッジ検出処理を実行する。エッジ検出処理は、如何なる検出方法を用いるものであっても良い。
次いで、テンプレート画像生成部33は、エッジ検出後のシミュレーション画像I2に対する二値化処理を実行する。二値化用の閾値は、所定の値を用いるものであっても良く、又は統計的手法により算出された値を用いるものであっても良い。
このようにして、個々のシミュレーション画像I2に対応する第2テンプレート画像I2”が生成される。テンプレート画像生成部33は、当該生成された第2テンプレート画像I2”を示すデータ(以下「テンプレート画像データ」という。)を記憶装置12に記憶させる。
なお、テンプレート画像データは、エッジ検出処理における検出方法を示す情報(以下「検出方法情報」という。)を含むものであっても良い。また、テンプレート画像データは、エッジ検出用のパラメータ(以下「エッジ検出パラメータ」という。)を含むものであっても良い。また、テンプレート画像データは、二値化用のパラメータ(二値化用の閾値を含む。以下「第2二値化パラメータ」という。)を含むものであっても良い。
また、テンプレート画像生成部33は、第2テンプレート画像I2”を生成するとき、第2テンプレート画像I2”の中心部を含む領域(以下「中心領域」という。)内に天体Oの中心部を配置するものであっても良い。
通信装置13は、記憶装置12に記憶されているリファレンス画像データ及びテンプレート画像データを取得する。通信装置13は、当該取得されたリファレンス画像データ及びテンプレート画像データを人工衛星3aに送信する。通信装置21は、当該送信されたリファレンス画像データ及びテンプレート画像データを受信する。通信装置21は、当該受信されたリファレンス画像データ及びテンプレート画像データを記憶装置24に記憶させる。
図16に示す如く、航行制御装置25aは、自己位置推定装置41a、航法値算出部42及び航行制御部43を含むものである。自己位置推定装置41は、第1画像取得部51、第1画像マッチング部52及び自己位置推定部53aを含むものである。これに加えて、自己位置推定装置41は、第2画像取得部54及び第2画像マッチング部55を含むものである。
第2画像取得部54は、記憶装置24に記憶されているテンプレート画像データを取得するものである。これにより、第2テンプレート画像I2”が取得される。また、第2画像取得部54は、記憶装置24に記憶されている撮像画像データを取得するものである。第2画像取得部54は、当該取得された撮像画像データを用いて、第2テンプレートマッチング用のリファレンス画像(以下「第2リファレンス画像」という。)I1”を生成するものである。これにより、第2リファレンス画像I1”が取得される。
具体的には、例えば、第2画像取得部54は、直近の撮像時刻にて撮像された画像I1に対応する第2テンプレート画像I2”を示すテンプレート画像データを取得する。これにより、直近の撮像時刻にて撮像された画像I1に対応する第2テンプレート画像I2”が取得される。また、第2画像取得部54は、直近の撮像時刻にて撮像された画像I1を示す撮像画像データを取得する。第2画像取得部54は、当該取得された撮像画像データを用いて、直近の撮像時刻にて撮像された画像I1に対応する第2リファレンス画像I1”を生成する。これにより、直近の撮像時刻にて撮像された画像I1に対応する第2リファレンス画像I1”が取得される。
ここで、第2リファレンス画像I1”の生成方法について説明する。まず、第2画像取得部54は、個々の撮像画像I1に対して、テンプレート画像生成部33により実行されるエッジ検出処理と同様のエッジ検出処理を実行する。このとき、第2画像取得部54は、上記取得されたテンプレート画像データに含まれる検出方法情報及びエッジ検出パラメータを用いるものであっても良い。次いで、第2画像取得部54は、エッジ検出後の撮像画像I1に対して、テンプレート画像生成部33により実行される二値化処理と同様の二値化処理を実行する。このとき、第2画像取得部54は、上記取得されたテンプレート画像データに含まれる第2二値化パラメータを用いるものであっても良い。このようにして、個々の撮像画像I1に対応する第2リファレンス画像I1”が生成される。すなわち、個々の撮像画像I1に対応する第2リファレンス画像I1”が取得される。
第2画像マッチング部55は、第2画像取得部54により取得された第2テンプレート画像I2”及び第2画像取得部54により取得された第2リファレンス画像I1”を用いて、第2テンプレートマッチングを実行するものである。図17は、第2テンプレートマッチングの例を示している。
ここで、第2テンプレートマッチングのアルゴリズムは、第1テンプレートマッチングのアルゴリズムと同様である。
すなわち、第2画像マッチング部55は、上記取得された第2テンプレート画像I2”のスケールsを変化させる。より具体的には、第2画像マッチング部55は、上記取得された第2テンプレート画像I2”のスケールsを所定の範囲内にて拡大又は縮小する。これにより、互いに異なるスケールsを有する複数枚の第2テンプレート画像I2”が生成される。
次いで、第2画像マッチング部55は、上記複数枚の第2テンプレート画像I2”の各々を用いて、上記取得された第2リファレンス画像I1”を走査する。このとき、第2画像マッチング部55は、第2リファレンス画像I1”における第2テンプレート画像I2”の位置(cx,cy)毎に、かつ、第2テンプレート画像I2”のスケールs毎に、第2テンプレート画像I2”と第2リファレンス画像I1”との相関値(以下「第2相関値」という。)を算出する。
ただし、第2画像マッチング部55は、上記取得された第2リファレンス画像I1”のうちの第1マッチング位置(cx_b,cy_b)に対応する位置(cx,cy)を含む領域のみを走査の対象に含めるものであっても良い。換言すれば、第2画像マッチング部55は、上記取得された第2リファレンス画像I1”のうちの残余の領域を走査の対象から除外するものであっても良い。
また、第2画像マッチング部55は、上記複数枚の第2テンプレート画像I2”のうちの第1マッチングスケールs_bに対応するスケールsを有する1枚以上の第2テンプレート画像I2”を選択するものであっても良い。第2画像マッチング部55は、当該選択された1枚以上の第2テンプレート画像I2”の各々を走査に用いるものであっても良い。換言すれば、第2画像マッチング部55は、上記複数枚の第2テンプレート画像I2”のうちの残余の第2テンプレート画像I2”を走査に用いないものであっても良い。
このようにして、複数個の第2相関値が算出される。個々の第2相関値には、例えば、SAD又はZNCCが用いられる。
以下、当該算出された複数個の第2相関値のうちの最大値に対応する位置(cx_e,cy_e)を「第2マッチング位置」ということがある。また、当該算出された複数個の第2相関値のうちの最大値に対応するスケールs_eを「第2マッチングスケール」ということがある。
第2マッチング位置(cx_e,cy_e)は、第2リファレンス画像I1”における天体Oの位置に対する第2テンプレート画像I2”における天体Oの位置のずれ量に対応している。以下、かかるずれ量を「第2位置ずれ量」ということがある。また、第2マッチングスケールs_eは、第2リファレンス画像I1”における天体Oのスケールに対する第2テンプレート画像I2”における天体Oのスケールの変化量に対応している。以下、かかる変化量を「第2スケール変化量」ということがある。
すなわち、第2画像マッチング部55は、第2テンプレートマッチングを実行することにより、第2位置ずれ量に対応する第2マッチング位置(cx_e,cy_e)を算出するとともに、第2スケール変化量に対応する第2マッチングスケールs_eを算出するものである。第2画像マッチング部55は、当該算出された第2マッチング位置(cx_e,cy_e)を自己位置推定部53aに出力するとともに、当該算出された第2マッチングスケールs_eを自己位置推定部53aに出力する。
自己位置推定部53aは、自己位置推定部53による推定方法と同様の推定方法により人工衛星3aの自己位置を推定するものである。ただし、自己位置推定部53aは、自己位置を推定するとき、第1位置ずれ量及び第1スケール変化量を用いるのに代えて、第2位置ずれ量及び第2スケール変化量を用いることがある。換言すれば、自己位置推定部53aは、第1位置ずれ量及び第1スケール変化量又は第2位置ずれ量及び第2スケール変化量を選択的に自己位置の推定に用いるものである。
以下、テンプレート画像生成部33により実行される処理を総称して「テンプレート画像生成処理」ということがある。また、第2画像取得部54により実行される処理を総称して「第2画像取得処理」ということがある。また、第2画像マッチング部55により実行される処理を総称して「第2画像マッチング処理」ということがある。また、自己位置推定部53aにより実行される処理を総称して「自己位置推定処理」ということがある。
以下、自己位置推定装置41aにより実行される処理を総称して「自己位置推定処理等」ということがある。すなわち、かかる自己位置推定処理等は、第1画像取得処理、第1画像マッチング処理、第2画像取得処処理、第2画像マッチング処理及び自己位置推定処理を含むものである。
以下、テンプレート画像生成部33が有する機能を総称して「テンプレート画像生成機能」ということがある。また、第2画像取得部54が有する機能を総称して「第2画像取得機能」ということがある。また、第2画像マッチング部55が有する機能を総称して「第2画像マッチング機能」ということがある。また、自己位置推定部53aが有する機能を総称して「自己位置推定機能」ということがある。
以下、テンプレート画像生成機能に「F3」の符号を用いることがある。また、第2画像取得機能に「F14」の符号を用いることがある。また、第2画像マッチング機能に「F15」の符号を用いることがある。また、自己位置推定部53aにおける自己位置推定機能に「F13a」の符号を用いることがある。
画像生成装置11aの要部のハードウェア構成は、実施の形態1にて図5〜図7を参照して説明したものと同様である。このため、詳細な説明は省略する。
すなわち、画像生成装置11aは、複数個の機能(シミュレーション画像生成機能、リファレンス画像生成機能及びテンプレート画像生成機能を含む。)F1〜F3を有している。個々の機能F1〜F3は、プロセッサ61及びメモリ62により実現されるものであっても良く、又は処理回路63により実現されるものであっても良い。
ここで、プロセッサ61は、個々の機能F1〜F3に対応する専用のプロセッサを含むものであっても良い。また、メモリ62は、個々の機能F1〜F3に対応する専用のメモリを含むものであっても良い。また、処理回路63は、個々の機能F1〜F3に対応する専用の処理回路を含むものであっても良い。
すなわち、画像生成装置11aにおいては、個々の機能F1〜F3が専用の処理回路により実現されるものであっても良い。
航行制御装置25aの要部のハードウェア構成は、実施の形態1にて図8〜図10を参照して説明したものと同様である。このため、詳細な説明は省略する。
すなわち、航行制御装置25aは、複数個の機能(第1画像取得機能、第1画像マッチング機能、第2画像取得機能、第2画像マッチング機能、自己位置推定機能、航法値算出機能及び航行制御機能を含む。)F11,F12,F13a,F14,F15,F21,F22を有している。個々の機能F11,F12,F13a,F14,F15,F21,F22は、プロセッサ71及びメモリ72により実現されるものであっても良く、又は処理回路73により実現されるものであっても良い。
ここで、プロセッサ71は、個々の機能F11,F12,F13a,F14,F15,F21,F22に対応する専用のプロセッサを含むものであっても良い。また、メモリ72は、個々の機能F11,F12,F13a,F14,F15,F21,F22に対応する専用のメモリを含むものであっても良い。また、処理回路73は、個々の機能F11,F12,F13a,F14,F15,F21,F22に対応する専用の処理回路を含むものであっても良い。
すなわち、自己位置推定装置41aにおいては、個々の機能F11,F12,F13a,F14,F15が専用の処理回路により実現されるものであっても良い。また、航行制御装置25aにおいては、個々の機能F11,F12,F13a,F14,F15,F21,F22が専用の処理回路により実現されるものであっても良い。
次に、図18に示すフローチャートを参照して、画像生成装置11aの動作について説明する。なお、図18において、図11に示すステップと同様のステップには同一符号を付している。
まず、シミュレーション画像生成部31がシミュレーション画像生成処理を実行する(ステップST1)。次いで、リファレンス画像生成部32がリファレンス画像生成処理を実行する(ステップST2)。次いで、テンプレート画像生成部33がテンプレート画像生成処理を実行する(ステップST3)。
次に、図19に示すフローチャートを参照して、自己位置推定装置41aの動作について説明する。なお、図19において、図12に示すステップと同様のステップには同一符号を付している。
まず、第1画像取得部51が第1画像取得処理を実行する(ステップST11)。ステップST11にて取得された撮像画像データが示す撮像画像I1に天体Oの少なくとも一部が含まれている場合(ステップST12“YES”)、次いで、第1画像マッチング部52が第1画像マッチング処理を実行する(ステップST13)。
なお、ステップST11にて取得された撮像画像データが示す撮像画像I1に天体Oが含まれていない場合(ステップST12“NO”)、第1テンプレートマッチングを正確に実行することが不可能又は困難である。また、第2テンプレートマッチングを正確に実行することも不可能又は困難である。このため、ステップST13以降の処理はスキップされる。これにより、自己位置推定装置41aの処理は終了する。
ステップST11にて取得された撮像画像データが示す撮像画像I1に天体Oの中心部が含まれている場合(ステップST15“YES”)、次いで、第2画像取得部54が第2画像取得処理を実行する(ステップST16)。次いで、第2画像マッチング部55が第2画像マッチング処理を実行する(ステップST17)。
なお、ステップST11にて取得された撮像画像データが示す撮像画像I1に天体Oの中心部が含まれていない場合、第2テンプレートマッチングを正確に実行することが不可能又は困難である。このため、ステップST16,ST17の処理はスキップされる。これにより、自己位置推定装置41aの処理はステップST14aに進む。
次いで、自己位置推定部53aが自己位置推定処理を実行する(ステップST14a)。ここで、ステップST16,ST17の処理がスキップされた場合、第1位置ずれ量及び第1スケール変化量が自己位置の推定に用いられる。他方、ステップST16,ST17の処理が実行された場合、第2位置ずれ量及び第2スケール変化量が自己位置の推定に用いられる。
次に、図20に示すフローチャートを参照して、航行制御装置25aの動作について説明する。なお、図20において、図13に示すステップと同様のステップには同一符号を付している。
まず、自己位置推定装置41aが自己位置推定処理等を実行する(ステップST21a)。これにより、図19を参照して説明した処理が実行される。次いで、航法値算出部42が航法値算出処理を実行する(ステップST22)。次いで、航行制御部43が航行制御を実行する(ステップST23)。
次に、自己位置推定装置41aを用いることによる効果について説明する。
天体Oと人工衛星3間の距離が大きいとき、以下のような状態が生ずることがある。すなわち、天体Oの全体が撮像画像I1に含まれており、かつ、撮像画像I1における一部の領域のみが天体Oに対応する状態が生ずることがある。以下、かかる状態を「第1状態」ということがある。他方、天体Oと人工衛星3間の距離が小さいとき、以下のような状態が生ずることがある。すなわち、撮像画像I1の全体又は略全体が天体Oに対応する領域となる状態が生ずることがある。以下、かかる状態を「第2状態」ということがある。第2状態においては、天体Oの一部が撮像画像I1からはみ出すこともある。
第2状態において、二値化処理を実行することにより生成された画像(すなわち第1テンプレート画像I1’)は、その全体又は略全体が白画素により構成されたものとなる。これにより、第1テンプレートマッチングにおけるマッチングの精度が低下することがある。そして、第1位置ずれ量及び第1スケール変化量が自己位置の推定に用いられることにより、自己位置の推定精度が低下することがある。
他方、第2状態において、撮像画像I1には、天体Oの詳細な特徴が含まれている蓋然性が高い。このため、エッジ検出処理を実行することにより生成された画像(すなわち第2テンプレート画像I2”及び第2リファレンス画像I1”)を用いることにより、高精度な第2テンプレートマッチングを実現することができる。換言すれば、第2テンプレートマッチングの精度を向上することができる。そして、第2位置ずれ量及び第2スケール変化量を用いることにより、第1位置ずれ量及び第1スケール量を自己位置の推定に用いる場合に比して、自己位置の推定精度を向上することができる。
また、上記のとおり、第2テンプレートマッチングのアルゴリズムは、第1テンプレートマッチングのアルゴリズムと同様である。このため、第2状態において、第1状態におけるアルゴリズムと同様のアルゴリズムによる自己位置の推定を実現することができる。
また、第2テンプレート画像I2”の中心領域内に天体Oの中心部が配置されていることにより、以下のような効果が得られる。すなわち、上記のとおり、第2状態において、天体Oの一部が撮像画像I1からはみ出すことがある。このような場合であっても、天体Oの中心部が撮像画像I1に含まれていれば、かかる中心部によるマッチングを実現することができる。すなわち、かかる中心部の位置に基づく第2位置ずれ量を算出することができる。
次に、実施の形態2に係る変形例について説明する。
第2画像マッチング部55は、第2テンプレートマッチングを実行した後、個々の第2相関値及び対応するスケールsを用いたパラボラフィッティングを実行するものであっても良い。これにより、第2画像マッチング部55は、より詳細な第2マッチングスケールs_eを算出するものであっても良い。
リファレンス画像生成部32は、画像生成装置11aに設けられているのに代えて、自己位置推定装置41aに設けられているものであっても良い。すなわち、リファレンス画像生成処理は、画像生成装置11aにより実行されるのに代えて、自己位置推定装置41aにより実行されるものであっても良い。
テンプレート画像生成部33は、画像生成装置11aに設けられているのに代えて、自己位置推定装置41aに設けられているものであっても良い。すなわち、テンプレート画像生成処理は、画像生成装置11aにより実行されるのに代えて、自己位置推定装置41aにより実行されるものであっても良い。
航行制御装置25aは、人工衛星3aと異なる移動体に設けられるものであっても良い。例えば、航行制御装置25aは、車両、船舶又は航空機に設けられるものであっても良い。また、画像生成装置11aは、地上局2aと異なる場所に設けられるものであっても良い。画像生成装置11aは、航行制御装置25aを有する移動体と通信自在な場所であれば、如何なる場所に設けられるものであっても良い。
以上のように、実施の形態2に係る自己位置推定装置41aは、シミュレーション画像I2に基づく第2テンプレート画像I2”を取得するとともに、撮像画像I1に基づく第2リファレンス画像I1”を取得する第2画像取得部54と、第2テンプレート画像I2”を拡縮するとともに第2テンプレート画像I2”を用いて第2リファレンス画像I1”を走査する第2テンプレートマッチングを実行することにより、第2位置ずれ量及び第2スケール変化量を算出する第2画像マッチング部55と、を備え、自己位置推定部53aは、第1位置ずれ量及び第1スケール変化量を用いて又は第2位置ずれ量及び第2スケール変化量を用いて自己位置推定値を算出する。これにより、第1状態においても、又は第2状態においても、同様のアルゴリズムによる自己位置の推定を実現することができる。
また、実施の形態2に係る人工衛星システム1aにおいて、自己位置推定装置41aは、シミュレーション画像I2に基づく第2テンプレート画像I2”を取得するとともに、撮像画像I1に基づく第2リファレンス画像I1”を取得する第2画像取得部54と、第2テンプレート画像I2”を拡縮するとともに第2テンプレート画像I2”を用いて第2リファレンス画像I1”を走査する第2テンプレートマッチングを実行することにより、第2位置ずれ量及び第2スケール変化量を算出する第2画像マッチング部55と、を備え、画像生成装置11aは、第2テンプレート画像I2”を生成するテンプレート画像生成部33を備え、自己位置推定部53aは、第1位置ずれ量及び第1スケール変化量を用いて又は第2位置ずれ量及び第2スケール変化量を用いて自己位置推定値を算出する。これにより、第1状態においても、又は第2状態においても、同様のアルゴリズムによる自己位置の推定を実現することができる。
また、実施の形態2に係る自己位置推定方法は、第2画像取得部54が、シミュレーション画像I2に基づく第2テンプレート画像I2”を取得するとともに、撮像画像I1に基づく第2リファレンス画像I1”を取得するステップST16と、第2画像マッチング部55が、第2テンプレート画像I2”を拡縮するとともに第2テンプレート画像I2”を用いて第2リファレンス画像I1”を走査する第2テンプレートマッチングを実行することにより、第2位置ずれ量及び第2スケール変化量を算出するステップST17と、を備え、自己位置推定部53aは、第1位置ずれ量及び第1スケール変化量を用いて又は第2位置ずれ量及び第2スケール変化量を用いて自己位置推定値を算出する。これにより、第1状態においても、又は第2状態においても、同様のアルゴリズムによる自己位置の推定を実現することができる。
なお、本願開示はその開示の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。