以下、図面を参照しつつ、本発明に従う各実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。なお、以下で説明される各実施の形態および各変形例は、適宜選択的に組み合わされてもよい。
また、以下では、自律走行搬送ロボット(AMR:Autonomous Mobile Robot)に、ロボットアームが組み合わされた自走装置を例に挙げて説明する。ロボットアームは、たとえば、協働ロボットである。なお、自走装置は、自律走行搬送ロボットの代わりに、無人搬送車(AGV:Automated Guided Vehicle)にロボットアームが組み合わされていてもよい。
<A.自走装置の概略構成>
図1は、本実施の形態の自走装置100の斜視図である。
図1および後出の図面には、前方、後方、右方、左方、上方および下方の6方向が適宜示されている。前方および後方は、自走装置100が直進走行する場合の進行方向であり、互いに反対方向である。右方は、自走装置100から前方を見た場合の右手方向である。左方は、自走装置100から前方を見た場合の左手方向であり、右方の反対方向である。上方は、自走装置100から見て空側であり、下方は、自走装置100が走行する床面側である。
なお、本実施の形態では、後述するトレイ66に対してロボットアーム11が位置する方向を前方といい、その反対方向を後方というが、いずれの方向を前方といい、いずれの方向を後方というかは、特に限定されない。
図1に示すように、自走装置100は、走行体61と、ロボットアーム11とを有する。走行体61は、モータを用いた車輪駆動により走行可能(自走可能)に構成されている。ロボットアーム11は、走行体61に搭載されている。ロボットアーム11の先端部には、エンドエフェクタ40が装着されている。エンドエフェクタ40は、ロボットアーム11の先端に着脱可能に取り付けられ、対象物に対して作業を行なう。本例では、ロボットアーム11には、エンドエフェクタ40として、把持ハンドが接続される。自走装置100は、エンドエフェクタ40により、搬送対象物を把持可能に構成されている。
走行体61は、走行本体部62と、カバー部63とを有する。カバー部63は、走行本体部62上に設けられている。カバー部63は、走行本体部62上に内部空間を形成するカバー体からなり、その内部には、ロボットアーム11の駆動用モータ、自走装置100の動力源として設けられるバッテリ、または、自走装置100を制御するための各種制御部品などが収容されている。走行本体部62は、複数の従動輪51と、第1駆動輪71と、第2駆動輪72(図2)を有する。走行本体部62の構造については、後に詳しく説明する。
カバー部63は、頂面65を有する。頂面65上には、搬送対象物を載置するためのトレイ66が設けられている。ロボットアーム11は、頂面65に接続されている。ロボットアーム11は、頂面65から上方に向けて延出している。走行体61に対するロボットアーム11の接続位置は、トレイ66と前後方向に並んでいる。
ロボットアーム11は、基台部12と、アーム部13とを有する。基台部12は、走行体61に対して回転可能に接続されている。アーム部13は、基台部12に対して接続されている。アーム部13は、基台部12からアーム状に延びている。
ロボットアーム11は、プログラム制御型ロボットである。ロボットアーム11は、本例では、垂直多関節型ロボットである。詳しくは、本例では、ロボットアーム11は、6自由度(6つの可動部)を有する6軸ロボットである。なお、6軸が制御可能なロボットアーム11の代わりに、走行体61に6軸以外の多軸制御可能なロボットアームが搭載されてもよい。
自走装置100は、図示しないサーバと双方向通信をする。当該通信は、たとえば、無線LAN(Local Area Network)により実現される。あるいは、上記の通信は、移動体用の無線システムにより実現される。移動体用の無線システムとして、たとえば、第4世代通信システム(4G)、第5世代通信システム(5G)を用いることができる。
図2は、走行本体部62を示す上面図である。
図2に示されるように、走行体61の走行本体部62は、第1駆動輪71と、第1走行用モータ77と、第2駆動輪72と、第2走行用モータ78と、複数の従動輪51(51Rf,51Lf,51Rb,51Lb)とを有する。従動輪51は、オムニホイールからなる。従動輪51は、ホイール56と、複数のローラ60とを有する。
走行本体部62は、第1車軸73と、第2車軸74と、減速機75と、減速機76とを有する。第1走行用モータ77は、減速機75を介して第1駆動輪71に接続されている。第2走行用モータ78は、減速機76を介して第2駆動輪72に接続されている。
走行本体部62は、フレーム86と、第1支持アーム93と、第2支持アーム94と、第1支持軸91と、第2支持軸92と、第3支持アーム88と、第3支持軸87とをさらに有する。
走行本体部62は、第3車軸96と、第4車軸97と、第5車軸98と、第6車軸99とをさらに有する。従動輪51Rfは、第3車軸96を介して、第1支持アーム93に接続されている。従動輪51Lfは、第4車軸97を介して、第2支持アーム94に接続されている。従動輪51Rbは、第5車軸98を介して、第3支持アーム88に接続されている。従動輪51Lbは、第6車軸99を介して、第3支持アーム88に接続されている。
走行本体部62は、加速度センサ35を備えている。本例では、加速度センサ35は、フレーム86に取り付けられている。加速度センサ35は、走行体61の走行によって生じる振動を検出する。加速度センサ35としては、たとえば、慣性計測装置(IMU:Inertial Measurement Unit)を用いることができる。加速度センサ35の設置位置は、特に限定されないが、振動を検知しやすい場所が好ましい。また、加速度センサ35は、少なくとも、自走装置100の上下方向の振動を検出できればよい。
以下、走行本体部62による走行体61の移動方向について、説明する。
走行体61は、第1駆動輪71および第2駆動輪72に対して、互いに同じ回転が付与されることによって、前後方向に直進し、第1駆動輪71および第2駆動輪72に対して、互いに異なる回転が付与されることによって、左右方向に旋回動作する(差動2輪駆動方式)。第1駆動輪71、第2駆動輪72および従動輪51は、左右に操舵不可である。
より具体的には、走行体61は、第1駆動輪71および第2駆動輪72を、互いに等しい回転数で、かつ、正転させることによって、前方に直進する(前進)。走行体61は、第1駆動輪71および第2駆動輪72を、互いに等しい回転数で、かつ、反転させることによって、後方に直進する(後進)。
走行体61は、第2駆動輪72を正転させ、第1駆動輪71を第2駆動輪72よりも大きい回転数で正転させることによって、左方に旋回動作する(左旋回)。走行体61は、第1駆動輪71を正転させ、第2駆動輪72を第1駆動輪71よりも大きい回転数で正転させることによって、右方に旋回動作する(右旋回)。
走行体61は、第1駆動輪71を正転させ、第2駆動輪72を第1駆動輪71と同じ回転数で反転させることによって、回転動作する(左回転)。なお、第1駆動輪71を反転させ、第2駆動輪72を第1駆動輪71と同じ回転数で正転させた場合には、走行体61の回転動作の方向が上記の場合と逆転する(右回転)。
<B.走行システム>
図3および図4に基づき、走行システム1000について説明する。
図3は、自走装置100が自走する建屋900の平面図である。図4は、図3のiv-iv線矢視断面図である。
図3に示されるように、走行システム1000は、自走装置100と、床面910に形成された凹凸形状の複数の凹凸パターンPa,Pb,Pcとを有する。自走装置100は、建屋900内を自走する。自走装置100は、建屋900の床面910を自走する。床面910には、本例では、複数の機器800と、自走装置100用の充電ステーション850とが設置されている。
建屋900は、自走装置100の制限速度が規定されていない通常走行エリア950と、自走装置100の制限速度が規定される速度制限エリア970と、自走装置100の進入が禁止されている進入禁止エリア990とを含む。速度制限エリア970は、たとえば、通常時において、作業者が進入するエリアである。進入禁止エリア990は、事務所、出荷場等である。
図4に示されるように、凹凸パターンPa,Pbが通常走行エリア950に設けられている。凹凸パターンPbは、凹凸パターンPaよりも通常走行エリア950側に設けられている。本例では、自走装置100が、マップに基づく自律走行に基づき、通常走行エリア950から速度制限エリア970に向かう局面を示している。
凹凸パターンPaは、2つの凹部5と、2つの凹部5の間に1つの凸部6とを備える。凹凸パターンPaでは、2つの凹部5を互いに間隔を開けて床面910に形成することにより、結果として凸部6が形成されている。凹凸パターンPbは、4つの凹部5と、3つの凸部6とを備える。凹凸パターンPbでは、4つの凹部5を順に間隔を開けて床面910に形成することにより、結果として3つの凸部6が形成されている。なお、各凹凸パターンPa,Pbの凹部5および凸部6の数は、一例であって、上述した個数に限定されるものではない。
自走装置100が凹凸パターンPaを通過すると、自走装置100には、凹凸パターンPaに応じた振動のパターン(以下、「振動パターンQa」と称する)が生じる。4つの従動輪51、第1駆動輪71、および第2駆動輪72が2つの凹部5を通過したときに、自走装置100は、少なくとも上下方向に振動する。この振動は、加速度センサ35によって検出される。振動は、加速度の時間的な変化として現れる。自走装置100は、検出された加速度の時間的変化(具体的には、振動パターンQa)に基づき、自走装置100が凹凸パターンPaを通過したと判断できる。詳しくは、後述する制御装置201が当該判断を行なう。
自走装置100は、振動パターンQaを検出することにより凹凸パターンPaを通過したと判断すると、速度制限がなされている場合には、当該制限を解除する。本例の場合には、自走装置100は、速度制限がなされていない通常走行エリア950に位置するため、速度の制限が行なわれていない。このため、自走装置100は、現在の速度設定を維持する。
自走装置100が凹凸パターンPaを通過した後に凹凸パターンPbをさらに通過すると、自走装置100には、凹凸パターンPbに応じた振動のパターン(以下、「振動パターンQb」と称する)が生じる。4つの従動輪51、第1駆動輪71、および第2駆動輪72が4つの凹部5を通過したときに、自走装置100が上下方向に振動する。この振動は、加速度センサ35によって検出される。振動は、加速度の時間的な変化として現れる。自走装置100は、検出された加速度の時間的変化(具体的には、振動パターンQb)に基づき、自走装置100が凹凸パターンPbを通過したと判断する。
自走装置100は、振動パターンQbを検出することにより凹凸パターンPbを通過したと判断すると、速度制限がなされていない場合には、速度の上限値を予め定められた速度Vs(km/h)に制限する。本例の場合には、自走装置100は、速度制限がなされていない通常走行エリア950に位置するため、速度の制限が行なわれていない。このため、自走装置100は、速度の上限値を予め定められた速度Vsに設定する。
次に、自走装置100が速度制限エリア970を走行した後に、自走装置100が通常走行エリア950に戻る局面について説明する。すなわち、自走装置100が、再度、凹凸パターンPbと、凹凸パターンPaとを通過する局面について説明する。
自走装置100は、凹凸パターンPbを通過したと判断すると、自走装置100には、凹凸パターンPbに応じた振動パターンQbが生じる。しかしながら、自走装置100は、既に凹凸パターンPbに基づいた速度制限がなされているため、速度の上限値を変更しない。
自走装置100が凹凸パターンPbを通過した後に凹凸パターンPaをさらに通過すると、自走装置100には、凹凸パターンPaに応じた振動パターンQaが生じる。この場合、自走装置100は、速度制限を解除する。これにより、自走装置100は、通常走行エリア950において、速度制限なしに自走することができる。
図3に示されるように、凹凸パターンPcは、凹凸パターンPbよりも多くの凹部5と凸部6とを備える。たとえば、凹凸パターンPcは、6つの凹部5と、6つの凹部5の間の5つの凸部6とを備える。
自走装置100が凹凸パターンPcを通過すると、自走装置100には、凹凸パターンPcに応じた振動のパターン(以下、「振動パターンQc」と称する)が生じる。4つの従動輪51、第1駆動輪71、および第2駆動輪72が6つの凹部5を通過したときに、自走装置100が上下方向に振動する。この振動は、加速度センサ35によって検出される。振動は、加速度の時間的な変化として現れる。自走装置100は、検出された加速度の時間的変化(具体的には、振動パターンQc)に基づき、自走装置100が凹凸パターンPcを通過したと判断する。
自走装置100は、振動パターンQcを検出することにより凹凸パターンPcを通過したと判断すると、走行を停止する。これにより、自走装置100が進入禁止エリア990に進入することを防止できる。この場合、自走装置100を、当該場所で停止させ続けてもよいし、以下のように、走行を再開させてもよい。
自走装置100は、凹凸パターンPcに基づき停止した後に、たとえば、所定の距離だけ、元来たルートを戻る。自走装置100は、逆走(本例の場合には、後進または180°だけ左回転または右回転した後に前進)する。たとえば、自走装置100は、再度、凹凸パターンPcを完全に通過する距離だけ逆走する。その後、自走装置100は、異なるルートを選択し、当該ルートに基づき走行を開始する。この場合、自走装置100は、速度制限がない状態で走行する。
<C.動作制御に関する装置構成>
図5は、自走装置100の動作制御に関する装置構成を示す図である。
図5に示されるように、自走装置100は、制御装置201と、ROM(Read Only Memory)202と、RAM(Random Access Memory)203と、通信インターフェイス204と、レーザセンサ205と、モータ駆動装置206と、記憶装置210と、ロボットアーム11と、アンテナ31と、加速度センサ35とを有する。これらのコンポーネントは、バス209に接続されている。
制御装置201は、たとえば、少なくとも1つの集積回路によって構成されている。集積回路は、たとえば、少なくとも1つのCPU(Central Processing Unit)、少なくとも1つのGPU(Graphics Processing Unit)、少なくとも1つのASIC(Application Specific Integrated Circuit)、少なくとも1つのFPGA(Field Programmable Gate Array)、または、それらの組み合わせなどによって構成され得る。一例として、制御装置201は、PLC(Programmable Logic Controller)である。
制御装置201は、制御プログラム211またはオペレーティングシステムなどの各種プログラムを実行することによって、自走装置100の動作を制御する。制御装置201は、制御プログラム211の実行命令を受け付けたことに基づいて、記憶装置210またはROM202からRAM203に制御プログラム211を読み出す。RAM203は、ワーキングメモリとして機能し、制御プログラム211の実行に必要な各種データを一時的に格納する。
制御装置201は、走行体61の走行制御を行なう。制御装置201は、ロボットアーム11の動作を制御する。すなわち、制御装置201は、ロボットコントローラとしても機能する。なお、自走装置100は、走行体61の走行を制御する制御装置と、ロボットアーム11の動作を制御する制御装置とを、別体として備えてもよい。
通信インターフェイス204には、アンテナ31などが接続されている。自走装置100は、アンテナ31および通信インターフェイス204を介して、自走装置100および外部機器(たとえば、サーバ)の間の無線通信を実現する。
レーザセンサ205は、図1のカバー部63に収容されている。レーザセンサ205は、自ら回転しながらレーザ光を周囲に照射し、当該レーザ光の反射光を受光することによって、レーザセンサ205の周囲にある物体を検出する。レーザセンサ205は、レーザセンサ205からレーザ光の走査面内に存在する物体までの距離を、レーザセンサ205の回転軸周りの角度別に表わした2次元距離データDとして、制御装置201に出力する。レーザセンサ205の走査面は、水平面に対して傾いている。そのため、自走装置100は、移動することで周囲を3次元的にスキャンすることができる。
モータ駆動装置206は、制御装置201からのモータ駆動指令に従って、第1走行用モータ77および第2走行用モータ78の回転を制御する。モータ駆動指令は、たとえば、第1走行用モータ77および第2走行用モータ78の正転指令、第1走行用モータ77および第2走行用モータ78の逆転指令、ならびに、第1走行用モータ77および第2走行用モータ78の回転数(回転速度)を含む。
記憶装置210は、たとえば、ハードディスクまたはフラッシュメモリなどの記憶媒体である。記憶装置210は、自走装置100の動作制御するための制御プログラム211、走行エリアの3次元マップ212などを格納する。詳しくは、制御プログラム211は、走行体61の走行を制御するためのプログラムと、ロボットアーム11の動作を制御するプログラムとを含む。なお、制御プログラム211および3次元マップ212は、記憶装置210に限定されず、制御装置201の記憶領域(たとえば、キャッシュメモリなど)、ROM202、RAM203、または、外部機器(たとえば、サーバー)などに格納されてもよい。
また、制御プログラム211は、単体のプログラムとしてではなく、任意のプログラムの一部に組み込まれて提供されてもよい。この場合、制御プログラム211による走行体61の走行制御処理およびロボットアーム11の動作制御処理は、任意のプログラムと協働して実現される。
このような一部のモジュールを含まないプログラムであっても、本実施の形態に従う制御プログラム211の趣旨を逸脱するものではない。さらに、制御プログラム211によって提供される機能の一部または全部は、専用のハードウェアによって実現されてもよい。さらに、少なくとも1つのサーバが制御プログラム211の処理の一部を実行する所謂クラウドサービスのような形態で、自走装置100が構成されてもよい。
<D.自走装置の機能的構成>
図6は、自走装置100の機能的構成を説明するための機能ブロック図である。図7は、自走装置100に記憶されているデータテーブルTbの構成例である。
図6に示されるように、制御装置201は、機能構成の一例として、走行制御部250と、ロボット制御部260と、パターン特定部255とを含む。
ロボット制御部260は、ロボットアーム11およびエンドエフェクタ40の動作を制御するための機能構成である。ロボット制御部260は、ロボットアーム11の6つの可動部(6軸)の動作を制御する。具体的には、ロボット制御部260は、ロボットアーム11のアクチュエータ(図示せず)の動作(回転角、回転速度等)を制御する。
さらに、ロボット制御部260は、エンドエフェクタ40の電動ハンドの動きを制御する。ロボット制御部260は、電動ハンドの把持動作を制御する。具体的には、ロボット制御部260は、エンドエフェクタ40内のアクチュエータ(図示せず)の動作を制御する。
走行制御部250は、自走装置100の走行を制御するための機能構成である。走行制御部250は、レーザセンサ205から入力される2次元距離データDと、3次元マップ212とを比較することにより、自走装置100の現在位置を特定する。制御装置201は、現在位置を特定することで、3次元マップ212上の予め定められた経路に沿って自走装置100を走行させる。なお、制御装置201は、3次元マップ212を生成することもできる。
さらに、走行制御部250は、自走装置100の駆動中にレーザセンサ205から順次取得される2次元距離データDに基づいて、自走装置100の周囲にある障害物を検知し、当該障害物との衝突を避けるように自走装置100の走行を制御する。当該障害物は、たとえば、人物や他の自走装置100などの移動体と、壁や棚などの静止体とを含む。
走行制御部250は、障害物が検知されていない間、3次元マップ212上の予め定められた経路を走行するように自走装置100の走行を制御する。一方で、走行制御部250は、障害物が検知された場合には、当該障害物との衝突を避けるように自走装置100の走行を制御する。
ある局面において、障害物までの距離が所定距離以上である場合には、走行制御部250は、当該障害物を避けるように自走装置100の走行を制御する。一方で、障害物までの距離が所定距離未満である場合には、走行制御部250は、自走装置100の走行を停止する。
次に、加速度センサ35を用いた、制御装置201による走行体61の制御について説明する。
自走装置100は、検出部270を備える。検出部270は、加速度センサ35と、制御装置201内のパターン特定部255とを含む。走行制御部250は、記憶部251を含む。記憶部251は、データテーブルTbを記憶している。なお、記憶部251は、記憶装置210の一部である。
図7に示されるように、データテーブルTbには、各振動パターンQa,Qb,Qcに対して、エリア情報と、制御内容とが対応付けて記憶されている。振動パターンQaに対しては、エリア情報としての「通常走行エリア」が対応付けられ、かつ、制御内容としての「速度制限なし」が対応付けられている。振動パターンQbに対しては、エリア情報としての「速度制限エリア」が対応付けられ、かつ、制御内容としての「速度の上限をVs(km/h)に規制」が対応付けられている。振動パターンQcに対しては、エリア情報としての「進入禁止エリア」が対応付けられ、かつ、制御内容としての「走行停止」が対応付けられている。
図6に示されるように、検出部270は、加速度センサ35を含み、走行体61の走行によって生じる振動のパターン(振動パターン)を検出する。詳しくは、加速度センサ35は、走行体61を含む自走装置100の加速度を連続的に検出する。加速度センサ35は、検出された加速度データを、パターン特定部255に逐次送信する。
パターン特定部255は、当該加速度データに基づいて、振動パターンを特定する。具体的には、パターン特定部255は、加速度データからノイズ除去等の所定の信号処理を実行する。その後、本例では、パターン特定部255は、信号処理後の加速度データが、予め定められた複数の振動パターンQa,Qb,Qcの何れに合致するかを判断する。
詳しくは、パターン特定部255は、信号処理後の加速度データと複数の振動パターンとの類似度を判定することにより、加速度データが、予め定められた複数の振動パターンQa,Qb,Qcの何れに合致するかを判断する。さらに詳しくは、パターン特定部255は、各振動パターンQa,Qb,Qcを表した情報を有しており、当該情報に基づいて、加速度データが、予め定められた複数の振動パターンQa,Qb,Qcの何れに合致するかを判断する。
パターン特定部255は、特定された振動パターンを示す振動パターン情報を走行制御部250に送る。本例では、パターン特定部255は、振動パターンが特定されたことを条件に、振動パターン情報を走行制御部250に送る。
このように、検出部270は、走行体61の走行によって生じる振動のパターンを検出する。さらに、検出部270は、検出された振動パターンを示す振動パターン情報を走行制御部250に送る。
走行制御部250は、検出部270によって検出されたパターンを示す振動パターン情報を逐次取得する。走行制御部250は、検出部270により検出された振動パターンに基づいて、走行体61が走行するエリアに関するエリア情報を認識する。具体的には、走行制御部250は、振動パターン情報に基づいて、走行体61が走行するエリアに関するエリア情報を認識する。
走行制御部250は、認識された当該エリア情報に対応するように走行体61の走行を制御する。たとえば、走行制御部250は、走行体61(自走装置100)が走行するエリアが走行体61の進入が禁止される進入禁止エリア990であるというエリア情報を認識した場合、走行体61が進入禁止エリアに進入しないように走行体61の走行を制御する。また、走行制御部250は、走行体61が走行するエリアが、走行体61の制限速度が規定される速度制限エリア970であるというエリア情報を認識した場合、走行体61の速度が制限速度Vsを超えないように走行体61の走行を制御する。走行制御部250は、走行体61が走行するエリアが走行体61の通常走行が認められている通常走行エリア950であるというエリア情報を認識した場合、デフォルトの設定にて走行体61の走行を制御する。
<E.制御構造>
図8は、自走装置100で実行される処理の流れを説明するためのフロー図である。
図8に示されているように、自走装置100の制御装置201は、ステップS1において、走行体61の走行を開始させる。ステップS2において、制御装置201は、特定の振動パターンQa,Qb,Qcを検出したか否かを判断する。なお、当該検出は、パターン特定部255(図6)が、加速度センサ35による検出結果に基づき行う。
ステップS2にて肯定的な判断がなされた場合(ステップS2においてYES)、制御装置201は、ステップS3において、特定された振動パターンが振動パターンQcか否かを判断する。ステップS2にて否定的な判断がされた場合(ステップS2においてNO)、制御装置201は、処理をステップS5に進める。
ステップS3において肯定的な判断がなされた場合(ステップS3においてYES)、制御装置201(詳しくは、走行制御部250)は、ステップS4において、走行体61の走行を停止させる。制御装置201は、進入禁止エリア990と判断して、走行体61の走行を停止させる。その後、処理をステップS5に進める。ステップS3において否定的な判断がなされた場合(ステップS3においてNO)、制御装置201は、ステップS6において、特定された振動パターンが振動パターンQbか否かを判断する。
ステップS6において肯定的な判断がなされた場合(ステップS6においてYES)、制御装置201(詳しくは、走行制御部250)は、ステップS7において、走行体61の走行速度の上限をVsに制限する。制御装置201は、速度制限エリア970と判断して、走行体61の制限速度を規制する。その後、制御装置201は、処理をステップS5に進める。
ステップS6において否定的な判断がなされた場合(ステップS6においてNO)、制御装置201(詳しくは、走行制御部250)は、ステップS8において、走行体61の速度制限をなしとする。すなわち、制御装置201は、デフォルトの走行条件で走行体61を走行させる。その後、制御装置201は、処理をステップS5に進める。
制御装置201(詳しくは、走行制御部250)は、ステップS5において、目的位置に到達したか否かを判断する。制御装置201は、目的位置に到達したと判断した場合(ステップS5においてYES)、一連の処理を終了する。制御装置201は、目的位置に到達していないと判断した場合(ステップS5においてNO)、処理をステップS2に戻す。
<F.小括>
自走装置100および走行システム1000を小括すると、以下のとおりである。
(1)自走装置100は、走行体61と、走行体61の走行によって生じる振動のパターン(振動パターン)を検出する検出部270と、検出部270により検出されたパターンに基づいて、走行体61が走行するエリアに関するエリア情報を認識し、当該エリア情報に対応するように走行体61の走行を制御する走行制御部250とを備える。
このような構成によれば、走行体61の走行によって生じる振動を検出することによって、走行体61の走行をそのエリア情報に対応付けて制御できる。これにより、簡易な構成で、走行体61の走行を適切に制御することができる。
(2)検出部270は、走行体61の走行によって生じる振動を検出する加速度センサ35を含む。このような構成によれば、加速度センサを用いて、走行体の走行によって生じる振動を検出することができる。
(3)走行制御部250は、走行体61が走行するエリアが、走行体61の進入が禁止される進入禁止エリア990であるというエリア情報を認識し、走行体61が進入禁止エリア990に進入しないように走行体61の走行を制御する。このような構成によれば、走行体61(自走装置100)が進入禁止エリアに進入することを確実に防止できる。
本来、走行体61の走行ルートに進入禁止エリアが含まれることはないが、工場内のレイアウトの変更時にルートを更新し忘れている場合などが想定される。このため、このような制御を、最終的な安全機構として利用できる。
(4)走行制御部250は、走行体61が走行するエリアが、走行体61の制限速度が規定される速度制限エリア970であるというエリア情報を認識し、走行体の速度が制限速度Vsを超えないように走行体61の走行を制御する。このような構成によれば、走行体61が速度制限エリア970において速度超過になることを確実に防止できる。
(5)走行体61は、複数の車輪51,71,72と、複数の車輪51,71,72を支持するフレーム86(フレーム体)とを含む。検出部270は、フレーム86に取り付けられる。このような構成によれば、走行体61の走行に伴って車輪51,71,72と床面910との間で生じる振動を、検出部270においてより確実に検出することができる。
(6)走行システム1000は、自走装置100と、床面910に設けられ、走行体61の走行により特定の振動パターンQa,Qb,Qcが自走装置100によって検出されるように凹凸形状をなす凹凸パターンPa,Pb,Pc(凹凸部)とを備える。このような構成によれば、簡易な構成で、走行体61の走行を適切に制御することができる。
<G.変形例>
(g1.床面に設けられる凹凸パターンの変形例)
図9は、図4に示した凹凸パターンPbの変形例である凹凸パターンPeを示した図である。図9(A)は凹凸パターンPeを図4と同じ方向から見た断面図であり、図9(B)は凹凸パターンPeを上面視した上面図である。
図9に示されているように、凹凸パターンPeは、4つの凸部8と、3つの凹部7とを備える。凹凸パターンPeでは、4つの凸部8を順に間隔を開けて床面910に形成することにより、結果として3つの凹部7が形成されている。
図4に示した凹凸パターンPbでは、凹部5を形成するために、床面910に溝を掘る必要がある。それに対して、本変形の凹凸パターンPeでは、床面910に溝を掘る必要がない。たとえば、床面910において、平行に棒状部材を並べることにより、凹凸パターンPeを形成することができる。したがって、床面910に溝を掘る場合に比べて、凹凸パターンの形成が簡易となる。
なお、凹凸パターンPbの変形例を例示したが、凹凸パターンPa,Pcに対しても同様の変形が可能である。
図10は、図4に示した凹凸パターンPbの他の変形例である凹凸パターンPfを示した図である。図10(A)は凹凸パターンPfを図4と同じ方向から見た断面図であり、図10(B)は凹凸パターンPfを上面視した上面図である。
図10に示されているように、凹凸パターンPfは、4つの凹部5a,5b,5c,5dと、3つの凸部6a,6b,6cとを備える。凹凸パターンPfでは、4つの凹部5a~5dを順に間隔を開けて床面910に形成することにより、結果として3つの凸部6a~6cが形成されている。
このような構成によれば、X軸正方向(図10の右方向)に自走装置100が前進し、凹凸パターンPfを通過する場合と、X軸負方向(図10の左方向)に自走装置100が前進して凹凸パターンPfを通過する場合とで、異なる振動パターンが得られる。以下、X軸正方向に前進したときに得られる振動パターンを「振動パターンQf_1」とし、X軸負方向に前進したときに得られる振動パターンを「振動パターンQf_2」とする。
この場合、検出部270によって振動パターンQf_1が検出された場合、走行制御部250は、振動パターンQbと同様に、速度の上限値を予め定められた速度Vs(km/h)に制限する。検出部270によって振動パターンQf_2が検出された場合、走行制御部250は、振動パターンQaと同様に、速度制限を解除する。
なお、この場合、制御装置201のデータテーブルTbに、このような振動パターンQf_1,Qf_2と各制御内容とを予め記憶しておけばよい。また、パターン特定部255は、振動パターンPa,Pb,Pc等とともに、振動パターンQf_1,Qf_2も特定の対象とする。
このような構成によれば、図4に示した2つの連続する凹凸パターンPa,Pbを用いることなく、1つの凹凸パターンPfで、図4に基づき説明した走行制御が可能となる。このため、凹凸パターンの設置面積も少なくできる。
図11は、走行システム1000で利用可能な他の凹凸パターンPgを示した図である。図11(A)は凹凸パターンPgを図4と同じ方向から見た断面図であり、図11(B)は凹凸パターンPgを上面視した上面図である。
図11に示されるように、凹凸パターンPgは、1つの凹部5を備える。このように、凹凸パターンは、1つの凹部5のみで形成されてもよい。また、凹凸パターンは、1つの凸部のみで形成されてもよい。
この場合にも、制御装置201のデータテーブルTbに、凹凸パターンPgに対応する振動パターン(以下、「振動パターンQg」と称する)と制御内容とを予め記憶しておけばよい。また、パターン特定部255は、振動パターンPa,Pb,Pc等とともに、振動パターンQgも特定の対象とする。
図12は、走行システム1000で利用可能なさらに他の凹凸パターンPhを示した図である。なお、図12は、凹凸パターンPhを上面視した上面図である。
図12に示されるように、自走装置100の走行ルートに1本の溝(凹部9)が形成されている。凹部9は、凹部9aと、凹部9bと、凹部9cとを含む。凹部9aと凹部9bとは互いに接続されている。凹部9bと凹部9cとは互いに接続されている。
自走装置100がX軸正方向に前進すると、左側の従動輪51Lf,51Lbと左側の第2駆動輪72が凹部9aを通過するタイミングと、右側の従動輪51Rf,51Rbと右側の第1駆動輪71が凹部9cを通過するタイミングとが異なることになる。よって、凹凸パターンPhによれば、1本の溝であるにも関わらず、図11に示した凹凸パターンPgにより生じる振動パターンQgとは異なる振動パターン(以下、「振動パターンQh」と称する)を生じさせることが可能となる。
以上のように、様々な凹凸パターンを認識可能なように制御装置201を構成することより、走行体61に様々な走行制御を実現させることが可能となる。たとえば、速度制限エリアを、速度の上限がVsに設定されているエリアと、速度の上限がVsよりも遅いVrに設定されているエリアとに区分けすることも可能である。
(g2.センサ)
図13は、加速度センサ35の代わりに、レーザセンサ36(図2参照)を備えた自走装置100を示した図である。レーザセンサ36は、加速度センサ35と同様に、フレーム86に取り付けられている。
本例では、検出部270は、走行体61が走行する床面910の凹凸形状のパターン(凹凸パターン)を検出する。詳しくは、検出部270は、加速度センサ35の代わりに、レーザセンサ36を含む。レーザセンサ36は、床面の凹凸形状をセンシングする。パターン特定部255は、走行体61が走行する床面910の凹凸形状のパターンを特定する。
走行制御部250は、検出部270により検出された凹凸パターンに基づいて、走行体61が走行するエリアに関するエリア情報を認識し、エリア情報に対応するように走行体の走行を制御する。
このように、床面910の凹凸パターンをレーザセンサ36にて直接検出してもよい。このような構成によれば、精度の高い検出が可能となる。なお、レーザセンサ36の代わりにカメラを用いてもよい。走行体61が走行する床面910の凹凸形状のパターンが検出できるセンサであれば、センサの種別は、特に限定されない。
(g3.マイク)
自走装置100は、加速度センサ35の代わりに、マイク37(図2参照)を備えてもよい。マイク37は、加速度センサ35と同様に、フレーム86に取り付けられている。
本例では、検出部270は、振動パターンの代わりに、走行体61の走行によって生じる音のパターンを検出する。詳しくは、検出部270は、加速度センサ35の代わりに、マイク37を含む。マイク37、自走装置100の周囲の音を収音する。パターン特定部255は、収音された音データに基づいて、音パターンを特定する。具体的には、パターン特定部255は、音データからノイズ除去等の所定の信号処理を実行する。その後、本例では、パターン特定部255は、信号処理後の音データが、予め定められた複数の振動パターンの何れに合致するかを判断する。
パターン特定部255は、特定された音パターンを示す音パターン情報を走行制御部250に送る。本例では、パターン特定部255は、音パターンが特定されたことを条件に、音パターン情報を走行制御部250に送る。
このように、検出部270は、走行体61の走行によって生じる音のパターンを検出する。さらに、検出部270は、検出された音パターンを示す音パターン情報を走行制御部250に送る。
走行制御部250は、検出部270により検出された音パターンに基づいて、走行体61が走行するエリアに関するエリア情報を認識する。具体的には、走行制御部250は、音パターン情報に基づいて、走行体61が走行するエリアに関するエリア情報を認識する。走行制御部250は、認識された当該エリア情報に対応するように走行体61の走行を制御する。なお、制御の詳細は、加速度センサ35を用いたときと同じであるため、繰り返し説明は行わない。
このように、本例では、マイクを用いて、走行体61の走行によって生じる音を検出することができる。このような構成であっても、加速度センサ35を用いたときと同様の効果を得ることができる。
(g4.付加機器を用いた処理)
振動、音の発生は、車輪51,71,72によるものに限定されない。図14は、付加機器199で振動または音を発生させる自走装置を示した図である。
図14に示されるように、自走装置100は、付加機器199を備える。付加機器199は、たとえば、先端部199aと基端部199bとを備える棒状部材である。付加機器199は、走行体61の後端部に取り付けられている。付加機器199の基端部199bが、走行体61の後端部に取り付けられている。
付加機器199は、当該取り付け部を中心に矢印方向に回動可能に構成されている。自走装置100が前進すると、付加機器199は、床面910に設けられた凸部8によって、跳ね上げられる。その後、付加機器199の先端部199aが床面910に落下する。当該跳ね上げおよび落下により、振動および音が発生する。
このような振動を加速度センサ35によって検出し、あるいは、このような音をマイク37で収音することによっても、上述した制御が可能となる。
今回開示された実施の形態は例示であって、上記内容のみに制限されるものではない。本発明の範囲は特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。