以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。また、図面には、X軸及びY軸を有する二次元直交座標を記載する場合がある。
本開示の一実施形態の走行制御システムは、例えば、製造工場や物流倉庫などにおいて、各種製造部品、荷物等の搬送物を搬送するために用いられる無人搬送車(以下、単に「搬送車」とも称する。)の制御に用いられる。走行制御システムは、一例として、後述の搬送システム1000(図20)によって実現される。なお、本システムは、無人搬送車に限られず、有人及び無人の他の移動体にも適用可能である。
一例として、搬送車は、自律走行モード及び誘導走行モードを有している。誘導走行モードとは、搬送車が現実又は仮想のガイドラインに沿って移動する走行モードのことである。自律走行モードとは、搬送車が自己位置を推定することで、ガイドラインが配置されていないエリアを移動可能な走行モードのことである。
また、搬送車は、自律走行モード及び誘導走行モードにおいて、搬送対象物を牽引して、搬送対象物を目的領域に配置する。搬送対象物は、典型的には、少なくとも1つの車輪を有する。この場合、搬送対象物は、例えば、台車、コンベア、又は、ロボット(例えば、ロボットアームを有するロボット)であってもよい。
まず、図1を参照して、搬送車10及び台車2000を説明する。図1は、本開示の一実施形態に係る搬送車10及び台車2000の一例を示す平面図である。図1に示すように、搬送装置20は、搬送車10と、連結装置21とを備える。搬送装置20は、台車2000を牽引して搬送する。
搬送車10は、制御部260と、記録部220とを含む。制御部260は、CPU(Central Processing Unit)及びGPU(Graphics Processing Unit)等のプロセッサを含む。制御部260は、コンピュータの一例である。記録部220はデータ及びコンピュータプログラムを記憶する。記録部220は、半導体メモリー等の主記憶装置と、半導体メモリー及びハードディスクドライブ等の補助記憶装置とを含む。記録部220は、光ディスク等のリムーバブルメディアを含んでいてもよい。記録部220は、例えば、非一時的コンピュータ読取可能記憶媒体を含んでいてもよい。
連結装置21は、搬送車10と台車2000とを、台車2000が搬送車10に対して揺動可能(回動可能)に連結する。台車2000は、本開示の「搬送対象物」の一例に相当する。
一例として、連結装置21は、連結体22と、軸部材23と、結合機構24とを含む。連結体22の長手方向の一方端部は、軸部材23によって搬送車10と連結される。軸部材23は、連結体22を揺動軸線AXの周りに回動自在(揺動自在)に支持する。揺動軸線AXは、例えば、鉛直方向に沿って延びる。図1の例では、軸部材23は、平面視において、搬送車10の幅方向の中心線CL1上に配置される。搬送車10の幅方向は、搬送車10の前後方向に対して略直交する方向を示す。
連結体22の長手方向の他方端部には、結合機構24が取り付けられる。結合機構24は、台車2000の結合箇所P3において、台車2000と結合する。この場合、結合機構24は、連結体22が台車2000に対して揺動不可能(回動不可能)なように、台車2000に結合する。一例として、結合機構24は、結合箇所P3において、台車2000の所定部分を把持することで、台車2000と結合する。図1の例では、平面視において、結合箇所P3は、台車2000の幅方向の中心線CL2上に配置される。台車2000の幅方向は、台車2000の前後方向に対して略直交する方向を示す。結合機構24は、結合箇所P3において、揺動不可能な状態で台車2000と結合するが、揺動可能であってもよい。
以上の結果、台車2000は、連結装置21によって、搬送車10に対して揺動軸線AXの周りに揺動可能に連結される。図1の例では、台車2000は、連結装置21によって、搬送車10の後方において連結される。
引き続き図1を参照して、搬送車10の第1特定箇所P1及び自転中心P4、並びに、台車2000の第2特定箇所P2について説明する。第1特定箇所P1は、搬送車10の位置を示す。つまり、搬送車10の位置は、第1特定箇所P1の位置によって示される。第1特定箇所P1によって示される搬送車10の位置を「自己位置」又は「自車位置」と記載する場合がある。第1特定箇所P1は、一例として、ライン検出部16(後述する図11)の中心である。自転中心P4は、搬送車10が自転する場合の回転中心である。自転は、搬送車10が、前後左右の移動をほぼ行わない状態で、自転中心P4を中心として回転することを示す。図1の例では、第1特定箇所P1及び自転中心P4は、中心線CL1上に配置される。第1特定箇所P1及び自転中心P4は、異なる位置であってもよいし、一致していてもよい。第1特定箇所P1は、ガイドライン111を検出するセンサの位置であってもよいし、そうでなくてもよい。
台車2000の第2特定箇所P2は、台車2000の位置を示す。つまり、台車2000の位置は、第2特定箇所P2の位置によって示される。例えば、ガイドライン111に対する台車2000の位置は、ガイドライン111から第2特定箇所P2までの最短距離である距離d2によって示される。また、図1の例では、第2特定箇所P2は、台車2000の中心線CL2上に配置される。また、台車2000の姿勢は、搬送車10の中心線CL1に対する台車2000の中心線CL2の相対角度βによって示される。
また、ガイドライン111が床面に配置される。図1の例では、ガイドライン111は、現実のガイドラインである。なお、ガイドライン111は、仮想のガイドラインであってもよい。
搬送車10は、台車2000を牽引しつつ、現実又は仮想のガイドライン111に沿って移動可能である。現実のガイドライン111とは、床面、壁面、または天井面、またはそれらの面から立ち上がる標識板等に設置され、搬送車10をガイドするための標識であり、連続した線状であってもよいし、断続的に線状に配置された標識であってもよい。ガイドライン111は、例えば、磁気テープによって構成されていてもよい。又は、ガイドライン111は、例えば、複数の2次元コードを連続してまたは断続的に並べて配置したものとすることができる。また、仮想のガイドライン111は、現実空間に対応する2次元または3次元のマップデータ上に設定された仮想的な2次元または3次元のガイドラインとすることができる。何れの場合も、ガイドライン111は、搬送車10が動作する際に参照することで、搬送車10を所定の位置(目的地、経由地)に誘導することができるように設定、配置される。
図1には、直線状のガイドライン111が示されている。ガイドライン111上には、例えば、目的領域101が設定される。目的領域101は、搬送車10から台車2000を切り離して、台車2000を配置する領域を示す。方向D1及び方向D2を定義する。方向D1は、ガイドライン111に略平行で、目的領域101から離れる方向を示す。方向D2は、ガイドライン111に略平行で、方向D1と反対の方向であり、目的領域101に近づく方向を示す。
また、図1では、搬送車10が、角度αでガイドライン111に進入する状態が示されている。角度αは、ガイドライン111に対する搬送車10の進行方向D3(中心線CL1)の角度を示す。角度αは、例えば、略90度、鋭角、又は、鈍角である。
以下、図2~図10の説明においては、一例として、搬送車10の軸部材23が自転中心P4に配置され、台車2000の第2特定箇所P2が結合箇所P3に設定される。
次に、図2及び図3を参照して、搬送車10の走行制御方法の第1例を説明する。図2及び図3は、走行制御方法の第1例の流れを示す平面図である。図2及び図3に示すように、搬送車10の走行制御方法の第1例は、ステップS1~ステップS5を含む。制御部260が記録部220に記憶されたコンピュータプログラムを実行することで、ステップS1~ステップS5が実行される。つまり、コンピュータプログラム製品は、制御部260によってコンピュータプログラムが実行された際に、ステップS1~ステップS5を実現する。
まず、ステップS1において、制御部260は、ガイドライン111の外部からガイドライン111に向かって、搬送車10の後方に台車2000が連結された搬送車10を移動させる。図2の例では、制御部260は、ガイドライン111に向かって角度αで搬送車10を移動させる。図2の例では、角度αは、略90度である。角度αが略90度であると、次のステップS2での搬送車10の位置決めの制御が容易になる。
次に、ステップS2において(ステップS1よりも後であってステップS3よりも前において)、制御部260は、搬送車10をガイドライン111上に停止させる。例えば、制御部260は、平面視において、搬送車10の自転中心P4がガイドライン111上に位置するように、搬送車10を停止させる。その結果、次のステップS3での自転の実行後において、更に次のステップS4での前進を円滑に実行できる。つまり、自転後すぐに前進が可能である。この場合、例えば、まず、制御部260は、搬送車10の第1特定箇所P1がガイドライン111上に位置するように、搬送車10を移動させる。次に、制御部260は、搬送車10の自転中心P4がガイドライン111上に位置するように、距離L4だけ搬送車10を直進させる。距離L4は、第1特定箇所P1と自転中心P4との間の距離を示す。距離L4は、記録部220に予め記憶されている。
図1の例では、自転中心P4と軸部材23とが離隔しているが、図2に示すように、自転中心P4と軸部材23の位置とが、略一致することが好ましい。なぜなら、搬送車10が自転する場合でも台車2000の従動が抑制されるため、搬送車10が円滑に自転できるからである。
次に、ステップS3において、制御部260は、搬送車10がガイドライン111上に位置する状態において、搬送車10を回転運動させる。この場合、回転運動後のガイドライン111上での搬送車10の向きは、回転運動前の搬送車10の向きと異なる。
すなわち、ステップS3では、制御部260は、搬送車10がガイドライン111上で前方を向くように、ガイドライン111上で搬送車10を自転させる。この場合、「前方」は方向D1(図1)を示す。なお、「前方」は、厳密に方向D1を示していなくてもよく、方向D1に対して所定範囲内であればよい。自転は、本開示の「回転運動」の一例に相当する。また、ステップS3は、本開示の「搬送車を回転運動させるステップ」の一例に相当する。
次に、ステップS4において(ステップS3よりも後であって、ステップS5よりも前において)、制御部260は、搬送車10をガイドライン111に沿って前進させる。この場合、「前進」は、搬送車10が方向D1に進むことを示す。
具体的には、ステップS4では、制御部260は、台車2000が後進条件を満たすまで、ガイドライン111に沿って搬送車10を前進させる。そして、制御部260は、台車2000が後進条件を満たすと、搬送車10を停止させる。従って、次のステップS5は、後進条件が満たされた後に実行される。
後進条件は、台車2000がガイドライン111上において第1所定範囲内の姿勢を有し、かつ、台車2000がガイドライン上において第2所定範囲内に位置することを示す。本実施形態において、台車2000の姿勢は、搬送車10の中心線CL1に対する台車2000の中心線CL2の相対角度βによって示される。この場合、例えば、後進条件の第1所定範囲は、中心線CL1に対する角度によって示される。例えば、搬送車10の中心線CL1に対する台車2000の中心線CL2の相対角度βが予め記憶された第1特定角度以下とすることができる。
なお、例えば、台車2000の姿勢は、ガイドライン111に対する台車2000の中心線CL2の相対角度によって示されてもよい。この例では、第1所定範囲は、ガイドライン111に対する角度によって示される。例えば、ガイドライン111に対する台車2000の中心線CL2の相対角度が予め記憶された第1特定角度以下とすることができる。
一方、台車2000の位置は、台車2000の第2特定箇所P2の位置によって示される。例えば、台車2000の位置は、ガイドライン111から台車2000の第2特定箇所P2までの距離d2によって示される。例えば、後進条件の第2所定範囲は、ガイドライン111に対する距離によって示される。例えば、距離d2が予め記憶された第1特定距離以下とすることができる。
次に、ステップS5において、制御部260は、台車2000の後進条件を維持したまま、搬送車10をガイドライン111に沿って後進させて、台車2000を目的領域101に配置する。
以上、図2及び図3を参照して説明したように、本実施形態に係る走行制御方法の第1例によれば、回転運動である自転(ステップS3)と、直進運動(ステップS1、S2、S4、S5)とを組み合わせることで、台車2000を目的領域101に配置する。従って、直接的に後進によって目的領域101に台車2000を配置する場合と比較して、前進及び後進の繰り返しの発生を抑制できる。その結果、搬送車10を後進させることで台車2000を目的領域101に配置する場合に、搬送車10に対して揺動可能に連結されている台車2000を目的領域101に円滑に配置できる。
特に、本実施形態によれば、走行制御方法は、搬送車10を自転させるステップS3を含む。この場合、前進を伴わないので、搬送車10の移動距離を短縮できる。
更に、本実施形態によれば、ガイドライン111の外部からの搬送車10をガイドライン111上に停止させる。(ステップS2)。従って、搬送車10は、ガイドライン111に対して交差する方向に通過しない。その結果、ガイドライン111に対して交差する方向(例えば、X軸方向)への搬送車10の移動距離を削減できる。加えて、ステップS3より後に実行されるステップS4、S5では、搬送車10は、ガイドライン111に沿って移動する。従って、ガイドライン111に対して交差する方向への搬送車10の移動距離を更に削減できる。ガイドライン111に対して交差する方向への搬送車10の移動距離を削減できると、例えば、ガイドライン111を境界にした一方側の領域(図2ではガイドライン111の左側領域)に物体が存在して、当該領域に搬送車10を移動するスペースが確保し難い場合でも、台車2000を目的領域101に容易に配置できる。例えば、ガイドライン111を境界にした一方側の領域(図2ではガイドライン111の左側領域)に物体、壁、人等の障害物が有るか否かを搬送車10の物体検出センサ(例えば、後述の物体位置検出部12)の情報、外部装置から受信した情報等に基づいてから判定し、障害物がある場合には本例の動作を行うようにしてもよい。また、障害物がない(または所定距離以上、離れた位置にある)場合には、他の動作(例えば、図4,5に例示する動作)を行うようにしてもよい。つまり、障害物の有無、または障害物の位置に応じて、動作を切り替えるようにしてもよく、何れの動作も可能な場合は、予め記憶された優先順位に基づいて動作を決定してもよい。
更に、本実施形態によれば、ステップS5で後進する前に、ステップS4の前進において、台車2000が後進条件を満たす。従って、ステップS5では、後進条件を満たしたまま後進するだけでよいので、搬送車10及び台車2000の後進制御が容易である。
次に、図4及び図5を参照して、搬送車10の走行制御方法の第2例を説明する。図4及び図5は、搬送車10の走行制御方法の第2例を示す図である。図4及び図5に示すように、搬送車10の走行制御方法の第2例は、ステップS11~ステップS16を含む。制御部260が記録部220に記憶されたコンピュータプログラムを実行することで、ステップS11~ステップS16が実行される。つまり、コンピュータプログラム製品は、制御部260によってコンピュータプログラムが実行された際に、ステップS11~ステップS16を実現する。
まず、ステップS11において、制御部260は、ガイドライン111の外部からガイドライン111に向かって、搬送車10の後方に台車2000が連結された搬送車10を移動させる。この点は、図2のステップS1と同様である。
次に、ステップS12において、制御部260は、搬送車10にガイドライン111を通過させる。この場合、次のステップS13が実行可能である限りにおいて、搬送車10の全体がガイドライン111を通過するように搬送車10を制御してもよいし、搬送車10の一部がガイドライン111を通過するように搬送車10を制御してもよい。
次に、ステップS13において、制御部260は、搬送車10がガイドライン111を通過して台車2000がガイドライン111上に位置した場合に、搬送車10を停止させる。具体的には、制御部260は、平面視において、台車2000の第2特定箇所P2がガイドライン111上に位置するように、又は、第2特定箇所P2がガイドライン111の一部を含む所定範囲内に位置するように、搬送車10を停止させる。この場合、次のステップS14での回転移動の実行後において、更に次のステップS15での前進を円滑に実行できる。
詳細な一例として、制御部260は、ガイドライン111から台車2000の第2特定箇所P2までの距離d2(図1)が略ゼロになった場合に、又は、距離d2が所定値以下になった場合に、搬送車10を停止させる。
次に、ステップS14において、制御部260は、台車2000がガイドライン111上に位置する状態において、搬送車10を回転運動させる。この場合、回転運動後のガイドライン111上での搬送車10の向きは、回転運動前の搬送車10の向きと異なる。また、制御部260は、回転運動後に搬送車10をガイドライン111上に停止させる。
すなわち、ステップS14では、制御部260は、搬送車10がガイドライン111上に位置するように、ガイドライン111の外部からガイドライン111に向けて搬送車10を回転移動させる。この場合、制御部260は、目的領域101の側ではなく、目的領域101の反対側に搬送車10を回転移動させる。回転移動は、本開示の「回転運動」の一例に相当する。また、ステップS14は、本開示の「搬送車を回転運動させるステップ」の一例に相当する。
具体的には、制御部260は、台車2000の第2特定箇所P2を回転中心として、搬送車10を回転移動させる。この場合、例えば、制御部260は、搬送車10が略円弧状の軌跡を描くように、搬送車10を回転移動させる。回転移動させる場合の回転角度は、例えば、搬送車10がガイドライン111に進入する際の角度α(図1)と略同じである。また、制御部260は、ガイドライン111に対する台車2000の第2特定箇所P2の位置を維持した状態で、搬送車10を回転移動させることが好ましい。例えば、制御部260は、ガイドライン111から第2特定箇所P2までの距離d2(図1)を所定範囲内に維持した状態で、搬送車10を回転移動させる。更に、制御部260は、台車2000がガイドライン111上で前進及び後進しない状態で搬送車10を回転移動させることが好ましい。制御部260は、ガイドライン111上に位置する第2特定箇所P2、台車2000の中心、または台車2000の重心を中心とする円弧状の軌道を描くように搬送車10を回転移動させてもよい。ただし、制御部260は、搬送車10が回転移動を開始してからガイドライン111上に停止するまでに、台車2000の前進距離(方向D1への移動距離)が所定値以内になるように搬送車10を制御してもよい。
加えて、制御部260は、平面視において、搬送車10の自転中心P4がガイドライン111上に位置するように、搬送車10を回転移動させる。この場合、例えば、まず、制御部260は、搬送車10の第1特定箇所P1がガイドライン111上に位置するように、搬送車10を回転移動させる。次に、制御部260は、搬送車10の自転中心P4がガイドライン111上に位置するように、搬送車10を直進させて停止させる。
以上のステップS14の結果、次のステップS15での自転の実行後において、更に次のステップS16での後進を円滑に実行できる。
次に、ステップS15において、制御部260は、搬送車10がガイドライン111上で前方を向くように、ガイドライン111上で搬送車10を自転させる。この場合の「前方」は、図1のステップS3における「前方」と同様である。
この場合、制御部260は、回転移動(ステップS14)によって搬送車10がガイドライン111上に位置した後に前進することなくステップS15を実行することが好ましい。
次に、ステップS16において、制御部260は、搬送車10をガイドライン111に沿って後進させて、台車2000を目的領域101に配置する。この場合、制御部260は、回転移動(ステップS14)によって搬送車10がガイドライン111上に位置した後に前進することなくステップS15及びステップS16を実行することが好ましい。
以上、図3及び図4を参照して説明したように、本実施形態に係る走行制御方法の第2例によれば、回転運動である回転移動(ステップS14)及び自転(ステップS15)と、直進運動(ステップS11~S13、S16)とを組み合わせることで、台車2000を目的領域101に配置する。従って、直接的に後進によって目的領域101に台車2000を配置する場合と比較して、前進及び後進の繰り返しの発生を抑制できる。その結果、搬送車10を後進させることで台車2000を目的領域101に配置する場合に、搬送車10に対して揺動可能に連結されている台車2000を目的領域101に円滑に配置できる。
特に、本実施形態によれば、走行制御方法では、搬送車10は、台車2000を回転中心として、回転移動を行う(ステップS14)。従って、台車2000の前進及び後進を伴わないか、又は、台車2000の前進距離が所定値以内になるので、ガイドライン111に沿った方向への台車2000の移動距離を削減できる。加えて、搬送車10は、直進でなく回転移動を行うので、ガイドライン111に沿った方向D1への搬送車10の移動距離を短縮できる。その結果、例えば、方向D1の側(図4ではガイドライン111の上側領域)に物体が存在して、搬送車10が方向D1に前進することが困難な場合、又は、方向D1へのガイドライン111の長さを確保し難い場合でも、台車2000を目的領域101に容易に配置できる。例えば、方向D1の側(図4ではガイドライン111の上側領域)に物体、壁、人等の障害物が有るか否かを搬送車10の物体検出センサ(例えば、後述の物体位置検出部12)の情報、外部装置から受信した情報等に基づいて判定し、障害物がある場合には本例の動作を行うようにしてもよい。また、障害物がない(または所定距離以上、離れた位置にある)場合には、他の動作(例えば、図2,3に例示する動作)を行うようにしてもよい。つまり、障害物の有無、または障害物の位置に応じて、動作を切り替えるようにしてもよく、何れの動作も可能な場合は、予め記憶された優先順位に基づいて動作を決定してもよい。
更に、本実施形態によれば、ステップS14での搬送車10の回転移動の後、前進することなく、ステップS15で後進を開始する。従って、ガイドライン111に沿った方向D1への搬送車10及び台車2000の移動距離を更に削減できる。その結果、搬送車10が方向D1に前進することが更に困難な場合、又は、方向D1へのガイドライン111の長さを更に確保し難い場合でも、台車2000を目的領域101に容易に配置できる。
次に、図6~図8を参照して、搬送車10の走行制御方法の第3例を説明する。第3例では、ガイドライン111に交差する補助ライン19が設けられる点で、上記の第2例と主に異なる。以下、相違点を主に説明する。
図6(a)は、ガイドライン111及び補助ライン19の一例を示す平面図である。図6(a)に示すように、ガイドライン111とともに、現実又は仮想の補助ライン19が配置される。補助ライン19は、搬送車10がガイドライン111を通過するように搬送車10を案内する現実又は仮想のガイドラインである。
補助ライン19は直線状である。補助ライン19は、ガイドライン111に交差する。図6(a)の例では、補助ライン19は、ガイドライン111に対して略直交する。なお、ガイドライン111に対する補助ライン19の角度θは、約90度であってもよいし、鋭角であってもよいし、鈍角であってもよい。なお、補助ライン19は、ガイドライン111に交差するのではなく、ガイドライン111から一方向に延びていてもよい。
図6(b)は、ガイドライン111及び補助ライン19の他の例を示す平面図である。図6(b)に示すように、補助ライン19はガイドライン111に向かって延びる。補助ライン19は、ガイドライン111に対して離隔している。補助ライン19の仮想延長線25は、ガイドライン111に交差する。図6(b)の例では、補助ライン19の仮想延長線25は、ガイドライン111に略直交する。
具体的には、補助ライン19は、ライン19a及びライン19bを含む。ライン19a及びライン19bはガイドライン111に向かって延びる。ライン19a及びライン19bは、一直線上に配置される。ライン19a及びライン19bは、ガイドライン111に対して離隔している。従って、本実施形態によれば、ガイドライン111上を搬送車10が移動する際に、補助ライン19を誤検知することを防止できる。
また、ライン19aとライン19bとは、ガイドライン111を挟んで対向している。なお、補助ライン19は、ライン19aのみで構成されていてもよい。
図7及び図8は、搬送車10の走行制御方法の第3例の流れを示す平面図である。図7及び図8に示すように、搬送車10の走行制御方法の第3例は、ステップS11a~ステップS16aを含む。制御部260が記録部220に記憶されたコンピュータプログラムを実行することで、ステップS11a~ステップS16aが実行される。つまり、コンピュータプログラム製品は、制御部260によってコンピュータプログラムが実行された際に、ステップS11a~ステップS16aを実現する。
まず、ステップS11aにおいて、制御部260は、ガイドライン111の外部からガイドライン111に向かって、搬送車10を補助ライン19に沿って移動させる。
次に、ステップS12aにおいて、制御部260が、補助ライン19に沿って搬送車10にガイドライン111を通過させる。その他、ステップS12aは、第2例のステップS12と同様である。
次に、ステップS13aにおいて、制御部260は、搬送車10がガイドライン111を通過して台車2000がガイドライン111上に位置した場合に、補助ライン19上で搬送車10を停止させる。その他、ステップS13aは、第2例のステップS13と同様である。
特に、本実施形態に係る走行制御方法の第3例では、補助ライン19によって搬送車10の自己位置(第1特定箇所P1の位置)を高精度に推定できるため、搬送車10の自己位置に基づいて台車2000の位置(第2特定箇所P2の位置)を高精度に推定できる。従って、ステップS13aでは、台車2000がガイドライン111上に位置したことを高精度に検出できる。その結果、ステップS14aよりも後において、台車2000の位置の調整負担を軽減できる。
次に、ステップS14aにおいて、制御部260は、搬送車10がガイドライン111上に位置するように、補助ライン19上からガイドライン111に向けて搬送車10を回転移動させる。その他、ステップS14aは、第2例のステップS14と同様である。
次に、ステップS15a及びステップS16aが実行される。ステップS15a、S16aは、それぞれ、上記の第2例のステップS15、S16と同様である。
次に、図2、図9及び図10を参照して、搬送車10の走行制御方法の第4例を説明する。走行制御方法の第4例の前段の流れは、図2に示す第2例の走行制御方法の前段の流れと同様である。図9は、走行制御方法の第4例の中段の流れを示す平面図である。図10は、走行制御方法の第4例の後段の流れを示す平面図である。図2、図9及び図10に示すように、搬送車10の走行制御方法の第4例は、ステップS1a~ステップS7aを含む。制御部260が記録部220に記憶されたコンピュータプログラムを実行することで、ステップS1a~ステップS7aが実行される。つまり、コンピュータプログラム製品は、制御部260によってコンピュータプログラムが実行された際に、ステップS1a~ステップS7aを実現する。
まず、図2に示すように、制御部260は、ステップS1a~ステップS3aを実行する。ステップS1a~ステップS3aは、それぞれ、上記の第1例のステップS1~ステップS3と同様である。
次に、図9に示すように、ステップS4aにおいて(ステップS3aよりも後において)、制御部260は、搬送車10をガイドライン111に沿って前進させる。この場合、「前進」は、搬送車10が方向D1に進むことを示す。
具体的には、ステップS4aでは、制御部260は、ステップS3aでの自転後の位置から所定距離だけ搬送車10を前進させる。従って、搬送車10は所定距離だけ前進して停止する。
所定距離は、搬送車10がステップS3aの状態から前進を開始して、台車2000が所定状態になるまでの搬送車10の移動距離よりも短い。従って、方向D1への搬送車10の移動距離を短縮できる。所定状態は、台車2000がガイドライン111上において第1所定範囲内の姿勢を有し、かつ、台車2000がガイドライン上において第2所定範囲内に位置することを示す。台車2000の姿勢、台車2000の位置、第1所定範囲及び第2所定範囲は、それぞれ、上記の第1例のステップS4における台車2000の姿勢、台車2000の位置、第1所定範囲及び第2所定範囲と同様である。
すなわち、制御部260は、台車2000の姿勢が第1例の第1所定範囲内の姿勢になる前、及び/又は、台車2000の位置が第1例の第2所定範囲内になる前に、次のステップS5aの後進を開始できる。例えば、制御部260は、台車2000の相対角度βが、第1例の第1所定範囲として定める第1特定角度よりも大きい第2特定角度以上の状態で、搬送車10の前進を停止する。及び/又は、例えば、制御部260は、台車2000の距離d2が、第1例の第2所定範囲として定める第1特定距離よりも大きい第2特定距離以上の状態で、搬送車10の前進を停止する。
次に、ステップS5aにおいて(ステップS4aよりも後において)、制御部260は、搬送車10を後進させながらガイドライン111から離脱させる。この場合、制御部260は、搬送車10の全体をガイドライン111から離脱させてもよいし、搬送車10の一部を離脱させてもよい。搬送車10の一部の離脱は、例えば、搬送車10の第1特定箇所P1がガイドライン111に対して所定範囲外に位置する状態を示す。
次に、図10に示すように、ステップS6aにおいて(ステップ5aよりも後であって、ステップS7aよりも前において)、制御部260は、台車2000がガイドライン111に沿って後進するように搬送車10を後進させながら、搬送車10をガイドライン111の外部からガイドライン111上に復帰させる。
具体的には、制御部260は、台車2000が後進条件を満たすように搬送車10を後進させながら、搬送車10をガイドライン111の外部からガイドライン111上に復帰させる。この場合の後進条件は、上記の第1例のステップS4の後進条件と同様である。また、搬送車10の復帰は、例えば、搬送車10の第1特定箇所P1がガイドライン111上に配置されることを示す。
次に、ステップS7aにおいて、制御部260は、搬送車10をガイドライン111に沿って後進させて、台車2000を目的領域101に配置する。
以上、図8~図10を参照して説明したように、本実施形態に係る走行制方法の第4例によれば、回転運動である自転(ステップS3a)と、直進運動(ステップS1a、S2a、S4a、S7a)と、離脱及び復帰運動(ステップS5a、S6a)とを組み合わせることで、台車2000を目的領域101に配置する。従って、直接的に後進によって目的領域101に台車2000を配置する場合と比較して、前進及び後進の繰り返しの発生を抑制できる。その結果、搬送車10を後進させることで台車2000を目的領域101に配置する場合に、搬送車10に対して揺動可能に連結されている台車2000を目的領域101に円滑に配置できる。
特に、本実施形態によれば、走行制御方法は、搬送車10を後進させつつガイドライン111から離脱させ(ステップS5a)、更に搬送車10をガイドライン111に復帰させることで、後進条件を満たすように台車2000をガイドライン111上に配置する。従って、ステップS4aで搬送車10が前進する場合の移動距離を短縮できる。その結果、例えば、方向D1の側(図9ではガイドライン111の上側領域)に物体が存在して、搬送車10が方向D1に前進することが困難な場合、又は、方向D1へのガイドライン111の長さを確保し難い場合でも、台車2000を目的領域101に容易に配置できる。
次に、図1及び図11を参照して、ガイドライン111に対する台車2000の相対的な位置の推定について説明する。
図1に示すように、制御部260は、ガイドライン111に対する搬送車10の位置情報及び姿勢情報と、搬送車10に対する台車2000の位置情報及び姿勢情報とに基づいて、ガイドライン111に対する台車2000の相対的な位置を推定する。
ガイドライン111に対する搬送車10の位置情報は、例えば、ガイドライン111から搬送車10の第1特定箇所P1までの最短距離である距離d0によって示される。
図11は、搬送車10、台車2000、及びガイドライン111の一例を示す平面図である。以下の説明においては、台車2000の第2特定箇所P2が結合箇所P3に設定され、軸部材23の位置と自転中心P4とが異なる例を説明する。
図11に示すように、搬送車10における第1特定箇所P1は、例えば、搬送車10におけるライン検出部16(の中心)とすることができる。図11の例では、ライン検出部16はガイドライン111に平面視で重なるように、ガイドライン111上に位置するので、ガイドライン111に対する第1特定箇所P1の相対的な距離(差分)、つまり、ガイドライン111から第1特定箇所P1までの距離d0(図1)は0となる。また、搬送車10の制御部260は、ガイドライン111が2次元コード等で構成されている場合、ガイドライン111の延在方向における位置も2次元コードに紐づけて記憶されるコード情報から取得することができる。あるいは、制御部260は、記録部220のマップ情報におけるガイドライン111の位置情報(座標情報)と、センサやカメラから取得した情報に基づいて推定した現在の搬送車10の位置情報(座標情報)とを比較することにより、ガイドライン111に対する搬送車10(第1特定箇所P1)の相対位置を推定してもよい。
ガイドライン111に対する搬送車10の姿勢情報は、例えば、角度αによって示される。すなわち、角度αは、ガイドライン111の延在方向と、搬送車10の前後方向(図11の例では、中心線CL1)との相対角度で表すことができる。例えば、カメラにより二次元コードやバーコードを使ったガイドライン111を読み取る画像認識方式の場合には、制御部260は、ガイドライン111の検出信号に加えて、検出したコードの情報に基づいて位置情報を生成し、更にコードの画像情報を解析することでガイドライン111と搬送車10の相対角度情報(角度α)を生成することができる。
搬送車10の制御部260は、ガイドライン111に対する搬送車10の位置情報及び姿勢情報と、搬送車10の第1特定箇所P1に対する軸部材23(揺動軸線AX)の相対的な位置情報とに基づいて、ガイドライン111に対する軸部材23の相対な位置を推定する。そして、制御部260は、推定した軸部材23の相対な位置に基づいて、搬送車10の動作を制御することができる。このような構成により、ガイドライン111を検出するセンサを実際に設けていない位置(軸部材23の位置)において、仮想的にガイドライン111を検出して追従するように搬送車10を制御することができる。その結果、搬送車10のガイドライン検出センサの数を減らすことが可能となる。
搬送車10の第1特定箇所P1に対する軸部材23の相対的な位置情報は、例えば、搬送車10のライン検出部16の中心から後側(搬送車10の中心線CL1に沿って後側に向かう方向)にL1の位置と設定するようにしてもよい。記録部220は、第1特定箇所P1から軸部材23までの距離L1を予め記憶している。
なお、本例ではライン検出部16の中心点を第1特定箇所P1としているが、少なくとも第1特定箇所P1は、制御部260がその位置情報及び姿勢情報を取得できる位置に設定される。例えば、図13に示す自転中心P4を第1特定箇所P1に設定すると、第1特定箇所P1に対する軸部材23の相対的な位置情報は、搬送車10の自転中心P4からの距離L2でもよいし、自転中心P4を原点とした2次元座標系(平面座標系)における特定の座標(x1,y1)と設定するようにしてもよい。記録部220は、自転中心P4から軸部材23までの距離L2を予め記憶している。
図11に戻って、ガイドライン111に対する軸部材23の相対的な位置として、例えば、ライン検出部16(第1特定箇所P1)から軸部材23までの距離L1と、上記角度αとを用いて、ガイドライン111から軸部材23までの最短距離である距離d1を算出することができる。算出式としては、d1=L1*sin αとすることができる。また、ガイドライン111に対する搬送車10の姿勢情報から、軸部材23がガイドライン111のどちら側に位置するか(例えば、搬送車10の左右方向を基準として、ガイドライン111の左側か右側か、等)を推定することができる。
一例として、制御部260は、平面視において、軸部材23がガイドライン111上に移動するように搬送車10の駆動部(図20の車輪駆動部280)を制御することができる。具体的には、図11の場合、搬送車10は、角度αが0度となるまでもしくは軸部材23がガイドライン111上に位置するまで自転してもよいし、まず搬送車10の自転中心P4がガイドライン111上に位置するように前進してから角度αが0度となるまで自転してもよいし、後進しながらゆるやかに旋回して、軸部材23がガイドライン111上に位置するまで移動するようにしてもよい。なお、搬送車10の自転中心P4がガイドライン111上に位置するように前進する場合、制御部260は、その前進距離L4を、図13に示すL1とL2の差として算出することができる。なお、記録部220は、距離L4を記憶していてもよい。
図11に戻って、ライン検出部16がガイドライン111を検出している場合、ガイドライン111に対するライン検出部16(第1特定箇所P1)の相対的な位置と姿勢が取得できるので、制御部260は、ガイドライン111に対するライン検出部16の相対的な位置と姿勢と、記録部220に記憶されるライン検出部16に対する軸部材23の相対的な位置(例えば、距離L1)に基づいて、ガイドライン111に対する軸部材23の相対的な位置を推定することができる。
一方、ライン検出部16がガイドライン111を検出していない場合(ガイドライン111上にライン検出部16が位置しない場合)、制御部260は、記録部220に記憶されるマップデータに含まれるガイドライン111の位置情報と、後述の位置推定部265(図20)によって推定した自己位置情報(搬送車10の第1特定箇所P1の位置)との比較によって、ガイドライン111に対する搬送車10の第1特定箇所P1の位置が推定でき、記録部220に記憶される第1特定箇所P1に対する軸部材23の位置情報(例えば、距離L1)に基づいて、ガイドライン111に対する軸部材23の相対的な位置(例えば、距離d1)を推定することができる。一例として、制御部260は、この推定処理を繰り返しながら搬送車10の駆動部を制御して、自転、前進、後進等することで、ガイドライン111上に軸部材23が近付き、軸部材23がガイドライン111に沿うように搬送車10を移動させることができる。
なお、ライン検出部16がガイドライン111上に位置しない場合、例えば、上記の「L1*sin α」に、ガイドライン111からライン検出部16(第1特定箇所P1)までの距離を(ガイドライン111から見た方向に応じて)加算又は減算することにより距離d1を求めることができる。
制御部260は、ガイドライン111に対する軸部材23の相対的な位置を推定するに際して、ガイドライン111の位置と、軸部材23の位置との相対的な差分を取得するようにしてもよい。差分とは、上記の距離d1とすることができる。また、制御部260は、差分として、ガイドライン111の延在方向に対する搬送車10の進行方向(前後方向)の角度を推定するようにしてもよい。
ここで、記録部220(図1)には、現実空間に対応するマップデータ(地図データ)と、該マップデータ上に設定される仮想のガイドライン111の位置データとが予め記憶され、制御部260は、マップデータ上での仮想のガイドライン111の位置データと、搬送車10の現在の位置情報及び姿勢情報とに基づいて、ガイドライン111に対する現在の搬送車10の第1特定箇所P1の相対的な位置情報及びガイドライン111に対する現在の搬送車10の姿勢情報を推定するようにしてもよい。搬送車10の第1特定箇所P1の、現在の位置情報及び現在の姿勢情報は、例えば、後述する位置推定部265及び姿勢検出部235により取得可能である。マップデータ及びガイドライン111の位置情報は、予め記録部220に記憶されていてもよいし、搬送車10が走行しながら取得したセンサデータに基づいて生成してもよい。その場合、例えば、LiDAR等のセンサデータを用いたSLAM (Simultaneous Localization and Mapping)技術を採用することができる。
一例として、制御部260は、搬送車10が後進する際に、平面視において軸部材23がガイドライン111上に位置するか否かを判定し、軸部材23がガイドライン111上に位置する場合には、軸部材23がガイドライン111に沿って移動するように搬送車10の動作を制御し、軸部材23がガイドライン111上に位置していない場合には、軸部材23がガイドライン111に近づくように搬送車10の動作を制御するようにしてもよい。
また、制御部260は、予め定められる一定期間ごとに、ガイドライン111に対する軸部材23の位置を推定するようにしてもよい。一定期間とは、例えば、0.1秒、1秒、5秒等の任意の数値を設定できる。あるいは、一定期間ではなく、他の条件に基づいて、繰返しガイドライン111に対する軸部材23の位置を推定するようにしてもよい。他の条件とは、例えば、所定距離だけ移動することや速度が変化したこと、など、移動の距離や速度に基づく条件でもよい。搬送車10が繰返しガイドライン111に対する位置を確認することで、移動の精度を高めることができる。
更に、制御部260は、路面、壁面又は天井面に設置されたガイドライン111としての2次元コードをスキャンすることにより、搬送車10の現在位置を取得するようにしてもよい。ARマーカー等の2次元コードを利用することで、推定精度を高めることができる。
引き続き図11を参照して、制御部260は、搬送車10に対する台車2000の相対的な位置情報及び姿勢情報に基づいて、ガイドライン111に対する台車2000の第2特定箇所P2の相対的な位置を推定する。
例えば、制御部260は、ガイドライン111に対する軸部材23の相対的な位置を示す位置情報(例えば、距離d1)と、軸部材23に対する台車2000の第2特定箇所P2の位置情報(例えば、距離L5)と、搬送車10に対する台車2000の姿勢情報(例えば、角度β)と、ガイドライン111に対する搬送車10の姿勢情報(例えば、角度α)とに基づいて、ガイドライン111に対する台車2000の第2特定箇所P2の相対的な位置(例えば、距離d2)を推定する。制御部260は、ガイドライン111に対する台車2000の第2特定箇所P2の相対的な位置に基づいて、搬送車10の動作を制御する。
具体的には、台車2000が搬送車10に対して上下方向の軸部材23を支点に揺動(回動)可能に連結されている場合、つまり、搬送車10に対する台車2000の相対的な位置関係が変化する場合には、搬送車10は、搬送車10に対する台車2000の相対的な姿勢を検出する搬送対象物検出部237(後述の図20)を備えることが好ましい。搬送車10に対する台車2000の相対的な姿勢は、例えば、搬送車10の中心線CL1に対する台車2000の中心線CL2の角度βによって示される。
この場合、搬送対象物検出部237は、例えば、軸部材23に設けたエンコーダを含み、予め定めた状態からの変位角度(例えば、角度β)を測定する。又は、例えば、搬送対象物検出部237は、測距センサを含み、搬送車10から台車2000の左右それぞれの特定点までの距離を測定して搬送車10に対する相対角度を推定してもよい。その他、搬送対象物検出部237は、例えば、レゾルバによって相対角度を測定してもよい。
そして、例えば、制御部260は、軸部材23から台車2000の第2特定箇所P2までの距離L5と、搬送車10に対する台車2000の相対的な角度βと、ガイドライン111に対する搬送車10の相対的な角度αとに基づいて、距離d12を算出する。例えば、d12=L5*sin(α-β)、である。更に、制御部260は、ガイドライン111に対する台車2000の第2特定箇所P2の位置として、距離d2を算出する。例えば、d2=d1+d12、である。
これによれば、制御部260は、図3のステップS4、S5、図4のステップS13、図5のステップS14、S16、図7のステップS13a、図8のステップS14a、S16a、及び、図10のステップS5a~S7aにおいて、ガイドライン111に対する台車2000の第2特定箇所P2の位置に基づいて、搬送車10を制御できる。
何れの場合も、制御部260は、ガイドライン111に対する台車2000の第2特定箇所P2の位置を繰り返し推定しながら、台車2000の第2特定箇所P2がガイドライン111上に位置するように駆動部(図20の車輪駆動部280)を制御することで、上記の各ステップS4、S5、S13、S14、S16、S13a、S14a、S16a、S5a~S7aを実現できる。
なお、制御部260は、予め定められる一定期間ごとに、ガイドライン111に対する台車2000の第2特定箇所P2の位置を推定するようにしてもよい。一定期間とは、例えば、0.1秒、1秒、5秒等の任意の数値を設定できる。あるいは、一定期間ではなく、他の条件に基づいて、繰返しガイドライン111に対する第2特定箇所P2の位置を推定するようにしてもよい。他の条件とは、例えば、走行制御方法の各ステップ(図2~図10)の切り替わりのタイミングであってもよいし、所定距離だけ移動することや速度が変化したこと、など、移動の距離や速度に基づく条件でもよい。搬送車10が繰返しガイドライン111に対する台車2000の位置を確認することで、移動の精度を高めることができる。
<搬送車の構成>
図12は、本実施形態に係る搬送車10のハードウェア構成例を示す斜視図である。本例の搬送車10は無人搬送車であるが、人が乗ることが可能な各種車両にも適用可能である。図12の矢印15は搬送車10の進行方向(前方)を示している。進行方向は、基本的に搬送車10の前方であるが、状況に応じて後方でもあり得る。図12に示す通り、搬送車10は、搬送車10の周辺の物体を検出する物体位置検出部12、駆動輪13、及び、非駆動輪14を備えている。また、搬送車10には、台車2000を連結するための連結装置21(図1)の軸部材23が配置される。
物体位置検出部12は、搬送車10に連結される台車2000の位置、姿勢(搬送車10に対する相対的な位置、角度)を検出することができる。また、物体位置検出部12は、搬送車10から物体(台車2000、人等を含む)までの相対的な距離、角度を検出することもできる。物体位置検出部12としては、レーザー光を照射して物体に当たって跳ね返ってくるまでの時間を計測することで物体までの距離や方向を計測するレーザー距離センサ(LiDAR(Light detection and ranging)など)、ミリ波の送信信号と物体に反射して戻ってくる受信信号に基づいて物体までの距離を検出するミリ波レーダー、または、カメラで物体を撮影して撮影画像を解析することで物体までの距離を計測するカメラ式距離センサ、などを適用することができる。本実施形態では、物体位置検出部12を搬送車10の上面部の進行方向前方に配置する例を示したが、これに替えて進行方向の前方側面に配置してもよい。また、前方だけでなく進行方向の後方側面や左右両側面に配置してもよい。
物体位置検出部12は、搬送車10の周囲360度に対して物体を検出するようにしてもよいが、少なくとも搬送車10の進行方向15に対して物体を検出できるように構成されている。進行方向15は、搬送車10の前方であっても後方であってもよい。
図13は、本実施形態に係る搬送車10のハードウェア構成例を示す下面図である。搬送車10の底面には、搬送車10の進行方向15に対する左右両側の位置に駆動輪13が設けられ、各駆動輪13の前後の位置にはそれぞれ非駆動輪14が設けられる。駆動輪13は、モータの回転軸に接続されて駆動される車輪であり、右側の駆動輪13と左側の駆動輪13はそれぞれ個別に制御される。制御部260は、駆動輪13の回転速度を制御することにより、搬送車10の速度を制御することができる。また制御部260は、各駆動輪13の回転速度や回転方向を個別に制御することにより、搬送車10をカーブさせて走行させたり、その場で搬送車10を回転させて向きを変えたり、停止させたり、後進させたりすることが可能となる。
例えば、制御部260は、同じ回転速度及び異なる回転方向に2つの駆動輪13を制御することで、搬送車10を自転中心P4の周りに自転させることができる(例えば、図2のステップS3)。一対の駆動輪13の中間点が自転中心P4である。例えば、制御部260は、異なる回転速度及び同じ回転方向に2つの駆動輪13を制御することで、搬送車10を回転移動させることができる(例えば、図5のステップS14)。
非駆動輪14は、駆動されない車輪で構成され駆動輪13により搬送車10が移動することで受動的に回転する車輪である。非駆動輪14は、例えば、車輪と車軸を固定するフォークを有し、フォークは搬送車10の底面部材と自転可能に接続される回転キャスターで構成される。そのため、搬送車10の進行方向や回転動作に応じて非駆動輪14の車輪回転方向が受動的に変化する。つまり、非駆動輪14は、床面に接触した状態で、360度自在に回転できる自在車輪である。
図13では、2つの駆動輪13と、四隅に4つの非駆動輪14を備える搬送車10のハードウェア構成を例示したが、本開示は当該ハードウェア構成に限定されるものではなく、2つの駆動輪13と2つの非駆動輪14の計4輪の構成を採用することも可能であり、また当該4輪構成において前輪がステアリング可能となる構成を採用することも可能である。
搬送車10の底面には、ガイドライン111を検出するライン検出部16が設けられている。ライン検出部16は、好ましくは駆動輪13よりも搬送車10の進行方向前方に設けられる。これにより、ガイドライン111がカーブしている位置を走行する場合にガイドライン111に追従して走行しやすくなり、また搬送車10及び牽引する台車2000が進行する際にいち早くガイドライン111から情報を受信することでいち早く停止等の処理が実行できる。ライン検出部16は、上述したような誘導方式のタイプに応じたセンサが用いられる。誘導方式として、電磁誘導方式を用いる場合はピックアップコイル、磁気誘導方式を用いる場合は磁気センサ、画像認識方式を用いる場合はカメラがライン検出部16のセンサとして用いられる。ガイドライン111は、床面に限られず、建物の側壁面、天井面等に設けられていてもよく、当該ガイドライン111を認識可能な位置(搬送車10の下面、側面、上面等)に搬送車10のセンサ(カメラを含む)を設置することができる。また、ガイドライン111は、2次元又は3次元のマップデータ上に仮想的に設けられた軌道であってもよい。搬送車10の制御部260は、予め記録部220に記憶されるマップ情報及び軌道情報(移動経路情報)と、カメラやセンサ等の情報に基づいて推定した現在の自己位置情報と、に基づいて、仮想的なガイドライン111に沿って搬送車10の走行を制御するようにしてもよい。
軸部材23の位置の情報は、記録部220に予め記憶される。ライン検出部16の位置は3次元の座標で設定してもよい。図13に示すように、左右の駆動輪13の間の中心点(中間点)が自転中心P4である。本例では、自転中心P4が搬送車10の中心と一致するが、ずれていてもよい。自転中心P4から軸部材23までの距離L2、搬送車10の中心から軸部材23までの距離L3といったように、自転中心P4、搬送車10の中心、軸部材23の相対的な位置関係に関する情報も予め記録部220に記憶される。
図14は、本実施形態に係る搬送車10と台車2000が結合された際のハードウェア構成の一例を示している。台車2000は、連結装置21によって、搬送車10に対して軸部材23を支点に揺動(回動)可能に連結される。
図15は、本実施形態に係る動作エリア130の構成例を示す図である。図15に示す通り、動作エリア130内には、ガイドライン131が敷設されており、自律走行モードで走行する搬送車10が予め設定された走行モード切替位置132においてガイドライン131を検出した場合には、自律走行モードから誘導走行モードに走行制御モードが切り替えられる。また、逆にガイドライン131上を誘導走行モードで走行する搬送車10が予め設定された走行モード切替位置132に入った場合には、誘導走行モードから自律走行モードに走行制御モードが切り替えられる。荷物が収納されている棚やベルトコンベヤや作業員の作業位置の近接位置に搬送車10を誘導するために、ガイドライン131で構成される軌道は、複数の分岐点を介して、棚や作業位置と近接する位置に敷設されている。
ガイドライン131の敷設されていない自律走行エリアを自律走行モードで走行している搬送車10は、走行モード切替位置132に進入し、かつガイドライン131を検出することを条件にガイドライン131に追従する誘導走行モードに走行モードを変更する。他方、ガイドライン131上を誘導走行モードで走行する搬送車10が走行モード切替位置132に進入した場合には、誘導走行モードから自律走行モードに走行制御モードが切り替わり、搬送車10はガイドライン131を離脱して、自律走行を開始する。
図15で示したガイドライン131としては、後述するような、一般的に利用されている様々な誘導方式のガイドラインを適用することができる。具体的には、例えば、ガイドライン131として設置した金属線に微弱な交流電流を流すことで生じる磁場を搬送車側のピックアップコイルで検出する電磁誘導方式、ガイドライン131として床面に敷設した磁気テープを搬送車側の磁気センサで読み取る磁気誘導方式、または誘導ラインとして床面に敷設したコード(バーコード、二次元コードなど)の画像を搬送車10側のカメラで撮影して画像処理を行う画像認識方式などを適用することができる。
図16は、ライン検出部16によりガイドライン111を構成する二次元コード1001を検知した際のガイドライン111と搬送車10の位置関係を示している。ガイドライン111は二次元コード1001に示すような二次元平面上にコード情報が印刷された複数の二次元コード1001がガイドライン111の敷設方向に向かって並んで印刷されている。ライン検出部16は、二次元コード1001を検出すると、当該二次元コード1001から取得したコード情報に基づいて、当該二次元コード1001の位置情報を取得する。
図17は、ライン検出部16によりガイドライン111を構成する磁気テープを検知した際のガイドライン111と搬送車10の位置関係を示している。図17に示すライン検出部16は、磁気テープを検出する磁気センサ17を搬送車10の進行方向に向かって横方向に複数備える構成となっている。ライン検出部16に設けられた複数の磁気センサ17は、それぞれ磁気テープを検出したか否かの検出信号を出力する。図17に示す場合では、ライン検出部16の中央に位置する3つの磁気センサ17Aが磁気テープを検出しており、ライン検出部16の両脇のそれぞれ2つの磁気センサ17Bが磁気テープを検出していない。これにより、ライン検出部16の範囲(複数の磁気センサを含む全体領域)の中で、どこにガイドラインが位置するか(右寄り、左寄り、中央等)を検出できる。
<搬送システムの構成>
次に、本実施形態の搬送システム1000の構成を説明する。搬送システム1000は、本開示の「走行制御システム」の一例に相当する。つまり、搬送システム1000は、台車2000が揺動可能に連結され、台車2000を牽引しつつ現実又は仮想のガイドライン111に沿って移動可能な搬送車10の走行制御システムである。
図18は、本実施形態に係る搬送システム1000の全体構成図の一例を示す図である。搬送システム1000は、複数の搬送車10、搬送対象物である台車2000、搬送車10の状態を表示又は搬送車10へ指令を入力可能な操縦機3000、搬送車10の運行に必要な情報を管理する統括制御装置4000、統括制御装置4000の情報を表示し統括制御装置4000に情報を入力する入出力装置5000、複数の搬送車10と操縦機3000と統括制御装置4000を通信可能に接続する通信ネットワーク6000を備える。操縦機3000、統括制御装置4000、入出力装置5000等の各種装置は、それぞれ別の装置としてもよいし、一部又は全体を一体の装置として形成してもよい。
また、搬送システム1000は通信ネットワーク6000を介して外部システム7000と接続させることもできる。搬送システム1000を製造工場に導入して、製造に必要な部品を収納庫から製造ラインに搬送する場合には、搬送システム1000は、外部システム7000として製造管理システムとシステム間連携を行う。この場合、製造管理システムから製造作業の稼働進捗状況に関する情報を取得すれば、搬送車10による輸送量や輸送経路を製造作業の作業進捗状況に応じて動的に調整することができる。
別の例として、搬送システム1000を物流倉庫に導入して、トラック等で荷物が倉庫に搬入される際に搬入物を搬入口から収納庫に搬送し、また倉庫から荷物を出荷する際に収納庫から出荷される荷物を搬出口へ搬送する場合には、搬送システム1000は、外部システム7000として物流管理システムとシステム間連携を行う。この場合、物流管理システムから搬入に関する情報や出荷に関する情報を取得すれば、搬送車10による輸送量や輸送経路を変更することができる。
搬送システム1000が導入される施設では、一般的に複数の搬送車10が稼働するため、それぞれの搬送車10は通信ネットワーク6000を介して他搬送車10や他構成要素と通信可能に連結される。例えば、搬送車10は自機の検出部で検出した各種検出情報やその他の制御情報を操縦機3000や統括制御装置4000や他搬送車10に送信する。また搬送車10は台車2000と電気的に接続又は近距離通信手段で通信可能に接続され、台車2000から連結状態に関する情報や台車2000の識別情報などを受信可能に構成される。
操縦機3000は、各搬送車10の状態情報を表示する機能と、指定した搬送車10へ指令を入力する機能を備えている。例えば、操縦機3000に表示される搬送車10の状態情報としては、各搬送車10の識別情報、位置(座標、マップ上での位置)、速度、向き、走行履歴、搬送車10に搭載されて搬送車10の電源となるバッテリの充電量の情報、搬送車10が搬送する台車2000の識別情報などである。搬送車10へ入力する指令としては、例えば、搬送車10の目的地(目的位置)に関する指令情報、台車2000との連結や連結解除の動作指令、搬送車10の走行開始指令、搬送車10の停止指令、充電ステーションへの帰還指令などである。
図19に本実施形態における統括制御装置4000の構成図を示す。統括制御装置4000は、施設エリアで運行される複数の搬送車10の状態情報を記録する状態情報記録部4010と、複数の搬送車10の動作シナリオを管理する動作シナリオ管理部4020と、搬送車10のライン検出部16により取得されたガイドライン111の検出情報を含む搬送車10の検出情報に基づいて作業エリアのマップを生成及び更新するマップ管理部4030と、搬送車10の検出情報に基づいてガイドライン111及び搬送車10の異常を判定する異常判定部4040と、外部の入出力装置5000及び通信ネットワーク6000と通信を行う通信部4050と、を有している。
状態情報記録部4010で記録される搬送車10の状態情報は、例えば、運行中の複数の搬送車10により検出される障害物検出位置、ガイドライン検出位置、搬送車10の走行位置の履歴情報、更には、バッテリ充電量の情報、複数の搬送車10と連結された台車2000の識別情報、複数の搬送車10の動作モード(誘導走行モードまたは自律走行モード、仮想センサ利用モード)、その他搬送車10の検出部230で検出される各種検出情報、作業エリアのマップ情報などである。動作シナリオ管理部4020で管理される動作シナリオは、例えば、複数の搬送車10それぞれの目的地の情報、目的地に行き着くまでに実行する複数の動作内容、複数動作の動作順序、複数動作の切替条件を含んでいる。
マップ管理部4030は、搬送車10により検出される障害物検出位置、ガイドライン検出位置、搬送車10の走行位置の履歴情報に基づいて、作業エリア内の障害物とガイドライン111の位置情報を含むマップを生成する。更に、マップ管理部4030は、1台又は複数台の搬送車10により蓄積されたガイドライン111の検出位置の情報に基づいて、マップに登録されているガイドライン111や作業エリアの情報を更新する。
異常判定部4040は、マップ情報に登録されているガイドライン111の位置情報と、搬送車10で検出されるガイドライン111の検出位置情報を含む搬送車10の検出情報に基づいて、ガイドライン111及び搬送車10の異常を判定する。
入出力装置5000は、統括制御装置4000の状態情報記録部4010に記録された情報、マップ情報(マップの更新情報を含む)及び異常判定部4040による判定結果などを表示するとともに、動作シナリオ管理部4020で管理される動作シナリオを入力することで新規に動作シナリオを追加したり、更新したりすることができる。入出力装置5000に入力される情報は、例えば、任意の搬送車10の目的地が誘導走行エリアの作業エリアであることや、誘導走行エリアに進入して作業エリアに行き着くための動作内容、動作切替条件などを含んでいる。
<搬送車の機能>
図20を用いて搬送車10の有する機能を説明する。図20は本実施形態に係る搬送車10の機能構成図を示す図である。搬送車10は、搬送車10の外部の台車2000や通信ネットワーク6000と通信を行う通信部210と、記録部220(記憶部を含む)と、後述する各種センサを備えた検出部230と、駆動輪13を駆動させる車輪駆動部280と、入力部240と、表示部250と、制御部260と、を備えている。制御部260は、搬送車10の車輪駆動部280を制御することにより搬送車10の動作を制御する。車輪駆動部280は、本開示の「駆動部」の一例に相当する。
記録部220は、通信部210が外部から受信した情報、検出部230が検出した検出情報、制御部260が生成、出力した情報を記録する機能を有する。記録部220は、搬送車10の第1特定箇所P1の位置情報、台車2000の第2特定箇所P2の位置情報等を記憶する。記録部220は、搬送車10の目的位置、移動経路、移動履歴等の情報を記憶することができる。記録部220は、目的位置までの距離に応じた速度情報、当該速度情報を算出するための算出式(プログラム)情報等を記憶することができる。
検出部230は、物体位置検出部12、ライン検出部16、走行距離検出部233、衝突検出部234、姿勢検出部235、充電量検出部236、及び、搬送対象物検出部237を備えている。物体位置検出部12は、前述した通り、レーザー光を照射して物体に当たって跳ね返ってくるまでの時間を計測することで物体までの距離や方向を計測するレーザー距離センサ(LiDAR(Light detection and ranging)など)、ミリ波の送信信号と物体に反射して戻ってくる受信信号に基づいて物体までの距離を検出するミリ波レーダー、または、カメラで物体を撮影して撮影画像を解析することで物体までの距離を計測するカメラ式距離センサ、などで構成される。制御部260は、検出部230の情報に基づいて、搬送車10の現在位置、現在速度の情報を推定することができる。検出部230は、搬送車10の現在位置を検出するGNSS等を含む位置センサ、搬送車10の速度を検出する速度センサを備える。
ライン検出部16は、上述したように誘導方式のタイプに応じたセンサが用いられる。誘導方式として、電磁誘導方式を用いる場合はピックアップコイル、磁気誘導方式を用いる場合は磁気センサ、画像認識方式を用いる場合はカメラがライン検出部16のセンサとして用いられる。ライン検出部16は、ガイドライン111の直上に位置している場合にガイドライン111を検出して検出信号を出力する。また、カメラにより二次元コードやバーコードを使ったガイドライン111を読み取る画像認識方式の場合には、ガイドライン111の検出信号に加えて、検出したコードの情報に基づいて位置情報を生成し、更にコードの画像情報の解析を行うことでガイドライン111と搬送車10の相対角度情報(角度α)を生成することができる。
走行距離検出部233は、非駆動輪14または駆動輪13の回転数を検出し、当該回転数の検出情報と非駆動輪14または駆動輪13の直径(または円周長)の情報に基づいて搬送車10の走行距離及び走行速度を計測することができる(この場合、走行距離検出部233が、速度センサとして機能し得る)。また、代替手段として、ミリ波を水平方向の任意の方向(壁面や床面でもよい)に照射して反射波を検出するミリ波センサを用いて、搬送車10の走行速度を検出し、当該走行速度を積分することで走行距離を推定する手段を適用することも可能である。また、上記した方法以外のあらゆる走行距離を計測したり、走行速度を取得したりする方法を適用可能である。
衝突検出部234は、搬送車10が物体や人に衝突したことを検出する機能を有する。具体的には、ジャイロセンサなどにより加速度を検出して、加速度の急変を検出した場合に衝突が発生したと判断することができる。代替手段として、搬送車10の進行方向前方にバンパーと共に物理スイッチを設け、当該物理スイッチが押されたことにより衝突が発生したと判断する手段を適用することも可能である。また、上記以外の衝突検知方法を適用することができる。衝突検出部234が衝突を検出した場合には、搬送車10を停止させ、衝突発生情報と衝突発生位置の少なくともいずれかの情報を記録部220に記録すると共に、当該情報を統括制御装置4000及び操縦機3000に情報を通知する。姿勢検出部235は、磁気コンパス又は左右駆動輪の回転数の情報又は車輪のステアリング情報に基づいて、搬送車10(自車)の向き(姿勢)を検出する。
充電量検出部236は、搬送車10の電源であるバッテリの充電量を検出する。充電量検出部236で検出した充電量が所定値以下となった場合には、充電が必要と判断して、充電量減少の検知情報を記録部220に記録すると共に、当該情報を統括制御装置4000及び操縦機3000に情報を通知する。更に、充電量が所定値以下であることを検出した場合に、上記処理に加えて充電スポットへ自動で移動して充電を行うようにしてもよい。なお、充電量検出部236が要充電と判断するための前記所定値は、当該搬送車10に設定された目的地までの距離と当該搬送車10に連結された台車2000の重量の少なくともいずれかに基づいて予め設定された値であってもよい。搬送対象物検出部237は、搬送車10に対する台車2000の姿勢(例えば、図1の角度β)を検出する。
入力部240は、搬送車10に搭載された物理スイッチ又はタッチパネル等で構成され、ユーザは動作指令等を直接搬送車10に入力することができる。表示部250は、例えば、搬送車10に搭載された液晶パネル等で構成され、搬送車10の状態情報(検出部230での各種検出情報、走行モードの種別、現在実行中の動作シナリオなど)を表示することができる。
制御部260は、動作判定部261と、モード切替部262と、連結制御部263と、表示制御部264と、位置推定部265と、走行制御部266を備えている。具体的には、制御部260は、記録部220に記憶されたコンピュータプログラムを実行することで、動作判定部261、モード切替部262、連結制御部263、表示制御部264、位置推定部265、及び、走行制御部266として機能する。
動作判定部261は、動作シナリオ管理部4020から取得した自搬送車の動作シナリオに基づいて搬送車10の動作を判定する。モード切替部262は、動作シナリオ等により予め定められた条件、または入力部240で入力された指令に基づいて、搬送車10の走行モードを誘導走行モードと自律走行モードの間でモードの切り替えを行う。連結制御部263は、動作シナリオ等で予め定められた条件、または入力部240で入力された指令に基づいて、連結装置21(図1)の動作を制御して、台車2000との連結/非連結を制御する。表示制御部264は、前述した入力部240の入力IF及び表示部250を制御する。
位置推定部265は、走行距離検出部233で検出した走行距離と、姿勢検出部235で検出した自車の向きの情報と、記録部220に記録されているエリア全体のマップ情報に基づいて、走行エリア全体における自車の現在位置、現在姿勢を含む所定時刻の位置、姿勢を推定することができる。または、位置推定部265は、物体位置検出部12で計測した自車から物体までの距離や方向の情報と、記録部220に記録されているエリア全体のマップ情報とに基づいて走行エリア全体における自車の位置、姿勢を推定することも可能である。マップ情報にガイドライン111が含まれる場合、ガイドライン111に対する相対的な位置及び姿勢も推定可能である。あるいは、搬送車10が、二次元コードで構成されたガイドライン111上を走行している場合には、二次元コードの識別情報と上記マップ情報とに基づいて走行エリア全体における自車の位置、姿勢を推定することも可能である。位置推定部265は、搬送車10に設けたGNSS等によって位置情報を取得することも可能である。
位置推定部265は、推定した自己位置情報(自車位置情報)と、物体位置検出部12で検出した自車から物体までの距離情報に基づいて、物体が存在する位置を推定することができる。また、ライン検出部16でガイドライン111を検出した際の自己位置情報(自車位置情報)、姿勢情報に基づいて、ガイドライン111の設置位置、延在角度を推定することも可能である。
走行制御部266は、動作判定部261、モード切替部262による判定情報の少なくともいずれかに基づいて、搬送車10の走行を制御する。走行制御部266は、搬送車10の前進、後進、停止、回転移動、自転、直進速度、回転移動速度、及び、自転速度を制御することができる。具体的には、走行制御部266は、車輪駆動部280の有する右輪駆動部281、左輪駆動部282をそれぞれ個別に制御する。右輪駆動部281と左輪駆動部282は例えばモータで構成され、各駆動輪13の回転速度や回転方向を個別に制御することで、搬送車10を任意の軌跡半径でカーブさせて走行させたり、搬送車10をその場で回転させて向きを変えたりすることが可能となる。
走行制御部266は、例えば、車輪駆動部280を制御することで駆動輪13を制御し、図1~図10を参照して説明した走行制御方法の第1例、第2例、第3例、及び、第4例を実行する。
制御部260は、例えばガイドライン111に沿って移動する際に、ガイドライン111の延在方向における搬送車10の現在位置と目的位置との差分の距離に基づいて、搬送車10の走行速度を制御する走行制御処理、を実行することができる。走行制御部266は、搬送車10の現在位置情報及び目的位置情報に基づいて、ガイドライン111の延在方向における搬送車10の現在位置と目的位置との差分の距離を算出する距離推定処理を行ってもよい。
距離推定処理は、例えば搬送車10の現在位置情報としての位置座標と、及び目的位置情報としての目的位置の位置座標との差分を算出することにより、ガイドライン111の延在方向における搬送車10の現在位置と目的位置との差分の距離を推定することができる。
なお、制御部260は、搬送車10が目的位置に向けて前進する際に、目的位置までの距離に基づいて走行制御処理を実行するとともに、搬送車10が目的位置を通り過ぎた場合には、距離に基づいて後進方向に、前進の場合と同様に速度制御する走行制御処理を実行するようにしてもよい。この場合、仮に目的位置を通り過ぎたとしても、後進しながら前進時と同様に高い精度で効率よく目的位置に到達することができる。
制御部260は、搬送車10に設けたセンサからの情報に基づいて、ガイドライン111の延在方向に対する搬送車10の角度を推定する角度推定処理と、搬送車10に設けたセンサからの情報に基づいて、ガイドライン111の延在方向に垂直な方向におけるガイドライン111と搬送車10の第1特定箇所P1との相対位置を推定する相対位置推定処理と、搬送車10の角度及び相対位置に基づいて、搬送車10の向きを制御するようにしてもよい。例えば、カメラにより二次元コードやバーコードを使ったガイドライン111を読み取る画像認識方式の場合には、ガイドライン111の検出信号に加えて、検出したコードの情報に基づいて位置情報を生成し、更にコードの画像情報の解析を行うことでガイドライン111と搬送車10の相対角度情報を生成するようにしてもよい。例えば、制御部260は、最終的に搬送車10の角度(向き)がガイドライン111の延在方向に一致(または角度の差が予め定められた所定値(例えば1°、3°、5°等)以下)するように、また、ガイドライン111の延在方向に垂直な方向におけるガイドライン111と搬送車10とのずれが予め定めた所定値以下であるように、搬送車10を走行制御してもよい。例えば、ガイドライン111に対して垂直な方向におけるガイドライン111と搬送車10とのずれが所定値を超えていると判定した場合に、搬送車10がガイドライン111に近づくように、搬送車10の向き(角度)をガイドライン111側に向け、前進又は後進するよう駆動制御することができる。また、ガイドライン111に対して垂直な方向におけるガイドライン111と搬送車10とのずれが所定値以下である場合には、ガイドライン111の向きと、搬送車10が同じ向きとなるよう駆動制御することができる。
制御部260は、距離推定処理において、位置推定部265から取得する現在位置と、記録部220から取得する目的位置との差分に基づいて、現在位置から目的位置までの距離を算出するようにしてもよい。あるいは、床や壁に設けられた2次元コードを画像認識して、当該2次元コードに関連付けられた、上記距離(現在位置から目的位置までの距離)の情報を取得してもよい。
制御部260は、搬送車10の速度センサで取得する速度情報に基づいて、走行制御処理を実行するようにしてもよい。速度センサの種類は特に限定されず、例えば駆動輪13の回転数や回転速度を検出するセンサ等の任意のセンサや、カメラを速度センサとして用いることができる。制御部260は、予め定められる一定期間ごとに、搬送車10の速度を検出し、当該速度が目標速度に一致しているかを判定して、繰り返し調整しながら走行制御することができる。すなわち、制御部260は、実際の速度と目標速度との差が所定値(予め定められた閾値等)以下であるか否かを判定し、所定値以下であれば制御を維持し、所定値を超えている場合には、目標速度に近づくように減速又は加速制御することができる。このような速度調整処理を繰り返すことで、目標速度からのずれを抑制(低減)することができる。
制御部260は、予め定められる一定期間ごとに、繰り返し距離推定処理を実行することができる。同様に、一定期間ごとに、ガイドライン111に対する軸部材23の位置及び姿勢の推定処理を実行したり、差分を算出したりしてもよい。これにより、軸部材23がガイドライン111上に位置した状態で後進する際の精度をさらに高めることができる。
制御部260は、路面に設置された2次元コードをセンサ(カメラ)でスキャンすることにより、2次元コードに関連付けられた現在位置、目的位置までの距離、及び/又はその地点での目標速度等の情報を取得するようにしてもよい。例えば、2次元コードに目標速度の情報を関連付けておけば、搬送車10は2次元コードから目標速度の情報を取得し、上記速度制御を実行することができる。
次に、図20及び図21を参照して、本実施形態に係る走行制御方法の一例を説明する。走行制御方法は、台車2000が揺動可能に連結され、台車2000を牽引しつつ現実又は仮想のガイドライン111に沿って移動可能な搬送車10の走行を制御する方法である。図21は、走行制御方法の一例を示すフローチャートである。図21に示すように、搬送車10の走行制御方法は、ステップS101~ステップS103を含む。制御部260が記録部220に記憶されたコンピュータプログラムを実行することで、ステップS101~ステップS103が実行される。つまり、コンピュータプログラム製品は、制御部260によってコンピュータプログラムが実行された際に、ステップS101~ステップS103を実現する。
まず、ステップS101において、制御部260は、ガイドライン111の外部からガイドライン111に向かって、搬送車10の後方に台車2000が連結された搬送車10を移動させる。ステップS101は、例えば、図2のステップS1、S1a、図4のステップS11、又は、図7のステップS11aと同様である。
次に、ステップS102において、制御部260は、搬送車10又は台車2000がガイドライン111上に位置する状態において、搬送車10を回転運動させる。回転運動後のガイドライン111上での搬送車10の向きは、回転運動前の搬送車10の向きと異なる。ステップS102は、例えば、図2のステップS3、S3a、図5のステップS14、又は、図8のステップS14aと同様である。
次に、ステップS103において、制御部260は、搬送車10を後進させて、台車2000を目的領域101に配置する。ステップS103は、例えば、図3のステップS5、図5のステップS16、図8のステップS16a、又は、図10のステップS7aと同様である。
以上、図21を参照して説明したように、本実施形態に係る走行制御方法によれば、回転運動(ステップS102)と、直進運動(ステップS101、S103)とを組み合わせることで、台車2000を目的領域101(図1)に配置する。従って、直接的に後進によって目的領域101に台車2000を配置する場合と比較して、前進及び後進の繰り返しの発生を抑制できる。その結果、搬送車10を後進させることで台車2000を目的領域101に配置する場合に、搬送車10に対して揺動可能に連結されている台車2000を目的領域101に円滑に配置できる。
(変形例)
図20を参照して、上記の実施形態の変形例を説明する。以下、主に相違点を説明する。制御部260は、物体位置検出部12による物体の検出結果に基づいて、複数の後進制御のうちから1つの後進制御を選択する。そして、制御部260は、選択した後進制御に従って搬送車10を制御し、台車2000を目的領域101に配置する。
複数の後進制御は、第1後進制御、第2後進制御、第3後進制御、及び、第4後進制御のうちの2以上の後進制御を示す。
第1後進制御は、搬送車10の自転と、搬送車10の後進とを組み合わせて、台車2000等の搬送対象物を目的領域101に配置する制御である。例えば、第1後進制御は、図2及び図3に示す走行制御方法の第1例によって示される制御である。
第2後進制御は、搬送車10の回転移動と、搬送車10の後進とを組み合わせて、台車2000等の搬送対象物を目的領域101に配置する制御である。例えば、第2後進制御は、図4及び図5に示す走行制御方法の第2例によって示される制御である。
第3後進制御は、補助ライン19に沿った搬送車10の移動と、搬送車10の回転移動と、搬送車10の後進とを組み合わせて、台車2000等の搬送対象物を目的領域101に配置する制御である。例えば、第3後進制御は、図7及び図5に示す走行制御方法の第3例によって示される制御である。
第4後進制御は、搬送車10の自転と、搬送車10のガイドライン111からの離脱及び復帰と、搬送車10の後進とを組み合わせて、台車2000等の搬送対象物を目的領域101に配置する制御である。例えば、第4後進制御は、図8~図10に示す走行制御方法の第4例によって示される制御である。
制御部260は、物体位置検出部12がガイドライン111に交差する方向において物体を検出した場合は、第1後進制御を選択する。第1後進制御では、ガイドライン111に交差する方向への搬送車10の移動を実行しないからである。なお、この場合、制御部260は第4後進制御を選択してもよい。
また、制御部260は、物体位置検出部12がガイドライン111に交差する方向において検出した物体から搬送車10までの距離が所定距離以下の場合に、第1後進制御を選択する。なお、この場合、制御部260は第4後進制御を選択してもよい。
制御部260は、物体位置検出部12がガイドライン111の延びる方向において物体を検出した場合は、第2後進制御又は第3後進制御を選択する。第2後進制御及び第3後進制御では、ガイドライン111に沿った搬送車10の移動距離が第1後進制御及び第4後進制御よりも短いからである。
また、制御部260は、物体位置検出部12がガイドライン111の延びる方向において検出した物体から搬送車10までの距離が所定距離以下の場合に、第2後進制御又は第3後進制御を選択してもよい。
例えば、制御部260は、物体位置検出部12による物体の検出結果に基づいて、第1後進制御及び第2後進制御のうちから1つの後進制御を選択する。又は、例えば、制御部260は、物体位置検出部12による物体の検出結果に基づいて、第1後進制御及び第3後進制御のうちから1つの後進制御を選択する。
以上のように、本実施形態に係る変形例においては、台車2000を目的領域101に配置する際の経路及びその周辺における物体の存否、又は、搬送車10から物体までの距離に基づいて、複数の後進制御のうちから最適な後進制御を選択できる。
また、例えば、記録部220は、複数の後進制御の各々の優先順位を示す情報を予め記憶していてもよい。この場合は、制御部260は、複数の後進制御のうち、いずれの後進制御でも可能な場合は、予め記憶された優先順位に従って、複数の後進制御のうちから1つの後進制御を選択する。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
本明細書において説明した装置は、単独の装置として実現されてもよく、一部または全部がネットワークで接続された複数の装置(例えばクラウドサーバ)等により実現されてもよい。例えば、搬送車の制御部260および記録部220は、互いにネットワークで接続された異なるサーバにより実現されてもよいし、例えば、搬送システム1000の統括制御装置4000によって実現されてもよい。また、本明細書において説明した搬送システム1000では、操縦機3000、統括制御装置4000、入出力装置5000がそれぞれネットワークを介して接続された別個のハードウェアで構成される例を説明したが、操縦機3000、統括制御装置4000、入出力装置5000の機能の一部又は全部が搬送車10に実装されていてもよい。
本明細書において説明した装置による一連の処理は、ソフトウェア、ハードウェア、及びソフトウェアとハードウェアとの組合せのいずれを用いて実現されてもよい。本実施形態に係る制御部260の各機能を実現するためのコンピュータプログラムを作製し、PC等に実装することが可能である。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリ等である。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信されてもよい。
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
なお、以下のような構成も本開示の技術的範囲に属する。
(項目1)
搬送対象物が揺動可能に連結され、前記搬送対象物を牽引しつつ現実又は仮想のガイドラインに沿って移動可能な搬送車の走行制御方法であって、
制御部が、前記ガイドラインの外部から前記ガイドラインに向かって、前記搬送車の後方に前記搬送対象物が連結された前記搬送車を移動させるステップと、
前記制御部が、前記搬送車又は前記搬送対象物が前記ガイドライン上に位置する状態において、前記搬送車を回転運動させるステップと、
前記制御部が、前記搬送車を回転運動させる前記ステップよりも後において、前記搬送車を後進させて、前記搬送対象物を目的領域に配置するステップと、を含み、
前記搬送車を回転運動させる前記ステップでは、回転運動後の前記ガイドライン上での前記搬送車の向きは、回転運動前の前記搬送車の向きと異なる、走行制御方法。
(項目2)
前記搬送車を移動させる前記ステップよりも後であって、前記搬送車を回転運動させる前記ステップよりも前において、前記制御部が、前記搬送車を前記ガイドライン上に停止させるステップを更に含み、
前記搬送車を回転運動させる前記ステップでは、前記搬送車が前記ガイドライン上で前方を向くように、前記ガイドライン上で前記搬送車を自転させ、
前記走行制御方法は、前記搬送車を回転運動させる前記ステップよりも後であって、前記搬送対象物を前記目的領域に配置する前記ステップよりも前において、前記制御部が、前記搬送車を前記ガイドラインに沿って前進させるステップを更に含む、項目1に記載の走行制御方法。
(項目3)
前記搬送車を前進させる前記ステップでは、前記搬送対象物が後進条件を満たすまで、前記搬送車を前進させ、
前記後進条件は、前記搬送対象物が前記ガイドライン上において第1所定範囲内の姿勢を有し、かつ、前記搬送対象物が前記ガイドライン上において第2所定範囲内に位置することを示し、
前記搬送対象物を前記目的領域に配置する前記ステップは、前記後進条件が満たされた後に実行される、項目2に記載の走行制御方法。
(項目4)
前記制御部が、前記搬送車に前記ガイドラインを通過させるステップと、
前記制御部が、前記搬送車が前記ガイドラインを通過して前記搬送対象物が前記ガイドライン上に位置した場合に、前記搬送車を停止させるステップと、を更に含み、
前記搬送車を回転運動させる前記ステップでは、前記搬送車が前記ガイドライン上に位置するように、前記ガイドラインの外部から前記ガイドラインに向けて前記搬送車を回転移動させる、項目1に記載の走行制御方法。
(項目5)
前記搬送対象物を前記目的領域に配置する前記ステップは、回転移動によって前記搬送車が前記ガイドライン上に位置した後に前進することなく実行される、項目4に記載の走行制御方法。
(項目6)
前記搬送車に前記ガイドラインを通過させる前記ステップでは、前記ガイドラインを通過するように前記搬送車を案内する現実又は仮想の補助ラインに沿って、前記搬送車を移動させる、項目4又は項目5に記載の走行制御方法。
(項目7)
前記補助ラインは、前記ガイドラインに対して離隔しており、
前記補助ラインの仮想延長線は、前記ガイドラインに交差する、項目6に記載の走行制御方法。
(項目8)
前記搬送車を回転運動させる前記ステップよりも後において、前記制御部が、前記搬送車を前記ガイドラインに沿って前進させるステップと、
前記搬送車を前進させる前記ステップよりも後において、前記制御部が、前記搬送車を後進させながら前記ガイドラインから離脱させるステップと、
前記搬送車を離脱させる前記ステップよりも後であって、前記搬送対象物を前記目的領域に配置する前記ステップよりも前において、前記制御部が、前記搬送対象物が前記ガイドラインに沿って後進するように前記搬送車を後進させながら、前記搬送車を前記ガイドラインの外部から前記ガイドライン上に復帰させるステップと、を更に含む、項目1に記載の走行制御方法。
(項目9)
搬送対象物が揺動可能に連結され、前記搬送対象物を牽引しつつ現実又は仮想のガイドラインに沿って移動可能な搬送車の走行制御システムであって、
前記搬送車の駆動部を制御することにより前記搬送車の動作を制御する制御部を備え、
前記制御部は、
前記ガイドラインの外部から前記ガイドラインに向かって、前記搬送車の後方に前記搬送対象物が連結された前記搬送車を移動させ、
前記搬送車又は前記搬送対象物が前記ガイドライン上に位置する状態において、前記搬送車を回転運動させ、
前記搬送車の回転運動よりも後において、前記搬送車を後進させて、前記搬送対象物を目的領域に配置し、
回転運動後の前記ガイドライン上での前記搬送車の向きは、回転運動前の前記搬送車の向きと異なる、走行制御システム。
(項目10)
搬送対象物が揺動可能に連結され、前記搬送対象物を牽引しつつ現実又は仮想のガイドラインに沿って移動可能な搬送車の走行を制御するプログラムであって、
前記搬送車の駆動部を制御することにより前記搬送車の動作を制御する制御部に、
前記ガイドラインの外部から前記ガイドラインに向かって、前記搬送車の後方に前記搬送対象物が連結された前記搬送車を移動させる処理と、
前記搬送車又は前記搬送対象物が前記ガイドライン上に位置する状態において、前記搬送車を回転運動させる処理と、
前記搬送車の回転運動よりも後において、前記搬送車を後進させて、前記搬送対象物を目的領域に配置させる処理と、を実行させ、
回転運動後の前記ガイドライン上での前記搬送車の向きは、回転運動前の前記搬送車の向きと異なる、プログラム。