(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-13
(45)【発行日】2024-05-21
(54)【発明の名称】搬送システム制御装置、およびコンピュータ読み取り可能な記憶媒体
(51)【国際特許分類】
G08G 5/02 20060101AFI20240514BHJP
G01C 21/34 20060101ALI20240514BHJP
B64U 70/97 20230101ALI20240514BHJP
G05D 1/46 20240101ALI20240514BHJP
G16Y 10/25 20200101ALI20240514BHJP
G16Y 10/40 20200101ALI20240514BHJP
G16Y 40/30 20200101ALI20240514BHJP
G16Y 40/60 20200101ALI20240514BHJP
【FI】
G08G5/02 A
G01C21/34
B64U70/97
G05D1/46
G16Y10/25
G16Y10/40
G16Y40/30
G16Y40/60
(21)【出願番号】P 2022563778
(86)(22)【出願日】2021-11-16
(86)【国際出願番号】 JP2021042133
(87)【国際公開番号】W WO2022107776
(87)【国際公開日】2022-05-27
【審査請求日】2023-06-15
(31)【優先権主張番号】P 2020193373
(32)【優先日】2020-11-20
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】110001151
【氏名又は名称】あいわ弁理士法人
(72)【発明者】
【氏名】三好 高史
【審査官】佐藤 吉信
(56)【参考文献】
【文献】国際公開第2017/034070(WO,A1)
【文献】特開2017-117197(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G08G 5/02
G01C 21/34
B64U 70/97
G05D 1/46
G16Y 10/25
G16Y 10/40
G16Y 40/30
G16Y 40/60
(57)【特許請求の範囲】
【請求項1】
無人飛行機によって搬送される搬送物の位置情報を取得する取得部と、
前記搬送物が設置される設置部の動作範囲を示す動作範囲情報を記憶する記憶部と、
前記動作範囲内に、前記搬送物を前記設置部に設置するための設置条件を満たす位置が存在するか否かを判断する判断部と、
前記判断部が前記設置条件を満たす位置が存在すると判断した場合、前記設置条件を満たす位置まで前記設置部を動作させる際の前記設置部の動作量を算出する算出部と、
を備える搬送システム制御装置。
【請求項2】
前記動作量に従って前記設置部を動作させる制御指令を生成する制御指令生成部をさらに備える請求項1に記載の搬送システム制御装置。
【請求項3】
前記取得部は、前記位置情報をリアルタイムに取得する請求項1または2に記載の搬送システム制御装置。
【請求項4】
前記動作には、前記設置条件を満たす位置まで前記設置部を所定の軸方向に沿って移動させること、および所定の軸回りに前記設置部を回転させることの少なくとも1つを含む請求項1~3のいずれか1項に記載の搬送システム制御装置。
【請求項5】
前記判断部が、前記動作範囲内に前記設置条件が満たされる位置が存在しないと判断した場合、前記無人飛行機を移動させる飛行指令を生成する飛行指令生成部をさらに備える請求項1~4のいずれか1項に記載の搬送システム制御装置。
【請求項6】
前記設置条件には、前記無人飛行機をホバリングさせた状態において、前記設置部を動作させて、前記設置部に対する前記搬送物の着脱が可能になることが含まれる請求項1~5のいずれか1項に記載の搬送システム制御装置。
【請求項7】
前記設置条件には、前記無人飛行機を水平方向、または垂直方向に移動させることによって、前記設置部に対する前記搬送物の着脱が可能になることが含まれる請求項1~6のいずれか1項に記載の搬送システム制御装置。
【請求項8】
無人飛行機によって搬送される搬送物の位置情報を取得することと、
搬送物が設置される設置部の動作範囲を示す動作範囲情報を記憶することと、
前記動作範囲内に、前記搬送物を前記設置部に設置するための設置条件を満たす位置が存在するか否かを判断することと、
前記設置条件を満たす位置が存在すると判断された場合、前記設置条件を満たす位置まで前記設置部を動作させる際の前記設置部の動作量を算出することと、
をコンピュータに実行させる命令を記憶するコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、搬送システム制御装置、およびコンピュータ読み取り可能な記憶媒体に関する。
【背景技術】
【0002】
近年、無人飛行機を用いて産業機械に対してワークを設置することが行われている(例えば、特許文献1)。制御技術の進歩により、無人飛行機は、一定の高度を保って飛行したり、垂直方向にまっすぐ上昇、または下降したりすることができる。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、無人飛行機を所定の位置に高精度に位置決めすることは困難である。例えば、無人飛行機を水平方向の所定の位置に高精度に位置合わせしたり、所定の高さに高精度に位置合わせしたりすることが困難である。したがって、無人飛行機によって搬送される搬送物を工作機械のテーブル上などに設置するときに、何度か設置動作をやり直して位置合わせする必要がある。そのため、無人飛行機を用いた搬送物の設置作業の効率化が求められる。
【0005】
本発明は、無人飛行機によって搬送される搬送物を所定の位置に着脱する作業を効率化することが可能な搬送システム制御装置、およびコンピュータ読み取り可能な記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【0006】
搬送システム制御装置が、無人飛行機によって搬送される搬送物の位置情報を取得する取得部と、搬送物が設置される設置部の動作範囲を示す動作範囲情報を記憶する記憶部と、動作範囲内に、搬送物を設置部に設置するための設置条件を満たす位置が存在するか否かを判断する判断部と、判断部が設置条件を満たす位置が存在すると判断した場合、設置条件を満たす位置まで設置部を動作させる際の設置部の動作量を算出する算出部と、を備える。
【0007】
コンピュータ読み取り可能な記憶媒体が、無人飛行機によって搬送される搬送物の位置情報を取得することと、搬送物が設置される設置部の動作範囲を示す動作範囲情報を記憶することと、動作範囲内に、搬送物を設置部に設置するための設置条件を満たす位置が存在するか否かを判断することと、設置条件を満たす位置が存在すると判断された場合、設置条件を満たす位置まで設置部を動作させる際の設置部の動作量を算出することと、をコンピュータに実行させる命令を記憶する。
【発明の効果】
【0008】
本発明により、無人飛行機を用いた搬送物の設置作業を効率化することが可能になる。
【図面の簡単な説明】
【0009】
【
図1】搬送システム全体の一例を説明する図である。
【
図2】搬送システム制御装置のハードウェア構成の一例を示す図である。
【
図3】無人飛行機のハードウェア構成の一例を示す図である。
【
図4】産業機械のハードウェア構成の一例を示す図である。
【
図5】搬送システム制御装置の機能の一例を説明する図である。
【
図6】設置部の動作範囲の一例を説明する平面図である。
【
図7】設置条件が満たされる場合の一例を説明する図である。
【
図8】設置条件が満たされる場合の別の例を説明する図である。
【
図9】設置条件が満たされる場合のさらに別の例を説明する図である。
【
図11】数値制御装置の機能の一例を示す図である。
【
図12】搬送システム制御装置において実行される処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、本発明の一実施形態について図面を用いて説明する。なお、以下の実施形態で説明する特徴の組合わせのすべてが課題解決に必ずしも必要であるとは限らない。また、必要以上の詳細な説明を省略する場合がある。また、以下の実施形態の説明、および図面は、当業者が本発明を十分に理解するために提供されるものであり、特許請求の範囲を限定することを意図していない。
【0011】
まず、搬送システム制御装置を含む搬送システム全体について説明する。
【0012】
図1は、搬送システム全体の一例を説明する図である。
【0013】
搬送システム1は、搬送システム制御装置2と、無人飛行機3と、産業機械4とを含む。
【0014】
搬送システム制御装置2は、無人飛行機3、および産業機械4を制御し、搬送物を産業機械4に取り付け、または産業機械4から取り外すための制御装置である。搬送システム制御装置2は、例えば、PC(Personal Computer)、サーバに実装される。
【0015】
無人飛行機3は、マルチコプタ型の小型無人飛行機である。無人飛行機3は、ドローンと称される。無人飛行機3は、搬送システム制御装置2によって生成された飛行指令に従って、産業機械4の所定の設置部に向けて飛行する。無人飛行機3は、例えば、作業者が操作する携帯型の操作端末(不図示)により、飛行制御が行われてもよい。これにより、搬送システム1は、産業機械4の所定の設置部に搬送物を設置、または設置部から搬送物を取り外すことができる。
【0016】
産業機械4は、工場内に設置され、各種作業を行う装置である。産業機械4は、例えば、工作機械である。産業機械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全体を制御するためのシステムプログラムなどを記憶する記憶装置である。
【0022】
RAM23は、各種データを一時的に格納する記憶装置である。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は、例えば、測距センサである。センサ36は、例えば、産業機械4の所定の位置に付された印までの距離を計測する。測距センサは、例えば、赤外線、電波、あるいは超音波を利用した測距センサである。センサ36は、例えば、電子コンパスを含んでもよい。電子コンパスは、地球の磁気を検知して無人飛行機3が向く方向を取得する。また、センサ36は、加速度センサ、角速度センサなどを含んでもよい。
【0040】
通信装置37は、無線通信によって搬送システム制御装置2と通信を行う。上述したように、通信装置37は、例えば、無線LAN、Bluetoothを用いて通信を行う。
【0041】
次に、産業機械4のハードウェア構成について説明する。
【0042】
図4は、産業機械4のハードウェア構成の一例を示す図である。産業機械4は、数値制御装置5と、通信装置6と、サーボアンプ7、およびサーボモータ8と、スピンドルアンプ9、およびスピンドルモータ10と、補助機器11とを備えている。
【0043】
数値制御装置5は、産業機械4全体を制御する装置である。数値制御装置5は、CPU50と、バス51と、ROM52と、RAM53と、不揮発性メモリ54とを備えている。
【0044】
CPU50は、システムプログラムに従って数値制御装置5の全体を制御するプロセッサである。CPU50は、バス51を介してROM52に格納されたシステムプログラムなどを読み出す。また、CPU50は、加工プログラムに従って、サーボモータ8およびスピンドルモータ10を制御し、ワークの加工を行う。
【0045】
バス51は、数値制御装置5内の各ハードウェアを互いに接続する通信路である。数値制御装置5内の各ハードウェアはバス51を介してデータをやり取りする。
【0046】
ROM52は、数値制御装置5全体を制御するためのシステムプログラムなどを記憶する記憶装置である。
【0047】
RAM53は、各種データを一時的に格納する記憶装置である。RAM53は、CPU50が各種データを処理するための作業領域として機能する。
【0048】
不揮発性メモリ54は、産業機械4の電源が切られ、数値制御装置5に電力が供給されていない状態でもデータを保持する記憶装置である。不揮発性メモリ54は、例えば、SSD(Solid State Drive)で構成される。
【0049】
数値制御装置5は、さらに、インタフェース55と、軸制御回路56と、スピンドル制御回路57と、PLC(Programmable Logic Controller)58と、I/Oユニット59とを備えている。
【0050】
インタフェース55は、バス51と通信装置6とを接続する通信路である。インタフェース55は、例えば、通信装置6が受信した各種データをCPU50に送る。
【0051】
通信装置6は、搬送システム制御装置2と通信を行う。上述したように、通信装置6は、例えば、インターネット回線を用いて通信を行なう。
【0052】
軸制御回路56は、サーボモータ8を制御する回路である。軸制御回路56は、CPU50からの制御指令を受けてサーボモータ8を駆動させるための指令をサーボアンプ7に出力する。軸制御回路56は、例えば、サーボモータ8のトルクを制御するトルクコマンドをサーボアンプ7に送る。
【0053】
サーボアンプ7は、軸制御回路56からの指令を受けて、サーボモータ8に電力を供給する。
【0054】
サーボモータ8は、サーボアンプ7から電力の供給を受けて駆動する。産業機械4が工作機械である場合、サーボモータ8は、例えば、刃物台、主軸頭、テーブルを駆動させるボールねじに連結される。サーボモータ8が駆動することにより、刃物台、主軸頭、テーブルなどの工作機械の構造物は、例えば、X軸方向、Y軸方向、またはZ軸方向に移動する。
【0055】
スピンドル制御回路57は、スピンドルモータ10を制御するための回路である。スピンドル制御回路57は、CPU50からの制御指令を受けてスピンドルモータ10を駆動させるための指令をスピンドルアンプ9に出力する。スピンドル制御回路57は、例えば、スピンドルモータ10のトルクを制御するトルクコマンドをスピンドルアンプ9に送る。
【0056】
スピンドルアンプ9は、スピンドル制御回路57からの指令を受けて、スピンドルモータ10に電力を供給する。
【0057】
スピンドルモータ10は、スピンドルアンプ9から電力の供給を受けて駆動する。スピンドルモータ10は、主軸に連結され、主軸を回転させる。
【0058】
PLC58は、ラダープログラムを実行して補助機器11を制御する装置である。PLC58は、I/Oユニット59を介して補助機器11を制御する。
【0059】
I/Oユニット59は、PLC58と補助機器11とを接続するインタフェースである。I/Oユニット59は、PLC58から受けた指令を補助機器11に送る。
【0060】
補助機器11は、産業機械4に設置され、産業機械4がワークの加工を行う際の補助的な動作を行う。補助機器11は、産業機械4の周辺に設置される装置であってもよい。補助機器11は、例えば、工具交換装置、切削液噴射装置、または開閉ドア駆動装置である。
【0061】
次に、搬送システム制御装置2の各部の機能について説明する。
【0062】
図5は、搬送システム制御装置2の各部の機能の一例を示すブロック図である。搬送システム制御装置2は、取得部201と、記憶部202と、判断部203と、算出部204と、制御指令生成部205と、制御指令出力部206と、飛行指令生成部207と、飛行指令出力部208とを備える。
【0063】
取得部201、判断部203、算出部204、制御指令生成部205、制御指令出力部206、飛行指令生成部207、および飛行指令出力部208は、例えば、CPU20がROM22に記憶されているシステムプログラム、および各種データを用いて演算処理することにより実現される。また、記憶部202は、例えば、入力装置(不図示)などから入力されたデータ、またはCPU20による演算処理の演算結果がRAM23、または不揮発性メモリ24に記憶されることにより実現される。
【0064】
取得部201は、無人飛行機3によって搬送される搬送物の位置情報を取得する。無人飛行機3によって搬送される搬送物は、例えば、加工対象のワーク、および主軸に取り付けられる工具である。また、位置情報とは、例えば、機械座標系、ワーク座標系における搬送物の位置、および向きを含む情報である。
【0065】
搬送物の位置情報は、例えば、工場内、または産業機械4に設置された測距センサなどにより搬送物を検知することによって取得される。また、位置情報は、無人飛行機3に取り付けられたセンサ36が工場内および工作機械に付された印を検知することによって取得されるようにしてもよい。また、無人飛行機3がGPS(Global Positioning System)受信機を備えている場合、搬送物の位置情報は、GPSを用いて取得されるようにしてもよい。あるいは、これらの方法を組み合わせることによって、搬送物の位置情報が取得されるようにしてもよい。
【0066】
記憶部202は、搬送物が設置される設置部の動作範囲を示す動作範囲情報を記憶する。動作範囲とは、設置部が各軸に沿って動作可能な範囲である。また、設置部とは、搬送物が設置される部分である。設置部は、例えば、産業機械4のテーブル上におけるワークの設置部、工具主軸における工具の取付部である。
【0067】
図6は、動作範囲情報によって特定される設置部の動作範囲の一例を説明する平面図である。
図6は、マシニングセンタのテーブル41上の設置部42の動作範囲を示している。動作範囲には、テーブル41が各軸の一端から他端に移動した場合において、設置部42が搬送物を受けることができる全領域が含まれる。つまり、点線で示される範囲が、設置部42の動作範囲である。
【0068】
【0069】
判断部203は、設置部42の動作範囲内に、搬送物を設置部42に設置するための設置条件を満たす位置が存在するか否かを判断する。設置条件は、例えば、設置部42が搬送物に対して位置決めができることである。位置決めとは、例えば、搬送物の中心と、設置部42の中心とが同一の垂直線、または水平線上にあり、かつ、搬送物の被把持部と設置部の把持部とが平行状態にされることである。つまり、設置条件は、無人飛行機3が搬送する搬送物と設置部42との水平方向および垂直方向の少なくともいずれかの位置決めがなされていることである。
【0070】
例えば、
図6において、無人飛行機3によって搬送される搬送物が点線で示される動作範囲内に位置している場合、判断部203は、設置部42の動作範囲内に設置条件を満たす位置が存在すると判断する。一方、
図6において、無人飛行機3によって搬送される搬送物が点線で示される動作範囲内に位置していない場合、判断部203は、設置部42の動作範囲内に設置条件を満たす位置が存在しないと判断する。
【0071】
図7は、設置条件が満たされる場合の一例を説明する正面図である。
図7は、テーブル41の設置部42にワークWが設置される場合の例を示している。
図7では、搬送物であるワークWの中心と設置部42の中心とが同一の垂直線上に位置しており、かつ、搬送物の被把持部W1と、設置部42の把持部421とが平行である。この場合は、設置条件が満たされる。したがって、無人飛行機3を垂直方向にのみ下降させて設置部42にワークWの設置が可能である。
【0072】
図8は、設置条件が満たされる場合の別の例を示す正面図である。
図8は、ブロック43の垂直面にワークWが設置される場合の例を示している。
図8では、搬送物であるワークWの中心と設置部42の中心とが同一の水平線上に位置しており、かつ、搬送物の被把持部W1と、設置部42の把持部421とが平行であるため、設置条件が満たされる。したがって、無人飛行機3を水平方向にのみ移動させて設置部42へのワークWの設置が可能である。
【0073】
図9は、設置条件が満たされる場合のさらに別の例を示す平面図である。
図9は、回転テーブル44上の設置部42にワークWが設置される場合の例を示している。
図9では、搬送物であるワークWの中心と設置部42の中心とが同一の垂直線上に位置しており、かつ、搬送物の被把持部W1と、設置部42の把持部421とが平行であるため、設置条件が満たされる。したがって、無人飛行機3を垂直方向にのみ下降させて設置部42にワークWの設置が可能となる。
【0074】
なお、設置条件は、無人飛行機3をホバリングさせた状態において、設置部42を動作させて、設置部42に対するワークWの着脱が可能となることであってもよい。つまり、この場合、無人飛行機3をホバリングさせた状態において、テーブル41を移動させることにより設置部42を搬送物に近接させることができる。つまり、無人飛行機3を移動させずに設置部42が搬送物に近接して、搬送物を設置部42に設置できる。
【0075】
【0076】
算出部204は、判断部203が設置条件を満たす位置が設置部42の動作範囲内に存在すると判断した場合、設置部42を設置条件が満たされる位置まで動作させる際の動作量を算出する。算出部204は、例えば、設置部42のX軸方向、およびY軸方向の移動量を算出する。また、設置部42がZ軸方向に移動可能である場合、算出部204は、設置部42のZ軸方向に移動量を算出する。
【0077】
制御指令生成部205は、算出部204で算出された動作量に従って設置部42を動作させる制御指令を生成する。制御指令は、例えば、Gコード指令、Mコード指令である。
【0078】
制御指令出力部206は、制御指令生成部205で生成された制御指令を出力する。制御指令出力部206は、通信装置29を用いて産業機械4の数値制御装置5に制御指令を送信する。つまり、搬送システム制御装置2は、制御指令生成部205、および制御指令出力部206により、産業機械4を構成する構造物の動作を間接的に制御する。
【0079】
飛行指令生成部207は、無人飛行機3に対する飛行指令を生成する。飛行指令生成部207は、例えば、設置部42の動作範囲内において、設置条件を満たす位置が存在しないと判断された場合、無人飛行機3を移動させる飛行指令を生成する。飛行指令は、例えば、無人飛行機3を設置部42に接近させる指令である。
【0080】
飛行指令出力部208は、飛行指令生成部207によって生成された飛行指令を出力する。飛行指令出力部208は、例えば、通信装置29を用いて無人飛行機3に飛行指令を出力する。
【0081】
次に、無人飛行機3の各部の機能について説明する。
【0082】
図10は、無人飛行機3の各部の機能の一例を示すブロック図である。
【0083】
無人飛行機3は、通信部301と、飛行位置特定部302と、飛行制御部303とを備える。
【0084】
通信部301は、搬送システム制御装置2と通信を行う。通信部301は、例えば、搬送システム制御装置2から飛行指令を受ける。
【0085】
飛行位置特定部302は、無人飛行機3の飛行位置を特定する。飛行位置特定部302は、例えば、工場内および産業機械4に付された印をセンサ36によって検知して無人飛行機3の飛行位置、および向きを特定する。また、無人飛行機3がGPS(Global Positioning System)受信機を備えている場合、飛行位置特定部302は、GPSを用いて無人飛行機3の飛行位置を特定してもよい。あるいは、工場内、または産業機械4に設置されたセンサにより無人飛行機3を検知し、飛行位置特定部302がセンサから受けた検知情報に基づいて無人飛行機3の位置、および向きを算出するようにしてもよい。あるいは、これらの方法を組み合わせて、無人飛行機3の位置を特定するようにしてもよい。
【0086】
飛行制御部303は、通信部301によって取得された飛行指令、および飛行位置特定部302によって特定される無人飛行機3の位置情報に基づいて、無人飛行機3の飛行制御を実行する。飛行制御部303は、各モータ35の回転速度を制御することにより飛行制御を実行する。飛行制御部303は、飛行指令が示す飛行経路に沿って無人飛行機3を飛行させる。また、飛行制御部303は、飛行位置特定部302で特定された無人飛行機3の飛行位置に示す情報を用いてフィードバック制御を行う。
【0087】
次に、産業機械4が有する数値制御装置5の各部の機能について説明する。
【0088】
図11は、数値制御装置5の各部の機能の一例を示すブロック図である。
【0089】
数値制御装置5は、通信部501と、記憶部502と、制御部503とを備える。
【0090】
通信部501は、搬送システム制御装置2と通信する。通信部501は、例えば、搬送システム制御装置2の制御指令出力部206から出力された制御情報を受ける。
【0091】
記憶部502は、例えば、数値制御装置5全体を制御するためのシステムプログラム、加工プログラム、工具補正に関する情報を記憶する。
【0092】
制御部503は、産業機械4全体を制御する。制御部503は、例えば、加工プログラムに従ってワークWの加工を実行する。また、制御部503は、通信部501が受けた制御情報に基づいて、設置部42を動作させる。制御部503は、例えば、主軸を設置条件が満たされる位置までZ軸方向に沿って移動させる。また、制御部503は、テーブル41を設置条件が満たされる位置までX軸方向、およびY軸方向に沿って移動させる。また、制御部503は、回転テーブル44を設置条件が満たされる位置まで回転軸回りに回転させる。また、制御部503は、切削液の噴射、および停止、あるいは、開閉ドアの開閉を制御する。
【0093】
次に、搬送システム制御装置2において実行される処理の流れについて説明する。
【0094】
図12は、搬送システム制御装置2において実行される処理の一例を示すフローチャートである。
【0095】
まず、取得部201が、無人飛行機3によって搬送される搬送物の位置情報を取得する(ステップS1)。
【0096】
次に、判断部203が、設置部42の動作範囲内において、搬送物を設置部42に設置するための設置条件、または、設置部42に設置されている搬送物を保持するための設置条件を満たす位置が存在するか否かを判断する(ステップS2)。
【0097】
判断部203が、設置条件を満たす位置が設置部42の動作範囲内に存在すると判断した場合(ステップS2においてYesの場合)、算出部204は、設置条件を満たす位置まで設置部42を動作させる際の動作量を算出する(ステップS3)。
【0098】
次に、制御指令生成部205は、算出部204で算出された動作量に従って設置部42を動作させる制御指令を生成する(ステップS4)。
【0099】
次に、制御指令出力部206は、制御指令生成部205で生成された制御指令を出力する(ステップS5)。数値制御装置5が制御指令を受けると、数値制御装置5は、制御指令に従い、設置部を動作させる。なお、この後、無人飛行機3を垂直方向、または水平方向に移動させて搬送物を設置部42に設置するなどする場合、作業者が操作端末などを用いて無人飛行機3の飛行制御を行ってもよい。あるいは、飛行指令生成部207、および飛行指令出力部208が無人飛行機3の飛行制御を行ってもよい。
【0100】
一方、判断部203が、設置条件を満たす位置が設置部42の動作範囲内に存在しないと判断した場合(ステップS2においてNoの場合)、飛行指令生成部207は、無人飛行機3に対する飛行指令を生成する(ステップS6)。無人飛行機3に対する飛行指令は、例えば、無人飛行機3を設置部42に接近させる指令である。
【0101】
次に、飛行指令出力部208は、飛行指令生成部207によって生成された飛行指令を無人飛行機3に向けて出力し(ステップS7)、処理を終了する。
【0102】
なお、飛行指令出力部208によって無人飛行機3に向けて飛行指令が出力された場合は、再び、取得部201が、無人飛行機3によって搬送される搬送物の位置情報を取得するようにしてもよい。つまり、ステップS7の処理が終了した後、ステップS1の処理が行われてもよい。
【0103】
また、取得部201は、無人飛行機3によって搬送される搬送物の位置情報をリアルタイムに取得してもよい。この場合、制御指令生成部205は、無人飛行機3が搬送する搬送物の位置、および向きに応じて設置部42を動作させる制御指令をリアルタイムに生成し、制御指令出力部206がこの制御指令を出力する。なお、リアルタイムとは、例えば、1秒間隔を意味する。
【0104】
以上説明したように、搬送システム制御装置2は、無人飛行機3によって搬送される搬送物の位置情報を取得する取得部201と、搬送物が設置される設置部42の動作範囲を示す動作範囲情報を記憶する記憶部502と、動作範囲内に搬送物を設置部42に設置するための設置条件を満たす位置が存在するか否かを判断する判断部203と、判断部203が設置条件を満たす位置が存在すると判断した場合、設置条件を満たす位置まで設置部42を動作させる際の設置部42の動作量を算出する算出部204と、を備える。そのため、搬送システム制御装置2は、無人飛行機3の高精度の位置決めを行わずに、搬送物と設置部42との間の位置決めを行う指令を生成できる。その結果、無人飛行機3によって搬送される搬送物を設置部42に着脱する作業を効率化することができる。
【0105】
また、搬送システム制御装置2は、算出部204が算出した動作量に従って設置部42を動作させる制御指令を生成する制御指令生成部205を備える。そのため、作業者は、搬送システム制御装置2で生成された制御指令を記憶媒体などを介して数値制御装置5に入力する作業をする必要がない。その結果、作業者の作業負荷を低減することができる。
【0106】
また、取得部201は、搬送物の位置情報をリアルタイムに取得する。そのため、例えば、無人飛行機3をホバリングさせているときに、外因により飛行位置がずれたとしても、搬送物の位置に合わせて、設置部42を動作させることができる。
【0107】
また、設置部42の動作には、設置部42が設置条件を満たす位置まで所定の軸方向に沿って移動することを含まれる。また、設置部42の動作には、設置部42が所定の軸回りに回転することが含まれる。つまり、数値制御装置5が制御可能な軸に沿って設置部42を移動させることにより、搬送物と設置部42との間の位置決めを高精度に行うことができる。
【0108】
また、判断部203が、設置部42の動作範囲内に設置条件が満たされる位置が存在しないと判断した場合、無人飛行機3を移動させる飛行指令を生成する飛行指令生成部207を備える。そのため、無人飛行機3を移動させて、再び、設置部42の動作範囲内に設置条件が満たされる位置が存在するか否かを判断し、制御指令を生成することができる。
【0109】
また、設置条件には、無人飛行機3をホバリングさせた状態において、設置部42を動作させて、設置部42に対する搬送物の着脱が可能となることが含まれる。つまり、数値制御装置5が設置部42を移動させることにより、搬送物と設置部42との間の位置決めを高精度に行うことができる。
【0110】
また、設置条件には、無人飛行機3を水平方向、または垂直方向に移動させることによって、設置部42に対する搬送物の着脱が可能となることが含まれる。つまり、無人飛行機3を水平方向、または垂直方向に移動させるだけで、設置部42に対する搬送物の着脱が可能な位置に設置部42を移動させることができる。
【0111】
なお、上述した実施形態では、搬送システム制御装置2は、PC、サーバなどに実装されているが、搬送システム制御装置2は、産業機械4の数値制御装置5に実装されてもよい。
【0112】
また、上述した実施形態では、産業機械4の一例として工作機械を示したが、産業機械4は、マニピュレータなどの産業用ロボットであってもよい。この場合、設置部42は、例えば、マニピュレータの先端に配置されたグリップである。
【0113】
上述した実施形態では、判断部203によって設置条件を満たす位置が存在しないと判断された場合、飛行指令生成部207は、無人飛行機3を移動させる飛行指令を生成する。しかし、判断部203によって設置条件を満たす位置が存在しないと判断された場合、制御指令生成部205が、数値制御装置5にアラームを出力させる制御指令を生成してもよい。この場合、制御指令出力部206がアラームを出力させる制御指令を数値制御装置5に向けて出力する。
【符号の説明】
【0114】
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 飛行指令出力部
3 無人飛行機
30 バッテリ
31 プロセッサ
32 バス
33 メモリ
34 モータ制御回路
35 モータ
36 センサ
37 通信装置
301 通信部
302 飛行位置特定部
303 飛行制御部
4 産業機械
41 テーブル
42 設置部
421 把持部
43 ブロック
44 回転テーブル
5 数値制御装置
50 CPU
51 バス
52 ROM
53 RAM
54 不揮発性メモリ
55 インタフェース
56 軸制御回路
57 スピンドル制御回路
58 PLC
59 I/Oユニット
501 通信部
502 記憶部
503 制御部
6 通信装置
7 サーボアンプ
8 サーボモータ
9 スピンドルアンプ
10 スピンドルモータ
11 補助機器
W ワーク
W1 被把持部