JP7300410B2 - 制御装置、移動体、移動制御システム、制御方法及びプログラム - Google Patents
制御装置、移動体、移動制御システム、制御方法及びプログラム Download PDFInfo
- Publication number
- JP7300410B2 JP7300410B2 JP2020032155A JP2020032155A JP7300410B2 JP 7300410 B2 JP7300410 B2 JP 7300410B2 JP 2020032155 A JP2020032155 A JP 2020032155A JP 2020032155 A JP2020032155 A JP 2020032155A JP 7300410 B2 JP7300410 B2 JP 7300410B2
- Authority
- JP
- Japan
- Prior art keywords
- trajectory
- target
- area
- pallet
- orientation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 39
- 238000001514 detection method Methods 0.000 claims description 27
- 239000000284 extract Substances 0.000 claims description 5
- 230000002452 interceptive effect Effects 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 description 66
- 238000009434 installation Methods 0.000 description 62
- 238000010586 diagram Methods 0.000 description 28
- 238000003860 storage Methods 0.000 description 18
- 238000012545 processing Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 7
- 230000006866 deterioration Effects 0.000 description 5
- 230000032258 transport Effects 0.000 description 5
- 210000000078 claw Anatomy 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000001678 irradiating effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Landscapes
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Description
本発明は、制御装置、移動体、移動制御システム、制御方法及びプログラムに関する。
例えばフォークリフトなどの移動体を自動的に目標位置まで移動させる技術が知られている。特許文献1には、フォークリフトに設けられた測域センサで検出した目標物の位置情報に基づき、目標物までのアプローチ軌道を決定する方法が知られている。
目標物までの軌道は、移動体と目標物との間の領域内を探索範囲として算出される。その場合、探索範囲が広いことにより、軌道の演算負荷が高くなって算出に時間を要し、作業が遅延するおそれが生じる。また、演算装置の性能を高くする必要が生じる場合もある。そのため、自動で移動する移動体において、軌道の演算負荷を低減することが求められている。
本開示は、上述した課題を解決するものであり、自動で移動する移動体において、軌道の演算負荷を低減することが可能な制御装置、移動体、移動制御システム、制御方法及びプログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するために、本開示に係る移動体の制御装置は、自動で移動する移動体に設けられる制御装置であって、目標物の向きの検出結果を取得する目標物情報取得部と、前記目標物の向きから、前記移動体の軌道が通ることを禁止する禁止領域を設定する領域設定部と、前記移動体から前記目標物に対して所定の位置及び向きとなる目標位置までの軌道を、前記軌道が前記禁止領域を通らないように設定する軌道設定部と、前記軌道に基づいて前記移動体を移動させる移動制御部と、を含む。
上述した課題を解決し、目的を達成するために、本開示に係る移動体は、前記制御装置を備える。
上述した課題を解決し、目的を達成するために、本開示に係る移動体の制御方法は、自動で移動する移動体を制御する制御方法であって、前記目標物の向きの検出結果を取得するステップと、前記目標物の向きから、前記移動体の軌道が通ることを禁止する禁止領域を設定するステップと、前記移動体から前記目標物に対して所定の位置及び向きとなる目標位置までの軌道を、前記軌道が前記禁止領域を通らないように設定するステップと、前記軌道に基づいて前記移動体を移動させるステップと、を含む。
上述した課題を解決し、目的を達成するために、本開示に係るプログラムは、自動で移動する移動体を制御する制御方法をコンピュータに実行させるプログラムであって、前記目標物の向きの検出結果を取得するステップと、前記目標物の向きから、前記移動体の軌道が通ることを禁止する禁止領域を設定するステップと、前記移動体から前記目標物に対して所定の位置及び向きとなる目標位置までの軌道を、前記軌道が前記禁止領域を通らないように設定するステップと、前記軌道に基づいて前記移動体を移動させるステップと、を、コンピュータに実行させる。
本開示によれば、自動で移動する移動体において、軌道の演算負荷を低減することができる。
以下に添付図面を参照して、本発明の好適な実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではなく、また、実施形態が複数ある場合には、各実施形態を組み合わせて構成するものも含むものである。
(第1実施形態)
(移動制御システムの全体構成)
図1は、第1実施形態に係る移動制御システムの模式図である。図1に示すように、第1実施形態に係る移動制御システム1は、移動体10、管理システム12、及び演算装置14を含む。移動制御システム1は、設備Wに所属する移動体10の移動を制御するシステムである。設備Wは、例えば倉庫など、物流管理される設備である。設備W内の領域Aには、複数の設置領域AR0が設けられている。領域Aは、例えば設備Wの床面であり、パレットP(荷物)が設置されたり移動体10が移動したりする領域である。設置領域AR0は、目標物であるパレットP(荷物)が設置される領域である。設置領域AR0は、目標物であるパレットP(荷物)を設置すべき領域として、予め設定される。設置領域AR0は、例えば白線などで区分されており、設置領域AR0の位置(座標)、形状、及び大きさは、予め設定されている。なお、本実施形態では、設置領域AR0は、設備Wの床である領域Aに設けられているが、それに限られず、例えばパレットPを設備Wに搬入した車両の荷台内に設けられてもよい。また、設置領域AR0は、パレットP毎に区画されており、設置領域AR0にはパレットPが1つ配置されるが、それに限られない。例えば、設置領域AR0は、フリースペースとして、複数のパレットPが設置されるように設定されていてもよい。また、図1の例では設置領域AR0は矩形であるが、形状及び大きさは任意であってよい。
(移動制御システムの全体構成)
図1は、第1実施形態に係る移動制御システムの模式図である。図1に示すように、第1実施形態に係る移動制御システム1は、移動体10、管理システム12、及び演算装置14を含む。移動制御システム1は、設備Wに所属する移動体10の移動を制御するシステムである。設備Wは、例えば倉庫など、物流管理される設備である。設備W内の領域Aには、複数の設置領域AR0が設けられている。領域Aは、例えば設備Wの床面であり、パレットP(荷物)が設置されたり移動体10が移動したりする領域である。設置領域AR0は、目標物であるパレットP(荷物)が設置される領域である。設置領域AR0は、目標物であるパレットP(荷物)を設置すべき領域として、予め設定される。設置領域AR0は、例えば白線などで区分されており、設置領域AR0の位置(座標)、形状、及び大きさは、予め設定されている。なお、本実施形態では、設置領域AR0は、設備Wの床である領域Aに設けられているが、それに限られず、例えばパレットPを設備Wに搬入した車両の荷台内に設けられてもよい。また、設置領域AR0は、パレットP毎に区画されており、設置領域AR0にはパレットPが1つ配置されるが、それに限られない。例えば、設置領域AR0は、フリースペースとして、複数のパレットPが設置されるように設定されていてもよい。また、図1の例では設置領域AR0は矩形であるが、形状及び大きさは任意であってよい。
移動体10は、自動で移動可能な装置である。本実施形態では、移動体10は、フォークリフトであり、さらにいえば、いわゆるAGF(Automated Guided Forklift)である。図1に例示すように、移動体10は、設備Wにおける領域A上を移動する。移動体10は、ルートRに従って、設置領域AR0に向けて移動する。移動体10は、開始位置AR1に到達したら、パレットPの位置情報に基づいて設定された軌道TRに従って、開始位置AR1から、目標位置・姿勢(目標位置)AR2まで移動して、パレットPをピックアップする。本実施形態では、移動体10は、ルートRに従った走行中に、後述のセンサ26による検出を継続して実施しており、センサ26がパレットPの位置情報を検出できた位置が、開始位置AR1となる。すなわち、開始位置AR1は、センサ26がパレットPの位置情報を検出可能となった(センサ26によるパレットPの位置情報の検出が有効となった)、ルートR上の位置であるといえる。目標位置・姿勢AR2は、パレットPに対して所定の位置及び向きとなる位置及び姿勢であり、移動体10がパレットPをピックアップ可能な位置・姿勢といえる。本実施形態の例では、目標位置・姿勢AR2は、移動体10が横方向に移動することなく、直進することで、後述の移動体10のフォーク24を、後述のパレットPの開口Pbに挿入することができる移動体10の位置及び姿勢(向き)ともいえる。移動体10は、目標位置・姿勢AR2から直進してパレットPをピックアップして、パレットPを他の場所に搬送する。移動体10のルートR及び軌道TRに従った移動の詳細については後述する。以下、領域Aに沿った一方向を、方向Xとし、領域Aに沿った方向であって方向Xに直交する方向を、方向Yとする。また、領域Aに直交する方向、すなわち方向X、Yに直交する方向を、方向Zとする。方向X、Yは水平方向であり、方向Zは鉛直方向といえる。
(移動体)
図2は、移動体の構成の模式図である。図2に示すように、移動体10は、車体20と、マスト22と、フォーク24と、センサ26と、制御装置28とを備えている。車体20は、車輪20Aを備えている。マスト22は、車体20の前後方向における一方の端部に設けられている。マスト22は、前後方向に直交する上下方向(ここでは方向Z)に沿って延在する。フォーク24は、マスト22に方向Zに移動可能に取付けられている。フォーク24は、マスト22に対して、車体20の横方向(上下方向及び前後方向に交差する方向)にも移動可能であってよい。フォーク24は、一対のツメ24A、24Bを有している。ツメ24A、24Bは、マスト22から車体20の前方向に向けて延在している。ツメ24Aとツメ24Bとは、マスト22の横方向に、互いに離れて配置されている。以下、前後方向のうち、移動体10においてフォーク24が設けられている側の方向を、第1方向とし、フォーク24が設けられていない側の方向を、第2方向とする。
図2は、移動体の構成の模式図である。図2に示すように、移動体10は、車体20と、マスト22と、フォーク24と、センサ26と、制御装置28とを備えている。車体20は、車輪20Aを備えている。マスト22は、車体20の前後方向における一方の端部に設けられている。マスト22は、前後方向に直交する上下方向(ここでは方向Z)に沿って延在する。フォーク24は、マスト22に方向Zに移動可能に取付けられている。フォーク24は、マスト22に対して、車体20の横方向(上下方向及び前後方向に交差する方向)にも移動可能であってよい。フォーク24は、一対のツメ24A、24Bを有している。ツメ24A、24Bは、マスト22から車体20の前方向に向けて延在している。ツメ24Aとツメ24Bとは、マスト22の横方向に、互いに離れて配置されている。以下、前後方向のうち、移動体10においてフォーク24が設けられている側の方向を、第1方向とし、フォーク24が設けられていない側の方向を、第2方向とする。
センサ26は、車体20の周辺に存在する対象物の位置及び向きの少なくとも1つを検出する。センサ26は、移動体10に対する対象物の位置と、移動体10に対する対象物の向きとを検出するともいえる。本実施形態では、センサ26は、マスト22に設けられており、車両20の第1方向側の対象物の位置及び向きを検出する。ただし、センサ26の検出方向は第1方向に限られず、例えば第1方向側と第2方向側の両方を検出してもよい。この場合、センサ26として、第1方向側を検出するセンサと第2方向側を検出するセンサとを設けてよい。センサ26は、例えばレーザ光を照射するセンサである。センサ26は、一方向(ここでは横方向)に走査しつつレーザ光を照射し、照射したレーザ光の反射光から、対象物の位置及び向きを検出する。なお、センサ26は、以上のものに限られず任意の方法で対象物を検出するセンサであってよく、例えば、カメラなどであってもよい。また、センサ26の設けられる位置も、マスト22に限られない。具体的には、例えば、移動体10に設けられる安全センサを、センサ26として流用してもよい。安全センサを流用することで、新たにセンサを設ける必要がなくなる。
制御装置28は、移動体10の移動を制御する。制御装置28については後述する。
(管理システム)
図3は、管理システムの模式的なブロック図である。管理システム12は、設備Wにおける物流を管理するシステムである。管理システム12は、本実施形態ではWMS(Warehouse Management System)であるが、WMSに限られず任意のシステムであってよく、例えば、その他の生産管理系システムのようなバックエンドシステムでも構わない。管理システム12が設けられる位置は任意であり、設備W内に設けられてもよいし、設備Wから離れた位置に設けられて、離れた位置から設備Wを管理するものであってもよい。管理システム12は、コンピュータであり、図3に示すように、制御部30と記憶部32とを含む。記憶部32は、制御部30の演算内容やプログラムなどの各種情報を記憶するメモリであり、例えば、RAM(Random Access Memory)と、ROM(Read Only Memory)のような主記憶装置と、HDD(Hard Disk Drive)などの外部記憶装置とのうち、少なくとも1つ含む。
図3は、管理システムの模式的なブロック図である。管理システム12は、設備Wにおける物流を管理するシステムである。管理システム12は、本実施形態ではWMS(Warehouse Management System)であるが、WMSに限られず任意のシステムであってよく、例えば、その他の生産管理系システムのようなバックエンドシステムでも構わない。管理システム12が設けられる位置は任意であり、設備W内に設けられてもよいし、設備Wから離れた位置に設けられて、離れた位置から設備Wを管理するものであってもよい。管理システム12は、コンピュータであり、図3に示すように、制御部30と記憶部32とを含む。記憶部32は、制御部30の演算内容やプログラムなどの各種情報を記憶するメモリであり、例えば、RAM(Random Access Memory)と、ROM(Read Only Memory)のような主記憶装置と、HDD(Hard Disk Drive)などの外部記憶装置とのうち、少なくとも1つ含む。
制御部30は、演算装置、すなわちCPU(Central Processing Unit)である。制御部30は、作業決定部34を含む。制御部30は、記憶部32からプログラム(ソフトウェア)を読み出して実行することで、作業決定部34を実現して、その処理を実行する。なお、制御部30は、1つのCPUによって処理を実行してもよいし、複数のCPUを備えて、それらの複数のCPUで、処理を実行してもよい。また、作業決定部34を、ハードウェア回路で実現してもよい。
作業決定部34は、搬送する対象となるパレットPを決定する。具体的には、作業決定部34は、例えば入力された作業計画に基づき、搬送する対象となるパレットPの情報を示す作業内容を決定する。作業内容は、搬送する対象となるパレットPを特定する情報であるともいえる。本実施形態の例では、作業内容は、どの設備にあるどのパレットP(荷物)を、いつまでに、どこに搬送するかを、作業内容として決定する。すなわち、作業決定部34は、対象となるパレットPが保管されている設備と、対象となるパレットPと、パレットPの搬送先と、パレットPの搬送時期とを、を示す情報である。作業決定部34は、決定した作業内容を、演算装置14に送信する。
(演算装置)
図4は、演算装置の模式的なブロック図である。演算装置14は、設備Wに設けられ、少なくとも、移動体10の移動に関する情報などを演算する装置である。演算装置14は、コンピュータであり、図4に示すように、制御部40と記憶部42とを含む。記憶部42は、制御部40の演算内容やプログラムなどの各種情報を記憶するメモリであり、例えば、RAMと、ROMのような主記憶装置と、HDDなどの外部記憶装置とのうち、少なくとも1つ含む。
図4は、演算装置の模式的なブロック図である。演算装置14は、設備Wに設けられ、少なくとも、移動体10の移動に関する情報などを演算する装置である。演算装置14は、コンピュータであり、図4に示すように、制御部40と記憶部42とを含む。記憶部42は、制御部40の演算内容やプログラムなどの各種情報を記憶するメモリであり、例えば、RAMと、ROMのような主記憶装置と、HDDなどの外部記憶装置とのうち、少なくとも1つ含む。
制御部40は、演算装置、すなわちCPUである。制御部40は、作業内容取得部50と、移動体選定部52と、ルート取得部54とを含む。制御部40は、記憶部42からプログラム(ソフトウェア)を読み出して実行することで、作業内容取得部50と移動体選定部52とルート取得部54とを実現して、それらの処理を実行する。なお、制御部40は、1つのCPUによってこれらの処理を実行してもよいし、複数のCPUを備えて、それらの複数のCPUで、処理を実行してもよい。また、作業内容取得部50と移動体選定部52とルート取得部54との少なくとも一部を、ハードウェア回路で実現してもよい。
作業内容取得部50は、管理システム12が決定した作業内容の情報、すなわち搬送対象となるパレットPの情報を取得する。作業内容取得部50は、作業内容におけるパレットPの情報から、パレットPが設置されている設置領域AR0を特定する。例えば、記憶部42には、パレットPと、そのパレットPが設置されている設置領域AR0とが、関連付けて記憶されており、作業内容取得部50は、記憶部42からその情報を読み出すことで、設置領域AR0を特定する。移動体選定部52は、対象となる移動体10を選定する。移動体選定部52は、例えば、設備Wに所属する複数の移動体から、対象となる移動体10を選定する。移動体選定部52は、任意の方法で対象となる移動体10を選定してよいが、例えば、作業内容取得部50が特定した設置領域AR0に基づき、その設置領域AR0にあるパレットPの搬送に適した移動体10を、対象となる移動体10として選定してよい。
ルート取得部54は、作業内容取得部50が特定した設置領域AR0までのルートRの情報を、取得する。ルートRは、例えば設置領域AR0毎に、予め設定されており、ルート取得部54は、例えば記憶部42から、作業内容取得部50が特定した設置領域AR0に対して設定されたルートRを、取得する。ルートRは、本実施形態では、予め設定されたスタート位置から、設置領域AR0への経路である。ここでのスタート位置とは、移動体10が待機している位置であってよい。ルートRは、設備Wの地図情報に基づき予め設定される。設備Wの地図情報は、設備Wに設置されている障害物(柱など)や移動体10が走行可能な通路などの位置情報を含んだ情報であり、領域A内で移動体10が移動可能な領域を示す情報といえる。また、ルートRは、設備Wの地図情報に加えて、移動体10の車両仕様の情報にも基づき、設定されてよい。車両仕様の情報とは、例えば、移動体10の大きさや最小旋回半径など、移動体10が移動可能な経路に影響を及ぼす仕様である。車両仕様の情報にも基づきルートRが設定されている場合、ルートRは、移動体毎に設定されてよい。なお、ルートRは、人によって、地図情報や車両仕様の情報などに基づき設定されてもよいし、演算装置14などの装置によって、地図情報や車両仕様の情報などに基づき、自動的に設定されてもよい。自動的にルートRを設定する場合、例えば通過して欲しいポイント(Waypoint)を指定してもよく、この場合、通過して欲しいポイントを通過しつつ、最短、かつ障害物(壁などの固定物)を避けたルートRの設定が可能となる。
なお、ルート取得部54は、予め設定されたルートRを読み出すことなく、ルートRを設定してもよい。この場合、ルート取得部54は、対象となる移動体10の位置情報と、設置領域AR0の位置情報と、設備Wの地図情報とに基づき、移動体10の現在位置から、移動先である設置領域AR0までの経路を、ルートRとして生成してよい。
演算装置14は、取得したルートRの情報を、対象となる移動体10に送信する。ルートRは、設置領域AR0までの経路であるため、移動体10の移動に関する情報であるといえる。
(移動体の制御装置)
次に、移動体10の制御装置28について説明する。図5は、移動体の制御装置の模式的なブロック図である。制御装置28は、移動体10を制御する。制御装置28は、移動体10のセンサ26によるパレットPの位置や向きの検出結果に基づき、目標位置・姿勢AR2までの軌道TRを設定する。軌道TRの設定方法は後述する。制御装置28は、移動体10を、軌道TRに沿って目標位置・姿勢AR2まで移動させて、移動体10にパレットPをピックアップさせる。制御装置28は、コンピュータであり、図5に示すように、制御部60と記憶部62とを含む。記憶部62は、制御部60の演算内容やプログラムなどの各種情報を記憶するメモリであり、例えば、RAMと、ROMのような主記憶装置と、HDDなどの外部記憶装置とのうち、少なくとも1つ含む。
次に、移動体10の制御装置28について説明する。図5は、移動体の制御装置の模式的なブロック図である。制御装置28は、移動体10を制御する。制御装置28は、移動体10のセンサ26によるパレットPの位置や向きの検出結果に基づき、目標位置・姿勢AR2までの軌道TRを設定する。軌道TRの設定方法は後述する。制御装置28は、移動体10を、軌道TRに沿って目標位置・姿勢AR2まで移動させて、移動体10にパレットPをピックアップさせる。制御装置28は、コンピュータであり、図5に示すように、制御部60と記憶部62とを含む。記憶部62は、制御部60の演算内容やプログラムなどの各種情報を記憶するメモリであり、例えば、RAMと、ROMのような主記憶装置と、HDDなどの外部記憶装置とのうち、少なくとも1つ含む。
制御部60は、演算装置、すなわちCPUである。制御部60は、ルート情報取得部70と、移動制御部72と、目標物情報取得部74と、干渉判断部76と、領域設定部78と、軌道設定部80とを含む。制御部60は、記憶部42からプログラム(ソフトウェア)を読み出して実行することで、ルート情報取得部70と移動制御部72と目標物情報取得部74と干渉判断部76と領域設定部78と軌道設定部80とを実現して、それらの処理を実行する。なお、制御部60は、1つのCPUによってこれらの処理を実行してもよいし、複数のCPUを備えて、それらの複数のCPUで、処理を実行してもよい。また、ルート情報取得部70と移動制御部72と目標物情報取得部74と干渉判断部76と領域設定部78と軌道設定部80との少なくとも一部を、ハードウェア回路で実現してもよい。
ルート情報取得部70は、演算装置14からルートRの情報を取得する。移動制御部72は、移動体10の駆動部やステアリングなどの移動機構を制御して、移動体10の移動を制御する。移動制御部72は、ルート情報取得部70が取得したルートRに従って、移動体10を移動させる。すなわち、移動制御部72は、現在の移動体10の位置から、設置領域AR0に向けて、ルートRを通るように、移動体10を移動させる。移動制御部72は、移動体10の位置情報を逐次把握することで、ルートRを通るように、移動体10を移動させる。移動体10の位置情報の取得方法は任意であるが、例えば本実施形態では、図1に示すように、設備Wに検出体Sが設けられており、移動制御部72は、検出体Sの検出に基づき移動体10の位置情報を取得する。具体的には、移動体10は、検出体Sに向けてレーザ光を照射し、検出体Sによるレーザ光の反射光を受光して、設備Wにおける自身の位置を検出する。ここでの移動体10の位置とは、設備Wの領域Aにおける方向X及び方向Yの二次元座標であり、以下においても、位置とは、別途説明が無い限り、領域Aにおける二次元座標を指す。
目標物情報取得部74は、移動体10がルートR上を走行中に、移動体10のセンサ26に対象物の検出を行わせる。すなわち、目標物情報取得部74は、移動体10がルートR上を走行中に、センサ26に対象物の検出処理を、逐次実行させている。センサ26は、移動体10がセンサ26によってパレットPの位置情報を検出可能な距離に到達したら、例えばパレットPからの反射光を受光して、パレットPの位置情報を検出する。本実施形態では、センサ26がパレットPの位置情報を検出した際の移動体10の位置が、開始位置AR1となる。すなわち、目標物情報取得部74は、開始位置AR1において、センサ26からパレットPの位置情報の検出結果を取得する。
図6は、設置領域内におけるパレットの配置を説明する図である。図6に示すように、パレットPは、一つの表面(側面)である前面Paに、フォーク24が挿入される開口Pbが形成されている。パレットPは、この前面Paが開始位置AR1に対向するように、設置領域AR0に設置される。パレットPは、設置領域AR0内に収まるように、言い換えれば設置領域AR0からはみ出さないように、設置されることが好ましい。また、設置領域AR0は、パレットPが設置領域AR0からはみ出さないように配置された際に、パレットPの設置領域AR0に対する傾斜角度θが45度を超えないように、大きさが設定されていることが好ましい。すなわち、傾斜角度θは、0度以上45度以下の範囲に収まるように設定されている。傾斜角度θは、領域ARに沿った水平方向における、パレットPの設置領域AR0に対する角度のずれを指す。例えば、パレットPの中心点CP0と、パレットPの前面Paの水平方向における中点CPとを結び、Z方向(鉛直方向)に直交する直線を、直線L1とする。そして、設置領域AR0の中心点CA0と、設置領域AR0の開始位置AR1と対向する側の辺の中点CA1とを結び、Z方向(鉛直方向)に直交する直線を、直線LAとする。この場合、直線L1と直線LAとがなす角度が、傾斜角度θであるといえる。ここで、パレットPの前面Paにおける辺の長さを長さDXとし、側面における辺の長さを、長さDYとする。この場合、パレットPが設置領域AR0からはみ出さないように配置された際に傾斜角度θが45度を超えないようにするには、例えば、設置領域AR0の辺の少なくとも1つが、{(DX/√2)+(DY/√2}より短く設定されていればよい。
図5に示す目標物情報取得部74は、開始位置AR1において、移動体10のセンサ26から、目標物であるパレットPの位置情報の検出結果を取得する。パレットPの位置情報は、パレットPの向きを示す情報であり、さらに言えば、パレットPの位置と向きとを示す情報である。図7は、パレットの位置情報を検出している状態を説明する模式図である。例えばセンサ26がレーザ光を照射する構成の場合、目標物情報取得部74は、移動体10がルートRを走行中に、センサ26から、横方向(水平方向)に走査させつつ、レーザ光LTを照射させる。移動体10が開始位置AR1に到達したら、センサ26の前方向にあるパレットPは、レーザ光LTを反射する。センサ26は、パレットPからの反射光を受光する。目標物情報取得部74は、センサ26が受光したパレットPからの反射光に基づき、パレットPの位置及び向きを検出する。すなわち、図7に示すように、目標物情報取得部74は、移動体10がルートR上の開始位置AR1に到着したら、センサ26から、設置領域AR0内のパレットPの、位置及び向きの検出結果を取得するといえる。ここでのパレットPの位置とは、移動体10に対するパレットPの位置であり、移動体10に対してパレットPが位置する方向及び距離(すなわち座標)であるともいえる。目標物情報取得部74が取得するパレットPの位置は、開始位置AR1に対するパレットPの位置であるともいえる。
また、パレットPの向きとは、移動体10に対してパレットPが向いている方向を指し、より具体的には開始位置AR1に対してパレットPの前面Paの向いている方向を指す。例えば、パレットPの中点CP1と、移動体10の基準点CFとを結び、方向Z(鉛直方向)に直交する直線を、直線L0とすると、直線L0に対する直線L1の傾きが、パレットPの向きであるといえる。すなわち、パレットPの向きは、直線L0と直線L1とがなす角度θPであるともいえ、目標物情報取得部74は、角度θPを算出してもよい。なお、基準点CFは、開始位置AR1の基準点ともいえ、予め位置が設定されている。基準点CFは、開始位置AR1に対して任意の位置に設定されてもよいが、例えば、開始位置AR1に到着した移動体10の水平方向における中点に重なる位置を、基準点CFとして設定してよい。なお、目標物情報取得部74は、パレットPからの反射光がセンサ26に向かってくる方向や、レーザ光LTを照射してから反射光を受光するまでの時間などから、パレットPの位置及び向きを算出することができる。
移動制御部72は、移動体10が開始位置AR1に到達したら、すなわち、パレットPの位置情報を取得したら、ルートRに従った走行を停止する。そして、移動制御部72は、後述の軌道設定部80が設定した軌道TRに従って、開始位置AR1から目標位置・姿勢AR2まで、移動体10を移動させる。すなわち、移動体10は、開始位置AR1まではルートRに従って走行し、開始位置AR1から目標位置・姿勢AR2までは、軌道TRに従って走行する。以下、軌道TRの設定方法について説明する。
図5に示す干渉判断部76は、目標物情報取得部74が取得したパレットPの位置情報に基づき、パレットPが干渉位置にあるかを判断する。図8は、干渉位置の例を説明する模式図である。干渉位置とは、移動体10が障害物に干渉して目標位置・姿勢AR2に到達できない、パレットPの位置及び向きを指す。図8は、設置領域AR0の近くに障害物Waが存在しており、パレットPの前面Paが障害物Wa側に大きく傾斜している場合の例を示している。この場合、移動体10は、パレットPをピックアップ可能な目標位置・姿勢AR2に向かった場合、どのような経路をとっても途中で障害物Waに干渉してしまい、障害物Waに干渉することなく目標位置・姿勢AR2に到達できない。このように、障害物Waの位置やパレットPの位置及び向きによっては、どのような経路をとっても移動体10が必ず障害物Waに干渉してしまい、目標位置・姿勢AR2までの軌跡TRを設定することができない場合がある。このように軌跡TRを設定できないパレットPの位置及び向きが、干渉位置である。軌跡TRを設定できないパレットPの位置及び向きは、すなわち干渉位置は、設置領域AR0の位置(座標)と障害物Waの位置(座標)とによって決まる。設置領域AR0の位置と障害物Waの位置とは、予め決まっているため、干渉位置は、それらに基づき予め算出できる。また、干渉位置は、移動体10の車両仕様の情報にも依存する場合があるため、干渉位置は、移動体10の車両仕様の情報にも基づき、予め算出してよい。本実施形態では、演算装置14が、例えば移動体10のルートRを読み出すよりも前に、予め干渉位置を算出しておく。演算装置14は、設置領域AR0の位置と障害物Waの位置に加え、開始位置AR1の位置(座標)にも基づき、干渉位置を算出することが好ましい。演算装置14は、設置領域AR0毎に、干渉位置を算出する。干渉判断部76は、演算装置14から、対象となるパレットPの設置領域AR0に対して設定された干渉位置の情報を取得して、目標物情報取得部74が取得したパレットPの位置及び向きが、干渉位置に該当するかを判断する。なお、図8の例では障害物Waは柱であるが、それに限られず、移動体10が接触すべきでない任意の対象物を、障害物Waとしてよい。例えば、障害物Waは、壁や、他の設置領域AR0などであってもよい。
パレットPの位置及び向きが干渉位置にある場合、軌道TRの演算に解が存在しないとして、制御装置28は、後述の軌道TRの演算処理を実行しない。一方、パレットPの位置及び向きが干渉位置にない場合は、軌道TRの演算に解が存在するとして、制御装置28は、後述の軌道TRの演算処理を実行する。このように、軌道TRの演算を行う前に干渉位置にあるかを判断しておくことで、解が無い場合での不要な演算の実施を抑制できる。また、予め干渉位置を算出しておくことで、例えば、干渉位置とされるパレットPの角度などの数値範囲が広い(許容される角度ずれが小さい)など、設備Wのレイアウト不良を予め把握することもできる。このように設備Wのレイアウト不良を予め把握することで、設置領域AR0を再設定するなど、レイアウトを適切なものに変更することも可能となる。
図9は、第1実施形態における軌道の設定を説明する模式図である。領域設定部78(図5参照)は、図9に示すように、目標物情報取得部74が取得したパレットPの向きから、軌道TRが通ることを許可する許可領域A1と、軌道TRが通ることを禁止する禁止領域A2とを設定する。許可領域A1は、領域Aのうち、これから設定される軌道TRが重なることが許可される領域であり、禁止領域A2は、領域Aのうち、これから設定される軌道TRが重なることが禁止される領域である。領域設定部78は、移動体10とパレットPとを結ぶ基準線で領域Aを区分し、区分した領域のうち、パレットPが向いている側の領域を、許可領域A1とし、パレットPが向いている側と反対側の領域を、禁止領域A2とする。本実施形態での基準線は、パレットPの中点CP1と移動体10(開始位置AR1)の基準点CFとを結ぶ直線L0である。従って、直線L1に沿った中心点CP0から中点CP1までを結ぶベクトルを、直線L0に沿った第1方向成分と直線L0に直交する第2方向成分とに分解した場合に、第2方向成分の方向側の領域が、許可領域A1であり、第2方向成分と反対方向側の領域が、禁止領域A2であるといえる。
軌道設定部80(図5参照)は、開始位置AR1(開始位置AR1にある移動体10)から目標位置・姿勢AR2までの軌道TRを設定する。軌道設定部80は、目標物情報取得部74が取得したパレットPの位置情報に基づき、すなわちパレットPの位置及び向きに基づき、目標位置・姿勢AR2を設定する。すなわち、パレットPの位置及び向きから、パレットPをピックアップ可能な(直進することでフォーク24をパレットPの開口Pbに挿入することができる)位置及び姿勢を算出して、目標位置・姿勢AR2とする。一例として、開口Pbの入口から、パレットPの開口Pbの軸方向に1000mm平行移動した箇所を、目標位置・姿勢AR2としてもよい。そして、軌道設定部80は、軌道TRが、領域設定部78に設定された禁止領域A2を通らないように、言い換えれば許可領域A1を通るように、軌道TRを設定する。すなわち、軌道設定部80は、軌道TRの探索範囲から禁止領域A2を除外して、禁止領域A2を通らず許可領域A1を通って開始位置AR1に到達する軌道TRを、算出する。
本実施形態では、軌道設定部80は、モデル予測制御(MPC:Model Predictive Control)によって、軌道TRを算出する。以下、軌道TRの算出方法の例を説明する。
移動体10の制御入力u(k)は、以下の式(1)で表される。
ここで、v(k)は、移動体10の速度指令値であり、φ(k)は、移動体10のヨーレート指令値であり、kは、離散時間のインデクスを表す。離散時間毎の移動体10の制御入力U(k)は、以下の式(2)で表される。なお、Nは、予測区間(Predictive horizon)である。
軌道設定部80は、次の式(3)に示す最適化問題を解き、制御入力の最適解であるu(k),u(k+1),・・・,u(k+N-1)を求めて、軌道TRを算出する。この最適化問題の解法としては,逐次二次計画法や内点法などの公知技術を用いることができる。
なお、このように軌道TRを算出する際には、例えば、以下の式(4)から式(8)に示す拘束条件を与える。
ここで、xは、方向Xにおける移動体10の座標であり、yは、方向Yにおける移動体10の座標であり、θは、基準軸に対する移動体10の傾斜角度であり、Lは、車両Vの前輪と後輪との距離を示すホイールベースである。vMAX、φMAXは、予め設定される速度とヨーレートの上限値である。また、本実施形態では、移動体10が禁止領域A2を通らないことも、拘束条件として与えられる。
なお、軌道設定部80は、開始位置AR1から目標位置・姿勢AR2まで到達可能な軌道は、複数存在する場合がある。この場合、軌道設定部80は、開始位置AR1から目標位置・姿勢AR2まで到達可能な複数の軌道を算出して、それらの複数の軌道のうち、直線L0に最も近い軌道を、軌道TRとして設定してよい。直線L0は、パレットPが傾いていない(角度θPが0)と仮定した場合の軌道であり、開始位置AR1から目標位置・姿勢AR2までを結ぶ直線状の軌道であるため、直線L0に最も近い軌道を軌道TRとすることで、カーブを小さくして目標位置・姿勢AR2に早く到達することが可能となる。
以上のようにして軌道TRが設定されたら、移動制御部72(図5参照)は、軌道TRを通るように、開始位置AR1から目標位置・姿勢AR2まで移動体10を移動させる。そして、移動制御部72は、目標位置・姿勢AR2から移動体10を直進させて、フォーク24をパレットPの開口Pbに挿入させて、パレットPをピックアップさせる。移動制御部72は、パレットPをピックアップした移動体10を、設定された搬送先まで搬送させる。このように、移動制御部72は、開始位置AR1から目標位置・姿勢AR2まで、軌道TRに沿って移動体10を移動させるが、それに限られず、例えば、軌道TRに沿った移動と直接フィードバック制御による移動とを切り替えて、移動体10を目標位置・姿勢AR2まで移動させてもよい。直接フィードバックによる制御としては、例えば「尾里淳,丸典明 著「線形ビジュアルサーボによる全方向移動ロボットの位置と姿勢の制御」、日本機械学会論文集(C編)、第77巻、第774号、p.215-224、2011年2月25日」に記載されているような、ビジュアルサーボ方式による制御が挙げられる。
(移動制御フロー)
以上説明した移動体10の移動制御のフローを、フローチャートに基づき説明する。図10Aは、第1実施形態に係る移動体の移動制御フローを説明するフローチャートである。図10Aに示すように、最初に、演算装置14が、パレットPの設置領域AR0までのルートRを取得する(ステップS10)。また、演算装置14は、パレットPの設置領域AR0について設定された干渉位置を、予め算出しておく。
以上説明した移動体10の移動制御のフローを、フローチャートに基づき説明する。図10Aは、第1実施形態に係る移動体の移動制御フローを説明するフローチャートである。図10Aに示すように、最初に、演算装置14が、パレットPの設置領域AR0までのルートRを取得する(ステップS10)。また、演算装置14は、パレットPの設置領域AR0について設定された干渉位置を、予め算出しておく。
移動体10の制御装置28は、ルート情報取得部70により、演算装置14が取得したルートRの情報を取得し、移動制御部72により、ルートRに従って移動体10を移動させる(ステップS12)。移動体10が開始位置AR1に到着したら、制御装置28は、目標物情報取得部74により、パレットPの位置情報を、すなわちパレットPの位置及び向きを示す情報を、取得する(ステップS14)。目標物情報取得部74は、移動体10のルートRの走行中にセンサ26による検出を続けさせ、開始位置AR1において、パレットPの位置情報を検出させて、その検出結果を取得する。そして、制御装置28は、干渉判断部76により、演算装置14から干渉位置の情報を取得して、パレットPの位置及び向きが、干渉位置に該当するかを判断する(ステップS16)。干渉位置に該当する場合(ステップS16;Yes)、すなわち障害物Waに干渉することなくパレットPに到達できる軌道TRの解が存在しない場合、制御装置28は、後述のステップS18、S20に示す禁止領域A2の設定や軌道TRの設定を行わず、移動体10を開始位置AR1から移動させることなく、アラームを通知する(ステップS24)。アラームは、軌道TRの設定ができずパレットPをピックアップできないことを示す情報である。アラームは、音声や信号など任意の方式で通知されてよい。
干渉位置に該当しない場合(ステップS16;No)、すなわち軌道TRの解が存在する場合、制御装置28は、領域設定部78により、パレットPの位置情報に基づき、すなわちパレットPの向きに基づき、禁止領域A2と許可領域A1とを設定する(ステップS18)。領域設定部78は、開始位置AR1とパレットPとを結ぶ直線L0(基準線)で領域Aを区分し、区分した領域のうち、パレットPが向いている側の領域を許可領域A1とし、パレットPが向いている側と反対側の領域を禁止領域A2として設定する。そして、制御装置28は、軌道設定部80により、軌道TRを設定する(ステップS20)。軌道設定部80は、パレットPの位置及び向きに基づき、目標位置・姿勢AR2を設定する。軌道設定部80は、開始位置AR1から目標位置・姿勢AR2までの軌道TRを、軌道TRが禁止領域A2を通らず許可領域A1を通るように、軌道TRを設定する。制御装置28は、軌道TRを設定したら、移動制御部72により、軌道TRに従って、開始位置AR1から目標位置・姿勢AR2まで移動体10を移動させる(ステップS22)。移動制御部72は、目標位置・姿勢AR2から移動体10をパレットPの位置まで移動させて、フォーク24をパレットPの開口Pb2に挿入させて、パレットPをピックアップさせる。そして、移動制御部72は、パレットPをピックアップした移動体10を、搬送先に搬送させる。
(本実施形態の効果)
ここで、移動体10の軌道TRは、開始位置AR1と目標位置・姿勢AR2との間の領域内を探索範囲として、算出される。この場合、探索範囲が広いことにより、軌道TRの演算負荷が高くなって軌道の算出に時間を要し、作業時間が長くなるおそれがある。また、演算装置の性能を高くする必要が生じる場合もある。それに対し、本実施形態に係る制御装置28は、パレットPの向きに基づいて禁止領域A2を設定し、軌道TRが禁止領域A2を通らないように、軌道TRを算出する。すなわち、制御装置28は、禁止領域A2を探索範囲から除外し、許可領域A1を探索範囲とする。これにより、制御装置28は、探索範囲を狭くして軌道TRの演算を行うことができるため、演算負荷を低減することが可能となる。さらに、パレットPの向きに基づいて禁止領域A2を設定しているため、通常は通らないであろう領域を探索範囲から除外し、通る蓋然性の高い領域に探索範囲を絞ることが可能となり、探索範囲を絞って演算負荷を抑えつつ、軌道TRの算出精度の低下も抑制できる。特に、移動体10に搭載する制御装置28は、CPUを高性能にし過ぎないことが好ましいため、このように軌道TRを算出させて演算負荷を抑えることが、特に好ましい。
ここで、移動体10の軌道TRは、開始位置AR1と目標位置・姿勢AR2との間の領域内を探索範囲として、算出される。この場合、探索範囲が広いことにより、軌道TRの演算負荷が高くなって軌道の算出に時間を要し、作業時間が長くなるおそれがある。また、演算装置の性能を高くする必要が生じる場合もある。それに対し、本実施形態に係る制御装置28は、パレットPの向きに基づいて禁止領域A2を設定し、軌道TRが禁止領域A2を通らないように、軌道TRを算出する。すなわち、制御装置28は、禁止領域A2を探索範囲から除外し、許可領域A1を探索範囲とする。これにより、制御装置28は、探索範囲を狭くして軌道TRの演算を行うことができるため、演算負荷を低減することが可能となる。さらに、パレットPの向きに基づいて禁止領域A2を設定しているため、通常は通らないであろう領域を探索範囲から除外し、通る蓋然性の高い領域に探索範囲を絞ることが可能となり、探索範囲を絞って演算負荷を抑えつつ、軌道TRの算出精度の低下も抑制できる。特に、移動体10に搭載する制御装置28は、CPUを高性能にし過ぎないことが好ましいため、このように軌道TRを算出させて演算負荷を抑えることが、特に好ましい。
以上説明したように、本実施形態に係る制御装置28は、自動で移動する移動体10に設けられて、目標物情報取得部74と、領域設定部78と、軌道設定部80と、移動制御部72と、を含む。目標物情報取得部74は、パレットP(目標物)の向きの検出結果を取得する。領域設定部78は、パレットPの向きから、移動体10の軌道TRが通ることを禁止する禁止領域A2を設定する。軌道設定部80は、移動体10からパレットPに対して所定の位置及び向きとなる目標位置・姿勢AR2までの軌道TRを、軌道TRが禁止領域を通らないように、設定する。移動制御部72は、軌道TRに基づいて移動体10を移動させる。本実施形態に係る制御装置28は、パレットPの向きに基づいて禁止領域A2を設定しているため、通常は通らないであろう領域を軌道TRの探索範囲から除外し、通る蓋然性の高い領域に探索範囲を絞ることが可能となり、探索範囲を絞って演算負荷を抑えつつ、軌道TRの算出精度の低下も抑制できる。
また、領域設定部78は、移動体10が移動可能な領域Aを、移動体10とパレットPとを結ぶ基準線で区分し、区分した領域のうち、パレットPが向いている側の領域と反対側の領域を、禁止領域A2として設定する。制御装置28は、パレットPが向いておらず、通常は通らないであろう領域を軌道TRの探索範囲から除外し、通る蓋然性の高い領域に探索範囲を絞るため、探索範囲を絞って演算負荷を抑えつつ、軌道TRの算出精度の低下を抑制できる。
また、干渉判断部76は、干渉位置の情報を取得し、目標物情報取得部74の検出結果に基づき、パレットPが干渉位置にあるかを判断する。干渉位置とは、移動体10が障害物Waに干渉して目標位置・姿勢AR2に到達できないパレットPの位置を指す。干渉位置は、パレットPの周辺の障害物Waの位置とパレットPが配置される配置領域AR1の位置とに基づいて、予め算出される。領域設定部78と軌道設定部80とは、パレットPが干渉位置にないと判断された場合に、禁止領域A2と軌道TRとを設定する。パレットPの位置によっては、障害物Waに干渉せずに目標位置・姿勢AR2に到達可能な軌道TRの解が存在しない場合もある。解が存在しない場合の演算は、特に時間を要する。それに対し、制御装置28は、検出したパレットPの位置が干渉位置に該当するかを判断することで、軌道TRの解が存在しないかを判断して、解が存在する場合に、軌道TRの演算を行う。そのため、制御装置28によると、解が存在しない場合に演算させずに、作業時間が長くなることを抑制できる。
また、本実施形態に係る移動体10は、制御装置28を備える。そのため、この移動体10によると、軌道TRの演算負荷を抑えつつ、軌道TRの算出精度の低下を抑制できる。
また、本実施形態に係る移動制御システム1は、移動体10と演算装置14とを含む。演算装置14は、移動体10に、移動体10の移動に関する情報を送信する。移動体10の移動に関する情報とは、例えば、ルートRの情報や、干渉位置の情報である。移動制御システム1によると、軌道TRの演算負荷を抑えつつ、軌道TRの算出精度の低下を抑制できる。
また、本実施形態に係る移動体10の制御方法は、自動で移動する移動体10を制御する制御方法である。本制御方法は、パレットPの向きの検出結果を取得するステップと、パレットPの向きから、移動体10の軌道TRが通ることを禁止する禁止領域A2を設定するステップと、移動体10からパレットPに対して所定の位置及び向きとなる目標位置・姿勢AR2までの軌道TRを、軌道TRが禁止領域A2を通らないように設定するステップと、軌道TRに基づいて移動体10を移動させるステップと、を含む。本制御方法によると、軌道TRの演算負荷を抑えつつ、軌道TRの算出精度の低下を抑制できる。
また、本実施形態に係るプログラムは、自動で移動する移動体10を制御する制御方法をコンピュータに実行させるプログラムである。このプログラムは、パレットPの向きの検出結果を取得するステップと、パレットPの向きから、移動体10の軌道TRが通ることを禁止する禁止領域A2を設定するステップと、移動体10からパレットPに対して所定の位置及び向きとなる目標位置・姿勢AR2までの軌道TRを、軌道TRが禁止領域A2を通らないように設定するステップと、軌道TRに基づいて移動体10を移動させるステップと、を、コンピュータに実行させる。このプログラムによると、軌道TRの演算負荷を抑えつつ、軌道TRの算出精度の低下を抑制できる。
(開始位置を設定した例)
以上の説明では、センサ26がパレットPの位置情報を検出可能なルートR上の位置が、開始位置AR1であり、開始位置AR1は、予め設定された位置ではない。ただし、開始位置AR1は、予め設定された位置であってよい。この場合、開始位置AR1は、センサ26が、設置領域AR0に設置されたパレットPの位置情報を検出可能な位置として、設置領域AR0毎に予め設定されている。この場合、ルートRは、スタート位置から開始位置AR1までの経路として予め設定されていてよい。移動体10は、ルートRを通って開始位置AR1まで到着したら、開始位置AR1において、センサ26によるパレットPの位置情報の検出を開始させて、パレットPの位置情報を取得する。なお、開始位置AR1を予め設定する例は、後述の他の実施形態にも適用可能である。
以上の説明では、センサ26がパレットPの位置情報を検出可能なルートR上の位置が、開始位置AR1であり、開始位置AR1は、予め設定された位置ではない。ただし、開始位置AR1は、予め設定された位置であってよい。この場合、開始位置AR1は、センサ26が、設置領域AR0に設置されたパレットPの位置情報を検出可能な位置として、設置領域AR0毎に予め設定されている。この場合、ルートRは、スタート位置から開始位置AR1までの経路として予め設定されていてよい。移動体10は、ルートRを通って開始位置AR1まで到着したら、開始位置AR1において、センサ26によるパレットPの位置情報の検出を開始させて、パレットPの位置情報を取得する。なお、開始位置AR1を予め設定する例は、後述の他の実施形態にも適用可能である。
(センサの他の例)
また、本実施形態においては、移動体10の制御装置28は、移動体10に設けられたセンサ26から、パレットPの位置情報の検出結果を取得していた。ただし、パレットPの位置情報は、移動体10に設けられたセンサに検出されることに限られず、移動体10以外に設けられたセンサによって検出されてもよい。図10Bは、センサの他の例を示す模式図である。図10Bの例では、設備Wにセンサ26wが設けられている。センサ26wは、上記で説明したセンサ26と同様の方法で、パレットPの位置情報を検出してよい。すなわち例えば、センサ26wは、設備W内にレーザ光を照射して、パレットPからのレーザ光の反射光を受光して、パレットPの位置情報を検出してもよいし、カメラなど他の方式でパレットPの位置情報を検出してもよい。移動体10の制御装置28は、このセンサ26wから、例えば無線通信などの通信手段によって、パレットPの位置情報の検出結果を取得する。なお、センサ26wの設けられる位置は任意であり、例えば、設備Wに固定して設けられてもよい。この場合例えば、設備Wの天井などに設けられて上方からパレットPの位置及び向きを検出してもよいし、設備Wの壁などに設けられて、側方からパレットPの位置及び向きを検出してもよいし、天井と壁との両方に設けられてもよい。また、センサ26wは、移動体10以外の移動体に設けられてもよい。移動体10以外の移動体としては、例えば、センサ26wが設けられて設備W内を巡回する車両や、センサ26wが設けられて設備W内を飛行する飛行体(ドローンなど)などであってもよい。なお、移動体10以外に設けられたセンサ26wでパレットPの位置情報を検出する例は、後述の他の実施形態にも適用可能である。
また、本実施形態においては、移動体10の制御装置28は、移動体10に設けられたセンサ26から、パレットPの位置情報の検出結果を取得していた。ただし、パレットPの位置情報は、移動体10に設けられたセンサに検出されることに限られず、移動体10以外に設けられたセンサによって検出されてもよい。図10Bは、センサの他の例を示す模式図である。図10Bの例では、設備Wにセンサ26wが設けられている。センサ26wは、上記で説明したセンサ26と同様の方法で、パレットPの位置情報を検出してよい。すなわち例えば、センサ26wは、設備W内にレーザ光を照射して、パレットPからのレーザ光の反射光を受光して、パレットPの位置情報を検出してもよいし、カメラなど他の方式でパレットPの位置情報を検出してもよい。移動体10の制御装置28は、このセンサ26wから、例えば無線通信などの通信手段によって、パレットPの位置情報の検出結果を取得する。なお、センサ26wの設けられる位置は任意であり、例えば、設備Wに固定して設けられてもよい。この場合例えば、設備Wの天井などに設けられて上方からパレットPの位置及び向きを検出してもよいし、設備Wの壁などに設けられて、側方からパレットPの位置及び向きを検出してもよいし、天井と壁との両方に設けられてもよい。また、センサ26wは、移動体10以外の移動体に設けられてもよい。移動体10以外の移動体としては、例えば、センサ26wが設けられて設備W内を巡回する車両や、センサ26wが設けられて設備W内を飛行する飛行体(ドローンなど)などであってもよい。なお、移動体10以外に設けられたセンサ26wでパレットPの位置情報を検出する例は、後述の他の実施形態にも適用可能である。
(システムの他の例)
また、本実施形態では、管理システム12がパレットPの情報を示す作業内容を決定し、演算装置14が、対象となる移動体10を特定したり、ルートRを取得したりしていた。ただし、管理システム12と演算装置14との処理内容は、それらに限られない。例えば、管理システム12が、演算装置14の少なくとも一部の処理を受け持ってもよいし、演算装置14が、管理システム12の少なくとも一部の処理を受け持ってもよい。また、管理装置12と演算装置14とが1つの装置(コンピュータ)であってもよい。
また、本実施形態では、管理システム12がパレットPの情報を示す作業内容を決定し、演算装置14が、対象となる移動体10を特定したり、ルートRを取得したりしていた。ただし、管理システム12と演算装置14との処理内容は、それらに限られない。例えば、管理システム12が、演算装置14の少なくとも一部の処理を受け持ってもよいし、演算装置14が、管理システム12の少なくとも一部の処理を受け持ってもよい。また、管理装置12と演算装置14とが1つの装置(コンピュータ)であってもよい。
(第2実施形態)
次に、第2実施形態について説明する。第2実施形態に係る制御装置28は、許可領域A1及び禁止領域A2の設定方法が、第1実施形態と異なる。第2実施形態において、第1実施形態と構成が共通する箇所は、説明を省略する。
次に、第2実施形態について説明する。第2実施形態に係る制御装置28は、許可領域A1及び禁止領域A2の設定方法が、第1実施形態と異なる。第2実施形態において、第1実施形態と構成が共通する箇所は、説明を省略する。
図11は、第2実施形態に係る演算装置の模式的なブロック図である。図12は、最大傾斜軌道を説明する模式図である。図11に示すように、第2実施形態に係る演算装置14aの制御部40aは、候補軌道設定部56を含む。候補軌道設定部56は、パレットPが上限角度θPmaxだけ傾斜した場合における、開始位置AR1から目標位置・姿勢AR2までの軌道を、最大傾斜軌道TRmaxとして予め算出しておく。上限角度θPmaxは、パレットPの角度θPが取り得る最大値である。図11の例では、パレットPの角度θPが上限角度θPmaxとなった場合の直線L1が、直線Lmaxとして示されており、上限角度θPmaxの際の直線L0(図示略)と直線Lmaxとのなす角度が、上限角度θPmaxであるといえる。上限角度θPmaxは、パレットPが設置領域AR0からはみ出さないように配置されたと仮定した場合の、角度θPの取り得る最大値である。上限角度θPmaxは、設備Wのレイアウトにより、例えば45度など、予め設定される。また例えば、上限角度θPmaxは、設置領域AR0の寸法と、その設置領域AR0に設置されるパレットPの寸法として許容されている値とに基づき、算出されてもよい。候補軌道設定部56は、パレットPの角度θPが上限角度θPmaxである場合の目標位置・姿勢AR2を算出する。そして、候補軌道設定部56は、開始位置AR1から目標位置・姿勢AR2までの軌道TRを、最大傾斜軌道TRmaxとして算出する。候補軌道設定部56による目標位置・姿勢AR2や軌道TRの算出方法は、第1実施形態の軌道設定部80の算出方法と同様である。なお、上限角度θPmaxである場合の目標位置・姿勢AR2までの軌道TRが複数設定可能である場合、候補軌道設定部56は、上限角度θPmaxである場合の目標位置・姿勢AR2までの複数の軌道TRのうち、パレットPが傾いていないと仮定した場合の軌道に相当する直線L0から最も近い軌道TRを、最大傾斜軌道TRmaxとすることが望ましい。
第2実施形態に係る制御装置28の領域設定部78は、候補軌道設定部56から、最大傾斜軌道TRmaxの情報を取得する。領域設定部78は、パレットPと開始位置AR1とを結ぶ直線L0(基準線)と、最大傾斜軌道TRmaxとを用いて、領域Aを区分する。領域設定部78は、領域Aのうち、直線L0と最大傾斜軌道TRmaxとの間の領域を、すなわち直線L0と最大傾斜軌道TRmaxとで囲まれる領域を、許可領域A1として設定する。そして、領域設定部78は、直線L0と最大傾斜軌道TRmaxとの間の領域以外の領域を、すなわちパレットPが向いていない側の領域と、最大傾斜軌道TRmaxよりも外側の領域とを、禁止領域A2として設定する。軌道設定部80は、軌道TRが許可領域A1を通って禁止領域A2を通らないように、軌道TRを設定する。移動制御部72は、このように設定された軌道TRに従って、移動体10を目標位置・姿勢AR2まで移動させる。
なお、パレットPは、一方向(例えば時計回り方向)に上限角度θPmaxだけ傾斜するケースと、他方向(例えば反時計回り方向)に上限角度θPmaxだけ傾斜するケースとの両方が考えられる。その場合、候補軌道設定部56は、それらの傾斜する方向毎に、最大傾斜軌道TRmaxを算出しておく。そして、領域設定部78は、パレットPの向きから、パレットPがどちらの方向に傾斜しているかを判断し、パレットPが傾斜している方向に上限角度θPmaxだけ傾斜した場合の最大傾斜軌道TRmaxを、取得する。そして、領域設定部78は、その取得した最大傾斜軌道TRmaxと直線L0との間の領域を、許可領域A1として設定する。
図13は、第2実施形態に係る移動体の移動制御フローを説明するフローチャートである。図13に示すように、第2実施形態に係る演算装置14aは、候補軌道設定部56により、予め設定した最大傾斜軌道TRmaxを取得する(ステップS8a)。候補軌道設定部56は、上限角度θPmaxである場合の開始位置AR1から目標位置・姿勢AR2までの軌道TRを、最大傾斜軌道TRmaxとして、予め算出する。候補軌道設定部56は、設置領域AR0毎に、最大傾斜軌道TRmaxを、予め算出する。候補軌道設定部56は、対象とするパレットPの設置領域AR0について設定された最大傾斜軌道TRmaxを取得する。その後のステップS10からステップS16までの処理は、第1実施形態と同様であるため説明を省略する。なお、図13の例では、ステップS8aの後にステップS10が実行されているが、ステップS8aとステップS10の順番はそれに限られず任意である。
ステップS16において干渉位置にないと判断された場合(ステップS16;No)、制御装置28は、領域設定部78により、パレットPの位置情報と最大傾斜軌道TRmaxとに基づき、禁止領域A2と許可領域A1とを設定する(ステップS18a)。領域設定部78は、直線L0と最大傾斜軌道TRmaxとの間の領域を許可領域A1とし、それ以外の領域を禁止領域A2とする。以降のステップS20以降の処理は、第1実施形態と同様であるため説明を省略する。
以上説明したように、第2実施形態に係る領域設定部78は、パレットPが所定の上限角度θPmaxだけ傾斜した場合における軌道TRとして予め設定された最大傾斜軌道TRmaxを取得する。領域設定部78は、最大傾斜軌道Pmaxと基準線である直線L0との間の領域を、軌道TRが通ることを許可する許可領域A1として設定する。このように、第2実施形態においては、パレットPの位置情報の検出結果によらずに、予め最大傾斜軌道Pmaxを設定しておく。そして、制御装置28は、パレットPが向いていない側の領域に加えて、最大傾斜軌道TRmaxよりも外側の領域も禁止領域A2として、直線L0と最大傾斜軌道TRmaxとの間の領域のみを探索範囲とする。そのため、第2実施形態の制御装置28によると、探索範囲をさらに絞ることが可能となる。また、最大傾斜軌道TRmaxは、パレットPが最大限傾斜した場合の軌道TRであり、最大傾斜軌道TRmaxより外側が実際の軌道TRとして設定される蓋然性は低い。そのため、第2実施形態の制御装置28によると、探索範囲をさらに絞りつつ、軌道TRの算出精度の低下を抑制できる。
なお、パレットPが設置領域AR0からはみ出さないように配置された場合、パレットPの角度θP(向き)の取り得る数値範囲は、パレットPの位置に依存する。すなわち例えば、図6に示すように、パレットPが設置領域AR0の中央近くに位置する場合は、パレットPを大きく傾けても設置領域AR0からはみ出さないように設置できるため、パレットPの取り得る角度θPは大きくなる。しかし、パレットPが設置領域AR0の中央から離れた位置に配置された場合、パレットPを大きく傾けると設置領域AR0からはみ出してしまうため、パレットPの取り得る角度θPは小さくなる。すなわち、パレットPの位置が設置領域AR0の中央から離れるに従って、上限角度θPmaxが小さくなるといえる。第2実施形態においては、この原理を利用して禁止領域A2と許可領域A1を設定することで、軌道TRの探索範囲を絞ってもよい。例えばこの場合、演算装置14の候補軌道設定部56は、目標物情報取得部74が取得したパレットPの位置情報を取得し、パレットPの位置から、上限角度θPmaxを算出する。上述のように、パレットPの位置と上限角度θPmaxとは相関があるため、目標物情報取得部74が取得したパレットPの位置に基づき、上限角度θPmaxが算出可能である。候補軌道設定部56は、そのようにして算出した上限角度θPmaxとなる場合の軌道TRを、最大傾斜軌道TRmaxとする。領域設定部78は、この最大傾斜軌道TRmaxを取得して、最大傾斜軌道TRmaxと直線L0との間の領域を許可領域A1として設定する。これにより、最大傾斜軌道TRmaxをパレットPの位置に応じて設定することが可能となり、パレットPの位置に応じて探索範囲をより適切に絞ることが可能となる。
(第3実施形態)
次に、第3実施形態について説明する。第3実施形態に係る制御装置28は、許可領域A1及び禁止領域A2の設定方法が、第2実施形態と異なる。第3実施形態において、第2実施形態と構成が共通する箇所は、説明を省略する。
次に、第3実施形態について説明する。第3実施形態に係る制御装置28は、許可領域A1及び禁止領域A2の設定方法が、第2実施形態と異なる。第3実施形態において、第2実施形態と構成が共通する箇所は、説明を省略する。
図14は、候補軌道を説明する模式図である。第3実施形態に係る演算装置14aの候補軌道設定部56は、複数の候補軌道TRbを設定する。候補軌道TRbは、パレットPの角度θPが予め設定された角度と仮定した場合の、開始位置AR1から目標位置・姿勢AR2までの軌道TRである。候補軌道設定部56は、角度θPを所定値に設定して、角度θPが所定値である場合の目標位置・姿勢AR2を算出する。そして、候補軌道設定部56は、開始位置AR1から目標位置・姿勢AR2までの軌道TRを、候補軌道TRbとして算出する。図14に示すように、候補軌道設定部56は、パレットPの角度θPを異ならせて、同様に候補軌道TRbを算出することで、パレットPの角度θP毎に、候補軌道TRbを算出する。候補軌道TRbの算出の際の角度θPの最大値は、上限角度θPmaxである。すなわち、候補軌道設定部56は、パレットPの角度θPを、0度から上限角度θPmaxまでの範囲内でそれぞれ異なる値に設定して、角度θPの角度毎に、候補軌道TRbを算出する。候補軌道TRb毎の角度θP同士の差分は、一定値であることが好ましく、言い換えれば、候補軌道設定部56は、角度θPを所定量ずつ変化させた場合の候補軌道TRbを算出することが好ましい。ここでの所定量を、すなわち角度θPが最も近い候補軌道TRb同士の角度θPの差分を、差分値とする。この差分値は、任意に設定可能であるが、例えば5度程度であってよい。なお、候補軌道設定部56による目標位置・姿勢AR2や軌道TRの算出方法は、第2実施形態の算出方法と同様である。また、以下、候補軌道TRbの演算に用いた角度θPを、適宜、演算用角度と記載する。
第3実施形態に係る制御装置28の領域設定部78は、候補軌道設定部56から、それぞれの候補軌道TRbの情報を取得する。ここでの候補軌道TRbの情報とは、候補軌道TRbの算出に用いた演算用角度の情報も含む。領域設定部78は、目標物情報取得部74が取得したパレットPの向きの情報と、候補軌道TRbとを用いて、領域Aを区分する。具体的には、領域設定部78は、目標物情報取得部74から、センサ26が検出したパレットPの角度θPを取得する。領域設定部78は、パレットPの角度θPと、演算用角度の情報とに基づき、複数の候補軌道TRbから、第1候補軌道TRb1と第2候補軌道TRb2とを抽出する。第1候補軌道TRb1は、センサ26が検出したパレットPの角度θPよりも演算用角度が小さい候補軌道TRbのうち、演算用角度が、センサ26が検出したパレットPの角度θPに最も近い候補軌道TRbを指す。また、第2候補軌道TRb2は、センサ26が検出したパレットPの角度θPよりも演算用角度が大きい候補軌道TRbのうち、演算用角度が、センサ26が検出したパレットPの角度θPに最も近い候補軌道TRbを指す。領域設定部78は、このようにして抽出した第1候補軌道TRb1と第2候補軌道TRb2との間の領域を、第1候補軌道TRb1と第2候補軌道TRb2とで囲まれる領域を、許可領域A1として設定する。そして、領域設定部78は、第1候補軌道TRb1と第2候補軌道TRb2との間の領域以外の領域を、禁止領域A2として設定する。軌道設定部80は、軌道TRが許可領域A1を通って禁止領域A2を通らないように、軌道TRを設定する。移動制御部72は、このように設定された軌道TRに従って、移動体10を目標位置・姿勢AR2まで移動させる。
なお、パレットPは、一方向(例えば時計回り方向)に上限角度θPmaxだけ傾斜するケースと、他方向(例えば反時計回り方向)に上限角度θPmaxだけ傾斜するケースとの両方が考えられる。その場合、候補軌道設定部56は、それらの傾斜する方向のそれぞれについて、演算角度毎の候補軌道TRbを算出しておく。そして、領域設定部78は、パレットPの向きから、パレットPがどちらの方向に傾斜しているかを判断し、パレットPが傾斜している方向側に傾斜している演算角度毎の候補軌道TRbを、取得する。
図15は、第3実施形態に係る移動体の移動制御フローを説明するフローチャートである。図15に示すように、第3実施形態に係る演算装置14aは、候補軌道設定部56により、予め設定した複数の候補軌道TRbを取得する(ステップS8b)。候補軌道設定部56は、演算用角度毎に、候補軌道TRbを、予め設定する。候補軌道設定部56は、対象とするパレットPの設置領域AR0について設定された候補軌道TRbをを取得する。その後のステップS10からステップS16までの処理は、第1実施形態と同様であるため説明を省略する。なお、図15の例では、ステップS8bの後にステップS10が実行されているが、ステップS8bとステップS10の順番はそれに限られず任意である。
ステップS16において干渉位置にないと判断された場合(ステップS16;No)、制御装置28は、領域設定部78により、パレットPの位置情報と候補軌道TRbとに基づき、禁止領域A2と許可領域A1とを設定する(ステップS18b)。領域設定部78は、候補軌道TRbの演算用角度と、パレットPの角度θPとに基づき、第1候補軌道TRb1と第2候補軌道TRb2とを抽出する。そして、領域設定部78は、第1候補軌道TRb1と第2候補軌道TRb2との間の領域を、許可領域A1とし、それ以外を禁止領域A2とする。以降のステップS20以降の処理は、第1実施形態と同様であるため説明を省略する。
以上説明したように、第3実施形態においては、領域設定部78は、パレットPの演算用角度(傾斜角度)毎の移動体10の軌道TRとして予め算出された複数の候補軌道TRbを取得する。領域設定部78は、候補軌道TRbにおける演算用角度と、目標物情報取得部74が取得したパレットPの向きとに基づいて、移動体10の軌道TRが通ることを許可する許可領域A1を設定する。軌道設定部80は、軌道TRを、許可領域A1を通るように設定する。このように、第3実施形態においては、パレットPの位置情報の検出結果によらずに、演算用角度毎の候補軌道TRbを予め設定しておく。そして、制御装置28は、禁止領域A2を、第1候補軌道TRb1及び第2候補軌道TRb2よりも外側の領域に広げて、すなわち、禁止領域A2を、パレットPが向いていない側の領域や、最大傾斜軌道TRmaxよりも外側の領域よりも広げて、設定する。言い換えれば、制御装置28は、第1候補軌道TRb1と第2候補軌道TRb2との間を許可領域A1とすることで、探索範囲をさらに狭くする。そのため、第3実施形態の制御装置28によると、探索範囲をさらに絞ることが可能となる。また、第1候補軌道TRb1と第2候補軌道TRb2との外側は、パレットPが向いていない方向における軌道であるため、第1候補軌道TRb1と第2候補軌道TRb2との外側が実際の軌道TRとして設定される蓋然性は低い。そのため、第3実施形態の制御装置28によると、探索範囲をさらに絞りつつ、軌道TRの算出精度の低下を抑制できる。
(第4実施形態)
次に、第4実施形態について説明する。第4実施形態に係る制御装置28は、許可領域A1及び禁止領域A2の設定方法が、第3実施形態と異なる。第4実施形態において、第3実施形態と構成が共通する箇所は、説明を省略する。
次に、第4実施形態について説明する。第4実施形態に係る制御装置28は、許可領域A1及び禁止領域A2の設定方法が、第3実施形態と異なる。第4実施形態において、第3実施形態と構成が共通する箇所は、説明を省略する。
図16は、候補軌道を説明する模式図である。第4実施形態に係る演算装置14aの候補軌道設定部56は、複数の候補軌道TRbを設定する。第4実施形態においては、例えば第3実施形態よりも、候補軌道TRb毎の演算用角度の差分値が小さい。第4実施形態においては、移動体10の軌道TRの算出に用いた角度θPが、実際のパレットPの傾斜角度とこの差分値だけずれた場合であっても、例えばフォーク24の水平方向の移動(サイドシフト)などでパレットPをピックアップ可能となるように、この差分値が設定されることが好ましい。例えば、第4実施形態の差分値は、0度より大きく1度以下であることが好ましく、0.5度以上1度以下であることが好ましい。なお、第4実施形態においても、演算用角度が設定された場合の候補軌道TRbの算出方法は、第3実施形態と同様である。
第4実施形態に係る制御装置28は、軌道TRの演算を実施せず、候補軌道TRbのうちから、軌道TRを選定する。すなわち、制御装置28は、演算用角度が、目標物情報取得部74が取得したパレットPの角度θPに最も近い候補軌道TRbを抽出して、その候補軌道TRbを、実際の軌道TRとして選定する。例えば、第4実施形態に係る領域設定部78は、候補軌道設定部56から、それぞれの候補軌道TRbの情報を取得する。領域設定部78は、目標物情報取得部74が取得したパレットPの向きの情報と、候補軌道TRbとを用いて、領域Aを区分する。具体的には、領域設定部78は、目標物情報取得部74から、センサ26が検出したパレットPの角度θPを取得する。領域設定部78は、パレットPの角度θPと、演算用角度の情報とに基づき、複数の候補軌道TRbから、演算用角度が、センサ26が検出したパレットPの角度θPに最も近い候補軌道TRbを抽出する。領域設定部78は、この抽出した候補軌道TRbを、許可領域A1として設定して、候補軌道TRb以外の領域、すなわち候補軌道TRbに重ならない領域を、禁止領域A2として設定する。軌道設定部80は、軌道TRを演算で算出することなく、許可領域A1とした候補軌道TRbを、すなわち演算用角度が検出したパレットPの角度θPに最も近い候補軌道TRbを、軌道TRとして設定(採用)する。移動制御部72は、このように設定された軌道TRに従って、移動体10を目標位置・姿勢AR2まで移動させる。
なお、パレットPは、一方向(例えば時計回り方向)に上限角度θPmaxだけ傾斜するケースと、他方向(例えば反時計回り方向)に上限角度θPmaxだけ傾斜するケースとの両方が考えられる。その場合、候補軌道設定部56は、それらの傾斜する方向のそれぞれについて、演算角度毎の候補軌道TRbを算出しておく。そして、制御装置28は、パレットPの向きから、パレットPがどちらの方向に傾斜しているかを判断し、パレットPが傾斜している方向側に傾斜している演算角度毎の候補軌道TRbを、取得する。
図17は、第4実施形態に係る移動体の移動制御フローを説明するフローチャートである。図17に示すように、第4実施形態に係る演算装置14aは、候補軌道設定部56により、予め設定した複数の候補軌道TRbを取得する(ステップS8c)。候補軌道設定部56は、演算用角度毎に、候補軌道TRbを設定する。候補軌道設定部56は、対象とするパレットPの設置領域AR0について設定された候補軌道TRbをを取得する。その後のステップS10からステップS16までの処理は、第1実施形態と同様であるため説明を省略する。なお、図17の例では、ステップS8cの後にステップS10が実行されているが、ステップS8cとステップS10の順番はそれに限られず任意である。
ステップS16において干渉位置にないと判断された場合(ステップS16;No)、制御装置28は、領域設定部78により、パレットPの位置情報と候補軌道TRbとに基づき、禁止領域A2と許可領域A1とを設定する(ステップS18c)。領域設定部78は、候補軌道TRbの演算用角度と、パレットPの角度θPとに基づき、演算用角度がパレットPの角度θPに最も近い候補軌道TRbを抽出し、その候補軌道TRbを、許可領域A1とする。そして、制御装置28は、軌道設定部80により、許可領域A1とした候補軌道TRbを、軌道TRとして採用する(ステップS20c)。ステップS22以降の処理は、第1実施形態と同様であるため説明を省略する。
以上説明したように、第4実施形態においては、領域設定部78は、演算用角度(傾斜角度)が、目標物情報取得部74が取得したパレットPの向きに最も近い候補軌道TRbを、許可領域A1として設定する。軌道設定部80は、許可領域A1として設定された候補軌道TRbを、軌道TRとして設定する。このように、第3実施形態においては、パレットPの位置情報の検出結果によらずに、演算用角度毎の候補軌道TRbを予め設定しておく。そして、制御装置28は、軌道TRの演算を行うことなく、検出したパレットPの向きに最も近い候補軌道TRbを、軌道TRとして採用する。そのため、第4実施形態の制御装置28によると、軌道TRの演算処理が不要となり、演算負荷をさらに低減できる。また、検出したパレットPの角度θPに最も近い候補軌道TRbを採用することで、軌道TRの選定精度の低下も抑制できる。
なお、第3実施形態においては、第1候補軌道TRb1と第2候補軌道TRb2とで囲まれる領域を探索範囲として、軌道TRを算出していたが、条件によっては、第4実施形態と同様に、軌道TRを算出することなく、予め算出されていた候補軌道TRbを軌道TRとしてもよい。例えば、第3実施形態において、軌道TRと演算用角度との差分が閾値以下となる候補軌道TRbがある場合は、制御装置28は、軌道TRの算出を行なわず、その候補軌道TRbを軌道TRとして採用する。ここでの閾値は、任意に設定できるが、例えば1度などである。
以上、本発明の実施形態を説明したが、この実施形態の内容により実施形態が限定されるものではない。また、前述した構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。さらに、前述した構成要素は適宜組み合わせることが可能である。さらに、前述した実施形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換又は変更を行うことができる。
1 移動制御システム
10 移動体
12 管理システム
14 演算装置
24 フォーク
26 センサ
72 移動制御部
74 目標物情報取得部
76 干渉判断部
78 領域設定部
80 軌道設定部
A1 許可領域
A2 禁止領域
AR0 設置領域
AR1 開始位置
AR2 目標位置・姿勢(目標位置)
P パレット(目標物)
R ルート
TR 軌道
10 移動体
12 管理システム
14 演算装置
24 フォーク
26 センサ
72 移動制御部
74 目標物情報取得部
76 干渉判断部
78 領域設定部
80 軌道設定部
A1 許可領域
A2 禁止領域
AR0 設置領域
AR1 開始位置
AR2 目標位置・姿勢(目標位置)
P パレット(目標物)
R ルート
TR 軌道
Claims (11)
- 自動で移動する移動体に設けられる制御装置であって、
目標物の向きの検出結果を取得する目標物情報取得部と、
前記目標物の向きから、前記移動体の軌道が通ることを禁止する禁止領域を設定する領域設定部と、
前記移動体から前記目標物に対して所定の位置及び向きとなる目標位置までの軌道を、前記軌道が前記禁止領域を通らないように設定する軌道設定部と、
前記軌道に基づいて前記移動体を移動させる移動制御部と、
を含む、移動体の制御装置。 - 前記領域設定部は、前記移動体が移動可能な領域を、前記移動体と前記目標物とを結ぶ基準線で区分し、区分した前記領域のうち、前記目標物が向いている側の領域と反対側の領域を、前記禁止領域として設定する、請求項1に記載の移動体の制御装置。
- 前記領域設定部は、前記目標物が所定の上限角度だけ傾斜した場合における前記移動体の軌道として予め設定された最大傾斜軌道を取得し、前記最大傾斜軌道と前記基準線との間の領域を、前記移動体の軌道が通ることを許可する許可領域として設定し、
前記軌道設定部は、前記軌道を、前記許可領域を通るように設定する、請求項2に記載の移動体の制御装置。 - 前記領域設定部は、前記目標物の傾斜角度毎の前記移動体の軌道として予め算出された複数の候補軌道を取得し、前記候補軌道における前記傾斜角度と、前記目標物情報取得部が取得した前記目標物の向きとに基づいて、前記移動体の軌道が通ることを許可する許可領域を設定し、
前記軌道設定部は、前記軌道を、前記許可領域を通るように設定する、請求項1から請求項3のいずれか1項に記載の移動体の制御装置。 - 前記領域設定部は、前記目標物情報取得部が取得した前記目標物の向きよりも前記傾斜角度が小さい前記候補軌道のうちから、前記傾斜角度が前記目標物の向きに最も近い第1候補軌道を抽出し、前記目標物情報取得部が取得した前記目標物の向きよりも前記傾斜角度が大きい前記候補軌道のうちから、前記傾斜角度が前記目標物の向きに最も近い第2候補軌道を抽出し、前記第1候補軌道と前記第2候補軌道との間の領域を、前記許可領域として設定する、請求項4に記載の移動体の制御装置。
- 前記領域設定部は、前記傾斜角度が、前記目標物情報取得部が取得した前記目標物の向きに最も近い前記候補軌道を、前記許可領域として設定し、
前記軌道設定部は、前記許可領域として設定された前記候補軌道を、前記軌道として設定する、請求項4に記載の移動体の制御装置。 - 前記目標物の周辺の障害物の位置と前記目標物が配置される配置領域の位置とに基づいて予め算出された、前記移動体が前記障害物に干渉して前記目標位置に到達できない前記目標物の位置である干渉位置の情報を取得し、前記目標物情報取得部の検出結果に基づき、前記目標物が干渉位置にあるかを判断する干渉判断部をさらに含み、
前記領域設定部と前記軌道設定部とは、前記目標物が干渉位置にないと判断された場合に、前記禁止領域と前記軌道とを設定する、請求項1から請求項6のいずれか1項に記載の移動体の制御装置。 - 請求項1から請求項7のいずれか1項に記載の移動体の制御装置を備える、移動体。
- 請求項8に記載の移動体と、前記移動体に前記移動体の移動に関する情報を送信する演算装置と、を備える、移動制御システム。
- 自動で移動する移動体を制御する制御方法であって、
目標物の向きの検出結果を取得するステップと、
前記目標物の向きから、前記移動体の軌道が通ることを禁止する禁止領域を設定するステップと、
前記移動体から前記目標物に対して所定の位置及び向きとなる目標位置までの軌道を、前記軌道が前記禁止領域を通らないように設定するステップと、
前記軌道に基づいて前記移動体を移動させるステップと、
を含む、移動体の制御方法。 - 自動で移動する移動体を制御する制御方法をコンピュータに実行させるプログラムであって、
目標物の向きの検出結果を取得するステップと、
前記目標物の向きから、前記移動体の軌道が通ることを禁止する禁止領域を設定するステップと、
前記移動体から前記目標物に対して所定の位置及び向きとなる目標位置までの軌道を、前記軌道が前記禁止領域を通らないように設定するステップと、
前記軌道に基づいて前記移動体を移動させるステップと、
を、コンピュータに実行させる、プログラム。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020032155A JP7300410B2 (ja) | 2020-02-27 | 2020-02-27 | 制御装置、移動体、移動制御システム、制御方法及びプログラム |
US17/800,712 US20230348247A1 (en) | 2020-02-27 | 2021-02-05 | Control device, mobile body, movement control system, control method, and program |
DE112021000386.0T DE112021000386T5 (de) | 2020-02-27 | 2021-02-05 | Steuervorrichtung, mobile maschine, bewegungssteuersystem, steuerverfahren und programm |
CN202180015239.4A CN115136091A (zh) | 2020-02-27 | 2021-02-05 | 控制装置、移动体、移动控制系统、控制方法及程序 |
PCT/JP2021/004422 WO2021171974A1 (ja) | 2020-02-27 | 2021-02-05 | 制御装置、移動体、移動制御システム、制御方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020032155A JP7300410B2 (ja) | 2020-02-27 | 2020-02-27 | 制御装置、移動体、移動制御システム、制御方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021135800A JP2021135800A (ja) | 2021-09-13 |
JP7300410B2 true JP7300410B2 (ja) | 2023-06-29 |
Family
ID=77661336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020032155A Active JP7300410B2 (ja) | 2020-02-27 | 2020-02-27 | 制御装置、移動体、移動制御システム、制御方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7300410B2 (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017182502A (ja) | 2016-03-30 | 2017-10-05 | 株式会社豊田中央研究所 | 移動体 |
CN108170134A (zh) | 2017-11-15 | 2018-06-15 | 国电南瑞科技股份有限公司 | 一种变电站智能巡检机器人路径规划方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11322294A (ja) * | 1998-05-13 | 1999-11-24 | Shinko Electric Co Ltd | 車両運転支援装置及び産業用車両 |
-
2020
- 2020-02-27 JP JP2020032155A patent/JP7300410B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017182502A (ja) | 2016-03-30 | 2017-10-05 | 株式会社豊田中央研究所 | 移動体 |
CN108170134A (zh) | 2017-11-15 | 2018-06-15 | 国电南瑞科技股份有限公司 | 一种变电站智能巡检机器人路径规划方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2021135800A (ja) | 2021-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7085576B2 (ja) | 移動制御システム、移動体、制御方法及びプログラム | |
JP7469494B2 (ja) | 自動誘導車の制御方法及びその方法を実行するように構成される制御システム | |
JP7449770B2 (ja) | 端末、制御システム、制御方法及びプログラム | |
JP7300413B2 (ja) | 制御装置、移動体、移動制御システム、制御方法及びプログラム | |
JP7300410B2 (ja) | 制御装置、移動体、移動制御システム、制御方法及びプログラム | |
JP7511504B2 (ja) | 移動体、移動制御システム、移動体の制御方法及びプログラム | |
WO2021171974A1 (ja) | 制御装置、移動体、移動制御システム、制御方法及びプログラム | |
JP7179102B2 (ja) | 移動体の制御方法、移動体及びプログラム | |
JP7022775B2 (ja) | 演算装置、移動体、移動制御システム、演算方法及びプログラム | |
JP7187516B2 (ja) | 移動体、移動制御システム、移動体の制御方法及びプログラム | |
JP7257431B2 (ja) | 移動体の制御方法、移動体及びプログラム | |
WO2024219068A1 (ja) | 制御方法、プログラム及び移動体 | |
JP7482811B2 (ja) | 移動体の制御方法、移動体及びプログラム | |
WO2024004272A1 (ja) | 経路設定方法、プログラム及び移動体 | |
JP7527322B2 (ja) | 情報処理方法、情報処理装置及びプログラム | |
WO2024070877A1 (ja) | 経路設定方法、プログラム及び移動体 | |
WO2024058156A1 (ja) | 経路設定方法、プログラム及び移動体 | |
WO2024219056A1 (ja) | 移動体の制御方法、移動体及びプログラム | |
JP7482808B2 (ja) | 移動体の制御方法、移動体及びプログラム | |
JP6687313B1 (ja) | 搬送システム | |
JP2023136224A (ja) | 情報処理方法、情報処理装置及びプログラム | |
JP2023140976A (ja) | 演算装置、演算方法及びプログラム | |
JP2024016387A (ja) | 移動制御方法、プログラム及び移動制御システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220926 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20230523 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230619 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7300410 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |