IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ニチユ三菱フォークリフト株式会社の特許一覧

特許7514819移動体の制御方法、移動体及びプログラム
<>
  • 特許-移動体の制御方法、移動体及びプログラム 図1
  • 特許-移動体の制御方法、移動体及びプログラム 図2
  • 特許-移動体の制御方法、移動体及びプログラム 図3
  • 特許-移動体の制御方法、移動体及びプログラム 図4
  • 特許-移動体の制御方法、移動体及びプログラム 図5
  • 特許-移動体の制御方法、移動体及びプログラム 図6
  • 特許-移動体の制御方法、移動体及びプログラム 図7
  • 特許-移動体の制御方法、移動体及びプログラム 図8
  • 特許-移動体の制御方法、移動体及びプログラム 図9
  • 特許-移動体の制御方法、移動体及びプログラム 図10
  • 特許-移動体の制御方法、移動体及びプログラム 図11
  • 特許-移動体の制御方法、移動体及びプログラム 図12
  • 特許-移動体の制御方法、移動体及びプログラム 図13
  • 特許-移動体の制御方法、移動体及びプログラム 図14
  • 特許-移動体の制御方法、移動体及びプログラム 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-03
(45)【発行日】2024-07-11
(54)【発明の名称】移動体の制御方法、移動体及びプログラム
(51)【国際特許分類】
   B66F 9/24 20060101AFI20240704BHJP
   G05D 1/43 20240101ALI20240704BHJP
