(58)【調査した分野】(Int.Cl.,DB名)
前記特定手段によって特定したXY座標を前記記憶部に記録するとともに、前記特定手段によって特定した最大の平均値をZ座標として前記記憶部に記録する手段を備えることを特徴とする請求項1に記載の長尺材測位支援装置。
前記特定手段によって特定したXY座標を中心とした前記所定領域を回転させつつ、前記工事現場点群モデルのうち前記所定領域内に配される点のZ座標の平均値を算出することによって、前記所定領域の回転角とZ座標の平均値とを対応付けたデータ列を生成するデータ列生成手段と、
前記データ列生成手段によって生成したデータ列のうち最大の平均値を特定する第二特定手段と、
前記第二特定手段によって特定した最大の平均値に対応付けられた回転角を特定する第三特定手段と、を更に備え、
前期工事現場点群モデルに含まれる前期長尺材端部の点群は点対称な形状の端面を有する部材の端部を表したものであることを特徴とする請求項1に記載の長尺材測位支援装置。
前記特定手段によって特定したXY座標を前記記憶部に記録し、前記第二特定手段によって特定した最大の平均値をZ座標として前記記憶部に記録し、前記第三特定手段によって特定した回転角を前記記憶部に記録することを特徴とする請求項3に記載の長尺材測位支援装置。
【発明を実施するための形態】
【0008】
以下、図面を参照して、本発明の実施形態について説明する。但し、以下に述べる実施形態には、本発明を実施するために技術的に好ましい種々の限定が付されているので、本発明の範囲を以下の実施形態及び図示例に限定するものではない。
【0009】
1. 長尺材測位支援装置
図1に示すように、長尺材測位支援装置10は、鉛直部材としての杭及び柱の位置の計測を支援するための装置である。長尺材測位支援装置10は、プログラム80がインストールされたデスクトップ型、ノートブック型又はタブレット型のパーソナルコンピュータである。
図1に示すように、長尺材測位支援装置10は演算処理装置11、入力部12、表示部13及び記憶部14等を備える。
【0010】
演算処理装置11は、CPU、GPU、ROM、RAM及びハードウェアインタフェース等を有するコンピュータである。
入力部12は、スイッチ、キーボード、ポインティングデバイス等の入力装置である。この入力部12は、操作されることによって操作内容に応じた信号を演算処理装置11に出力する。演算処理装置11は、入力部12から入力した信号に従った演算処理を行う。
表示部13は、画面表示を行うディスプレイ装置である。演算処理装置11が演算処理によりビデオ信号を生成し、そのビデオ信号を表示部13に出力するので、この表示部13がそのビデオ信号に従った表示を行う。
【0011】
記憶部14は、半導体メモリ又はハードディスクドライブ等からなる記憶装置である。記憶部14には、演算処理装置11によって実行可能なプログラム80が格納されている。
【0012】
記憶部14には、BIM(Building Information Modeling:ビルディング インフォメーション モデリング)を実現する設計用ソフトウェアによって作成された設計構造物モデル20が記憶されている。設計構造物モデル20は複数の構成要素モデル21の集合体である。構成要素モデル21は、設計された構造物(例えば建物、橋梁等)の構成要素(例えば杭、柱、梁、基礎、スラブ、壁等)をモデリングしたものである。
図2に示すように、構成要素モデル21は、構成要素モデル21を識別するために一意的な要素識別子(要素ID)22と、構成要素モデル21の三次元形状を定義する三次元形状情報23と、三次元形状情報23によって定義された構成要素モデル21の三次元形状の仮想三次元空間内における位置を定義する位置情報24と、を有する。
【0013】
三次元形状情報23及び位置情報24が要素識別子22に対応付けられた状態で記憶部14に記録されている。三次元形状情報23では構成要素モデル21の三次元形状がローカル座標系で表されており、位置情報24では構成要素モデル21の位置及び向きがワールド座標系で表されている。
【0014】
演算処理装置11は、プログラム80による座標演算機能によって、設計構造物モデル20の各構成要素モデル21を仮想三次元空間にモデリングすることができる。つまり、構成要素モデル21の三次元形状は、プログラム80を実行する演算処理装置11によって、三次元形状情報23に従ってローカル座標系の空間に配される。更に、その構成要素モデル21の三次元形状は、プログラム80を実行する演算処理装置11により、位置情報24に従ってローカル座標系からワールド座標系に座標変換されることによって、ワールド座標系の仮想三次元空間に配される。ここで、ローカル座標系のx座標軸、y座標軸及びz座標軸は互いに直交し、ワールド座標系のX座標軸、Y座標軸及びZ座標軸は互いに直交する。
【0015】
図3は、設計構造物モデル20の構成要素モデル21のうち杭モデル21Aを模式的に示したものである。この杭モデル21Aは円柱状又は円筒状の杭をモデリングしたものであり、杭モデル21Aの三次元形状情報23には少なくとも半径情報(外周面の半径の値)及び長さ情報(頭頂面から下端面までの長さの値)が含まれている。そして、杭モデル21Aが半径情報長さ情報に従ってローカル座標系の空間に配され、その杭モデル21Aが位置情報24に基づいてワールド座標系の仮想三次元空間に配される。なお、柱モデル21Bの頭頂面は、その頭頂面の中心に関して点対称な形状である。
【0016】
図4は、設計構造物モデル20の構成要素モデル21のうち柱モデル21Bを模式的に示したものである。この柱モデル21Bは矩形柱状(例えば正方形柱状)の柱をモデリングしたものであり、柱モデル21Bの三次元形状情報23には少なくとも辺長情報(頭頂面や下端面における各頂点の座標及びそれら座標から求まる頂点間の距離)及び長さ情報(頭頂面から下端面までの距離)が含まれている。そして、矩形柱状の柱モデル21Bが辺長情報及び長さ情報に従ってローカル座標系の空間に配され、その柱モデル21Bが位置情報24に従ってワールド座標系の仮想三次元空間に配される。
【0017】
図1に示すように、記憶部14には、工事中の実際の工事現場を点群(point cloud)でモデリングした三次元の工事現場点群モデル30,40が記憶されている。
工事現場点群モデル30,40は、仮想三次元空間に配置される複数の点の集合体である。より具体的には、
図5に示すように、工事現場点群モデル30,40の各点の情報は、点を識別するために一意的な識別子と、仮想三次元空間での点の位置を表す三次元座標値と、点の濃淡を表すデータ値(例えば、赤(R)の階調値、緑(G)の階調値、青(B)の階調値)とから構成されている。三次元座標値及びデータ値が識別子に対応付けられた状態で記憶部14に記憶されている。なお、
図5では、工事現場点群モデル30,40がフルカラーのモデルを例にしているので、データ値が三原色(RGB)の階調値からなるが、工事現場点群モデル30,40が単色スケール(グレースケール)のモデルである場合、データ値が一色の階調値からなり、工事現場点群モデル30,40が二値(モノクロ)のモデルである場合、工事現場点群モデル30,40にはデータ値が含まれない。
【0018】
工事現場点群モデル30,40は、実際の工事現場を上空から測量装置によって測量することによって作成されたものである。測量装置は例えばレーザースキャナ等を用いて工事現場を走査することによって工事現場の地面上の各点の位置、構造物の各種の構成要素(杭、柱、梁、基礎、スラブ、壁等)の表面上の各点の位置を計測する走査型表面計測装置である。
【0019】
工事の進行に伴って工事現場点群モデル30,40が作成されて記憶部14に蓄積される。そのため、記憶部14に記憶された複数の工事現場点群モデル30,40は作成時刻が異なる。具体的には、工事現場点群モデル30は、実際の工事現場に円筒状の杭が構築された段階で作成されたものであり、工事現場点群モデル40は、実際の工事現場に矩形柱状(例えば正方形柱状)の柱が建て込まれた段階で作成されたものである。実際の工事現場の柱の頭頂面は、その頭頂面の中心(頭頂面と柱芯との交点)に関して点対称な形状である。
【0020】
演算処理装置11は、プログラム80による機能によって、工事現場点群モデル30,40を仮想三次元空間にモデリングすることができる。そして、演算処理装置11は、プログラム80による機能によって、モデリングした工事現場点群モデル30,40を表示部13に表示することができる。表示部13に表示される工事現場点群モデル30,40について、
図6〜
図11を参照して説明する。
図6は工事現場点群モデル30の平面図である。
図7は
図6に示すVII部の斜視図であり、
図8はそのVII部の側面図である。
図9は工事現場点群モデル40の平面図である。
図10は
図9に示すX部の斜視図であり、
図11はそのX部の側面図である。
【0021】
実際の工事現場の鉛直方向が工事現場点群モデル30,40のZ座標軸に相当するように、また工事現場の水平面が工事現場点群モデル30,40のX座標軸及びY座標軸によって定義されるXY平面に相当するように、工事現場点群モデル30、40のX座標軸、Y座標軸及びZ座標軸が定義されている。工事現場点群モデル30,40のX座標軸、Y座標及びZ座標軸は互いに直交する。
【0022】
工事現場点群モデル30は杭が構築された段階で作成されたものであるから、
図6〜
図8に示すように、工事現場点群モデル30には杭頭部の点群31が含まれている。また、工事現場の杭はその頭頂部が地面から突出した状態に施工されるので、
図8に示すように杭頭部の点群31のZ座標は地面の点群32のZ座標よりも大きい。
【0023】
工事現場点群モデル40は柱が構築された段階で作成されたものであるから、
図9〜
図11に示すように、工事現場点群モデル40には柱頭部の点群41が含まれている。工事現場の柱が立設されたものであり、柱頭部が他のもの(例えば、地面、基礎、スラブ、壁等)よりも高い位置にあるので、柱頭部の点群41のZ座標は工事現場点群モデル40に含まれる他の点群のZ座標よりも大きい。
【0024】
2. 杭の測位方法
図12及び
図13に示すフローチャートを参照して、長尺材測位支援装置10を用いて杭の位置を計測する方法について説明する。ここで、
図13に示すフローチャートは
図12に示すステップS2のサブルーチンの処理の流れを示す。なお、以下に説明する演算処理装置11の処理及び機能はプログラム80によって実現される。
【0025】
2−1. ステップS1:工事現場点群モデルの読込
プログラム80が演算処理装置11によって実行されると、まず、演算処理装置11は、記憶部14から工事現場点群モデル30を読み込む。
【0026】
2−2. ステップS2:走査
次に、演算処理装置11は、
図6に示すように、工事現場点群モデル30のうち走査領域33(その走査領域33には一つの杭頭部の点群31が含まれる)をX座標軸及びY座標軸に沿って走査することによって、その走査の際にXY平面に沿って移動する走査点35の各位置毎に点群(走査点35を中心とした後述の円形領域34に含まれる点の集合体)のZ座標の平均値を算出する。具体的には、以下のようにして走査処理を実行する。
【0027】
まず、
図13に示すように、演算処理装置11は、記憶部14から、杭モデル21Aの三次元形状情報23及び位置情報24を読み込む(ステップS11)。
次に、演算処理装置11は、
図14に示すように、読み込んだ三次元形状情報23及び位置情報24に基づいて杭モデル21Aの芯(中心線)のXY座標を算出し、杭モデル21Aの芯のXY座標よりもそれぞれ小さい座標値Xp0と座標値Yp0を設定するとともに、杭モデル21Aの芯のXY座標よりもそれぞれ大きい座標値Xthと座標値Ythを設定し、座標(Xp,Yp)に初期座標(Xp0,Yp0)を当てはめるように設定する(ステップS12)。
【0028】
ここで、Xp及びYpは変数であり、座標(Xp,Yp)は走査点35のXY座標を表し、その走査点35は円形領域34の中心点となる。また、走査領域33は初期座標(Xp0,Yp0)及び閾座標(Xth,Yth)によって定義され、走査領域33は辺がX座標軸及びY座標軸に平行な矩形状の領域であり、初期座標(Xp0,Yp0)は走査領域33の中で最小の座標値をとり、初期座標(Xp0,Yp0)にある点は走査領域33の頂点36を構成し、その頂点36の対角にある頂点37の座標が座標(Xth,Yth)である。
【0029】
なお、ステップS12では、初期座標(Xp0,Yp0)及び閾座標(Xth,Yth)を杭モデル21Aの三次元形状情報23及び位置情報24から算出するのではなく、ユーザが入力部12を操作することによって初期座標(Xp0,Yp0)及び閾座標(Xth,Yth)を入力し、演算処理装置11が入力された初期座標(Xp0,Yp0)を座標(Xp,Yp)として設定してもよい。
【0030】
次に、演算処理装置11は、座標(Xp,Yp)を中心とした半径Rの円形領域34を設定する(ステップS13)。ここで、演算処理装置11は、読み込んだ三次元形状情報23の半径情報の値に所定定数を加算することで半径Rを設定する。そのため、円形領域34の半径Rは杭モデル21Aの半径よりも大きい。なお、円形領域34は走査領域33よりも狭い。
【0031】
次に、演算処理装置11は、工事現場点群モデル30のうち、円形領域34に含まれる点を抽出する(ステップS14)。具体的には、演算処理装置11は、工事現場点群モデル30の各点から走査点35までの、XY平面に沿う距離を算出し(この際、Z座標は捨象する)、算出した距離が半径R以下となる点を抽出する。
次に、演算処理装置11は、ステップS14で抽出した複数の点のZ座標の平均値を算出する(ステップS15)。
次に、演算処理装置11は、座標(Xp,Yp)と、ステップS15で算出したZ座標の平均値とを対応付けて記憶する(ステップS16)。
【0032】
次に、演算処理装置11は、座標値Xpに所定の変量ΔXp(但しΔXp>0であり、例えばΔXp=1である)を加算することによって座標値Xpを更新し(ステップS17)、更新後の座標値Xpと頂点37の座標値Xthとを比較する(ステップS18)。
【0033】
ステップS18の比較の結果、座標値Xpが座標値Xth以下である場合(ステップS18:NO)、演算処理装置11の処理がステップS13に戻る。そのため、演算処理装置11は、座標値Xpが座標値Xthを超えるまで(ステップS18:YES)、上述のステップS13〜S18の処理を繰り返し実行する。ステップS13〜S18の処理が繰り返されることによって、走査点35及び円形領域34が走査領域33内をX座標軸の方向に離散的(段階的)に移動し、走査点35の各位置毎に円形領域34内の点のZ座標の平均値が算出される。
【0034】
ステップS18の比較の結果、座標値Xpが座標値Xthを超える場合(ステップS18:YES)、演算処理装置11は、座標値Ypに所定の変量ΔYp(但しΔYp>0であり、例えばΔYp=1である)を加算することによって座標値Ypを更新し(ステップS19)、更新後の座標値Ypと頂点37の座標値Ythとを比較する(ステップS20)。
【0035】
ステップS20の比較の結果、座標値Ypが座標値Yth以下である場合(ステップS20:NO)、演算処理装置11が座標値Xpを初期値Xp0に設定した後(ステップS21)、演算処理装置11の処理がステップS13に戻る。そのため、演算処理装置11は、座標値Xpが座標値Xthを超えるまで(ステップS18:YES)、上述のステップS13〜S18の処理を繰り返し実行する。ステップS13〜S18の処理が繰り返されることによって走査点35が走査領域33内をX座標軸の方向に移動するが、その際に走査点35が描く軌跡は、前回にステップS13〜S18の処理が繰り返されることによって走査点35が描く軌跡からΔYpだけY座標軸の方向にずれたものである。
【0036】
こうして、演算処理装置11は、座標値Ypが座標値Ythを超えるまで(ステップS20:YES)、上述のステップS13〜S21の処理を繰り返し実行する。そして、走査点35が走査領域33の頂点37に至った後のステップS19の処理によって座標値Ypが座標値Ythを超えるので、その後のステップS20の比較の結果、演算処理装置11の処理がステップS2からステップS3に移行する。このようなステップS2(ステップS11〜ステップS21)の走査によって、
図15に示すように、走査領域33内の各位置の座標(Xp,Yp)のデータ列と、走査領域33内の各位置の座標(Xp,Yp)に対応付けられたZ座標の平均値のデータ列とが生成される。
【0037】
2−3. ステップS3:Z座標の最大平均値の特定及びそれに対応するXY座標の特定
走査処理後、演算処理装置11は、Z座標の平均値のデータ列の中から最大値を特定し、その最大値に対応付けられた座標(Xp,Yp)を特定する。
【0038】
ここで、工事現場点群モデル30には杭頭部の点群31の他に地面の点群32も含まれているところ、杭モデル21Aの半径よりも僅かに大きな半径Rを有する円形領域34に含まれる杭頭部の点群31の点の数が多いほど、またその円形領域34に含まれる地面の点群32の点の数が少ないほど、その円形領域34に含まれる点のZ座標の平均値が大きい。そのため、Z座標の平均値のデータ列のうち最大値をとる座標(Xp,Yp)は、杭頭部の点群31の外形を構成する円筒又は円柱の芯のXY座標に相当する。工事現場点群モデル30が実際の工事現場を点群で表したものであるので、杭頭部の点群31の外形を構成する円筒又は円柱の芯のXY座標は実際の工事現場における杭芯の水平方向の位置に相当し、Z座標の平均値のデータ列のうち最大値をとる座標(Xp,Yp)も実際の工事現場における杭芯の水平方向の位置に相当する。
【0039】
また、Z座標の平均値のデータ列の最大値をとる座標(Xp,Yp)を中心位置とした円形領域34には、杭頭部の点群31の点が最も多く含まれているので、Z座標の平均値のデータ列の最大値は杭頭部の点群31の外形を構成する円筒又は円柱の頭頂面のZ座標に相当する。工事現場点群モデル30が実際の工事現場を点群で表したものであるので、杭頭部の点群31の外形を構成する円筒又は円柱の芯のZ座標は実際の工事現場における杭の頭頂面の鉛直方向の位置に相当し、Z座標の平均値のデータ列のうち最大値も実際の工事現場における杭の頭頂面の鉛直方向の位置に相当する。
【0040】
2−4. ステップS4:記録及び表示
次に、演算処理装置11は、ステップS3で特定した座標(Xp,Yp)とステップS3で特定したZ座標の最大平均値とを対応付けて、これらを記憶部14に記録する。更に、演算処理装置11は、ステップS3で特定した座標(Xp,Yp)とステップS3で特定したZ座標の最大平均値とを表示部13に表示させる。従って、ユーザは、表示部13に表示された数値を認識して取得することによって、杭の頭頂面の鉛直方向の位置及び水平方向の位置を計測することができる。
【0041】
2−5. 別の杭の測位
工事現場点群モデル30に含まれる他の杭頭部の点群31に対しても同様にして、上述のステップS1〜S4の処理を実行する。
【0042】
3. 柱の測位方法
図16〜
図18に示すフローチャートを参照して、長尺材測位支援装置10を用いて柱の位置を計測する方法について説明する。ここで、
図17に示すフローチャートは
図16に示すステップS52のサブルーチンの処理の流れを示し、
図18に示すフローチャートは
図16に示すステップS54のサブルーチンの処理の流れを示す。なお、以下に説明する演算処理装置11の処理及び機能はプログラム80によって実現される。
【0043】
3−1. ステップS51:工事現場点群モデルの読込
プログラム80が演算処理装置11によって実行されると、まず、演算処理装置11は、記憶部14から工事現場点群モデル40を読み込む。
【0044】
3−2. ステップS52:走査
次に、演算処理装置11は、
図9に示すように、工事現場点群モデル40のうち走査領域43(その走査領域43には一つの柱頭部の点群41が含まれる)をX座標軸及びY座標軸に沿って走査することによって、その走査の際にXY平面に沿って移動する走査点45の各位置毎に点群(走査点45を中心とした後述の矩形領域44に含まれる点の集合体)のZ座標の平均値を算出する。具体的には、以下のようにして走査処理を実行する。
【0045】
まず、
図16に示すように、演算処理装置11は、記憶部14から、柱モデル21Bの三次元形状情報23及び位置情報24を読み込む(ステップS61)。
次に、演算処理装置11は、
図19に示すように、読み込んだ三次元形状情報23及び位置情報24に基づいて柱モデル21Bの芯(中心線)のXY座標を算出し、柱モデル21Bの芯のXY座標よりもそれぞれ小さい座標値Xq0と座標値Yq0を設定するとともに、柱モデル21Bの芯のXY座標よりもそれぞれ大きい座標値Xtと座標値Ytを設定し、座標(Xq,Yq)に初期座標(Xq0,Yq0)を当てはめるように設定する(ステップS62)。
【0046】
ここで、Xq及びYqは変数であり、座標(Xq,Yq)は走査点45のXY座標を表し、その走査点45は矩形領域44の中心点となる。また、走査領域43は初期座標(Xq0,Yq0)及び閾座標(Xt,Yt)によって定義され、走査領域43は辺がX座標軸及びY座標軸に平行な矩形状の領域であり、初期座標(Xq0,Yq0)は走査領域43の中で最小の座標値をとり、初期座標(Xq0,Yq0)にある点は走査領域43の頂点46を構成し、その頂点46の対角にある頂点47の座標が座標(Xt,Yt)である。
【0047】
なお、ステップS62では、初期座標(Xq0,Yq0)及び閾座標(Xt,Yt)を柱モデル21Bの三次元形状情報23及び位置情報24から算出するのではなく、ユーザが入力部12を操作することによって初期座標(Xq0,Yq0)及び閾座標(Xt,Yt)を入力し、演算処理装置11が入力された初期座標(Xq0,Yq0)を座標(Xq,Yq)として設定してもよい(ステップS62)。
【0048】
次に、演算処理装置11は、座標(Xq,Yq)を中心とした矩形領域44を設定する(ステップS63)。ここで、演算処理装置11は、読み込んだ三次元形状情報23の辺長情報の値に所定定数を加算することによって矩形領域44の辺長を設定する。なお、矩形領域44の各辺がX座標軸或いはY座標軸に対して平行であり、矩形領域44の外縁上の各点はXY座標によって表され、矩形領域44の外縁はXY座標の範囲によって表されている。
【0049】
次に、演算処理装置11は、工事現場点群モデル40の各点のXY座標と矩形領域の外縁を表すXY座標の範囲とを対比することによって(この際、Z座標は捨象する)、工事現場点群モデル40の中から、矩形領域44に含まれる点を抽出する(ステップS64)。
次に、演算処理装置11は、ステップS64で抽出した複数の点のZ座標の平均値を算出する(ステップS65)。
次に、演算処理装置11は、座標(Xq,Yq)と、ステップS65で算出したZ座標の平均値とを対応付けて記憶する(ステップS66)。
【0050】
次に、演算処理装置11は、座標値Xqに所定の変量ΔXq(但しΔXq>0であり、例えばΔXq=1である)を加算することによって座標値Xqを更新し(ステップS67)、更新後の座標値Xqと頂点47の座標値Xtとを比較する(ステップS68)。
【0051】
ステップS68の比較の結果、座標値Xqが座標値Xt以下である場合(ステップS68:NO)、演算処理装置11の処理がステップS63に戻る。そのため、演算処理装置11は、座標値Xqが座標値Xtを超えるまで(ステップS68:YES)、上述のステップS63〜S68の処理を繰り返し実行する。ステップS63〜S68の処理が繰り返されることによって、走査点45及び矩形領域44が走査領域43内をX座標軸の方向に離散的(段階的)に移動し、走査点45の各位置毎に矩形領域44内の点のZ座標の平均値が算出される。
【0052】
ステップS68の比較の結果、座標値Xqが座標値Xtを超える場合(ステップS68:YES)、演算処理装置11は、座標値Yqに所定の変量ΔYq(但しΔYq>0であり、例えばΔYq=1である)を加算することによって座標値Yqを更新し(ステップS69)、更新後の座標値Yqと頂点47の座標値Ytとを比較する(ステップS80)。
【0053】
ステップS80の比較の結果、座標値Yqが座標値Yt以下である場合(ステップS80:NO)、演算処理装置11が座標値Xqを初期値Xq0に設定した後(ステップS71)、演算処理装置11の処理がステップS63に戻る。そのため、演算処理装置11は、座標値Xqが座標値Xtを超えるまで(ステップS68:YES)、上述のステップS63〜S68の処理を繰り返し実行する。ステップS63〜S68の処理が繰り返されることによって走査点45が走査領域43内をX座標軸の方向に移動するが、その際に走査点45が描く軌跡は、前回にステップS63〜S68の処理が繰り返されることによって走査点45が描く軌跡からΔYqだけY座標軸の方向にずれたものである。
【0054】
こうして、演算処理装置11は、座標値Yqが座標値Ytを超えるまで(ステップS70:YES)、上述のステップS63〜S71の処理を繰り返し実行する。そして、走査点45が走査領域43の頂点47に至った後のステップS69の処理によって座標値Yqが座標値Ytを超えるので、その後のステップS70の比較の結果、演算処理装置11の処理がステップ52からステップS53に移行する。このようなステップS52(ステップS61〜ステップS71)の走査によって、
図20に示すように、走査領域43内の各位置の座標(Xq,Yq)のデータ列と、走査領域43内の各位置の座標(Xq,Yq)に対応付けられたZ座標の平均値のデータ列とが生成される。
【0055】
3−3. ステップS53:Z座標の最大平均値の特定及びそれに対応するXY座標の特定
走査処理後、演算処理装置11は、Z座標の平均値のデータ列の中から最大値を特定し、その最大値に対応付けられた座標(Xq,Yq)を特定する。
【0056】
ここで、工事現場点群モデル40には柱頭部の点群41以外の点群も含まれているところ、柱モデル21Bの断面よりも僅かにサイズの大きい矩形領域44に含まれる柱頭部の点群41の点の数が多いほど、またその矩形領域44に含まれる柱頭部以外の点群の点の数が少ないほど、その矩形領域44に含まれる点のZ座標の平均値が大きい。そのため、Z座標の平均値のデータ列のうち最大値をとる座標(Xq,Yq)は、柱頭部の点群41の外形を構成する四角柱の芯のXY座標に相当する。工事現場点群モデル40が実際の工事現場を点群で表したものであるので、柱頭部の点群41の外形を構成する四角柱の芯のXY座標は実際の工事現場における柱芯の水平方向の位置に相当し、Z座標の平均値のデータ列のうち最大値をとる座標(Xq,Yq)も実際の工事現場における柱芯の水平方向の位置に相当する。
【0057】
3−4. ステップS54:Z座標の最大平均値の特定及びその回転角の特定
次に、演算処理装置11は、
図21に示すように矩形領域44を回転させつつ、各回転角における矩形領域44内の点のZ座標の平均値を算出することによって、Z座標の平均値のデータ列を生成し、そのデータ列の中から最大平均値を特定し、その最大平均値に対応する回転角を特定する。具体的には、以下のようにして最大平均値及びそれに対応する回転角を特定する。
【0058】
まず、演算処理装置11は、XY平面に平行な矩形領域44を仮想三次元空間に設定する(ステップS81)。ここで、矩形領域44の中心点(重心点)の座標は、ステップS53で特定したZ座の最大平均値に対応付けられた座標(Xq,Yq)である。その矩形領域44の各辺はX座標軸或いはY座標軸に対して平行であり、その矩形領域44はステップS52の走査における矩形領域44と合同である。
【0059】
次に、演算処理装置11は、回転角θ(但し、θは変数である)として初期値θ0(具体的には、θ0=0°)を設定する(ステップS82)。
次に、演算処理装置11は、ステップS81で設定した矩形領域44を、その中心を通る回転軸(その回転軸はZ軸に平行である)回りに回転角θだけ回転させる(ステップS83)。ここで、
図21に示す矩形領域44はその中心を通る回転軸回りに回転されたものである。
次に、演算処理装置11は、工事現場点群モデル40の各点のXY座標と、回転後の矩形領域44の外縁を表すXY座標の範囲とを対比することによって(この際、Z座標は捨象する)、工事現場点群モデル40の中から、回転後の矩形領域44の内側にある点を抽出する(ステップS84)。
【0060】
次に、演算処理装置11は、ステップS84で抽出した点のZ座標の平均値を算出する(ステップS85)。
次に、演算処理装置11は、回転角θと、ステップS85で算出した点のZ座標の平均値とを対応付けて記憶する(ステップS86)。
【0061】
次に、演算処理装置11は、回転角θに所定の変量Δθ(但しΔθ>0であり、例えばΔθ=1°である)を加算することによって回転角θを更新し(ステップS87)、更新後の回転角θと所定閾値β(例えばβ=360°)とを比較する(ステップS88)。その比較の結果、更新後の回転角θが所定閾値β以下である場合(ステップSS88:NO)、演算処理装置11の処理がステップS83に戻って、演算処理装置11が更新後の回転角θに関して同様にステップS83〜S88の処理を実行する。こうして、演算処理装置11は、更新後の回転角θが所定閾値βを超えるまで(ステップS88:YES)、上述のステップS83〜S88の処理を繰り返し実行する。
【0062】
ステップS83〜S88の処理が繰り返し実行されることによって、回転角θのデータ列と、回転角θに対応付けられたZ座標の平均値のデータ列とが
図22に示すように生成される。そして、演算処理装置11は、Z座標の平均値のデータ列の中から最大値を特定するとともに、その最大値に対応する回転角θを特定する(ステップS89)。
ここで、柱頭部以外の点群の点は柱頭部の点群41の点よりもZ座標が小さい。また、ステップS73で設定した矩形領域が柱頭部の点群41の外形を構成する矩形柱の外周面に合致していくほど、その矩形領域に含まれる柱頭部以外の点群の点の数が少なくなる傾向にある。よって、ステップS73で設定した矩形領域が柱頭部の点群41の外形を構成する矩形柱の外周面に最も合致した場合には、その矩形領域内に配される点のZ座標の平均値が最も大きくなる。よって、Z座標の平均値のデータ列の中で最大平均値に対応する回転角θは、実際の工事現場における柱の各柱面の向きに相当する。
【0063】
3−5. ステップS5:記録及び表示
次に、演算処理装置11は、ステップS53で特定した座標(Xq,Yq)と、ステップS89で特定したZ座標の最大平均値と、ステップS89で特定した回転角θとを対応付けて、これらを記憶部14に記録する。更に、演算処理装置11は、ステップS53で特定した座標(Xq,Yq)と、ステップS89で特定したZ座標の最大平均値と、ステップS89で特定した回転角θとを表示部13に表示させる。よって、ユーザは、表示部13に表示された数値を認識して取得することによって、柱の頭頂面の鉛直方向の位置及び水平方向の位置並びに各柱面の向きを計測することができる。
【0064】
3−6. 別の柱の測位
その後、工事現場点群モデル40に含まれる他の柱頭部の点群41に対しても同様にして、上述のステップS51〜S55の処理を実行する。
【0065】
4. 効果
以上説明した本発明の実施の形態によれば、長尺材測位支援装置10を用いることにより、以下の効果が得られる。
【0066】
(1) 工事現場点群モデル30,40が工事現場を点群で表したものであるので、実際の工事現場において各種の測量器を用いずとも、工事現場点群モデル30,40に含まれる点群31,41に基づいて実際の杭や柱の位置を計測することができる。
【0067】
(2) 工事現場点群モデル30,40を取得しさえすれば、長尺材測位支援装置10の演算処理装置11の演算処理によって、実際の杭や柱の位置を計測することができる。特に、位置を計測する杭や柱の数が多いほど、実際の杭や柱の位置の計測がより省力的になる。
【0068】
(3) 実際の工事現場で計測作業を行わずとも、実際の杭や柱の位置を計測することができる。
【0069】
5. 変形例
以上、本発明を実施するための形態について説明したが、上記実施の形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明はその趣旨を逸脱することなく変更、改良され得るとともに、本発明にはその等価物も含まれる。例えば、以下のような実施の形態が考えられる。
【0070】
(1) 上記実施形態では、測位対象の柱の芯が水平面に対して垂直であり、その柱の頭頂面が水平であった。それに対して、測位対象の柱の芯が水平面に対して傾斜し、その柱の頭頂面がその芯に対して直交してもよい。この場合、演算処理装置11は、柱モデル21Bの柱芯が仮想三次元空間のXY平面に対して傾斜するように、柱モデル21Bをモデリングする。
【0071】
(2) 上記実施形態では、測位対象の長尺材が垂直材としての杭或いは柱であったが、水平部材としての梁であってもよい。
【0072】
(3) 上記実施形態では、実際の工事現場の杭が円筒状又は円柱状であり、杭モデル21Aが円筒状又は円柱状であり、杭頭部の点群31の外形が円筒状又は円柱状であったが、これらが矩形柱状であってもよい。その場合、上述の「3. 柱の測位方法」のように杭を測位する。
【0073】
(4) 上記実施形態では、実際の工事現場の柱が矩形柱状であり、柱モデル21Bが矩形柱状であり、杭頭部の点群31の外形が矩形柱状であったが、これらが円柱状であってもよい。その場合、上述の「2. 杭の測位方法」のように柱を測位する。