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

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

▶ 三菱重工業株式会社の特許一覧

特開2024-132438制御システム、移動体、移動体の制御方法、及びプログラム
<>
  • 特開-制御システム、移動体、移動体の制御方法、及びプログラム 図1
  • 特開-制御システム、移動体、移動体の制御方法、及びプログラム 図2
  • 特開-制御システム、移動体、移動体の制御方法、及びプログラム 図3
  • 特開-制御システム、移動体、移動体の制御方法、及びプログラム 図4
  • 特開-制御システム、移動体、移動体の制御方法、及びプログラム 図5
  • 特開-制御システム、移動体、移動体の制御方法、及びプログラム 図6
  • 特開-制御システム、移動体、移動体の制御方法、及びプログラム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024132438
(43)【公開日】2024-10-01
(54)【発明の名称】制御システム、移動体、移動体の制御方法、及びプログラム
(51)【国際特許分類】
   G05D 1/43 20240101AFI20240920BHJP
   B66F 9/24 20060101ALI20240920BHJP
【FI】
G05D1/02 H
B66F9/24 L
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023043193
(22)【出願日】2023-03-17
(71)【出願人】
【識別番号】000006208
【氏名又は名称】三菱重工業株式会社
(74)【代理人】
【識別番号】100149548
【弁理士】
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100162868
【弁理士】
【氏名又は名称】伊藤 英輔
(74)【代理人】
【識別番号】100161702
【弁理士】
【氏名又は名称】橋本 宏之
(74)【代理人】
【識別番号】100189348
【弁理士】
【氏名又は名称】古都 智
(74)【代理人】
【識別番号】100196689
【弁理士】
【氏名又は名称】鎌田 康一郎
(72)【発明者】
【氏名】奥田 智也
(72)【発明者】
【氏名】長谷川 徳之
(72)【発明者】
【氏名】大塚 愛里梨
【テーマコード(参考)】
3F333
5H301
【Fターム(参考)】
3F333AA02
3F333AB13
3F333AE02
3F333FA11
3F333FA29
3F333FD11
3F333FE05
5H301BB05
5H301BB07
5H301CC03
5H301CC06
5H301CC10
5H301GG08
5H301GG09
5H301GG14
5H301LL01
5H301LL02
5H301LL07
5H301LL11
(57)【要約】
【課題】障害物を検出した場合の移動体の挙動を安定させる。
【解決手段】制御システムは、移動体の移動速度を制御する速度制御部と、移動体の移動速度を取得する移動速度取得部と、障害物を検出する障害物検出部と、障害物検出部で障害物を検出する監視エリアの大きさを設定する監視エリア設定部と、障害物検出部で障害物を検出した場合、移動体の移動速度を低下させる検出時移動速度調整部と、障害物検出部で障害物を検出した場合、障害物を検出した時点における移動体の移動速度を記憶する検出時速度記憶部と、を備え、監視エリア設定部は、障害物検出部で障害物を検出している第一状態では、移動速度取得部で取得された移動速度と、検出時速度記憶部に記憶された障害物を検出した時点における移動体の移動速度と、のうち、高い方の移動速度に応じて、監視エリアの大きさを設定する。
【選択図】図1
【特許請求の範囲】
【請求項1】
移動体の移動速度を制御する速度制御部と、
前記移動体の移動速度を取得する移動速度取得部と、
障害物を検出する障害物検出部と、
前記障害物検出部で前記障害物を検出する監視エリアの大きさを設定する監視エリア設定部と、
前記障害物検出部で前記障害物を検出した場合、前記移動体の移動速度を低下させる検出時移動速度調整部と、
前記障害物検出部で前記障害物を検出した場合、前記障害物を検出した時点における前記移動体の移動速度を記憶する検出時速度記憶部と、
を備え、
前記監視エリア設定部は、
前記障害物検出部で前記障害物を検出している第一状態では、前記移動速度取得部で取得された前記移動速度と、前記検出時速度記憶部に記憶された前記障害物を検出した時点における前記移動体の移動速度と、のうち、高い方の移動速度に応じて、前記監視エリアの大きさを設定する、
制御システム。
【請求項2】
前記監視エリア設定部は、
前記障害物検出部で前記障害物を非検出の第二状態では、前記移動速度取得部で取得された前記移動体の移動速度に応じて、前記監視エリアの大きさを設定する、
請求項1に記載の制御システム。
【請求項3】
前記監視エリア設定部は、
前記障害物検出部で前記障害物を検出している第一状態において、前記検出時移動速度調整部で低下された前記移動体の移動速度が、予め設定された閾値以下である場合、前記検出時移動速度調整部で低下された前記移動体の移動速度に応じて、前記監視エリアの大きさを設定する、
請求項1又は2に記載の制御システム。
【請求項4】
移動体本体と、
前記移動体を走行させるモータと、
請求項1又は2に記載の制御システムと、
を備える移動体。
【請求項5】
移動体の移動速度を取得するステップと、
予め設定された監視エリア内における障害物の有無を検出するステップと、
前記監視エリア内に前記障害物を検出した場合、前記移動体の移動速度を低下させるステップと、
前記監視エリア内に前記障害物を検出した場合、前記障害物を検出した時点における前記移動体の移動速度を記憶するステップと、
前記移動速度を取得するステップで取得された前記移動速度、及び前記障害物を検出した時点における前記移動体の移動速度を記憶するステップで記憶された前記移動体の移動速度のうち、高い方の移動速度に応じて、前記監視エリアの大きさを設定するステップと、
を含む移動体の制御方法。
【請求項6】
移動体の移動速度を取得するステップと、
予め設定された監視エリア内における障害物の有無を検出するステップと、
前記監視エリア内に前記障害物を検出した場合、前記移動体の移動速度を低下させるステップと、
前記監視エリア内に前記障害物を検出した場合、前記障害物を検出した時点における前記移動体の移動速度を記憶するステップと、
前記移動速度を取得するステップで取得された前記移動速度、及び前記障害物を検出した時点における前記移動体の移動速度を記憶するステップで記憶された前記移動体の移動速度のうち、高い方の移動速度に応じて、前記監視エリアの大きさを設定するステップと、
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、制御システム、移動体、移動体の制御方法、及びプログラムに関する。
【背景技術】
【0002】
フォークリフト等の移動体において、LIDAR(Laser Imaging Detection and Ranging)等の測距装置を用い、進行方向前方の障害物を検知することが行われている。
特許文献1には、障害物までの距離を測定する測距装置と、測距装置の測定結果から障害物を検知する障害物検知装置と、制限範囲に障害物が存在している場合に速度制限を行う速度制限部と、を備える構成が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2022-94178号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、移動体の移動速度が大きいほど、障害物に衝突しないように移動体を減速させるのに要する距離が長くなる。このため、移動体の移動速度に応じて、測距装置で障害物を検出する監視エリアを異ならせることがある。例えば、移動速度が高い場合には、移動速度が低い場合に比較し、監視エリアを大きく設定する。これにより、移動速度が高い場合に、障害物を早期に検出し、移動体を障害物に衝突しないように減速させることができる。
しかしながら、移動速度に応じて監視エリアの大きさを異ならせた場合、以下のような問題が生じることがある。例えば、高い移動速度で移動しているときに、進行方向前方に障害物を検出した場合、移動体を減速させる。これにより、移動速度が低くなるので、監視エリアが小さくなり、進行方向前方の障害物が、監視エリアから外れてしまうことがある。すると、移動体は、前方に障害物が無い、と判断し、移動速度を高める。移動速度を高めた結果、監視エリアが大きくなり、障害物を再度検出し、移動体を減速させる。
このように、移動速度に応じて監視エリアを調整した結果、移動体は減速と加速を繰り返してしまうことがある。
【0005】
本開示は、上記課題を解決するためになされたものであって、障害物を検出した場合の移動体の挙動を安定させることができる制御システム、移動体、移動体の制御方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本開示に係る制御システムは、移動体の移動速度を制御する速度制御部と、前記移動体の移動速度を取得する移動速度取得部と、障害物を検出する障害物検出部と、前記障害物検出部で前記障害物を検出する監視エリアの大きさを設定する監視エリア設定部と、前記障害物検出部で前記障害物を検出した場合、前記移動体の移動速度を低下させる検出時移動速度調整部と、前記障害物検出部で前記障害物を検出した場合、前記障害物を検出した時点における前記移動体の移動速度を記憶する検出時速度記憶部と、を備え、前記監視エリア設定部は、前記障害物検出部で前記障害物を検出している第一状態では、前記移動速度取得部で取得された前記移動速度と、前記検出時速度記憶部に記憶された前記障害物を検出した時点における前記移動体の移動速度と、のうち、高い方の移動速度に応じて、前記監視エリアの大きさを設定する。
【0007】
本開示に係る移動体は、移動体本体と、前記移動体を走行させるモータと、上記制御システムと、を備える。
【0008】
本開示に係る移動体の制御方法は、移動体の移動速度を取得するステップと、予め設定された監視エリア内における障害物の有無を検出するステップと、前記監視エリア内に前記障害物を検出した場合、前記移動体の移動速度を低下させるステップと、前記監視エリア内に前記障害物を検出した場合、前記障害物を検出した時点における前記移動体の移動速度を記憶するステップと、前記移動速度を取得するステップで取得された前記移動速度、及び前記障害物を検出した時点における前記移動体の移動速度を記憶するステップで記憶された前記移動体の移動速度のうち、高い方の移動速度に応じて、前記監視エリアの大きさを設定するステップと、を含む。
【0009】
本開示に係るプログラムは、移動体の移動速度を取得するステップと、予め設定された監視エリア内における障害物の有無を検出するステップと、前記監視エリア内に前記障害物を検出した場合、前記移動体の移動速度を低下させるステップと、前記監視エリア内に前記障害物を検出した場合、前記障害物を検出した時点における前記移動体の移動速度を記憶するステップと、前記移動速度を取得するステップで取得された前記移動速度、及び前記障害物を検出した時点における前記移動体の移動速度を記憶するステップで記憶された前記移動体の移動速度のうち、高い方の移動速度に応じて、前記監視エリアの大きさを設定するステップと、をコンピュータに実行させる。
【発明の効果】
【0010】
本開示の制御システム、移動体、移動体の制御方法、及びプログラムによれば、障害物を検出した場合の移動体の挙動を安定させることができる。
【図面の簡単な説明】
【0011】
図1】本開示の実施形態に係る移動体の概略構成を示す図である。
図2】上記移動体の制御システムの機能構成を示す図である。
図3】上記移動体の制御システムのハードウェア構成を示す図である。
図4】上記移動体において、監視エリアを小さくした状態を示す図である。
図5】本開示の実施形態に係る移動体の制御方法の手順を示すフローチャートである。
図6】本開示の実施形態に係る移動体の制御方法において、図5に示す手順に続く手順を示すフローチャートである。
図7】本開示の実施形態の変形例に係る移動体の制御システムの機能構成を示す図である。
【発明を実施するための形態】
【0012】
以下、添付図面を参照して、本開示による制御システム、移動体、移動体の制御方法、及びプログラムを実施するための形態を説明する。しかし、本開示はこの実施形態のみに限定されるものではない。
(移動体の構成)
図1に示すように、本実施形態における移動体1は、例えば、無人搬送フォークリフト(AGF:Automated Guided Forklift)である。無人搬送フォークリフトは、例えば、倉庫、工場、商業施設、貨物取扱施設等の施設で用いられる。無人搬送フォークリフトは、施設内に設定される所定の経路Rに沿って、自動的に走行する。
【0013】
移動体1は、移動体本体2と、速度検出部3と、障害物検出部4と、制御システム5Aと、を備えている。
移動体本体2は、本体部20と、フォーク部21と、モータ22と、を備えている。本体部20は、無人搬送フォークリフトの車体である。本体部20は、モータ22によって駆動される複数の車輪23を備えている。移動体本体2は、モータ22によって車輪23を駆動することで、施設内の床面F上で走行移動可能とされている。
また、フォーク部21は、本体部20に、上下方向に移動可能に設けられている。フォーク部21は、運搬対象となる物品を支持する。
【0014】
移動体1は、制御システム5Aからの指令に基づいて、施設内で所定の経路Rに沿って走行移動可能に構成される。移動体1は、ジャイロやレーザを用いることで施設内における移動体1自体の位置を認識しながら走行するガイドレス式、又は、経路Rに沿って敷設されるガイドに沿って走行するガイド式によって、経路Rに沿って走行する。移動体1は、制御システム5Aからの速度指令に基づいてモータ22を作動させることで、指定された移動速度で走行する。
【0015】
速度検出部3は、移動体1の移動速度を検出する。速度検出部3として、例えば、車輪23の回転を検出することで、移動体1の移動速度を検出するエンコーダが設けられている。
【0016】
障害物検出部4は、移動体1の移動方向前方に位置する障害物100を検出する。障害物100としては、施設内に設置された設備や装置、商品等の物品、施設を構成する柱や壁等の構造物、施設内で各種作業等をしている人、等が挙げられる。障害物検出部4は、例えば、LIDAR(Laser Imaging Detection and Ranging)等の測距装置を備えている。LIDARは、後述する監視エリア設定部42によって設定された監視エリアAにレーザを照射する。監視エリアA内に障害物100が存在する場合、レーザが監視エリアA内の障害物100に当たって反射する。障害物検出部4は、障害物100で反射した反射光を受光することで、障害物100までの距離を検出する。障害物検出部4としては、LIDARに限らず、ToF(Time of Flight)カメラ、ミリ波レーダー等を用いることもできる。
【0017】
ここで、監視エリアAは、障害物100を検出した場合、移動体1を減速させる第一範囲A1と、移動体1を停止させる第二範囲A2が設定されている。第二範囲A2は、監視エリアAのうち、移動体本体2側の一部に設定されている。第一範囲A1は、監視エリアAのうち、移動体本体2から離れた側の残部に設定されている。
【0018】
障害物検出部4で監視エリアA内に障害物100を検出した場合、後述する安全制御部40Aの制御により、移動体1の移動速度を低下させる。
また、障害物検出部4で監視エリアA内に障害物100を検出した状態から、監視エリアA内に障害物100を検出しない状態(非検出の状態)に遷移した場合、安全制御部40Aは、移動体1の移動速度を低下させる制御を解除する。この場合、移動体1は、後述する本体制御部30Aからの速度指令に応じた移動速度で移動する。
【0019】
図2は、移動体の制御システムの機能構成を示す図である。
図2に示すように、制御システム5Aは、本体制御部30Aと、安全制御部40Aと、を備えている。
本体制御部30Aは、移動体本体2の走行動作を制御する。本体制御部30Aは、モータ22に対し、移動体1の移動速度(目標速度)を設定するための速度指令を出力する。
安全制御部40Aは、本体制御部30Aからの速度指令に基づいた移動速度で移動している移動体1の進行方向前方に、障害物100が出現した場合、障害物100との衝突を避けるための制御を行う。
【0020】
なお、本実施形態では、制御システム5Aは、本体制御部30Aと安全制御部40Aとを備えるようにしたが、本体制御部30Aと安全制御部40Aとは、ハードウェア的に、実質的に一体のコンピュータに備えられていてもよい。また、本体制御部30Aを構成するコンピュータと、安全制御部40Aを構成するコンピュータとは、個別に設けられていてもよい。本実施形態では、本体制御部30Aを構成するコンピュータと、安全制御部40Aを構成するコンピュータとを、個別に備えている。
【0021】
図3は、移動体の制御システムのハードウェア構成を示す図である。
図3に示すように、制御システム5Aの本体制御部30A及び安全制御部40Aの各々は、CPU61(Central Processing Unit)、ROM62(Read Only Memory)、RAM63(Random Access Memory)、HDD(Hard Disk Drive)、SSD(Solid State Drive)等の記憶装置64、信号送受信モジュール65を備えるコンピュータである。
【0022】
(機能ブロック図)
図2に示すように、本体制御部30AのCPU61は予め自装置で記憶するプログラムを実行することにより、速度制御部31、情報記憶部32、信号送受信部33、の各構成を備える。
信号送受信部33は、ハードウェア的には信号送受信モジュール65であり、安全制御部40Aとの間で信号を送受信する。また、信号送受信部33は、モータ22に対し、予め設定された速度指令を送信する。
【0023】
速度制御部31は、移動体1の移動速度を制御する。速度制御部31は、例えば、施設内における移動体1の経路Rにおける位置に応じて予め設定された移動速度を、目標移動速度としてモータ22に指令する。移動体1の移動速度は、例えば、複数段階に設定される。例えば、経路Rの幅が広い部分、経路Rが直線状に延びている部分等では、移動速度は高く設定されている。例えば、経路Rの幅が狭い部分、経路Rが湾曲している部分等では、移動速度は低く設定されている。また、通常時は、高く設定された移動速度で移動体1を移動させ、障害物を検出した場合のみ、移動体1の移動速度を低下させるようにしてもよい。また、移動体1の移動速度の段階数は、2段階、あるいは3段階以上であってもよい。
【0024】
情報記憶部32は、速度制御部31で移動体1の移動速度を設定するのに必要な各種の情報を記憶している。情報記憶部32は、例えば、移動体1の経路R上の各位置における、移動速度の設定値を記憶している。
【0025】
また、安全制御部40AのCPU61は予め自装置で記憶するプログラムを実行することにより、移動速度取得部41、監視エリア設定部42、検出時移動速度調整部43、検出時速度記憶部44、信号送受信部45、の各構成を備える。
信号送受信部45は、ハードウェア的には信号送受信モジュール65であり、本体制御部30Aとの間で信号を送受信する。また、信号送受信部45は、速度検出部3のエンコーダで検出される移動体1の移動速度を受信する。信号送受信部45は、障害物検出部4に、設定した監視エリアAの大きさを通知する。
【0026】
移動速度取得部41は、速度検出部3のエンコーダから、移動体1の現在の移動速度を取得する。
監視エリア設定部42は、障害物検出部4における障害物100の検出結果を受け取る。監視エリア設定部42は、障害物検出部4における障害物100の検出結果に応じて、障害物検出部4で障害物100を検出するための監視エリアAの大きさを設定する。監視エリア設定部42は、障害物検出部4における障害物100の検出結果に応じて、監視エリアAの大きさを、予め設定された複数段階段階に設定する。監視エリア設定部42における監視エリアAを設定する構成については、後に詳述する。
【0027】
検出時移動速度調整部43は、障害物検出部4における障害物100の検出結果に応じて、移動体1の移動速度を調整する。検出時移動速度調整部43は、障害物検出部4で障害物100を検出した場合、移動体1の移動速度を低下させる。検出時移動速度調整部43は、障害物検出部4で障害物100を検出した場合、移動体1の移動速度を低下させるための減速指令を、信号送受信部45を介して本体制御部30Aに出力する。検出時移動速度調整部43から減速指令を受けとった本体制御部30Aの速度制御部31は、モータ22に対し、移動体1の移動速度を、予め設定された減速時の移動速度とする指令を出力する。
【0028】
検出時速度記憶部44は、障害物検出部4で、その時点で設定されている監視エリアA内で障害物100を検出した場合、障害物100を検出した時点における移動体1の移動速度を記憶する。検出時速度記憶部44は、障害物検出部4で障害物100を検出した場合、障害物100を検出した時点における移動体1の移動速度を移動速度取得部41から取得し、一時的に記憶する。
【0029】
監視エリア設定部42は、障害物検出部4で障害物100を検出している第一状態と、障害物100を非検出の第二状態との各々において、監視エリアAの大きさを設定する。監視エリア設定部42は、移動速度取得部41で取得された移動速度(以下、これを現在移動速度と称することがある)と、検出時速度記憶部44に記憶された、障害物100を検出した時点における移動体1の移動速度(以下、これを検出時移動速度と称することがある)とを比較する。監視エリア設定部42は、現在移動速度と、検出時移動速度とのうち、高い方の移動速度に応じて、監視エリアAの大きさを設定する。
【0030】
障害物検出部4で障害物100を検出していない通常移動時、監視エリア設定部42は、障害物100を非検出の第二状態となる。障害物検出部4で障害物100を非検出の第二状態では、障害物100を検出していないので、検出時速度記憶部44には、障害物100を検出した時点に置ける移動体の移動速度である、検出時移動速度は記憶されていない(検出時移動速度=0)。
監視エリア設定部42は、現在移動速度と、検出時移動速度とを比較し、高い方の移動速度に応じて、監視エリアAの大きさを設定する。障害物100を非検出の第二状態では、検出時移動速度は記憶されていない(検出時移動速度=0)ので、監視エリア設定部42は、移動速度取得部41で取得された現在移動速度に応じて、監視エリアAの大きさを設定する。
【0031】
図4は、本開示の実施形態に係る移動体において、監視エリアを小さくした状態を示す図である。
この第二状態では、監視エリア設定部42は、移動体1の現在移動速度に応じて、監視エリアAの大きさを、予め設定された複数段階の中から選択して設定する。本実施形態では、図1図4に示すように、移動体1の移動方向に沿った監視エリアAの大きさが、互いに異なる2段階の監視エリアAa、Abが設定されている。2段階の監視エリアAa、Abのうち、図1に示す一方の監視エリアAaは、他方の監視エリアAbよりも、移動体1の移動方向に沿った長さが大きい。
障害物検出部4で障害物100を非検出の第二状態では、監視エリア設定部42は、移動速度取得部41で取得される移動体1の現在速度が、予め設定された基準値よりも高い場合、監視エリアAbよりも大きい監視エリアAaを選択する。第二状態では、監視エリア設定部42は、移動速度取得部41で取得される移動体1の現在速度が、予め設定された基準値よりも低い場合、監視エリアAaよりも小さい監視エリアAbを選択する。
【0032】
また、移動体1の移動中、障害物検出部4で障害物100を検出していない状態で、障害物100を検出すると、監視エリア設定部42は、障害物100を非検出の第二状態から、障害物検出部4で障害物100を検出している第一状態へと遷移する。
上記したように、障害物検出部4が、監視エリアA内で障害物100を検出した場合、検出時速度記憶部44が、障害物100を検出した時点における移動体1の移動速度を記憶している。
障害物検出部4で障害物100を検出している第一状態では、監視エリア設定部42は、移動速度取得部41で取得された移動速度(以下、これを現在移動速度と称することがある)と、検出時速度記憶部44に記憶された、障害物100を検出した時点における移動体1の移動速度(以下、これを検出時移動速度と称することがある)とを比較する。監視エリア設定部42は、現在移動速度と、検出時移動速度とのうち、高い方の移動速度に応じて、監視エリアAの大きさを設定する。
【0033】
障害物検出部4で障害物100を検出している第一状態では、上記したように、検出時移動速度調整部43が、移動体1の移動速度を低下させている。したがって、現在移動速度は、検出時移動速度調整部43により低下された移動速度である。一方、検出時移動速度は、移動速度を低下させる前の、障害物100を検出した時点における移動体1の移動速度である。したがって、現在移動速度よりも検出時移動速度の方が大きい。監視エリア設定部42は、検出時移動速度、つまり、移動速度を低下させる前の、障害物100を検出した時点における移動体1の移動速度に合わせて、監視エリアAの大きさを設定する。すなわち、障害物100を検出する前の第二状態と、障害物100を検出した後の第一状態とで、監視エリアAの大きさは変わらない。
【0034】
また、監視エリア設定部42は、第一状態において、検出時移動速度調整部43により低下された移動速度が、予め設定された閾値未満である場合、移動速度取得部41で取得された移動速度に応じて、監視エリアAの大きさを設定する。障害物検出部4で障害物100を検出している第一状態であっても、移動体1の実際の移動速度が低く、閾値未満である場合には、そのときの移動速度に応じて監視エリアAの大きさを設定する。
【0035】
(移動体の制御方法の手順)
図5は、本開示の実施形態に係る移動体の制御方法の手順を示すフローチャートである。
図5に示すように、本開示の実施形態に係る移動体1の制御方法S10では、移動体1の移動を開始させると、速度検出部3のエンコーダが、移動体1の現在の移動速度を検出する。なお、移動体1の移動開始時、障害物検出部4で障害物100を検出しておらず、監視エリア設定部42は、障害物100を非検出の第二状態である。また、検出時速度記憶部44では、障害物を未検出であるので、障害物を検出した時点での移動速度を記憶していない(検出時移動速度=0)。
制御システム5Aの移動速度取得部41では、予め設定された時間間隔毎に、速度検出部3のエンコーダから、移動体1の現在の移動速度(現在移動速度)を取得する(ステップS11)。
【0036】
移動速度取得部41で移動体1の移動速度を検出すると、監視エリア設定部42が、監視エリアAの大きさを設定する(ステップS12)。このとき、本実施形態では、監視エリア設定部42は、ステップS11で取得した現在移動速度と、検出時移動速度とを比較し、高い方の移動速度に応じて、監視エリアAの大きさを設定する。障害物100を非検出の第二状態では、検出時移動速度は記憶されていない(検出時移動速度=0)ので、監視エリア設定部42は、移動速度取得部41で取得された現在移動速度に応じて、監視エリアAの大きさを設定する。設定された監視エリアAは、監視エリア設定部42が、障害物検出部4に通知する。
【0037】
監視エリア設定部42から監視エリアAの通知を受けた障害物検出部4は、通知された監視エリアAで、障害物100の検出を開始する(ステップS13)。
障害物検出部4は、予め設定された微少時間間隔毎に、監視エリアA内に障害物100が検出されたか否かを判断する(ステップS14)。
ステップS14での判断の結果、監視エリアA内に障害物100が検出されていない場合(ステップS14:No)、ステップS11に戻り、上記した処理を繰り返す。
【0038】
ステップS14での判断の結果、監視エリアA内に障害物100が検出された場合(ステップS14:Yes)、検出時移動速度調整部43が、移動体1の移動速度を低下させるための処理を行う。検出時移動速度調整部43は、移動体1の移動速度を低下させるための減速指令を、信号送受信部45を介して本体制御部30Aに出力する(ステップS15)。また、ステップS15では、検出時速度記憶部44が、ステップS14において障害物検出部4で障害物100を検出した時点における移動体1の移動速度を記憶する。
検出時移動速度調整部43から減速指令を受けとった本体制御部30Aの速度制御部31は、モータ22に対し、移動体1の移動速度を低下させ、予め設定された減速時の移動速度とする指令を出力する(ステップS16)。これにより、移動体1の移動速度が低下する。
【0039】
このように、障害物検出部4で障害物100を検出していない第二状態で、障害物100を検出すると、監視エリア設定部42は、障害物100を非検出の第二状態から、障害物検出部4で障害物100を検出している第一状態へと遷移する(ステップS17)。
【0040】
ステップS17で、障害物検出部4で障害物100を検出している第一状態では、まず、図6に示すように、移動速度取得部41で、速度検出部3のエンコーダから、移動体1の現在の移動速度(現在移動速度)を取得する(ステップS21)。
【0041】
次いで、監視エリア設定部42が、ステップS21で取得した現在移動速度と、ステップS15で検出時速度記憶部44が記憶した検出時移動速度とを比較する(ステップS22)。
監視エリア設定部42は、現在移動速度と検出時移動速度のうち、高い方の移動速度に応じて、監視エリアAの大きさを設定する(ステップS23)。設定された監視エリアAは、監視エリア設定部42が、障害物検出部4に通知する。
障害物検出部4で障害物100を検出している第一状態では、上記したように、検出時移動速度調整部43が、移動体1の移動速度を低下させているため、現在移動速度よりも検出時移動速度の方が高い。監視エリア設定部42は、検出時移動速度、つまり、移動速度を低下させる前の、障害物100を検出した時点における移動体1の移動速度に合わせて、監視エリアAの大きさを設定する。これにより、障害物100を検出する前の第二状態と、障害物100を検出した後の第一状態とで、監視エリアAの大きさは変わらない。
【0042】
監視エリア設定部42から監視エリアAの通知を受けた障害物検出部4は、通知された監視エリアAで、障害物100の検出を開始する(ステップS24)。
障害物検出部4は、予め設定された微少時間間隔毎に、監視エリアA内に障害物100が検出されたか否かを判断する(ステップS25)。
【0043】
ステップS25での判断の結果、監視エリアA内に障害物100が検出されていない場合(ステップS25:No)、ステップS31に移行する。ここで、ステップS23で設定された監視エリアAの大きさは、ステップS17で第一状態に遷移する前の第二状態から変わっていない。ステップS25で、監視エリアA内に障害物100が検出されなくなるには、障害物100が監視エリアA外に移動した、または除去された場合が想定される。
【0044】
ステップS31では、検出時移動速度調整部43が、移動体1の移動速度を低下させるための速度指令(減速指令)を解除する信号を、信号送受信部45を介して本体制御部30Aに出力する。
検出時移動速度調整部43から速度指令を解除する信号を受けとった本体制御部30Aの速度制御部31は、モータ22に対し、ステップS15、S16で移動体の移動速度を低下させる前の速度制御部31からの速度指令をモータ22に出力する。これにより、移動体1の移動速度が、ステップS15、S16で移動速度を低下させる前の移動速度に復帰する(ステップS32)。
【0045】
また、ステップS25での判断の結果、監視エリアA内に障害物100が検出された場合(ステップS25:Yes)、検出時移動速度調整部43が、移動体1の移動速度を低下させるための速度指令(減速指令)を、信号送受信部45を介して本体制御部30Aに出力する(ステップS26)。
【0046】
検出時移動速度調整部43から速度指令を受けとった本体制御部30Aの速度制御部31は、受け取った速度指令に対応した移動速度が、予め設定された閾値以上であるか否かを判定する(ステップS27)。
【0047】
ステップS27での判定の結果、受け取った速度指令に対応した移動速度が、予め設定された閾値以上である場合(ステップS27:Yes)、速度制御部31は、検出時移動速度調整部43から受け取った速度指令に応じて、モータ22に対し、移動体1の移動速度を低下させる(ステップS28)。
ここで、移動体1は、ステップS14で障害物100を検出した後に、ステップS15、S16を経ることで、移動速度を低下させている。つまり、このステップS26~S28では、ステップS15、S16で低下させた移動体1の移動速度を、さらに低下させる。
ステップS28の後、ステップS21に戻り、上記した処理を繰り返す。
つまり、ステップS27で、検出時移動速度調整部43から受け取った速度指令に対応した移動速度が、予め設定された閾値以上である限り、検出時移動速度調整部43は、ステップS21~S28を繰り返すたびに、ステップS28で移動体1の移動速度を順次低下させていく。
【0048】
そして、ステップS27での判定の結果、受け取った速度指令に対応した移動速度が、予め設定された閾値以上ではない、つまり閾値未満であると判定された場合(ステップS27:No)、速度制御部31は、検出時移動速度調整部43から受け取った速度指令、つまり閾値未満の速度指令値に応じて、モータ22に対し、移動体1の移動速度を低下させる(ステップS33)。また、速度制御部31は、検出時速度記憶部44に対し、記憶している検出時移動速度をリセットする(検出時移動速度=0)ように要求する信号を、信号送受信部33から安全制御部40Aに送信する。この信号を受けた安全制御部40Aは、検出時速度記憶部44に記憶された検出時移動速度をリセットする。
【0049】
ステップS33で、閾値未満の速度指令値に応じて、移動体1の移動速度を低下させた状態では、障害物100を非検出の第二状態となっている。監視エリア設定部42は、ステップS21で取得した現在移動速度と、検出時移動速度とを比較し、高い方の移動速度に応じて、監視エリアAの大きさを設定する。検出時速度記憶部44には、検出時移動速度は記憶されていない(検出時移動速度=0)ので、監視エリア設定部42は、移動速度取得部41で取得された閾値未満の移動速度に応じて、監視エリアAの大きさを設定する。このような監視エリアAは、図4に示すように、閾値未満の移動速度に応じ、監視エリアAが小さくなっている。
【0050】
(作用効果)
上記構成の制御システム、移動体、移動体の制御方法、及びプログラムでは、障害物検出部4で障害物100を検出した場合、移動体1の移動速度を低下させる。また、障害物100を検出した時点における移動体1の移動速度を記憶しておく。そして、障害物検出部4で障害物100を検出している第一状態では、移動速度取得部41で取得された移動速度と、障害物100を検出した時点における移動体1の移動速度と、のうち、高い方の移動速度に応じて、障害物検出部4で障害物100を検出する監視エリアAの大きさを設定する。障害物検出部4で障害物100を検出している状態では、移動体1の移動速度を低下させているので、移動速度を低下させる前の、障害物100を検出した時点における移動体1の移動速度に応じて、監視エリアAの大きさを設定する。これにより、障害物100を検出する前の第二状態と、障害物100を検出した後の第一状態とで、監視エリアAの大きさが変わらないことになる。したがって、障害物100を検出することによって移動体1の移動速度を低下させても、障害物100の監視エリアAが変わらない。このため、監視エリアAの大きさが変動することによって、同じ障害物100を検出する状態と検出しない状態とが切り替わることが抑えられる。障害物100をしたり検出しなかったりの検出が不安定になることもない。
したがって、実施形態の制御システム、移動体、移動体の制御方法、及びプログラムによれば、障害物100を検出した場合の移動体1の挙動を安定させることができる。
【0051】
また、障害物100を非検出の第二状態では、移動速度取得部41で取得された移動体1の移動速度に応じて、監視エリアAの大きさを設定する。これにより、移動体1の移動速度が高いときには、監視エリアAを大きくし、移動体1の移動速度が低いときには監視エリアAを小さくし、移動速度に適した監視エリアAを設定することができる。
【0052】
また、障害物検出部4で障害物を検出している第一状態であっても、移動体1移動速度が低く、閾値未満となる場合には、そのときの移動速度に応じて監視エリアAの大きさを設定することができる。
【0053】
(実施形態の変形例)
なお、上記実施形態において、検出時速度記憶部44を、安全制御部40Aに備えるようにしたが、これに限られない。図7に示すように、本変形例に係る移動体1の制御システム5Bにおいて、検出時速度記憶部44は、安全制御部40Bではなく、本体制御部30Bに備えるようにしてもよい。
この場合、図5のステップS15で、障害物検出部4で、その時点で設定されている監視エリアA内で障害物100を検出した場合、障害物100を検出した時点における移動体1の移動速度は、本体制御部30Bに送信され、本体制御部30Bに備えられた検出時速度記憶部44Bに記憶される。
また、図5のステップS12、図6のステップS22で、監視エリア設定部42が、現在移動速度と検出時移動速度とを比較する場合、本体制御部30Bの検出時速度記憶部44Bから、安全制御部40Bの監視エリア設定部42に、記憶していた検出時移動速度を送信する。
また、図6のステップS32、S33では、本体制御部30Bから安全制御部40Bの監視エリア設定部42に対し、検出時移動速度をリセットする信号を送信する。
【0054】
(その他の実施形態)
以上、本開示の実施の形態について図面を参照して詳述したが、具体的な構成はこの実施の形態に限られるものではなく、本開示の要旨を逸脱しない範囲の設計変更等も含まれる。
なお、上記実施形態では、障害物検出部4で障害物100を検出していない、障害物100を非検出の第二状態において、監視エリア設定部42は、現在移動速度と、検出時移動速度とを比較し、高い方の移動速度に応じて、監視エリアAの大きさを設定するようにしたが、これに限られない。障害物100を非検出の第二状態では、監視エリア設定部42は、現在移動速度のみに基づいて、監視エリアAの大きさを設定するようにしてもよい。
また、上記実施形態で示した移動体の制御方法の手順は、適宜変更可能である。
また、上記実施形態では、移動体1として、無人搬送フォークリフトを例示したが、これに限らず、有人フォークリフトであってもよい。また、移動体1は、AGV(Automated Guided Vehicle)等の他の作業車両、移動可能なロボット等であってもよい。
また、上記実施形態でコンピュータが実行するプログラムの一部または全部は、コンピュータが読取可能な記録媒体や通信回線を介して頒布することができる。
【0055】
<付記>
各実施形態に記載の制御システム5A、5B、移動体1、移動体1の制御方法S10、プログラムは、例えば以下のように把握される。
【0056】
(1)第1の態様に係る制御システム5A、5Bは、移動体1の移動速度を制御する速度制御部31と、前記移動体1の移動速度を取得する移動速度取得部41と、障害物100を検出する障害物検出部4と、前記障害物検出部4で前記障害物100を検出する監視エリアAの大きさを設定する監視エリア設定部42と、前記障害物検出部4で前記障害物100を検出した場合、前記移動体1の移動速度を低下させる検出時移動速度調整部43と、前記障害物検出部4で前記障害物100を検出した場合、前記障害物100を検出した時点における前記移動体1の移動速度を記憶する検出時速度記憶部44と、を備え、前記監視エリア設定部42は、前記障害物検出部4で前記障害物100を検出している第一状態では、前記移動速度取得部41で取得された前記移動速度と、前記検出時速度記憶部44に記憶された前記障害物100を検出した時点における前記移動体1の移動速度と、のうち、高い方の移動速度に応じて、前記監視エリアAの大きさを設定する。
移動体1の例としては、フォークリフト、AGVや、移動可能なロボットが挙げられる。
【0057】
この制御システム5A、5Bは、障害物検出部4で障害物100を検出した場合、移動体1の移動速度を低下させる。また、障害物100を検出した時点における移動体1の移動速度を記憶しておく。そして、障害物検出部4で障害物100を検出している第一状態では、移動速度取得部41で取得された前記移動速度と、障害物100を検出した時点における移動体1の移動速度と、のうち、高い方の移動速度に応じて、障害物検出部4で障害物100を検出する監視エリアAの大きさを設定する。障害物検出部4で障害物100を検出している状態では、移動体1の移動速度を低下させているので、移動速度を低下させる前の、障害物100を検出した時点における移動体1の移動速度に応じて、監視エリアAの大きさを設定する。これにより、障害物100を検出する直前の状態と、障害物100を検出した後の第一状態とで、監視エリアAの大きさが変わらないことになる。したがって、障害物100を検出することによって、移動体1の移動速度を低下させても、障害物100の監視エリアAが変わらない。このため、同じ障害物100を検出する状態と検出しない状態とで切り替わることが抑えられる。障害物100をしたり検出しなかったりの検出が不安定になることもない。その結果、障害物100を検出した場合の移動体1の挙動を安定させることができる。
【0058】
(2)第2の態様に係る制御システム5A、5Bは、(1)の制御システム5A、5Bであって、前記監視エリア設定部42は、前記障害物検出部4で前記障害物100を非検出の第二状態では、前記移動速度取得部41で取得された前記移動体1の移動速度に応じて、前記監視エリアAの大きさを設定する。
【0059】
これにより、障害物100を非検出の第二状態では、移動速度取得部41で取得された移動体1の移動速度に応じて、監視エリアAの大きさを設定する。これにより、移動体1の移動速度が高いときには、監視エリアAを大きくし、移動体1の移動速度が低いときには監視エリアAを小さくし、移動速度に適した監視エリアAを設定することができる。
【0060】
(3)第3の態様に係る制御システム5A、5Bは、(1)又は(2)の制御システム5A、5Bであって、前記監視エリア設定部42は、前記障害物検出部4で前記障害物100を検出している第一状態において、前記検出時移動速度調整部43で低下された前記移動体の移動速度が、予め設定された閾値以下である場合、前記検出時移動速度調整部43で低下された前記移動体の移動速度に応じて、前記監視エリアAの大きさを設定する。
【0061】
これにより、障害物検出部4で前記障害物を検出している第一状態であっても、移動体1の実際の移動速度が低く、閾値以下である場合には、そのときの移動速度に応じて監視エリアAの大きさを設定することができる。
【0062】
(4)第4の態様に係る移動体1は、移動体本体2と、前記移動体1を走行させるモータ22と、(1)から(3)の何れか一つの制御システム5A、5Bと、を備える。
【0063】
これにより、障害物100を検出した場合の移動体1の挙動を安定させることができる制御システム5A、5Bを備えた移動体1を提供可能となる。
【0064】
(5)第5の態様に係る移動体1の制御方法S10は、移動体1の移動速度を取得するステップS11、S21と、予め設定された監視エリアA内における障害物100の有無を検出するステップS14と、前記監視エリアA内に前記障害物100を検出した場合、前記移動体1の移動速度を低下させるステップS15と、前記監視エリアA内に前記障害物100を検出した場合、前記障害物100を検出した時点における前記移動体1の移動速度を記憶するステップS15と、前記移動速度を取得するステップで取得された前記移動速度、及び前記障害物100を検出した時点における前記移動体1の移動速度を記憶するステップで記憶された前記移動体1の移動速度のうち、高い方の移動速度に応じて、前記監視エリアAの大きさを設定するステップS22、S23と、を含む。
【0065】
これにより、障害物100を検出した場合の移動体1の挙動を安定させることができる。
【0066】
(6)第6の態様に係るプログラムは、移動体1の移動速度を取得するステップと、予め設定された監視エリアA内における障害物100の有無を検出するステップS14と、前記監視エリアA内に前記障害物100を検出した場合、前記移動体1の移動速度を低下させるステップS15と、前記監視エリアA内に前記障害物100を検出した場合、前記障害物100を検出した時点における前記移動体1の移動速度を記憶するステップS15と、前記移動速度を取得するステップで取得された前記移動速度、及び前記障害物100を検出した時点における前記移動体1の移動速度を記憶するステップで記憶された前記移動体1の移動速度のうち、高い方の移動速度に応じて、前記監視エリアAの大きさを設定するステップS22、S23と、をコンピュータに実行させる。
【0067】
これにより、障害物100を検出した場合の移動体1の挙動を安定させることができる処理をコンピュータに実行させることができる。
【符号の説明】
【0068】
1…移動体
2…移動体本体
3…速度検出部
4…障害物検出部
5A、5B…制御システム
20…本体部
21…フォーク部
22…モータ
23…車輪
30A、30B…本体制御部
31…速度制御部
32…情報記憶部
33…信号送受信部
40A、40B…安全制御部
41…移動速度取得部
42…監視エリア設定部
43…検出時移動速度調整部
44、44B…検出時速度記憶部
45…信号送受信部
61…CPU
62…ROM
63…RAM
64…記憶装置
65…信号送受信モジュール
100…障害物
A、Aa、Ab…監視エリア
A1…第一範囲
A2…第二範囲
F…床面
R…経路
図1
図2
図3
図4
図5
図6
図7