JP7847501B2 - Method, program, and control system for multiple mobile robots. - Google Patents
Method, program, and control system for multiple mobile robots.Info
- Publication number
- JP7847501B2 JP7847501B2 JP2022117848A JP2022117848A JP7847501B2 JP 7847501 B2 JP7847501 B2 JP 7847501B2 JP 2022117848 A JP2022117848 A JP 2022117848A JP 2022117848 A JP2022117848 A JP 2022117848A JP 7847501 B2 JP7847501 B2 JP 7847501B2
- Authority
- JP
- Japan
- Prior art keywords
- robot
- search range
- multiple mobile
- search
- mobile robots
- 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
Links
Landscapes
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Description
本発明は、複数移動ロボットの制御方法および複数移動ロボット制御システムに関する。 This invention relates to a method for controlling multiple mobile robots and a control system for multiple mobile robots.
特許文献1には、管理サーバが自律移動ロボットのロボット情報を保持し、定期的に自律移動ロボットから位置情報を取得し、自律移動ロボットから救援の通知を受けた場合に配下のロボットに救援を指示し、救援指示を受けた救援ロボットは該当ロボットの探索を行い、被救援ロボットとの相対位置より被救援ロボットの絶対位置と方位を算出して被救援ロボットのリカバリを行う技術が記載されている。 Patent Document 1 describes a technology in which a management server maintains robot information of an autonomous mobile robot, periodically acquires location information from the autonomous mobile robot, and, upon receiving a distress notification from the autonomous mobile robot, instructs its subordinate robots to provide assistance. The rescue robots that receive the distress instruction then search for the robot in question, calculate the absolute position and orientation of the distressed robot from its relative position, and perform recovery of the distressed robot.
現在、工場や物流拠点、オフィスビルなどで、物品搬送や人案内、警備のために、同建屋内で複数台の自律移動ロボットが利用されている。このような自律移動ロボットにおいては、自己位置の推定にレーザセンサやカメラを用いるのが一般的である。 Currently, multiple autonomous mobile robots are used within factories, logistics centers, and office buildings for purposes such as transporting goods, guiding people, and security. These autonomous mobile robots typically utilize laser sensors or cameras for self-positioning.
SLAM(Simultaneous Localization and Mapping)技術を用いた自律移動ロボットは、壁面形状など周囲環境の特徴点をセンシングして自己位置推定を行う。しかし、特徴の少ない空間や、周囲物体の配置変化により特徴が変動する環境では、位置推定に失敗し移動不能となる場合がある。 Autonomous mobile robots using SLAM (Simultaneous Localization and Mapping) technology estimate their own position by sensing feature points of the surrounding environment, such as wall shapes. However, in spaces with few features, or in environments where features change due to changes in the arrangement of surrounding objects, position estimation may fail, rendering the robot unable to move.
位置推定の失敗に対する回復手法の一例として、特許文献1が提案されている。特許文献1では、管理サーバ側で自律移動ロボットに探索指示を行い、探索を行わせる技術であるが、探索ロボットに探索させる領域を決定する方法に改善の余地があり、特に、探索効率に改善の余地があることが明らかとなった。 As an example of a recovery method for position estimation failures, Patent Document 1 is proposed. Patent Document 1 describes a technology in which a management server issues search instructions to an autonomous mobile robot, which then performs the search. However, it has become clear that there is room for improvement in the method of determining the area to be searched by the robot, and in particular, there is room for improvement in search efficiency.
本発明は、従来に比べて探索効率を向上させることができる複数移動ロボットの制御方法および複数移動ロボット制御システムを提供する。 This invention provides a control method and a control system for multiple mobile robots that can improve search efficiency compared to conventional methods.
本発明は、上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、センサを搭載した複数の移動ロボットを制御する方法であって、第一のロボットの現在位置が不明な場合に、前記第一のロボットの過去の移動位置軌跡、前記第一のロボットの過去の位置推定における誤差情報、および移動量に基づいて、前記第一のロボットについての第一探索範囲を決定するステップと、前記第一のロボットとは異なる第二のロボットに対して、前記第一探索範囲の探索指令を送信するステップと、前記第一探索範囲における前記第二のロボットからのセンサ情報を受信し、前記第一のロボットの現在位置を推定するステップと、を有し、前記第一のロボットの現在位置を推定するステップでは、前記第一探索範囲における前記第二のロボットからのセンサ情報を受信し、未知物体を抽出して、前記未知物体の周辺に第二探索範囲を限定し、前記第二のロボットに対して前記第二探索範囲の探索指令を送信し、前記第二探索範囲における前記第二のロボットからのセンサ情報を受信し、前記第一のロボットの現在位置を推定し、第三ロボットの走行経路を、前記第一探索範囲および前記第二探索範囲を除いて設定する。
The present invention includes multiple means for solving the above problems, but one example is a method for controlling multiple mobile robots equipped with sensors, comprising the steps of: determining a first search range for the first robot when the current position of the first robot is unknown, based on the past movement trajectory of the first robot, error information in the past position estimation of the first robot, and the amount of movement; transmitting a search command for the first search range to a second robot different from the first robot; and receiving sensor information from the second robot in the first search range and estimating the current position of the first robot , wherein in the step of estimating the current position of the first robot, sensor information from the second robot in the first search range is received, an unknown object is extracted, the second search range is limited to the area around the unknown object, a search command for the second search range is transmitted to the second robot, sensor information from the second robot in the second search range is received, the current position of the first robot is estimated, and the travel path of the third robot is set excluding the first and second search ranges .
本発明によれば、従来に比べて探索効率を向上させることができることから、自律移動ロボットの作業効率の向上を図ることができる。上記以外の課題、構成および効果は、以下の実施例の説明により明らかにされる。 According to the present invention, since the search efficiency can be improved compared to conventional methods, the work efficiency of autonomous mobile robots can be improved. Other issues, configurations, and effects will be clarified by the following description of the embodiments.
自律移動ロボットが位置推定に失敗した場合に、他の自律移動ロボットを用いて位置推定を回復させるための本発明の複数移動ロボットの制御方法、プログラム、および複数移動ロボット制御システムの実施例について図1乃至図11を用いて説明する。なお、本明細書で用いる図面において、同一のまたは対応する構成要素には同一、または類似の符号を付け、これらの構成要素については繰り返しの説明を省略する場合がある。 The present invention describes an embodiment of a control method, program, and control system for multiple mobile robots, which allows for the recovery of position estimation using other autonomous mobile robots when one autonomous mobile robot fails to estimate its position. This embodiment is illustrated with reference to Figures 1 to 11. In the drawings used herein, identical or corresponding components are denoted by the same or similar reference numerals, and repeated descriptions of these components may be omitted.
センサを搭載した複数の自律移動可能な第一のロボット100,第二のロボット200を制御する制御方法、プログラム、制御システムでは、好適には管理サーバにより一定周期で収集したロストロボットの過去の移動軌跡と誤差情報、移動量を用いて探索範囲を決定し、最近傍の第二のロボット200を救助ロボットに選定し、救助ロボットのセンサ情報からロストロボットらしき物体を検出し、存在確度の高い領域に探索範囲を限定することで、素早くロストロボットを発見、認識する。認識したロストロボットの絶対位置をロストロボットに送信し位置を再設定することで位置推定の失敗から回復することが可能である。 In a control method, program, and control system for controlling multiple autonomously mobile first robots 100 and second robots 200 equipped with sensors, the search range is preferably determined using past movement trajectories, error information, and movement amounts of the lost robot collected periodically by a management server. The nearest second robot 200 is selected as the rescue robot, and an object resembling the lost robot is detected from the rescue robot's sensor information. By limiting the search range to an area with a high probability of presence, the lost robot can be quickly found and recognized. The absolute position of the recognized lost robot can be transmitted to the lost robot, allowing it to recover from position estimation failures by resetting its position.
以下の実施例では、屋内平面環境を走行する工場内物品搬送ロボットを例に挙げる。図1に示す2台の移動ロボットのうち、第一のロボット100を位置推定に失敗したロボットとし、第二のロボット200を救助ロボットの役割とする場合の例で説明する。 The following embodiment uses a factory item transport robot operating in an indoor, flat environment as an example. We will explain an example where, of the two mobile robots shown in Figure 1, the first robot 100 is the one that failed to estimate its position, and the second robot 200 is the rescue robot.
以下、本実施例について、構成、処理フローの順で説明する。 The following describes this embodiment, starting with its configuration and then its processing flow.
<構成>
図1は、本実施例によるシステムの構成図である。以下、これら各装置の概要をまず説明し、その詳細については処理フローを説明する際に後述する。
<Structure>
Figure 1 is a diagram of the system configuration according to this embodiment. Below, we will first explain the overview of each of these devices, and then describe their details later when explaining the processing flow.
図1に示す第一のロボット100は、地図情報を取得するセンサ101を搭載している。 The first robot 100 shown in Figure 1 is equipped with a sensor 101 that acquires map information.
第一のロボット100の情報処理装置109は、センサ101により取得した地図情報を処理するセンサ処理部105と、センサ101情報と共有情報等によって自己位置を演算する自己位置演算部106と、第一のロボット100に組み込まれた車輪エンコーダなどの情報に基づき自己位置を取得する位置情報取得部107と、センサ101と自己位置演算部の情報から位置推定の失敗を判定する位置推定失敗判定部104と、第一のロボット100の走行を制御する走行制御部108を有している。これらの各部は、第一のロボット100の中央処理装置102が実行するプログラムで構成される。 The first robot 100's information processing device 109 includes a sensor processing unit 105 that processes map information acquired by the sensor 101, a self-position calculation unit 106 that calculates its own position using the sensor 101 information and shared information, a position information acquisition unit 107 that acquires its own position based on information from wheel encoders and other components incorporated into the first robot 100, a position estimation failure determination unit 104 that determines a failure in position estimation from the information from the sensor 101 and the self-position calculation unit, and a travel control unit 108 that controls the movement of the first robot 100. Each of these units is composed of a program executed by the first robot 100's central processing unit 102.
第一のロボット100の情報送受信部103は、管理サーバ1と地図情報を交換するために、ネットワーク8へ接続される。 The information transmission/reception unit 103 of the first robot 100 is connected to the network 8 in order to exchange map information with the management server 1.
第二のロボット200は、地図情報を取得するセンサ201を搭載している。 The second robot, 200, is equipped with a sensor 201 that acquires map information.
第二のロボット200の情報処理装置209は、センサ201により取得した地図情報を処理するセンサ処理部205と、センサ201情報と共有情報等によって自己位置を演算する自己位置演算部206と、第二のロボット200に組み込まれた車輪エンコーダなどの情報に基づき自己位置を取得する位置情報取得部207と、センサ201と自己位置演算部の情報から位置推定の失敗を判定する位置推定失敗判定部204と、第二のロボット200の走行を制御する走行制御部208を有している。これらの各部は、第二のロボット200の中央処理装置202が実行するプログラムで構成される。 The second robot 200's information processing device 209 includes a sensor processing unit 205 that processes map information acquired by the sensor 201, a self-position calculation unit 206 that calculates its own position using the sensor 201 information and shared information, a position information acquisition unit 207 that acquires its own position based on information from wheel encoders and other components incorporated into the second robot 200, a position estimation failure determination unit 204 that determines a failure in position estimation from the information from the sensor 201 and the self-position calculation unit, and a travel control unit 208 that controls the movement of the second robot 200. Each of these units is composed of a program executed by the second robot 200's central processing unit 202.
第二のロボット200の情報送受信部203は、管理サーバ1と地図情報を交換するために、ネットワーク8へ接続される。 The information transmission/reception unit 203 of the second robot 200 is connected to the network 8 in order to exchange map information with the management server 1.
管理サーバ1は、情報処理装置7を有している。この管理サーバ1の情報処理装置7は、情報送受信部6と、主記憶装置5と、メモリ4と、地図情報表示部3を有しており、
第一探索範囲決定部、探索指令送信部、および推定部を構成する。メモリ4は、地図情報保持部41、位置範囲演算部42、探索命令管理部43、座標変換処理部44を有し、これらは管理サーバ1の中央処理装置(CPU:Central Processing Unit)2が実行するプログラムである。
The management server 1 has an information processing device 7. This information processing device 7 of the management server 1 has an information transmission/reception unit 6, a main memory 5, a memory 4, and a map information display unit 3.
It comprises a first search range determination unit, a search command transmission unit, and an estimation unit. Memory 4 has a map information holding unit 41, a position range calculation unit 42, a search command management unit 43, and a coordinate transformation processing unit 44, which are programs executed by the central processing unit (CPU) 2 of the management server 1.
ネットワークと管理サーバ1の情報送受信部6がやり取りする地図情報は、地図情報保持部41により主記憶装置5に書き込まれる。主記憶装置5は、記憶媒体であり、HDD、SSD、Flashメモリであってもよい。ネットワーク8は無線LANによって構成されていてもよく、やり取りする地図情報はTCP/IPによるソケット通信を用いてもよい。 The map information exchanged between the network and the information transmission/reception unit 6 of the management server 1 is written to the main memory 5 by the map information storage unit 41. The main memory 5 is a storage medium and may be an HDD, SSD, or Flash memory. The network 8 may be configured as a wireless LAN, and the map information exchanged may use TCP/IP socket communication.
なお、地図情報に関する情報通信は、ネットワークに接続された他のロボットと直接行ってもよく、ネットワークに接続されるロボットは、2台以上あってもよい。 Furthermore, information communication regarding map data may be conducted directly with other robots connected to the network, and there may be two or more robots connected to the network.
第一のロボット100のセンサ101や第二のロボット200のセンサ201は、例えば、LiDAR、RGB-Dカメラ、単眼カメラ、ステレオカメラ、全天球カメラ、赤外線カメラ、GPS等のうち、少なくとも1つ以上で構成され、異なる種類のセンサの組み合わせとすることができる。第一のロボット100や第二のロボット200は、これらセンサ101,201による高精度な位置推定が出来ている前提である。 The sensors 101 of the first robot 100 and 201 of the second robot 200 consist of at least one of the following: LiDAR, RGB-D camera, monocular camera, stereo camera, 360-degree camera, infrared camera, GPS, etc., and can be a combination of different types of sensors. It is assumed that the first robot 100 and the second robot 200 are capable of high-precision position estimation using these sensors 101 and 201.
なお、第二のロボット200は本実施例では第一のロボット100と同じ構成であるが、異なる構成のロボットであってもよい。例えば、クローラ付き走行ロボットと、人型サービスロボットの通信においても成り立つ。 In this embodiment, the second robot 200 has the same configuration as the first robot 100, but it may be a robot with a different configuration. For example, this also applies to communication between a crawler-equipped mobile robot and a humanoid service robot.
また、管理サーバ1についても、その機能を実現するための物理的なサーバがあってもよいし、それぞれのロボット内部に、プログラムがそれぞれ記憶され、その機能が第一のロボット100,第二のロボット200に搭載された中央処理装置102,202上で自律分散的に実行される形態であってもよい。 Furthermore, regarding the management server 1, there may be a physical server to implement its functions, or the programs may be stored within each robot, and their functions may be autonomously and distributedly executed on the central processing units 102 and 202 installed in the first robot 100 and the second robot 200, respectively.
管理サーバ1の各々の機能が第一のロボット100,第二のロボット200の内部にある場合、各々の第一のロボット100,第二のロボット200同士のアドホックなネットワーク構築により近くのロボット同士での情報交換のみでシステムが完結するため、設備へ無線ネットワークインフラを設置せずに運用ができるようになる。また、通信情報量の軽減による通信負荷軽減を図ることができる。 If the functions of the management server 1 are located within the first robot 100 and the second robot 200, the system can be completed solely through information exchange between nearby robots by establishing an ad-hoc network between the first robot 100 and the second robot 200. This eliminates the need to install a wireless network infrastructure on the equipment. Furthermore, it reduces the communication load by decreasing the amount of data transmitted.
これに対し、管理サーバ1が独立した構成である場合は、第一のロボット100,第二のロボット200側の構成の簡略化などの効果が得られる。 In contrast, if the management server 1 has an independent configuration, benefits such as simplification of the configuration of the first robot 100 and the second robot 200 can be obtained.
共有される地図情報は、管理サーバ1の地図情報表示部3によって、ユーザが確認可能に構成されている。ここで、送受信される地図情報は、取得時刻、ロボットID、ロボット外観情報、自己位置座標、自己位置推定における推定誤差、オドメトリによる走行移動変量、他のロボットの認識ID、認識信頼度および自機との相対位置情報、ロスト検知フラグ、センサ種別、センサにより取得したロボット周囲の障害物マップが含まれる。 The shared map information is configured to be viewable by the user via the map information display unit 3 of the management server 1. The map information transmitted and received includes the acquisition time, robot ID, robot appearance information, self-position coordinates, estimation error in self-position estimation, odometry-based movement variables, recognition IDs of other robots, recognition confidence level and relative position information with the robot, lost detection flag, sensor type, and an obstacle map of the robot's surroundings acquired by the sensors.
地図情報は、ロボットが走行する環境やシーンによって内容が異なる。例えば、オフィス内や倉庫、工場等の整備された屋内平面を移動するロボットの場合、上記地図情報の自己位置座標は、3次元の自己位置座標(x,y,θ)である。これに対し、落下物や地面に凹凸のある屋内未整備環境や屋外では、上記地図情報の自己位置座標は、6次元の自己位置座標(x,y,z,roll,pitch,yaw)が用いられる。 The map information varies depending on the environment and scene in which the robot operates. For example, for a robot moving on a well-maintained indoor surface such as an office, warehouse, or factory, the self-position coordinates in the map information are three-dimensional (x, y, θ). In contrast, in unmaintained indoor environments with falling objects or uneven ground, or outdoors, six-dimensional (x, y, z, roll, pitch, yaw) coordinates are used.
また、上記の地図情報の推定誤差は、例えば位置推定に失敗したロボットが移動していたと推定される範囲のことであり、モンテカルロ位置推定計算や、カルマンフィルタによる位置計算過程で得られる誤差楕円を用いることができる。 Furthermore, the estimation error in the map information mentioned above refers to the estimated range of movement of a robot that failed to estimate its position. This error can be obtained using Monte Carlo position estimation calculations or the Kalman filter position calculation process.
以上で、本実施例のシステム構成の説明を終わる。引き続き、本実施例の処理フローを、これで用いられる情報を参照して説明する。 This concludes the explanation of the system configuration of this embodiment. Next, the processing flow of this embodiment will be explained with reference to the information used.
<処理フロー>
以下、本実施例の処理フローについて説明する。図2は、本実施例における位置推定の失敗からの回復のための動作制御処理を示すフローチャートである。好適には図1の管理サーバ1の情報処理装置7で処理される。
<Processing Flow>
The processing flow of this embodiment will now be described. Figure 2 is a flowchart showing the operation control process for recovering from a position estimation failure in this embodiment. Preferably, this is processed by the information processing device 7 of the management server 1 shown in Figure 1.
また、本実施例では、複数の第一のロボット100,第二のロボット200は、その稼働中は、地図情報(自らの過去の移動位置軌跡、過去の位置推定における推定誤差範囲307(図4参照)、および移動量)を好適には一定周期で管理サーバ1に出力する。 Furthermore, in this embodiment, the multiple first robots 100 and second robots 200 output map information (their past movement trajectories, the estimation error range 307 in past position estimation (see Figure 4), and the amount of movement) to the management server 1 at a preferably regular interval while they are in operation.
図2において、ステップS200のように第一のロボット100が位置推定の失敗を検知した際には、ステップS201に遷移する。 In Figure 2, when the first robot 100 detects a failure in position estimation, as in step S200, the process transitions to step S201.
このステップS200における位置推定の失敗の検知は、第一のロボット100の位置推定失敗判定部104が行う。自己位置演算部106により得られた推定誤差が予め設定した閾値を超えた場合、位置推定の失敗と判定し、管理サーバ1へ発報して走行を停止する。この他にも、計算処理のエラーにより位置推定に失敗した場合も位置推定の失敗と判定する。 In step S200, the detection of a position estimation failure is performed by the position estimation failure determination unit 104 of the first robot 100. If the estimation error obtained by the self-position calculation unit 106 exceeds a preset threshold, it is determined that the position estimation has failed, and an alert is sent to the management server 1 to stop the robot's movement. In addition, if the position estimation fails due to a calculation error, it is also determined to be a position estimation failure.
また、ロボットの自己位置推定においては、特徴点の誤マッチングによって誤った位置に推定結果が収束する場合がある。実際の誤差を推定誤差が表せていない場合、推定誤差情報のみを用いてロスト判定する方法では、誤った検知を行う課題がある。そのため、異なる種類の位置推定方法よる推定結果と比較することで位置推定の失敗を判定する手法が望ましい。 Furthermore, in robot self-localization, mismatching of feature points can lead to the estimation result converging to an incorrect location. When the estimation error does not accurately reflect the actual error, methods that rely solely on estimation error information for lost location detection have the problem of producing false positives. Therefore, a method that determines failure in localization by comparing the estimation results from different types of localization estimation methods is desirable.
次いで、ステップS201において、管理サーバ1は、第一のロボット100を除く他のロボットから得たセンサ情報を共有し、他のロボットのセンサで観測された第一のロボット100の絶対位置を用いて第一のロボット100の位置回復を試み、ステップS202において、共有情報だけで位置回復できたか否かを判定する。他のロボットのセンサの視野内に第一のロボット100が存在するなどの理由により位置回復できた場合は処理を完了させる。 Next, in step S201, the management server 1 shares sensor information obtained from the other robots excluding the first robot 100, and attempts to recover the position of the first robot 100 using the absolute position of the first robot 100 observed by the sensors of the other robots. In step S202, it determines whether the position could be recovered using only the shared information. If the position can be recovered for reasons such as the first robot 100 being within the field of view of the sensors of the other robots, the process is completed.
これに対し、他のロボットのセンサの視野内に第一のロボット100が存在しないなどの理由により位置回復できないと判定された場合は、位置回復のためにロストロボットを観測可能な位置まで第二のロボット200が移動する必要がある。この動作を探索と呼び、ステップS203以降が探索動作を表す。ロスト状態における推定誤差は不正確な場合も多いため、ステップS203では、物理的に存在しうる範囲を探索範囲(第一探索範囲)として設定する。 Conversely, if it is determined that the first robot 100 cannot be recovered for reasons such as not being within the field of view of the other robot's sensors, the second robot 200 needs to move to a position where the lost robot can be observed in order to recover its position. This operation is called searching, and steps S203 onward represent the searching operation. Since estimation errors in the lost state are often inaccurate, in step S203, the physically possible range is set as the search range (first search range).
探索範囲の決定方法について、以下詳細に説明する。図3乃至図8は、探索範囲の決定と救助ロボットの選定の流れの一例を示す図である。 The method for determining the search area will be explained in detail below. Figures 3 through 8 show an example of the process for determining the search area and selecting a rescue robot.
まず、図3に示すように、ロストロボットが物理的に存在しうる範囲を求めるために、ロストロボットの移動履歴情報を用いる。高精度に位置推定していた点では、推定誤差が小さくなるため、現在時刻から推定誤差履歴302を遡り、推定誤差301が信頼できる閾値を下回る点を、探索基準点とする。 First, as shown in Figure 3, the movement history information of the lost robot is used to determine the range in which the lost robot could physically exist. Since the estimation error is small at points where the position estimation was highly accurate, the estimation error history 302 is traced back from the current time, and points where the estimation error 301 falls below a reliable threshold are used as search reference points.
また、その時刻におけるロストロボットの位置を探索中心座標304とすると、その点から現在時刻までにオドメトリで移動した総移動距離303を半径rとした円で構成される領域305にロストロボットは存在している、といえる。 Furthermore, if we consider the position of the lost robot at that time as the search center coordinate 304, then we can say that the lost robot exists within a region 305 formed by a circle with radius r equal to the total distance 303 traveled by odometry from that point to the present time.
さらに、現在時刻におけるロストロボットの推定誤差範囲、探索中心座標と現在時刻の推定位置との方位から、探索優先度の高い領域を決定する。移動量推定は、搬送用ロボット等の人による持ち上げが想定されにくい移動ロボットを前提に、車輪オドメトリによる移動量を用いる。 Furthermore, based on the estimated error range of the lost robot at the current time and the orientation between the search center coordinates and the estimated position at the current time, high-priority search areas are determined. For movement estimation, assuming a mobile robot such as a transport robot where human lifting is unlikely, wheel odometry is used to determine the movement amount.
実空間の探索範囲は、図4に示すように、ロストロボットが物理的に存在しうる領域305を領域S1、ロストロボットの存在可能性のより高い領域306を領域S2、ロストロボットの推定誤差範囲307を領域S3として、式(1)の探索範囲Sa311(図7参照)として定義する。 As shown in Figure 4, the real-space search range is defined as the search range S a 311 (see Figure 7) in equation (1), where S 1 is the region 305 where the lost robot can physically exist, S 2 is the region 306 where the probability of the lost robot's existence is higher, and S 3 is the estimated error range for the lost robot 307.
ここで、SMは、地図形状から抽出した走行可能な領域310(図6参照)である。領域S1,S2,S3の定義について以下に示す。探索中心座標304とする信頼位置は、現在時刻tから誤差履歴を遡り、始めて推定誤差が閾値を下回る点の時刻t1における位置推定の結果(xt1,yt1,θt1)である。信頼位置から現在位置までのオドメトリによる総移動距離303である半径rは式(2)で求められる。 Here, S M is the drivable area 310 extracted from the map shape (see Figure 6). The definitions of areas S1 , S2 , and S3 are shown below. The reliable position, which will be the search center coordinate 304, is the result of the position estimation at time t1 of the point where the estimation error first falls below the threshold, obtained by tracing back the error history from the current time t (x t1 , y t1 , θ t1 ). The radius r, which is the total distance traveled by odometry 303 from the reliable position to the current position, is obtained by equation (2).
信頼位置(xt1,yt1)を中心とした半径rの円で構成される領域305が、ロボットが物理的に存在しうる領域S1である。さらに、探索範囲の中でも、存在可能性の高い領域として、信頼位置と現在位置を結ぶベクトルを中心に角度φだけ開いた扇型の領域306を優先度の高い領域S2に設定する。同様に、位置推定の計算で得られるロボット現在時刻における位置の推定誤差範囲と重なる範囲を優先度の高い領域S3307とする。 The region 305, which is a circle with radius r centered on the trusted position (x t1 , y t1 ), is the region S1 where the robot can physically exist. Furthermore, within the search range, a sector-shaped region 306, which is open at an angle φ around the vector connecting the trusted position and the current position, is set as the high-priority region S2 , as it is a region with a high probability of existence. Similarly, the region that overlaps with the estimation error range of the robot's position at the current time obtained from the position estimation calculation is set as the high-priority region S3 307.
探索すべき範囲は、これら設定された領域S1,S2,S3の和集合と、走行可能領域SM310との積集合であるため、探索範囲は式(1)の探索範囲Sa311で与えられる。探索範囲Sa311を図示すると図7のようになる。また、過去に位置推定の失敗が発生した地図座標を管理サーバ1が記憶することで、地図上でロストが発生しやすいと判断される領域を作成し、領域S2に含め探索範囲の候補として用いてもよい。 The area to be searched is the intersection of the union of the set areas S1 , S2 , and S3 and the drivable area SM310 . Therefore, the search area is given by the search area Sa311 in equation (1). The search area Sa311 is illustrated in Figure 7. Alternatively, the management server 1 may store map coordinates where position estimation failures have occurred in the past, thereby creating areas on the map that are judged to be prone to loss, and these areas may be included in area S2 and used as candidates for the search area.
次に、式(1)で得た探索範囲領域を救助ロボットに探索させるための自律移動先座標として、図5に示すような「注目点」308,309を設定する。注目点308,309は、探索範囲領域内に等間隔で離散的に配置する。救助ロボットに搭載されたセンサによって、探索範囲を十分センシングできるように、センサの実用認識可能距離に基づいて注目点の配置間隔を設定する。 Next, "points of interest" 308 and 309, as shown in Figure 5, are set as autonomous destination coordinates for the rescue robot to explore the search area obtained from equation (1). Points of interest 308 and 309 are placed discretely at equal intervals within the search area. The spacing between points of interest is set based on the practical recognition range of the sensors mounted on the rescue robot, so that the search area can be sufficiently sensed by the sensors.
本実施例では、カメラによって相手ロボットを高精度に認識可能な距離を注目点間距離dとして、探索範囲円内を満たすように配置する。 In this embodiment, the distance d between the points of interest is defined as the distance at which the target robot can be recognized with high accuracy by the camera, and the cameras are arranged to fill the search range circle.
注目点は、探索範囲Sの重なりから、その注目点の優先度を決定する。探索範囲Saのうち領域S2,S3の部分の注目点308を第一優先度として最初に探索し、探索範囲Saのうち領域S1の部分の注目点309を第二優先度とする。 The key point is to determine the priority of the points of interest based on the overlap of the search range S. Point 308 in the region S2 and S3 of the search range Sa is given first priority and is searched first, while point 309 in the region S1 of the search range Sa is given second priority.
次いで、ステップS204では、以上の手順で決定した探索範囲を探索する救助ロボットを決定する。決定方法について、以下詳細に説明する。 Next, in step S204, the rescue robot to search the search area determined by the above procedure is selected. The selection method is explained in detail below.
現在時刻tにおいて、探索範囲中心座標の最近傍の座標にあるロボットを最近傍法によって抽出し、救助ロボットの役割を割り当てる。本実施例では、最近傍救助ロボットの選定には探索中心座標とのユークリッド距離を用いるが、開けた空間でない場合は、最近傍点が実走行距離で最短ではないため、グラフ探索アルゴリズム等を用いた経路計画で得た走行経路が最短なロボットへのタスク割当が望ましい。 At the current time t, the nearest robot to the search range center coordinate is extracted using the nearest neighbor method, and the rescue robot role is assigned. In this embodiment, the Euclidean distance from the search center coordinate is used to select the nearest rescue robot. However, in the case of confined spaces, the nearest point may not be the shortest in terms of actual travel distance. Therefore, it is desirable to assign the task to the robot with the shortest travel path obtained using a path planning algorithm such as a graph search algorithm.
また、他ロボットの搬送タスクへの影響を避けるため、タスクの空き状況と走行経路に基づいて救助ロボットを選定することが望ましい。 Furthermore, to avoid impacting other robots' transport tasks, it is desirable to select rescue robots based on task availability and travel routes.
続いて、ステップS205では、図8に示すように、救助ロボットに対し初期に設定される探索目標の座標は、救助ロボット座標の最近傍に位置する注目点308を第一優先度の注目点312であり、最近傍法によって決定する。座標を受信した救助ロボットは、注目点までの移動経路を生成し、自律移動を行う。 Next, in step S205, as shown in Figure 8, the coordinates of the search target initially set for the rescue robot are determined by the nearest neighbor method, with the point of interest 308, located closest to the rescue robot's coordinates, being the first-priority point of interest 312. Upon receiving the coordinates, the rescue robot generates a movement path to the point of interest and performs autonomous movement.
この自律移動による探索中に、救助ロボットは、ステップS206のように、センシング結果によりロストロボットの認識に成功したか否かを判定し続ける。 During this autonomous search, the rescue robot continuously determines, as in step S206, whether or not it has successfully identified the lost robot based on the sensing results.
センシングにより第一のロボット100がセンサ視野内に入った時点で、ステップS206からステップS210に遷移し、第一のロボット100の絶対位置が修正されロストから回復する。 When the first robot 100 enters the sensor's field of view via sensing, the system transitions from step S206 to step S210, correcting the absolute position of the first robot 100 and recovering from being lost.
これに対し、ステップS206でセンサ視野内に第一のロボット100が認識できない場合、ステップS207へ遷移して探索範囲(第二探索範囲)をすべて探索し終えたか否かを判定し、ステップS208の探索範囲の探索が終えるまで障害物センサ情報を用いた探索範囲の限定処理を実行する。ステップS208の障害物センサ情報を用いた探索範囲の限定方法について、以下詳細に説明する。 In contrast, if the first robot 100 cannot be detected within the sensor's field of view in step S206, the process proceeds to step S207 to determine whether the entire search range (second search range) has been explored. Then, the process of limiting the search range using obstacle sensor information is executed in step S208 until the search range is completed. The method of limiting the search range using obstacle sensor information in step S208 is described in detail below.
図9は、救助ロボットの障害物センサ情報を用いた注目点の限定の例である。図9に示すように、探索動作において、救助ロボットがロストロボットを発見し、その位置姿勢を高精度に認識するためには、センサが十分な認識精度を発揮できるよう、物理的に接近する必要がある。 Figure 9 shows an example of limiting the focus of a rescue robot using obstacle sensor information. As shown in Figure 9, in search operations, for the rescue robot to locate the lost robot and accurately recognize its position and orientation, it needs to physically approach the robot so that the sensors can achieve sufficient recognition accuracy.
そのため、これら接近距離の制約やセンサ視野角の制約のため、注目点を一つずつ観測するのでは非効率である。そこで、LiDAR等の観測可能領域が広域な障害物センサによって、初期にSLAMによって得られた地図形状には記録されていなかった障害物を抽出し、その障害物の占有領域が探索対象ロボットの外観形状に近い(テンプレート)の占有面積と近しいものを、「探索対象ロボットらしき物体」として認識し、その周囲のみに注目点を残す。障害物センサ情報によって、未占有領域が確認できた地図領域の注目点については削除することで、探索範囲を限定する。 Therefore, due to these limitations on approach distance and sensor field of view, observing each point of interest individually is inefficient. To address this, obstacle sensors with a wide observable area, such as LiDAR, are used to extract obstacles not initially recorded in the map shape obtained by SLAM. Objects whose occupied area closely matches the external shape (template) of the target robot are recognized as "objects likely to be the target robot," and only their surrounding areas are kept as points of interest. Points of interest in map areas where unoccupied areas are identified based on obstacle sensor information are then deleted, thereby limiting the search range.
具体的には、救助ロボットのセンサによって生成された障害物占有マップ400から、既知の地図形状402の差をとることで、地図作成時には無かった新たな障害物401を抽出する。さらに、抽出した未知の障害物の中でも、探索対象ロボットのサイズに近い占有面積をもつ障害物110を抽出し、探索対象候補とする。抽出したロボットらしき未知物体403の周囲の注目点のみを残し、障害物マップ内の他の未占有領域の注目点は削除する。 Specifically, by taking the difference between the obstacle occupancy map 400 generated by the rescue robot's sensors and the known map shapes 402, new obstacles 401 that were not present during map creation are extracted. Furthermore, among the extracted unknown obstacles, obstacles 110 with an occupancy area close to the size of the target robot are selected and designated as search targets. Only the points of interest around the extracted unknown object 403 that resembles a robot are retained, and points of interest in other unoccupied areas within the obstacle map are deleted.
このほかにも、点群によるパターンマッチングや、深層学習による画像認識で、ロボット外観と類似度の高い物体を抽出したり、点群から線ハフ変換によるエッジ抽出等の処理を行って未知物体403を得ても良い。 In addition, unknown objects 403 can be obtained by extracting objects with a high similarity to the robot's appearance using point cloud pattern matching or deep learning-based image recognition, or by performing processes such as edge extraction from the point cloud using line Hough transform.
このように、第二探索範囲における第二のロボット200からのセンサ情報は、第二のロボット200が認識した第一のロボット100の位置情報とすることが望ましい。また、この位置情報を、第一のロボット100の外観情報を用いたテンプレートマッチング、点群マッチング、ARマーカ画像認識、深層学習による認識のいずれかによって推定した情報とすることが望ましい。 Thus, it is desirable that the sensor information from the second robot 200 in the second search range be the position information of the first robot 100 as recognized by the second robot 200. Furthermore, it is desirable that this position information be estimated using one of the following methods: template matching using the external appearance information of the first robot 100, point cloud matching, AR marker image recognition, or deep learning-based recognition.
次に、ステップS209について説明する。ステップS203で生成した探索範囲をすべて探索しても対象ロボットを発見できない場合、ステップS207からステップS209へ遷移する。具体的には、ステップS209では、探索の領域305の半径r(総移動距離303)の拡大を行い、その後にステップS203へ処理を戻して探索を続ける。 Next, we will explain step S209. If the target robot cannot be found even after searching the entire search area generated in step S203, the process transitions from step S207 to step S209. Specifically, in step S209, the radius r (total travel distance 303) of the search area 305 is expanded, and then the process returns to step S203 to continue the search.
探索範囲が広域にわたる場合、探索範囲をいくつかの領域に分けて、複数台のロボットによって探索してもよい。 If the search area is wide, the search area may be divided into several regions, and multiple robots may be used to conduct the search.
また、一定の時間内にロボット群によって探索に成功しない場合、管理者への支援通知を行うことができる。 Furthermore, if the robot group fails to successfully complete the search within a certain time frame, a notification can be sent to the administrator to provide assistance.
続いて、ステップS206について、図10を用いて説明する。図10は、第二のロボット200のセンサ結果を用いて第一のロボット100を認識する例である。 Next, step S206 will be explained using Figure 10. Figure 10 shows an example of recognizing the first robot 100 using the sensor results of the second robot 200.
第一のロボット100の認識は、ロボットの外観情報を用いた深層学習を用いた認識や、LiDARの点群マッチング501、画像特徴量のパターンマッチング、ARマーカ500の画像認識、音や光、ビーコンを用いた認識方法のいずれかを用いてもよい。これらの認識手法は、相対位置・姿勢が求められるものとする。また、これらセンサによる認識処理は、各ロボット内のセンサ処理部105,205で行ってもよいし、管理サーバ1で行っても良い。 The recognition of the first robot 100 may be performed using one of the following methods: deep learning using the robot's external appearance information, LiDAR point cloud matching 501, pattern matching of image features, image recognition using AR markers 500, or recognition using sound, light, or beacons. These recognition methods require the determination of relative position and orientation. Furthermore, the recognition processing using these sensors may be performed by the sensor processing units 105 and 205 within each robot, or by the management server 1.
また、第一のロボット100の位置を認識するセンサは、図11のような、監視カメラ等の固定センサでもよく、センサの位置が既知であればよい。 Furthermore, the sensor used to recognize the position of the first robot 100 may be a fixed sensor such as a surveillance camera, as shown in Figure 11; it is sufficient that the sensor's position is known.
最後に、ステップS210について説明する。ステップS210では、認識した救助ロボットと第一のロボット100との相対位置から、座標変換によって絶対位置を算出し、第一のロボット100へ送信する。ARマーカ認識を例とした、救助ロボットが認識した当該ロボットの位置は、以下座標変換式を用いて絶対位置に変換し、当該ロボットへ送信する。 Finally, step S210 will be explained. In step S210, the absolute position is calculated from the relative position of the recognized rescue robot and the first robot 100 using coordinate transformation, and transmitted to the first robot 100. Using AR marker recognition as an example, the position of the robot recognized by the rescue robot is converted to an absolute position using the following coordinate transformation formula and transmitted to the robot.
座標変換は、管理サーバ1の座標変換処理部44で行う。地図原点をmapとして、第一のロボット100の絶対位置pA=(x,y,θ)を算出する座標変換は,並進・回転を含む同次変換行列T∈R(4×4)を用いて式(3)、式(4)のように表せる。B_sensorは、ロボットセンサの取り付け位置、B_markerはマーカ設置位置、B_detect_markerは、認識したマーカ位置である。 The coordinate transformation is performed by the coordinate transformation processing unit 44 of the management server 1. The coordinate transformation to calculate the absolute position p A = (x, y, θ) of the first robot 100, with map origin as map, can be expressed as equations (3) and (4) using a homogeneous transformation matrix T ∈ R (4 × 4) that includes translation and rotation. B_sensor is the mounting position of the robot sensor, B_marker is the marker installation position, and B_detect_marker is the recognized marker position.
救助ロボット(B)から第一のロボット100(A)の観測では、以下のような式(3)のように定義される。 Observation of the first robot 100 (A) from the rescue robot (B) is defined as follows: (3)
さらに、救助ロボットからの観測だけでなく、第一のロボット100のセンサで救助ロボットを観測できた場合も、以下の式(4)で絶対位置を算出可能である。 Furthermore, even if the rescue robot is observed not only by the rescue robot itself, but also by the sensors of the first robot 100, its absolute position can be calculated using the following equation (4).
第一のロボット100(A)から救助ロボット(B)の観測では、 Observations from the first robot 100 (A) to the rescue robot (B) showed:
これらで得られた絶対位置は、管理サーバ1によって第一のロボット100へ送信される。第一のロボット100は複数受信した絶対位置を確率的に融合し、尤もらしい位置に自己位置を再設定し、位置推定の失敗から回復する。 The absolute positions obtained are transmitted to the first robot 100 by the management server 1. The first robot 100 probabilistically fuses the multiple received absolute positions, resets its own position to the most plausible location, and recovers from position estimation failures.
本実施例では、発明を実施可能な最小構成である2台の移動ロボットを用いて説明したが、3台以上のロボットがある場合は、第三のロボットのセンサ情報も用いる。例えば、式(3)および式(4)は、Bを第三のロボットに置き換えても成り立つ。また、ロボットの位置関係により、第三のロボットは探索ロボットの役割にもなりうる。 In this embodiment, the invention was explained using two mobile robots, which represent the minimum configuration for carrying out the invention. However, if there are three or more robots, the sensor information of a third robot will also be used. For example, equations (3) and (4) remain valid even if B is replaced with a third robot. Furthermore, depending on the relative positions of the robots, the third robot may also function as a search robot.
本実施例では、救助ロボットは常に高精度に位置推定できている前提だが、実際は特徴の少ない空間へ進入した場合、救助ロボットの位置推定の精度も悪化することが考えられる。そのため、これを防ぐために救助ロボットを観測可能な第三のロボットを配置することが望ましい。 In this embodiment, it is assumed that the rescue robot can always estimate its position with high accuracy. However, in reality, when entering a space with few distinguishing features, the accuracy of the rescue robot's position estimation may deteriorate. Therefore, to prevent this, it is desirable to deploy a third robot capable of observing the rescue robot.
他にも、救助ロボットは、例えばGPSや天井特徴を用いた位置推定方法など、ロストロボットとは異なるセンサや処理方法を持つことで、探索中に救助ロボットも位置推定の失敗を起こす可能性が低くなる。 Furthermore, rescue robots, by possessing different sensors and processing methods than lost robots—for example, GPS or ceiling feature-based position estimation—are less likely to fail to estimate their position during the search.
更に、探索範囲は、位置推定の失敗が発生しやすいエリアであると想定される。このため、第三ロボットの走行経路を、第一探索範囲および第二探索範囲を除いて設定し、他ロボットをなるべく接近させない経路計画を行うことで、ロスト発生率を低減させることができる。この場合、探索完了後についても、位置推定に失敗したロストロボットが発見された領域をなるべく近づかない範囲と設定することができる。 Furthermore, the search area is assumed to be an area where position estimation failures are likely to occur. Therefore, by setting the third robot's travel path to exclude the first and second search areas, and by planning a path that keeps other robots as far away as possible, the rate of robots being lost can be reduced. In this case, even after the search is complete, the area where lost robots with failed position estimations were found can be set to be avoided as much as possible.
以上で、本実施例の処理フローの説明を終了する。 This concludes the explanation of the processing flow in this embodiment.
なお、本発明は、この実施例に限定されず、各種変形例も含まれる。 Furthermore, the present invention is not limited to this embodiment and includes various modifications.
例えば、本発明には、自律移動ロボットの制御方法も含まれるが、この制御方法は移動ロボット自身が行ってもよいし、他の装置で行ってもよいし、さらに移動ロボットと他の装置が連携して行ってもよい。 For example, the present invention includes a control method for an autonomous mobile robot. This control method may be performed by the mobile robot itself, by another device, or by the mobile robot and other devices working together.
また、移動ロボットの制御方法を実行するためのコンピュータプログラムやこれを格納する媒体も本発明に含まれる。 Furthermore, the present invention also includes a computer program for executing a control method for a mobile robot and a medium for storing it.
次に、本実施例の効果について説明する。 Next, the effects of this embodiment will be described.
上述した本実施例の複数ロボットの制御方法はセンサ101,201を搭載した複数の第一のロボット100,第二のロボット200を制御する方法であって、第一のロボット100の現在位置が不明な場合に、第一のロボット100の過去の移動位置軌跡、第一のロボット100の過去の位置推定における推定誤差範囲307、および移動量に基づいて、第一のロボット100についての第一探索範囲を決定し、第一のロボット100とは異なる第二のロボット200に対して、第一探索範囲の探索指令を送信し、第一探索範囲における第二のロボット200からのセンサ情報を受信し、第一のロボット100の現在位置を推定する。 The control method for the multiple robots in the above-described embodiment is a method for controlling multiple first robots 100 and second robots 200 equipped with sensors 101 and 201. When the current position of the first robot 100 is unknown, a first search range for the first robot 100 is determined based on the first robot 100's past movement trajectory, the estimation error range 307 in the past position estimation of the first robot 100, and the amount of movement. A search command for the first search range is transmitted to a second robot 200, which is different from the first robot 100. Sensor information from the second robot 200 within the first search range is received, and the current position of the first robot 100 is estimated.
例えば、第一のロボット100の現在位置を推定するステップでは、第一探索範囲における第二のロボット200からのセンサ情報を受信し、未知物体を抽出して、未知物体の周辺に第二探索範囲を限定し、第二のロボット200に対して第二探索範囲の探索指令を送信して、第二探索範囲における第二のロボット200からのセンサ情報を受信し、第一のロボット100の現在位置を推定する。 For example, in the step of estimating the current position of the first robot 100, sensor information from the second robot 200 is received within the first search range, an unknown object is extracted, the second search range is limited to the area around the unknown object, a search command for the second search range is sent to the second robot 200, sensor information from the second robot 200 within the second search range is received, and the current position of the first robot 100 is estimated.
本発明によれば、第一のロボット100が自己位置推定に失敗して、第二のロボット200との協調による探索によりロボット単体で位置推定の処理を回復させる際に、ロストロボットが存在する確率が高い領域に早い段階で探索範囲を限定することができるため、探索効率を向上させることができる。従って、従来に比べてロストロボットの位置回復を人介在を必要とせずに速やかに行うことができるようになる。 According to the present invention, when the first robot 100 fails to estimate its own position and attempts to recover the position estimation process through a coordinated search with the second robot 200, the search range can be limited to an area with a high probability of the lost robot being present at an early stage, thereby improving search efficiency. Therefore, compared to conventional methods, the position recovery of the lost robot can be performed quickly without requiring human intervention.
また、第二のロボット200として、第一探索範囲もしくは第二探索範囲の最近傍の第二のロボット200、またはタスクに空きのある第二のロボット200を用いるため、探索効率をより向上させることができる、あるいはロボットの作業効率の低下を最低限に抑制することができる。 Furthermore, by using a second robot 200 that is the nearest to the first or second search range, or a second robot 200 with an available task, the search efficiency can be further improved, or the decrease in robot work efficiency can be minimized.
更に、第一のロボット100が受信するセンサ情報は、第二のロボット200、第三ロボットまたは第一のロボット100,第二のロボット200が稼働する領域に設けられている固定センサからの情報であることで、自己位置の再設定の際の情報を多く、且つ高い精度とすることができるため、位置推定の失敗からの回復の更なる精度向上を図ることができる。 Furthermore, since the sensor information received by the first robot 100 is from fixed sensors located in the operating areas of the second robot 200, the third robot, or the first robot 100 and the second robot 200, it is possible to obtain more information with higher accuracy when resetting its own position, thereby further improving the accuracy of recovery from position estimation failures.
また、第二探索範囲を探索しても第一のロボット100を発見できない場合、第一探索範囲を拡大することにより、極力人の介在を避ける構成とすることができる。 Furthermore, if the first robot 100 cannot be found even after searching the second search range, the first search range can be expanded to minimize human intervention.
更に、複数の第一のロボット100,第二のロボット200が、自らの過去の移動位置軌跡、過去の位置推定における推定誤差範囲307、および移動量を管理サーバ1に出力するステップを有することで、位置推定の失敗が生じた際に探索範囲を決定するための情報を予め把握しておくことができ、発見可能性の高い探索範囲の決定をより迅速に行うことができる。 Furthermore, the system includes a step in which multiple first robots 100 and second robots 200 output their past movement trajectories, past position estimation error ranges 307, and movement amounts to the management server 1. This allows for pre-determining information for determining the search area in the event of a position estimation failure, enabling faster determination of a search area with a high probability of discovery.
また、複数の第一のロボット100,第二のロボット200が、移動位置軌跡、推定誤差範囲307、および移動量を管理サーバ1に対して出力するステップを一定周期で実行することにより、探索範囲の決定に必要な情報に偏りが無くなり、高い確率で位置推定に失敗したロストロボットを発見することに寄与する探索範囲の決定が可能となる。 Furthermore, by having multiple first robots 100 and second robots 200 periodically output their movement trajectories, estimated error ranges 307, and movement amounts to the management server 1, the information necessary for determining the search range becomes unbiased, enabling the determination of a search range that contributes to finding lost robots that have failed to estimate their position with a high probability.
更に、第二探索範囲における第二のロボット200からのセンサ情報は、第二のロボット200が認識した第一のロボット100の位置情報であること、特に位置情報は、第一のロボット100の外観情報を用いたテンプレートマッチング、点群マッチング、ARマーカ画像認識、深層学習による認識のいずれかによって推定した情報であることにより、少ない情報量で確実に位置推定を行うことができるようになる。 Furthermore, the sensor information from the second robot 200 in the second search range is the position information of the first robot 100 as recognized by the second robot 200. In particular, this position information is estimated using one of the following methods: template matching using the external appearance information of the first robot 100, point cloud matching, AR marker image recognition, or deep learning recognition. This allows for reliable position estimation with a small amount of information.
更に、各々のステップは、独立した中央処理装置2上、または第一のロボット100,第二のロボット200に搭載された中央処理装置102,202上で自律分散的に実行されることで、移動ロボット側の装置構成の軽減、あるいは管理サーバや通信負荷の軽減を図ることができる。 Furthermore, each step is executed autonomously and in a distributed manner on an independent central processing unit 2, or on central processing units 102 and 202 mounted on the first robot 100 and the second robot 200, respectively. This reduces the equipment configuration on the mobile robot side, as well as the load on the management server and communication.
また、第三ロボットの走行経路を、第一探索範囲および第二探索範囲を除いて設定することにより、追加で位置推定に失敗するロストロボットが生じることを抑制でき、作業効率の低下をより確実に避けることができる。 Furthermore, by setting the third robot's travel path to exclude the first and second search ranges, it is possible to suppress the occurrence of additional lost robots that fail to estimate their position, thereby more reliably avoiding a decrease in work efficiency.
<その他>
なお、本発明は上記の実施例に限られず、種々の変形、応用が可能なものである。上述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されない。
<Other>
It should be noted that the present invention is not limited to the embodiments described above, and various modifications and applications are possible. The embodiments described above are explained in detail for the purpose of clearly illustrating the present invention, and are not necessarily limited to those having all the configurations described.
1…管理サーバ
2…中央処理装置
3…地図情報表示部
4…メモリ
5…主記憶装置
6…情報送受信部
7…情報処理装置(第一探索範囲決定部、探索指令送信部、推定部)
8…ネットワーク
41…地図情報保持部
42…位置範囲演算部
43…探索命令管理部
44…座標変換処理部
100…第一のロボット(移動ロボット)
101,201…センサ
102,202…中央処理装置
103,203…情報送受信部
104,204…位置推定失敗判定部
105,205…センサ処理部
106,206…自己位置演算部
107,207…位置情報取得部
108,208…走行制御部
110…障害物
200…第二のロボット(移動ロボット)
301…推定誤差
302…推定誤差履歴
303…総移動距離
304…探索中心座標
305,306,310,311…領域
307…推定誤差範囲
308,309,312…注目点
400…障害物占有マップ
401…障害物
402…地図形状
403…未知物体
500…ARマーカ
501…点群マッチング
1...Management Server 2...Central Processing Unit 3...Map Information Display Unit 4...Memory 5...Main Memory 6...Information Transmission/Reception Unit 7...Information Processing Unit (First Search Range Determination Unit, Search Command Transmission Unit, Estimation Unit)
8...Network 41...Map information holding unit 42...Position range calculation unit 43...Search command management unit 44...Coordinate transformation processing unit 100...First robot (mobile robot)
101, 201...Sensors 102, 202...Central Processing Unit 103, 203...Information Transmission/Reception Unit 104, 204...Position Estimation Failure Determination Unit 105, 205...Sensor Processing Unit 106, 206...Self-Position Calculation Unit 107, 207...Position Information Acquisition Unit 108, 208...Road Control Unit 110...Obstacle 200...Second Robot (Mobile Robot)
301...Estimated error 302...Estimated error history 303...Total distance traveled 304...Search center coordinates 305, 306, 310, 311...Region 307...Estimated error range 308, 309, 312...Point of interest 400...Obstacle occupancy map 401...Obstacle 402...Map shape 403...Unknown object 500...AR marker 501...Point cloud matching
Claims (12)
第一のロボットの現在位置が不明な場合に、前記第一のロボットの過去の移動位置軌跡、前記第一のロボットの過去の位置推定における誤差情報、および移動量に基づいて、前記第一のロボットについての第一探索範囲を決定するステップと、
前記第一のロボットとは異なる第二のロボットに対して、前記第一探索範囲の探索指令を送信するステップと、
前記第一探索範囲における前記第二のロボットからのセンサ情報を受信し、前記第一のロボットの現在位置を推定するステップと、を有し、
前記第一のロボットの現在位置を推定するステップでは、
前記第一探索範囲における前記第二のロボットからのセンサ情報を受信し、未知物体を抽出して、前記未知物体の周辺に第二探索範囲を限定し、前記第二のロボットに対して前記第二探索範囲の探索指令を送信し、
前記第二探索範囲における前記第二のロボットからのセンサ情報を受信し、前記第一のロボットの現在位置を推定し、
第三のロボットの走行経路を、前記第一探索範囲および前記第二探索範囲を除いて設定する
複数移動ロボットの制御方法。 A method for controlling multiple mobile robots equipped with sensors,
When the current position of the first robot is unknown, the first steps include determining a first search range for the first robot based on the past movement trajectory of the first robot, error information in the past position estimation of the first robot, and the amount of movement,
The steps include transmitting a search command for the first search range to a second robot, which is different from the first robot,
The step of receiving sensor information from the second robot in the first search range and estimating the current position of the first robot ,
In the step of estimating the current position of the first robot,
The system receives sensor information from the second robot within the first search range, extracts an unknown object, limits the second search range to the area around the unknown object, and transmits a search command for the second search range to the second robot.
The sensor information from the second robot in the second search range is received, and the current position of the first robot is estimated.
A method for controlling multiple mobile robots , wherein the travel path of the third robot is set excluding the first and second search ranges .
前記第二のロボットとして、前記第一探索範囲もしくは前記第二探索範囲の最近傍の前記移動ロボット、またはタスクに空きのある前記移動ロボットを用いる
複数移動ロボットの制御方法。 In the control method for multiple mobile robots according to claim 1 ,
A method for controlling multiple mobile robots, wherein the second robot is the mobile robot closest to the first search range or the second search range, or a mobile robot that is available for a task.
前記第一のロボットが受信するセンサ情報は、前記第二のロボット、前記第三のロボットまたは前記移動ロボットが稼働する領域に設けられている固定センサからの情報である
複数移動ロボットの制御方法。 In the control method for multiple mobile robots according to claim 1 ,
A method for controlling multiple mobile robots, wherein the sensor information received by the first robot is information from fixed sensors located in the area where the second robot, the third robot, or the mobile robot operates.
前記第二探索範囲を探索しても前記第一のロボットを発見できない場合、前記第一探索範囲を拡大する
複数移動ロボットの制御方法。 In the control method for multiple mobile robots according to claim 1 ,
A method for controlling multiple mobile robots, wherein if the first robot cannot be found even after searching the second search range, the first search range is expanded.
複数の前記移動ロボットが、自らの過去の移動位置軌跡、過去の位置推定における誤差情報、および移動量を管理サーバに出力するステップを有する
複数移動ロボットの制御方法。 In the control method for multiple mobile robots according to claim 1 ,
A method for controlling multiple mobile robots, comprising the step of each mobile robot outputting its past movement trajectory, error information in past position estimation, and amount of movement to a management server.
複数の前記移動ロボットが、前記移動位置軌跡、前記誤差情報、および前記移動量を前記管理サーバに対して出力するステップを一定周期で実行する
複数移動ロボットの制御方法。 In the control method for multiple mobile robots according to claim 5 ,
A method for controlling multiple mobile robots, wherein each of the multiple mobile robots periodically performs the step of outputting the movement position trajectory, error information, and movement amount to the management server.
前記第二探索範囲における前記第二のロボットからのセンサ情報は、前記第二のロボットが認識した前記第一のロボットの位置情報である
複数移動ロボットの制御方法。 In the control method for multiple mobile robots according to claim 1 ,
A method for controlling multiple mobile robots, wherein the sensor information from the second robot in the second search range is the position information of the first robot as recognized by the second robot.
前記位置情報は、前記第一のロボットの外観情報を用いたテンプレートマッチング、点群マッチング、ARマーカ画像認識、深層学習による認識のいずれかによって推定した情報である
複数移動ロボットの制御方法。 In the control method for multiple mobile robots according to claim 7 ,
The position information is information estimated by one of the following methods using the appearance information of the first robot: template matching, point cloud matching, AR marker image recognition, or deep learning recognition. A method for controlling multiple mobile robots.
各々の前記ステップは、独立した計算機上、または前記移動ロボットに搭載された計算機上で自律分散的に実行される
複数移動ロボットの制御方法。 In the control method for multiple mobile robots according to claim 1 ,
A method for controlling multiple mobile robots, wherein each of the aforementioned steps is performed autonomously and in a distributed manner on an independent computer or on a computer mounted on the mobile robot.
前記第二のロボットを観測可能な位置に前記第三のロボットを配置するステップを更に有するThe method further comprises the step of positioning the third robot in a location where the second robot can be observed.
複数移動ロボットの制御方法。A method for controlling multiple mobile robots.
第一のロボットの現在位置が不明な場合に、前記第一のロボットの過去の移動位置軌跡、前記第一のロボットの過去の位置推定における誤差情報、および移動量に基づいて、前記第一のロボットについての第一探索範囲を決定するステップと、
前記第一のロボットとは異なる第二のロボットに対して、前記第一探索範囲の探索指令を送信するステップと、
前記第一探索範囲における前記第二のロボットからのセンサ情報を受信し、前記第一のロボットの現在位置を推定するステップと、を有し、
前記第一のロボットの現在位置を推定するステップでは、
前記第一探索範囲における前記第二のロボットからのセンサ情報を受信し、未知物体を抽出して、前記未知物体の周辺に第二探索範囲を限定し、前記第二のロボットに対して前記第二探索範囲の探索指令を送信し、
前記第二探索範囲における前記第二のロボットからのセンサ情報を受信し、前記第一のロボットの現在位置を推定し、
第三のロボットの走行経路を、前記第一探索範囲および前記第二探索範囲を除いて設定する
プログラム。 A computer that controls multiple mobile robots equipped with sensors,
When the current position of the first robot is unknown, the first steps include determining a first search range for the first robot based on the past movement trajectory of the first robot, error information in the past position estimation of the first robot, and the amount of movement,
The steps include transmitting a search command for the first search range to a second robot, which is different from the first robot,
The step of receiving sensor information from the second robot in the first search range and estimating the current position of the first robot ,
In the step of estimating the current position of the first robot,
The system receives sensor information from the second robot within the first search range, extracts an unknown object, limits the second search range to the area around the unknown object, and transmits a search command for the second search range to the second robot.
The sensor information from the second robot in the second search range is received, and the current position of the first robot is estimated.
A program that sets the travel path of the third robot, excluding the first and second search ranges .
第一のロボットの現在位置が不明な場合に、前記第一のロボットの過去の移動位置軌跡、前記第一のロボットの過去の位置推定における誤差情報、および移動量に基づいて、前記第一のロボットについての第一探索範囲を決定する第一探索範囲決定部と、
前記第一のロボットとは異なる第二のロボットに対して、前記第一探索範囲の探索指令を送信する探索指令送信部と、
前記第一探索範囲における前記第二のロボットからのセンサ情報を受信し、前記第一のロボットの現在位置を推定する推定部と、を有し、
前記推定部は、
前記第一探索範囲における前記第二のロボットからのセンサ情報を受信し、未知物体を抽出して、前記未知物体の周辺に第二探索範囲を限定し、前記第二のロボットに対して前記第二探索範囲の探索指令を送信し、
前記第二探索範囲における前記第二のロボットからのセンサ情報を受信し、前記第一のロボットの現在位置を推定し、
第三のロボットの走行経路を、前記第一探索範囲および前記第二探索範囲を除いて設定する
複数移動ロボット制御システム。 A system for controlling multiple mobile robots equipped with sensors,
When the current position of the first robot is unknown, a first search range determination unit determines a first search range for the first robot based on the past movement trajectory of the first robot, error information in the past position estimation of the first robot, and the amount of movement;
A search command transmission unit transmits a search command for the first search range to a second robot, which is different from the first robot,
It includes an estimation unit that receives sensor information from the second robot in the first search range and estimates the current position of the first robot,
The estimation unit,
The system receives sensor information from the second robot within the first search range, extracts an unknown object, limits the second search range to the area around the unknown object, and transmits a search command for the second search range to the second robot.
The sensor information from the second robot in the second search range is received, and the current position of the first robot is estimated.
A multi-robot control system that sets the travel path of a third robot excluding the first and second search ranges .
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022117848A JP7847501B2 (en) | 2022-07-25 | 2022-07-25 | Method, program, and control system for multiple mobile robots. |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022117848A JP7847501B2 (en) | 2022-07-25 | 2022-07-25 | Method, program, and control system for multiple mobile robots. |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2024015640A JP2024015640A (en) | 2024-02-06 |
| JP7847501B2 true JP7847501B2 (en) | 2026-04-17 |
Family
ID=89772621
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2022117848A Active JP7847501B2 (en) | 2022-07-25 | 2022-07-25 | Method, program, and control system for multiple mobile robots. |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7847501B2 (en) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010003240A (en) | 2008-06-23 | 2010-01-07 | Fujitsu Ltd | Rescue robot system, rescue method, and rescue robot |
| WO2014049856A1 (en) | 2012-09-28 | 2014-04-03 | 株式会社日立製作所 | Autonomous moving apparatus and autonomous movement system |
-
2022
- 2022-07-25 JP JP2022117848A patent/JP7847501B2/en active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010003240A (en) | 2008-06-23 | 2010-01-07 | Fujitsu Ltd | Rescue robot system, rescue method, and rescue robot |
| WO2014049856A1 (en) | 2012-09-28 | 2014-04-03 | 株式会社日立製作所 | Autonomous moving apparatus and autonomous movement system |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2024015640A (en) | 2024-02-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN111837083B (en) | Information processing device, information processing method and storage medium | |
| CN106541404B (en) | A kind of Robot visual location air navigation aid | |
| EP3118705B1 (en) | Map production method, mobile robot, and map production system | |
| US20190114798A1 (en) | Methods for finding the perimeter of a place using observed coordinates | |
| CN102596517A (en) | Control method for localization and navigation of mobile robot and mobile robot using same | |
| KR102481615B1 (en) | Method and system for collecting data | |
| KR102631315B1 (en) | System capable of correcting location errors using real-time analysis and contrast between vision data and lidar data for the implementation of simultaneous localization and map-building technology | |
| KR101341204B1 (en) | Device and method for estimating location of mobile robot using raiser scanner and structure | |
| CN113112478B (en) | Pose recognition method and terminal equipment | |
| US20240012394A1 (en) | Location tracking system in factory and method thereof | |
| Alves et al. | Localization and navigation of a mobile robot in an office-like environment | |
| KR20240134859A (en) | Precise height estimation using sensor fusion | |
| JP7575342B2 (en) | Sensor information sharing method and sensor information sharing system | |
| JP7847501B2 (en) | Method, program, and control system for multiple mobile robots. | |
| Noaman et al. | Landmarks exploration algorithm for mobile robot indoor localization using VISION sensor | |
| WO2026032106A1 (en) | Rapid three-dimensional reconstruction method for swarm devices | |
| Cho et al. | Map based indoor robot navigation and localization using laser range finder | |
| Sohn et al. | Localization system for mobile robot using wireless communication with IR landmark | |
| WO2021049227A1 (en) | Information processing system, information processing device, and information processing program | |
| CN113841068A (en) | Information processing apparatus, information processing method, and information processing program | |
| CN118706106A (en) | A positioning method for a mobile robot in a dynamic channel of an electric mobile shelf | |
| Chathuranga et al. | Sensor deck development for sparse localization and mapping for micro UAVs to assist in disaster response | |
| JP7696818B2 (en) | Location Estimation System | |
| JP2018014064A (en) | Indoor self-propelled robot position measurement system | |
| JP7605415B1 (en) | Position estimation device, information terminal, position estimation program, and position estimation method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20250225 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20251022 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20251202 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20251215 |
|
| 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: 20260331 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20260407 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7847501 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |