JP7095427B2 - 自律移動体、および自律移動体の制御プログラム - Google Patents

自律移動体、および自律移動体の制御プログラム Download PDF

Info

Publication number
JP7095427B2
JP7095427B2 JP2018114574A JP2018114574A JP7095427B2 JP 7095427 B2 JP7095427 B2 JP 7095427B2 JP 2018114574 A JP2018114574 A JP 2018114574A JP 2018114574 A JP2018114574 A JP 2018114574A JP 7095427 B2 JP7095427 B2 JP 7095427B2
Authority
JP
Japan
Prior art keywords
avoidance
autonomous
mobile robot
moving body
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018114574A
Other languages
English (en)
Other versions
JP2019219734A (ja
Inventor
哲也 平
大作 本田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2018114574A priority Critical patent/JP7095427B2/ja
Priority to US16/407,295 priority patent/US11345032B2/en
Priority to CN201910485245.0A priority patent/CN110609540A/zh
Publication of JP2019219734A publication Critical patent/JP2019219734A/ja
Application granted granted Critical
Publication of JP7095427B2 publication Critical patent/JP7095427B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J5/00Manipulators mounted on wheels or on carriages
    • B25J5/007Manipulators mounted on wheels or on carriages mounted on wheels
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0214Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/0005Manipulators having means for high-level communication with users, e.g. speech generator, face recognition means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/088Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
    • B25J13/089Determining the position of the robot with reference to its environment
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/02Programme-controlled manipulators characterised by movement of the arms, e.g. cartesian coordinate type
    • B25J9/04Programme-controlled manipulators characterised by movement of the arms, e.g. cartesian coordinate type by rotating at least one arm, excluding the head movement itself, e.g. cylindrical coordinate type or polar coordinate type
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1615Programme controls characterised by special kind of manipulator, e.g. planar, scara, gantry, cantilever, space, closed chain, passive/active joints and tendon driven manipulators
    • B25J9/162Mobile manipulator, movable base with manipulator arm mounted on it
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1682Dual arm manipulator; Coordination of several manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1684Tracking a line or surface by means of sensors
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0088Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0223Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving speed control of the vehicle
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0238Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
    • G05D1/024Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors in combination with a laser
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • G05D1/0251Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means extracting 3D information from a plurality of images taken from different locations, e.g. stereo vision
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0259Control of position or course in two dimensions specially adapted to land vehicles using magnetic or electromagnetic means
    • G05D1/0263Control of position or course in two dimensions specially adapted to land vehicles using magnetic or electromagnetic means using magnetic strips
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • G05D1/0278Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using satellite positioning signals, e.g. GPS
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0287Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling
    • G05D1/0289Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling with means for avoiding collisions between vehicles

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Electromagnetism (AREA)
  • Human Computer Interaction (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Business, Economics & Management (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Game Theory and Decision Science (AREA)
  • Medical Informatics (AREA)
  • Optics & Photonics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Multimedia (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Manipulator (AREA)

Description

本発明は自律移動体、および自律移動体の制御プログラムに関する。
特定の環境下で与えられたタスクを実行する自律移動型ロボットが知られている。例えば、特許文献1には自律移動体であるロボットが移動中に干渉する可能性がある障害物を回避して移動するように制御する技術が開示されている。
特開2015-035139号公報
特定の環境下で1台の自律型移動体がタスクを実行する場合には、障害物を回避しながら円滑な自律移動を行い得る。しかし近年は、特定の環境下で複数の自律移動体が与えられた別個のタスクをそれぞれ実行する状況が増えてきている。このような状況においては、自律移動体同士で互いに協調して移動経路を調整することが難しく、円滑な自律移動が妨げられる。特に、2つの自律移動体が互いに接近することにより両者が接触する可能性があるような場合には、両者の回避経路が重なり合うと、さらに回避動作を行うことになり作業効率を著しく低下させてしまう。
本発明は、このような問題を解決するためになされたものであり、単一のシステムで制御されていなくても、あるいは、互いにコミュニケーションを取らなくても、接近する自律移動体を適切に回避し、与えられたタスクを効率よく実行することのできる自律移動体およびその制御プログラムを提供するものである。
本発明の第1の態様による自律移動体は、与えられたタスクを実行するために、計画された移動経路に沿って移動する自律移動体であって、他のタスクが与えられた他の自律移動体とその動作状況とを認識する外界センサと、外界センサによって認識した他の自律移動体と自機とが互いに接近することにより両者が接触する可能性があることを予測した場合に、他の自律移動体を回避するか否かを判断する回避判断部と、回避判断部の判断に基づいて移動ユニットを制御する移動制御部とを備える。
このように外界センサで他の自律移動体とその動作状況を認識し、他の自律移動体と自機とが互いに接近することにより両者が接触する可能性があることを予測した場合に、他の自律移動体を回避するか否かを判断するので、単一のシステムで制御されていなくても、あるいは、互いにコミュニケーションを取らなくても、他の自律移動体を状況に応じて適切に回避し、与えられたタスクを効率よく実行することができる。
上記の自律移動体において、回避判断部は、他の自律移動体が自機と同種の自律移動体と認識した場合は、当該同種の自律移動体に共通して予め設定された回避ルールに基づいて他の自律移動体を回避することを判断しても良い。このように判断することにより、回避判断部は、他の自律移動体と共通の回避ルールに基づいて回避動作を行うことができる。そのため、自律移動体は、他の自律移動体と回避経路が重なり合うことを防ぐことができる。
上記の自律移動体において、外界センサは、上記回避ルールに基づいて計画した回避経路に沿って移動を開始した後に他の自律移動体とその動作状況とを継続して認識し、回避判断部は、外界センサによって認識した他の自律移動体と自機とが接触する可能性があることを再度予測した場合に、他の自律移動体を更に回避するか否かを判断しても良い。このように判断することにより、同種の自律移動体が期待した回避動作を実行しない場合においても安全に与えられたタスクを実行することができる。
また、上記の自律移動体において、回避判断部は、上記動作状況から他の自律移動体が実行する他のタスクを認識できる場合は、自機に与えられたタスクとの比較に基づいて他の自律移動体を回避するか否かを判断しても良い。例えば、他の自律移動体のタスクが急を要するものである場合は、他の自律移動体の移動を優先させることができる。このような判断を行うことにより、たとえ同じシステムの下で制御されていなくても、他の自律移動体と擬似的な協調動作を行うことができる。
また、上記の自律移動体において、他の自律移動体を回避する場合に自機の動作状況を外界に呈示する呈示部を備えても良い。このような呈示部を備えることにより、自律移動体は、自機の動作状況に応じた回避動作を行うように他の自律移動体に対して促すことができる。
また、上記の自律移動体において、移動制御部は、自機の進行方向を移動経路の斜め前方に変更した回避経路により他の自律移動体を回避する場合に、自機と他の自律移動体との距離が第1距離である場合の移動経路と第1回避経路とが成す角度である第1角度を、当該距離が第1距離より遠い第2距離である場合の移動経路と第2回避経路とが成す第2角度より大きく設定してもよい。このように設定することにより、自律移動体は、旋回して他の自律移動体を回避する場合に、スムーズに他の自律移動体を回避することができる。
また、自律移動体は、他の自律移動体と相互通信を行う通信部を備え、移動制御部は、相互通信が確立されている間は、回避判断部の判断によらず、相互通信の通信結果に基づいて移動ユニットを制御しても良い。相互通信が可能であれば、通信を利用したコミュニケーションにより他の自律移動体と協調動作を行えば良い。互いにコミュニケーションを行ってそれぞれの移動動作を確定する方がより安全である。一方で、通信が確立されていない場合でも、自律移動体は、回避判断部の判断によって回避動作を安定的に行うことができる。
本発明の第2の態様における自律移動体の制御プログラムは、与えられたタスクを実行するために、計画された移動経路に沿って移動する自律移動体の制御プログラムであって、他のタスクが与えられた他の自律移動体とその動作状況とを認識する認識ステップと、
認識ステップによって認識した前記他の自律移動体と自機とが互いに接近することにより両者が接触する可能性があることを予測した場合に、他の自律移動体を回避するか否かを判断する回避判断ステップと、回避判断ステップの判断に基づいて移動ユニットを制御する移動制御ステップと、をコンピュータに実行させる。
このように外界センサで他の自律移動体とその動作状況を認識し、他の自律移動体と自機とが互いに接近することにより両者が接触する可能性があることを予測した場合に、他の自律移動体を回避するか否かを判断するので、単一のシステムで制御されていなくても、あるいは、互いにコミュニケーションを取らなくても、他の自律移動体を状況に応じて適切に回避し、与えられたタスクを効率よく実行することができる。
本発明により、単一のシステムで制御されていなくても、あるいは、互いにコミュニケーションを取らなくても、接近する自律移動体を適切に回避し、与えられたタスクを効率よく実行することのできる自律移動体およびその制御プログラムを提供することができる。
実施の形態に係る移動ロボットの外観斜視図である。 移動ロボットの制御ブロック図である。 第1例における回避判断の状況を説明する図である。 第1例におけるすれ違い動作中の状況を説明する図である。 移動ロボットの移動に関する処理フローを示すフロー図である。 第2例における回避判断の状況を説明する図である。 第2例におけるすれ違い動作中の状況を説明する図である。 第3例における回避判断の状況を説明する図である。 第3例における待機動作の状況を説明する図である。 第4例における回避判断の状況を説明する図である。 第4例におけるすれ違い動作中の状況を説明する図である。 第5例における回避経路を説明する図である。
以下、発明の実施の形態を通じて本発明を説明するが、特許請求の範囲に係る発明を以下の実施形態に限定するものではない。また、実施形態で説明する構成の全てが課題を解決するための手段として必須であるとは限らない。
図1は、本実施形態に係る移動ロボット100の外観斜視図である。移動ロボット100は、自律移動体の一例である。移動ロボット100は、大きく分けて台車部110と本体部120によって構成される。
台車部110は、円筒形状の筐体内に、それぞれが走行面に接地する2つの駆動輪111と1つのキャスター112とを支持している。2つの駆動輪111は、互いに回転軸芯が一致するように配設されている。それぞれの駆動輪111は、不図示のモータによって独立して回転駆動される。駆動輪111は、移動ロボットを移動させるための移動ユニットの一例である。キャスター112は、従動輪であり、台車部110から鉛直方向に延びる旋回軸が車輪の回転軸から離れて車輪を軸支するように設けられており、台車部110の移動方向に倣うように追従する。
移動ロボット100は、例えば、2つの駆動輪111が同じ方向に同じ回転速度で回転されれば直進し、逆方向に同じ回転速度で回転されれば台車部110の2つの駆動輪111のほぼ中央を通る鉛直軸周りに旋回する。すなわち、移動ロボット100は、2つの駆動輪111の回転方向、回転速度がそれぞれ制御されることにより、任意の方向へ並進、旋回することができる。
台車部110は、上面の周縁部にレーザスキャナ132を備える。レーザスキャナ132は、水平面内の一定の範囲をステップ角ごとにスキャンして、それぞれの方向に障害物が存在するか否かを出力する。さらに、障害物が存在する場合には、その障害物までの距離を出力する。
本体部120は、主に、台車部110の上面に搭載された胴部121、胴部121の上面に載置された頭部122、胴部121の側面に支持されたアーム123、アーム123の先端部に設置されたハンド124、およびLEDバー142を備える。アーム123とハンド124は、不図示のモータを介して駆動され、様々な物体を制御された姿勢で把持する。図は、搬送物の一例として容器を把持している様子を示す。胴部121は、不図示のモータの駆動力により、台車部110に対して鉛直軸周りに回転することができる。したがって、移動ロボット100は、把持部が搬送物を把持して特定方向を向く姿勢を保ったまま任意の方向へ移動することもできる。
LEDバー142は、複数のLEDおよび導光材を有する発光装置であり、LEDのそれぞれが鉛直軸に対して放射方向へ発光するように、胴部121の上部の円環状の外周部に設置されている。LEDバー142は、発光色や点滅周期を変化させることができ、そのパターンにより移動ロボット100の動作状況やタスクに関する情報を周囲に呈示することができる。また、胴部121には、コントロールユニット190が設けられている。コントロールユニット190は、後述の制御部とメモリ等を含む。
頭部122は、主に、ステレオカメラ131および表示パネル141を備える。ステレオカメラ131は、同じ画角を有する2つのカメラユニットが互いに離間して配置された構成を有し、それぞれのカメラユニットで撮像された画像を画像データとして出力する。
表示パネル141は、例えば液晶パネルであり、キャラクターの顔をイラストで表示したり、移動ロボット100に関する情報をテキストやアイコンで呈示したりする。表示パネル141にキャラクターの顔を表示すれば、表示パネル141が擬似的な顔部であるかの印象を周囲の観察者に与えることができる。また、表示パネル141は、表示面にタッチパネルを有し、ユーザからの指示入力を受け付けることができる。
頭部122は、不図示のモータの駆動力により、胴部121に対して鉛直軸周りに回転することができる。したがって、ステレオカメラ131は、任意の方向の対象物を撮影することができ、また、表示パネル141は、任意の方向へ向けて表示内容を呈示することができる。なお、以降の説明においては、図示するように、移動ロボット100が移動する移動平面をxy平面、移動平面に対する鉛直軸方向をz軸と定める。
図2は、移動ロボット100の制御ブロック図である。制御部200は、例えばCPUであり、本体部120のコントロールユニット190に格納されている。台車駆動ユニット210は、駆動輪111を駆動するための駆動回路やモータを含む。制御部200は、台車駆動ユニット210へ駆動信号を送ることにより、駆動輪111の回転制御を実行する。また、制御部200は、台車駆動ユニット210からエンコーダ等のフィードバック信号を受け取って、台車の移動方向を把握する。台車駆動ユニット210は、制御部200と協働して、移動制御部としての機能を担う。
上体駆動ユニット220は、アーム123およびハンド124を含む把持部、胴部121および頭部122を駆動するための駆動回路やモータを含む。制御部200は、上体駆動ユニット220へ駆動信号を送ることにより、把持制御や、胴部121および頭部122の回転制御を実行する。また、制御部200は、上体駆動ユニット220からエンコーダ等のフィードバック信号を受け取って、把持部の状態や胴部121および頭部122の向きを把握する。
センサユニット130は、他の移動ロボットや障害物、周囲に存在する人物、把持している搬送対象物などを検出する各種センサを含み、台車部110および本体部120に分散して配置されている。ステレオカメラ131およびレーザスキャナ132は、センサユニット130を構成する要素である。制御部200は、センサユニット130に制御信号を送ることにより、各種センサを駆動してその出力信号や出力データを取得する。制御部200は、これらの出力信号や出力データを解析して、他の移動ロボット100やその動作状況などを認識する。すなわち、センサユニット130は、制御部200と協働して、他の自律移動体やその動作状況などを認識する外界センサとしての機能を担う。
メモリ250は、不揮発性の記憶媒体であり、例えばソリッドステートドライブが用いられる。メモリ250は、移動ロボット100を制御するための制御プログラムの他にも、制御に用いられる様々なパラメータ値、関数、ルックアップテーブル、比較画像データ等を記憶している。メモリ250は、移動ロボット100が自律移動する環境を表現する環境地図を格納していても良い。
ユーザIF260は、ユーザが移動ロボット100へ指示を入力する入力部であり、表示パネル141に重畳されたタッチパネルはその一部である。また、物理的なスイッチに限らず、マイクを用いた音声入力や、ステレオカメラ131を用いたジェスチャー入力などをユーザIF260として組み込んでも良い。
呈示ユニット140は、ユーザや周囲に存在する人物、他の移動ロボットなどに移動ロボット100の動作状況やタスクに関する情報を周囲に直接的または間接的に呈示するユニットであり、台車部110および本体部120に分散して配置されている。表示パネル141およびLEDバー142は、呈示ユニット140を構成する要素である。呈示ユニット140は、他にもスピーカや振動子などを含んでも良い。制御部200は、呈示ユニット140に制御信号を送ることにより、それぞれの要素を動作させる。
制御部200は、制御に関わる様々な演算を実行する機能演算部としての役割も担う。回避判断部201は、外界センサによって認識した他の自律移動体と自機とが互いに接近することにより両者が接触する可能性があることを予測した場合に、他の自律移動体を回避するか否かを判断する。具体的な判断手法については後に詳述する。
近時、複数の移動ロボットを自律移動させて、様々なタスクを同時並行的に実行させたいという要望が高まっている。例えば工場などの管理された環境下で複数の移動ロボットにそれぞれ別個のタスクを実行させる場合には、それらの移動ロボットを統括的に管理するサーバを設置して、サーバがそれぞれの移動ロボットの移動やタスクの実行を制御するようにシステムを構築できる。サーバで統括的な管理を行わなくても、共存する人間が制限されているような管理された環境においては、共通のフォーマットに則った通信手段により互いにコミュニケーションを取り合える移動ロボットのみを利用することもできる。この場合は、それぞれの移動ロボットが通信手段によって互いにコミュニケーションを取り合い、移動経路やタスクの実行を調整し合うことができる。
しかし、複数の移動ロボットに別々のタスクを実行させたい環境は、年々拡がりを見せている。例えば、空港であったり、ショッピングモールであったり、テーマパークであったりする。このような多くの人が集う環境においては、移動ロボットに要求されるタスクも様々であり、単一のシステムで管理される移動ロボットのみでこれらのタスクを全て賄うことが困難になってきた。また、困難なだけでなく、例えば、荷物を運搬する移動ロボットと清掃を行う移動ロボットとを単一のシステムで管理することに合理性はあまり認められない。そこで、単一のシステムや共通の通信手段で括られる群に属さずとも、他の移動ロボットと干渉せず、与えられたタスクを円滑に実行する移動ロボットが望まれるようになってきている。本実施形態における移動ロボット100は、このような要望に応えるものである。
上述のように、移動ロボット100は、他の移動ロボットとコミュニケーションを取るための通信装置を備えていない。また、複数の移動ロボットを統括的に管理するサーバから指令を受ける通信装置も備えていない。このような移動ロボット100においては、与えられたタスクを円滑かつ着実に実行するために、他の自律移動体と自機と互いに接近することにより両者が接触する可能性がある場合に、これをどのように回避するかがひとつの重要なポイントとなる。このような場合における移動ロボット100の動作を、具体例を用いて説明する。
図3は、第1例における回避判断の状況を説明する図である。ここで、移動ロボット101は、搬送物901を運搬するタスクを与えられた他の自律移動体であり、上述の移動ロボット100と同様の構成を備えるものとする。また、移動ロボット102は、搬送物902を搬送するタスクを与えられた自機であり、やはり上述の移動ロボット100と同様の構成を備えるものとする。移動ロボット101と移動ロボット102は、独立してそれぞれのタスクを実行しており、通信手段を用いて互いにコミュニケーションを取り合うことはない。
図3は時刻T=t11の時点における移動ロボットの状況を示している。自機である移動ロボット102は、x軸プラス方向へ移動している。一方、他の自律移動体である移動ロボット101は同一ライン上をx軸マイナス方向へ移動しており、対向する移動ロボット102とは互いに接近しつつある。すなわち、移動ロボット101が計画した移動経路と移動ロボット102が計画した移動経路とが偶発的に重なってしまい、しかも移動ロボット101と移動ロボット102とは図に示す予測接触位置において互いに接触することになる。
自機である移動ロボット102は、ステレオカメラ131やレーザスキャナ132で外界の状況を観察しながら自律移動している。制御部200は、自律移動中に、ステレオカメラ131が捉えた画像を画像解析することにより前方に移動ロボット101を認識すると、続いてその動作状況を確認する。確認すべき動作状況は、予め複数の項目として設定されており、制御部200は、センサユニット130の出力を利用して、移動ロボット101の動作状況を確認する。制御部200は、確認すべき動作状況の一つとしてまず、移動ロボット101の移動方向とその速度を確認する。
制御部200は、ステレオカメラ131から画像データを連続的に取得することにより、その差分から、移動ロボット101の移動方向とその速度を演算する。あるいは、レーザスキャナ132の出力を連続的に取得することにより、移動ロボット101の移動方向とその速度を演算しても良い。制御部200は、認識した移動ロボット101の形状や色などに応じて、いずれのセンサに基づいて移動ロボット101の移動方向とその速度を演算するかを選択しても良い。
また、制御部200は、ステレオカメラ131から取得した画像データに含まれる他の自律移動体および自機の形状、姿勢、および奥行情報等から、他の自律移動体と自機との距離を演算する。なお、制御部200は、ステレオカメラ131に代えて、あるいはステレオカメラ131に加えて、レーザスキャナ132の出力を用いてもよい。
移動ロボット101の移動方向とその速度を演算し、そして移動ロボット101と移動ロボット102との距離を演算することにより、制御部200は、移動ロボット101と移動ロボット102とが将来接触する可能性があるか否かを予測する。ここで、接触する可能性がある場合とは、少なくとも自機が計画経路をそのまま進むことを想定した場合に、移動ロボット101の一部と移動ロボット102の一部とが予め設定された距離よりも近づく場合を含むものであり、両者が確実に接触する場合に限られない。
他の自律移動体(移動ロボット101)と自機(移動ロボット102)とが互いに接近することにより両者が接触する可能性があると制御部200が認識した場合は、続いて、回避判断部201が、移動ロボット101を回避するか否かを判断する。
回避判断部201は、回避するか否かの判断を、確認した移動ロボット101の動作状況を踏まえて行う。例えば、回避判断部201が回避動作を行うことを判断した場合であって、他の自律移動体(移動ロボット101)が自機(移動ロボット102)と同種の自律移動体と認識した場合は、予め設定された回避ルールに従って回避動作を行うと判断する。ここで、予め設定された回避ルールとは、例えば、同種の移動ロボットと予め設定された条件の下ですれ違う場合には計画経路の左側に回避経路を生成してすれ違うというものである。換言すると、同種の移動ロボットに共通して予め設定された回避ルールに従って、移動ロボット101と移動ロボット102とは互いに相手の右側を通過する。
図を参照して、移動ロボット101と移動ロボット102とがすれ違う場合の例を具体的に説明する。図示のとおり、同種の移動ロボットである移動ロボット101と移動ロボット102とは、それぞれの計画経路が重なり、しかも互いに接近している。そこで、移動ロボット101および移動ロボット102は、計画経路の左側に回避経路をそれぞれ生成する。すなわち、回避経路は、予測接触位置の手前で計画経路を左側に外れ、予め設定された距離を進んだ後に右折して計画経路と平行に進む。そして、移動ロボット101と移動ロボット102とが互いにすれ違う予定の位置を過ぎるとそれぞれの計画経路に徐々に近づき合流する。
このように同種の移動ロボットが共通の回避ルールに従って回避動作を行うことにより、回避経路の重複を防ぎ、且つ、効率の良い回避経路を選択することができる。そのため、自律移動体は、与えられたタスクを効率よく実行することができる。なお、当然ながら、予め設定された回避ルールは、左側でなく右側に回避経路を生成してもよい。また、予め設定された回避ルールは、すれ違う際の速度についても定められていてもよい。あるいは、外界センサによって認識した他の自律移動体と自機との相対的な位置関係から、例えば自機の左側と他の自律移動体とが接触すると予測した場合には、自機の計画経路を右側に外れるように回避経路を生成してもよい。
このようにして、回避判断部201はすれ違い予定位置において移動ロボット101とすれ違うように回避経路を生成する。回避経路の生成に成功して回避動作を実行すると判断したら、制御部200は、自機が回避経路に沿って移動するように台車駆動ユニット210を制御する。
図4は、回避動作中の状況を説明する図である。図4は時刻T=t11の後の時刻T=t12の時点における移動ロボットの状況を示している。図に示すように、移動ロボット101と移動ロボット102とは、それぞれが共通の回避ルールに従って計画経路の左側に回避経路を生成し、これに沿って回避動作を行っている。そして、移動ロボット101と移動ロボット102とは、すれ違い予定位置において互いにすれ違った後に、それぞれ計画経路に戻るように進んでいる。
なお、制御部200は、回避動作中も継続してセンサユニット130の出力を取得している。このとき、制御部200は、頭部122を回転させてステレオカメラ131により移動ロボット101の画像データを取得して、すれ違いが成功したことを認識してもよい。
また、移動ロボット102が計画経路の左側に回避経路を生成しこれに沿って回避動作を行った場合に、同種である筈の移動ロボット101が期待した回避動作を実行しない場合がある。すなわち、回避ルールに従って計画した回避経路に沿って移動を開始した後に、外界センサが認識した移動ロボット101の動作状況を認識した結果、回避判断部201が他の自律移動体に接触する可能性があることを再度予測する場合がある。このような場合には、回避判断部201は、他の自律移動体を更に回避するか否かを判断する。つまり、移動ロボット102が回避経路に沿って移動を開始した後に、移動ロボット101が接近している場合には、回避判断部201は、移動ロボット101の動作状況を認識したうえで、移動ロボット101を回避する動作を実行する。
回避判断部201が上述のように回避動作を行うことを判断する一方で、回避判断部201は、確認した移動ロボット101が以下に示すような動作状況であることを踏まえて回避動作を行わないと判断する場合もある。
例えば、移動ロボット101のLEDバー142が移動ロボット102を回避するように移動することを示す発光パターンで発光していることを認識した場合である。あるいは、移動ロボット101の表示パネル141が移動ロボット102を回避するように移動することを示すものであってもよい。同種の自律移動体である移動ロボット101および移動ロボット102は、予め設定されたLEDバー142の発光パターンあるいは表示パネル141の表示パターンをそれぞれ記憶している。よって、移動ロボット102は、移動ロボット101が呈示するこのような動作状況を認識して回避動作を行わないと判断する。
また、移動ロボット101の動作状況として、移動ロボット102を回避する動作を行うことによって両者が接触する可能性がなくなった場合に、回避判断部201は、回避動作を行わないと判断してもよい。移動ロボット102は、回避するか否かを判断する場合に、予め設定された期間の移動ロボット101の動作状況を認識する。そのため、その期間内に移動ロボット101の移動方向とその速度が変化した場合に、回避判断部201はこのような判断を行うことができる。このように、他の自律移動体が自機を回避することが明らかな場合に、自機が回避動作を行わないと判断することで、移動ロボット102は移動ロボット101の回避経路との重複を防ぐことができる。
以上、図3および図4において説明した例は、同種の自律移動体とすれ違う場合であった。移動ロボット102は、同種でない移動体と接触する可能性がある場合には、センサユニット130から取得するステレオカメラ131やレーザスキャナ132の出力に基づいて、同種でない移動体に接触しないように台車駆動ユニット210を制御することができる。例えば、同種でない移動体と予め設定された距離よりも近づいた場合に、移動ロボット102は、自機の右側に接触すると予測した場合には計画経路から左側に外れて進行し、自機の左側に接触すると予測した場合には計画経路から右側に外れて進行する。
また、移動ロボット102は、自機の前部に接触すると予測した場合には速度を低下させ、自機の後部に接触すると予測した場合には速度を上げてもよい。あるいは、移動ロボット102は、同種でない移動体が計画経路上に進行する可能性がなくなるまで停止してもよい。
なお、制御部200は、回避動作中には、表示パネル141に回避動作中であることを周囲に示すアイコンや文字を表示させても良い。さらに、周囲の人や移動ロボットが回避動作を認識しやすいように、制御部200は、上体駆動ユニット220に制御信号を送って頭部122を回転させても良い。また、制御部200は、回避動作中を表す発光パターンでLEDバー142を発光させてもよい。
移動ロボット102のこのような呈示により、回避される側の移動ロボット101は、移動ロボット102と同種の移動ロボットであれば、コミュニケーションを取るための通信装置を互いに備えていなくても、回避動作中であることを認識できる。すなわち、移動ロボット102の表示パネル141の表示やLEDバー142の発光パターンをステレオカメラ131で捉えることにより、移動ロボット102の回避動作を認識できる。移動ロボット102は、回避動作を認識した場合に、速度を低下させるなどの移動制御を行っても良い。
次に、移動ロボット100の移動に関する処理フローについて説明する。図5は、移動ロボット100の移動に関する処理フローを示すフロー図である。フローは、タスクが与えられて開始し、目的地に到着して終了するまでを表す。
制御部200は、ステップS101で、タスクを実行するために必要な移動の移動経路を計画する。移動経路の計画は、例えば、メモリ250に格納された環境地図を参照して行う。例えば搬送物を搬送するタスクであれば、搬送先はユーザによって指定されるので、制御部200は、環境地図を参照して現在地から搬送先までの移動経路を計画する。現在地は、例えば、センサユニット130として搭載するGPSユニットの出力により認識される。
制御部200は、ステップS102で、計画に沿って自機が移動するように、台車駆動ユニット210を制御する。制御部200は、移動中はセンサユニット130からの出力信号や出力データを継続的に取得して、障害物や接近する移動体が存在しないかを監視する。障害物を発見した場合には、回避する経路を生成して当該障害物を回避する。制御部200は、ステップS103で、接近する移動体が存在するか否かを確認し、存在しなければステップS115へ進む。存在すればステップS104へ進む。
制御部200は、ステップS104で、発見した移動体が自律移動体であるか否かを判断する。自律移動体でないと判断したら、発見した対象が人である場合を含め、当該対象の移動を優先させるべく、ステップS105で自機の移動を停止させて、この移動体を回避する。そして、ステップS106で当該対象である移動体が退去したと判断できるまで、停止状態を維持して待機する。移動体が退去したと判断できたら、ステップS115へ進む。なお、自律移動体でない移動体を回避する一例として、停止状態を維持して待機する動作を示したが、制御部200は、移動ロボット100の速度を低下させるとか、移動ロボット100が自律移動体でない移動体に対して所定の距離よりも近づかないという条件で移動するなど他の回避動作を行うことを判断しても良い。
制御部200は、ステップS104で、発見した移動体が自律移動体であると判断したら、ステップS107へ進み、当該自律移動体の動作状況を確認する。制御部200は、動作状況を確認した結果から、ステップS108で、当該自律移動体が自機と同じ方向へ移動しているか否かを判断する。同じ方向への移動でないと判断した場合は、ステップS109へ進む。
制御部200は、ステップS109で、当該自律移動体と接触する可能性を演算し、その結果、接触する可能性があると判断した場合には、ステップS110へ進む。あるいは、制御部200は、ステップS109で接触する可能性がないと判断した場合には、ステップS115へ進む。
回避判断部201は、ステップS110で、当該自律移動体を回避するか否かを判断する。回避判断部201は、当該自律移動体が自機を回避することが明らかな場合には、回避動作を行わないと判断する。この場合、回避判断部201はステップS115へ進む。一方、回避判断部201は、回避動作を行うと判断した場合には、ステップS111へ進む。回避判断部201は、ステップS111で、図3を用いて説明したように、当該自律移動体を回避する動作実行し、回避動作が完了したら、ステップS115へ進む。
制御部200は、ステップS108で、当該自律移動体が自機と同じ方向へ移動していると判断した場合には、ステップS112へ進む。制御部200は、ステップS112で、当該自律移動体を追い越すか否かを判断する。追越動作を行わないと判断した場合には、ステップS113へ進み、当該自律移動体に追従し、ステップS115へ進む。追越動作を行うと判断した場合には、ステップS114へ進み追越動作を実行し、ステップS115へ進む。
制御部200は、ステップS115で、目的地に到着したか否かを確認する。目的地に到着していない場合には、ステップS102へ戻り、移動制御を継続する。目的地に到着した場合には、一連の移動制御を終了する。なお、ステップS111の回避動作は、図3を用いて説明した動作以外に様々な回避動作を採ることが可能である。そこで、回避動作について、さらにいくつかの例を説明する。
図6および図7を用いて、自機が他の自律移動体の移動方向とその速度を認識することによる回避動作の例について説明する。図6は、第2例における回避判断の状況を説明する図である。図6は、2台の移動ロボットの計画経路が交差している点で図3の状況と異なる。図6は、時刻T=t21の時点における移動ロボット101および移動ロボット102の状況を示している。移動ロボット101は搬送物903を運搬するタスクを与えられた他の自律移動体である。移動ロボット102は搬送物を把持せず所定の目的地へ進行するタスクを与えられた自機である。図において、移動ロボット102はx軸プラス方向に進行し、移動ロボット101はy軸マイナス側からy軸プラス方面へ移動ロボット102の計画経路と交差するように進行している。このとき、他の自律移動体である移動ロボット101と自機である移動ロボット102とは、ほぼ同時に移動経路が交差する点(予測接触位置)に到達しようとしている。そのため、両者は接触する可能性があるという状況である。
このような状況において、制御部200が、ステップS109で移動ロボット101と接触する可能性があると判断した場合は、回避判断部201は、移動ロボット101を回避するか否かを判断する。ここで、回避判断部201は、センサユニット130から取得される外観情報に基づいて移動ロボット101の動作状況を把握する。そして、回避判断部201は、移動ロボット101の移動方向とその速度および予測接触位置への到達予定時刻を演算するとともに、自機の移動方向とその速度とから移動ロボット102の予測接触位置への到達予定時刻を演算する。さらに、回避判断部201は、どちらが先に予測接触位置へ到達するかを演算する。回避判断部201は、自機が先に予測接触位置へ到達する場合であって、速度を上げることが可能な場合には、自機の速度を上げることにより移動ロボット101を回避すると判断する。一方、自機が先に予測接触位置へ到達する場合であっても、速度を上げることができない場合や他の自律移動体(移動ロボット10)が先に予測接触位置へ到達する場合には、自機の速度を下げることにより移動ロボット101を回避すると判断する。
図7は、第2例におけるすれ違い動作中の状況を説明する図である。図6では速度V=v21であった移動ロボット102は、時刻T=t21の後の時刻T=t22の時点において、速度Vをv21よりも速いv22に変化させて計画経路を進行している。移動ロボット102が速度を上げたことにより、移動ロボット102は移動ロボット101を回避することに成功している。
次に、2台の移動ロボットの目的地が重なっている場合における回避動作の例について説明する。図8は、第3例における回避判断の状況を説明する図である。図8は、時刻T=t31の時点における他の自律移動体である移動ロボット101および自機である移動ロボット102の状況を示している。移動ロボット101は搬送物903を運搬し、目的地で搬送物903をコンベア300に載置するタスクを与えられた他の自律移動体である。自機である移動ロボット102もまた、搬送物903を運搬し、目的地で搬送物903をコンベア300に載置するタスクを与えられている。ここで、移動ロボット101と移動ロボット102とは、異なる計画経路に沿って移動しており、ほぼ同時に目的地に到達しようとしている。そのため、両者は接触する可能性があるという状況である。
このような状況において、制御部200がステップS109で移動ロボット101と接触する可能性があると判断した場合は、移動ロボット102の回避判断部201は、移動ロボット101を回避するか否かを判断する。この場合に回避判断部201は、センサユニット130から取得される外観情報(表示パネル141の表示およびLEDバー142の発光パターン)を認識して移動ロボット101の動作状況を把握する。すなわち回避判断部201は、センサユニット130が取得した移動ロボット10の表示パネル141の表示やLEDバー142の発光パターンを認識し、メモリ250に格納されているタスクについての情報と一致するか否かを確認する。
回避判断部201は、さらに移動ロボット101のタスクと自機のタスクとを比較し、比較結果に応じて移動ロボット101を回避するか否かを判断する。例えば、回避判断部201は、移動ロボット101のLEDバー142の発光パターンが自機のタスクよりも優先度の高いタスクを実行中であるか否かを判断する。タスクの優先度は、例えばメモリ250にルックアップテーブルとして予め格納されており、回避判断部201は、そのテーブルを参照して優先度の高低を確認する。優先度は、例えば、タスクの重要度、タスクの緊急度、与えられたタスクの数、移動ロボットのバッテリー残量、または移動ロボット固有の優先度等により定義されている。
優先度の高低を確認した結果、移動ロボット101が自機のタスクよりも優先度の高いタスクを実行中である場合には、移動ロボット102の回避判断部201は、回避を行うと判断し、制御部200は、移動ロボット10の移動速度であるv31を低下させるように制御を行う。一方、移動ロボット101のLEDバー142の発光パターンが自機のタスクよりも優先度の高いタスクを実行中であることを示していない場合には、計画経路を進行する。そして、例えば移動ロボット101が目的地の手前で停止した場合や、あるいは移動ロボット101のLEDバー142の発光パターンが移動ロボット102のタスクを優先させることを呈示する場合には、回避判断部201は、回避動作を行わないと判断する。また、例えば移動ロボット101が速度を低下させずに目的地へ進行している場合には、移動ロボット102の回避判断部201は移動ロボット101を回避する。そして、制御部200は自機の移動速度を低下させ、あるいは自機を一時的に停止させる。


図9は、第3例における待機動作の状況を説明する図である。図9は時刻T=31の後の時刻T=t32の時点における移動ロボットの状況を示している。図において、移動ロボット102は、移動ロボット101のタスクを優先させるため、移動速度Vをv31からv32に低下させ、さらに一時待機位置で停止し、移動ロボット101を回避しようとしている。このように判断することにより、移動ロボット102は、他の自律移動体と相互通信を行わない状況において、安全性を確保し、且つ、円滑なタスクの実行を可能としている。なお、移動ロボット101はLEDバー142に代えて表示パネル141の表示によりタスクの優先度を呈示してもよい。
図10は、第4例における回避判断の状況を説明する図である。図10は、他の自律移動体である移動ロボット101が優先度の高いタスクを実行している点において、図3で示した第1例の状況と異なる。図10は、時刻T=t41において、移動ロボット101と移動ロボット102とが互いに接近し、両者が接触すると予測される経路を進行している状況である。
移動ロボット102が移動ロボット101の動作状況を確認する段階において、移動ロボット102の制御部200は、移動ロボット101のタスクに関する情報を認識する。図示するように、移動ロボット101は、与えられたタスクが例えば所定の棚から救命器具を取ってくるような救急タスクである場合に、表示パネル141に救急を示すアイコンを表示し、LEDバー142で救急を表すパターン光を発光する。さらには、頭部122を回転させる。
自機である移動ロボット102の制御部200は、このような表示や発光を認識し、移動ロボット101が救急タスクを実行していることを認識する。そして、回避判断部201は、自機のタスクである搬送物の通常搬送と比較して、救急タスクの優先度が高いことを確認し、回避動作を行うか否かを判断する。
移動ロボット102の制御部200は、回避判断部201が移動ロボット101を回避すると判断した場合に、移動ロボット101のタスクを妨げないように自機の台車駆動ユニット210を制御する。すなわち、制御部200は、回避判断部201の判断に応じて、移動ロボット101の進行経路から自機を遠ざけるように回避経路を生成し、移動ロボット101から予め設定された距離の位置w(すれ違い予定位置)で移動ロボット101とすれ違う。
図11は、第4例におけるすれ違い動作中の状況を説明する図である。図11は、時刻T=t41の後の時刻T=t42において移動ロボット102がすれ違い予定位置へ進行中であることを示している。図に示すように、移動ロボット102は、回避動作を行い移動ロボット101の進行を妨げないことを表示パネル141に表示している。これにより、移動ロボット101は、移動ロボット102が回避動作を実行していることを認識し、計画されたタスクの実行を継続する。
なお、自機のタスクの方が移動ロボット101のタスクよりも優先度が高い場合には、他の動作状況が許容する限り、回避動作を行わず、計画経路を進行する。このような判断および移動制御を行うことにより、たとえそれぞれの移動ロボットが同じシステムの下で制御されていなくても、また、コミュニケーションを取るための通信装置を互いに備えていなくても、これらの移動ロボットは、擬似的な協調動作を行うことができる。
次に、回避判断部201が生成する回避経路のバリエーションについて説明する。図12は、第5例における回避経路を説明する図である。図12は、他の自律移動体である移動ロボット101と自機である移動ロボット102とが対向する位置から互いに近づくように移動しているため両者が接触する可能性があると予測される状況である。すなわち、図12の回避経路は、図3に示した移動ロボット102の回避経路のバリエーションを示したものである。このような状況において、回避判断部201は、ステップS110で、移動ロボット101を回避するか否かを判断する。そして、移動ロボット101を回避する場合には、例えば、制御部200は、進行経路を計画経路の斜め左前方に変更した回避経路を生成し、これに沿って進むように台車部110を制御する。さらに、制御部200は、すれ違い予定位置である位置P4の手前の位置P3で右前方に曲がり、さらに位置P4で移動ロボット101とすれ違うように台車部110を制御する。
ここで、制御部200は、計画経路と回避経路とが成す角度を、自機と他の自律移動体との距離に応じて設定する。例えば、移動ロボット101との距離がD1である位置P1を起点とする場合、制御部200は、計画経路と回避経路とが成す角度を角度A1に設定する。この場合の回避経路を第1回避経路R1と称する。第1回避経路R1において、移動ロボット102は、起点P1から角度A1で折れ曲がって位置P3に進む。
一方、移動ロボット101との距離がD1より遠いD2である位置P2を起点とする場合、制御部200は、計画経路と回避経路とが成す角度を角度A1より小さい角度A2に設定する。この場合の回避経路を第2回避経路R2と称する。第2回避経路R2において、移動ロボット102は、起点P2から角度A2で折れ曲がって位置P3に進む。
すなわち、制御部200は、自機と他の自律移動体との距離が第1距離(D1)である場合の計画経路と第1回避経路R1とが成す角度である第1角度(A1)を、第1距離(D1)より遠い第2距離(D2)である場合の計画経路と第2回避経路(R2)とが成す第2角度(A2)より大きく設定する。
このように設定することにより、移動ロボット102はよりスムーズな回避経路を生成することができ、効率よく他の自律移動体を回避することができる。なお、以上の説明において第1回避経路と第2回避経路とは、いずれも位置P3に進み、位置P3で右前方に曲がるものであった。しかし、第1回避経路と第2回避経路とは、位置P3で一致しなくともよい。また、上述の例は計画経路から左前方に回避経路が生成されたが、当然ながら右前方に生成されてもよい。
以上、移動ロボット100により本実施形態を説明したが、本実施形態を実施し得る移動ロボットは、通信装置を備えないものに限らない。例えば、1つの群に属する複数の移動ロボットは、通信装置を使ってコミュニケーションを取ってそれぞれの移動を互いに調整し、群に属さない他の移動ロボットを認識した場合に、上記の制御を行うようにしても良い。あるいは、他の移動ロボットと相互通信が確立されている間は、回避判断部201の判断によらず当該相互通信の通信結果に基づいて移動制御を行い、相互通信が確立されていない場合に、回避判断部201の判断で移動制御を行うようにしても良い。他の移動ロボットと通信装置を介してコミュニケーションを取る場合は、サーバを介しても良い。その場合、サーバが主体的にコミュニケーションを制御しても構わない。
100、101、102 移動ロボット、110 台車部、111 駆動輪、112 キャスター、120 本体部、121 胴部、122 頭部、123 アーム、124 ハンド、130 センサユニット、131 ステレオカメラ、132 レーザスキャナ、140 呈示ユニット、141 表示パネル、142 LEDバー、190 コントロールユニット、200 制御部、201 回避判断部、210 台車駆動ユニット、220 上体駆動ユニット、250 メモリ、260 ユーザIF、300 コンベア、901、902、903 搬送物

Claims (7)

  1. 与えられたタスクを実行するために、計画された移動経路に沿って移動する自律移動体であって、
    他のタスクが与えられた他の自律移動体とその動作状況とを認識する外界センサと、
    前記外界センサによって認識した前記他の自律移動体と自機とが互いに接近することにより両者が接触する可能性があることを予測した場合に、前記他の自律移動体を回避するか否かを判断する回避判断部と、
    前記回避判断部の判断に基づいて移動ユニットを制御する移動制御部と
    を備え
    前記回避判断部は、前記外界センサにより、前記他の自律移動体が自機と同種の自律移動体と認識した場合は、前記同種の自律移動体に共通して予め設定された回避ルールに基づいて前記他の自律移動体の右側または左側に回避経路を生成してすれ違うことを判断する、
    自律移動体。
  2. 前記外界センサは、前記回避ルールに基づいて計画した回避経路に沿って移動を開始した後に、他の自律移動体とその動作状況とを継続して認識し、
    前記回避判断部は、前記外界センサによって認識した前記他の自律移動体と自機とが接触する可能性があることを再度予測した場合に、前記他の自律移動体を更に回避するか否かを判断する請求項に記載の自律移動体。
  3. 前記回避判断部は、前記動作状況から前記他の自律移動体が実行する前記他のタスクを認識できる場合は、自機に与えられたタスクとの比較に基づいて前記他の自律移動体を回避するか否かを判断する請求項1または2に記載の自律移動体。
  4. 前記他の自律移動体を回避する場合に自機の動作状況を外界に呈示する呈示部を備える請求項1からのいずれか1項に記載の自律移動体。
  5. 前記移動制御部は、自機の進行方向を前記移動経路の斜め前方に変更した回避経路により前記他の自律移動体を回避する場合に、自機と前記他の自律移動体との距離が第1距離である場合の前記移動経路と第1回避経路とが成す角度である第1角度を、前記距離が前記第1距離より遠い第2距離である場合の前記移動経路と第2回避経路とが成す第2角度より大きく設定する請求項1からのいずれか1項に記載の自律移動体。
  6. 前記他の自律移動体と相互通信を行う通信部を備え、
    前記移動制御部は、前記相互通信が確立されている間は、前記回避判断部の判断によらず、前記相互通信の通信結果に基づいて前記移動ユニットを制御する請求項1からのいずれか1項に記載の自律移動体。
  7. 与えられたタスクを実行するために、計画された移動経路に沿って移動する自律移動体の制御プログラムであって、
    他のタスクが与えられた他の自律移動体とその動作状況とを認識する認識ステップと、
    前記認識ステップによって認識した前記他の自律移動体と自機とが互いに接近することにより両者が接触する可能性があることを予測した場合に、前記他の自律移動体を回避するか否かを判断する回避判断ステップと、
    前記回避判断ステップの判断に基づいて移動ユニットを制御する移動制御ステップと
    備え、
    前記回避判断ステップは、前記認識ステップにより、前記他の自律移動体が自機と同種の自律移動体と認識した場合は、前記同種の自律移動体に共通して予め設定された回避ルールに基づいて前記他の自律移動体の右側または左側に回避経路を生成してすれ違うことを判断する、
    コンピュータに実行させる制御プログラム。
JP2018114574A 2018-06-15 2018-06-15 自律移動体、および自律移動体の制御プログラム Active JP7095427B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2018114574A JP7095427B2 (ja) 2018-06-15 2018-06-15 自律移動体、および自律移動体の制御プログラム
US16/407,295 US11345032B2 (en) 2018-06-15 2019-05-09 Autonomous moving body and control program for autonomous moving body
CN201910485245.0A CN110609540A (zh) 2018-06-15 2019-06-05 自主移动体和用于自主移动体的控制程序

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018114574A JP7095427B2 (ja) 2018-06-15 2018-06-15 自律移動体、および自律移動体の制御プログラム

Publications (2)

Publication Number Publication Date
JP2019219734A JP2019219734A (ja) 2019-12-26
JP7095427B2 true JP7095427B2 (ja) 2022-07-05

Family

ID=68839121

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018114574A Active JP7095427B2 (ja) 2018-06-15 2018-06-15 自律移動体、および自律移動体の制御プログラム

Country Status (3)

Country Link
US (1) US11345032B2 (ja)
JP (1) JP7095427B2 (ja)
CN (1) CN110609540A (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7317436B2 (ja) * 2018-08-02 2023-07-31 株式会社国際電気通信基礎技術研究所 ロボット、ロボット制御プログラムおよびロボット制御方法
US20230288944A1 (en) * 2020-05-14 2023-09-14 NBC Corpotation Transportation system, control method, and control device
JP7484574B2 (ja) 2020-08-26 2024-05-16 トヨタ自動車株式会社 自律移動ロボット制御システム、その制御方法、その制御プログラム及び自律移動ロボット制御装置
US20220236742A1 (en) * 2021-01-28 2022-07-28 Toyota Jidosha Kabushiki Kaisha Autonomous mobile system, autonomous mobile method, and storage medium
CN113103224B (zh) * 2021-03-02 2022-08-30 上海擎朗智能科技有限公司 移动设备的避让方法、装置及计算机可读存储介质
US11986955B2 (en) * 2021-09-09 2024-05-21 Intrinsic Innovation Llc In-hand pose refinement for pick and place automation

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008254134A (ja) 2007-04-06 2008-10-23 Honda Motor Co Ltd 移動装置、ならびにその制御方法および制御プログラム
JP2009134642A (ja) 2007-11-30 2009-06-18 Honda Motor Co Ltd 移動装置および移動装置システム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6292725B1 (en) * 1997-04-04 2001-09-18 Komatsu Ltd. Interference preventing device for vehicle
WO2002023297A1 (fr) * 2000-09-11 2002-03-21 Kunikatsu Takase Systeme de commande de mouvement de corps mobiles
US20100222925A1 (en) * 2004-12-03 2010-09-02 Takashi Anezaki Robot control apparatus
US8271132B2 (en) * 2008-03-13 2012-09-18 Battelle Energy Alliance, Llc System and method for seamless task-directed autonomy for robots
JP4328813B2 (ja) * 2007-04-06 2009-09-09 本田技研工業株式会社 移動装置、ならびにその制御方法および制御プログラム
WO2012039280A1 (ja) * 2010-09-21 2012-03-29 トヨタ自動車株式会社 移動体
JP5880498B2 (ja) 2013-08-09 2016-03-09 トヨタ自動車株式会社 自律移動体、障害物判別方法及び障害物回避方法
US10126747B1 (en) * 2015-09-29 2018-11-13 Amazon Technologies, Inc. Coordination of mobile drive units
US10037696B2 (en) * 2016-03-31 2018-07-31 Delphi Technologies, Inc. Cooperative automated vehicle system
CN106054881A (zh) * 2016-06-12 2016-10-26 京信通信系统(广州)有限公司 一种执行终端的避障方法及执行终端
CN106527424B (zh) * 2016-09-20 2023-06-09 深圳银星智能集团股份有限公司 移动机器人及移动机器人的导航方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008254134A (ja) 2007-04-06 2008-10-23 Honda Motor Co Ltd 移動装置、ならびにその制御方法および制御プログラム
JP2009134642A (ja) 2007-11-30 2009-06-18 Honda Motor Co Ltd 移動装置および移動装置システム

Also Published As

Publication number Publication date
US11345032B2 (en) 2022-05-31
US20190381662A1 (en) 2019-12-19
CN110609540A (zh) 2019-12-24
JP2019219734A (ja) 2019-12-26

Similar Documents

Publication Publication Date Title
JP7095427B2 (ja) 自律移動体、および自律移動体の制御プログラム
JP7087708B2 (ja) 自律移動体、および自律移動体の制御プログラム
JP7178061B2 (ja) 人間相互作用無人搬送車
KR102415096B1 (ko) 교착 없는 다중 동작자 내비게이션을 위한 로드맵 주석부기
WO2018213931A1 (en) Systems and methods for process tending with a robot arm
US20200254925A1 (en) Visually Indicating Vehicle Caution Regions
ES2827192T3 (es) Sistema de gestión de tareas para una flota de robots móviles autónomos
CN111708371B (zh) 仓库机器人导航路线预约
JP2018527689A (ja) 自律車両のための仮想的なライン追従方法及び改造方法
US11353880B2 (en) Autonomous moving body and control program for autonomous moving body
Li et al. Robotics in manufacturing—The past and the present
KR101933827B1 (ko) 포크형 리프터를 갖는 이동형 물류 로봇 시스템 및 그 동작 방법
JP7452938B2 (ja) 誘導システム
CN114296464B (zh) 一种基于二维码导航的agv控制系统及方法
US20220382287A1 (en) Methods and apparatus for coordinating autonomous vehicles using machine learning
CN115847428A (zh) 一种基于ar技术的机械装配辅助引导系统及方法
JP2023163886A (ja) 誘導システム
JP7444531B2 (ja) 誘導システム
WO2021235141A1 (ja) 移動体及びその制御装置、方法及びプログラム
CN112631269A (zh) 自主移动机器人及自主移动机器人的控制程序
JP2023136221A (ja) 情報処理方法、情報処理装置及びプログラム
JP2024024417A (ja) 誘導システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201222

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210929

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211116

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211228

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220524

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220606

R151 Written notification of patent or utility model registration

Ref document number: 7095427

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151