(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-22
(45)【発行日】2024-07-30
(54)【発明の名称】飛行経路特定装置、およびコンピュータ読取可能な記憶媒体
(51)【国際特許分類】
G05D 1/46 20240101AFI20240723BHJP
【FI】
G05D1/46
(21)【出願番号】P 2022563776
(86)(22)【出願日】2021-11-16
(86)【国際出願番号】 JP2021042131
(87)【国際公開番号】W WO2022107774
(87)【国際公開日】2022-05-27
【審査請求日】2023-06-15
(31)【優先権主張番号】P 2020193371
(32)【優先日】2020-11-20
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】110001151
【氏名又は名称】あいわ弁理士法人
(72)【発明者】
【氏名】三好 高史
【審査官】田中 友章
(56)【参考文献】
【文献】特開2020-166352(JP,A)
【文献】特開2018-146946(JP,A)
【文献】特開2019-179422(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/46
(57)【特許請求の範囲】
【請求項1】
産業機械を構成する構造物のモデルデータ、および前記産業機械の稼働状態に基づいて、前記産業機械と無人飛行機とが干渉しない非干渉空間を示す非干渉空間情報を生成する空間情報生成部と、
前記無人飛行機に対する作業指令を受け付ける指令受付部と、
前記非干渉空間情報、および前記作業指令に基づいて、前記無人飛行機の飛行経路を特定する飛行経路情報を生成する経路情報生成部と、
を備える飛行経路特定装置。
【請求項2】
前記産業機械から前記モデルデータを取得するモデル取得部をさらに備える請求項1に記載の飛行経路特定装置。
【請求項3】
前記無人飛行機に向けて前記飛行経路情報を出力する経路情報出力部をさらに備える請求項1または2に記載の飛行経路特定装置。
【請求項4】
前記産業機械を制御する制御情報を生成する制御情報生成部をさらに備える請求項1~3のいずれか1項に記載の飛行経路特定装置。
【請求項5】
前記制御情報は、前記産業機械の運転を禁止する制御情報を含む請求項4に記載の飛行経路特定装置。
【請求項6】
前記制御情報は、前記構造物の移動を禁止する制御情報を含む請求項4または請求項5に記載の飛行経路特定装置。
【請求項7】
前記制御情報は、前記構造物を移動させる制御情報を含む請求項4~6のいずれか1項に記載の飛行経路特定装置。
【請求項8】
産業機械を構成する構造物のモデルデータ、および前記産業機械の稼働状態に基づいて、前記産業機械と無人飛行機とが干渉しない非干渉空間を示す非干渉空間情報を生成することと、
前記無人飛行機に対する作業指令を受け付けることと、
前記非干渉空間情報、および前記作業指令に基づいて、前記無人飛行機の飛行経路を特定する飛行経路情報を生成することと、
をコンピュータに実行させるための命令を記憶する、コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、飛行経路特定装置、およびコンピュータ読取可能な記憶媒体に関する。
【背景技術】
【0002】
工場で働く作業者は、産業機械の点検、産業機械へのワークの設置、産業機械に対する操作など各種作業を行う。作業者が行う作業の効率化を図るために、近年、無人飛行機が利用されている(例えば、特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、工場内で無人飛行機を飛行させる場合は、無人飛行機と工場内の産業機械との干渉を防ぐ必要がある。
【0005】
本発明は、無人飛行機と産業機械との干渉を確実に防ぐことが可能な飛行経路特定装置、およびコンピュータ読み取り可能な記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【0006】
飛行経路特定装置が、産業機械を構成する構造物のモデルデータ、および産業機械の稼働状態に基づいて、産業機械と無人飛行機とが干渉しない非干渉空間を示す非干渉空間情報を生成する空間情報生成部と、無人飛行機に対する作業指令を受け付ける指令受付部と、非干渉空間情報、および作業指令に基づいて、無人飛行機の飛行経路を特定する飛行経路情報を生成する経路情報生成部と、を備える。
【0007】
コンピュータ読取可能な記憶媒体が、産業機械を構成する構造物のモデルデータ、および産業機械の稼働状態に基づいて、産業機械と無人飛行機とが干渉しない非干渉空間を示す非干渉空間情報を生成することと、無人飛行機に対する作業指令を受け付けることと、非干渉空間情報、および作業指令に基づいて、無人飛行機の飛行経路を特定する飛行経路情報を生成することと、をコンピュータに実行させる命令を記憶する。
【発明の効果】
【0008】
本発明により、無人飛行機と産業機械との干渉を確実に防ぐことが可能になる。
【図面の簡単な説明】
【0009】
【
図1】無人飛行機制御システム全体の一例を説明する図である。
【
図2】飛行経路特定装置のハードウェア構成の一例を示す図である。
【
図3】無人飛行機のハードウェア構成の一例を示す図である。
【
図4】産業機械のハードウェア構成の一例を示す図である。
【
図5】飛行経路特定装置の機能の一例を説明する図である。
【
図6】産業機械の3次元モデルの一例を説明するである。
【
図8】指令情報記憶部が記憶する情報の一例を示す図である。
【
図13】数値制御装置の機能の一例を示す図である。
【
図14】飛行経路特定装置において実行される処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、本発明の一実施形態について図面を用いて説明する。なお、以下の実施形態で説明する特徴の組合わせのすべてが課題解決に必ずしも必要であるとは限らない。また、必要以上の詳細な説明を省略する場合がある。また、以下の実施形態の説明、および図面は、当業者が本発明を十分に理解するために提供されるものであり、特許請求の範囲を限定することを意図していない。
【0011】
まず、飛行経路特定装置を有する無人飛行機制御システム全体について説明する。
【0012】
図1は、無人飛行機制御システム全体の一例を説明する図である。
【0013】
無人飛行機制御システム1は、飛行経路特定装置2と、無人飛行機3と、産業機械4と有する。
【0014】
飛行経路特定装置2は、無人飛行機3の飛行経路を特定する装置である。飛行経路特定装置2は、例えば、PC(Personal Computer)、サーバに実装される。飛行経路は、例えば、産業機械4付近および産業機械4の内部に無人飛行機3を飛行させる経路である。
【0015】
無人飛行機3は、マルチコプタ型の小型無人飛行機である。無人飛行機3は、ドローンと称される。無人飛行機3は、飛行経路特定装置2によって特定された飛行経路に従って、産業機械4付近、および産業機械4の内部を飛行する。これにより、無人飛行機制御システム1は、産業機械4の検査、あるいは産業機械4に対する作業を行うことができる。
【0016】
産業機械4は、工場内に設置され、各種作業を行う装置である。産業機械4は、例えば、工作機械である。
【0017】
次に、無人飛行機制御システム1を構成する各装置のハードウェア構成について説明する。
【0018】
図2は、飛行経路特定装置2のハードウェア構成の一例を示す図である。飛行経路特定装置2は、CPU(Central Processing Unit)20と、バス21と、ROM(Read Only Memory)22と、RAM(Random Access Memory)23と、不揮発性メモリ24とを備えている。
【0019】
CPU20は、システムプログラムに従って飛行経路特定装置2全体を制御するプロセッサである。CPU20は、バス21を介してROM22に格納されたシステムプログラムなどを読み出す。
【0020】
バス21は、飛行経路特定装置2内の各ハードウェアを互いに接続する通信路である。飛行経路特定装置2内の各ハードウェアはバス21を介してデータをやり取りする。
【0021】
ROM22は、飛行経路特定装置2全体を制御するためのシステムプログラムなどを記憶する記憶装置である。システムプログラムには、無人飛行機3の飛行経路を特定する飛行経路特定プログラムが含まれる。
【0022】
RAM23は、各種データを一時的に格納する記憶装置である。RAM23は、例えば、外部から入力される無人飛行機3に対する作業指令のデータなどを一時的に記憶する。RAM23は、CPU20が各種データを処理するための作業領域として機能する。
【0023】
不揮発性メモリ24は、飛行経路特定装置2の電源が切られ、飛行経路特定装置2に電力が供給されていない状態でもデータを保持する記憶装置である。不揮発性メモリ24は、例えば、SSD(Solid State Drive)で構成される。
【0024】
飛行経路特定装置2は、さらに、第1のインタフェース25と、表示装置26と、第2のインタフェース27と、入力装置28と、通信装置29とを備えている。
【0025】
第1のインタフェース25は、バス21と表示装置26とを接続する。第1のインタフェース25は、例えば、CPU20が処理した各種データを表示装置26に送る。
【0026】
表示装置26は、第1のインタフェース25を介して各種データを受け、各種データを表示する。表示装置26は、LCD(Liquid Crystal Display)などのディスプレイである。
【0027】
第2のインタフェース27は、バス21と入力装置28とを接続する。第2のインタフェース27は、例えば、入力装置28から入力されたデータをバス21を介してCPU20に送る。
【0028】
入力装置28は、各種データを入力するための装置である。入力装置28は、例えば、データの入力を受け、入力されたデータを第2のインタフェース27を介して不揮発性メモリ24に送る。入力装置28は、例えば、キーボード、およびマウスである。なお、入力装置28と表示装置26とは、例えば、タッチパネルのように1つの装置として構成されてもよい。
【0029】
通信装置29は、無人飛行機3と無線通信を行う装置である。通信装置29は、例えば、無線LAN、Bluetoothを用いて通信を行う。
【0030】
また、通信装置29は、産業機械4と有線または無線により通信を行う装置である。通信装置29は、例えば、インターネット回線を用いて産業機械4と通信する。
【0031】
次に、無人飛行機3のハードウェア構成について説明する。
【0032】
図3は、無人飛行機3のハードウェア構成の一例を示す図である。無人飛行機3は、バッテリ30と、プロセッサ31と、バス32と、メモリ33と、モータ制御回路34と、モータ35と、センサ36と、通信装置37とを備えている。
【0033】
バッテリ30は、無人飛行機3の各部に電力を供給する。バッテリ30は、例えば、リチウムイオンバッテリである。
【0034】
プロセッサ31は、制御プログラムに従って、無人飛行機3全体を制御する。プロセッサ31は、例えば、フライトコントローラとして機能する。プロセッサ31は、例えば、CPUである。
【0035】
バス32は、無人飛行機3内の各ハードウェアを互いに接続する通信路である。無人飛行機3内の各ハードウェアはバス32を介してデータをやり取りする。
【0036】
メモリ33は、各種プログラム、データなどを記憶する記憶装置である。メモリ33は、例えば、無人飛行機3全体を制御するための制御プログラムを記憶する。メモリ33は、例えば、ROM、RAM、SSDの少なくとも何れかである。
【0037】
モータ制御回路34は、モータ35を制御するための回路である。モータ制御回路34は、プロセッサ31からの制御指令を受けてモータ35を駆動制御する。
【0038】
モータ35は、モータ制御回路34によって制御される。モータ35は回転軸に固定されたプロペラを回転させる。なお、
図3には1つのモータ35を図示しているが、無人飛行機3は、例えば、4つのモータ35を備え、モータ制御回路34は、各モータ35の回転を制御して、無人飛行機3を飛行させる。
【0039】
センサ36は、産業機械4の各種状態を検出する機器である。センサ36は、例えば、イメージセンサである。センサ36は、例えば、産業機械4の表示装置26の表示画像を撮像し、産業機械4の運転状態を検出する。
【0040】
また、センサ36は、例えば、測距センサを含む。センサ36は、例えば、産業機械4の所定の位置に付された印までの距離を計測する。測距センサは、例えば、赤外線、電波、あるいは超音波を利用した測距センサである。センサ36は、例えば、電子コンパスを含んでもよい。電子コンパスは、地球の磁気を検知して無人飛行機3が向く方向を取得する。また、センサ36は、加速度センサ、角速度センサなどを含んでもよい。
【0041】
通信装置37は、無線通信によって飛行経路特定装置2と通信を行う。上述したように、通信装置37は、例えば、無線LAN、Bluetoothを用いて通信を行う。
【0042】
次に、産業機械4のハードウェア構成について説明する。
【0043】
図4は、産業機械4のハードウェア構成の一例を示す図である。産業機械4は、数値制御装置5と、通信装置6と、サーボアンプ7、およびサーボモータ8と、補助機器9とを備えている。
【0044】
数値制御装置5は、産業機械4全体を制御する装置である。数値制御装置5は、CPU50と、バス51と、ROM52と、RAM53と、不揮発性メモリ54とを備えている。
【0045】
CPU50は、システムプログラムに従って数値制御装置5全体を制御するプロセッサである。CPU50は、バス51を介してROM52に格納されたシステムプログラムなどを読み出す。また、CPU50は、加工プログラムに従って、サーボモータ8およびスピンドルモータ(不図示)を制御し、ワークの加工を行う。
【0046】
バス51は、数値制御装置5内の各ハードウェアを互いに接続する通信路である。数値制御装置5内の各ハードウェアはバス51を介してデータをやり取りする。
【0047】
ROM52は、数値制御装置5全体を制御するためのシステムプログラムなどを記憶する記憶装置である。
【0048】
RAM53は、各種データを一時的に格納する記憶装置である。RAM53は、CPU50が各種データを処理するための作業領域として機能する。
【0049】
不揮発性メモリ54は、産業機械4の電源が切られ、数値制御装置5に電力が供給されていない状態でもデータを保持する記憶装置である。不揮発性メモリ54は、例えば、SSD(Solid State Drive)で構成される。
【0050】
数値制御装置5は、さらに、インタフェース55と、軸制御回路56と、PLC(Programmable Logic Controller)57と、I/Oユニット58とを備えている。
【0051】
インタフェース55は、バス51と通信装置6とを接続する通信路である。インタフェース55は、例えば、通信装置6が受信した各種データをCPU50に送る。
【0052】
通信装置6は、飛行経路特定装置2と通信を行う。上述したように、通信装置6は、例えば、インターネット回線を用いて飛行経路特定装置2と通信する。
【0053】
軸制御回路56は、サーボモータ8を制御する回路である。軸制御回路56は、CPU50からの制御指令を受けてサーボモータ8を駆動させるための指令をサーボアンプに出力する。軸制御回路56は、例えば、サーボモータ8のトルクを制御するトルクコマンドをサーボアンプ7に送る。
【0054】
サーボアンプ7は、軸制御回路56からの指令を受けて、サーボモータ8に電力を供給する。
【0055】
サーボモータ8は、サーボアンプ7から電力の供給を受けて駆動する。産業機械4が工作機械である場合、サーボモータ8は、例えば、刃物台、主軸頭、テーブルを駆動させるボールねじに連結される。サーボモータ8が駆動することにより、刃物台、主軸頭、テーブルなどの工作機械の構造物は、例えば、X軸方向、Y軸方向、またはZ軸方向に移動する。
【0056】
PLC57は、ラダープログラムを実行して補助機器9を制御する装置である。PLC57は、I/Oユニット58を介して補助機器9を制御する。
【0057】
I/Oユニット58は、PLC57と補助機器9とを接続するインタフェースである。I/Oユニット58は、PLC57から受けた指令を補助機器9に送る。
【0058】
補助機器9は、産業機械4に設置され、産業機械4がワークの加工を行う際の補助的な動作を行う。補助機器9は、産業機械4の周辺に設置される装置であってもよい。補助機器9は、例えば、工具交換装置、切削液噴射装置、または開閉ドア駆動装置である。
【0059】
次に、飛行経路特定装置2の各部の機能について説明する。
【0060】
図5は、飛行経路特定装置2の各部の機能の一例を示すブロック図である。飛行経路特定装置2は、モデル取得部201と、モデルデータ記憶部202と、稼働状態取得部203と、空間情報生成部204と、指令受付部205と、指令情報記憶部206と、経路情報生成部207と、経路情報出力部208と、制御情報生成部209と、制御情報出力部210とを備える。
【0061】
モデル取得部201、稼働状態取得部203、空間情報生成部204、指令受付部205、経路情報生成部207、経路情報出力部208、制御情報生成部209、および制御情報出力部210は、例えば、CPU20がROM22に記憶されているシステムプログラム、および各種データを用いて演算処理することにより実現される。また、モデルデータ記憶部202、および指令情報記憶部206は、例えば、入力装置などから入力されたデータ、またはCPU20による演算処理の演算結果がRAM23、または不揮発性メモリ24に記憶されることにより実現される。
【0062】
モデル取得部201は、数値制御装置5から産業機械4を構成する構造物の3次元モデルを示すモデルデータを取得する。産業機械を4構成する構造物とは、例えば、主軸、主軸頭、テーブル、スプラッシュガード、開閉ドア、および、各種カバーである。また、産業機械4を構成する構造物には、工具、ワーク、治具などが含まれる。モデルデータは、例えば、3次元CAD(Computer Aided Design)のデータである。モデル取得部201は、3次元モデルを示すモデルデータを、複数の産業機械4を管理する管理サーバなどから取得してもよい。
【0063】
図6は、産業機械4を構成する構造物の3次元モデルの一例を示す図である。3次元モデルは、例えば、産業機械4において、各構造物と、工具と、ワークとの間での干渉をシミュレーションするために用いられるモデルである。
【0064】
図6には、開閉ドア401、タレット402、主軸403、工具404、テーブル405、スプラッシュガード406、テレスコピックカバー407、ワーク408、治具409などの3次元モデルが示されている。
【0065】
【0066】
モデルデータ記憶部202は、モデル取得部201によって取得された産業機械4のモデルデータを記憶する。
【0067】
また、モデルデータ記憶部202は、無人飛行機3の3次元モデルを示すモデルデータを記憶する。このモデルデータは、例えば、3次元CADのデータである。無人飛行機3の3次元モデルを示すモデルデータは、例えば、通信装置29によって外部のサーバなどから取得される。なお、無人飛行機3の3次元モデルは、簡略化したものであってもよい。例えば、円柱形状のモデルを無人飛行機3のモデルとして利用してもよい。
【0068】
稼働状態取得部203は、数値制御装置5から、産業機械4の稼働状態を示す情報を取得する。稼働状態を示す情報とは、例えば、ドアの開閉状態を示す情報、切削液の入切の状態を示す情報、主軸403に取り付けられた工具404に関する情報、各構造物の位置を示す情報である。稼働状態取得部203は、例えば、数値制御装置5が実行する加工プログラムから産業機械4の稼働状態を取得してもよい。
【0069】
空間情報生成部204は、産業機械4を構成する構造物のモデルデータ、無人飛行機3のモデルデータ、および産業機械4の稼働状態に基づいて、産業機械4と無人飛行機3とが干渉しない非干渉空間を示す非干渉空間情報を生成する。非干渉空間は、産業機械4付近、または産業機械4の内部において、無人飛行機3と産業機械4とが衝突せずに飛行できる空間である。
【0070】
図7は、非干渉空間の一例を説明する図である。非干渉空間は、例えば、産業機械4を構成する各構造物、工具404、およびワーク408の外側面から所定の距離だけ離れた複数の面によって規定される。
図7では、2点鎖線で描かれた各構造物と実線で示された面との間の空間が干渉空間であり、それ以外の空間が非干渉空間である。非干渉空間を構造物などからどの程度離れた位置で画定するかは、例えば、無人飛行機3をどの程度精密に制御できるかなどの要因を考慮して定められる。
【0071】
また、非干渉空間には、切削液が飛散する空間は含まれないようにしてもよい。例えば、ノズルなどから切削液が噴射されている場合は、あらかじめ定められた空間は非干渉空間から除外されるようにしてもよい。
【0072】
指令受付部205は、無人飛行機3が実行する作業の作業指令を受け付ける。作業指令は、例えば、産業機械4の検査作業の指令、ワーク408の搬送作業の指令である。
【0073】
検査作業は、例えば、切削液の温度を表示するモニタなどを撮像する作業、工具404の刃先を撮像する作業である。
【0074】
ワーク408の搬送作業は、例えば、電磁力でワーク408を吸着させるワーク保持器を用いて、無人飛行機3がワーク408をテーブル405に設置する作業である。
【0075】
指令情報記憶部206は、例えば、無人飛行機3に対する作業指令と、無人飛行機3によって実行される作業の作業位置の座標値とを関連付けた情報を記憶する。作業指令とは、無人飛行機3に実行させる作業を指定する指令である。また、作業位置とは、無人飛行機3が作業指令によって作業を実行する際の飛行位置である。
【0076】
図8は、指令情報記憶部206が記憶する情報の一例を示す図である。
【0077】
指令情報記憶部206には、作業指令と作業位置とが関連付けて記憶されている。例えば、指令情報記憶部206には、作業指令である「温度計の撮像」と作業位置を示す座標値(X1,Y1,Z1)とが関連付けて記憶されている。
【0078】
また、指令情報記憶部206には、作業指令である「工具刃先の撮像」と作業位置を示す座標値(X2,Y2,Z2)とが関連付けて記憶されている。また、指令情報記憶部206には、作業指令である「ワークの設置」と作業位置を示す座標値(X3,Y3,Z3)とが関連付けて記憶されている。
【0079】
【0080】
経路情報生成部207は、無人飛行機3の飛行経路を特定する飛行経路情報を生成する。経路情報生成部207は、指令受付部205が受け付けた作業指令、および指令情報記憶部206に記憶された情報に基づいて、無人飛行機3が作業を実行する作業位置を特定する。また、経路情報生成部207は、空間情報生成部204が生成した非干渉空間情報、および作業位置に基づいて、非干渉空間における作業位置までの飛行経路を特定する。これにより、飛行経路情報が生成される。
【0081】
例えば、指令受付部205が「工具刃先の撮像」を示す作業指令を受け付けた場合、経路情報生成部207は、非干渉空間情報、および座標値(X2,Y2,Z2)に基づいて、無人飛行機3の現在地から作業位置までの飛行経路を特定する飛行経路情報を生成する。
【0082】
経路情報生成部207は、例えば、探索アルゴリズムを用いて、非干渉空間において座標値(X2,Y2,Z2)が示す作業位置までの最短経路を探索することにより、飛行経路情報を生成する。
【0083】
図9は、作業指令として「工具刃先の撮像」が指令された場合の飛行経路を示す図である。飛行経路FPは、無人飛行機3が、座標値(X2,Y2,Z2)が示す作業位置に到達するまでの最短経路である。
【0084】
経路情報生成部207は、飛行経路FPを特定する飛行経路情報を生成できない場合、飛行経路情報の生成を中止する。飛行経路情報を生成できない場合とは、非干渉空間において、無人飛行機3が産業機械4の構造物などと衝突せずに作業位置まで到達する飛行経路FPを特定できない場合である。
【0085】
【0086】
経路情報出力部208は、経路情報生成部207が生成した飛行経路情報を出力する。経路情報出力部208は、例えば、通信装置を用いて無人飛行機3に飛行経路情報を送信する。
【0087】
制御情報生成部209は、産業機械4の制御情報を生成する。上述したように、経路情報生成部207が飛行経路情報の生成を中止した場合、制御情報生成部209は、産業機械4の構造物を移動させる制御情報を生成する。
【0088】
例えば、
図10に示すように、テーブル405上に大きなワーク408が設置されているために無人飛行機3が工具404に接近できない場合、制御情報生成部209は、産業機械4のテーブル405をY軸方向に沿って移動させる制御情報を生成する。
【0089】
制御情報出力部210は、制御情報生成部209によって生成された制御情報を出力する。制御情報出力部210は、例えば、通信装置を用いて制御情報を数値制御装置5に送信する。数値制御装置5は、制御指令を受けると、例えば、
図11に示すように、テーブル405を作動させて無人飛行機3の飛行経路FPを確保する。つまり、飛行経路特定装置2は、制御情報生成部209、および制御情報出力部210により、産業機械4を構成する構造物の動作を間接的に制御する。
【0090】
なお、制御情報出力部210によって産業機械4の制御情報が出力された場合、稼働状態取得部203が、再び産業機械4の稼働状態を示す情報を取得するようにしてもよい。この場合、空間情報生成部204が、再度、非干渉空間情報を生成し、経路情報生成部207が、飛行経路情報を生成することができる。
【0091】
また、経路情報出力部208によって飛行経路情報が出力された場合、制御情報生成部209は、産業機械4の運転を禁止する制御情報を生成してもよい。また、経路情報出力部208によって飛行経路情報が出力された場合、制御情報生成部209は、構造物の移動を禁止する制御情報を生成してもよい。
【0092】
次に、無人飛行機3の各部の機能について説明する。
【0093】
図12は、無人飛行機3の各部の機能の一例を示すブロック図である。
【0094】
無人飛行機3は、通信部301と、飛行位置特定部302と、飛行制御部303とを備える。
【0095】
通信部301は、飛行経路特定装置2と通信を行う。通信部301は、例えば、飛行経路特定装置2から飛行経路情報を取得する。
【0096】
飛行位置特定部302は、無人飛行機3の飛行位置を特定する。飛行位置特定部302は、例えば、工場内および産業機械4に付された印をセンサ36によって検知して無人飛行機3の飛行位置、および向きを特定する。また、無人飛行機3がGPS(Global Positioning System)受信機を備えている場合、飛行位置特定部302は、GPSを用いて無人飛行機3の飛行位置を特定してもよい。あるいは、工場内、または産業機械4に設置されたセンサにより無人飛行機3を検知し、飛行位置特定部302がセンサから受けた検知情報に基づいて無人飛行機3の位置、および向きを算出するようにしてもよい。あるいは、これらの方法を組み合わせることによって、無人飛行機3の位置を特定するようにしてもよい。
【0097】
飛行制御部303は、通信部301によって取得された飛行経路情報、および飛行位置特定部302によって特定される無人飛行機3の位置情報に基づいて、無人飛行機3の飛行制御を実行する。飛行制御部303は、各モータの回転速度を制御することにより飛行制御を行う。飛行制御部303は、飛行経路情報が示す飛行経路FPに沿って無人飛行機3を飛行させる。また、飛行制御部303は、飛行位置特定部302で特定された無人飛行機3の飛行位置を示す情報を用いてフィードバック制御を行ってもよい。
【0098】
次に、産業機械4が有する数値制御装置5の各部の機能について説明する。
【0099】
図13は、数値制御装置5の各部の機能の一例を示すブロック図である。
【0100】
数値制御装置5は、通信部510と、記憶部511と、制御部512とを備える。
【0101】
通信部510は、飛行経路特定装置2と通信する。通信部510は、例えば、飛行経路特定装置2の制御情報出力部210から出力された制御情報を受ける。また、通信部510は、産業機械4の稼働状態を示す情報を飛行経路特定装置2に向けて送る。
【0102】
記憶部511は、例えば、数値制御装置5全体を制御するためのシステムプログラム、加工プログラム、工具補正に関する情報を記憶する。また、記憶部511は、産業機械4を構成する構造物の3次元モデルを示すモデルデータを記憶する。記憶部511に記憶されたモデルデータは、通信部510により飛行経路特定装置2に送信される。
【0103】
制御部512は、産業機械4全体を制御する。制御部512は、例えば、加工プログラムに従ってワーク408の加工を実行する。また、制御部512は、通信部510によって受信された制御情報に基づいて、産業機械4を構成する構造物を作動させる。制御部512は、例えば、主軸頭をZ軸方向に移動させる制御を実行する。また、制御部512は、テーブル405をX軸方向、およびY軸方向に移動させる制御を実行する。また、制御部512は、切削液の噴射、および停止、あるいは、開閉ドア401の開閉を制御する。
【0104】
次に、飛行経路特定装置2において実行される処理の流れについて説明する。
【0105】
図14は、飛行経路特定装置2において実行される処理の一例を示すフローチャートである。
【0106】
まず、モデル取得部201が産業機械4から、産業機械4の3次元モデルを示すモデルデータを取得する(ステップS1)。
【0107】
次に、モデルデータ記憶部202が、モデル取得部201によって取得されたモデルデータを記憶する(ステップS2)。
【0108】
次に、稼働状態取得部203が、数値制御装置5から、産業機械4の稼働状態を示す情報を取得する(ステップS3)。
【0109】
次に、空間情報生成部204が、産業機械4を構成する構造物のモデルデータ、無人飛行機3のモデルデータ、および産業機械4の稼働状態に基づいて、非干渉空間を示す非干渉空間情報を生成する(ステップS4)。
【0110】
次に、指令受付部205が、無人飛行機3が実行する作業の作業指令を受け付ける(ステップS5)。
【0111】
次に、経路情報生成部207が、非干渉空間情報、および作業指令に基づいて、無人飛行機3の飛行経路FPを特定する飛行経路情報を生成する(ステップS6)。
【0112】
経路情報生成部207によって飛行経路情報が生成された場合(ステップS7においてNoの場合)、経路情報出力部208が、飛行経路情報を出力し(ステップS8)、処理を終了する。
【0113】
経路情報生成部207によって飛行経路情報の生成が中止された場合(ステップS7においてYesの場合)、制御情報生成部209は、産業機械4の制御情報を生成する(ステップS9)。
【0114】
次に、制御情報出力部210は、制御情報生成部209によって生成された制御情報を出力して(ステップS10)、処理を終了する。
【0115】
上述したように、制御情報出力部210が制御情報を出力した場合、稼働状態取得部203は再び産業機械4から最新の稼働状態を示す情報を取得してもよい。すなわち、飛行経路特定装置2は、ステップS10の処理を実行した後に、ステップS3の処理に戻ってもよい。
【0116】
以上説明したように、飛行経路特定装置2は、産業機械4を構成する構造物のモデルデータ、および産業機械4の稼働状態に基づいて、産業機械4と無人飛行機3とが干渉しない非干渉空間を示す非干渉空間情報を生成する空間情報生成部204と、無人飛行機3に対する作業指令を受け付ける指令受付部205と、非干渉空間情報、および作業指令に基づいて、無人飛行機3の飛行経路FPを特定する飛行経路情報を生成する経路情報生成部207と、を備える。そのため、作業指令に従って無人飛行機3に作業をさせるときに、無人飛行機3と産業機械4との干渉を確実に防ぐことができる。
【0117】
また、飛行経路特定装置2は、産業機械4からモデルデータを取得するモデル取得部201をさらに備える。そのため、作業者は、産業機械4を構成する構造物の3次元モデルを示すモデルデータを作成する必要がなく、作業者の作業負荷を低減することができる。
【0118】
また、飛行経路特定装置2は、無人飛行機3に向けて飛行経路情報を出力する経路情報出力部208をさらに備える。そのため、作業者は、飛行経路特定装置2で生成された飛行経路情報を記憶媒体などを介して無人飛行機3に入力する作業をする必要がない。その結果、作業者の作業負荷を低減することができる。
【0119】
また、飛行経路特定装置2は、産業機械4の制御情報を生成する制御情報生成部209を備える。そのため、非干渉空間における飛行経路FPを特定できないときには、産業機械4を構成する構造物を移動させて、再度、飛行経路情報の生成を行うことができる。
【0120】
また、制御情報生成部209が生成する制御情報には、産業機械4の運転を禁止する制御情報が含まれる。そのため、無人飛行機3が飛行経路情報に従って飛行している間に産業機械4が作動するおそれがなく、無人飛行機3と産業機械4との干渉を確実に防ぐことができる。
【0121】
また、制御情報生成部209が生成する制御情報には、構造物の移動を禁止する制御情報が含まれる。そのため、無人飛行機3が飛行経路情報に従って飛行している間に産業機械4を構成する構造物が移動するおそれがなく、無人飛行機3と産業機械4との干渉を確実に防ぐことができる。
【0122】
なお、上述した実施形態では、飛行経路特定装置2は、PC、サーバなどに実装されているが、飛行経路特定装置2は、産業機械4の数値制御装置5に実装されてもよい。
【0123】
また、上述した実施形態では、産業機械4の一例として工作機械を示したが、産業機械4は、マニピュレータなどの産業用ロボットであってもよい。
【0124】
また、上述した実施形態では、空間情報生成部204が、産業機械4を構成する構造物のモデルデータ、無人飛行機3のモデルデータ、および産業機械4の稼働状態に基づいて、非干渉空間を示す非干渉空間情報を生成している。しかし、無人飛行機3が比較的小さく、干渉空間を比較的大きく設定する場合、空間情報生成部204は、産業機械4を構成する構造物のモデルデータと、産業機械4の稼働状態とに基づいて、非干渉空間を示す非干渉空間情報を生成してもよい。
【0125】
また、稼働状態取得部203は、数値制御装置5から加工プログラムを取得してもよい。この場合、空間情報生成部204は、産業機械4を構成する構造物の動き、切削液の飛散状況などを解析して、産業機械4の稼働中の非干渉空間情報を生成してもよい。このようにすれば、産業機械4が稼働中であっても、無人飛行機3と産業機械4とが衝突することなく無人飛行機3に所定の作業を行わせることができる。
【符号の説明】
【0126】
1 無人飛行機制御システム
2 飛行経路特定装置
20 CPU
21 バス
22 ROM
23 RAM
24 不揮発性メモリ
25 第1のインタフェース
26 表示装置
27 第2のインタフェース
28 入力装置
29 通信装置
201 モデル取得部
202 モデルデータ記憶部
203 稼働状態取得部
204 空間情報生成部
205 指令受付部
206 指令情報記憶部
207 経路情報生成部
208 経路情報出力部
209 制御情報生成部
210 制御情報出力部
3 無人飛行機
30 バッテリ
31 プロセッサ
32 バス
33 メモリ
34 モータ制御回路
35 モータ
36 センサ
37 通信装置
301 通信部
302 飛行位置特定部
303 飛行制御部
4 産業機械
401 開閉ドア
402 タレット
403 主軸
404 工具
405 テーブル
406 スプラッシュガード
407 テレスコピックカバー
408 ワーク
409 治具
5 数値制御装置
50 CPU
51 バス
52 ROM
53 RAM
54 不揮発性メモリ
55 インタフェース
56 軸制御回路
57 PLC
58 I/Oユニット
510 通信部
511 記憶部
512 制御部
6 通信装置
7 サーボアンプ
8 サーボモータ
9 補助機器
FP 飛行経路