JP2023167780A - Robot control system, transport system, and robot control method - Google Patents
Robot control system, transport system, and robot control method Download PDFInfo
- Publication number
- JP2023167780A JP2023167780A JP2022079239A JP2022079239A JP2023167780A JP 2023167780 A JP2023167780 A JP 2023167780A JP 2022079239 A JP2022079239 A JP 2022079239A JP 2022079239 A JP2022079239 A JP 2022079239A JP 2023167780 A JP2023167780 A JP 2023167780A
- Authority
- JP
- Japan
- Prior art keywords
- information
- angular velocity
- robot
- velocity
- self
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 95
- 238000004364 calculation method Methods 0.000 claims abstract description 30
- 230000033001 locomotion Effects 0.000 claims description 14
- 230000001133 acceleration Effects 0.000 claims description 9
- 230000004397 blinking Effects 0.000 claims description 3
- 238000012937 correction Methods 0.000 description 136
- 230000008569 process Effects 0.000 description 71
- 230000000007 visual effect Effects 0.000 description 22
- 238000012545 processing Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 15
- 230000014509 gene expression Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
Landscapes
- Engineering & Computer Science (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
Description
本発明は、ロボットの自己位置を補正する技術に関する。 The present invention relates to a technique for correcting the self-position of a robot.
無人搬送車(AGV:Automatic Guided Vehicle)の自己位置推定方式として、複数の自己位置推定方式を組み合わせて精度向上やロバスト性の向上を行う方式、例えば、画像特徴点を用いたVisual SLAM(SLAM:Simultaneous Localization and Mapping)方式(第1の自己位置推定方式)と、車輪回転情報(エンコーダ情報)を用いたWheel Odometry(以下、オドメトリ)方式(第2の自己位置推定方式)を組み合わせる技術が知られている。 As a self-position estimation method for automatic guided vehicles (AGVs), there are methods that combine multiple self-position estimation methods to improve accuracy and robustness, such as Visual SLAM (SLAM) using image feature points. A technology is known that combines a Simultaneous Localization and Mapping method (first self-position estimation method) and a wheel odometry method (hereinafter referred to as odometry) using wheel rotation information (encoder information) (second self-position estimation method). ing.
特許文献1には、画像処理方式の自己位置推定処理により得られる第1の自己位置と、オドメトリ方式の自己位置推定処理により得られる第2の自己位置との算出精度マップを予め作成しておき、算出精度マップに記された算出精度を用いて、第1の自己位置と第2の自己位置との組み合わせ比率を決定する自己位置推定方式が開示されている。
一方、特許文献1の図5によると、所定数以上のランドマークが検出できなかった場合、即ち、第1の自己位置がエラーにより得られなかった場合は、第2の自己位置のみを用いて自己位置の推定を行う方式が開示されている。
On the other hand, according to FIG. 5 of
特許文献2、又は、非特許文献1には、画像特徴点を用いたVisual SLAMの基本機能、具体的には、連続的なカメラ画像から画像特徴点群を検出し、本特徴点群を複数フレーム間にわたりトラッキングすることで自己位置を推定しながら、地図を作成する機能が開示されている。さらには、Visual SLAMの基本機能を用いて作成した地図に対して、カメラ画像を照合することにより高精度で自己位置を推定する機能についても開示されている。
特許文献1には、第1の自己位置がエラーにより得られない場合は第2の自己位置のみを用いて自己位置推定を行う方式が開示されている。オドメトリ方式の自己位置推定処理により得られる第2の自己位置は、路面(又は床面)の摩擦や凸凹あるいは車輪の損耗などの影響を受けやすく、画像処理方式の自己位置推定処理により得られる第1の自己位置よりも位置推定の精度が低い。
そのため、第2の自己位置を使用すると、エラーが発生しなかった場合に得られたであろう第1の自己位置に対して誤差が累積していくという課題があった。 Therefore, when the second self-position is used, there is a problem in that errors accumulate with respect to the first self-position that would have been obtained if no error occurred.
そこで本発明は、上記問題点に鑑みてなされたもので、種類の異なる第1のセンサと第2のセンサを有するロボットを制御する際に、第1のセンサから算出した第1の自己位置が利用できない場合に第2のセンサから算出した情報を用いて自己位置を推定する精度を向上させることを目的とする。 The present invention has been made in view of the above-mentioned problems, and when controlling a robot having a first sensor and a second sensor of different types, the first self-position calculated from the first sensor is It is an object of the present invention to improve the accuracy of estimating one's own position using information calculated from a second sensor when the second sensor is unavailable.
本発明は、プロセッサとメモリを有するサーバが移動ロボットの位置を推定するロボット制御システムであって、前記移動ロボットは、前記移動ロボットの走行状態から第1のセンシング情報を取得する第1のセンサ部と、前記第1のセンサ部とは異なるセンサを有して前記移動ロボットの走行状態から第2のセンシング情報を取得する第2のセンサ部と、を有し、前記サーバは、前記第1のセンシング情報から得られる第1の位置と当該第1の位置における第1の姿勢を含む第1の走行状態の情報と、前記第2のセンシング情報から得られる前記移動ロボットの第2の速度及び第2の角速度の情報を含む第2の走行状態の情報と、の対応関係を示す対応関係情報を、前記第1の位置と関連付けて格納する記憶部と、前記第1の走行状態の情報及び前記第2の走行状態の情報に基づいて前記移動ロボットの推定位置を算出可能な演算部と、を有し、前記演算部は、前記第1のセンサ部から取得した第1のセンシング情報に基づいて前記第1の位置と前記第1の姿勢の情報を算出し、前記第1の位置の算出の際にエラーが生じた場合には、前記第2のセンシング情報から取得した第2の走行状態の情報と前記対応関係情報に基づいて前記移動ロボットの推定位置を算出する。 The present invention is a robot control system in which a server having a processor and a memory estimates the position of a mobile robot, wherein the mobile robot has a first sensor unit that acquires first sensing information from the traveling state of the mobile robot. and a second sensor unit that has a sensor different from the first sensor unit and acquires second sensing information from the running state of the mobile robot, and the server has information on a first running state including a first position and a first attitude at the first position obtained from sensing information; and a second speed and a second speed of the mobile robot obtained from the second sensing information. a storage unit that stores correspondence relationship information indicating a correspondence relationship between information on a second running state including information on an angular velocity of the second drive state in association with the first position; a calculation unit capable of calculating an estimated position of the mobile robot based on information on a second running state, the calculation unit configured to calculate an estimated position of the mobile robot based on the first sensing information acquired from the first sensor unit. Information on the first position and the first posture is calculated, and if an error occurs when calculating the first position, information on the second driving state acquired from the second sensing information is calculated. An estimated position of the mobile robot is calculated based on the information and the correspondence information.
したがって、本発明は、第1のセンサ部の第1のセンシング情報から第1の位置がエラーによって得られなかった場合でも、第2のセンサ部の第2のセンシング情報と対応関係情報の速度比及び角速度比を用いて第1の位置と同等の精度で移動ロボットの位置を算出することができる。 Therefore, in the present invention, even if the first position cannot be obtained from the first sensing information of the first sensor unit due to an error, the speed ratio of the second sensing information of the second sensor unit and the correspondence information The position of the mobile robot can be calculated using the angular velocity ratio and the angular velocity ratio with the same accuracy as the first position.
本明細書において開示される主題の、少なくとも一つの実施の詳細は、添付されている図面と以下の記述の中で述べられる。開示される主題のその他の特徴、態様、効果は、以下の開示、図面、請求項により明らかにされる。 The details of at least one implementation of the subject matter disclosed herein are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages of the disclosed subject matter will be apparent from the following disclosure, drawings, and claims.
以下、図面を参照して本発明の実施形態を説明する。実施例は、本発明を説明するための例示であって、説明の明確化のため、適宜、省略及び簡略化がなされている。本発明は、他の種々の形態でも実施することが可能である。特に限定しない限り、各構成要素は単数でも複数でも構わない。図面において示す各構成要素の位置、大きさ、形状、範囲などは、発明の理解を容易にするため、実際の位置、大きさ、形状、範囲などを表していない場合がある。このため、本発明は、必ずしも、図面に開示された位置、大きさ、形状、範囲などに限定されない。 Embodiments of the present invention will be described below with reference to the drawings. The examples are illustrative for explaining the present invention, and are omitted and simplified as appropriate for clarity of explanation. The present invention can also be implemented in various other forms. Unless specifically limited, each component may be singular or plural. The position, size, shape, range, etc. of each component shown in the drawings may not represent the actual position, size, shape, range, etc. in order to facilitate understanding of the invention. Therefore, the present invention is not necessarily limited to the position, size, shape, range, etc. disclosed in the drawings.
各種情報の例として、「テーブル」、「リスト」、「キュー」等の表現にて説明することがあるが、各種情報はこれら以外のデータ構造で表現されてもよい。例えば、「XXテーブル」、「XXリスト」、「XXキュー」等の各種情報は、「XX情報」としてもよい。識別情報について説明する際に、「識別情報」、「識別子」、「名」、「ID」、「番号」等の表現を用いるが、これらについてはお互いに置換が可能である。 Examples of various types of information will be described using expressions such as "table," "list," and "queue," but various information may also be expressed using data structures other than these. For example, various information such as "XX table", "XX list", "XX queue", etc. may be referred to as "XX information". When describing identification information, expressions such as "identification information", "identifier", "name", "ID", and "number" are used, but these expressions can be replaced with each other.
同一あるいは同様の機能を有する構成要素が複数ある場合には、同一の符号に異なる添え字を付して説明する場合がある。また、これらの複数の構成要素を区別する必要がない場合には、添え字を省略して説明する場合がある。 When there are multiple components having the same or similar functions, the same reference numerals may be given different suffixes for explanation. Furthermore, if there is no need to distinguish between these multiple components, the subscripts may be omitted from the description.
実施例において、プログラムを実行して行う処理について説明する場合がある。ここで、計算機は、プロセッサ(例えばCPU、GPU)によりプログラムを実行し、記憶資源(例えばメモリ)やインターフェースデバイス(例えば通信ポート)等を用いながら、プログラムで定められた処理を行う。そのため、プログラムを実行して行う処理の主体を、プロセッサとしてもよい。同様に、プログラムを実行して行う処理の主体が、プロセッサを有するコントローラ、装置、システム、計算機、ノードであってもよい。プログラムを実行して行う処理の主体は、演算部であればよく、特定の処理を行う専用回路を含んでいてもよい。ここで、専用回路とは、例えばFPGA(Field Programmable Gate Array)やASIC(Application Specific Integrated Circuit)、CPLD(Complex Programmable Logic Device)等である。 In the embodiments, processing performed by executing a program may be explained. Here, a computer executes a program using a processor (eg, CPU, GPU), and performs processing determined by the program using storage resources (eg, memory), interface devices (eg, communication port), and the like. Therefore, the main body of processing performed by executing a program may be a processor. Similarly, the subject of processing performed by executing a program may be a controller, device, system, computer, or node having a processor. The main body of the processing performed by executing the program may be an arithmetic unit, and may include a dedicated circuit that performs specific processing. Here, the dedicated circuit is, for example, an FPGA (Field Programmable Gate Array), an ASIC (Application Specific Integrated Circuit), or a CPLD (Complex Programmable Logic Device).
プログラムは、プログラムソースから計算機にインストールされてもよい。プログラムソースは、例えば、プログラム配布サーバ又は計算機が読み取り可能な記憶メディアであってもよい。プログラムソースがプログラム配布サーバの場合、プログラム配布サーバはプロセッサと配布対象のプログラムを記憶する記憶資源を含み、プログラム配布サーバのプロセッサが配布対象のプログラムを他の計算機に配布してもよい。また、実施例において、2以上のプログラムが1つのプログラムとして実現されてもよいし、1つのプログラムが2以上のプログラムとして実現されてもよい。 A program may be installed on a computer from a program source. The program source may be, for example, a program distribution server or a computer-readable storage medium. When the program source is a program distribution server, the program distribution server includes a processor and a storage resource for storing the program to be distributed, and the processor of the program distribution server may distribute the program to be distributed to other computers. Furthermore, in the embodiments, two or more programs may be implemented as one program, or one program may be implemented as two or more programs.
本発明は、自律的に走行する無人搬送車が、第1のセンサから算出した第1の自己位置(自己位置1)がエラーにより得られなかった場合でも、第2のセンサから算出した走行状態から第1の自己位置と同等の精度で自己位置を復元するものである。 The present invention provides an automatic guided vehicle that runs autonomously, even if the first self-position (self-position 1) calculated from the first sensor cannot be obtained due to an error, the driving state calculated from the second sensor The self-position is restored from the first self-position with the same accuracy as the first self-position.
なお、無人搬送車(AGV:Automatic Guided Vehicle)を本実施例ではロボットと表記する。また、第1のセンサと第2のセンサは種類が異なるセンサで構成され、かつ、第1のセンサから算出する位置精度は、第2のセンサから算出する位置精度よりも高いものとする。 Note that an automatic guided vehicle (AGV) is referred to as a robot in this embodiment. Further, it is assumed that the first sensor and the second sensor are composed of different types of sensors, and the positional accuracy calculated from the first sensor is higher than the positional accuracy calculated from the second sensor.
図1Aを用いて自己位置の復元方式について説明する。図1Aに示す式100は2輪差動駆動型のロボット300の運動モデルである。ロボット300はX-Yの2次元空間を走行し、旋回によって進行方向を変更する。ロボット300は、位置をx、yの座標で示し、向きをθ、速度をν、角速度をωで示す。
The self-position restoration method will be explained using FIG. 1A.
上記の式100は、時刻t=1,2,3,4,…の状態におけるロボット300の位置と姿勢(x(t-1),y(t-1),θ(t-1))、速度(ν(t))、角速度(ω(t))を入力とし、次のステップ(時刻)のロボット300の位置と姿勢(x(t),y(t),θ(t))を算出する式、即ち、ロボット300の軌跡を表現する式である。
The
なお、本実施例では、式100中のような変数xと下付き添え字tをx(t)と表記する。変数y,θ等と下付き添え字についても同様にy(t)、θ(t)と表記する。また下付き添え字(t)を省略する場合もある。
In this embodiment, the variable x and the subscript t in
図1Bは、ロボット300の軌跡と自己位置の関係を示す図である。図中軌跡101は第1のセンサ(後述)から得られる速度1(ν1)、角速度1(ω1)(110)から計算される自己位置1の軌跡である。軌跡102は第2のセンサから得られる速度2(ν2)、角速度2(ω2)(111)から計算される自己位置2の軌跡である。
FIG. 1B is a diagram showing the relationship between the trajectory of the
自己位置1用のセンサは高精度であるが、自己位置1を見失う自己位置ロストと呼ばれるエラーが発生しやすい。一方、自己位置2用のセンサはエラーを発生しないが、自己位置に誤差が生じやすい。
Although the sensor for self-
このように性能や精度の異なる2種類のセンサから得られる速度と角速度は必ずしも一致しないので、両者の軌跡にはズレ103が生じる。ズレ103は、各ステップ(t=1,2,3,4,…)において入力される、速度1(ν1)と速度2(ν2)の差と、角速度1(ω1)と角速度2(ω2)の差に起因する距離が累積したものである。 As described above, since the velocity and angular velocity obtained from two types of sensors having different performance and accuracy do not necessarily match, a deviation 103 occurs in the trajectories of the two. The deviation 103 is the difference between velocity 1 (ν1) and velocity 2 (ν2), and angular velocity 1 (ω1) and angular velocity 2 (ω2), which are input at each step (t=1, 2, 3, 4, ...). It is the cumulative distance caused by the difference between
仮に上記軌跡101、102を完全にマッチさせるには、図1Bの式112に示すように、速度2(ν2)=速度1(ν1)、角速度2(ω2)=角速度1(ω1)となるような、速度比(ν1/ν2)、角速度比(ω1/ω2)を速度2(ν2)、角速度比(ω2)をそれぞれ乗算すればよい。
In order to perfectly match the
しかし、実際には軌跡101と軌跡102を完全マッチさせることは困難であるため、以下の手法により軌跡の近似を試みる。
However, in reality, it is difficult to perfectly match the
まず、自己位置1が正常に得られたときの速度比(ν1/ν2)と角速度比(ω1/ω2)を、ロボット300の位置と姿勢、速度2、角速度2(x,y,θ,ν2,ω2)と紐づけてデータベース(以下、DB)の補正情報へ登録しておく。
First, the speed ratio (ν1/ν2) and angular velocity ratio (ω1/ω2) when self-
そして、自己位置1がエラー等により得られなかった場合に、DBに登録してある速度比、角速度比の中から現在のロボットの状態(x,y,θ,ν2,ω2)に最も近い速度比、角速度比を検索して補正に用いる。具体的には、エラーが発生しなかった場合に得られたであろう速度1と角速度1を以下の式で近似して算出する。
If self-
速度1(近似)=速度2×DBから検索により得られた速度比
角速度1(近似)=角速度2×DBから検索により得られた角速度比
Velocity 1 (approximation) =
上記式から算出された速度1(近似)と角速度1(近似)を上記式100に適用することで、自己位置1(近似)が計算できる。したがって、本手法により、自己位置1がエラーにより得られなかった場合でも、自己位置2における速度及び角速度から自己位置1と同等精度の自己位置(補正自己位置)が復元できる。なお、自己位置2は、ロボット300が自己位置1を取得するタイミングでエラーが発生したときの位置及び向きを示す。
By applying velocity 1 (approximation) and angular velocity 1 (approximation) calculated from the above equation to
本発明の実施例におけるロボット300及びロボット制御システムのハードウェア構成について図3A~図3Cを用いて説明する。図3Aは、ロボット制御システムのハードウェアの一例を示すブロック図である。図3Bは、ロボット300の斜視図で、図3Cは、ロボット300の側面図である。
The hardware configuration of the
本発明のロボット制御システムはロボット300とサーバ320で構成される。なお本実施例では、ロボット1台、サーバ1台のシンプルな例で説明するが、複数台のロボット300と複数台のサーバ1による大規模なロボット制御システムへも適用可能である。
The robot control system of the present invention is composed of a
ロボット300は、物流倉庫で荷物の搬送を目的とする無人搬送車(AGV:Automatic Guided Vehicle)である。ロボット300は、ステレオカメラ301、車輪303(駆動輪)、エンコーダ302、荷物を昇降するためのリフター304、車輪駆動用の車輪モータ306、バッテリ305、PC1(307)、電源308及び荷重を支持する従動輪(図示省略)より構成される。
The
PC1(307)は、CPU、メモリ、SSD(Solid State Drive)等のストレージ装置及びWiFi(又は無線通信部)等で構成される周知のコンピュータである。本実施例のロボット300は2個の車輪303で直進、回転を行う差動二輪型ロボットであり、車輪303、エンコーダ302、車輪モータ306を各2セット含んでいる。
The PC 1 (307) is a well-known computer that includes a CPU, a memory, a storage device such as an SSD (Solid State Drive), and WiFi (or a wireless communication unit). The
なお、2つの車輪303は直進方向に対して並列に配置され、2つのエンコーダ302がそれぞれ取り付けられている。バッテリ305は車輪モータ306へ電力を供給し、電源308はPC1(307)に電力を供給する。
Note that the two
サーバ320は、PC2(321)、電源322により構成される。PC2(321)は、CPU,メモリ、SSD、WiFi等で構成される周知のコンピュータである。
ロボット300とサーバ320とは無線LANで接続されており、所定のプロトコル(例えば、TCP)で通信することが可能である。
The server 320 includes a PC 2 (321) and a
The
本実施例のロボット300には自己位置を認識するためのセンサが2種類搭載されている。第1のセンサはステレオカメラ301である。本実施例ではサーバ320がステレオカメラ301の画像から非特許文献1に記載されているVisual SLAMの機能を用いて自己位置(自己位置1)を計算する。Visual SLAM機能については後述する。
The
第2のセンサは一対のエンコーダ302である。一対のエンコーダ302からは左右の車輪303の回転角度が得られ、サーバ320はエンコーダ値から速度及び角速度を計算する。自己位置1の計算方法については後述する。
The second sensor is a pair of
次に本発明の実施例1におけるロボット300及びロボット制御システムのソフトウェア構成について図4を用いて説明する。図4は、ロボット制御システムのソフトウェアの一例を示すブロック図である。
Next, the software configuration of the
図中ブロック400はロボット300で稼働するソフトウェア構成を示し、ブロック420はサーバ320で稼働するソフトウェア構成である。これらのソフトウェアは図示しないLinux OSの上で稼働する。
In the figure, block 400 shows the software configuration that runs on the
まず、自己位置1を算出する手法について説明する。画像取得及び配信部401は、ステレオカメラ301からステレオ画像を取得し、Visual SLAM422へ配信するプログラムである。
First, a method for calculating self-
Visual SLAM422は、ステレオ画像から抽出した画像特徴点を用いて自己位置1を算出するプログラムで、自己位置1算出部として機能する。代表的なVisual SLAMプログラムとして前記非特許文献1の「OpenVSLAM: A Versatile Visual SLAM Framework」が挙げられる。
本プログラムは地図作成と自己位置推定を同時実行するモードと、前記モードで作成した地図を読み込んで、地図とカメラ画像を照合することで自己位置推定を実行するモードを有している。本実施例におけるVisual SLAM422は、後者のモードで稼働することを想定している。
This program has a mode in which map creation and self-position estimation are executed simultaneously, and a mode in which self-position estimation is executed by reading the map created in the above mode and comparing the map with the camera image. The
具体的には、Visual SLAM422は、予め作成しておいた地図421を読み込んで、地図421とステレオカメラ301から得られたステレオ画像とを照合して自己位置1の推定を行う。
Specifically, the
Visual SLAM422は、プログラム処理の結果として自己位置1とエラー信号を出力する。自己位置1は(x、y、θ)で表される。x、yは地図421上のロボット300の座標を示し、θはロボット300の向きである(図1Aの式100)。
The
エラー信号は、地図421とステレオカメラ画像との照合に失敗した場合にVisual SLAM422から出力される。即ち、Visual SLAM422は、自己位置1が得られなかった場合はエラー信号に「1」を設定し、自己位置1が得られた場合はエラー信号に「0」を設定して出力する。自己位置1とエラー信号は、例えば、1秒間に30回の頻度で、自己位置補正部426へ配信される。
The error signal is output from the
次に、エンコーダ302から速度2、角速度2を算出する手法について説明する。エンコーダ値取得及び配信部402は、車輪303の回転角度を表すエンコーダ値をエンコーダ302から読み取り、速度2及び角速度2算出部423へ配信するプログラムである。
Next, a method of calculating
速度2及び角速度2算出部423は、左右それぞれの車輪303のエンコーダ値を、1秒間に100回程度取得して配信する。速度2及び角速度2算出部423では、単位時間あたりのエンコーダ値の増加量又は減少量から各車輪303の単位時間あたりの走行距離を算出する。
The
車輪303が1回転(360度)したときの走行距離は、車輪303の直径×円周率で計算できるので、車輪303の回転角度をエンコーダ302の出力から算出することでロボット300の走行距離が計算できる。
The distance traveled when the
速度2及び角速度2算出部423では、左車輪の走行距離をdl、右車輪の走行距離をdrとした場合のロボット300の速度2(ν2)、角速度2(ω2)を図2の式200から算出して、速度2(ν2)、角速度2(ω2)を自己位置補正部426へ配信する。
The
自己位置補正部426はVisual SLAM422から配信される自己位置1及びエラー信号と、速度2及び角速度2算出部423から配信される速度2、角速度2を入力とし、データベース(DB)425に格納された補正情報702を用いて、自己位置1がエラーにより得られなかった場合に、補正自己位置(推定位置及び推定姿勢)を出力するプログラムである。本プログラムの詳細については後述する。
The self-
一方、経路追従プログラム427は、補正自己位置と経路情報を用いて、ロボット300を予め設定された経路に従って走行させるプログラムである。経路追従プログラム427は車輪モータ306の駆動を行うための情報を生成し、モータ駆動情報配信部424とモータ駆動部403を介して、車輪モータ306を駆動する。なお、経路追従プログラム427、モータ駆動情報配信部424、モータ駆動部403は周知又は公知の技術を適用すればよいので、詳細機能についての説明は割愛する。以上がソフトウェアブロックの説明である。
On the other hand, the
次に、図5を用いて、自己位置補正部426が行う処理の詳細を説明する。図5は、自己位置補正処理の一例を示すフローチャートである。本処理は、メインループ処理(500)と補正情報登録処理510と自己位置補正処理520の3つの処理からなる。
Next, details of the process performed by the self-
補正情報登録処理510は、エラー信号が「1」となった場合に速度及び角速度から第1の自己位置(自己位置1)と同等の精度の自己位置(補正自己位置)を復元するための補正情報702(図7C参照)を登録する処理であり、自己位置補正処理520は、登録された補正情報を用いて自己位置を補正する処理である。
Correction
まず初めに、メインループ処理(開始500から終了508)について説明する。プログラムは開始500より開始され、後続する処理501において、自己位置補正部426は変数「前回自己位置」を(0、0、0)に初期化する。「前回自己位置」は、ロボット300の位置と姿勢(x、y、θ)を表す変数であり、1ステップ前のロボット300の位置と姿勢が格納されている。
First, the main loop processing (from
次の処理502において、自己位置補正部426は、自己位置1とエラー信号を受信するまで待機する。自己位置1とエラー信号は、例えば、Visual SLAM422から1秒間に30回の頻度で送信される。
In the
自己位置1は、Visual SLAM422から得られたロボット300の位置と姿勢(x、y、θ)である。エラー信号は、「0」の場合はエラーが発生していないことを示し、「1」の場合はエラー発生のため自己位置1には無効な値が設定されていることを示す信号である。
Self-
自己位置補正部426は、自己位置1とエラー信号を受信した後、処理503へ進む。処理503では自己位置補正部426が速度2及び角速度2算出部423から送信される速度2と角速度2を取得する。速度2と角速度2は、前述のとおり、車輪303の回転情報から計算されたロボット300の速度2と角速度2である。
After receiving the self-
処理504ではエラー信号が「0」(エラーが発生せずに自己位置1が得られた)、かつ、DB登録フラグ(後述)が「1」(データベース425の補正情報702へ登録を行う)の条件を判定し、判定結果がYesの場合、補正情報登録処理510が実行される。
In
DB登録フラグは、プログラム起動引数でユーザが「0」又は「1」を指定することを想定しているが、プログラム実行中に、所定の条件に従って「0」又は「1」へ設定してもよい。補正情報登録処理510の詳細については後述する。
The DB registration flag is assumed to be specified by the user as "0" or "1" in the program startup argument, but it is not possible to set it to "0" or "1" according to predetermined conditions during program execution. good. Details of the correction
処理504の判定結果がNoの場合、処理505において、自己位置補正処理520を実行するか否かの判定が行われる。具体的には、エラー信号が「1」(エラーが発生し自己位置1が得られなかった)の場合、自己位置補正処理520が実行される。自己位置補正処理520の詳細については後述する。
If the determination result in
次の処理506では、自己位置1を次のステップにおいて前回自己位置として用いるために、自己位置補正部426は前回自己位置を更新する。また、自己位置補正部426は自己位置1を補正自己位置として出力する。補正自己位置は、自己位置補正処理520で補正後のロボット300の位置と姿勢(x、y、θ)であり、エラー信号=「0」の場合は、補正を行わない自己位置1となる。
In the
次の処理507では、プログラム終了判定が実行され、Yesの場合は終了508へ進み、プログラムは終了する。Noの場合は、処理502に戻り、プログラムは続行される。プログラム終了判定は、自己位置補正部426が予め設定された終了条件を満たしたか否かを判定する。
In the
本実施例では処理502から処理507までの一連の処理を1ステップと表記する。1ステップは、例えば、自己位置1の受信周期である30分の1秒周期で実行される。以上がメインループの処理である。
In this embodiment, a series of processes from
次に補正情報登録処理510について説明する。処理504においてエラーが発生せずに正しく自己位置1が得られ、かつDB登録フラグに「1」(有効)がセットされている場合、本処理が実行される。
Next, the correction
処理511では、自己位置補正部426が次の式201を用いて、前回自己位置と自己位置1から速度1(ν1)、角速度1(ω1)を各時刻tにおいて計算する。
In
具体的には、前回自己位置=(x(t-1)、y(t-1)、θ(t-1))とし、自己位置1=(x(t)、y(t)、θ(t))とし、Δt=30分の1秒を上記式201へ代入して、速度1(ν1)、角速度1(ν1)を計算する。
Specifically, the previous self-position = (x (t-1), y (t-1), θ (t-1)), and the self-
次の処理512では、自己位置補正部426が速度1と速度2から速度比を、角速度1と角速度2から角速度比を計算する。さらに、次の処理513では、自己位置補正部426が速度比と角速度比を、前回自己位置(x(t-1)、y(t-1)、θ(t-1))、速度2(ν2)、角速度2(ω2)へ紐づけてDB425の補正情報702に登録する。以上が補正情報登録処理510である。
In the
次に、自己位置補正処理520について説明する。自己位置補正処理520は、処理505において、エラーが発生して自己位置1が得られなかった場合に本処理が実行される。
Next, self-
処理521では、自己位置補正部426が前回自己位置(x、y、θ)、速度2(ν2)、角速度2(ω2)を検索キーとして、最もマッチする速度比、角速度比をDB425の補正情報702から検索する。本処理の詳細については後述する。
In
検索結果として速度比、角速度比が得られた場合、処理522の判定においてYes側に分岐する。速度比及び角速度比が得られなかった場合は、No側に分岐し、処理532において、速度比=1.0と角速度比=1.0がセットされる。次の処理524では、エラーが発生しなかった場合に、得られたであろう速度1の推定値と角速度1の推定値を次式202を用いて計算する。
If a speed ratio and an angular velocity ratio are obtained as a search result, the process branches to the Yes side in the determination of
速度1=速度2×速度比
角速度1=角速度2×角速度比 ・・・(202)
次の処理525では、自己位置補正部426が前回自己位置、速度1の推定値、角速度1の推定値から自己位置1(推定位置及び推定姿勢)を図1の式100を用いて計算する。具体的には、(x(t-1)、y(t-1)、θ(t-1))=前回自己位置、ν(t)=速度1(ν1)、ω(t)=角速度1(ω1)、Δt=30分の1秒として自己位置1(x(t)、y(t)、θ(t))を計算する。
In the
処理525が終了すると処理506に進む。以上が自己位置補正処理520である。
When the
なお、エラーが継続して発生する場合、自己位置補正部426は自己位置1(推定位置及び推定姿勢)と、推定位置における速度2(ν2)と、推定姿勢における角速度2(ω2)で補正情報702を検索して上述したように検索結果から速度比及び角速度比を取得する。
Note that if the error continues to occur, the self-
そして、自己位置補正部426は取得した速度比及び角速度比と推定位置における速度2(ν2)と推定姿勢における角速度(ω2)とから推定位置における速度1(ν1)の推定値と推定姿勢における角速度1(ω1の推定値とを算出し、算出された推定位置における速度1(ν1)の推定値及び推定姿勢における角速度1(ω1)の推定値に基づいて、自己位置1を算出する。
Then, the self-
次に図5の処理521のDB検索処理の詳細について図6を用いて説明する。本処理は例えば、関数として実装されており、図中の引数600は当該関数の引数である。
Next, details of the DB search process of
引数の検索キーix、iy、iθにはロボット300の位置と姿勢(x、y、θ)を設定し、iν2、iω2には速度2(ν2)と角速度2(ω2)を設定し、検索範囲s1、s2、s3、s4、s5には、ix、iy、iθ、iν2、iω2の検索範囲を設定し、modeには、マッチ度の最も高い速度と角速度を返す場合はmode=0を設定し、マッチした速度、角速度の平均を返す場合はmodo=1を引数に設定して本関数を実行する。
Set the position and orientation (x, y, θ) of the
処理601では、自己位置補正部426がDB425の補正情報702に格納されている速度比、角速度比の中から、ロボット300の現在位置(x、y)付近の速度比と角速度比を次の条件式203で検索する。
In
(ix-s1<x<ix+s1) and (iy-s2<y<iy+s2)
・・(203)
(ix-s1<x<ix+s1) and (iy-s2<y<iy+s2)
...(203)
なお、s1、s2は検索キーとなる位置ix、iyの近傍(所定の範囲)のデータを検索するための定数で、予め設定される。
自己位置補正部426は、速度比と角速度比が1件でも見つかった場合は、処理602においてYes側に分岐し、見つからなかった場合はNo側に分岐する。
Note that s1 and s2 are constants for searching for data in the vicinity (predetermined range) of positions ix and iy, which are search keys, and are set in advance.
If the self-
処理603では、自己位置補正部426が上記検索でヒットした補正情報702の中から、向き、速度比、角速度比について以下の条件式204を満足するレコードをさらに絞り込んで検索する。
In
(iθ-s3 < θ < iθ+s3) and
(iν2-s4 < ν2 < iν2+s4) and
(iω2-s5 < ω2 < iω2+s5) ………(204)
(iθ−s3 < θ < iθ+s3) and
(iν2-s4 < ν2 < iν2+s4) and
(iω2-s5 < ω2 < iω2+s5) ......(204)
なお、s3、s4、s5は第2の検索キーとなる向きθ、速度2ν2、角速度2ω2の近傍(所定の範囲)のデータを検索するための定数で、予め設定される。 Note that s3, s4, and s5 are constants for searching for data in the vicinity (predetermined range) of the direction θ, velocity 2ν2, and angular velocity 2ω2, which are the second search keys, and are set in advance.
多数の検索キーを用いたDB検索は検索速度が遅くなるため、本実施例では、DB425の補正情報702を荒く検索した結果に対し、プログラム(自己位置補正部426)で絞り込み検索を行っている。絞り込み検索の結果、速度比と角速度比が1件でも見つかった場合は、処理604においてYes側に分岐し、見つからなかった場合はNo側に分岐する。
Since a DB search using a large number of search keys slows down the search speed, in this embodiment, the program (self-position correction unit 426) narrows down the search results based on the results of a rough search of the
処理605では、自己位置補正部426が検索モード(mode)により分岐する。modo=0の場合は、処理608においてマッチ度の最も高い速度比と角速度比を返す。
In
具体的には、自己位置補正部426が絞り込み検索により得られた結果のうち、各変数間のユークリッド距離が最小となる速度比と角速度比を選択して返す。
Specifically, the self-
modo=1の場合は、処理607において、自己位置補正部426が絞り込み検索により得られた結果から、速度比、角速度比の平均を算出して返す。処理602、604にてNo側に分岐した場合は、自己位置補正部426が「検索失敗」を返す。以上が、処理521のDB検索処理の詳細である。
If modo=1, in
次にロボットの動作と自己位置補正部426の例について図7A、図7Bを用いて説明する。図7Aは、ロボット300が直進する場合の補正情報の一例を示す図で、図7Bは、ロボット300が右折する場合の補正情報の一例を示す図である。
Next, an example of the operation of the robot and the self-
図7Aにおいて、軌跡700はロボットが矢印の向きに直進した例を示し、図7Bにおいて、軌跡701はロボット300が右折する例を示している。
In FIG. 7A, a
補正情報702の登録の際には、ロボット300を図中軌跡700、701に沿って図中矢印方向へ走行させながら、補正情報(前回自己位置、速度2、角速度2、速度比、角速度比)702をDB425へ登録する。
When registering the
補正情報702は走行中にロボット300から取得した位置情報(図7AのP100からP120、図7BのP200からP260)と各位置における走行状態を登録した情報である。
The
図7Cは補正情報702の一例を示す図である。補正情報702は、凡例7021、位置7022、向き7023、速度7024、速度比7025、角速度比7026及び備考7027をひとつのレコードに含む。
FIG. 7C is a diagram showing an example of
凡例7021は、サーバ320が設定した識別子を格納する。位置7022は。ロボット300の位置(x、y)を格納し、向き7023はロボット300の向きθを格納する。
The
速度7024は、エンコーダ302から得られた速度2(ν2)と角速度2(ω2)からなる検索キーを格納する。速度比7025は上記式200で算出された速度2を格納する。角速度比7026は上記式200で算出された角速度ω2を格納する。備考7027は、サーバ320が指定した事項を格納する。
The
補正情報702は、ロボット300の位置7022、向き7023、エンコーダ302から得られた速度2(ν2)、角速度2(ω2)からなる検索キーに対して、速度比7025及び角速度比7026を紐づけて格納する。
The
図示の例では説明の都合上、補正情報702の項目のうち少数しか登録されていないが、実際には、ロボット300を所定の経路に沿って走行させながら秒間30回、ロボットの走行距離に換算して約2、3cm毎に、補正情報702が登録されている。
In the illustrated example, for convenience of explanation, only a small number of the items of the
図7A、図7Bに示す補正情報(P110、P220、P230、P240)は、ほぼ同じ場所の補正情報であるが、ロボット300の向きや、速度2(ν2)、角速度2(ω2)が異なり、それぞれの状態に応じて補正情報(速度比、角速度比)が登録されている。おおまかには、図中P110は直進時の補正情報を示し、図中P210は減速時の補正情報を示し、図中P220は右回転時の補正情報、図中P240は減速しながら右回転したときの補正情報である。
The correction information (P110, P220, P230, P240) shown in FIGS. 7A and 7B is correction information for almost the same location, but the orientation of the
物流倉庫でのロボット300は予め定められた経路上を走行すると考えられる。したがって定められた経路上を走行させながら補正情報702を収集してDB425へ登録することで、エラー発生時のロボット300近傍の補正情報702が確実に得られる。
The
図8は右折等の場合の運動種別毎の補正情報の一例を示す図である。直進や右折等では、ロボット300の運動種別に応じた補正情報702が必要と考えられる。
FIG. 8 is a diagram illustrating an example of correction information for each movement type in the case of a right turn, etc. In cases such as going straight or turning right,
図中軌跡800Lと800Rはロボット300の直進時の左右の車輪303の軌跡である。軌跡801Lと801Rはロボット300の右折時の左右の車輪303の軌跡である。
エリア803は、路面の摩擦係数が小さく車輪303が滑りやすい箇所である。図示の例では、ロボットは300、直進時はエリア803の上を通過しないが、右折時は通過する。
右折時は、車輪303がスリップしやすくなるため、角速度比(ν1/ν2)が1より幾分小さくなると考えられる。一方、直進時は1に限りなく近い角速度比が得られると考えられる。したがって、ポイント802において、ロボット300の運動種別(直進、右折等)に応じた補正情報702を登録しておくことで、同じ場所であっても、直進や右折といった運動種別や路面の状態に応じて、より高い精度で自己位置を補正できると考えられる。
When turning right, the
以上のことから、本発明による実施例1において、第1の自己位置がエラーにより得られなかった場合でも、補正情報702を用いて第2の自己位置を補正することで第1の自己位置を算出することができる。その際、同じ場所であっても、ロボット300の位置と姿勢や運動種別(方向、直進、回転)に応じて高い精度で自己位置を算出することができる。
From the above, in the first embodiment of the present invention, even if the first self-position cannot be obtained due to an error, the first self-position can be obtained by correcting the second self-position using the
なお、上記実施例1では、第1のセンサとしてステレオカメラ301を採用し、第2のセンサとしてオドメトリを採用する例を示したがこれに限定されるものではなく、ロボット300の位置を高精度で検出可能であればよい。例えば、第1のセンサとしてLiDAR(Light Detection And Ranging)を採用し、ロボット300を稼働させる場所が衛星と通信可能な場所であればGNSS(Global Navigation Satellite System)を第2のセンサとしてもよい。
In the first embodiment, the
また、上記実施例1では、サーバ320で自己位置1の算出と、自己位置補正を実施して、補正後の自己位置1で車輪モータ306を駆動する例を示したが、これに限定されるものではない図示はしないが、地図421、Visual SLAM422、速度2及び角速度2算出部423、データベース425(補正情報702)、自己位置補正部426、経路追従プログラム427、モータ駆動情報配信部424をロボット300で稼働させて自己位置の補正を行うようにしてもよい。
Further, in the first embodiment, an example was shown in which the server 320 calculates the self-
また、上記実施例1は、ロボット300が荷物や商品等の物体を搬送する搬送システムに適用することができる。
Furthermore, the first embodiment can be applied to a conveyance system in which the
実施例2は、前記実施例1との差分について記す。 Example 2 describes differences from Example 1.
(1)DB425へ登録する補正情報702として、以下の項目の追加が考えられる。
(1) The following items may be added as the
項目「日時」の追加により、最新の補正情報702を選択的に検索できるようになる。また、路面の痛み具合による摩擦係数の経年変化やロボットの経年劣化等に対して、補正が可能になる。
By adding the item "date and time", it becomes possible to selectively search for the
項目「加速度」及び「角加速度」の追加により、より細かい運動種別に応じたロボット300の位置の補正が可能になる。
By adding the items "acceleration" and "angular acceleration", it becomes possible to correct the position of the
項目「積載物の重量」の追加により、ロボット300の重さで車輪303の周長が変わる場合に位置の補正が可能になる。ただし、「積載物の重量」の項目は車輪303が弾性変形する場合に適用可能である。また、車輪303が空気タイヤの場合、項目「車輪の空気圧」の追加により、車輪303の空気圧に応じて車輪303の周長が変化する場合の補正が可能になる。項目「車輪の周長」の追加により、車輪303の摩耗により車輪303の周長が変化する場合の補正が可能になる。
By adding the item "weight of load", the position can be corrected when the circumference of the
項目「車輪のトルク」の追加により、路面の摩擦係数に応じた補正が可能になる。項目「温度」、「湿度」の追加により、路面の湿り具合による補正が可能になる。 By adding the item "wheel torque", it becomes possible to make corrections according to the coefficient of friction of the road surface. By adding the items ``temperature'' and ``humidity,'' it becomes possible to make corrections based on the humidity of the road surface.
項目「ロボット固有ID」の追加により、個々のロボット300の癖や特徴に応じた補正が可能になる。
By adding the item "robot unique ID", it becomes possible to make corrections according to the habits and characteristics of each
(2)前記実施例1の図5の処理504において、前記実施例1では、速度比と角速度比のDB登録フラグを「プログラム実行中に、ある条件に従ってDB登録フラグを「0」又は「1」へ設定してもよい」と記した。DB登録フラグを動的に「1」にする条件について記す。
(2) In the
物流倉庫では、作業者の勤務時間外や休憩時間にロボット300を停止させる運用を行う場合がある。そのようなロボット300が搬送作業を行わない時間帯において、DB登録フラグ=1としてロボット300を経路上で走行させてDB425の補正情報702を更新する案が考えられる。
In a distribution warehouse, the
Visual SLAM422は、予め作成した地図421を読み込んで、地図421とステレオカメラ301から得られたステレオ画像とを照合して自己位置推定を行う。
The
具体的には、Visual SLAM422が、ステレオ画像から画像特徴点を抽出し、地図421内の特徴点(地図特徴点)と照合することで自己位置推定を行う。その際、ステレオカメラ301から得られた画像特徴点数と地図421内の特徴点数とを比較し、特徴点数に一定数以上の差が生じている場合、環境に変化が生じていると判断し、DB425の補正情報702を更新する案が考えられる。
Specifically, the
一方、常にDB登録フラグ=1として、常時、速度比、加速度比等の補正情報702を、DB425へ登録し続ける案が考えられる。
On the other hand, it is conceivable to always set the DB registration flag to 1 and continue to register the
(3)処理513のDB登録フラグに関し、速度比、角速度比以外に、これらを計算可能な速度1(ν1)、角速度1(ω1)、速度2(ν2)、角速度2(ω2)を格納することも考えられる。データベースの形態として、キーバリューストア型やJSON形等のドキュメント構造を格納する形態も考えられる。また実施例1に示したルールベースの手法だけではなく、位置情報、向き、速度(x、y、θ、ν2、ω2)を入力として速度比、角速度比を機械学習等の手法を用いて算出してもよい。
(3) Regarding the DB registration flag in
(4)前記実施例1の図5に示した自己位置補正処理520を行う際のユーザへの通知を目的としたロボット300のアクションについて記載する。本アクションは、処理525の直後等、自己位置補正処理520の中で実行される。
(4) Actions of the
具体的には、自己位置補正処理520が実行される場合、一定の距離を超えて自己位置補正処理520が継続される場合、ロボット300を停止させる。あるいは、自己位置補正処理520が継続して実行されている間、通常よりも速度を落としてロボット300を走行させる。あるいは、ロボット300の車体のランプ(テールランプやウインカー309等)を点灯、あるいは点滅、点滅パターンを早めたり遅めたりしながら走行させる。あるいは、ホーン310で音を鳴らす、音楽を鳴らしながら走行させる等、考えられる。
Specifically, when the self-
このように、自己位置補正処理520が頻発する区間では、ロボット300が光や音を発生することで、何らかの異常が発生した可能性を報知することが可能となる。
In this manner, in a section where the self-
<結び>
以上のように、上記各実施例のロボット制御システムは以下のような構成とすることができる。
<Conclusion>
As described above, the robot control system of each of the above embodiments can have the following configuration.
(1)プロセッサとメモリを有するサーバ(320)が移動ロボット(300)の位置を推定するロボット(300)制御システムであって、前記移動ロボット(300)は、前記移動ロボット(300)の走行状態から第1のセンシング情報(ステレオ画像)を取得する第1のセンサ部(ステレオカメラ301)と、前記第1のセンサ部(301)とは異なるセンサを有して前記移動ロボット(300)の走行状態から第2のセンシング情報(車輪303の回転角)を取得する第2のセンサ部(エンコーダ302)と、を有し、前記サーバ(320)は、前記第1のセンシング情報(ステレオ画像)から得られる第1の位置と当該第1の位置における第1の姿勢(θ)を含む第1の走行状態の情報と、前記第2のセンシング情報(車輪303の回転角)から得られる前記移動ロボット(300)の第2の速度(ν2)及び第2の角速度(ω2)の情報を含む第2の走行状態の情報と、の対応関係を示す対応関係情報(補正情報702)を、前記第1の位置と関連付けて格納する記憶部(DB425)と、前記第1の走行状態の情報及び前記第2の走行状態の情報に基づいて前記移動ロボット(300)の推定位置(補正自己位置)を算出可能な演算部(自己位置補正部426)と、を有し、前記演算部(426)は、前記第1のセンサ部(301)から取得した第1のセンシング情報(ステレオ画像)に基づいて前記第1の位置と前記第1の姿勢(θ)を算出し、前記第1の位置の算出の際にエラーが生じた場合には、前記第2のセンシング情報(車輪303の回転角)から取得した第2の走行状態の情報(速度2、角速度2)と前記対応関係情報(補正情報702)に基づいて前記移動ロボット(300)の推定位置(補正自己位置)を算出することを特徴とするロボット制御システム。
(1) A robot (300) control system in which a server (320) having a processor and a memory estimates the position of a mobile robot (300), wherein the mobile robot (300) is configured to control the traveling state of the mobile robot (300). A first sensor unit (stereo camera 301) that acquires first sensing information (stereo image) from the mobile robot (300) and a sensor different from the first sensor unit (301) are used to control the movement of the mobile robot (300). a second sensor unit (encoder 302) that acquires second sensing information (rotation angle of the wheel 303) from the state, and the server (320) acquires second sensing information (rotation angle of the wheel 303) from the first sensing information (stereo image). The mobile robot is obtained from information on the first running state including the obtained first position and the first attitude (θ) at the first position, and the second sensing information (rotation angle of the wheels 303). (300), the second running state information including information on the second velocity (ν2) and second angular velocity (ω2), and the correspondence information (correction information 702) indicating the correspondence between the first An estimated position (corrected self-position) of the mobile robot (300) is calculated based on a storage unit (DB 425) stored in association with the position of the mobile robot (300), information on the first running state, and information on the second running state. and a calculation unit (self-position correction unit 426) capable of adjusting the position based on the first sensing information (stereo image) acquired from the first sensor unit (301). A first position and the first attitude (θ) are calculated, and if an error occurs when calculating the first position, obtain from the second sensing information (rotation angle of the wheel 303). The estimated position (corrected self-position) of the mobile robot (300) is calculated based on the second running state information (
上記構成により、自律的に走行する無人搬送車(移動ロボット)が、ステレオカメラ301(第1のセンサ部)のステレオ画像(第1のセンシング情報)から算出した自己位置1(第1の位置)がエラーにより得られなかった場合でも、エンコーダ302(第2のセンサ)の情報から算出した第2の走行状態(速度2、角速度2)と補正情報702(対応関係情報)から第1の位置と同等の精度で自己位置(補正自己位置)を復元することが可能となる。 With the above configuration, an autonomous guided vehicle (mobile robot) can obtain self-position 1 (first position) calculated from the stereo image (first sensing information) of the stereo camera 301 (first sensor unit). Even if it cannot be obtained due to an error, the first position and It becomes possible to restore the self-position (corrected self-position) with equivalent accuracy.
(2)上記(1)に記載のロボット制御システムであって、前記対応関係情報(補正情報702)は、前記第1の位置(自己位置1)における第1の速度(ν1)と前記第2の速度(ν2)の速度比(ν1/ν2)と、前記第1の姿勢(θ)における第1の角速度(ω1)と前記第2の角速度(ω2)の角速度比(ω1/ω2)を含むことを特徴とするロボット制御システム。 (2) The robot control system according to (1) above, wherein the correspondence information (correction information 702) includes a first velocity (ν1) at the first position (self-position 1) and a second velocity (v1) at the first position (self-position 1). , and the angular velocity ratio (ω1/ω2) of the first angular velocity (ω1) and the second angular velocity (ω2) in the first attitude (θ). A robot control system characterized by:
上記構成により、エンコーダ302から取得した速度2(ν2)と補正情報702に記録された速度比(ν1/ν2)から速度1(ν1)を算出し、エンコーダ302から取得した第2の角速度(ω2)と補正情報702に記録された角速度比(ω1/ω2)から角速度1(ω1)を算出することができ、速度1(ν1)と角速度1(ω1)から補正自己位置(自己位置1)を算出することができる。これにより、ステレオ画像による自己位置1がエラーにより得られなかった場合でも、エンコーダ302から取得した速度2及び角速度2に基づいて補正自己位置を算出し、自己位置1と同等精度の自己位置1(補正自己位置)が復元できる。
With the above configuration, velocity 1 (ν1) is calculated from velocity 2 (ν2) acquired from the
(3)上記(2)に記載のロボット制御システムであって、前記演算部(自己位置補正部426)は、前記エラーがなく、かつ予め設定された登録情報(DB登録フラグ)が有効(「1」)の場合には、前記第1の速度(ν1)と前記第1の角速度(ω1)を取得し、前記第2の速度(ν2)と前記第2の角速度(ω2)から前記速度比(ν1/ν2)と前記角速度比(ω1/ω2)を算出し、前記第1の位置(自己位置1)と前記第1の姿勢(θ)に対応づけて、前記第2の速度(ν2)と前記第2の角速度(ω2)と前記速度比(ν1/ν2)と角速度比(ω1/ω2)を前記対応関係情報(補正情報702)に登録することを特徴とするロボット制御システム。 (3) In the robot control system according to (2) above, the calculation unit (self-position correction unit 426) is configured to have no error and the preset registration information (DB registration flag) is valid (“ 1''), the first velocity (ν1) and the first angular velocity (ω1) are obtained, and the velocity ratio is determined from the second velocity (ν2) and the second angular velocity (ω2). (ν1/ν2) and the angular velocity ratio (ω1/ω2) are calculated, and the second velocity (ν2) is calculated in association with the first position (self-position 1) and the first attitude (θ). and the second angular velocity (ω2), the velocity ratio (ν1/ν2), and the angular velocity ratio (ω1/ω2) are registered in the correspondence information (correction information 702).
上記構成により、自己位置補正部426は、自己位置1の算出にエラーがなく、かつ、DB登録フラグが有効な場合には、速度1と角速度1を取得して速度2(ν2)と角速度2(ω2)から速度比(ν1/ν2)と角速度比(ω1/ω2)を自己位置1と第1の姿勢(θ)に対応づけて、対応関係情報(補正情報702)に登録しておくことで、エラー発生時の自己位置1の復元に利用することができる。なお、前回値と現在値の自己位置1の差分から速度1と角速度1を算出してもよい。
With the above configuration, if there is no error in calculating self-
(4)上記(2)に記載のロボット制御システムであって、前記演算部(自己位置補正部426)は、前記エラーが生じた場合には、前記エラー発生前の前記移動ロボットの前記第1の位置(自己位置1)及び前記第1の姿勢(θ)の情報と、前記第2の速度(ν2)と、前記第2の角速度(ω2)とで前記対応関係情報(補正情報702)を検索し、検索結果から速度比(ν1/ν2)及び角速度比(ω1/ω2)とを取得して、当該取得した速度比(ν1/ν2)及び角速度比(ω1/ω2)と前記第2の速度(ν2)と前記第2の角速度(ω2)とから前記第1の速度(ν1)の推定値及び前記第1の角速度(ω1)の推定値に基づいて、前記移動ロボットの位置及び姿勢を推定位置及び推定姿勢として算出することを特徴とするロボット制御システム。 (4) In the robot control system according to (2) above, when the error occurs, the calculation unit (self-position correction unit 426) controls the first position of the mobile robot before the error occurs. The correspondence information (correction information 702) is obtained using the information on the position (self-position 1) and the first attitude (θ), the second velocity (ν2), and the second angular velocity (ω2). Search, obtain the speed ratio (ν1/ν2) and angular velocity ratio (ω1/ω2) from the search results, and combine the obtained speed ratio (ν1/ν2) and angular velocity ratio (ω1/ω2) with the second Based on the estimated value of the first velocity (ν1) and the estimated value of the first angular velocity (ω1) from the velocity (ν2) and the second angular velocity (ω2), the position and orientation of the mobile robot are determined. A robot control system characterized by calculating an estimated position and an estimated posture.
上記構成により、自己位置1の算出にエラーが発生した場合、自己位置補正部426は、前記自己位置1とエンコーダ302の情報から算出した速度2及び角速度2で補正情報702を検索し、検索結果から速度比と角速度比を取得する。そして、自己位置補正部426は速度比と速度2から速度1を算出し、角速度比と角速度2から角速度1を算出し、前記自己位置1と算出された速度1と角速度1から自己位置1と姿勢を算出することができる。
With the above configuration, when an error occurs in the calculation of self-
(5)上記(4)に記載のロボット制御システムであって、前記演算部(自己位置補正部426)は、前記エラーが生じた場合には、前記演算部(426)の算出した前記推定位置及び前記推定姿勢と、前記推定位置における前記第2の速度(ν2)と、前記推定姿勢における前記第2の角速度(ω2)とで前記対応関係情報(補正情報702)を検索し、検索結果から速度比(ν1/ν2)及び角速度比(ω1/ω2)を取得して、当該取得した速度比(ν1/ν2)及び角速度比(ω1/ω2)と前記推定位置における前記第2の速度(ν2)と前記推定姿勢における前記第2の角速度(ω2)とから前記推定位置における前記第1の速度(ν1)の推定値と前記推定姿勢における前記第1の角速度(ω1)の推定値とを算出し、前記算出された前記推定位置における前記第1の速度(ν1)の推定値及び前記推定姿勢における前記第1の角速度(ω1)の推定値に基づいて、前記移動ロボットの位置及び姿勢を算出することを特徴とするロボット制御システム。 (5) In the robot control system according to (4) above, when the error occurs, the calculation unit (self-position correction unit 426) corrects the estimated position calculated by the calculation unit (426). and search the correspondence information (correction information 702) using the estimated posture, the second velocity (ν2) at the estimated position, and the second angular velocity (ω2) at the estimated posture, and from the search results A velocity ratio (ν1/ν2) and an angular velocity ratio (ω1/ω2) are obtained, and the obtained velocity ratio (ν1/ν2) and angular velocity ratio (ω1/ω2) are combined with the second velocity (ν2) at the estimated position. ) and the second angular velocity (ω2) in the estimated posture, calculate an estimated value of the first velocity (ν1) at the estimated position and an estimated value of the first angular velocity (ω1) at the estimated posture. and calculating the position and orientation of the mobile robot based on the estimated value of the first velocity (ν1) at the calculated estimated position and the estimated value of the first angular velocity (ω1) at the estimated orientation. A robot control system characterized by:
上記構成により、自己位置1の算出でエラーが継続して発生した場合、自己位置補正部426は算出した推定位置や推定姿勢を用いることで、エラーが継続中でも継続して移動ロボットの位置及び姿勢の推定を行うことができる。
With the above configuration, if an error continues to occur in the calculation of self-
(6)上記(4)に記載のロボット制御システムであって、前記演算部(自己位置補正部426)は、前記対応関係情報(補正情報702)を検索する際に、前記第1の位置(自己位置1)を表す第1のキーで検索を行って、当該検索の結果に対して第1の姿勢(θ)と第2の速度(ν2)と第2の角速度(ω2)を表す第2のキーでさらに検索を行うことを特徴とするロボット制御システム。 (6) In the robot control system according to (4) above, the calculation unit (self-position correction unit 426), when searching the correspondence information (correction information 702), calculates the first position ( A search is performed using a first key representing the self-position (1), and a second key representing the first attitude (θ), second velocity (ν2), and second angular velocity (ω2) is searched for the search result. A robot control system characterized by further searching using keys.
上記構成により、自己位置補正部426は、第1のキーで大まかに検索した結果に対して、第2の検索キーで絞り込むことで、多数の検索キーを用いてDB検索速度が遅くなるのを抑制することができる。
With the above configuration, the self-
(7)上記(2)に記載のロボット制御システムであって、前記対応関係情報(補正情報702)は、前記第1の位置(自己位置1)と、前記第1の姿勢(θ)と、前記速度比(ν1/ν2)と、前記角速度比(ω1/ω2)を含むことを特徴とするロボット制御システム。 (7) The robot control system according to (2) above, wherein the correspondence information (correction information 702) includes the first position (self-position 1), the first attitude (θ), A robot control system comprising the speed ratio (v1/v2) and the angular velocity ratio (ω1/ω2).
上記構成により、対応関係情報(補正情報702)は、第1の位置(自己位置1)と、第1の姿勢(θ)と、速度比(ν1/ν2)と、角速度比(ω1/ω2)を含むことができる。 With the above configuration, the correspondence information (correction information 702) includes the first position (self-position 1), the first attitude (θ), the velocity ratio (ν1/ν2), and the angular velocity ratio (ω1/ω2). can include.
(8)上記(7)に記載のロボット制御システムであって、前記対応関係情報(補正情報702)は、前記第1の位置(自己位置1)と、前記第1の姿勢(θ)と、前記速度比(ν1/ν2)と、前記角速度比(ω1/ω2)に加えて、日時、加速度、角加速度、積載物の重量、車輪の空気圧、車輪の周長、車輪のトルク、温度、湿度、移動ロボット(300)固有IDのうち、少なくともひとつを含むことを特徴とするロボット制御システム。 (8) The robot control system according to (7) above, wherein the correspondence information (correction information 702) includes the first position (self-position 1), the first posture (θ), In addition to the speed ratio (ν1/ν2) and the angular velocity ratio (ω1/ω2), date and time, acceleration, angular acceleration, weight of the loaded object, wheel air pressure, wheel circumference, wheel torque, temperature, and humidity. , a mobile robot (300) unique ID.
上記構成により、「日時」の追加により、最新の補正情報702を選択的に検索できる。「加速度」及び「角加速度」の追加により、より細かい運動種別に応じたロボット300の位置の補正が可能になる。「積載物の重量」の追加により、ロボット300の重さで車輪303の周長が変わる場合に位置の補正が可能になる。車輪303が空気タイヤの場合、「車輪の空気圧」の追加により、車輪303の空気圧に応じて車輪303の周長が変化する場合の補正が可能になる。「車輪の周長」の追加により、車輪303の摩耗により車輪303の周長が変化する場合の補正が可能になる。「車輪のトルク」の追加により、路面の摩擦係数に応じた補正が可能になる。「温度」、「湿度」の追加により、路面の湿り具合による補正が可能になる。「ロボット固有ID」の追加により、個々のロボット300の癖や特徴に応じた補正が可能になる。
With the above configuration, the
(9)上記(1)に記載のロボット制御システムであって、前記演算部(自己位置補正部426)は、前記エラーによって前記第1の位置(自己位置1)が取得できない場合には、前記移動ロボット(300)に設けたランプ(ウインカー309)の点滅、前記移動ロボット(300)に設けたホーン(310)からの音声出力、前記移動ロボット(300)の減速及び停止の少なくともひとつを前記移動ロボット(300)に指令することを特徴とするロボット制御システム。 (9) In the robot control system according to (1) above, when the calculation unit (self-position correction unit 426) cannot obtain the first position (self-position 1) due to the error, the calculation unit (self-position correction unit 426) At least one of blinking a lamp (blinker 309) provided on the mobile robot (300), audio output from a horn (310) provided on the mobile robot (300), and deceleration and stopping of the mobile robot (300) is performed during the movement. A robot control system characterized by giving commands to a robot (300).
上記構成により、自己位置1の算出でエラーが発生する場合には、ロボット300のウインカー309を点滅させたりホーン310を鳴らしたり車輪モータ306を減速や停止させることで、自己位置1の算出に異常が発生したことを報知することができる。
With the above configuration, if an error occurs in the calculation of self-
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に記載したものであり、必ずしも説明した全ての構成を含むものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加、削除、又は置換のいずれもが、単独で、又は組み合わせても適用可能である。 Note that the present invention is not limited to the above-described embodiments, and includes various modifications. For example, the embodiments described above are described in detail to explain the present invention in an easy-to-understand manner, and the present invention is not necessarily limited to including all the configurations described. Furthermore, it is possible to replace a part of the configuration of one embodiment with the configuration of another embodiment, and it is also possible to add the configuration of another embodiment to the configuration of one embodiment. Furthermore, addition, deletion, or replacement of other configurations to some of the configurations of each embodiment may be applied singly or in combination.
また、上記の各構成、機能、処理部、及び処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、及び機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD等の記録装置、又は、ICカード、SDカード、DVD等の記録媒体に置くことができる。 Further, each of the above-mentioned configurations, functions, processing units, processing means, etc. may be partially or entirely realized in hardware by designing, for example, an integrated circuit. Moreover, each of the above-mentioned configurations, functions, etc. may be realized by software by a processor interpreting and executing a program that realizes each function. Information such as programs, tables, files, etc. that implement each function can be stored in a memory, a recording device such as a hard disk, an SSD, or a recording medium such as an IC card, an SD card, or a DVD.
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。 Further, the control lines and information lines are shown to be necessary for explanation purposes, and not all control lines and information lines are necessarily shown in the product. In reality, almost all components may be considered to be interconnected.
300 ロボット
302 ステレオカメラ
302 エンコーダ
303 車輪
421 地図
422 Visual SLAM
423 速度2、角速度2算出部
425 データベース
426 自己位置補正部
702 補正情報
300
423
Claims (11)
前記移動ロボットは、
前記移動ロボットの走行状態から第1のセンシング情報を取得する第1のセンサ部と、
前記第1のセンサ部とは異なるセンサを有して前記移動ロボットの走行状態から第2のセンシング情報を取得する第2のセンサ部と、を有し、
前記サーバは、
前記第1のセンシング情報から得られる第1の位置と当該第1の位置における第1の姿勢を含む第1の走行状態の情報と、前記第2のセンシング情報から得られる前記移動ロボットの第2の速度及び第2の角速度を含む第2の走行状態の情報と、の対応関係を示す対応関係情報を、前記第1の位置と関連付けて格納する記憶部と、
前記第1の走行状態の情報及び前記第2の走行状態の情報に基づいて前記移動ロボットの推定位置を算出可能な演算部と、を有し、
前記演算部は、
前記第1のセンサ部から取得した第1のセンシング情報に基づいて前記第1の位置と前記第1の姿勢を算出し、前記第1の位置の算出の際にエラーが生じた場合には、前記第2のセンシング情報から取得した第2の走行状態の情報と前記対応関係情報に基づいて、前記移動ロボットの推定位置を算出することを特徴とするロボット制御システム。 A robot control system in which a server having a processor and a memory estimates the position of a mobile robot, the system comprising:
The mobile robot is
a first sensor unit that acquires first sensing information from a running state of the mobile robot;
a second sensor unit that has a different sensor from the first sensor unit and acquires second sensing information from the traveling state of the mobile robot;
The server is
information on a first running state including a first position and a first posture at the first position obtained from the first sensing information; and a second running state of the mobile robot obtained from the second sensing information. a storage unit that stores correspondence relationship information indicating a correspondence relationship between information on a second running state including a speed of the vehicle and a second angular velocity in association with the first position;
a calculation unit capable of calculating an estimated position of the mobile robot based on information on the first running state and information on the second running state;
The arithmetic unit is
If the first position and the first orientation are calculated based on the first sensing information acquired from the first sensor unit, and an error occurs when calculating the first position, A robot control system characterized in that an estimated position of the mobile robot is calculated based on second running state information acquired from the second sensing information and the correspondence information.
前記対応関係情報は、
前記第1の位置における第1の速度と前記第2の速度の速度比と、前記第1の姿勢における第1の角速度と前記第2の角速度の角速度比を含むことを特徴とするロボット制御システム。 The robot control system according to claim 1,
The correspondence information is
A robot control system comprising: a speed ratio between the first speed and the second speed at the first position; and an angular speed ratio between the first angular speed and the second angular speed at the first posture. .
前記演算部は、
前記エラーがなく、かつ予め設定された登録情報が有効の場合には、前記第1の速度と前記第1の角速度を取得し、前記第1の速度と前記第2の速度から前記速度比を算出し、前記第1の角速度と前記第2の角速度から前記角速度比を算出し、前記第1の位置と前記第1の姿勢に対応づけて、前記第2の速度と前記第2の角速度と前記速度比と前記角速度比を前記対応関係情報に登録することを特徴とするロボット制御システム。 The robot control system according to claim 2,
The arithmetic unit is
If there is no error and the preset registration information is valid, obtain the first velocity and the first angular velocity, and calculate the speed ratio from the first velocity and the second velocity. calculate the angular velocity ratio from the first angular velocity and the second angular velocity, and calculate the second angular velocity and the second angular velocity in association with the first position and the first attitude. A robot control system characterized in that the speed ratio and the angular velocity ratio are registered in the correspondence information.
前記演算部は、
前記エラーが生じた場合には、前記エラー発生前の前記移動ロボットの前記第1の位置及び前記第1の姿勢の情報と、前記第2の速度と、前記第2の角速度とで前記対応関係情報を検索し、検索結果から速度比及び角速度比とを取得して、当該取得した速度比及び角速度比と前記第2の速度と前記第2の角速度とから前記第1の速度の推定値及び前記第1の角速度の推定値を算出し、前記算出された前記第1の速度の推定値及び前記第1の角速度の推定値に基づいて、前記移動ロボットの位置及び姿勢を推定位置及び推定姿勢として算出することを特徴とするロボット制御システム。 The robot control system according to claim 2,
The arithmetic unit is
When the error occurs, the correspondence relationship is established between the information on the first position and the first posture of the mobile robot before the error occurs, the second velocity, and the second angular velocity. Search for information, obtain a speed ratio and an angular velocity ratio from the search results, and calculate an estimated value of the first velocity from the obtained velocity ratio and angular velocity ratio, the second velocity, and the second angular velocity. An estimated value of the first angular velocity is calculated, and the position and orientation of the mobile robot are estimated based on the calculated estimated value of the first velocity and the estimated value of the first angular velocity. A robot control system characterized by calculating as follows.
前記演算部は、
前記エラーが生じた場合には、前記演算部の算出した前記推定位置及び前記推定姿勢と、前記推定位置における前記第2の速度と、前記推定姿勢における前記第2の角速度とで前記対応関係情報を検索し、検索結果から速度比及び角速度比を取得して、当該取得した速度比及び角速度比と前記推定位置における前記第2の速度と前記推定姿勢における前記第2の角速度とから前記推定位置における前記第1の速度の推定値と前記推定姿勢における前記第1の角速度の推定値とを算出し、前記算出された前記推定位置における前記第1の速度の推定値及び前記推定姿勢における前記第1の角速度の推定値に基づいて、前記移動ロボットの位置及び姿勢を算出することを特徴とするロボット制御システム。 The robot control system according to claim 4,
The arithmetic unit is
If the error occurs, the correspondence information is calculated between the estimated position and the estimated orientation calculated by the calculation unit, the second velocity at the estimated position, and the second angular velocity at the estimated orientation. , obtain a speed ratio and an angular velocity ratio from the search results, and calculate the estimated position from the obtained speed ratio and angular velocity ratio, the second velocity at the estimated position, and the second angular velocity at the estimated posture. An estimated value of the first velocity at the estimated position and an estimated value of the first angular velocity at the estimated orientation are calculated, and an estimated value of the first velocity at the calculated estimated position and an estimated value of the first angular velocity at the estimated orientation are calculated. 1. A robot control system, wherein the position and orientation of the mobile robot are calculated based on an estimated value of angular velocity.
前記演算部は、
前記対応関係情報を検索する際に、前記第1の位置を表す第1のキーで検索を行って、当該検索の結果に対して前記第1の姿勢と前記第2の速度と前記第2の角速度を表す第2のキーで検索を行うことを特徴とするロボット制御システム。 The robot control system according to claim 4,
The arithmetic unit is
When searching for the correspondence relationship information, a search is performed using the first key representing the first position, and the first attitude, the second velocity, and the second A robot control system characterized in that a search is performed using a second key representing angular velocity.
前記対応関係情報は、
前記第1の位置と、前記第1の姿勢と、前記速度比と、前記角速度比を含むことを特徴とするロボット制御システム。 The robot control system according to claim 2,
The correspondence information is
A robot control system comprising: the first position, the first posture, the speed ratio, and the angular speed ratio.
前記対応関係情報は、
前記第1の位置と、前記第1の姿勢と、前記速度比と、前記角速度比に加えて、日時、加速度、角加速度、積載物の重量、車輪の空気圧、車輪の周長、車輪のトルク、温度、湿度、移動ロボット固有IDのうち、少なくともひとつを含むことを特徴とするロボット制御システム。 The robot control system according to claim 7,
The correspondence information is
In addition to the first position, first attitude, speed ratio, and angular velocity ratio, date and time, acceleration, angular acceleration, weight of the loaded object, wheel air pressure, wheel circumference, and wheel torque. , temperature, humidity, and a mobile robot unique ID.
前記演算部は、
前記エラーによって前記第1の位置が取得できない場合には、前記移動ロボットに設けたランプの点滅、前記移動ロボットに設けたホーンからの音声出力、前記移動ロボットの減速及び停止の少なくともひとつを前記移動ロボットに指令することを特徴とするロボット制御システム。 The robot control system according to claim 1,
The arithmetic unit is
If the first position cannot be obtained due to the error, at least one of blinking a lamp provided on the mobile robot, outputting a sound from a horn provided on the mobile robot, and decelerating and stopping the mobile robot may be activated during the movement of the mobile robot. A robot control system characterized by giving instructions to a robot.
前記サーバに接続されて物体を搬送する移動ロボットと、を有する搬送システムであって、
前記移動ロボットは、
前記移動ロボットの走行状態から第1のセンシング情報を取得する第1のセンサ部と、
前記第1のセンサ部とは異なるセンサを有して前記移動ロボットの走行状態から第2のセンシング情報を取得する第2のセンサ部と、を有し、
前記サーバは、
前記第1のセンシング情報から得られる第1の位置と、当該第1の位置における第1の姿勢を含む第1の走行状態の情報と、前記第2のセンシング情報から得られる前記移動ロボットの第2の速度及び第2の角速度を含む第2の走行状態の情報と、の対応関係を示す対応関係情報を、前記第1の位置と関連付けて格納する記憶部と、
前記第1の走行状態の情報及び前記第2の走行状態の情報に基づいて前記移動ロボットの推定位置を算出可能な演算部と、を有し、
前記演算部は、
前記第1のセンサ部から取得した第1のセンシング情報に基づいて前記第1の位置と前記第1の姿勢を算出し、前記第1の位置の算出の際にエラーが生じた場合には、前記第2のセンシング情報から取得した第2の走行状態の情報と前記対応関係情報とに基づいて前記移動ロボットの推定位置を算出することを特徴とする搬送システム。 a server having a processor and memory;
A transport system comprising: a mobile robot connected to the server to transport an object;
The mobile robot is
a first sensor unit that acquires first sensing information from a running state of the mobile robot;
a second sensor unit that has a different sensor from the first sensor unit and acquires second sensing information from the traveling state of the mobile robot;
The server is
A first position obtained from the first sensing information, first running state information including a first posture at the first position, and a first position of the mobile robot obtained from the second sensing information. a storage unit that stores correspondence relationship information indicating a correspondence relationship between the second driving state information including the second speed and the second angular velocity in association with the first position;
a calculation unit capable of calculating an estimated position of the mobile robot based on information on the first running state and information on the second running state;
The arithmetic unit is
If the first position and the first orientation are calculated based on the first sensing information acquired from the first sensor unit, and an error occurs when calculating the first position, A transport system characterized in that the estimated position of the mobile robot is calculated based on the second traveling state information acquired from the second sensing information and the correspondence relationship information.
前記サーバが、前記移動ロボットの第1のセンサ部が検出した第1のセンシング情報を取得する第1のステップと、
前記サーバが、前記移動ロボットの前記第1のセンサ部とは異なる第2のセンサ部が検出した第2のセンシング情報を取得する第2のステップと、
前記サーバが、前記第1のセンシング情報から得られる第1の位置と当該第1の位置における第1の姿勢を含む第1の走行状態の情報と、前記第2のセンシング情報から取得する前記移動ロボットの第2の速度及び第2の角速度を含む第2の走行状態の情報と、の対応関係を示す対応関係情報を、前記第1の位置と関連付けて記憶部へ格納する第3のステップと、
前記サーバが、前記第1のセンサ部から取得した第1のセンシング情報に基づいて前記第1の位置と前記第1の姿勢を算出する第4のステップと、
前記サーバが、前記第1の位置の算出の際にエラーが生じた場合、前記第2のセンシング情報から取得した第2の走行状態の情報と前記対応関係情報とに基づいて前記移動ロボットの推定位置を算出する第5のステップと、
を含むことを特徴とするロボット制御方法。 A robot control method in which a server having a processor and a memory estimates the position of a mobile robot, the method comprising:
a first step in which the server acquires first sensing information detected by a first sensor unit of the mobile robot;
a second step in which the server acquires second sensing information detected by a second sensor unit different from the first sensor unit of the mobile robot;
The server obtains first driving state information including a first position and a first attitude at the first position obtained from the first sensing information, and the movement obtained from the second sensing information. a third step of storing correspondence relationship information indicating a correspondence relationship between information on a second running state including a second speed and a second angular velocity of the robot in a storage unit in association with the first position; ,
a fourth step in which the server calculates the first position and the first orientation based on first sensing information acquired from the first sensor unit;
If an error occurs when calculating the first position, the server estimates the mobile robot based on the second traveling state information acquired from the second sensing information and the correspondence information. a fifth step of calculating the position;
A robot control method characterized by comprising:
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022079239A JP2023167780A (en) | 2022-05-13 | 2022-05-13 | Robot control system, transport system, and robot control method |
PCT/JP2023/014427 WO2023218825A1 (en) | 2022-05-13 | 2023-04-07 | Robot control system, conveyance system, and robot control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022079239A JP2023167780A (en) | 2022-05-13 | 2022-05-13 | Robot control system, transport system, and robot control method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023167780A true JP2023167780A (en) | 2023-11-24 |
Family
ID=88730145
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022079239A Pending JP2023167780A (en) | 2022-05-13 | 2022-05-13 | Robot control system, transport system, and robot control method |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2023167780A (en) |
WO (1) | WO2023218825A1 (en) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011209203A (en) * | 2010-03-30 | 2011-10-20 | Sony Corp | Self-position estimating device and self-position estimating method |
JP2019053391A (en) * | 2017-09-13 | 2019-04-04 | 日本電産シンポ株式会社 | Mobile body |
JP7385388B2 (en) * | 2019-07-22 | 2023-11-22 | 株式会社ダイヘン | Self-position estimation device |
-
2022
- 2022-05-13 JP JP2022079239A patent/JP2023167780A/en active Pending
-
2023
- 2023-04-07 WO PCT/JP2023/014427 patent/WO2023218825A1/en unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023218825A1 (en) | 2023-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Amidi et al. | Integrated mobile robot control | |
US8306684B2 (en) | Autonomous moving apparatus | |
US7768417B2 (en) | Moving apparatus, method, and medium for compensating position of the moving apparatus | |
US8515612B2 (en) | Route planning method, route planning device and autonomous mobile device | |
JP2009093308A (en) | Robot system | |
EP2460059B1 (en) | Estimating positions of a device and at least one target in an environment | |
CN106053879A (en) | Fail operational vehicle speed estimation through data fusion | |
US10921816B2 (en) | Method and apparatus for producing map based on hierarchical structure using 2D laser scanner | |
US11353867B1 (en) | Redundant lateral velocity determination and use in secondary vehicle control systems | |
KR20170118040A (en) | Method and device for the estimation of car egomotion from surround view images | |
JP2012118909A (en) | Travel support device | |
CN113753028B (en) | Driving support device, driving support method, and computer-readable recording medium | |
TW202036030A (en) | Information processing device and mobile robot | |
Li et al. | Visual-inertial odometry with online calibration of velocity-control based kinematic motion models | |
WO2023218825A1 (en) | Robot control system, conveyance system, and robot control method | |
JP5439552B2 (en) | Robot system | |
CN112401776B (en) | self-propelled robot | |
JP2019139696A (en) | Vehicle control device | |
Seyr et al. | Proprioceptive navigation, slip estimation and slip control for autonomous wheeled mobile robots | |
WO2020100902A1 (en) | White line position estimation device and white line position estimation method | |
JP7040308B2 (en) | Travel control device and travel control method for automatic guided vehicles | |
US10775804B1 (en) | Optical array sensor for use with autonomous vehicle control systems | |
CN114822080B (en) | Travel track estimating system, recording medium of estimating program, and estimating method | |
EP2287698A1 (en) | Estimating positions of a device and at least one target in an environment | |
KR20150079098A (en) | Filtering Methods of spatiotemporal 3D Vector for Robust visual odometry |