[第1実施形態]
以下、本発明の第1実施形態に係る数量検収システム1を説明する。数量検収システム1は、飛行体に搭載された二次元照射レーザスキャナにより地上の対象物の3次元形状を測定するためのシステムである。以下の説明において、数量検収システム1は、船舶の積載物の三次元形状を測定するために用いられる。図1は、数量検収システム1の全体構成を示した図である。
数量検収システム1は、計測員が携帯するタブレットPC11と、無人飛行体であるドローン12と、陸上に設置されたサーバ装置13とを備える。タブレットPC11は船舶9に乗船した計測員により船舶9の所定の位置に設置される。
船舶9は、土倉91を備える土運船、ガット船等である。図1には、船舶9が自航船である場合が示されているが、船舶9は自航できなくてもよい。土倉91には、例えば、港湾工事で用いられる土質材料L(積載物の一例)が積載されており、上空から積載されている土質材料Lが見える。
図2は、タブレットPC11のハードウェア構成を示したブロック図である。タブレットPC11は、コンピュータ111、GNSS(Global Navigation Satellite System/全地球測位衛星システム)ユニット112、無線通信ユニット113、タッチスクリーン114を備える。
コンピュータ111は、プロセッサ1111、メモリ1112、入出力インタフェース1113を備える。プロセッサ1111は、メモリ1112に記憶されているプログラムに従った処理を実行することによって、タブレットPC11の各部の動作を制御する。メモリ1112は、プロセッサ1111により実行されるプログラムの他、各種データを記憶する。入出力インタフェース1113は、外部機器とデータの入出力を行う。入出力インタフェース1113にはGNSSユニット112、無線通信ユニット113、タッチスクリーン114が接続されている。
GNSSユニット112は、複数の衛星から受信する電波に基づき、タブレットPC11の現在の位置を計測する。タブレットPC11が船舶9の所定の位置に配置された場合、GNSSユニット112が計測する位置は、船舶9の現在の位置を示すことになる。
無線通信ユニット113は、例えば移動体通信網とインターネットを介して、サーバ装置13と無線通信を行う。タッチスクリーン114は、例えば、液晶ディスプレイとタッチパネルが積層されたユニットであり、ユーザに各種情報を表示するとともに、ユーザによるタッチ操作を受け付ける。
図3は、ドローン12のハードウェアのうち、本発明の特徴に関係する構成部分を示したブロック図である。ドローン12は、図3に示す構成の他に、例えば、バッテリ、モータ、プロペラ、加速度センサ等を備えるが、それらの説明は省略する。
ドローン12は、コンピュータ121、GNSSユニット122、コンパス123、ジャイロセンサ124、無線通信ユニット125、二次元照射レーザスキャナ126、カメラ127を備える。
コンピュータ121、GNSSユニット122、無線通信ユニット125は、タブレットPC11が備えるコンピュータ111、GNSSユニット112、無線通信ユニット113と同様の機能を備える。ただし、GNSSユニット122によって計測されるのは、ドローン12の現在の位置である。
コンピュータ121は、プロセッサ1211、メモリ1212、入出力インタフェース1213を備える。プロセッサ1211、メモリ1212、入出力インタフェース1213は、タブレットPC11のコンピュータ111が備えるプロセッサ1111、メモリ1112、入出力インタフェース1113と同様の機能を備える。
入出力インタフェース1213にはGNSSユニット122、コンパス123、ジャイロセンサ124、無線通信ユニット125、二次元照射レーザスキャナ126、カメラ127が接続されている。
コンパス123は、地球の磁場の方向を計測することにより、ドローン12の現在の方位を計測する。ジャイロセンサ124は、3本の基準軸の各々に対する単位時間当たりの角度の変化(角加速度)を計測する3軸ジャイロセンサであり、ドローン12の現在の姿勢(ピッチ軸、ロール軸、ヨー軸の各々の軸周りの角度)を計測する。
二次元照射レーザスキャナ126は、所定の二次元平面内で扇形を描く方向に順次レーザ光を照射し、その反射光により対象物の表面までの距離を計測する。二次元照射レーザスキャナ126が照射するレーザ光の走査方向は、ドローン12の前進飛行方向と所定の角度Dをなす。以下、その所定の角度Dは90度であるものとする。すなわち、二次元照射レーザスキャナ126は、順次照射するレーザ光の方向が描く扇形を含む二次元平面がドローン12の前進飛行方向と直交するように、ドローン12の本体に設置されている。
なお、二次元照射レーザスキャナ126の測距の方式は、ToF(Time of Flight)方式、位相差方式等のいずれであってもよい。
上記のようにドローン12の本体に搭載されている二次元照射レーザスキャナ126は、ドローン12の本体の移動に伴い対象物との相対的な位置を変更しながら対象物に継続的にレーザ光を二次元照射することにより、対象物の表面の多数の計測点までの距離を示す距離データを取得する。それらの距離データ群は、サーバ装置13において、対象物の三次元形状の特定に用いられる。
カメラ127は、撮影範囲がドローン12の前方下方向となるようにドローン12の本体に搭載された撮影装置である。カメラ127の画角内には、二次元照射レーザスキャナ126がレーザ光を照射する範囲と、その前方の領域が含まれる。カメラ127は、ドローン12が船舶9の上空付近に到達した際に、船舶9の土倉91を継続的に撮影する。そして、撮影した画像は、サーバ装置13において、土倉91内の土質材料Lの縁の認識に用いられるとともに、時々刻々と変化する船舶9とドローン12の位置関係の特定に用いられる。
図4は、サーバ装置13のハードウェア構成を示したブロック図である。サーバ装置13は、コンピュータ131、通信ユニット132、ディスプレイ133を備える。
通信ユニット132は、例えばインターネットと移動体通信網を介して、タブレットPC11及びドローン12と通信を行う。
ディスプレイ133は、例えば液晶ディスプレイであり、各種情報を表示する。
コンピュータ131は、プロセッサ1311、メモリ1312、入出力インタフェース1313を備える。プロセッサ1311、メモリ1312、入出力インタフェース1313は、タブレットPC11のコンピュータ111が備えるプロセッサ1111、メモリ1112、入出力インタフェース1113と同様の機能を備える。
入出力インタフェース1313には通信ユニット132、ディスプレイ133が接続されている。
図5は、サーバ装置13の機能的構成を示したブロック図である。コンピュータ131が本実施形態に係るプログラムに従う処理を行うと、サーバ装置13が図5に示される構成部を備える装置として機能する。以下に、図5に示されるサーバ装置13の機能的な構成部を説明する。
通信部1301は、タブレットPC11及びドローン12と無線通信を行う。通信部1301は、タブレットPC11から、GNSSユニット112により計測した船舶9の現在の位置を示す船舶位置データを継続的に受信する。
また、通信部1301は、ドローン12から、GNSSユニット122により計測したドローン12の現在の位置を示す飛行体位置データ、コンパス123により計測したドローン12の現在の方位を示す飛行体方位データ、ジャイロセンサ124により計測したドローン12の現在の姿勢を示す飛行体姿勢データを継続的に受信する。
また、通信部1301は、ドローン12が船舶9の上空を飛行中に、ドローン12から、二次元照射レーザスキャナ126により計測した土倉91内の土質材料Lの三次元形状を表す距離データ群と、カメラ127により撮影した船舶9の画像を表す画像データを受信する。
記憶部1302は、各種データを記憶する。例えば、記憶部1302は、通信部1301がタブレットPC11又はドローン12から受信する各種データを記憶する。また、記憶部1302には、予め、複数の船舶9の各々に関し、土倉91の三次元形状を表す土倉形状データ、船舶9上のタブレットPC11が設置されるべき位置を示す端末設置データが記憶されている。
画像認識部1303は、カメラ127で撮影された画像から、撮影されている土質材料Lの縁を認識する。図6は、本願における物体の縁を説明するための図である。図6(a)は土質材料Lが積載された状態の土倉91を斜め上から見た図である。また、図6(b)は土質材料Lを平面視した図である。図6に示される例では、土質材料Lは土倉91内に概ね四角錐台形状に積まれている。この場合、図6(b)において線E1~E12で示される部分が土質材料Lの縁である。縁は、物体の形状の非連続に変化する部分を意味する。縁は必ずしも直線を描かない。以下、これらの縁を「縁E1」、「縁E2」等のように記載する。
飛行ルート決定部1304(図5)は、船舶位置データが示す船舶9の現在の位置と、飛行体位置データが示すドローン12の現在の位置とを用いて、ドローン12が船舶9の上空付近に向かうための飛行ルート(以下、「往路飛行ルート」という)を決定する。
また、飛行ルート決定部1304は、画像認識部1303により特定された土質材料Lの縁が伸びる方向に基づき、ドローン12が土倉91の上空を飛行しながら二次元照射レーザスキャナ126により土倉91内の土質材料Lの三次元形状を表す距離データ群を生成するための飛行ルート(以下、「船舶上空飛行ルート」という)を決定する。
また、飛行ルート決定部1304は、飛行体位置データが示すドローン12の現在の位置と、ドローン12の次の目的地(例えば、ドローン12が待機する基地)の位置とを用いて、ドローン12が船舶9の上空付近から次の目的地に向かうための飛行ルート(以下、「復路飛行ルート」という)を決定する。
数量算出部1305は、ドローン12が船舶上空飛行ルートに従い飛行している間にドローン12から送信されてくる距離データ群が表す、土倉91に積載された土質材料の三次元形状と、記憶部1302に記憶されている土倉形状データが表す土倉91の三次元形状を用いて、土倉91に積載された土質材料の数量を算出する。なお、数量算出部1305が算出する土質材料の数量は、例えば土質材料の体積であるが、土質材料の単位体積当たりの重量を体積に乗じて算出される土質材料の重量等であってもよい。
ところで、ドローン12が船舶9の上空を飛行中、船舶9とドローン12の位置関係はドローン12の移動に加え、船舶9の移動、船舶9の動揺、ドローン12の動揺によって時々刻々と変化する。従って、数量算出部1305は、距離データ群に含まれる個々の距離データに関し、その距離データが生成されたタイミング(二次元照射レーザスキャナ126により測距が行われたタイミング)にカメラ127が撮影した船舶9の画像に基づき、ドローン12と船舶9の位置関係を特定する。そして、数量算出部1305は、そのように特定したドローン12と船舶9の位置関係と、距離データが示す距離とに基づき、船舶9の座標系における測距された点の座標を特定する。
数量算出部1305により算出された土質材料の数量を示すデータは、船舶9の名称、検収の日時、検収の位置を示すデータとともに、検収結果データとして記憶部1302に記憶される。
表示部1306は、検収結果データが示す情報を表示する。従って、関係者は、表示部1306の画面を見て、いつ、どの船舶9にどれくらいの数量の土質材料が積載されていたかを容易に知ることができる。
なお、関係者が端末装置を用いてネットワークを介してサーバ装置13にアクセスし、検収結果データが示す情報を端末装置の画面で閲覧可能としてもよい。
続いて、数量検収システム1が土倉91に積載されている土質材料Lの数量を算出するために行う動作を説明する。図7A及び図7B(以下、図7Aと図7Bを図7と総称する)は、土質材料の数量の算出のために、タブレットPC11、ドローン12、サーバ装置13の各々が行う動作のシーケンス図である。
まず、工事現場に向かい航行中(又は、工事現場に到着し停泊中)の船舶9に乗船している計測員は、タブレットPC11を操作して、本実施形態に係るアプリケーションプログラム(以下、「数量検収アプリ」という)をタブレットPC11のコンピュータ111に実行させる。続いて、計測員はタブレットPC11を操作して、数量検収アプリの設定画面を表示させ、設定画面に表示される船舶リストから検収対象の船舶9を選択する。タブレットPC11は計測員により選択された船舶9を識別する船舶識別データをサーバ装置13に送信する(ステップS101)。なお、船舶リストは、予めタブレットPC11に記憶されていてもよいし、タブレットPC11がサーバ装置13から受信してもよい。
サーバ装置13は、タブレットPC11から受信した船舶識別データにより識別される船舶9においてタブレットPC11が設置されるべき位置を示す端末設置データをタブレットPC11に送信する(ステップS102)。タブレットPC11は、サーバ装置13から受信した端末設置データが示す位置を図示した設置案内画面を表示する。計測員は、設置案内画面に表示される位置に、タブレットPC11を設置する。
タブレットPC11は、数量検収アプリの実行に伴い、GNSSユニット112により船舶9の現在の位置を継続的に計測し、計測結果を示す船舶位置データを継続的にサーバ装置13に送信する処理(ステップS103)を開始する。なお、本願において「継続的に計測する」とは、十分に短い時間間隔で繰り返し計測することを意味し、「継続的に送信する」とは、十分に短い時間間隔で繰り返し送信することを意味する。計測は、例えば、所定時間の経過毎に実行される。また、計測結果の送信は、例えば、計測が実行される毎に行われてもよいし、計測結果が所定の条件を満たした場合(例えば、閾値以上に変化した場合)に実行されてもよい。
図7のシーケンスに従う動作の開始時に、ドローン12は陸上の基地にあるものとする。基地にいる計測員は、ドローン12に対し運転開始の指示を与えるための操作を行う。この操作に応じて、ドローン12は、GNSSユニット122、コンパス123、ジャイロセンサ124によりドローン12の現在の位置、方位、姿勢を継続的に計測し、それらの計測結果を示す飛行体位置データ、飛行体方位データ、飛行体姿勢データを継続的にサーバ装置13に送信する処理(ステップS104)を開始する。
サーバ装置13は、最新の飛行体位置データが示す位置から、最新の船舶位置データが示す位置に向かう方向に所定の高度を保ちながら飛行するルートを往路飛行ルートとして決定し、決定した往路飛行ルートを示す往路飛行ルートデータをドローン12に送信する(ステップS105)。
ドローン12は、サーバ装置13から往路飛行ルートデータを受信すると、離陸し、受信した往路飛行ルートデータが示す往路飛行ルートに従う飛行(ステップS106)を開始する。
サーバ装置13は、例えば、タブレットPC11のGNSSユニット112が新たな位置を計測し、サーバ装置13が新たな船舶位置データをタブレットPC11から受信した場合と、ドローン12のGNSSユニット122が新たな位置を計測し、サーバ装置13が新たな飛行体位置データをドローン12から受信した場合に、それらの新たなデータを用いて往路飛行ルートを決定し、決定した新たな往路飛行ルートを示す往路飛行ルートデータをドローン12に送信する。ドローン12は、新たにサーバ装置13から往路飛行ルートデータを受信すると、それまで使用していた往路飛行ルートデータを、新たに受信した往路飛行ルートデータで上書きし更新する。
サーバ装置13は、船舶位置データと飛行体位置データから船舶9とドローン12との距離が所定の閾値以下になったことを検知すると、カメラ127による撮影の開始を指示する撮影指示データをドローン12に送信する(ステップS107)。
ドローン12は、サーバ装置13から撮影指示データを受信すると、カメラ127により継続的に撮影を行い、撮影した画像を表す画像データをサーバ装置13に順次送信する処理(ステップS108)を開始する。
ドローン12が往路飛行ルートに従い船舶9に向かって飛行すると、カメラ127の画角内に船舶9が入ってくる。従って、ドローン12からサーバ装置13に送信される画像データが表す画像に、船舶9が含まれるようになる。サーバ装置13はドローン12から受信した画像データが表す画像から船舶9の画像を認識すると、認識した船舶9の画像に含まれる土倉91の画像を認識し、さらに、認識した土倉91の内側の画像から土質材料Lの縁を認識する(ステップS109)。
ドローン12が往路飛行ルートに従い船舶9に近づきながらカメラ127により撮影する画像に含まれる土倉91は、図6(a)に示されるような、上空から斜め下に見下ろす視点で土倉91を撮影した画像となる。従って、画像認識部1303により認識される土質材料Lの縁の画像も、上空から斜め下に見下ろす視点で縁を撮影した画像となる。サーバ装置13の画像認識部1303は、ステップS109において認識した土質材料Lの縁の画像を、土倉91の真上から土倉91を見下ろす視点でそれらの縁を見た画像に変換する処理(射影変換の処理)を行う(ステップS110)。
ステップS110の処理において、画像認識部1303は、例えば、ドローン12から受信した画像データが表す画像から土倉91の特徴点(例えば、土倉91上端の4つの隅角部の点)を3つ以上認識し、認識したそれらの特徴点の位置を、ステップS101においてタブレットPC11から受信した船舶識別データにより識別される船舶9に応じた土倉形状データが示す船舶9におけるそれらの特徴点の位置に一致させるように、射影変換の処理を行う。なお、射影変換の方法は既知であるため、その説明を省略する。
ステップS110においてサーバ装置13が射影変換により生成する画像は、図6(b)に線E1~E12で示されるような、土質材料Lを平面視した状態における土質材料Lの縁の画像となる。以下、それらの画像を「縁の平面視画像」という。
続いて、サーバ装置13の飛行ルート決定部1304は、ステップS110において画像認識部1303により生成された土質材料Lの縁の平面視画像のうち、直線と見なせる部分を特定する(ステップS111)。本実施形態において、飛行ルート決定部1304は、平面視画像に含まれる縁のうち、直線で近似した場合の決定係数が所定の閾値以上となる部分が所定の閾値を超える長さとなる部分を、直線と見なせる部分として特定する。
図8は、飛行ルート決定部1304が平面視画像が示す縁のうち直線と見なせる部分を特定する処理を説明するための図である。図8(a)は、ステップS110において生成される、土質材料Lの縁の平面視画像を例示した図である。図8(b)は、ステップS111において特定される部分(縁のうち直線と見なせる部分)を近似する直線を例示した図である。図8(b)の線F1~F12は、図8(a)の縁E1~E12の各々を近似する直線である。
ステップS111(図7)に続き、飛行ルート決定部1304は、ドローン12の本体に搭載されている二次元照射レーザスキャナ126が照射するレーザ光の走査方向が、ステップS111において特定した縁の部分を近似する直線が延伸する方向のいずれとも平行とならないように、船舶上空飛行ルートを決定する(ステップS112)。
図9は、飛行ルート決定部1304が、ステップS111において特定した縁の部分を近似する直線に基づき、船舶上空飛行ルートを決定する方法の例を説明するための図である。なお、ドローン12は、往路飛行ルートに従い図9に矢印Xで示される方向に飛行しながら船舶9に近づいているものとする。
飛行ルート決定部1304は、まず、線F1~F4を、土質材料Lを平面視した形状の外縁(縁E1~E4)を近似する直線として特定し、線F1~F4により囲まれる領域A(この場合、概ね矩形の領域)の重心をその領域の代表点Oとして特定する(図9(a))。なお、代表点Oは領域Aの重心に限られず、ドローン12がその点の上空を飛行しながら二次元照射レーザスキャナ126からレーザ光を照射する際、レーザ光が領域Aの全域に到達するような点であればいずれの点であってもよい。例えば、領域Aの重心に代えて、領域Aに外接する円の中心点が代表点Oとして用いられてもよい。
続いて、飛行ルート決定部1304は、ステップS111において特定した線F1~F12の各々に関し、その直線と平行で代表点Oを通る直線として、線H1~H4を特定する(図9(b))。この場合、線H1は線F1、F3、F5、F7と平行で代表点Oを通る直線であり、線H3は線F2、F4、F6、F8と平行で代表点Oを通る直線である。また、線H2は線F9、F11と平行で代表点Oを通る直線であり、線H4は線F10、F12と平行で代表点Oを通る直線である。
続いて、飛行ルート決定部1304は、線H1~H4のうち隣り合う2本が成す角θ1~θ4(図9(c))の中で最大のものを特定する。この例では、角θ2と角θ3が等しく最大となる。このように、最大となる角が複数特定された場合、飛行ルート決定部1304は、それらの角の2等分線のうち、復路飛行ルートに従い飛行するドローン12の飛行方向と成す角度が最大となるものを選択する。図9(d)に示されるように、この場合、角θ2の2等分線I1よりも、角θ3の2等分線I2の方が、矢印Xで示されるドローン12の飛行方向と成す角度が大きい。従って、飛行ルート決定部1304は、角θ3を選択する。なお、線H1~H4のうち隣り合う2本が成す角の中で最大のものが1つであれば、飛行ルート決定部1304はその角を選択する。
続いて、飛行ルート決定部1304は、代表点Oを通り、上記のように選択した角の2等分線と角度Dを成す線分であって、領域Aから外側に所定の距離(例えば20m)だけはみ出る線分R(図9(e))を特定する。既述のとおり、角度Dは、二次元照射レーザスキャナ126が照射するレーザ光の走査方向とドローン12の前進飛行方向とが成す角度であり、例えば90度である。
続いて、飛行ルート決定部1304は、船舶位置データが示す船舶9の高さに所定の距離(例えば、20m)を加えた高さを維持しながら、平面視した場合に線分R上を端点P1から端点P2に向かい飛行するルートを、船舶上空飛行ルートとして決定する。なお、線分Rの2つの端点のうちドローン12の現在位置により近い端点が端点P1であり、他方の端点が端点P2である。
上記のように決定される船舶上空飛行ルートは、土質材料Lの約20m上空を通過する飛行ルートであり、かつ、二次元照射レーザスキャナ126が照射するレーザ光の走査方向が、土質材料Lの縁を近似する直線のいずれとも平行とならない飛行ルートである。
サーバ装置13は、上記のように船舶上空飛行ルートを決定すると(図7、ステップS112)、船舶上空飛行ルートを示す船舶上空飛行ルートデータをドローン12へ送信する(ステップS113)。
ドローン12は、サーバ装置13から船舶上空飛行ルートデータを受信すると、現在位置から船舶上空飛行ルートの始点へ向かった後、船舶上空飛行ルートに従って飛行する。
サーバ装置13は、ドローン12から新たな画像データを受信した場合に、新たな画像データを用いて船舶上空飛行ルートを決定し、決定した新たな船舶上空飛行ルートを示す船舶上空飛行ルートデータをドローン12に送信する。ドローン12は、新たにサーバ装置13から船舶上空飛行ルートデータを受信すると、それまで使用していた船舶上空飛行ルートデータを、新たに受信した船舶上空飛行ルートデータで上書きし更新する。
ドローン12は、船舶上空飛行ルートに従う飛行をするとともに、二次元照射レーザスキャナ126による測距を開始し、測距の結果を示す距離データ群を順次、サーバ装置13に送信する(ステップS114)。
サーバ装置13の数量算出部1305は、ドローン12から受信した距離データ群を用いて、土倉91に積載されている土質材料Lの表面の三次元形状を特定する(ステップS115)。
サーバ装置13の数量算出部1305は、ステップS115において特定した土倉91及び土質材料Lの表面の三次元形状と、土倉形状データが示す土倉91の三次元形状に基づいて、土質材料Lの数量を算出する(ステップS116)。
上記のステップS115~S116の処理は、ドローン12が船舶上空飛行ルートに従い飛行している間に行われる。ただし、ドローン12が船舶上空飛行ルートに従う飛行を完了し、以下に説明する復路飛行ルートに従う飛行を開始した後に、ステップS115~S116の処理が行われてもよい。
サーバ装置13の飛行ルート決定部1304は、飛行体位置データが示すドローン12の現在の位置が船舶上空飛行ルートの終点に達すると、現在位置から基地へ向かい所定の高度を保ちながら飛行するルートを復路飛行ルートとして決定し、決定した復路飛行ルートを示す復路飛行ルートデータをドローン12に送信する(ステップS117)。
ドローン12は、サーバ装置13から復路飛行ルートデータを受信すると、復路飛行ルートデータが示す復路飛行ルートに従い飛行を継続する。
サーバ装置13は、例えば、タブレットPC11から新たな船舶位置データを受信した場合と、ドローン12から新たな飛行体位置データを受信した場合に、それらの新たなデータを用いて復路飛行ルートを決定し、決定した新たな復路飛行ルートを示す復路飛行ルートデータをドローン12に送信する。ドローン12は、新たにサーバ装置13から復路飛行ルートデータを受信すると、それまで使用していた復路飛行ルートデータを、新たに受信した復路飛行ルートデータで上書きし更新する。
ドローン12は、復路飛行ルートに従い飛行し、基地の上空に到着すると、基地に着陸する(ステップS118)。
図10は、図7のシーケンスのステップS115において、数量算出部1305が土質材料Lの表面の三次元形状を特定する方法を説明するための図である。図10(a)は、ドローン12が船舶上空飛行ルートに従い船舶9の上空を飛行する際に二次元照射レーザスキャナ126からレーザ光が照射される位置を破線で示した図である。ただし、図10においては煩雑とならないように、隣り合う破線の間隔を実際より広くしている。
二次元照射レーザスキャナ126により生成される距離データ群は、対象物(この場合、土質材料L)の表面上に離散する複数の測定点の各々までの距離を示す。数量算出部1305は、距離データ群が示す離散的な測定点の位置を補間して、対象物の3次元形状を特定する。その補間の処理において、数量算出部1305は対象物の縁のうち直線で近似できるものがあれば、それらの直線の交点を対象物の隅角部として特定する。
数量算出部1305は、距離データ群が示す対象物の表面上の測定点のうち、隣り合う測定点と非連続な変化を示す測定点を特定する。ここで、非連続な変化を示すとは、例えば、変化率が所定の閾値を超えることを意味する。図10(b)は、数量算出部1305が特定する非連続な変化を示す測定点を黒丸で示した図である。図10(b)に黒丸で示される点は、対象物の縁上の点である。
数量算出部1305は、上記のように特定した対象物の縁上の点のうち、所定の閾値を超える長さの直線で近似される(決定係数が所定の閾値以上となる)点をグループ化する。数量算出部1305は、そのようにグループ化した点を近似する直線を、対象物の縁を近似する直線として特定する。この場合、数量算出部1305は、図10(c)に示す線J1~J12を、対象物の縁を近似する直線として特定する。
数量算出部1305は、上記のように特定した、対象物の縁を近似する直線のうち互いに交わる直線の交点を、対象物の隅角部の点として特定する。なお、三次元空間において2本の直線が交わらないが、それらの距離(共通垂線の長さ)が所定の閾値より短い場合、数量算出部1305は、それらの直線が、例えばその共通垂線の中点において交わるものとみなす。この場合、数量算出部1305は、図10(c)に示す点k1~k8を、対象物の隅角部の点として特定する。
図11は、二次元照射レーザスキャナ126が照射するレーザ光の走査方向が、土質材料Lの縁を近似する直線のいずれかと平行となる方向に、ドローン12が飛行した場合に生じる問題を説明するための図である。図11(a)の例では、レーザ光の走査方向が、土質材料Lの縁E2、E6、E8、E4とほぼ平行となっている。この場合、図11(b)に示すように、これらの縁E2、E6、E8、E4の上の点は測定点とならないことがある。
測定点が土質材料Lの縁上にないと、数量算出部1305はその縁を特定できない。従って、数量算出部1305により補間された距離データ群が示す土質材料Lの形状は、一部の縁(例えば、縁E2、E6、E8、E4)が欠けた形状となってしまう。その結果、数量算出部1305により算出される土質材料Lの数量は大きな誤差を含むものとなる。
数量検収システム1においては、二次元照射レーザスキャナ126が照射するレーザ光の走査方向が、土質材料Lの縁を近似する直線のいずれとも平行とならない。その結果、数量検収システム1により算出される土質材料Lの数量は、土質材料Lの縁の上の測定点が得られないことに起因する誤差を含むことはない。
[第2実施形態]
以下、本発明の第2実施形態に係る数量検収システム2を説明する。数量検収システム2は、第1実施形態に係る数量検収システム1と同様に、タブレットPC11、ドローン12、サーバ装置13を備える(図1)。
数量検収システム2の構成及び動作は、多くの点で数量検収システム1の構成及び動作と共通している。従って、以下に数量検収システム2が数量検収システム1と異なる点のみを説明し、共通する点の説明は省略する。
まず、数量検収システム2が備えるドローン12に搭載された二次元照射レーザスキャナ126は、照射するレーザ光による走査方向を変更可能である。すなわち、数量検収システム1においては、二次元照射レーザスキャナ126が照射するレーザ光による走査方向とドローン12の前進飛行方向とが成す角度Dは不変(例えば90度)であるが、数量検収システム2においては、この角度Dが変更可能となっている。
数量検収システム2においては、角度Dを変更可能とする構成として、例えば、二次元照射レーザスキャナ126が備える測距ユニットが、二次元照射レーザスキャナ126の本体に対し鉛直軸周りに回転可能に取り付けられており、コンピュータ121の制御に従い動作するモータ等の駆動機構が測距ユニットを鉛直軸周りに回転する。
なお、角度Dを変更可能とする構成はこれに限られず、例えば、二次元照射レーザスキャナ126が、例えば鉛直軸周りに回転する1軸の自動回転雲台を介してドローン12の本体に設置されており、コンピュータ121の制御に従い自動回転雲台が二次元照射レーザスキャナ126を鉛直軸周りに回転する構成が採用されてもよい。
数量検収システム2においては、二次元照射レーザスキャナ126が照射するレーザ光による走査方向が可変であるため、サーバ装置13は、往路飛行ルートと同じ方向に飛行する飛行ルートを船舶上空飛行ルートとして決定するとともに、走査方向が、土質材料Lの縁のうち直線と見なせる部分が延伸する方向のいずれとも平行とならないように、走査方向(角度D)を決定する。
そのため、数量検収システム2が備えるサーバ装置13は、機能的な構成部として、数量検収システム1が備えるサーバ装置13の機能的な構成(図5)に加え、角度Dを決定する角度決定部1307を備える。図12は、数量検収システム2が備えるサーバ装置13の機能的構成を示したブロック図である。
数量検収システム2において、飛行ルート決定部1304は、土質材料Lの外縁で囲まれた領域Aの代表点Oの上空を、往路飛行ルートと同じ方向に通過する飛行ルートを、船舶上空飛行ルートとして決定する。
数量検収システム1において、図9(a)~(d)を用いて説明した線I2を特定する処理は飛行ルート決定部1304が行う。数量検収システム2においては、線I2を特定する処理は角度決定部1307が行う。なお、線I2は、土質材料Lの縁の平面視画像を近似する直線(図9(a)、線F1~F12)と平行で領域Aの代表点Oを通る直線(図9(b)、線H1~H4)のうち、最大の角度を成す2本の直線の間の角(図9(c)、角θ2、θ3)の2等分線(そのような角が複数ある場合は、ドローン12の飛行方向との角度が最大のもの)である。
角度決定部1307は、レーザ光による走査方向が上記のように特定した線I2の方向と一致するように角度Dを決定する。図13は、角度決定部1307が決定する角度Dを示した図である。
図14A及び図14B(以下、図14Aと図14Bを図14と総称する)は、土質材料の数量の算出のために、数量検収システム2のタブレットPC11、ドローン12、サーバ装置13の各々が行う動作のシーケンス図である。図14のシーケンス図において、図7のシーケンス図と共通するステップには図7において用いられている符号が付されている。
数量検収システム2においては、サーバ装置13が船舶上空飛行ルートデータをドローン12に送信する際、角度決定部1307が決定した角度Dを示す角度データも併せてドローン12に送信する(ステップS201)。
ドローン12は、サーバ装置13から角度データを受信すると、走査方向とドローン12の前進飛行方向とが成す角度が、角度データが示す角度Dとなるように、二次元照射レーザスキャナ126の測距ユニットの角度を変更する(ステップS202)。その後、ドローン12は、船舶上空飛行ルート(往路飛行ルートの延長線上の飛行ルート)に従い飛行しながら二次元照射レーザスキャナ126による測距を行い、生成した距離データ群を順次、サーバ装置13に送信する(ステップS114)。
数量検収システム2においても、数量検収システム1における場合と同様に、二次元照射レーザスキャナ126が照射するレーザ光の走査方向が、土質材料Lの縁を近似する直線のいずれとも平行とならない。従って、数量検収システム2によって算出される土質材料Lの数量もまた、数量検収システム1によって算出される土質材料Lの数量と同様に、土質材料Lの縁の上の測定点が得られないことに起因する誤差を含むことはない。
[第3実施形態]
以下、本発明の第3実施形態に係る数量検収システム3を説明する。数量検収システム3は、第1実施形態に係る数量検収システム1と同様に、タブレットPC11、ドローン12、サーバ装置13を備える(図1)。
数量検収システム3の構成及び動作は、多くの点で数量検収システム1の構成及び動作と共通している。従って、以下に数量検収システム3が数量検収システム1と異なる点のみを説明し、共通する点の説明は省略する。
第1実施形態に係る数量検収システム1は、二次元照射レーザスキャナ126により三次元形状を測定する対象物の縁を、カメラ127で撮影した画像から認識する。数量検収システム3は、画像から対象物の縁を認識することに代えて、三次元形状を測定する対象物である土質材料Lの平面視形状の縁のうち外縁を、船舶9の位置と方位と、船舶9における土倉91の位置と形状とに基づき特定する。そして、数量検収システム3は、二次元照射レーザスキャナ126が照射するレーザ光による走査方向が、特定した土質材料Lの平面視形状の外縁を近似する直線のいずれとも平行とならないように、船舶上空飛行ルートを決定する。
図15は、数量検収システム3が備えるタブレットPC11のハードウェア構成を示したブロック図である。数量検収システム3が備えるタブレットPC11は、数量検収システム1が備えるタブレットPC11の構成部に加え、コンパス115とジャイロセンサ116を備える。コンパス115とジャイロセンサ116はコンピュータ111の入出力インタフェース1113に接続されている。
コンパス115は、地球の磁場の方向を計測することにより、タブレットPC11の現在の方位を計測する。
ジャイロセンサ116は、3本の基準軸の各々に対する単位時間当たりの角度の変化(角加速度)を計測する3軸ジャイロセンサであり、タブレットPC11の現在の姿勢(ピッチ軸、ロール軸、ヨー軸の各々の軸周りの角度)を計測する。
タブレットPC11が船舶9の所定の位置及び方向に配置された場合、GNSSユニット112、コンパス115、ジャイロセンサ116の各々が計測する位置、方位、姿勢は、船舶9の現在の位置、方位、姿勢を示すことになる。
数量検収システム3が備えるドローン12のハードウェアの構成は、数量検収システム1が備えるドローン12のハードウェアの構成(図3参照)と同じである。ただし、数量検収システム3においては、ドローン12がカメラ127を備えていなくてもよい。
数量検収システム3が備えるサーバ装置13のハードウェアの構成は、数量検収システム1が備えるサーバ装置13のハードウェアの構成(図4参照)と同じである。また、数量検収システム3が備えるサーバ装置13の機能的構成は、数量検収システム1が備えるサーバ装置13の機能的構成(図5参照)と同じである。ただし、数量検収システム3においては、サーバ装置13が画像認識部1303を備えていなくてもよい。
数量検収システム3が備えるサーバ装置13の通信部1301は、タブレットPC11から、船舶位置データに加え、コンパス115により計測した船舶9の現在の方位を示す船舶方位データ、ジャイロセンサ116により計測した船舶9の現在の姿勢を示す船舶姿勢データを継続的に受信する。
また、数量検収システム3が備えるサーバ装置13の通信部1301は、ドローン12が船舶9の上空を飛行中に、ドローン12から、二次元照射レーザスキャナ126により計測した土倉91内の土質材料Lの三次元形状を表す距離データ群は受信するが、船舶9の画像を表す画像データは受信しない。
数量検収システム3が備えるサーバ装置13の記憶部1302には、予め、複数の船舶9の各々に関し、土倉91の三次元形状を表す土倉形状データ、船舶9上のタブレットPC11が設置されるべき位置及び方向を示す端末設置データに加え、船舶9の三次元形状を示す船舶形状データ、船舶9における土倉91の位置を示す土倉位置データが記憶されている。
数量検収システム3が備えるサーバ装置13の飛行ルート決定部1304は、船舶上空飛行ルートの決定において、船舶位置データが示す船舶9の現在の位置と、船舶方位データが示す船舶9の現在の方位とを用いて、土倉91の現在の位置及び方位を特定する。そして、飛行ルート決定部1304は、特定した土倉91の現在の位置及び方位と、飛行体位置データが示すドローン12の現在の位置とを用いて、船舶上空飛行ルートを決定する。
数量検収システム3が備えるサーバ装置13の数量算出部1305は、距離データ群に含まれる個々の距離データに関し、その距離データが生成されたタイミング(二次元照射レーザスキャナ126により測距が行われたタイミング)における船舶位置データが示す船舶9の位置、船舶方位データが示す船舶9の方位、船舶姿勢データが示す船舶9の姿勢、飛行体位置データが示すドローン12の位置、飛行体方位データが示すドローン12の方位、飛行体姿勢データが示すドローン12の姿勢に基づき、ドローン12と船舶9の位置関係を特定し、特定したドローン12と船舶9の位置関係と距離データが示す距離とに基づき、船舶9の座標系における測距された点の座標を特定する。そのように特定される座標群が、土倉91に積載されている土質材料を含む船舶9の表面の三次元形状を表すことになる。
図16は、数量検収システム3において、土質材料の数量の算出のために、タブレットPC11、ドローン12、サーバ装置13の各々が行う動作のシーケンス図である。図16のシーケンスに含まれる処理のうち、図7のシーケンスと異なる処理を以下に説明する。
タブレットPC11は、数量検収アプリの実行に伴い、GNSSユニット112の計測結果を示す船舶位置データに加え、コンパス115の計測結果を示す船舶方位データ、ジャイロセンサ116の計測結果を示す船舶姿勢データを継続的にサーバ装置13に送信する処理(ステップS301)を開始する。
その後、ドローン12がサーバ装置13により決定された往路飛行ルートに従い飛行し、船舶9に近づく。それに伴い、船舶位置データが示す船舶9の現在の位置と飛行体位置データが示すドローン12の現在の位置との間の距離が所定の閾値以下となると、サーバ装置13は、船舶上空飛行ルートの決定のための処理を行う。サーバ装置13は、まず、様々な船舶に関し記憶している船舶形状データ、土倉位置データ、土倉形状データ、端末設置データのうちの、ステップS101においてタブレットPC11から受信した船舶識別データにより識別される船舶9に応じたデータと、タブレットPC11から受信した最新の船舶位置データ、船舶方位データとを用いて、土倉91に対し所定の位置関係を有する2点の位置(三次元座標)を特定する(ステップS302)。以下、それら2点を「ウェイポイント」という。
図17は、2つのウェイポイントの二次元平面上における位置の例を示した図である。なお、ウェイポイントQ1及びQ2の高さは、例えば船舶位置データが示す高さに所定の距離(例えば、20m)を加えた高さである。
サーバ装置13は、まず、土倉91の平面視形状の縁のうち直線と見なせる部分が延伸する方向を、土倉91内に積載されている土質材料Lの平面視形状の外縁のうち直線と見なせる部分が延伸する方向として特定する。土倉91の平面視形状とその方向は、土倉形状データが示す土倉91の形状と、土倉位置データが示す船舶9における土倉91の位置と、船舶方位データが示す船舶9の方位により特定される。この場合、土倉91の平面視形状は船舶9の船首方向に延伸する直線状の縁M1及びM3と、それらに直行する直線状の縁M2及びM4で構成される矩形である。従って、サーバ装置13は、縁M1及びM3が延伸する船首方向と、縁M2及びM4が延伸する船首方向に直交する方向とを、土質材料Lの平面視形状の外縁のうち直線と見なせる部分が延伸する方向として特定する。
続いて、サーバ装置13は、土倉91の平面視形状、すなわち、土質材料Lの平面視形状の代表点O(例えば、土倉91の平面視形状の重心)を特定する。代表点Oは、船舶位置データが示すタブレットPC11の位置と、端末設置データが示す船舶9におけるタブレットPC11の位置と、土倉位置データが示す船舶9における土倉91の位置と、土倉形状データが示す土倉91の形状とにより特定される。図17の例では、代表点OはタブレットPC11の設置位置(正確にはGNSSユニット112のアンテナの位置)から距離Nだけ前方の位置である。
続いて、サーバ装置13は、代表点Oを中心とし、船舶9の船首方向と船首方向に直交する方向が成す角の2等分線の方向に延伸する所定の長さの線分Rを特定する。線分Rの長さは、船舶形状データが示す船舶9の幅(土倉91の前後方向における中央位置における船舶9の幅)をWとするとき、例えば(W+40)mである。サーバ装置13は、線分Rの一方の端点をウェイポイントQ1、他方の端点をウェイポイントQ2として特定する。なお、この場合、線分Rと船舶9の船首方向とが成す角度は45度となる。
サーバ装置13は、上記のようにウェイポイントQ1及びQ2の位置を特定すると(図16、ステップS302)、続いて、飛行体位置データが示すドローン12の現在の位置からウェイポイントQ1を通過した後にウェイポイントQ2を通過する飛行ルートを船舶上空飛行ルートとして決定し、決定した船舶上空飛行ルートを示す船舶上空飛行ルートデータをドローン12に送信する(ステップS113)。
数量検収システム3によれば、二次元照射レーザスキャナ126が照射するレーザ光の走査方向が、土質材料Lの外縁を近似する直線(図7の縁M1~M4)のいずれとも平行とならない。従って、数量検収システム3によって算出される土質材料Lの数量は、土質材料Lの外縁の上の測定点が得られないことに起因する誤差を含むことはない。
[変形例]
上述の実施形態は本発明の一具体例であって、本発明の技術的思想の範囲内において様々に変形可能である。以下にそれらの変形の例を示す。なお、以下に示す2以上の変形例が適宜組み合わされてもよい。
(1)上述した実施形態においては、三次元形状の測定の対象物は土質材料であるものとしたが、これに限られない。また、船舶等より運搬される物でなくてもよい。例えば、地上に固定配置されている物体でもよい。
(2)上述した実施形態においては、ドローン12とサーバ装置13との間の通信、及びタブレットPC11とサーバ装置13との間の通信は、移動体通信網を介して行われるものとしたが、これらの装置間の通信に用いられるネットワークは移動体通信網に限られない。例えば、タブレットPC11、ドローン12及びサーバ装置13が衛星と無線通信を行う通信ユニットを備えるものとしてもよい。この場合、タブレットPC11、ドローン12あるいはサーバ装置13は、移動体通信網の電波が届かない場合、衛星通信網を介して通信を行ってもよい。
また、例えば、ドローン12が船舶上空飛行ルートに従い飛行中に二次元照射レーザスキャナ126により生成する距離データ群をサーバ装置13に送信せずに記憶しておき、ドローン12が基地に着陸した後に、基地に配置されている無線アクセスポイント(例えば、WiFi(登録商標)の通信プロトコルに従うアクセスポイント)を介してサーバ装置13に送信してもよい。
(3)上述した実施形態においては、船舶9上のタブレットPC11とサーバ装置13とが直接通信を行うものとしたが、直接通信を行わなくてもよい。その場合、例えば、ドローン12のコンピュータ121が飛行ルート決定部、数量算出部として機能するものとしてもよい。
この場合、ドローン12のコンピュータ121は、船舶9の航行スケジュール(日時と、日時に対応する船舶9の位置の情報)を記憶しており、ドローン12のコンピュータ121により実現される飛行ルート決定部が、船舶9の現在位置を航行スケジュールから特定することにより往路飛行ルートを決定する。ドローン12が船舶9に近づき、例えばWiFi(登録商標)での無線通信によりタブレットPC11との通信が可能となったら、ドローン12は、タブレットPC11から船舶9の現在位置データを受信し、船舶上空飛行ルートを決定する。
ドローン12は、決定した船舶上空飛行ルートに従って飛行するとともに、ドローン12のコンピュータ121により実現される数量算出部が土質材料Lの表面の三次元形状を特定する。そして、船舶上空飛行ルートに従った飛行を終了した後、土質材料Lの数量を算出し、算出した土質材料Lの数量を示す数量データを記憶する。その後、ドローン12は、飛行ルート決定部により復路飛行ルートを決定し、基地へ向かい飛行する。ドローン12が陸に近づき、サーバ装置13と通信可能となると、ドローン12からサーバ装置13に記憶された数量データが送信される。なお、ドローン12が行う処理の一部がサーバ装置13で行われてもよい。例えば、ドローン12は二次元照射レーザスキャナ126で測定した距離データ群をサーバ装置13に送信し、三次元形状の特定および土質材料Lの数量の算出はサーバ装置13が行ってもよい。
(4)上述した実施形態においては、ドローン12とタブレットPC11の両方がサーバ装置13との間で通信を行う。これに代えて、ドローン12及びタブレットPC11の一方のみがサーバ装置13と通信を行う構成が採用されてもよい。
例えば、タブレットPC11はサーバ装置13と通信可能であるが、ドローン12はサーバ装置13と通信不可である場合に、タブレットPC11がドローン12とサーバ装置13との間の通信の中継を行ってもよい。その場合、上述した実施形態においてドローン12がサーバ装置13に送信するものとしたデータは、ドローン12からタブレットPC11に送信され、タブレットPC11がそれらのデータをサーバ装置13に送信する。また、上述した実施形態においてサーバ装置13がドローン12に送信するものとしたデータは、サーバ装置13からタブレットPC11に送信され、タブレットPC11がそれらのデータをドローン12に送信する。
また、タブレットPC11はサーバ装置13と通信不可であるが、ドローン12はサーバ装置13と通信可能である場合に、ドローン12がタブレットPC11とサーバ装置13との間の通信の中継を行ってもよい。
(5)上述した実施形態においては、ドローン12は飛行中、常時、飛行体位置データ、飛行体方位データ、飛行体姿勢データをサーバ装置13に送信するものとした。また、上述した実施形態において、タブレットPC11は数量検収アプリが実行されている間、常時、船舶位置データ、船舶方位データ、船舶姿勢データをサーバ装置13に送信するものとした。これらのデータは、サーバ装置13が必要とする期間のもののみ、サーバ装置13に送信されてもよい。
例えば、ドローン12が往路飛行ルートに従い飛行している間、サーバ装置13は往路飛行ルートデータを更新するために船舶位置データと飛行体位置データを必要とするが、飛行体方位データ、飛行体姿勢データを必要としない。従って、ドローン12が往路飛行ルートに従い飛行している間、ドローン12は飛行体方位データ、飛行体姿勢データをサーバ装置13に送らない構成が採用されてもよい。
(6)上述の実施形態においては、ドローン12が飛行中、船舶9が移動していることが想定されている。ただし、ドローン12が飛行中、船舶9が、例えば港や港付近の沖、工事現場等で停止していてもよい。この場合、船舶9の現在の位置を示す船舶位置データは、船舶9が停止した後に一度、サーバ装置13に送信されれば足り、例えば所定時間の経過毎に継続的に送信される必要はない。
また、ドローン12が飛行中、船舶9が停止している場合、上述した実施形態においてはドローン12が船舶9の上空を飛行した後に実行されるものとした復路飛行ルートデータの送信のための処理(図7、ステップS117)が、往路飛行ルートデータの送信のための処理(図7、ステップS105)と同じタイミングで実行されてもよい。
(7)第1実施形態に係る数量検収システム1においては、三次元形状を測定する対象物である土質材料Lの縁のうち直線と見なせる部分が延伸する方向が1以上特定された場合、それらの方向のいずれとも、二次元照射レーザスキャナ126が照射するレーザ光による走査方向が平行とならないように、土質材料Lの上空における飛行ルートの方向が決定される。一方、第2実施形態に係る数量検収システム2においては、土質材料Lの縁のうち直線と見なせる部分が延伸する方向が1以上特定された場合、それらの方向のいずれとも、二次元照射レーザスキャナ126が照射するレーザ光による走査方向が平行とならないように、当該走査方向が決定される。これらが組み合わされてもよい。
例えば、二次元照射レーザスキャナ126が照射するレーザ光による走査方向とドローン12の前進飛行方向とが成す角度Dが所定範囲内で可変(例えば、前進飛行方向に対し左右30度の範囲で可変等)である場合、ドローン12が船舶上空飛行ルートに従い土質材料Lの上空を飛行中に船舶9の方向が変化しても、サーバ装置13はドローン12の飛行の方向は可能な限り変更せず、角度Dを変更するようにドローン12に角度データを送信する。この変形例によれば、ドローン12は船舶9の進路変更に伴い飛行方向を頻繁に変更する必要がない。