(57)【要約】【課題】  障害物を自律的に回避しながら走行し目標地点に到達できる自律走行装置において、工場などの矩形以外の形状で構成されている現場における走行プログラムの作成を容易にする。【解決手段】  レイアウト図などの障害物地図を表示する手段と、該障害地図上に点を指定することにより、通路区域を規定する通路ゲートと作業区域を規定する作業ゲート及びゲート間の連結関係を通路地図として描画する手段と、該通路地図の位置情報と接続情報を用いて、ある出発点を含む区域から到達点を含む区域までの最小の経路通路の順列を求める手段と、自律走行装置に目標点が与えられたとき、該経路を元に走行プログラムを作成する手段による。【選択図】  図１
2011076559.tif 000002
【特許請求の範囲】
【請求項１】
障害物を自律的に回避して、目標地点に到達する走行と、且つ目標地点にて自律的に作業対象装置へ位置決めをおこない作業段階へ移行する制御を行う自律走行装置の走行プログラムを生成する方法であって、
ＣＡＤシステムなどから入力した建家の構造物や設備を床面に２次元的に投影したレイアウト図より、走行可能領域以外の障害物領域の境界線を所定の近似幅にて線分近似を行い、閉ループの線分近似列データへ変換して、障害物地図を作成し、
前記障害物地図をユーザインタフェース上に表示して、ユーザによる作業区域、通路区域の定義のためのゲート入力、通路の定義のためのゲート連結情報入力を受付けて、通路地図を作成し、
自律走行装置の出発作業区域から到達作業区域までの走行通路の候補をゲート連結情報を辿って探索し、総通路長が短いものから走行通路の優先順位を決定し、
通路区域ＩＤ、作業区域ＩＤの連続リスト形式に、到達作業区域における作業内容を加えた走行プログラムを作成することを特徴とする自律走行装置の走行プログラム作成方法。
【請求項２】
前記障害物地図をユーザインタフェース上に表示して、ユーザによる作業区域、通路区域の定義のためのゲート入力、通路の定義のためのゲート連結情報入力を受付けて、通路地図を作成する処理において、
前記障害物地図上に、通路となる区域を規定する通路ゲートと自律走行装置の到達目標である作業を行う区域を規定する作業ゲートの２種類のゲートを入力装置により逐次入力し、前記障害物地図上に前記ゲートに囲まれた区域によって通路地図を表すことを特徴とする請求項１に記載の自律走行装置の走行プログラム作成方法。
【請求項３】
請求項２において、入力装置により障害物地図上に１点の指定を受付けると、該点を通り両端を障害物に接する最短の直線(線分)である通路ゲートを計算し、該通路ゲートを描画することを特徴とする自律走行装置の走行プログラム作成方法。
【請求項４】
請求項２において、入力装置により障害物地図上に１点の指定を受付けると、該点を中心として特定半径の円である作業ゲートを計算し、該作業ゲートを描画することを特徴とする自律走行装置の走行プログラム作成方法。
【請求項５】
請求項３または４において、入力装置により２つのゲートの指定を受付けると、該ゲート間が連結されたものと見なし、該ゲート間に直線を描画することを特徴とする自律走行装置の走行プログラム作成方法。
【請求項６】
前記レイアウト図に代えて、自律走行装置の持つセンサ機構、または別の環境測定装置により建家や設備を境界線として測定した測定情報より障害物地図を作成し、あるいはレイアウト図と測定図の合成図を障害物地図として表示することを特徴とする自律走行装置の走行プログラム作成方法。
【請求項７】
障害物を自律的に回避して、目標地点に到達する走行と、且つ目標地点にて自律的に作業対象装置へ位置決めをおこない作業段階へ移行する制御を行う自律走行装置の走行プログラムを作成する装置であって、
ＣＡＤシステムなどから入力した建家の構造物や設備を床面に２次元的に投影したレイアウト図より、走行可能領域以外の障害物領域の境界線を所定の近似幅にて線分近似を行い、閉ループの線分近似列データへ変換して、障害物地図を作成する障害物地図作成部と、
前記障害物地図をユーザインタフェース上に表示して、ユーザによる作業区域、通路区域の定義のためのゲート入力、通路の定義のためのゲート連結情報入力を受付けて、通路地図を作成する通路地図作成部と、
自律走行装置の出発作業区域から到達作業区域までの走行通路の候補をゲート連結情報を辿って探索し、総通路長が短いものから走行通路の優先順位を決定する経路探索部と、
通路区域ＩＤ、作業区域ＩＤの連続リスト形式に、到達作業区域における作業内容を加えた走行プログラムを作成する走行プログラム作成部とを備えたことを特徴とする自律走行装置の走行プログラム作成装置。
【請求項８】
前記通路地図作成部において、前記障害物地図上に、通路となる区域を規定する通路ゲートと自律走行装置の到達目標である作業を行う区域を規定する作業ゲートの２種類のゲートを入力装置により逐次入力し、前記障害物地図上に前記ゲートに囲まれた区域によって通路地図を表すことを特徴とする請求項７に記載の自律走行装置の走行プログラム作成装置。
【請求項９】
請求項８において、入力装置により障害物地図上に１点の指定を受付けると、該点を通り両端を障害物に接する最短の直線(線分)である通路ゲートを計算し、該通路ゲートを描画することを特徴とする自律走行装置の走行プログラム作成装置。
【請求項１０】
請求項８において、入力装置により障害物地図上に１点の指定を受付けると、該点を中心として特定半径の円である作業ゲートを計算し、該作業ゲートを描画することを特徴とする自律走行装置の走行プログラム作成装置。
【請求項１１】
請求項９または１０において、入力装置により２つのゲートの指定を受付けると、該ゲート間が連結されたものと見なし、該ゲート間に直線を描画することを特徴とする自律走行装置の走行プログラム作成装置。
【請求項１２】
前記レイアウト図に代えて、自律走行装置の持つセンサ機構、または別の環境測定装置により建家や設備を境界線として測定した測定情報より障害物地図を作成する障害物測定部を更に備え、
前記レイアウト図、測定図、またはレイアウト図と測定図の合成図を障害物地図として表示することを特徴とする自律走行装置の走行プログラム作成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自律走行装置の走行に必要な走行プログラムの作成方法に係わり、特に、レイアウト図や現場測定図を基にした自律走行装置が走行可能な通路地図の設定方法、及び通路地図からの走行プログラムの作成方法に関する。
【背景技術】
【０００２】
近年、製造現場や病院などで案内や物品を搬送するといった使役をおこなう自律走行装置の開発が進んでいる。自律走行装置は従来の無人搬送装置とは異なり、設備の様な静的障害物や人の様な動的障害物を、外部からの操作を必要とせずに自律的に回避しながら走行し、目標地点に到達できる機能を有している。
【０００３】
例えば所謂右側通行といったような、周囲の障害物を認識しそこから一定距離をおいて走行できる機能を有する。また、目標地点に到達時には、例えばローダーなどの対象物に自律的に接近、接続をおこない、物品の積み降ろしといった作業をおこなうことができる機能を有している。
【０００４】
自律走行装置が目標地点まで走行するためには走行プログラムが必要である。走行プログラムは現在地点、通過点及び目標地点の位置情報からなり、自律走行装置は現在地点から通過点を経由して目標地点まで移動していく。このとき通過点や目標地点の位置座標は目安でよく、自律移動装置自身が障害物により通過点の位置を通過できないと判断した場合には、該通過点付近を通過することになり、また上記のように目標地点の付近に到達できればよい。
【０００５】
実際の現場では自律走行装置が目標地点にたどり着くまでに、廊下や設備の間を通過することとなるが、自律走行装置が全ての場所に進入し通過する事ができるわけではない。空間や床面などが物理的に自律走行装置が通行可能である状況であっても、人通りが多いことが予見され危険が見込まれる場合や、設備からの油や切削残滓などが飛散し自律走行装置への被害が見込まれる場合には、その区画に対して自律走行装置の進入・通行を禁止する必要がある。しかし、これら情報は使用者しか知り得ず、走行の可否を自律走行装置が判断できない事象である。そこで自律走行装置を走行させる現場において、各所について進入し通過して良いかどうかを、予め使用者が指定しておく必要がある。すなわち現場に即した自律走行装置の走行可能な区画を通路として明示的に示し、複数の通路からなる通路地図を元に走行プログラムを作成することが必要である。また、上記のような現場の状況は曜日や時刻によって異なることが多い。例えば平日や定時内は人が多くいるために進入禁止とするが、休日や夜間は進入可能となるなどである。したがって、自律移動装置の走行プログラムは上記のような走行の可否条件を反映するものでなければならない。
【０００６】
従来の走行プログラムを作成する方法としては、建家の構造や設備の配置を記したレイアウト図などを参考に、通過点や目標地点のＸＹ座標で表される厳密な位置情報を求め、これを用いるものであった。しかし、自律走行装置の寸法や走行規則をプログラム作成者が熟知し、レイアウト図から走行可能な通路を見いだして、通過点のＸＹ座標を求め、これを元に走行可能な通路地図及び走行プログラムを作成するには専門的な知識と多くの作業を必要とするものであった。
【０００７】
走行プログラムを簡易に作成する方法として特許文献１に示されているように、走行プログラムを作成するために、まずブロック単位で入力することによりブロック地図を作成するブロック地図生成部があり、さらに、該ブロック地図上でブロック単位で通過点や到達地点を指定し、指定されたブロックの位置情報から走行プログラムを作成する方法が提案されている。この方法によれば走行可能な通路をブロック単位で設定し、該ブロックの連結で通過点を設定し走行プログラムを作成している。
【０００８】
本事例では病院を対象としている。このような現場では走行可能な通路は廊下や部屋で構成され、その幅や広さが十分確保されていることが保証されている。すなわち、全てのブロックにおいて自律走行装置は走行可能であることが前提となっている。
【０００９】
また、基本的に廊下や居室は矩形であるので全てのブロックは矩形で表現され、これに適したプログラムの記述方法となっている。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開平１１−８５２７３
【発明の概要】
【発明が解決しようとする課題】
【００１１】
特許文献１に記載される事例のような現場であれば、廊下や部屋が直交する壁によって構成されているので、明確なブロック化が可能であり、各々のブロックを通路として設定し、そこから通過点を導き出して走行プログラムに用いることができる。しかし、例えば工場では壁などで明確かつ恒常的に区画化されていることが少なく、自律移動装置は現場の製造装置の間や、白線で区切られた区画内を走行することとなり、前述の事例のようなブロック地図としては、区画の切り分けが曖昧なために描くことは難しい。さらに、工場にある装置は単純な矩形であることは少なく、また設置方向が建家の壁等に対して平行である保証はない。したがって、特許文献１に記載されるような矩形で構成されるブロック図の場合、該区域を細かな矩形で埋めていくこととなり、完全に埋めるには手間を要し、埋めきらないで残った区域は自律走行装置が走行不可能な区域として地図を作成することになる。該地図を用いた走行プログラムでは、実際には走行可能な区域であっても自律走行装置は通行不可と認識して迂回走行を行い、効率の悪い走行となってしまう。
【００１２】
さらに、多数あるブロックについて縦横寸法や角度を事前に一つ一つ入力しなければならず、このとき多くの手間を要する。特許文献１のような現場では、壁などの障害物は長期に渡って固定であり、一度ブロック図を設定してしまえば以後手間を要することはない。しかし、工場の様な現場では装置の設置有無やその位置が頻繁に変更される。したがって、レイアウト図のような設計図面は現場の現状を表している場合が少なく、該レイアウト図を元にして走行プログラムを作成した場合、誤った走行プログラムとなってしまう。
【課題を解決するための手段】
【００１３】
本発明は、自律走行装置が従来の無人搬送車とは異なり、絶対的な走行経路上の位置座標を指定しなくても、走行すべき通路の方向と通路上の代表点を位置指定することで、目標点を探索しながら走行できるといった、自律性を持つことを前提とした走行プログラム作成方法および装置を提供するものである。本発明が前提とする自律走行装置は、本発明の出願人が開発した後述する自律走行装置である。この自律走行装置では、従来の走行プログラムのように走行経路上の通過点および目標地点の絶対座標を指定するものではなく、通過点を含む通路、区域を指定する方法、を採用する。さらに該区域を特定するための境界線としてゲートを設け、これを使用者の操作により自動的に生成するユーザインタフェースを提供することにより、従来の地図作成における使用者への負担を軽減するものである。また、ゲートの組合せにより多角形の区域を設定できるようにすることにより、従来のような矩形では作成できない通路地図を、少ない工数で作成可能とするものである。
【００１４】
本発明の自律走行装置の走行プログラム作成装置は、障害物地図表示部、通路地図作成部、経路探索部、走行プログラム作成部を備えることを特徴とする。
【００１５】
障害物地図表示部は、ＣＡＤなどにより建家の構造物や設備を床面に２次元的に投影した図であるレイアウト図を表示するユーザインタフェースを提供する。
【００１６】
通路地図作成部は、ユーザインタフェースに表示された該障害物地図上に、ユーザインタフェースを介してユーザがゲートを指定することにより自律走行装置が走行可能な通路を規定した通路地図を作成する。ゲートとは該障害物地図上の自律走行装置が通行可能な領域を複数の区域に分割するための境界線で、直線または円で定義され、自律走行装置自身は通過が可能である。通路とは、単一もしくは複数のゲートのみにより、またはゲートと障害物の境界線により囲まれた区域であ、る。複数のゲート間を連結情報(直線で表示される)で結ぶ指定をすることにより、該複数のゲートにより囲まれた区域が通行可能である通路と指定される。通路の中には自律走行装置の出発点・到達点である、円形のゲートで囲まれた作業区域が指定される。自律走行装置がゲートを通過することにより通路を通過したとみなす。
【００１７】
経路探索部は、該通路地図の位置情報と接続情報を用いて、ある出発点を含む通路から到達点を含む通路までの最小の通過通路の順列を探索し経路リストとして求める。
【００１８】
走行プログラム作成部は、自律走行装置に目標点が与えられたとき、現在自律測定装置がいる区域から目標点を含む区域までの経路リストを元に、通過すべき位置情報及び到達すべき位置情報のリストである走行プログラムを作成する。
【００１９】
障害物地図作成部は更に、レイアウト図ではなく自律走行装置の持つセンサ機構、あるいは別の環境測定装置により建家や設備の障害物を測定して、測定データより障害物の境界線を線分近似データとして表した障害物測定図を作成する。あるいはレイアウト図と測定図の合成図を障害物地図として表示する。
【発明の効果】
【００２０】
本発明によれば、矩形で構成されるブロック図で表せない現場環境でも自律走行装置の通路地図を作成することができ、走行プログラムを作成することができる。また、通路地図作成において、設定したいゲートの種類と、障害物地図上の点あるいは設定済みのゲート上の点を指定するだけで通路地図を容易に作成できる。さらに、障害物地図として現場の測定図を用いることにより、現状に即した正しい走行プログラムを作成できる。
【図面の簡単な説明】
【００２１】
【図１】本発明の走行プログラム作成装置と自律走行装置との接続構成を示す図である。
【図２】本発明の制御対象となる自律走行装置、コントローラの機能構成を示す図である。
【図３】障害物地図の表示例を示す図である。
【図４】経由区域情報のデータ構成を示す図である。
【図５】走行プログラム情報のデータ構成を示す図である。
【図６】障害物地図上の各障害物の境界線を線分近似して、各閉ループ状の線分列のデータ格納形式を示す図である。
【図７】本発明の制御対象となる自律走行装置の概観図である。
【図８】障害物地図上に通路ゲートを入力した例を示す図である。
【図９】障害物と通路ゲートによって構成される通路の種類を説明する図である。
【図１０】障害物地図上に作業ゲートを入力した例を示す図である。
【図１１】ユーザインタフェースによる通路地図作成例を示す図である。
【図１２】通路地図作成処理のフローチャートを示す図である。
【図１３】通路地図情報のゲート情報のデータ構成を示す図である。
【図１４】通路地図情報のゲート連結情報のデータ構成を示す図である。
【図１５】通路ゲートの設定処理のフローチャートである。
【発明を実施するための形態】
【００２２】
図１に、本発明が制御対象とする自律走行装置103と、該自律走行装置の制御データを管理して、走行指令、制御データを該自律走行装置へ送信するコントローラ102と、本発明の走行プログラム作成装置101と、建家・構造物レイアウト図作成システム104との間の相互の接続構成を示している。
【００２３】
図２は本発明の制御対象となる自律走行装置103と、自律走行装置コントローラ102の機能構成を表す図である。図７に自律走行装置の概観図を示す。 
自律走行装置コントローラ102は、単一または複数台の自律走行装置103を制御するための機能が備えられている。走行プログラム作成装置101より、特定のまたは共通の自律走行装置の走行プログラムがダウンロードされた場合には、記憶部202に記憶される。また、走行プログラム作成装置101より、走行プログラムに対応する通路地図情報が合わせてダウンロードされ、走行プログラムに対応付けされて記憶部202の地図データ記憶領域208に記憶される。
【００２４】
自律走行装置コントローラ102は、走行プログラム作成装置101が保有する建家・構造物のレイアウト図情報120と同等の地図データ208を記憶部202に保有している。そして、各自律走行装置が現在いる領域の地図データを取り出して、自律走行装置103へ送信する。
【００２５】
自律走行装置コントローラ102は、自律走行装置の走行開始に先立ち、記憶部202に記憶してある走行プログラム206と、通路地図情報情報と、自律走行装置より受信したセンサ情報に基づいて更新した最新の地図データ208から、走行路作成部204において自律走行装置の概略の走行路を計画して、該走行路データ207、前記走行プログラム206、および走行指令を自律走行装置103へ送信する。
【００２６】
自律走行装置103は、自律走行装置コントローラ102より前記走行指令、前記走行路データ、および前記走行プログラムを受信すると、走行制御部210が、同定装置211から出力される自律走行装置の位置、姿勢を入力して、フィードバック制御を行い、駆動部214を介して車輪の走行速度、および操舵角を制御する。これにより、自律走行装置103は前記走行路データに概略従って到達目標点まで走行することができる。また、走行制御部210では、入力した自律走行装置の位置、姿勢と、その後に走行制御により自律走行装置が移動した距離、角度から、自律走行装置の位置、姿勢が幾何学的に推定される。しかしながら、車輪のすべりなどがあるため、実際の自律走行装置の位置、姿勢とは異なることがある。
【００２７】
自律走行装置103には距離センサ212が前部正面に設置されていて、例えばレーザ測長器と呼ばれるもので、自律走行装置の正面を中心に±９０゜、つまり１８０゜の範囲で、自律走行装置から周囲の物体までの距離を計測できるようになっている。
【００２８】
自律走行装置103は、所定の周期で、周囲の物体までの距離を計測し、計測結果を同定装置211が入力して、自律走行装置コントローラ102から受信している地図データと照合する。照合によって、地図データ上には無い新たな障害物を発見した場合には、障害物の形状、地図データに対応した回避走行プログラムを記憶部213に記憶してあるものより、該当するプログラムを走行制御部210が読み出し、回避走行を行う。同時に、地図データ上には無い新たな障害物に関する情報は、自律走行装置コントローラ102へ送信され、地図生成部205によって地図データ208が更新される。
【００２９】
また、自律走行装置103は、現在の位置、姿勢のデータを、地図データ上の位置と対応させて記憶しているが、同定装置211は、自律走行装置の位置、姿勢を幾何学的に推定した地図データ上の位置、姿勢のデータと、距離計測結果に基づく実際の位置、姿勢との差異を検出して、現在の位置、姿勢のデータを修正する。
【００３０】
自律走行装置103は、到達作業区域における作業内容に対応して、各作業毎の作業プログラムを事前に記憶部213に登録している。例えば、ローダに自律走行装置を接続して、ローダから荷物の積載が行われる作業を指定する場合には、到達目標点はローダを含む作業区域で指定し、作業内容は荷積みと指定する。自律走行装置103には、荷積みに対応する作業内容コードで検索される荷積み作業用プログラムが事前に記憶部213に登録されている。走行制御部210は、走行プログラムの到達作業区域まで走行を制御した後、走行プログラムの作業内容に従って、前記荷積み作業用プログラムを記憶部213より読み出して、ローダへ自律走行装置を接近、接続する制御を行う。自律走行装置103は、その後、ローダから荷積み作業がなされることになる。
【００３１】
本発明の走行プログラム作成装置101が作成する自律走行装置の走行プログラムとは、ある作業区域から次の作業区域までの順次通過する通路区域の識別IDのリスト及び次の作業区域での作業内容を記述したものである。
【００３２】
図１に本発明の走行プログラム作成装置101の構成を示す
記憶部111は入力されたデータや各部によって作成されたデータを保持する。レイアウト図情報120はＣＡＤなどにより建家の構造物や設備を床面に２次元的に投影した図である。障害物測定図121は自律走行装置の持つ距離センサあるいは別の環境測定装置により建家や設備を測定して、自律走行装置が走行できる範囲の境界線を表した図である。通路地図情報122は自律走行装置が走行する際に、順次通過する区域の境界線であるゲートの位置、ゲートの種類及び接続関係の情報である。経由区域情報123は自律走行装置が、ある出発区域から別の到達区域までに通過する経由区域の識別IDのリストである。走行プログラム情報124は、自律走行装置に対して目標である到達区域が与えられたときに現在の区域である出発区域、通過区域の順列、到達区域の識別ID、および作業内容のデータ項目より構成される。
【００３３】
演算部110は、障害物地図作成部115、通路地図作成部116、経路探索部117、走行プログラム作成部118、および障害物測定部119を構成要素に有する。
【００３４】
障害物地図作成部115は、ＣＡＤなどにより建家の構造物や設備を床面に２次元的に投影した図であるレイアウト図、あるいは自律走行装置の持つセンサ機構もしくは別の環境測定装置により建家や設備を境界線として表した障害物測定図を、障害物地図として出力装置へ表示するユーザインタフェースを提供する。あるいはレイアウト図と測定図の合成図を障害物地図として表示する。図３は障害物地図の例である。
【００３５】
通路地図作成部116は、後述する通路作成手順によってゲートの位置と連結関係が入力されて、通路区域と作業区域が定義され、前記障害物地図上に通路地図が構築されていく。ゲートの位置座標情報、連結関係、及びゲート間の距離が計算され通路地図情報122として記憶部111に記憶される。
【００３６】
通路地図作成部116における区域の指定において、次の２種類のゲートを用いることとする。１つは通路となる区域を規定するゲートであり、もう１つは自律走行装置の到達目標である作業を行う区域を規定するゲートである。
【００３７】
通路を規定するゲートを通路ゲートとする。通路ゲートは障害物地図上にある１点を通り両端を障害物に接する最短の直線である。該点を地図上で指定することにより、該直線であるゲートは一意に決まる。通路ゲートを設定することで通路ゲートと障害物に囲まれた区域は閉じた区域となり、これを通路とする。
【００３８】
一方、自律走行装置が作業を行う地点を中心とした円を作業ゲートとする。障害物地図上で、ある１点を中心として特定半径の円を、作業地点を含むであろう位置に指定することで、自律走行装置が該作業ゲートに到達すれば、その自律能力により、実際の作業位置に到達できる。
【００３９】
また、２つのゲートに対して、ゲート上の１点をそれぞれ指定することにより、該ゲート間の接続が指定でき、該ゲート間が通行可能であることが指定できる。
【００４０】
ユーザインタフェースから、ユーザが通路地図作成処理において、区域の指定をする場合に、次の２種類のゲートを使用可能とする。１つは通路となる区域を規定するゲートであり、もう１つは自律走行装置の到達目標である作業を行う区域を規定するゲートである。
【００４１】
通路を規定するゲートを通路ゲートとする。通路ゲートは障害物地図上にある１点を通り、その両端を障害物の境界線に接する最短の直線(線分)である。前記ある１点をユーザインタフェースの地図上で指定することにより、前記直線(線分)であるゲートは一意に決まる。通路ゲートを設定することで通路ゲートと障害物に囲まれた区域は閉じた区域となり、これを通路とする。
【００４２】
一方、自律走行装置が作業を行う地点を内部に含む円を作業ゲートとする。障害物地図上で、ある１点を中心として特定半径の円を、作業地点を含むと予測される位置に指定することで、自律走行装置が該作業ゲート内に到達すれば、その自律能力により、実際の作業位置に到達できる。
【００４３】
また、２つのゲートに対して、ゲート上の１点をそれぞれ指定することにより、両ゲート間の接続を指定可能として、両ゲート間が通行可能であることが指定できる。
【００４４】
経路探索部117は、前記記憶部111に登録されている前記通路地図情報122のゲートの連結関係情報とゲート間の距離を元にダイクストラ法などの探索方法により、ある出発点の作業区域から目標となる到達作業区域までの距離を最短とする通過区域の順列が求まる。その結果を作業区域間の経由区域情報として、記憶部111に登録する。経由区域情報の例を図４に示す。出発作業区域ＩＤ、到達作業区域ＩＤ、通過する通路区域ＩＤの順列が記述されている。
【００４５】
走行プログラム作成部118は、自律走行装置に走行移動の目標となる到達作業区域とそこにおける作業内容を指令する場合に、前記経由区域情報の中から、現在自律走行装置がいる出発作業区域ＩＤ及び該到達作業区域ＩＤを元に、通過すべき通路ＩＤを抽出する。抽出した内容に作業内容が付加されたものが走行プログラムである。走行プログラムの例を図５に示す。走行プログラムＩＤ、出発作業区域ＩＤ、到達作業区域ＩＤ、通路ＩＤ順列、作業内容のデータ項目により構成されている。
【００４６】
障害物測定部119は、現場の障害物の位置を測定して、障害物測定図情報121を作成する。距離センサ機構をもつ自律走行装置103、または別の環境測定装置を制御して、測定データを収集する機能を備える。自律走行装置の場合、本発明により生成された走行プログラムもしくは手動動作にて走行をおこなう。
【００４７】
本発明の走行プログラム作成部118に走行プログラム作成の指示を与えるのは上位システムもしくはユーザインタフェースからのユーザ入力であり、自律走行装置に到達させたい作業区域とその作業内容を指示する。
【００４８】
112はマウスなどの入力機構を用いた入力装置である。
【００４９】
障害物地図作成部115は、外部システムである建家・構造物レイアウト図作成システム104よりネットワークを介してレイアウト図を入手する。本発明が対象とするレイアウト図は、ＣＡＤなどにより建家の構造物や設備を床面に２次元的に投影した図である。そのデータ構成は、外部システムより受信したレイアウト図データは、通常のＣＡＤデータ形式となっているものを、自律走行装置が走行可能な、段差などが無い走行可能領域に対して、建家の壁、構造物、設備が設置されて自律走行装置が走行不可の領域を全て障害物領域と区別して、障害物領域の境界線を所定の誤差幅によって線分近似処理した線分データにより表される。
【００５０】
図３に、非常に単純化したレイアウト図の例を示す。外壁301で囲まれた内部の白い領域が前記走行可能領域であり、その中に島状の障害物302、突起状の障害物303がある。障害物の内部にはハンチングが描かれている。障害物には２種類ある。１つは自律走行装置が作業を行う対象となる物体である。例えば、荷積みを行うローダーである。もう一つは自律走行装置とは関係を持っていない物体である。
【００５１】
レイアウト図には、実際の現場の位置座標に準じたＸ−Ｙ座標が定義されていて、図上の任意の図形や点を指定することによって、実際の現場の位置座標を対応させて特定できるようになっている。
【００５２】
障害物地図作成部115は、レイアウト図データを線分近似データ変換処理を行い、変換結果を記憶部のレイアウト図情報へ記憶する。線分データは、所定の誤差幅によって障害物の境界線を連続的に近似されるので、各線分の両端座標値によって線分列データSEG(I,j)は、｛ｉ：線分列の番号、ｊ：線分列の中のｊ番目の線分を表す。｝
（数１）
ＳＥＧ(ｉ，ｊ)＝｛(ｘij，ｙij)，(ｘij+1，ｙij+1)｝ ………数１
と表され、図６に示すデータ形式のレイアウト図情報に格納される。線分列は閉ループの線分データの列となる。例えば、図６の線分列番号１の線分列は、図３の障害物302の境界線を表す閉ループの線分列を表し、線分列番号２の線分列は、図３の外壁301と障害物303の連続した境界線を表す閉ループの線分列を表すものである。
【００５３】
通路地図作成部116は、ユーザにユーザインタフェースを提供して、ユーザ入力に従って、通路地図情報122を作成して記憶部111へ格納する。
【００５４】
通路地図において自律走行装置の走行する通路となる区域、および作業を行う区域はゲートと障害物の境界線によって構成される。ゲートには２種類ある。１つは通路となる区域を規定する通路ゲートである。図８は通路ゲートの例である。通路ゲートは障害物地図上にある１点を通り両端を障害物に接する最短の直線である。図８では、通路ゲート802は点801を通り、障害物803と障害物804の間に双方に接する最短の直線(線分)である。前記点801を障害物地図上で指定することにより、前記直線(線分)であるゲートは一意に決まる。通路ゲートを設定することで通路ゲートと障害物境界線に囲まれた区域は閉じた区域となり、これを通路とする。通路ゲート及び障害物境界線によって構成される通路の種類について図９を用いて説明する。図９(a)は障害物902が窪み形状となっており、障害物902に囲まれるようにして区域903がある。区域903は１つの通路ゲート901による行き止まりとなる通路区域であり、該通路ゲートのみ進入・退出できる。図９(ｂ)は２つの障害物、906、907に挟まれた形状となっており、２つの通路ゲート、904、905に挟まれた廊下のような通路区域908であり、双方のゲートを進入・退出して通行できる。図９(c)は３つの障害物911、912、913に囲まれた形状となっており、３つの通路ゲート908、909、910により交差点のような通路区域914となっておりいずれかの２つの通路ゲートを進入・退出して通行できる。３つ以上の障害物、通過ゲートによって構成される区域は以降同様に設定される。 
もう１つは作業区域を設定する作業ゲートである。図１０は作業ゲートの例である。障害物、1003、1004に挟まれた通路区域1005があり、自律走行装置が作業を行う地点1002がある場合、作業ゲート1001は自律走行装置が作業を行う地点1002を中心とした円である。障害物地図上で、ある１点を中心として特定半径の円を、作業地点を含むであろう位置に指定することで作業ゲートは一意に決定する。
【００５５】
図１１は、通路地図作成部が提供するユーザインタフェースにおけるゲートの入力画面の例である。1101は障害物地図の表示部、1102は通路ゲートを新規入力する際の選択ボタン、1103は作業ゲートを新規入力する際の選択ボタン、1104はゲートを移動する際の選択ボタン、1105はゲートを削除する際の選択ボタン、1106はゲートの連結をおこなう際の選択ボタン、1107は作業ゲートの半径を指定入力するエリア、障害物地図1101上の1108はゲートの入力に用いるカーソルで、入力装置７により操作する。
【００５６】
1109は通路ゲートの一つ、1110は作業ゲート、1111は連結線の一つであり、本発明の特徴である。連結線は、通路区域の境界を規定する各ゲートに対して、２つのゲート間に１つの連結情報を定義することで、障害物地図上に直線で表示される。全ての対となるゲート間に連結線を定義することによって、該当通路区域はいずれのゲートからも進入・退出が可能と規定される。通路区域1112は３つのゲートと障害物で囲まれ、連結線で進入、退出を規定しているので、通行可能な区域(経路探索処理の通路の候補となる)となる。連結線は作業ゲートに対しても定義される。後述する通路探索処理は、連結線を辿って通路の探索が行われる。
【００５７】
図１２は通路地図作成のフローチャートである。本図を用いて通路地図作成の手順について説明する。
【００５８】
図１１のユーザインタフェース上の1101が障害物地図であり、該障害物地図上で通路ゲートの設定を行なう。ここでは入力装置２にマウスを想定しているが、タブレットなどの他の入力機器でも同等である。
【００５９】
Ｓ１：新規にゲートを入力する場合、入力選択ボタンを選択する。以後、選択ボタンを選択し直さない限り、ゲートを入力する処理となる。選択したゲートの種類が通路ゲートと作業ゲートの場合では以下の処理が異なる。以下は選択したゲートが通路ゲートの場合である。
【００６０】
Ｓ２：カーソルを障害物地図上の自律走行装置が通行可能な領域内の希望の位置まで移動し、マウスのボタン押すと、該カーソル位置を通り両端を障害物に接し、最短となる仕様の直線(線分)が描画される。これが入力しようとしている通路ゲートであり、仮にその位置が選択されたこととなる。なお、障害物上にカーソルがあり、該位置でマウスのボタンを押しても、何の処理もされない(エラーメッセージが表示される)。
【００６１】
図１５に、通路ゲートの設定処理のフローチャートを示す。ユーザインタフェースの通路ゲート入力ボタン1102を押下することにより起動される。ユーザによる障害物地図上にカーソルを位置決めして、マウスのボタンを押下することを受付けS1501、マウスのボタンが押下時にカーソルが指す点が、障害物地図上の走行可能領域に存在するか否かを判定するS1502。もし、指定点が走行可能領域に存在しなければ、エラーメッセージを表示してS1504、次の指定点の入力待ちとなる。指定点が走行可能領域に在れば、初期値θ＝０、LMIN＝十分大きな初期値を設定してS1503、カーソルで指定した点を通って、Ｙ軸に対して角度θ度の直線を引くS1505。続いて、前記直線と障害物地図上の前記指定点の近傍に境界線が存在する障害物とを対象として、前記障害物の境界線を近似して記録された各線分データSEG(I,j)と前記直線との交点の有無を調べて、交点が存在する場合には記録するS1506。該当する全ての障害物の境界線の線分データとの交点を調べた後、記録された交点を対象にして、前記指定点の両側で、前記指定点に最も近い交点Ｐi1、Ｐi2をそれぞれ選択するS1507。続いて、前記選択された直線上の両交点Ｐi1、Ｐi2間の距離を計算して変数Ｌに格納しS1508、変数Ｌが変数LMINより小であればS1509、変数LMINへ変数Ｌの値を格納して、両交点の座標値を記録してS1510、前記直線のＹ軸に対する角度θを１度ずつ加算してS1512、180度までの全ての直線の交点間の距離を比較するS1511。最も交点間の距離が短い直線の両交点Ｐe1、Ｐe2から成る線分を通路ゲートの候補として表示するS1513。
【００６２】
図１２のＳ３を続いて説明する。
【００６３】
Ｓ３：そのままマウスのボタンを押し続けながら、マウスを操作しカーソルを移動すると、その時点でのカーソル位置に準じた上記仕様の直線である通路ゲートが逐次描画される。図１５の通路ゲートの設定処理を繰り返し実行する。
【００６４】
Ｓ４：ユーザが設定したい位置に通路ゲートが描画されていると判断したとき、マウスのボタンを押すことを止めると、通路ゲート設定処理を終了して、その時点で通路ゲートが確定し、該直線(線分)の中心位置が描画され、ゲート情報として記憶部の通路地図情報に該中心位置、両端の位置座標が登録される。以上が１つの通路ゲートの入力手順である。
【００６５】
一方、作業ゲートを選択したときは以下の手順になる。
【００６６】
Ｓ５：カーソルを障害物地図上の希望の位置まで移動し、マウスのボタンを押すと、該カーソル位置を中心として、ユーザインタフェースの半径を入力するエリアに指定した半径値で、またはシステムに設定された所定の半径値となる円が描画される。これが入力しようとしている作業ゲートであり、仮にその位置が選択されたこととなる。なお、障害物上にカーソルがあり、該位置でマウスのボタンを押しても、何の処理もされない。 
Ｓ６：そのままマウスのボタンを押し続けながら、マウスを操作しカーソルを移動すると、その時点でのカーソル位置に準じた上記仕様の円である作業ゲートが逐次描画される。 
Ｓ７：設定したい位置に作業ゲートが描画されていると判断したとき、マウスのボタンを押すことを止めると、その時点で作業ゲートが確定し、該円とその中心位置が改めて描画され、ゲート情報として記憶部の通路地図情報に新たなゲートIDが付与されて、該中心位置、半径値が登録される 。
以上が新規にゲートを入力する場合のフローである。複数のゲートを入力する場合には、上記手順を繰り返す。
【００６７】
Ｓ１：ゲートを削除する場合、削除選択ボタンを選択する。以後、選択ボタンを選択し直さない限り、ゲートを削除するものとする。
【００６８】
Ｓ８：カーソルを障害物地図上の希望のゲートの上まで移動し、マウスのボタン押すと、該ゲートが削除される。
以上がゲートを削除する場合のフローである。複数のゲートを削除する場合には、上記手順を繰り返す。
【００６９】
Ｓ１：ゲートを移動する場合、移動選択ボタンを選択する。以後、選択ボタンを選択し直さない限り、ゲートを移動するものとする。
【００７０】
Ｓ９：カーソルを障害物地図上の希望のゲートの上まで移動し、マウスのボタン押すと、該ゲートが選択される。
【００７１】
Ｓ１０：そのままマウスのボタンを押し続けながら、マウスを操作しカーソルを移動すると、その時点でのカーソル位置に準じた通路ゲートの直線もしくは作業ゲートの円が逐次描画される。
【００７２】
Ｓ１１：設定したい位置にゲートが描画されていると判断したとき、マウスのボタンを押すことをやめると、その時点でゲートが確定し、該直線もしくは円とその中心位置が改めて描画され、記憶部の通路地図情報に登録されたゲート情報が更新される 。
以上がゲートを移動する場合のフローである。複数のゲートを移動する場合には、上記手順を繰り返す。
【００７３】
Ｓ１：ゲートを連結する場合、ゲート連結ボタンを選択する。以後、選択ボタンを選択し直さない限り、ゲートを連結するものとする。
【００７４】
Ｓ１２：カーソルを障害物地図上の希望のゲートの上まで移動し、マウスのボタン押すと、該ゲートが選択される。
【００７５】
Ｓ１３：マウスを操作してカーソルを移動し、別のゲート上でマウスのボタンを押すと該ゲートが選択され、２つのゲートの連結が確定し、各ゲートの中心を結んだ直線が描画され、記憶部１の通路地図情報のゲート連結情報に登録される 。
以上がゲートを接続する場合のフローである。複数のゲートを接続する場合には、上記手順を繰り返す。
【００７６】
通路地図とは、障害物地図上に前記ゲート及び連結直線を書き込んだ地図である。通路地図情報は前記ゲート情報及び前記ゲート連結情報からなる。
【００７７】
Ｓ８において、ゲートを削除すると該ゲートに連結された直線が画面から消去され、記憶部のゲート連結情報から該連結情報が削除される。
【００７８】
図１３は通路地図情報のゲート情報の例である。ゲート毎にユニークなＩＤ（本事例では通し番号である）、ゲートの種別を表すコード、ゲートの情報（通路ゲートの場合は直線の中心位置のＸＹ座標及び両端のＸＹ座標、作業ゲートの場合は中心位置のＸＹ座標及び半径）で構成される。
【００７９】
図１４は通路地図情報のゲート連結情報の例である。連結毎にユニークなＩＤ（本例では通し番号である）、連結の両端のゲートの番号で構成される。
【００８０】
前記の様に、通路地図上で通路区域を構成する通路ゲートをゲート連結情報で結ぶことによって、当該通路区域を自律走行装置が到達作業区域まで走行する通路の候補とする。
【００８１】
経路探索処理は、通路地図上で、到達作業区域を設定し、通路の候補となりうる全ての通路区域に対してゲート連結処理を行う準備入力の後、経路探索処理ボタンを押下することにより実行される。
【００８２】
経路探索部117は、図１１に例を示すように、出発作業区域から到達作業区域まで、ゲート連結情報が作成されて自律走行装置が走行可能と判定される通路区域を探索して、到達作業区域まで到達しうる通路の候補を全てリストアップする。図１１では、出発作業区域から、右周りと左周りの２つの通路の候補が見つかる。
【００８３】
各通路候補に対して、出発作業区域の中心点より、通過する各通路ゲートの中心点、到達作業区域の中心点間を結ぶ連結線の長さを総計して、各通路候補の通路長とする。そして、各通路候補の通路長を比較して、最も短い通路長を持つ通路候補より優先順位を付ける。図１１では、右周りの通路長が、左周りの通路長より短いため、第１の経由区域情報として、登録する。また、左周りの通路を第２の通路の候補として、経由区域情報へ登録する。
【符号の説明】
【００８４】
１０１…走行プログラム作成装置、１０２…自律走行装置コントローラ、１０３…自律走行装置、１０４…建家・構造物レイアウト図作成システム、１０５…ネットワーク、
１１０…演算部、１１１…記憶部、１１２…入力装置、１１３…出力装置、１１４…通信部、１１５…障害物地図作成部、１１６…通路地図作成部、１１７…経路探索部、１１８…走行プログラム作成部、１１９…障害物測定部、１２０…レイアウト図情報、１２１…障害物測定図情報、１２２…通路地図情報、１２３…経由区域情報、１２４…走行プログラム情報、２０１…演算部、２０２…記憶部、２０３…走行制御指令部、２０４…走行路作成部、２０５…地図生成部、２０６…走行プログラム、２０７…走行路情報、２０８…地図データ、２０９…送受信部、２１０…走行制御部、２１１…同定装置、２１２…距離センサ、２１３…記憶部、２１４…駆動部、２１５…送受信部、３０１…外周障害物、３０２…島状障害物、３０３…突起状障害物、８０１…障害物地図上に通路ゲートを設定するために指定した点、８０２…指定点を通り、両側の障害物までの距離が最も短い通路ゲート表示例、８０３、８０４…障害物、９０１、９０４、９０５、９０８、９０９、９１０…通路ゲート、９０２、９０６、９０７、９１１、９１２、９１３…障害物、９０３、９０８、９１４…通路区域、１００１…作業ゲート、１００２…作業ゲートの設定のために指定した点、１００３、１００４…障害物、１００５…通路区域、１１０１…障害物地図、１１０２…通路ゲート入力ボタン、１１０３…作業ゲート入力ボタン、１１０４…ゲート移動ボタン、１１０５…ゲート削除ボタン、１１０６…ゲート連結ボタン、１１０７…作業ゲート半径入力枠、１１０８…カーソル、１１０９…通路ゲート、１１１０…出発作業ゲート、１１１１…連結線、１１１２…通路区域、１１１３…到達作業ゲート、１１２０…経路探索処理起動ボタン、１１２１…走行プログラム作成処理起動ボタン
【図１】
2011076559.tif 000003
【図２】
2011076559.tif 000004
【図３】
2011076559.tif 000005
【図４】
2011076559.tif 000006
【図５】
2011076559.tif 000007
【図６】
2011076559.tif 000008
【図７】
2011076559.tif 000009
【図８】
2011076559.tif 000010
【図９】
2011076559.tif 000011
【図１０】
2011076559.tif 000012
【図１１】
2011076559.tif 000013
【図１２】
2011076559.tif 000014
【図１３】
2011076559.tif 000015
【図１４】
2011076559.tif 000016
【図１５】
2011076559.tif 000017