【FI】
B66F9/24 L
G05D1/43
B66F9/24 A
【請求項の数】 9
(21)【出願番号】P 2021214920
(22)【出願日】2021-12-28
(65)【公開番号】P2023098266
(43)【公開日】2023-07-10
【審査請求日】2023-03-29
(73)【特許権者】
【識別番号】000232807
【氏名又は名称】三菱ロジスネクスト株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】▲高▼尾 健司
【審査官】山田 拓実
(56)【参考文献】
【文献】特開2020-001906(JP,A)
【文献】特開平03-211199(JP,A)
【文献】特開2020-193061(JP,A)
【文献】特開昭61-174099(JP,A)
【文献】特開2021-024728(JP,A)
【文献】特開平05-186200(JP,A)
【文献】米国特許出願公開第2018/0120465(US,A1)
【文献】中国特許出願公開第107473139(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
B66F 9/00-11/04
G05D 1/00-1/87
(57)【特許請求の範囲】
【請求項1】
自動で移動する移動体の制御方法であって、
搬送対象となる目標物の、前記移動体から前記目標物に向かう第1方向に対して交差する第2方向における、前記移動体に対する位置を検出するステップと、
前記目標物の位置の検出結果に基づき、前記移動体に設けられたフォークが前記目標物に形成された穴に挿入された状態での、前記第2方向における前記移動体に対する前記目標物の位置を示す、前記目標物の位置情報を取得するステップと、
前記位置情報に基づき、前記フォークが前記穴に挿入された状態で前記フォークを前記第2方向側に移動させることで、前記目標物と前記移動体との前記第2方向における中心位置が近づくように前記目標物を前記第2方向に移動させて、前記第2方向における前記移動体に対する前記目標物の位置を調整するステップと、
前記第2方向における前記目標物の位置が調整された状態で、前記目標物を荷下ろしする設置領域に向かう経路に沿って前記移動体を移動させるステップと、
前記第2方向における前記目標物の位置が調整された状態で、前記目標物を荷下ろしするステップと、
を含む、
移動体の制御方法。
【請求項2】
前記目標物の位置を検出するステップにおいては、前記移動体に対する前記目標物の姿勢も検出し、
前記目標物の位置情報を取得するステップにおいては、前記位置情報として、前記フォークが前記穴に挿入された状態での、前記移動体に対する前記目標物の姿勢を示す情報も取得する、請求項に記載の移動体の制御方法。
【請求項3】
前記目標物を検出するステップにおいては、
前記移動体に設けられた第1センサにより、前記目標物に対してレーザ光を照射し、
前記目標物からの反射光を検出することで、前記移動体に対する前記目標物の位置及び姿勢の少なくとも一方を検出する、請求項又は請求項に記載の移動体の制御方法。
【請求項4】
前記目標物を検出するステップにおいては、
照射方向を固定した状態で前記第1センサに前記レーザ光を照射させて、前記目標物からの反射光により、前記第1センサの前記第1方向に前記目標物が位置しているか否かを判断することで、前記第2方向における、前記移動体に対する前記目標物の位置を検出する、請求項に記載の移動体の制御方法。
【請求項5】
前記目標物の位置を検出するステップにおいては、前記移動体に設けられた第2センサにより前記目標物を撮像することで、前記移動体に対する前記目標物の位置及び姿勢の少なくとも一方を検出する、請求項から請求項のいずれか1項に記載の移動体の制御方法。
【請求項6】
前記目標物の位置を検出するステップにおいては、
前記穴に挿入された前記フォークの前記第2方向の側面を、前記穴の内周面に接触させることにより、前記移動体に対する前記目標物の位置を検出する、請求項から請求項のいずれか1項に記載の移動体の制御方法。
【請求項7】
前記位置情報に基づき設定された、前記目標物を荷下ろしする搬送領域に向かう経路を取得するステップと、
前記経路に沿って前記移動体を移動させるステップと、
前記目標物を前記搬送領域で荷下ろしするステップと、
を更に含む、請求項から請求項のいずれか1項に記載の移動体の制御方法。
【請求項8】
自動で移動する移動体であって、
搬送対象となる目標物の、前記移動体から前記目標物に向かう第1方向に対して交差する第2方向における、前記移動体に対する位置を検出させる検出制御部と、
前記目標物の位置の検出結果に基づき、前記移動体に設けられたフォークが前記目標物に形成された穴に挿入された状態での、前記第2方向における前記移動体に対する前記目標物の位置を示す、前記目標物の位置情報を取得する位置情報取得部と、
前記位置情報に基づき、前記フォークが前記穴に挿入された状態で前記フォークを前記第2方向側に移動させることで、前記目標物と前記移動体との前記第2方向における中心位置が近づくように前記目標物を前記第2方向に移動させて、前記第2方向における前記移動体に対する前記目標物の位置を調整するフォーク制御部と、
前記第2方向における前記目標物の位置が調整された状態で、前記目標物を荷下ろしする設置領域に向かう経路に沿って前記移動体を移動させる移動制御部と、
を含み、
前記フォーク制御部は、前記第2方向における前記目標物の位置が調整された状態で、前記目標物を荷下ろしする
移動体。
【請求項9】
自動で移動する移動体の制御方法をコンピュータに実行させるプログラムであって、
搬送対象となる目標物の、前記移動体から前記目標物に向かう第1方向に対して交差する第2方向における、前記移動体に対する位置を検出するステップと、
前記目標物の位置の検出結果に基づき、前記移動体に設けられたフォークが前記目標物に形成された穴に挿入された状態での、前記第2方向における前記移動体に対する前記目標物の位置を示す、前記目標物の位置情報を取得するステップと、
前記位置情報に基づき、前記フォークが前記穴に挿入された状態で前記フォークを前記第2方向側に移動させることで、前記目標物と前記移動体との前記第2方向における中心位置が近づくように前記目標物を前記第2方向に移動させて、前記第2方向における前記移動体に対する前記目標物の位置を調整するステップと、
前記第2方向における前記目標物の位置が調整された状態で、前記目標物を荷下ろしする設置領域に向かう経路に沿って前記移動体を移動させるステップと、
前記第2方向における前記目標物の位置が調整された状態で、前記目標物を荷下ろしするステップと、
を、コンピュータに実行させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、移動体の制御方法、移動体及びプログラムに関する。
【背景技術】
【0002】
例えばフォークリフトなどの移動体を、自動的に移動させる技術が知られている。例えば特許文献1には、無人フォークリフトに設けられた近赤外カメラによりパレットを検出することで、無人フォークリフトをパレットに対して正対するように誘導する旨が記載されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開平11-278799号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、移動体をパレットなどの目標物に対して正対するように誘導したとしても、移動体に対する目標物のズレが残り、目標物を適切に搬送できなくなるおそれがある。
【0005】
本開示は、上述した課題を解決するものであり、目標物を適切に搬送可能な移動体の制御方法、移動体及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上述した課題を解決し、目的を達成するために、本開示に係る移動体の制御方法は、自動で移動する移動体の制御方法であって、搬送対象となる目標物の、前記移動体に対する位置を検出するステップと、前記目標物の位置の検出結果に基づき、前記移動体に設けられたフォークが前記目標物に形成された穴に挿入された状態における前記移動体に対する前記目標物の位置を示す、前記目標物の位置情報を取得するステップと、を含む。
【0007】
上述した課題を解決し、目的を達成するために、本開示に係る移動体は、自動で移動する移動体であって、搬送対象となる目標物の、前記移動体に対する位置を検出させる検出制御部と、前記目標物の位置の検出結果に基づき、前記移動体に設けられたフォークが前記目標物に形成された穴に挿入された状態における前記移動体に対する前記目標物の位置を示す、前記目標物の位置情報を取得する位置情報取得部と、を含む。
【0008】
上述した課題を解決し、目的を達成するために、本開示に係るプログラムは、自動で移動する移動体の制御方法をコンピュータに実行させるプログラムであって、搬送対象となる目標物の、前記移動体に対する位置を検出するステップと、前記目標物の位置の検出結果に基づき、前記移動体に設けられたフォークが前記目標物に形成された穴に挿入された状態における前記移動体に対する前記目標物の位置を示す、前記目標物の位置情報を取得するステップと、を、コンピュータに実行させる。
【発明の効果】
【0009】
本開示によれば、目標物を適切に搬送することができる。
【図面の簡単な説明】
【0010】
図1図1は、第1実施形態に係る移動制御システムの模式図である。
図2図2は、移動体の構成の模式図である。
図3図3は、情報処理装置の模式的なブロック図である。
図4図4は、移動体の制御装置の模式的なブロック図である。
図5図5は、目標物をピックアップする際の移動体の動作の例を説明する模式図である。
図6図6は、目標物の位置情報を取得する処理を説明する模式図である。
図7図7は、第1実施形態に係る制御装置の処理フローを説明するフローチャートである。
図8図8は、第1実施形態の他の例に係る制御装置の処理フローを説明するフローチャートである。
図9図9は、センサの位置の他の例を説明する模式図である。
図10図10は、第2実施形態に係る移動体の模式図である。
図11図11は、第2実施形態における目標物の位置情報を取得する処理を説明する模式図である。
図12図12は、一対のフォークが複数セット設けられている場合の例を説明する図である。
図13図13は、第3実施形態における目標物の位置情報を取得する処理を説明する模式図である。
図14図14は、目標物をピックアップする際の例を説明する模式図である。
図15図15は、目標物をピックアップする際の例を説明する模式図である。
【発明を実施するための形態】
【0011】
以下に添付図面を参照して、本開示の好適な実施形態を詳細に説明する。なお、この実施形態により本開示が限定されるものではなく、また、実施形態が複数ある場合には、各実施形態を組み合わせて構成するものも含むものである。
【0012】
(第1実施形態)
(移動制御システム)
図1は、第1実施形態に係る移動制御システムの模式図である。図1に示すように、第1実施形態に係る移動制御システム1は、移動体10と情報処理装置12とを含む。移動制御システム1は、設備Wに所属する移動体10の移動を制御するシステムである。設備Wは、例えば倉庫など、物流管理される設備である。移動制御システム1においては、移動体10は、第1経路R1に沿って、設備Wの領域AR内の設置領域AR1まで移動し、設置領域AR1に配置された目標物Pを荷積み(ピックアップ)する。そして、移動体10は、目標物Pを荷積みした状態で、第2経路R2に沿って搬送領域AR2まで移動し、搬送領域AR2で目標物Pを荷下ろし(ドロップ)する。領域ARは、例えば設備Wの床面であり、目標物Pが設置されたり移動体10が移動したりする領域である。目標物Pは、本実施形態では、パレット上に荷物が積載された搬送対象物である。目標物Pは、前面Paに、移動体10の後述するフォーク24が挿入される穴Pbが形成されている。ただし、目標物Pは、パレット上に荷物が積載されたものに限られず任意の形態であってよく、例えばパレットを有さず荷物のみであってもよい。第1経路R1及び第2経路R2については後述する。
【0013】
以下、領域ARに沿った一方向をX方向とし、領域ARに沿った方向であって方向Xに交差する方向を、Y方向とする。本実施形態では、Y方向は、X方向に直交する方向である。X方向、Y方向は、水平面に沿った方向といってもよい。また、X方向、Y方向に直交する方向を、より詳しくは鉛直方向の上方に向かう方向を、Z方向とする。また、本実施形態においては、「位置」とは、特に断りのない限り、領域AR上の二次元面における座標系(領域ARの座標系)における位置(座標)を指す。また、移動体10などの「姿勢」とは、特に断りのない限り、領域ARの座標系における移動体10などの向きであり、Z方向から見た場合に、X方向を0°とした際の移動体10のヨー角(回転角度)を指す。
【0014】
(設置領域及び搬送領域)
設備W内の領域ARには、複数の設置領域AR1が設けられている。設置領域AR1は、目標物Pが設置されている領域、すなわち搬送元の領域である。設置領域AR1は、目標物Pが設置される領域として、予め設定される。設置領域AR1は、例えば白線などで区分されており、設置領域AR1の位置(座標)、形状、及び大きさは、予め設定されている。同様に、設備W内の領域ARには、複数の搬送領域AR2が設けられている。搬送領域AR2は、これから目標物Pを設置すべき領域、すなわち搬送先の領域である。搬送領域AR2は、目標物Pを設置すべき領域として、予め設定される。搬送領域AR2は、例えば白線などで区分されており、搬送領域AR2の位置(座標)、形状、及び大きさは、予め設定されている。なお、本実施形態では、設置領域AR1及び搬送領域AR2は、設備Wの床である領域ARに設けられているが、それに限られず、例えば目標物Pを設備Wに搬入した車両の荷台内に設けられてもよいし、設備Wの棚などに設けられてもよい。また、本実施形態では、設置領域AR1及び搬送領域AR2は、目標物P毎に区画されており、設置領域AR1及び搬送領域AR2にはそれぞれ目標物Pが1つ配置されるが、それに限られない。例えば、設置領域AR1及び搬送領域AR2の少なくとも一方は、フリースペースとして、複数の目標物Pが設置されるように設定されていてもよい。また、図1の例では設置領域AR1及び搬送領域AR2は矩形であるが、形状及び大きさは任意であってよい。また、領域ARに設けられる設置領域AR1や搬送領域AR2の数も任意であってよい。
【0015】
(移動体)
図2は、移動体の構成の模式図である。移動体10は、自動で移動可能であり目標物Pを搬送可能な装置である。さらに言えば、本実施形態では、移動体10は、フォークリフトであり、より詳しくはいわゆるAGV(Automated Guided Vehicle)やAGF(Automated Guided Forklift)である。図2に示すように、移動体10は、車体20と、車輪20Aと、ストラドルレッグ21と、マスト22と、フォーク24と、センサ26Aと、制御装置28とを備えている。ストラドルレッグ21は、車体20の前後方向における一方の端部に設けられて、車体20から突出する一対の軸状の部材である。車輪20Aは、それぞれのストラドルレッグ21の先端と、車体20とに設けられている。すなわち、車輪20Aは、合計3個設けられているが、車輪20Aの設けられる位置や個数は任意であってよい。マスト22は、ストラドルレッグ21に移動可能に取り付けられ、車体20の前後方向に移動する。マスト22は、前後方向に直交する上下方向(ここでは方向Z)に沿って延在する。フォーク24は、マスト22に方向Zに移動可能に取付けられている。フォーク24は、マスト22に対して、車体20の横方向(上下方向及び前後方向に交差する方向)にも移動可能であってよい。フォーク24は、一対のツメ24A、24Bを有している。ツメ24A、24Bは、マスト22から車体20の前方向に向けて延在している。ツメ24Aとツメ24Bとは、マスト22の横方向に、互いに離れて配置されている。以下、前後方向のうち、移動体10においてフォーク24が設けられている側の方向を、前方向とし、フォーク24が設けられていない側の方向を、後方向とする。
【0016】
センサ26Aは、車体20の周辺に存在する対象物の位置及び姿勢の少なくとも1つを検出する。センサ26Aは、移動体10に対する対象物の位置と、移動体10に対する対象物の姿勢との少なくとも一方を検出するともいえる。本実施形態では、センサ26Aは、それぞれのストラドルレッグ21の前方向における先端と、車体20の後方向側とに設けられている。ただし、センサ26Aの設けられる位置はこれに限られず、任意の位置に設けられてもよいし、設けられる数も任意であってよい。例えば、移動体10に設けられる安全センサを、センサ26Aとしてよい。
【0017】
センサ26Aは、例えばレーザ光を照射するセンサである。センサ26Aは、一方向(ここでは横方向)に走査しつつレーザ光を照射し、照射したレーザ光の反射光から、対象物の位置及び向きを検出する。すなわち、センサ26Aは、いわゆる2次元(2D)-LiDAR(Light Detection And Ranging)であるともいえる。ただし、センサ26Aは、以上のものに限られず任意の方法で対象物を検出するセンサであってよく、例えば、複数の方向に走査されるいわゆる3次元(3D)-LiDARであってもよいし、走査されない、いわゆる1次元(1D)-LiDARであってもよい。
【0018】
制御装置28は、移動体10の移動を制御する。制御装置28については後述する。
【0019】
(情報処理装置)
図3は、情報処理装置の模式的なブロック図である。情報処理装置12は、設備Wに設けられ、少なくとも、移動体10の移動に関する情報などを演算する装置、いわゆる地上システムである。ただし、情報処理装置12の設置位置などは任意であり、いわゆる地上システムに限られない。情報処理装置12は、コンピュータであり、図3に示すように、通信部30と記憶部32と制御部34とを含む。通信部30は、制御部34に用いられて、移動体10などの外部の装置と通信するモジュールであり、例えばアンテナなどを含んでよい。通信部30による通信方式は、本実施形態では無線通信であるが、通信方式は任意であってよい。記憶部32は、制御部34の演算内容やプログラムなどの各種情報を記憶するメモリであり、例えば、RAM(Random Access Memory)と、ROM(Read Only Memory)のような主記憶装置と、HDD(Hard Disk Drive)などの外部記憶装置とのうち、少なくとも1つ含む。
【0020】
制御部34は、演算装置であり、例えばCPU(Central Processing Unit)などの演算回路を含む。制御部34は、作業内容取得部40と移動体選定部42と経路取得部44とを含む。制御部34は、記憶部32からプログラム(ソフトウェア)を読み出して実行することで、作業内容取得部40と移動体選定部42と経路取得部44とを実現して、それらの処理を実行する。なお、制御部34は、1つのCPUによってこれらの処理を実行してもよいし、複数のCPUを備えて、それらの複数のCPUで、処理を実行してもよい。また、作業内容取得部40と移動体選定部42と経路取得部44との少なくとも一部を、ハードウェア回路で実現してもよい。また、記憶部32が保存する制御部34用のプログラムは、情報処理装置12が読み取り可能な記録媒体に記憶されていてもよい。
【0021】
(作業内容取得部及び移動体選定部)
作業内容取得部40は、作業内容の情報、すなわち搬送対象となる目標物Pの情報を取得する。作業内容取得部40は、任意の方法で作業内容を取得してよいが、例えば、図示しない管理システムが設定した作業内容を取得してよい。ここでの管理システムは、例えば、WMS(Warehouse Management System)や、その他の生産管理系システムのようなバックエンドシステムであってよい。作業内容取得部40は、作業内容における目標物Pの情報から、目標物Pが設置されている設置領域AR1と、搬送先となる搬送領域AR2とを特定する。例えば、記憶部32には、目標物Pと、その目標物Pが設置されている設置領域AR1及び搬送先の搬送領域AR2とが、関連付けて記憶されており、作業内容取得部40は、記憶部32からその情報を読み出すことで、設置領域AR1及び搬送領域AR2を特定する。移動体選定部42は、対象となる移動体10を選定する。移動体選定部42は、例えば、設備Wに所属する複数の移動体から、対象となる移動体10を選定する。移動体選定部42は、任意の方法で対象となる移動体10を選定してよいが、例えば、作業内容取得部40が特定した設置領域AR1に基づき、その設置領域AR1にある目標物Pの搬送に適した移動体10を、対象となる移動体10として選定してよい。
【0022】
(経路取得部)
経路取得部44は、移動体10の経路の情報を、すなわちここでは、設置領域AR1に向かう第1経路R1の情報と、搬送領域AR2に向かう第2経路R2の情報とを、取得する。経路取得部44は、取得した第1経路R1と第2経路R2との情報を、通信部30を介して、対象となる移動体10に送信する。
【0023】
図1に示すように、第1経路R1は、設置領域AR1に対して移動体10が所定の位置及び姿勢となる位置(目標位置A1)までの軌道である。目標位置A1は、目標物Pが、設置領域AR1で予め設定された基準の位置及び姿勢にあると仮定した場合に、移動体10が目標物Pをピックアップ可能な位置及び姿勢といえる。第1経路R1は、例えば設置領域AR1毎に、予め設定されている。経路取得部44は、例えば記憶部32から、作業内容取得部40が特定した設置領域AR1に対して設定された第1経路R1を、取得する。第1経路R1は、領域AR上の二次元面における座標系(領域ARの座標系)を基準として設定されるため、領域ARの座標系における軌道であるが、それに限られず、グローバル座標系における軌道であってもよい。
【0024】
図1に示すように、第2経路R2は、搬送領域AR2に対して移動体10が所定の位置及び姿勢となる位置(目標位置A2)までの軌道である。本実施形態では、第2経路R2は、目標位置A1から目標位置A2までの軌道であることが好ましい。目標位置A2は、移動体10に対してずれなく保持された目標物Pを(すなわち移動体10に対して所定の位置及び姿勢で保持された目標物Pを)、搬送領域AR2内にドロップ可能な位置及び姿勢といえる。第2経路R2は、例えば搬送領域AR2毎に、予め設定されている。経路取得部44は、例えば記憶部32から、作業内容取得部40が特定した搬送領域AR2に対して設定された第2経路R2を、取得する。第2経路R2は、領域AR上の二次元面における座標系(領域ARの座標系)を基準として設定されるため、領域ARの座標系における軌道であるが、それに限られず、グローバル座標系における軌道であってもよい。
【0025】
第1経路R1及び第2経路R2は、設備Wの地図情報に基づき予め設定される。設備Wの地図情報は、設備Wに設置されている障害物(柱など)や移動体10が走行可能な通路などの位置情報を含んだ情報であり、領域AR内で移動体10が移動可能な領域を示す情報といえる。また、第1経路R1及び第2経路R2は、設備Wの地図情報に加えて、移動体10の車両仕様の情報にも基づき、設定されてよい。車両仕様の情報とは、例えば、移動体10の大きさや最小旋回半径など、移動体10が移動可能な経路に影響を及ぼす仕様である。車両仕様の情報にも基づき第1経路R1及び第2経路R2が設定されている場合、第1経路R1及び第2経路R2は、移動体毎に設定されてよい。なお、第1経路R1及び第2経路R2は、人によって、地図情報や車両仕様の情報などに基づき設定されてもよいし、情報処理装置12などの装置によって、地図情報や車両仕様の情報などに基づき、自動的に設定されてもよい。自動的に第1経路R1及び第2経路R2を設定する場合、例えば通過して欲しいポイント(Waypoint)を指定してもよく、この場合、通過して欲しいポイントを通過しつつ、最短、かつ障害物(壁などの固定物)を避けた第1経路R1及び第2経路R2の設定が可能となる。
【0026】
なお、経路取得部44は、予め設定された第1経路R1及び第2経路R2を読み出すことなく、第1経路R1及び第2経路R2を設定してもよい。この場合、経路取得部44は、対象となる移動体10の位置情報と、設置領域AR1の位置情報と、設備Wの地図情報とに基づき、移動体10の現在位置から、設置領域AR1に向かう経路を、第1経路R1として生成してよい。同様に、経路取得部44は、設置領域AR1の位置情報と、搬送領域AR2の位置情報と、設備Wの地図情報とに基づき、設置領域AR1から搬送領域AR2に向かう経路を、第2経路R2として生成してよい。
【0027】
(移動体の制御装置)
次に、移動体10の制御装置28について説明する。図4は、移動体の制御装置の模式的なブロック図である。制御装置28は、移動体10を制御する装置である。制御装置28は、コンピュータであり、図4に示すように、通信部50と記憶部52と制御部54とを含む。通信部50は、制御部54に用いられて、情報処理装置12などの外部の装置と通信するモジュールであり、例えばアンテナなどを含んでよい。通信部50による通信方式は、本実施形態では無線通信であるが、通信方式は任意であってよい。記憶部52は、制御部54の演算内容やプログラムなどの各種情報を記憶するメモリであり、例えば、RAMと、ROMのような主記憶装置と、HDDなどの外部記憶装置とのうち、少なくとも1つ含む。
【0028】
制御部54は、演算装置であり、例えばCPUなどの演算回路を含む。制御部54は、経路取得部60と、移動制御部62と、検出制御部64と、フォーク制御部66と、位置情報取得部68とを含む。制御部54は、記憶部52からプログラム(ソフトウェア)を読み出して実行することで、経路取得部60と移動制御部62と検出制御部64とフォーク制御部66と位置情報取得部68とを実現して、それらの処理を実行する。なお、制御部54は、1つのCPUによってこれらの処理を実行してもよいし、複数のCPUを備えて、それらの複数のCPUで、処理を実行してもよい。また、経路取得部60と移動制御部62と検出制御部64とフォーク制御部66と位置情報取得部68との少なくとも一部を、ハードウェア回路で実現してもよい。また、記憶部52が保存する制御部54用のプログラムは、制御装置28が読み取り可能な記録媒体に記憶されていてもよい。
【0029】
(経路取得部)
経路取得部60は、移動体10が移動する経路の情報を、すなわちここでは第1経路R1及び第2経路R2の情報を、取得する。経路取得部60は、その移動体10が作業対象として選定された際に、情報処理装置12から第1経路R1及び第2経路R2の情報を取得してもよいし、予め記憶部52に記憶された第1経路R1及び第2経路R2の情報を読み出してもよい。また、経路取得部60は、情報処理装置12から第1経路R1及び第2経路R2を取得することに限られず、自身で第1経路R1及び第2経路R2を設定してもよい。
【0030】
(移動制御部)
移動制御部62は、移動体10の駆動部やステアリングなどの移動機構を制御して、移動体10の移動を制御する。移動制御部62は、経路取得部60が取得した第1経路R1及び第2経路R2に従って、移動体10を移動させる。移動制御部62は、移動体10の位置情報を逐次把握することで、第1経路R1及び第2経路R2を通るように、移動体10を移動させる。移動体10の位置情報の取得方法は任意であるが、例えば本実施形態では、設備Wに図示しない検出体が設けられており、移動制御部62は、検出体の検出に基づき移動体10の位置及び姿勢の情報を取得する。具体的には、移動体10は、検出体に向けてレーザ光を照射し、検出体によるレーザ光の反射光を受光して、設備Wにおける自身の位置及び姿勢を検出する。ただし、移動体10の位置及び姿勢の情報の取得方法は、検出体を用いることに限られず、例えば、SLAM(Slmultaneous Localization and Mapping)を用いてもよい。
【0031】
(検出制御部)
検出制御部64は、移動体10に対する目標物Pの位置を、すなわち移動体10に対する目標物Pの相対位置を、検出させる。検出制御部64の処理については後述する。
【0032】
(フォーク制御部)
フォーク制御部66は、移動体10のフォーク24の動作を制御する。フォーク制御部66の処理については後述する。
【0033】
(位置情報取得部)
位置情報取得部68は、検出制御部64による目標物Pの位置の検出結果に基づいた目標物Pの位置情報を、取得する。目標物Pの位置情報とは、移動体10に設けられたフォーク24が目標物Pに形成された穴Pbに挿入された状態における、移動体10に対する目標物Pの位置を示す情報である。位置情報取得部68の処理については後述する。
【0034】
(制御装置の処理)
次に、移動体10が設置領域AR1内の目標物Pを荷積みして搬送領域AR2で荷下ろしする際の制御装置28の処理について説明する。
【0035】
(第1経路に沿った移動)
図1に示すように、移動制御部62は、経路取得部60が取得した第1経路R1に従って、移動体10を目標位置A1まで移動させる。移動体10が目標位置A1に到達したら、フォーク制御部66は、フォーク24を動かして、穴Pbにフォーク24(ツメ24A、24B)を挿入させて、目標物Pをピックアップする。目標物Pをピックアップする際の制御の詳細については後述する。
【0036】
(第1経路の更新)
第1経路R1は、移動体10が第1経路R1に沿った移動を開始する前に、地図情報などから予め設定された経路であるが、経路取得部60は、予め設定された第1経路R1を更新してもよい。この場合例えば、検出制御部64が、移動体10が第1経路R1に沿って移動中に、センサ26Aに、目標物Pの位置及び姿勢を検出させて、経路取得部60は、目標物Pの位置及び姿勢に基づいて第1経路R1を更新する。以下、具体的に説明する。
【0037】
検出制御部64は、センサ26Aに、位置が既知である設置領域AR1に向けて検出を行わせることで、設置領域AR1内の目標物Pを検出させる。例えばセンサ26Aがレーザ光を照射する構成の場合、検出制御部64は、移動体10が第1経路R1を移動中に、センサ26Aを横方向(水平方向)に走査させつつ、設置領域AR1側に向けて、センサ26Aからレーザ光を照射させる。目標物Pは、センサ26Aからのレーザ光を反射する。センサ26Aは、目標物Pからの反射光を受光する。検出制御部64は、センサ26Aが受光した反射光の検出結果に基づき、計測点の集合である点群を取得する。本実施形態では、検出制御部64は、反射光の検出結果に基づき、反射光が反射された箇所の位置(座標)を、計測点として算出する。検出制御部64は、各計測点(点群)に基づき、例えばRANSACアルゴリズムを用いて直線を抽出し、その直線の位置及び姿勢を、目標物Pの位置及び姿勢として算出する。ただし、センサ26Aの検出結果に基づく目標物Pの位置及び姿勢の算出方法は、任意であってよい。
【0038】
なお、検出制御部64は、移動体10が第1経路R1上に位置している任意のタイミングで目標物Pを検出させてよい。例えば、検出制御部64は、第1経路R1上の任意の位置を移動中に6を検出させてもよいし、第1経路R1上の任意の位置で停止している際に目標物Pを検出させてもよい。
【0039】
経路取得部60は、検出制御部64によって検出した目標物Pの位置及び姿勢に基づき、第1経路R1を更新する。経路取得部60は、検出制御部64によって検出した位置及び姿勢にある目標物Pに対して、移動体10が所定の位置及び姿勢となる位置を、新たな目標位置A1として設定し、新たな目標位置A1までの経路を、更新した第1経路R1として設定する。移動制御部62は、更新前の第1経路R1から、更新した第1経路R1に切り替えて、更新した第1経路R1に沿って移動体10を移動させる。ただし、第1経路R1の更新処理は必須ではない。
【0040】
(第2経路に沿った移動)
移動体10が目標物Pをピックアップしたら、移動制御部62は、経路取得部60が取得した第2経路R2に従って、移動体10を目標位置A2まで移動させる。移動体10が目標位置A2に到達したら、フォーク制御部66は、フォーク24を動かして、フォーク24に保持された目標物Pを、搬送領域AR2内にドロップする。
【0041】
(目標物をピックアップする際の制御)
図5は、目標物をピックアップする際の移動体の動作の例を説明する模式図である。以降では、移動体10が、目標物P(設置領域AR1)のX方向と反対側に位置して、自身の前方向側(第1方向側)に、すなわちここではX方向側に位置する目標物Pをピックアップすることを例にして説明する。すなわち、以降では、移動体10が到着する目標位置A1が、目標物PのX方向と反対側に位置していることを例にして説明する。図5に示すように、移動体10が目標位置A1に到達したら(ステップS2)、フォーク制御部66は、フォーク24をX方向側(第1方向側)に移動させて、目標物Pの穴Pbにフォーク24を挿入させる(ステップS4)。本実施形態では、マスト22及びフォーク24が前後方向に一体で移動するため、マスト22及びフォーク24をX方向側に移動させて、目標物Pの穴Pbにフォーク24を挿入させるといえる。なお、フォーク制御部66は、フォーク24と穴Pbとの位置を合わせるように、フォーク24を上下方向(本例ではZ方向又はZ方向と反対側)及び横方向(本例ではY方向又はY方向と反対側)の、少なくとも一方に移動させてよい。この場合例えば、フォーク制御部66は、カメラなどのセンサにより穴Pbの位置を逐次検出して、フィードバック制御により、穴Pbの位置とフォーク24の位置とを合わせるように、フォーク24を動かしてもよい。
【0042】
穴Pbにフォーク24を挿入したら、フォーク24をZ方向側に移動させることで、目標物Pを上方向側に移動させることで、目標物Pの底面を設置領域AR1から離して、フォーク24により目標物Pを保持させる(ステップS6)。その後、フォーク24をX方向と反対側に移動させて、フォーク24の位置を元に戻す(ステップS8)。これにより、目標物Pのピックアップが完了する。
【0043】
フォーク制御部66は、以上のようにして目標物Pをピックアップするが、目標物Pをピックアップするためのフォーク24の制御方法は、以上の説明に限られず任意であってよい。
【0044】
(目標物Pの位置検出)
本実施形態においては、検出制御部64により、移動体10に対する目標物Pの位置を検出し、位置情報取得部68は、検出制御部64による目標物Pの位置の検出結果に基づき、フォーク24が穴Pbに挿入された状態における移動体10に対する目標物の位置を示す、目標物Pの位置情報を取得する。フォーク24が穴Pbに挿入された状態とは、フォーク24の先端から基端までの全体が穴Pb内に位置していることに限られず、フォーク24の少なくとも一部が穴Pb内に位置していることを指してよい。以下、この処理について具体的に説明する。
【0045】
図6は、目標物の位置情報を取得する処理を説明する模式図である。検出制御部64は、移動体10に対する目標物Pの位置(相対位置)を、すなわち移動体10の座標系における目標物Pの位置を検出する。検出制御部64は、前方向(第1方向)と交差する横方向(第2方向)における、移動体10に対する目標物Pの位置を検出する。検出制御部64は、センサ26Aにより目標物Pを検出させることで、Y方向における、移動体10に対する目標物Pの位置を検出する。本実施形態では、検出制御部64は、図6のステップS10に示すように、移動体10のフォーク24が穴Pbに挿入された状態で、センサ26Aにより、目標物Pの位置を検出させる。すなわち、検出制御部64は、フォーク24が穴Pbに挿入された状態における、移動体10に対する目標物Pの位置を検出させるといえる。さらに言えば、検出制御部64は、フォーク24で目標物Pを保持して、センサ26Aよりも前方側に目標物Pが位置している状態(図5の例ではステップS6状態)で、センサ26Aにより目標物Pの位置を検出させることが好ましい。すなわち本実施形態では、ストラドルレッグ21の先端にセンサ26Aが設けられているため、フォーク24(目標物P)をX方向と反対側に戻す前に、目標物Pの位置を検出させることが好ましい。目標物Pを検出させるセンサ26Aは、目標物Pに対して対向する位置に設けられており、図6の例では、目標物PのX方向と反対側に設けられてX方向側を向いている。本実施形態では、検出制御部64は、一対のストラドルレッグ21の先端に設けられたそれぞれのセンサ26Aに目標物Pの位置を検出させるが、それに限られず、ストラドルレッグ21の先端に設けられたそれぞれのセンサ26Aの内の少なくとも一方に目標物Pの位置検出をさせてよいし、任意の位置に設けられたセンサ26Aに目標物Pの位置検出をさせてよい。なお、フォーク24(目標物P)をX方向と反対側に戻した状態(ステップS8の状態)でも目標物Pの位置検出が可能な箇所に、センサ26Aが配置されている場合には、ステップS8の状態の状態で目標物Pの位置を検出させてもよい。
【0046】
例えばセンサ26Aがレーザ光を照射する構成の場合、検出制御部64は、センサ26Aに、目標物Pに対してレーザ光を照射させる。目標物Pは、照射されたレーザ光を反射光として反射し、センサ26Aは、目標物Pからの反射光を検出(受光)する。検出制御部64は、センサ26Aによる反射光の検出結果に基づき、移動体10に対する目標物Pの位置を検出する。
【0047】
より詳しくは、本実施形態においては、検出制御部64は、センサ26Aに、目標物Pが存在する側の方向に向けてレーザ光LTを照射させる。本実施形態においては、検出制御部64は、レーザ光LTを走査させず、レーザ光LTの照射方向を固定する。検出制御部64は、レーザ光LTの照射方向を、X方向(移動体10の前方向)に沿った方向とすることが好ましいが、それに限られず、移動体10の前方向側に向かう任意の方向としてよい。このようにレーザ光LTを照射した場合、センサ26Aに対してX方向側に目標物Pが位置していれば、すなわちY方向においてセンサ26Aの位置と目標物Pの位置とが重なっている場合には、目標物Pにレーザ光LTがあたり、センサ26Aは目標物Pからの反射光を受光できる。一方、センサ26Aに対してX方向側に目標物Pが位置していなければ、すなわちセンサ26Aの位置と目標物Pの位置とがY方向においてずれている場合には、目標物Pにレーザ光LTがあたらず、センサ26Aは目標物Pからの反射光を受光できない。従って、検出制御部64は、センサ26Aが検出(受光)した目標物Pからの反射光により、センサ26AのX方向に目標物Pが位置しているか否かを判断することができる。このように、検出制御部64は、センサ26Aが検出した目標物Pからの反射光により、センサ26AのX方向に目標物Pが位置しているか否かを判断することで、Y方向における、移動体10に対する目標物Pの位置を検出できる。
【0048】
例えば、検出制御部64は、フォーク制御部66によりフォーク24を横方向(Y方向又はY方向と反対方向)に移動させながら、センサ26Aから前方向(X方向)にレーザ光LTを照射させる。この場合、目標物Pからの反射光が受光できたタイミングと受光できないタイミングとの間に、目標物Pの横方向における端部がセンサ26Aの前方向に位置するといえる。従って、検出制御部64は、目標物Pからの反射光が検出できるタイミングと検出できないタイミングとの切り替わりを検出することにより、目標物Pの横方向における端部の位置を検出し、さらに言えば目標物Pの横方向の位置を検出するといえる。すなわち、検出制御部64が目標物Pの位置を検出するとは、移動体10に対する目標物Pの位置を、センサ26Aの検出結果により演算で算出することに限られず、目標物Pからの反射光を検出することを、より好ましくは目標物Pからの反射光が検出できたタイミングと検出できないタイミングとの切り替わりを検出することを、指してよい。なお、検出制御部64は、センサ26Aが受光した光の強度が閾値以上である場合に、センサ26Aが目標物Pからの反射光を検出(受光)したと判断してよい。
【0049】
なお、検出制御部64における目標物PのY方向における位置の検出方法は、以上の説明に限られない。例えば、検出制御部64は、レーザ光LTを横方向に走査しつつ照射することで、目標物Pの位置及び姿勢を検出してもよい。この場合の検出方法は、第1経路R1の更新の際と同様であってよい。
【0050】
以上のように、検出制御部64は、フォーク24が穴Pbに挿入された状態における目標物PのY方向における位置を検出するため、位置情報取得部68は、検出制御部64による、フォーク24が穴Pbに挿入された状態における目標物PのY方向における位置の検出結果を、目標物Pの位置情報として取得する。ただし、検出制御部64は、フォーク24が穴Pbに挿入されていない状態における、移動体10に対する目標物PのY方向における位置を検出してもよい。この場合、位置情報取得部68は、フォーク24が穴Pbに挿入されていない状態における目標物PのY方向における位置を、例えばフォーク24を穴Pbに挿入する際のフォーク24のY方向の移動量に基づき補正することで、フォーク24が穴Pbに挿入された状態における、目標物PのY方向における位置を算出して、目標物Pの位置情報として取得してよい。
【0051】
(目標物Pの位置調整)
本実施形態においては、フォーク制御部66は、目標物Pの位置情報(目標物PのY方向における位置)に基づき、フォーク24が穴Pbに挿入された状態でフォーク24を横方向(Y方向又はY方向と反対側)に移動させることで、目標物Pを横方向に移動させる。これにより、フォーク制御部66は、横方向における、移動体10に対する目標物Pの位置を調整する。図6の例では、フォーク24をY方向と反対側に移動させることで、目標物PをY方向と反対側に移動させる旨が示されている(ステップS12)。本実施形態では、フォーク制御部66は、例えば、移動体10の横方向における中心位置C1と、目標物Pの横方向における中心位置C2との、横方向における距離が、所定値以下となるように、目標物Pを移動させることが好ましい。ここでの所定値は任意であってよい。この場合例えば、フォーク24を横方向(例えばY方向)側に移動させつつセンサ26Aからレーザ光LTを照射させている際の、目標物Pからの反射光を検出できた直後に反射光を検出できなくなったタイミングにおける、フォーク24の横方向における位置を、端部位置とする。フォーク制御部66は、端部位置に対して、所定距離(例えば数mm)だけ横方向と反対側(例えばY方向と反対側)にフォーク24を移動させて、フォーク24の移動を停止させることで、横方向における、移動体10に対する目標物Pの位置を調整する。これにより、停止したフォーク24に搭載された目標物Pの中心位置C2と、移動体10の中心位置C1との距離が所定値以下となり、さらに言えば、中心位置C1、C2をX方向においてほぼ同軸上(軸AX上)に位置させることが可能となる。従って、このように制御することで、目標物Pの中心位置C2を、移動体10の中心位置C1に適切に合わせることができる。ただし、移動体10に対する目標物Pの位置の調整方法はこれに限られず任意であってよい。例えば、位置情報取得部68が、目標物Pの位置情報から、移動体10の座標系における目標物Pの中心位置C2の座標を算出し、目標物Pの中心位置C2と移動体10の中心位置C1との間のY方向の距離が所定値以下となるように、目標物Pを移動させてよい。
【0052】
目標物Pの横方向における位置調整が完了したら、移動体10は、目標物Pの横方向における位置を保持したまま、第2経路R2に沿って移動して、目標位置A2で目標物Pをドロップする。目標物Pをドロップする工程は、図5に示した目標物Pをピックアップする工程を逆の順番で行えばよい。なお、本実施形態においては、図6のステップS12に示すように、フォーク24をX方向側に突出させた状態で、目標物PのY方向における位置調整を行い、その後ステップS14に示すように、フォーク24をX方向と反対側に戻してから、第2経路R2への移動を開始する。ただしそれに限られず、例えば、フォーク24をX方向と反対側に戻した後に、目標物PのY方向における位置を調整して、第2経路R2に沿って移動してもよい。また例えば、フォーク24をX方向と反対側に戻して、第2経路R2に沿った移動を開始した後の任意のタイミングで、目標物PのY方向における位置を調整してもよい。また、目標物PのY方向における位置を調整した後であって、目標物Pをドロップする前に、目標物Pの位置検出を再度行って、目標物PのY方向における位置を再調整してもよい。この場合の、目標物Pの再度の位置検出と、目標物PのY方向における位置の再調整とは、上述と同じ方法で行ってよい。
【0053】
(処理フロー)
次に、以上説明した移動体10の制御装置28の処理フローについて説明する。図7は、第1実施形態に係る制御装置の処理フローを説明するフローチャートである。図7に示すように、制御装置28は、経路取得部60によって、経路(第1経路R1と第2経路R2)の情報を取得し(ステップS20)、移動制御部62によって、移動体10を第1経路R1に沿って移動させる(ステップS22)。移動体10が目標位置A1に到達したら、フォーク制御部66は、フォーク24を制御して、設置領域AR1に設置された目標物Pの穴Pbにフォーク24を挿入させることで、目標物Pをピックアップさせる(ステップS24)。制御装置28は、検出制御部64によって、センサ26Aを制御することで、移動体10に対する目標物Pの位置を検出させて(ステップS26)、位置情報取得部68により、目標物Pの位置の検出結果を、フォーク24が穴Pbに挿入された状態における目標物Pの位置情報として取得する(ステップS28)。フォーク制御部66は、フォーク24が穴Pbに挿入された状態における目標物Pの位置情報に基づき、目標物Pの横方向における位置調整が必要かを判断し(ステップS30)、位置調整が必要な場合(ステップS30;Yes)、サイドシフトにより、すなわちフォーク24を横方向に移動させることにより、目標物Pの横方向の位置を調整する(ステップS32)。なお、位置調整が必要かの判断基準は任意であってよい。目標物Pの位置調整を行った後、制御装置28は、移動制御部62によって、目標物Pが搭載された移動体10を第2経路R2に沿って移動させて(ステップS34)、目標位置A2に到達したら、フォーク制御部66によりフォーク24を制御して、目標物Pを搬送領域AR2内にドロップする(ステップS36)。なお、位置調整が不要な場合(ステップS30;No)も、ステップS34に進む。
【0054】
(効果)
ここで、フォーク24を穴Pbに挿入することで、目標物Pをピックアップすることは可能であるが、ピックアップされた目標物Pが移動体10からずれている場合には、例えば目標物Pを適切に搬送領域AR2に設置できなくなるなど、目標物Pを適切に搬送できなくなるおそれがある。例えば、地面に設定された搬送領域AR2同士の距離が短かったり、幅が狭い棚の上に搬送領域AR2が設定されていたり、車両の荷台上に設定された搬送領域AR2同士の距離が短かったりする場合など、目標物Pを出来るだけ詰めて設置する必要がある場合には、ピックアップされた目標物Pが移動体10からずれることが、特に問題となる。それに対し、本実施形態においては、センサ26Aにより、移動体10に対する目標物Pの位置を検出させて、フォーク24が穴Pbに挿入された状態における、移動体10に対する目標物Pの位置情報を取得する。フォーク24が穴Pbに挿入された状態における目標物Pの位置情報を取得することで、その位置情報に基づき、移動体10に保持された状態における目標物Pの位置を適切に調整することが可能となり、例えば上述のように目標物Pを出来るだけ詰めて設置する必要がある場合にも、目標物Pを適切に搬送領域AR2に設置でき、目標物Pを適切に搬送できる。
【0055】
(他の例)
本実施形態の例では、フォーク24が穴Pbに挿入された状態における目標物Pの位置情報に基づき、移動体10にピックアップされた目標物Pの位置を調整したが、目標物Pの位置情報の利用方法は、これに限られず任意であってよい。例えば、フォーク24が穴Pbに挿入された状態における目標物Pの位置情報に基づき、第1経路R1や第2経路R2を更新してもよい。以下、第2経路R2を更新する場合の例について説明する。
【0056】
上述のように、第2経路R2は、地図情報などから予め設定された経路であるが、本例においては、経路取得部60は、予め設定された第2経路R2を、フォーク24が穴Pbに挿入された状態における目標物Pの位置情報に基づき更新する。この場合例えば、経路取得部60は、予め設定されていた目標位置A2(図1参照)の位置を、フォーク24が穴Pbに挿入された状態における目標物Pの位置に基づき補正して、補正した目標位置A2までの経路を、更新した第2経路R2として算出する。例えば、経路取得部60は、予め設定されていた目標位置A2を、フォーク24が穴Pbに挿入された状態における、移動体10の位置と目標物Pの位置との差分だけずらした位置を、補正した目標位置A2としてよい。移動制御部62は、更新した第2経路R2に沿って移動体10を移動させる。なお、更新した第2経路R2を算出する主体は、移動体10の経路取得部60に限られず、例えば情報処理装置12の経路取得部44が、更新した第2経路R2を算出してよい。
【0057】
図8は、第1実施形態の他の例に係る制御装置の処理フローを説明するフローチャートである。図8に示すように、本例における制御装置28の処理フローは、ステップS28までとステップS34以降とは、第1実施形態(図7)での処理フローと同様である。本例においては、ステップS28の後に、目標物Pの位置情報に基づき、第2経路R2の更新が必要かを判断し(ステップS30a)、第2経路R2の更新が必要と判断した場合に(ステップS30a;Yes)、目標物Pの位置情報に基づき、第2経路R2を更新し(ステップS32a)、更新した第2経路R2で移動体10を移動させる(ステップS34)。一方、第2経路R2の更新が必要でないと判断した場合(ステップS30a;No)、第2経路R2を更新せず、元々設定されていた第2経路R2で移動体10を移動させる(ステップS34)。なお、第2経路R2の更新が必要かを判断する基準は任意であってよい。
【0058】
このように、第1実施形態においては、目標物Pの位置情報に基づき目標物Pの位置調整を行い、本例においては目標物Pの位置情報に基づき第2経路R2を更新したが、目標物Pの位置情報に基づいた目標物Pの位置調整と、目標物Pの位置情報に基づいた第2経路R2の更新との両方を行ってよい。
【0059】
また、第1実施形態においては、ストラドルレッグ21の先端に設けられたセンサ26Aにより、目標物Pの位置検出を行っていたが、目標物Pの位置検出に用いるセンサの位置は、それに限られず任意であってよい。図9は、センサの位置の他の例を説明する模式図である。例えば、図9に示すように、ストラドルレッグ21より上方向側に、目標物Pの位置検出に用いるセンサ26Aを設けてよい。この場合例えば、目標物Pの位置検出に用いるセンサ26Aは、マスト22のバックレストの位置に設けられていてよい。バックレストの位置とは、マスト22内において、フォーク24の基端よりも、移動体10の後方向側の位置を指す。センサ26Aによる目標物Pの位置検出の方法は、第1実施形態の位置検出と同様であってよい。
【0060】
第1実施形態のように、ストラドルレッグ21の先端に設けられたセンサ26Aを用いることで、例えば床面に配置された目標物Pをピックアップする過程でセンサ26Aの前方を目標物Pが通るため、センサ26Aによる検出のためだけに目標物Pを動かす必要がなくなり、作業効率を向上できる。一方、本例のように、目標物Pの位置検出に用いるセンサ26Aをストラドルレッグ21より上方向側に設けることで、例えば棚の上など、ストラドルレッグ21よりも上方に目標物Pが配置されていた場合において、目標物Pをピックアップする過程でセンサ26Aの前方を目標物Pが通る。そのため、本例においては、上方に配置された目標物Pをピックアップする際に、センサ26Aによる検出のためだけに目標物Pを動かす必要がなくなり、作業効率を向上できる。
【0061】
(第2実施形態)
次に、第2実施形態について説明する。第2実施形態においては、カメラであるセンサ26Bにより、目標物Pの位置検出を行う点で、第1実施形態とは異なる。第2実施形態において、第1実施形態と構成が共通する箇所は、説明を省略する。
【0062】
図10は、第2実施形態に係る移動体の模式図である。図10に示すように、第2実施形態においては、移動体10に、センサ26Bが設けられている。センサ26Bは、移動体10の前方側において、移動体10の前方側を向くように、配置されている。図10の例では、センサ26Bは、マスト22のバックレストの位置に設けられているが、センサ26Bの設けられる位置は任意であってよい。センサ26Bは、撮像範囲内を撮像可能なカメラであり、例えば、撮像対象に対する距離計測が可能な、TOF(Time Of Flight)カメラであってよい。ただし、センサ26Bは、目標物Pの位置及び姿勢を検出可能なセンサであれば、任意のセンサであってよい。
【0063】
図11は、第2実施形態における目標物の位置情報を取得する処理を説明する模式図である。図11のステップS40、S42に示すように、第2実施形態においては、検出制御部64は、フォーク24をX方向に移動させて穴Pbに挿入させている最中に、センサ26Bにより、目標物Pを検出させる。例えば、検出制御部64は、センサ26Bにより目標物Pを撮像させることで、移動体10に対する目標物Pの位置及び姿勢を、すなわち移動体10の座標系における目標物Pの位置及び姿勢を検出させる。位置情報取得部68は、移動体10に対する目標物Pの位置及び姿勢の検出結果に基づき、フォーク24が穴Pbに挿入されている状態における、移動体10に対する目標物Pの位置及び姿勢を、目標物Pの位置情報として取得する。
【0064】
第2実施形態においては、検出制御部64により、フォーク24が穴Pbに挿入されている状態における、移動体10に対する目標物Pの位置及び姿勢を検出させて、位置情報取得部68が、その検出結果を目標物Pの位置情報として取得してもよい。また例えば、検出制御部64により、フォーク24が穴Pbに挿入されていない状態における、移動体10に対する目標物Pの位置及び姿勢を検出させて、位置情報取得部68が、その検出結果に基づき、フォーク24が穴Pbに挿入されている状態における目標物Pの位置情報(移動体10に対する目標物Pの位置及び姿勢)を算出してもよい。この場合、位置情報取得部68は、フォーク24が穴Pbに挿入されていない状態における目標物Pの位置及び姿勢を、例えばフォーク24と穴Pbとの相対位置に基づき補正することで、フォーク24が穴Pbに挿入された状態における、目標物Pの位置及び姿勢を算出して、目標物Pの位置情報として取得してよい。
【0065】
目標物Pの位置情報を取得したら、フォーク制御部66は、第1実施形態と同様に、フォーク24が穴Pbに挿入された状態における、移動体10に対する目標物Pの位置に基づき、フォーク24を横方向に移動させることで、横方向における目標物Pの位置を調整してよい(図11のステップS44、S46)。さらに、第2実施形態においては、フォーク24が穴Pbに挿入された状態における、移動体10に対する目標物Pの姿勢に基づき、第2経路R2を更新することが好ましい。この場合例えば、経路取得部60は、予め設定されていた目標位置A2(図1参照)の位置及び姿勢を、フォーク24が穴Pbに挿入された状態における目標物Pの姿勢に基づき補正して、補正した目標位置A2までの経路を、更新した第2経路R2として算出する。例えば、経路取得部60は、予め設定されていた目標位置A2を、フォーク24が穴Pbに挿入された状態における、移動体10に対する目標物Pの姿勢のずれ分だけずらした位置及び姿勢を、補正した目標位置A2としてよい。移動制御部62は、更新した第2経路R2に沿って移動体10を移動させる。なお、更新した第2経路R2を算出する主体は、移動体10の経路取得部60に限られず、例えば情報処理装置12の経路取得部44が、更新した第2経路R2を算出してよい。
【0066】
このように、第2実施形態においては、移動体10に対する目標物Pの位置に基づき、搭載された目標物Pの横方向における位置を調整しつつ、移動体10に対する目標物Pの姿勢に基づき、第2経路R2を更新する。従って、第2実施形態によると、移動体10に対して目標物Pがずれて搭載された場合でも、目標物Pを高精度に搬送領域AR2に配置することができる。ただし、このような処理は必須ではない。例えば、移動体10に対する目標物Pの姿勢に基づき第2経路R2を更新することは必須ではなく、例えば移動体10に対する目標物Pの姿勢が所定の閾値未満である場合には第2経路R2を更新せず、移動体10に対する目標物Pの姿勢が所定の閾値以上である場合にのみ、第2経路R2を更新してもよい。また例えば、第2実施形態においては、搭載された目標物Pの横方向における位置を調整することなく、移動体10に対する目標物Pの位置及び姿勢に基づき、第2経路R2を更新してもよい。すなわちこの場合、移動体10に対する目標物Pの位置及び姿勢のずれ分だけ、目標位置A2を補正して、補正した目標位置A2までの経路を、更新した第2経路R2としてよい。
【0067】
なお、第1実施形態においては、移動体10に対する目標物Pの位置のみを検出していたが、それに限られず、第2実施形態と同様に、移動体10に対する目標物Pの位置及び姿勢を検出させてもよい。この場合例えば、第1実施形態におけるセンサ26Aを横方向に走査させつつレーザ光LTを照射させることで、反射光が反射された箇所の位置を示す点群を取得し、点群に基づき、目標物Pの位置及び姿勢を検出してよい。この場合、第1実施形態においても、第2実施形態と同様に、目標物Pの位置に基づき目標物Pの横方向における位置を調整しつつ、目標物Pの姿勢に基づき第2経路R2を更新してもよい。また例えば、第1実施形態においても、移動体10に対する目標物Pの姿勢が所定の閾値未満である場合には第2経路R2を更新せず、移動体10に対する目標物Pの姿勢が所定の閾値以上である場合にのみ、第2経路R2を更新してもよい。また例えば、第1実施形態においても、搭載された目標物Pの横方向における位置を調整することなく、目標物Pの位置及び姿勢に基づき、第2経路R2を更新してもよい。
【0068】
また例えば、第1実施形態と第2実施形態とを組み合わせてもよい。この場合例えば、第1実施形態のように、センサ26Aにより目標物Pの位置を検出し、第2実施形態のように、センサ26Bにより目標物Pの姿勢を検出してよい。目標物Pの位置及び姿勢を検出した後の処理は第2実施形態と同様であるため、説明を省略する。
【0069】
また、以上の説明では、移動体10には、一対のフォーク24が1セットだけ設けられていたが、一対のフォーク24が複数セット設けられていてもよい。図12は、一対のフォークが複数セット設けられている場合の例を説明する図である。図12に示すように、移動体10には、マスト22と一対のフォーク24とを有するフォークユニット23(一対のフォーク24のセット)が、横方向に並んで複数設けられていてもよい。図12の例では、フォークユニット23として、フォークユニット23aと、フォークユニット23bとが設けられているが、フォークユニット23の数は2つに限られず3つ以上であってもよい。また、それぞれのフォークユニット23は、前後方向、横方向及び上下方向に、一体で移動するが、それに限られず、それぞれのフォークユニット23は、前後方向、横方向及び上下方向の少なくとも1つの方向に、個別に移動するように構成されていてもよい。
【0070】
このように複数のフォークユニット23を設ける場合、センサ26Bは、フォークユニット23毎に設けられることが好ましい。図12の例では、フォークユニット23aの後方側であって、車体20から横方向の一方側(図12の例ではY方向と反対側)に突出した位置に、センサ26Baが設けられている。また、フォークユニット23bの後方側であって、車体20から横方向の他方側(図12の例ではY方向側)に突出した位置に、センサ26Bbが設けられている。この場合、センサ26Baにより、フォークユニット23aによりピックアップされる目標物Pが検出され、センサ26Bbにより、フォークユニット23bによりピックアップされる目標物Pが検出される。ただし、それぞれのセンサ26Ba、26Bbの位置は図12の例に限られず任意であってよい。また、第1実施形態や第1実施形態の他の例の移動体10についても、複数のフォークユニット23を設ける構成が適用できる。
【0071】
(第3実施形態)
次に、第3実施形態について説明する。第3実施形態においては、穴Pbに挿入されたフォーク24の横方向の表面(側面)を、穴Pbの内周面に接触させることにより、移動体10に対する目標物Pの位置を検出する点で、第1実施形態とは異なる。第3実施形態において第1実施形態と構成が共通する箇所は、説明を省略する。なお、第3実施形態は、第2実施形態に対しても適用可能である。
【0072】
図13は、第3実施形態における目標物の位置情報を取得する処理を説明する模式図である。第3実施形態においては、フォーク制御部66は、図13のステップS50に示すように、フォーク24を穴Pb内に挿入させて、ステップS52に示すように、フォーク24が穴Pb内に挿入された状態で、フォーク24を横方向(図13の例ではY方向)に移動させる。より詳しくは、フォーク制御部66は、フォーク24が穴Pb内に挿入され、かつフォーク24が目標物Pを保持していない状態で、フォーク24を横方向に移動させる。フォーク24が目標物Pを保持していないため、フォーク24を横方向に移動させても目標物Pは追従して動かず、穴Pb内でフォーク24が横方向に移動することになる。検出制御部64は、フォーク24の横方向における側面24aが、穴Pbの内周面Pbaに接触したか否かを検出することで、横方向における、移動体10に対する目標物Pの位置を検出する。すなわち、側面24aが内周面Pbaに接触した場合、フォーク24の側面24aと穴Pbとの横方向における位置が一致しているといえる。従って、位置情報取得部68は、検出制御部64によって検出された、側面24aが内周面Pbaに接触したタイミングにおけるフォーク24の側面24aの横方向の位置に基づき、移動体10の座標系における目標物Pの横方向での位置を、目標物Pの位置情報として取得できる。この場合例えば、位置情報取得部68は、穴Pbの位置に対する目標物Pの基準点(中心位置C2や目標物Pの横方向における端部の位置など)の情報を予め取得しておき、側面24aが内周面Pbaに接触したタイミングにおける側面24aの位置と、穴Pbの位置に対する目標物Pの基準点の位置とから、移動体10の座標系における目標物Pの基準点の位置を算出してよい。
【0073】
なお、検出制御部64は、フォーク24の側面24aが、穴Pbの内周面Pbaに接触したかを、任意の方法で検出してよい。例えば、側面24aに接触センサを設け、検出制御部64は、フォーク24が穴Pbに挿入された状態で接触センサが接触を検出した場合に、側面24aが穴Pbの内周面Pbaに接触したと検出(判断)してよい。また例えば、フォーク24を横方向に移動させるために作動させる油圧を検出するセンサを設け、フォーク24を横方向に移動させている最中に、油圧値が所定の閾値以上となった場合に、側面24aが穴Pbの内周面Pbaに接触したと検出(判断)してよい。
【0074】
目標物Pの位置情報を取得したら、フォーク制御部66は、第1実施形態と同様に、目標物Pの位置情報に基づき、横方向における目標物Pの位置を調整してよいし、目標物Pの位置情報に基づき、第2経路R2を更新してもよい。
【0075】
図14及び図15は、目標物をピックアップする際の例を説明する模式図である。フォーク制御部66は、目標物Pの位置情報を取得したら、フォーク24が穴Pbに挿入された状態でフォーク24を上方向に移動させることで、目標物Pをピックアップする。この場合例えば、図14のステップS60のように、フォーク制御部66は、Y方向側の側面24aが穴Pbの内周面Pbaに接触した状態のまま、フォーク24をZ方向に移動させて、目標物Pをピックアップさせてよい。すなわち、フォーク制御部66は、フォーク24をY方向にサイドシフトさせて側面24aを内周面Pbaに接触させた状態のまま、目標物Pをピックアップさせてよい。そして、ステップS62に示すように、フォーク制御部66は、フォーク24をY方向と反対側にサイドシフトさせて、目標物Pをドロップさせる。このように、フォーク24をY方向にサイドシフトさせて目標物Pをピックアップすることで、例えば目標物Pをドロップする際に、フォーク24をY方向と反対側にサイドシフトできる余裕代を多く残すことができる。そのため、目標物Pをドロップさせる際に、フォーク24をY方向と反対側にサイドシフトさせて、目標物PをY方向と反対側に寄せた状態でドロップさせることが可能となり、目標物PをY方向と反対側に詰めて配置することが可能となる。
【0076】
また例えば、Y方向側の近傍に障害物(例えば他の目標物P)が存在する場合などには、Y方向側の側面24aが内周面Pbaに接触した状態のまま目標物Pを持ち上げたら、フォーク24をX方向と反対側の戻す前に、フォーク24をY方向と反対側にサイドシフトさせてよい。これにより、目標物PをY方向と反対側に動かしてピックアップすることが可能となるため、目標物PとY方向側の障害物との接触を適切に抑制できる。すなわち例えば、図15のステップS70、S72に示すように、フォーク制御部66は、Y方向側の側面24aが穴Pbの内周面Pbaに接触した状態のまま、フォーク24をZ方向に移動させて、目標物Pを持ち上げる。その後、フォーク制御部66は、ステップS74に示すように、フォーク24をY方向と反対側にサイドシフトさせて、Y方向側の障害物から離した後、フォーク24をX方向と反対側に戻して、目標物Pのピックアップを完了させてもよい。
【0077】
(効果)
以上説明したように、本開示に係る移動体10の制御方法は、自動で移動する移動体10の制御方法であって、搬送対象となる目標物Pの、移動体10に対する位置を検出するステップと、目標物Pの位置の検出結果に基づき、移動体10に設けられたフォーク24が目標物Pに形成された穴Pbに挿入された状態における移動体10に対する目標物Pの位置を示す、目標物Pの位置情報を取得するステップと、を含む。本制御方法においては、移動体10に対する目標物Pの位置を検出させて、フォーク24が穴Pbに挿入された状態における、移動体10に対する目標物Pの位置情報を取得する。フォーク24が穴Pbに挿入された状態における目標物Pの位置情報を取得することで、その位置情報に基づき、移動体10に搭載された状態での目標物Pの位置ずれを考慮して、目標物Pを適切に搬送できる。
【0078】
目標物Pの位置を検出するステップにおいては、移動体10から目標物Pに向かう第1方向(前方向)に対して交差する第2方向(横方向)における、移動体10に対する目標物Pの位置を検出し、目標物Pの位置情報を取得するステップにおいては、位置情報として、フォーク24が穴Pbに挿入された状態での、横方向における移動体10に対する目標物Pの位置を示す情報を取得する。本制御方法によると、横方向における目標物Pの位置を検出するため、例えば目標物Pの横方向における位置ずれを考慮して、目標物Pを適切に搬送できる。
【0079】
目標物Pの位置を検出するステップにおいては、移動体10に設けられた第1センサ(センサ26A)により、目標物Pに対してレーザ光LTを照射し、目標物Pからの反射光を検出することで、移動体10に対する目標物Pの位置及び姿勢の少なくとも一方を検出する。本制御方法によると、レーザ光LTの反射光を検出することにより目標物Pの位置を検出することで、目標物Pの位置や姿勢を適切に検出できる。
【0080】
目標物Pの位置を検出するステップにおいては、照射方向を固定した状態で第1センサ(センサ26A)にレーザ光LTを照射させて、目標物Pからの反射光により、第1センサの第1方向に目標物Pが位置しているか否かを判断することで、第2方向における、移動体10に対する目標物Pの位置を検出する。レーザ光LTによる位置検出の精度は、目標物Pとの距離が近くなると低下する場合があるが、本制御方法によると、レーザ光LTの照射方向を固定して、反射光の検出の有無を判断することで、第1方向に目標物Pが位置しているか否かを判断している。目標物Pとの距離が近くなったとしても、反射光の検出の有無については高精度に検出できるため、本制御方法によると目標物Pの位置を適切に検出できる。
【0081】
目標物Pの位置を検出するステップにおいては、移動体10に対する目標物Pの姿勢も検出し、目標物Pの位置情報を取得するステップにおいては、位置情報として、フォーク24が穴Pbに挿入された状態での、移動体10に対する目標物Pの姿勢を示す情報も取得する。目標物Pの位置に加えて、目標物Pの姿勢も検出することで、例えば目標物Pの姿勢ずれを考慮して、目標物Pを適切に搬送できる。
【0082】
目標物Pの位置を検出するステップにおいては、移動体10に設けられた第2センサ(センサ26B)により目標物Pを撮像することで、移動体10に対する目標物Pの位置及び姿勢の少なくとも一方を検出する。第2センサにより目標物Pを撮像することで、移動体10に搭載された状態での目標物Pの位置や姿勢を適切に検出できる。
【0083】
目標物Pの位置を検出するステップにおいては、穴Pbに挿入されたフォーク24の第2方向(横方向)の側面24aを、穴Pbの内周面Pbaに接触させることにより、移動体10に対する目標物Pの位置を検出する。接触により目標物Pの位置を検出することで、移動体10に搭載された状態での目標物Pの位置を適切に検出できる。
【0084】
本制御方法は、目標物Pの位置情報に基づき、フォーク24が穴Pbに挿入された状態で、フォーク24を第2方向(横方向)側に移動させることで目標物Pを第2方向に移動させて、第2方向における移動体10に対する目標物Pの位置を調整するステップと、第2方向における目標物Pの位置が調整された状態で、目標物Pを荷下ろしするステップと、を更に含む。フォーク24が穴Pbに挿入された状態における目標物Pの位置情報に基づき、目標物Pの位置を調整することで、例えば目標物Pの位置ずれを考慮して、目標物Pを適切に荷下ろしできる。
【0085】
本制御方法は、目標物Pの位置情報に基づき設定された、目標物Pを荷下ろしする搬送領域AR2に向かう経路(第2経路R2)を取得するステップと、第2経路R2に沿って移動体10を移動させるステップと、目標物Pを搬送領域AR2で荷下ろしするステップと、を更に含む。目標物Pの位置情報に基づき第2経路R2を更新することで、例えば目標物Pの位置ずれを考慮して、目標物Pを適切に荷下ろしできる。
【0086】
本開示の移動体10は、自動で移動するものであって、搬送対象となる目標物Pの、移動体10に対する位置を検出させる検出制御部64と、目標物Pの位置の検出結果に基づき、移動体10に設けられたフォーク24が目標物Pに形成された穴Pbに挿入された状態における移動体10に対する目標物Pの位置を示す、目標物Pの位置情報を取得する位置情報取得部68と、を含む。移動体10は、フォーク24が穴Pbに挿入された状態における目標物Pの位置情報を取得することで、移動体10に搭載された状態での目標物Pの位置ずれを考慮して、目標物Pを適切に搬送できる。
【0087】
以上、本開示の実施形態を説明したが、この実施形態の内容により実施形態が限定されるものではない。また、前述した構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。さらに、前述した構成要素は適宜組み合わせることが可能である。さらに、前述した実施形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換又は変更を行うことができる。
【符号の説明】
【0088】
10 移動体
12 情報処理装置
24 フォーク
26A、26B センサ
60 経路取得部
62 移動制御部
64 検出制御部
66 フォーク制御部
68 位置情報取得部
AR1 設置領域
AR2 搬送領域
P 目標物
Pb 穴
R1 第1経路
R2 第2経路
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15