Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7668152B2 - ROBOT CONTROL DEVICE, ROBOT SYSTEM, AND ROBOT CONTROL METHOD - Google Patents
[go: Go Back, main page]

JP7668152B2 - ROBOT CONTROL DEVICE, ROBOT SYSTEM, AND ROBOT CONTROL METHOD - Google Patents

ROBOT CONTROL DEVICE, ROBOT SYSTEM, AND ROBOT CONTROL METHOD Download PDF

Info

Publication number
JP7668152B2
JP7668152B2 JP2021071236A JP2021071236A JP7668152B2 JP 7668152 B2 JP7668152 B2 JP 7668152B2 JP 2021071236 A JP2021071236 A JP 2021071236A JP 2021071236 A JP2021071236 A JP 2021071236A JP 7668152 B2 JP7668152 B2 JP 7668152B2
Authority
JP
Japan
Prior art keywords
robot
control device
net
self
robot control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021071236A
Other languages
Japanese (ja)
Other versions
JP2022165752A (en
Inventor
定樹 中野
宣隆 木村
宰誠 梁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi GE Vernova Nuclear Energy Ltd
Original Assignee
Hitachi-GE Nuclear Energy Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi-GE Nuclear Energy Ltd filed Critical Hitachi-GE Nuclear Energy Ltd
Priority to JP2021071236A priority Critical patent/JP7668152B2/en
Publication of JP2022165752A publication Critical patent/JP2022165752A/en
Application granted granted Critical
Publication of JP7668152B2 publication Critical patent/JP7668152B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Description

本発明は、ロボット制御装置、ロボットシステム及びロボット制御方法に関する。 The present invention relates to a robot control device, a robot system, and a robot control method.

ロボットの作業空間に存在する構造物、障害物等のロボット作業空間内の位置(少なくとも2次元位置)が記述された環境地図データに基づき、カメラやLiDAR(Laser Imaging Detection and Ranging)などの測距デバイスをロボットに搭載し、この測距デバイスを用いて自己位置推定処理を行いながら、オペレータなどがロボット作業空間内において指定された経路に沿ってロボットを動作させるロボット制御装置は既知である。 A robot control device is known in which a robot is equipped with a ranging device such as a camera or LiDAR (Laser Imaging Detection and Ranging) based on environmental map data that describes the positions (at least two-dimensional positions) of structures, obstacles, etc. present in the robot's workspace, and an operator or the like operates the robot along a specified path within the robot's workspace while using the ranging device to perform self-position estimation processing.

特許文献1には、自己位置推定を行う際、移動物体のマスクを目的とし移動ベクトルから移動物を判定する手法が開示されている。 Patent document 1 discloses a method for determining moving objects from their movement vectors in order to mask the moving objects when performing self-location estimation.

特開2016-157197号公報JP 2016-157197 A

しかしながら、上述した特許文献1には、自己位置推定結果に影響を及ぼす物体がロボット作業空間内に存在した場合、この物体の影響をできるだけ除外することについての開示はない。 However, the above-mentioned Patent Document 1 does not disclose how to eliminate the influence of an object that affects the self-location estimation results as much as possible when the object is present in the robot's workspace.

自己位置推定結果に影響を及ぼす物体の一例について、図8及び図9を参照して説明する。 An example of an object that affects the self-location estimation result is described with reference to Figures 8 and 9.

図8は、自己位置推定結果に影響を及ぼす物体の一例及び自己位置推定結果に及ぼす影響の一例を示す図であり、図8(a)は物体の上面図、図8(b)は物体の側面図である。 Figure 8 shows an example of an object that affects the self-location estimation result and an example of the effect it has on the self-location estimation result, where Figure 8(a) is a top view of the object and Figure 8(b) is a side view of the object.

図8(a)、(b)において、601はロボット作業空間内に存在する柱、600はこの柱601の側方を覆う防護ネットである。防護ネット600は柱601から一定の距離を置いて配置された支柱602に巻かれている。 In Figures 8(a) and (b), 601 denotes a pillar present in the robot workspace, and 600 denotes a protective net covering the side of this pillar 601. The protective net 600 is wrapped around a support 602 that is placed at a certain distance from the pillar 601.

このような柱601及び防護ネット600が設けられたロボット作業空間内において、図8(c)に示すように、ロボット100が自身が有する測距デバイスにより自己位置推定動作を行うと、測距デバイスから射出される光(含むレーザー)は、ロボット100と防護ネット600との相対的位置によって、防護ネット600を透過したりしなかったりする。 In a robot workspace where such pillars 601 and protective net 600 are provided, as shown in FIG. 8(c), when the robot 100 performs self-location estimation using its own ranging device, the light (including laser) emitted from the ranging device may or may not pass through the protective net 600 depending on the relative positions of the robot 100 and the protective net 600.

より詳細に言えば、図8(c)に示す相対的位置関係において、ロボットの測距デバイスから射出される光は、図8(c)の下方に位置する防護ネット600を透過して柱601にまで到達し、この柱601により反射されて測距デバイスに戻る。一方、図8(c)の右側方に位置する防護ネット600はロボット100から見て鋭角であるため、ロボットの測距デバイスから射出される光は、この防護ネット600により反射されて測距デバイスに戻る。つまり、ロボット100は、図8(c)の右側方に位置する防護ネット600を環境地図データにおける柱601の右側面であると誤認し、自己位置推定動作が正しく行えない可能性が生じる。 More specifically, in the relative positional relationship shown in FIG. 8(c), the light emitted from the robot's distance measuring device passes through the protective net 600 located at the bottom of FIG. 8(c) and reaches the pillar 601, where it is reflected by the pillar 601 and returns to the distance measuring device. On the other hand, the protective net 600 located on the right side of FIG. 8(c) is at an acute angle when viewed from the robot 100, so the light emitted from the robot's distance measuring device is reflected by the protective net 600 and returns to the distance measuring device. In other words, the robot 100 may mistake the protective net 600 located on the right side of FIG. 8(c) for the right side of the pillar 601 in the environmental map data, which may result in the robot 100 being unable to correctly perform self-location estimation operations.

自己位置推定動作が正しく行えない可能性についてさらに図9を参照して説明する。 The possibility that self-location estimation operation may not be performed correctly will be further explained with reference to Figure 9.

自己位置推定処理は、環境地図の特徴的な形状とその相対位置(l,θ)よりロボット100自身の位置を推定する。図9(a)に示すように、ロボット100の測距デバイスからの光が正しく柱601の隅(図中右下隅)に当たれば、この反射光から得られる柱601の隅とロボット100との相対位置(l,θ)よりロボット100自身の正しい位置を求めることができる。これが自己位置推定の正解値となる。一方、図9(b)に示すように、ロボット100の測距デバイスからの光が柱601の隅(図中右下隅)ではなく防護ネット600の右側面に当たって反射すると、ロボット100の測距デバイスはこの防護ネット600の右側面を柱601の右側面と誤認し、結果、自己位置推定結果にズレが生じる可能性がある。 In the self-location estimation process, the position of the robot 100 itself is estimated from the characteristic shape of the environmental map and its relative position (l, θ). As shown in FIG. 9(a), if the light from the distance measuring device of the robot 100 hits the corner of the pillar 601 correctly (the lower right corner in the figure), the correct position of the robot 100 itself can be obtained from the relative position (l, θ) between the corner of the pillar 601 and the robot 100 obtained from the reflected light. This is the correct value for self-location estimation. On the other hand, as shown in FIG. 9(b), if the light from the distance measuring device of the robot 100 hits and reflects off the right side of the protective net 600 instead of the corner of the pillar 601 (the lower right corner in the figure), the distance measuring device of the robot 100 will mistakenly recognize the right side of the protective net 600 as the right side of the pillar 601, which may result in a deviation in the self-location estimation result.

このように、防護ネット600等、ロボット100との相対的な位置関係により、透けたり、透けなかったりする防護ネット600のような物体がロボットの作業空間内に存在する場合、自己位置推定に誤差を生じる可能性があった。 As such, if an object such as the protective net 600, which may or may not be transparent depending on its relative position to the robot 100, is present in the robot's workspace, there is a possibility that errors will occur in the self-position estimation.

本発明は上記の課題に鑑みてなされたもので、自己位置推定結果に影響を及ぼす可能性がある特定の物体を判定し、その影響を可能な限り除外することが可能なロボット制御装置、ロボットシステム及びロボット制御方法を提供することにある。 The present invention has been made in consideration of the above problems, and aims to provide a robot control device, a robot system, and a robot control method that can determine specific objects that may affect the self-position estimation results and eliminate their influence as much as possible.

上記課題を解決すべく、本発明の一つの観点に従うロボット制御装置は、ロボットによる作業を制御するロボット制御装置であって、ロボットは、このロボットの周囲の領域に存在する物体を撮像する撮像装置と、前記物体までの距離を測距する測距デバイスと、ロボットを作業させる作業部とを有し、ロボット制御装置はプロセッサとメモリとを有し、メモリには、前記測距デバイスから射出される光が当たる角度によっては認識されたりされなかったりする、自己位置推定結果に影響を及ぼす可能性のある網状物体を認識するための物体認識情報が格納され、プロセッサは、撮像装置から出力される撮像信号を受け付け、受け付けた撮像信号物体認識情報とに基づいてロボットの周囲の領域内において網状物体を検出し、測距デバイスから出力されるロボットの周囲の領域の測距信号から、網状物体を検出した領域の測距信号を除いて自己位置推定を行い、ロボットによる作業を実行させるように前記作業部を制御することを特徴とする。 In order to solve the above problem, a robot control device according to one aspect of the present invention is a robot control device that controls work performed by a robot, the robot having an imaging device that images objects present in the area surrounding the robot, a ranging device that measures the distance to the object , and a working unit that causes the robot to work, the robot control device having a processor and a memory, the memory storing object recognition information for recognizing a mesh-like object that may or may not be recognized depending on the angle at which the light emitted from the ranging device hits and that may affect the self-position estimation result, the processor receives an imaging signal output from the imaging device , detects a mesh-like object in the area surrounding the robot based on the received imaging signal and the object recognition information, performs self-position estimation by excluding the ranging signal of the area where the mesh-like object is detected from the ranging signal of the area surrounding the robot output from the ranging device , and controls the working unit to cause the robot to perform work.

本発明によれば、自己位置推定結果に影響を及ぼす可能性がある特定の物体を判定し、その影響を可能な限り除外することが可能なロボット制御装置、ロボットシステム及びロボット制御方法を実現することができる。 The present invention makes it possible to realize a robot control device, a robot system, and a robot control method that can identify specific objects that may affect the self-location estimation results and eliminate their influence as much as possible.

実施例1に係るロボットシステムの概要を示す図である。1 is a diagram showing an overview of a robot system according to a first embodiment. 実施例1に係るロボットシステムに用いられるロボットを示す斜視図である。1 is a perspective view showing a robot used in a robot system according to a first embodiment. FIG. 実施例1に係るロボットシステムの機能構成を示す図である。FIG. 2 is a diagram illustrating a functional configuration of the robot system according to the first embodiment. 実施例1に係るロボット制御装置における機械学習器及び物体検出器を示す図である。FIG. 2 is a diagram illustrating a machine learning machine and an object detector in the robot control device according to the first embodiment. 実施例1に係るロボット制御装置における回転台制御動作の一例を示す図である。5A to 5C are diagrams illustrating an example of a rotating table control operation in the robot control device according to the first embodiment. 実施例1に係るロボット制御装置における回転台制御動作の一例を示す図である。5A to 5C are diagrams illustrating an example of a rotating table control operation in the robot control device according to the first embodiment. 実施例2に係るロボット制御装置におけるマスキング動作の一例を説明するための図である。13A to 13C are diagrams for explaining an example of a masking operation in the robot control device according to the second embodiment. 一般的なロボット制御装置における自己位置推定動作の一例を示す図である。FIG. 1 is a diagram illustrating an example of a self-position estimation operation in a typical robot control device. 一般的なロボット制御装置における自己位置推定動作の一例を示す図である。FIG. 1 is a diagram illustrating an example of a self-position estimation operation in a typical robot control device.

以下、本発明の実施形態について、図面を参照して説明する。なお、以下に説明する実施形態は請求の範囲に係る発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。 The following describes an embodiment of the present invention with reference to the drawings. Note that the embodiment described below does not limit the invention as claimed, and not all of the elements and combinations thereof described in the embodiment are necessarily essential to the solution of the invention.

なお、実施例を説明する図において、同一の機能を有する箇所には同一の符号を付し、その繰り返しの説明は省略する。 In addition, in the figures explaining the embodiments, parts having the same functions are given the same reference numerals, and repeated explanations are omitted.

また、以下の説明では、情報の一例として「xxxデータ」といった表現を用いる場合があるが、情報のデータ構造はどのようなものでもよい。すなわち、情報がデータ構造に依存しないことを示すために、「xxxデータ」を「xxxテーブル」と言うことができる。さらに、「xxxデータ」を単に「xxx」と言うこともある。そして、以下の説明において、各情報の構成は一例であり、情報を分割して保持したり、結合して保持したりしても良い。 In the following explanation, expressions such as "xxx data" may be used as an example of information, but the information may have any data structure. That is, to show that the information does not depend on the data structure, "xxx data" may be referred to as a "xxx table." Furthermore, "xxx data" may simply be referred to as "xxx." In the following explanation, the structure of each piece of information is an example, and the information may be divided and stored, or combined and stored.

なお、以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサ(例えばCPU(Central Processing Unit))によって実行されることで、定められた処理を、適宜に記憶資源(例えばメモリ)及び/又は通信インターフェースデバイス(例えばポート)を用いながら行うため、処理の主語がプログラムとされても良い。プログラムを主語として説明された処理は、プロセッサ或いはそのプロセッサを有する計算機が行う処理としても良い。 In the following explanation, the process may be described with a "program" as the subject, but since a program is executed by a processor (e.g., a CPU (Central Processing Unit)) to perform a defined process using storage resources (e.g., memory) and/or communication interface devices (e.g., ports) as appropriate, the subject of the process may also be the program. Processes described with a program as the subject may also be processes performed by a processor or a computer having that processor.

本実施形態のロボット制御装置は、一例として以下のような構成を有する。 The robot control device of this embodiment has the following configuration, as an example:

既に説明したように、ロボットの作業空間内に存在する柱の周辺に防護ネットが貼られている箇所があり、その近傍をロボットが通過する時、自己位置推定の「飛び」が発生することがある。これは、ロボットの位置や測距デバイスから射出される光が柱及び防護ネットに当たる角度によっては、防護ネットが測距デバイスにより認識されたりされなかったりするためであると推測できる。 As already explained, there are some places in the robot's workspace where protective netting is installed around pillars, and when the robot passes nearby, there may be "skips" in the self-location estimation. This is presumably because the protective netting may or may not be recognized by the ranging device depending on the robot's position and the angle at which the light emitted from the ranging device hits the pillar and protective netting.

そこで、本実施形態のロボット制御装置は、防護ネットに代表される網状の物体を含むロボット近傍の特定の物体を検出し、それを避ける方向へLiDARセンサを向け自己位置推定する。 Therefore, the robot control device of this embodiment detects specific objects near the robot, including mesh-like objects such as protective nets, and estimates the robot's self-position by pointing the LiDAR sensor in a direction to avoid the object.

より詳細には、本実施形態のロボット制御装置は、360度回転機構のついた単眼カメラとLiDARセンサをロボットに搭載し、単眼カメラを回転させながら特定の物体をYOLO(You Only Look Once)等の物体認識器で認識させる(あらかじめ学習させておく)。そして、上記認識物体がない方向へLiDARセンサを向けて自己位置推定を行う。 More specifically, the robot control device of this embodiment mounts a monocular camera with a 360-degree rotation mechanism and a LiDAR sensor on the robot, and while rotating the monocular camera, it recognizes specific objects using an object recognizer such as YOLO (You Only Look Once) (this is trained in advance). Then, it points the LiDAR sensor in a direction where there is no recognized object and performs self-location estimation.

また、LiDARセンサを向ける以外の手法として、LiDARセンサの計測エリアと物体認識により得られるバウンディングボックスとが一致する領域のセンシング結果を無視した上で自己位置推定を行うこともできる。 In addition to pointing the LiDAR sensor, it is also possible to perform self-location estimation while ignoring the sensing results in the area where the measurement area of the LiDAR sensor coincides with the bounding box obtained by object recognition.

上述した手法は、網状物体(防護ネット、グレーチング、手すり)、反射物体(金属むき出しのダクト、グレーチング、搬入機材、他のロボット)、黒色物体(黒い壁)などLiDARセンサが不得意とする物体に対しても適用が可能である。 The above-mentioned technique can also be applied to objects that LiDAR sensors are not good at detecting, such as mesh objects (protective nets, gratings, handrails), reflective objects (exposed metal ducts, gratings, delivery equipment, other robots), and black objects (black walls).

本実施形態のロボット制御装置によれば、自己位置推定失敗の原因となる特定の物体を識別器により検出することで、当該物体を含む領域を除いて自己位置推定を行うことができ、自己位置推定の失敗を防ぐことができる。 The robot control device of this embodiment uses a classifier to detect a specific object that causes self-location estimation to fail, making it possible to perform self-location estimation excluding the area that contains the object, thereby preventing self-location estimation failure.

図1~図6を参照して、実施例1に係るロボットシステムについて説明する。図1は、実施例1に係るロボットシステムの全体構成を示す図である。 The robot system according to the first embodiment will be described with reference to Figs. 1 to 6. Fig. 1 is a diagram showing the overall configuration of the robot system according to the first embodiment.

本実施例のロボットシステムは、主に、ロボット100と、サーバ(ロボット制御装置)101と、WIFI(登録商標)ルータ104と、ディスプレイ102と、キーボード、ジョイスティックを含む入力装置103とから構成される。 The robot system of this embodiment is mainly composed of a robot 100, a server (robot control device) 101, a WiFi (registered trademark) router 104, a display 102, and an input device 103 including a keyboard and a joystick.

サーバ101は、各種情報処理が可能な装置、一例としてコンピュータ等の情報処理装置である。サーバ101は、CPUに代表されるプロセッサ101a及びメモリ101bを有し、さらに、ストレージ101c、ネットワーク101d及び電源101eを有する。 The server 101 is a device capable of various types of information processing, for example an information processing device such as a computer. The server 101 has a processor 101a represented by a CPU and a memory 101b, and further has a storage 101c, a network 101d, and a power source 101e.

プロセッサ101aは、例えばCPU(Central Processing Unit)、GPU(Graphics Processing Unit)、FPGA(Field-Programmable Gate Array)等である。メモリ101bは、例えばHDD(Hard Disk Drive)などの磁気記憶媒体、RAM(Random Access Memory)、ROM(Read Only Memory)、SSD(Solid State Drive)などの半導体記憶媒体等を有する。また、DVD(Digital Versatile Disk)等の光ディスク及び光ディスクドライブの組み合わせもメモリとして用いられる。その他、磁気テープメディアなどの公知の記憶媒体もメモリとして用いられる。 The processor 101a is, for example, a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), or an FPGA (Field-Programmable Gate Array). The memory 101b includes, for example, a magnetic storage medium such as a HDD (Hard Disk Drive), a RAM (Random Access Memory), a ROM (Read Only Memory), or a semiconductor storage medium such as an SSD (Solid State Drive). In addition, a combination of an optical disk such as a DVD (Digital Versatile Disk) and an optical disk drive is also used as memory. Other well-known storage media such as magnetic tape media are also used as memory.

メモリ101bには、ファームウェアなどのプログラムが格納されている。サーバ101の動作開始時(例えば電源投入時)にファームウェア等のプログラムをこのメモリから読み出して実行し、サーバ101の全体制御を行う。また、メモリ101bには、プログラム以外にも、サーバ101の各処理に必要なデータ等が格納されている。メモリ101bに格納されているプログラムの詳細については、図3を参照して後述する。 Memory 101b stores programs such as firmware. When server 101 starts operating (e.g., when the power is turned on), the programs such as firmware are read from this memory and executed to control the entire server 101. In addition to programs, memory 101b also stores data necessary for each process of server 101. Details of the programs stored in memory 101b will be described later with reference to FIG. 3.

ディスプレイ102は、サーバ101から送出される表示制御信号に基づいて所定の画面を表示する。入力装置103は、サーバ101のオペレータ(図略)からの入力指示動作に基づいて入力指示信号をサーバ101に送出する。WIFIルータ104は、サーバ101のネットワーク101dと連携して、サーバ101とその周辺機器との間の通信を行う。 The display 102 displays a predetermined screen based on a display control signal sent from the server 101. The input device 103 sends an input instruction signal to the server 101 based on an input instruction operation from an operator (not shown) of the server 101. The WiFi router 104 works in conjunction with the network 101d of the server 101 to perform communication between the server 101 and its peripheral devices.

なお、本実施例のサーバ101は、複数の情報処理装置が通信ネットワークを介して通信可能に構成された、いわゆるクラウドにより構成されてもよい。 Note that the server 101 in this embodiment may be configured as a so-called cloud in which multiple information processing devices are configured to be able to communicate with each other via a communication network.

ロボット100は、PC105、LiDARセンサ100a、回転台100b、クローラ100c、アーム100d、RGBカメラ(撮像装置)100e、バッテリー100f、及びモータ駆動回路100gを有する。 The robot 100 has a PC 105, a LiDAR sensor 100a, a rotating table 100b, a crawler 100c, an arm 100d, an RGB camera (imaging device) 100e, a battery 100f, and a motor drive circuit 100g.

PC105は、サーバ101と同様に、各種情報処理が可能な装置、一例としてコンピュータ等の情報処理装置である。PC105は、CPUに代表されるプロセッサ105a及びメモリ105bを有し、さらに、ストレージ105c、ネットワーク105d及び電源105eを有する。PC105を構成する各種構成要素はサーバ101のそれと同様であるので、ここでの説明は省略する。 Like server 101, PC 105 is a device capable of various types of information processing, for example an information processing device such as a computer. PC 105 has a processor 105a represented by a CPU and memory 105b, and further has storage 105c, network 105d, and power supply 105e. The various components that make up PC 105 are the same as those of server 101, so a description thereof will be omitted here.

ロボット100を構成するPC105以外の構成要素のうち、モータ駆動回路100g以外の詳細な構成は、図2を参照して後述する。 Among the components of the robot 100 other than the PC 105, the detailed configuration other than the motor drive circuit 100g will be described later with reference to FIG. 2.

モータ駆動回路100gは、回転台100b、クローラ100c、アーム100dに搭載されている図略のモータやサーボモータの駆動を行う回路である。また、LiDARセンサ100aとRGBカメラ100eは回転台100bの上に載っており、それぞれ独立に向きを変えることができる。 The motor drive circuit 100g is a circuit that drives the motors and servo motors (not shown) mounted on the rotating table 100b, the crawler 100c, and the arm 100d. The LiDAR sensor 100a and the RGB camera 100e are mounted on the rotating table 100b, and can each change direction independently.

PC105及びサーバ101上では、Linux(登録商標)OSが稼働しており(図3参照)、OSの制御の下、TCP/IPベースのWiFiネットワークでPC105及びサーバ101が相互に接続されている。 The Linux (registered trademark) OS runs on the PC 105 and the server 101 (see FIG. 3), and under the control of the OS, the PC 105 and the server 101 are connected to each other via a TCP/IP-based Wi-Fi network.

図2は、本実施形態のロボットシステムに用いられるロボット200の外観を示す斜視図である。 Figure 2 is a perspective view showing the appearance of the robot 200 used in the robot system of this embodiment.

ロボット200は、ロボット筐体210の左右にクローラ211を備え、ロボット筐体210の上部にロボットアーム220と回転台212とを備える。回転台212の上部にはLiDARセンサ213とRGBカメラ214とが搭載されている。また、ロボット筐体210の内部には、図1で説明したPC105、バッテリー100f及びモータ駆動回路100g(図2において図略)が搭載されている。 The robot 200 has crawlers 211 on the left and right sides of the robot casing 210, and a robot arm 220 and a rotating table 212 on the top of the robot casing 210. A LiDAR sensor 213 and an RGB camera 214 are mounted on the top of the rotating table 212. In addition, the PC 105, battery 100f, and motor drive circuit 100g (not shown in FIG. 2) described in FIG. 1 are mounted inside the robot casing 210.

LiDARセンサ213は、車体後方(図2において「back」と記載されている方向)から後ろ向き(図2において右斜め下方)にレーザを照射するように(測距可能なように)設置されている。LiDARセンサ213は、一例として左右210度、上下40度の範囲の測距が可能である。 The LiDAR sensor 213 is installed so that it can irradiate a laser backwards (diagonally downward to the right in FIG. 2) from the rear of the vehicle (the direction marked "back" in FIG. 2) (so that it can measure distances). As an example, the LiDAR sensor 213 can measure distances in a range of 210 degrees left and right and 40 degrees up and down.

LiDARセンサ213及びRGBカメラ214は、回転機構(図略)の付いた回転台212の上に搭載されており、これらLiDARセンサ213及びRGBカメラ214の向きを変えることができ、より広範囲の計測が可能になっている。 The LiDAR sensor 213 and RGB camera 214 are mounted on a rotating table 212 equipped with a rotation mechanism (not shown), allowing the orientation of the LiDAR sensor 213 and RGB camera 214 to be changed, enabling measurements over a wider area.

LiDARセンサ213は、一例として、製品名で北陽電機UST-10/20LXのような2次元で空間をスキャンするセンサや、同様に製品名で北陽電機YVT35-LXのような3次元LiDARと呼ばれるもの(3次元スキャン)が存在し、いずれのLiDARセンサであっても本実施例のロボットシステムに適用可能である。類似の測距デバイスとして、レーザではなく赤外線を使ったもの(Microsoft(登録商標) Kinect(登録商標)2)などがあり、赤外線を用いた測距デバイスであっても本実施形態のロボットシステムに適用可能である。 As an example of the LiDAR sensor 213, there are sensors that scan space in two dimensions, such as the product name Hokuyo Denki UST-10/20LX, and those called 3D LiDAR (3D scanning), such as the product name Hokuyo Denki YVT35-LX, and either type of LiDAR sensor can be applied to the robot system of this embodiment. Similar distance measuring devices include those that use infrared rays instead of lasers (Microsoft® Kinect® 2), and distance measuring devices that use infrared rays can also be applied to the robot system of this embodiment.

図3は、本実施形態のロボットシステムのソフトウェア構成を示す図である。図3では、1台のロボットと1台のサーバとでロボットシステムが構成される例を用いて説明する。 Figure 3 is a diagram showing the software configuration of the robot system of this embodiment. In Figure 3, an example is explained in which the robot system is composed of one robot and one server.

図3において、300はロボットに搭載されるソフトウェアであり、301はサーバに搭載されるソフトウェアである。本実施例のロボットシステムでは、ロボット、サーバ共に、Linux OSと、このLinux OS上で動作するロボット制御用ミドルウェア(ROS:Robot Operating System)(まとめて符号310で示す)により全体動作が管理されている。 In FIG. 3, 300 is software installed in the robot, and 301 is software installed in the server. In the robot system of this embodiment, the overall operation of both the robot and the server is managed by the Linux OS and robot control middleware (ROS: Robot Operating System) that runs on the Linux OS (collectively indicated by the reference symbol 310).

ROSを用いた(ROS上で動作する)各プログラムは、トピックと呼ばれる名前付きのデータを送受信し合うことで処理を行う。具体的には、プログラムの入力データをトピックとして受け取り、処理結果をトピックとして出力する。プログラム間は相互にトピックの送受信を繰り返す。ROSは分散処理のアーキテクチャを採用している。 Each program that uses ROS (runs on ROS) performs processing by sending and receiving named data called topics. Specifically, a program receives input data as a topic and outputs the processing results as a topic. Programs repeatedly send and receive topics between each other. ROS employs a distributed processing architecture.

ロボット上では、LiDARセンサデータ送信プログラム311、回転台駆動プログラム312、クローラ駆動プログラム313、アーム駆動プログラム314、及びRGBカメラ画像配信プログラム315が動作している。また、サーバ上では、点群地図配信プログラム320、自己位置推定プログラム321、回転台制御プログラム322、経路生成プログラム323、クローラ制御プログラム324、アーム制御プログラム325、物体検出器326、及び画面表示プログラム327が動作している。 Running on the robot are a LiDAR sensor data transmission program 311, a turntable drive program 312, a crawler drive program 313, an arm drive program 314, and an RGB camera image distribution program 315. Also running on the server are a point cloud map distribution program 320, a self-position estimation program 321, a turntable control program 322, a path generation program 323, a crawler control program 324, an arm control program 325, an object detector 326, and a screen display program 327.

点群地図配信プログラム320は、入力データとしてファイルに格納された点群地図(図3において図略、サーバ101のメモリ101bに格納されている)を用い、点群地図を出力トピックとして出力する。点群地図配信プログラム320は、ファイルより与えられたロボット作業空間の点群地図を読み込み、自己位置推定プログラム321に配信する。ここで、点群地図とは、無数の点(x,y,z)で示される点群により構成された地図である。 The point cloud map delivery program 320 uses a point cloud map stored in a file (not shown in FIG. 3, stored in memory 101b of the server 101) as input data, and outputs the point cloud map as an output topic. The point cloud map delivery program 320 reads the point cloud map of the robot workspace provided from the file, and delivers it to the self-position estimation program 321. Here, a point cloud map is a map made up of a point cloud represented by an infinite number of points (x, y, z).

自己位置推定プログラム321は、入力トピックとして点群地図及びLiDARセンサの計測データを用い、ロボットの位置と姿勢とを出力トピックとして出力する。自己位置推定プログラム321は自己位置推定処理を行う。自己位置推定処理は、点群地図と、LiDARセンサからの計測データ(点群)とを、スキャンマッチングと呼ばれる手法を用いて照合することで行う。スキャンマッチングアルゴリズムとしては、NDT(Normal Distributions Transform)、ICP(Iterative Closest Point)等、公知のアルゴリズムが好適に用いられる。自己位置推定プログラム321の出力トピックであるロボットの位置と姿勢は、位置(x,y,z)と、クォータニオンと呼ばれる姿勢パラメータ(qx,qy,qz、qw)とからなる、7つのパラメータで表現される。 The self-location estimation program 321 uses a point cloud map and measurement data from a LiDAR sensor as input topics, and outputs the position and posture of the robot as output topics. The self-location estimation program 321 performs self-location estimation processing. The self-location estimation processing is performed by matching the point cloud map with the measurement data (point cloud) from the LiDAR sensor using a method called scan matching. As a scan matching algorithm, well-known algorithms such as NDT (Normal Distributions Transform) and ICP (Iterative Closest Point) are preferably used. The position and posture of the robot, which are the output topics of the self-location estimation program 321, are expressed by seven parameters consisting of position (x, y, z) and posture parameters (qx, qy, qz, qw) called quaternions.

回転台制御プログラム322は、入力トピックとして後述する物体検出器326の出力トピックである物体検出結果を用い、ロボットの回転台の向きを出力トピックとして出力する。回転台制御プログラム322は、物体検出器326の出力トピックである物体検出結果から、物体が映らない、あるいは、もっとも物体の映る面積が小さいくなる回転台の向きを求め配信する。回転台制御プログラム322の動作の詳細については図5及び図6を参照して後述する。 The turntable control program 322 uses the object detection result, which is the output topic of the object detector 326 described below, as an input topic, and outputs the orientation of the robot's turntable as an output topic. From the object detection result, which is the output topic of the object detector 326, the turntable control program 322 determines and distributes the orientation of the turntable in which no object is captured or in which the area in which the object is captured is the smallest. Details of the operation of the turntable control program 322 will be described later with reference to Figures 5 and 6.

経路生成プログラム323は、入力トピックとして点群地図、及び自己位置推定プログラム321の出力トピックであるロボットの位置と姿勢を用いる。また、経路生成プログラム323は、サーバに接続された入力装置(マウス)をオペレータが操作する(クリックする)ことにより入力される目的地も入力データとする。また、経路生成プログラム323は、現在位置から目的地までの経路(10cm間隔の点のリスト)を出力トピックとして出力する。 The route generation program 323 uses the point cloud map as an input topic, and the position and posture of the robot, which are the output topics of the self-location estimation program 321. The route generation program 323 also uses as input data the destination input by the operator operating (clicking) an input device (mouse) connected to the server. The route generation program 323 also outputs the route from the current position to the destination (a list of points spaced at 10 cm intervals) as an output topic.

経路生成プログラム323は、サーバのオペレータがマウスをクリックする等の操作を行うことにより指定された、点群地図上でのロボットの目的地が入力されると、現在位置から目的地までの経路を10cm間隔の点でつないだリストとして出力する。この際、経路生成プログラム323は、点群地図上、点が密集している場所をロボットが通行不能な障害物(壁)とみなす。そして、経路生成プログラム323は、障害物がない空間を対象に、ダイクストラ法、エースター法などの既知のアルゴリズムを用い経路を求める。経路生成プログラム323の動作は既知のものであるので、これ以上の詳細な説明は省略する。 When the server operator inputs the robot's destination on a point cloud map, specified by performing an operation such as clicking the mouse, the path generation program 323 outputs a list of routes from the current position to the destination, connected by dots spaced 10 cm apart. At this time, the path generation program 323 considers areas on the point cloud map where dots are densely packed as obstacles (walls) that the robot cannot pass through. The path generation program 323 then uses known algorithms such as the Dijkstra algorithm and the Easter algorithm to find a route in a space without obstacles. The operation of the path generation program 323 is known, so further detailed explanation will be omitted.

クローラ制御プログラム324は、入力トピックとして経路生成プログラム323の出力トピックである経路と、自己位置推定プログラム321の出力トピックであるロボットの位置と姿勢とを用い、ロボットの移動量と回転角度とを出力トピックとして出力する。クローラ制御プログラム324は、現在のロボットの位置・姿勢から経路上の次の点に向かわせるために必要な移動量と回転角度を求める。クローラ制御プログラム324の動作は既知のものであるので、これ以上の詳細な説明は省略する。 The crawler control program 324 uses as input topics the route, which is the output topic of the route generation program 323, and the position and posture of the robot, which are the output topics of the self-location estimation program 321, and outputs as output topics the movement amount and rotation angle of the robot. The crawler control program 324 determines the movement amount and rotation angle required to move the robot from the current position and posture to the next point on the route. The operation of the crawler control program 324 is known, so further detailed explanation will be omitted.

アーム制御プログラム325は、サーバに接続されたジョイスティック等の入力装置からの操作入力を受け入れ、ロボットのアームの関節の回転角を出力トピックとして出力する。アーム制御プログラム325は、ジョイスティック等の入力デバイスからの操作入力に基づいて、アームの関節の角度を指定する。アーム制御プログラム325の動作は既知のものであるので、これ以上の詳細な説明は省略する。 The arm control program 325 accepts operational input from an input device such as a joystick connected to the server, and outputs the rotation angle of the joint of the robot's arm as an output topic. The arm control program 325 specifies the angle of the arm joint based on the operational input from an input device such as a joystick. The operation of the arm control program 325 is known, so further detailed explanation is omitted.

物体検出器326は、RGBカメラにより撮像された結果出力される画像信号を受け入れ、物体検出結果を出力トピックとして出力する。物体検出器326は、RGBカメラから出力された画像信号に基づいて、RGBカメラの画像内に映っている特定の物体を検出し、物体検出結果を出力する。物体検出器326により検出する特定の物体については予め学習させておく。物体検出器326の動作の詳細については、図4を参照して後述する。 The object detector 326 receives the image signal output as a result of capturing an image by the RGB camera, and outputs the object detection result as an output topic. Based on the image signal output from the RGB camera, the object detector 326 detects a specific object captured in the image of the RGB camera, and outputs the object detection result. The specific object to be detected by the object detector 326 is trained in advance. Details of the operation of the object detector 326 will be described later with reference to FIG. 4.

画面表示プログラム327は、入力トピックとして点群地図、ロボットの位置・姿勢、経路、回転台の向き、RGBカメラの画像、物体検出結果を用いる。画面表示プログラム327は、サーバに接続されたディスプレイの画面に、点群地図、ロボットの位置・姿勢、経路、回転台の向き、RGBカメラの画像、物体検出結果などの情報を重畳表示させる。 The screen display program 327 uses the point cloud map, the robot's position and posture, the route, the orientation of the turntable, the RGB camera images, and the object detection results as input topics. The screen display program 327 superimposes and displays information such as the point cloud map, the robot's position and posture, the route, the orientation of the turntable, the RGB camera images, and the object detection results on the screen of a display connected to the server.

LiDARセンサデータ送信プログラム311は、ロボットに搭載されているLiDARセンサにより計測されたデータを取得し、この計測データを出力トピックとして出力する。 The LiDAR sensor data transmission program 311 acquires data measured by a LiDAR sensor mounted on the robot and outputs this measurement data as an output topic.

回転台駆動プログラム312は、入力トピックとして回転台制御プログラム322の出力トピックである回転台の向きを用い、この回転台の向きに基づいて回転台を回転させる。 The turntable drive program 312 uses the turntable orientation, which is the output topic of the turntable control program 322, as an input topic, and rotates the turntable based on this turntable orientation.

クローラ駆動プログラム313は、入力トピックとしてクローラ制御プログラム324の出力トピックであるロボットの移動量と回転角度とを用い、ロボットの移動量と回転角度を左右のクローラの回転量に変換して左右のクローラを回転させる。 The crawler drive program 313 uses the robot's movement amount and rotation angle, which are output topics of the crawler control program 324, as input topics, and converts the robot's movement amount and rotation angle into rotation amounts for the left and right crawlers to rotate the left and right crawlers.

アーム駆動プログラム314は、入力トピックとしてアーム制御プログラム325の出力トピックであるアームの関節の回転角を用い、指定されたアームの関節の回転角となるようにアームの関節を回転させる。 The arm drive program 314 uses the arm joint rotation angle, which is the output topic of the arm control program 325, as an input topic, and rotates the arm joint to the specified arm joint rotation angle.

RGBカメラ画像配信プログラム315は、ロボットに搭載されたRGBカメラから画像信号を取得し、出力トピックとしてこの画像信号を出力する。 The RGB camera image distribution program 315 acquires an image signal from the RGB camera mounted on the robot and outputs this image signal as an output topic.

図4は、本実施例のロボットシステムにおける物体検出器326に入力される機械学習結果の生成方法を説明するための図である。 Figure 4 is a diagram for explaining the method of generating the machine learning results that are input to the object detector 326 in the robot system of this embodiment.

学習用画像410とアノテーション情報411のペアを数百~数万枚用意し、機械学習器400にて機械学習を行い、学習結果420を得る。学習用画像410は、本実施形態の物体検出器326において検出すべき特定の物体が少なくとも一部に含まれる画像であり、アノテーション情報は、学習用画像410においてどの位置に特定の物体が映り込んでいるかを示す情報である。 Hundreds to tens of thousands of pairs of training images 410 and annotation information 411 are prepared, and machine learning is performed by the machine learning device 400 to obtain a training result 420. The training image 410 is an image that contains at least a part of a specific object to be detected by the object detector 326 of this embodiment, and the annotation information is information that indicates the position in the training image 410 where the specific object is reflected.

検出すべき特定の物体は事前に決定しておくことが好ましい。本実施例では特定の物体として防護ネット600を用いている。それ以外に、特定の物体の一例として、網状物体(防護ネット、グレーチング、手すり)、反射物体(金属むき出しのダクト、グレーチング、搬入機材、他のロボット)、黒色物体(黒い壁)などLiDARセンサ213が不得意とする物体が挙げられる。 It is preferable to determine in advance the specific object to be detected. In this embodiment, a protective net 600 is used as the specific object. Other examples of specific objects include objects that the LiDAR sensor 213 is not good at detecting, such as net-like objects (protective nets, gratings, handrails), reflective objects (exposed metal ducts, gratings, delivery equipment, other robots), and black objects (black walls).

そして、物体検出器326に学習結果420をセットし、RGBカメラから得られたRGB画像430を入力すると、物体検出結果(物体の領域)440を得ることができる。 Then, by setting the learning result 420 in the object detector 326 and inputting the RGB image 430 obtained from the RGB camera, the object detection result (object area) 440 can be obtained.

ここで、機械学習器400及び物体検出器326には、Yolo、SSD(Single Shot MultiBox Detector)等のOSS(Open Source Software)が好適に採用可能である。 Here, the machine learning device 400 and the object detector 326 can suitably use OSS (Open Source Software) such as Yolo and SSD (Single Shot MultiBox Detector).

次に、図5及び図6を参照して、回転台制御プログラム322の動作について説明する。 Next, the operation of the turntable control program 322 will be described with reference to Figures 5 and 6.

回転台制御プログラム322は、図5(b)に示すように、物体検出率ratioを求める(520)。物体検出率ratioの求め方については後述する。次に、回転台制御プログラム322は、520で求めた物体検出率ratioがある閾値以上であるか否かを判定する(511)。閾値は適宜決定されればよいが、物体検出器326により検出された特定の物体がLiDARセンサ213による測距結果に影響を及ぼすことが予想される位置にこの特定の物体が存在することがRGBカメラ214の画像から推測される(つまりロボット100と特定の物体との相対的位置関係から推測される)ことが判別できる閾値であることが好ましい。 The turntable control program 322 calculates the object detection rate ratio (520), as shown in FIG. 5(b). How to calculate the object detection rate ratio will be described later. Next, the turntable control program 322 determines whether the object detection rate ratio calculated in 520 is equal to or greater than a certain threshold (511). The threshold may be determined as appropriate, but it is preferable that the threshold be a threshold that can determine that the presence of a specific object detected by the object detector 326 in a position where the specific object is expected to affect the distance measurement results by the LiDAR sensor 213 is inferred from the image of the RGB camera 214 (i.e., inferred from the relative positional relationship between the robot 100 and the specific object).

そして、判定の結果、物体検出率ratioが閾値以上であると判定されたら(511においてYES)、以降の制御が必要であると判断して530に進み、物体検出率ratioが閾値を下回ると判定されたら(511においてNO)、以降の制御は不要であるとして520に戻り、引き続き物体検出率ratioを求める処理を継続する。530において、回転台制御プログラム322は回転台駆動処理を行う。 If the result of the judgment shows that the object detection rate ratio is equal to or greater than the threshold value (YES in 511), it is determined that further control is necessary and the process proceeds to 530. If the result shows that the object detection rate ratio is below the threshold value (NO in 511), it is determined that further control is unnecessary and the process returns to 520, and the process of calculating the object detection rate ratio continues. In 530, the turntable control program 322 performs turntable drive processing.

回転台制御プログラム322による物体検出率ratioの算出手順について図5(c)を参照して説明する。 The procedure for calculating the object detection rate (ratio) by the turntable control program 322 is described below with reference to FIG. 5(c).

まず、回転台制御プログラム322は、RGBカメラ214からの画像を得る(521)。次に、回転台制御プログラム322は、物体検出器326から物体検出結果を得る(522)。一例として、図5(a)に示すように、RGBカメラ214から出力された画像500に基づいて、物体検出器326からの物体検出結果501が出力されたものとする。図5(a)に示す例では、RGBカメラ214からの画像中に、特定の物体である防護ネット600が映り込んでいる。 First, the turntable control program 322 obtains an image from the RGB camera 214 (521). Next, the turntable control program 322 obtains an object detection result from the object detector 326 (522). As an example, as shown in FIG. 5(a), it is assumed that the object detection result 501 is output from the object detector 326 based on the image 500 output from the RGB camera 214. In the example shown in FIG. 5(a), a specific object, a safety net 600, is reflected in the image from the RGB camera 214.

次いで、回転台制御プログラム322は、次式に基づいて物体検出率ratioを算出する(523)。

物体検出率ratio=物体検出領域の画素数/RGBカメラ214の画像の画素数
Next, the turntable control program 322 calculates the object detection rate ratio based on the following formula (523).

Object detection rate ratio=number of pixels in object detection area/number of pixels in the image of the RGB camera 214

図6を参照して、回転台制御プログラム322による回転台駆動処理を説明する。 The turntable drive process by the turntable control program 322 will be described with reference to Figure 6.

本実施形態では、回転台212の回転範囲が-90度~90度であると仮定する。まず、回転台制御プログラム322は、回転台212の回転角度iの初期値、物体検出率ratioの最小値min_ratio及びその時の回転台212の回転角度min_iを設定する(531)。これ以降、回転台212の回転角度を変数iとして -90度~90度まで1度刻みで回転させ、各回転角度における物体検出率ratioを求める。 In this embodiment, it is assumed that the rotation range of the turntable 212 is -90 degrees to 90 degrees. First, the turntable control program 322 sets the initial value of the rotation angle i of the turntable 212, the minimum value min_ratio of the object detection rate ratio, and the rotation angle min_i of the turntable 212 at that time (531). After this, the turntable 212 is rotated in 1 degree increments from -90 degrees to 90 degrees with the rotation angle set as variable i, and the object detection rate ratio at each rotation angle is obtained.

回転台制御プログラム322は、変数iが90度以下であるかを判定する(532)。その結果、変数iが90度以下であれば(532においてYES)533に進み、変数iが90度を超えたら(532においてNO)538に進む。 The turntable control program 322 determines whether the variable i is equal to or less than 90 degrees (532). If the variable i is equal to or less than 90 degrees (YES in 532), the program proceeds to 533. If the variable i is greater than 90 degrees (NO in 532), the program proceeds to 538.

533では、回転台制御プログラム322が回転台212の回転角度を変数iにセットする。次いで、回転台制御プログラム322は、図5(c)に示す手順により物体検出率ratioを求める(534)。 In step 533, the turntable control program 322 sets the rotation angle of the turntable 212 to the variable i. Next, the turntable control program 322 calculates the object detection rate ratio according to the procedure shown in FIG. 5(c) (534).

次いで、回転台制御プログラム322は、534で求めた物体検出率ratioが最小値min_ratioを下回るか否かを判定する(535)。そして、判定の結果、物体検出率ratioが最小値min_ratioを下回ると判定したら(535においてYES)536に進み、物体検出率ratioが最小値min_ratio以上であると判定したら(535においてNO)537に進む。536では、最小値min_ratioの値を534で求めた物体検出率ratioに書き換え、回転角度min_iの値をその時の回転角iに書き換える。 The turntable control program 322 then determines whether the object detection rate ratio calculated in 534 falls below the minimum value min_ratio (535). If the determination results in that the object detection rate ratio falls below the minimum value min_ratio (YES in 535), the program proceeds to 536, and if the object detection rate ratio is equal to or greater than the minimum value min_ratio (NO in 535), the program proceeds to 537. In 536, the program rewrites the value of the minimum value min_ratio to the object detection rate ratio calculated in 534, and rewrites the value of the rotation angle min_i to the rotation angle i at that time.

537では回転台212の回転角度iを1度だけ増加させ、その後、532に戻って以降の処理を繰り返す。 In step 537, the rotation angle i of the turntable 212 is increased by 1 degree, and then the process returns to step 532 and the subsequent steps are repeated.

一方、538では回転台212の回転角度をmin_iに設定する。これにより、物体検出率ratioが最小min_ratioの時の回転角度min_iに回転台212を回転させることができ、LiDARセンサ213による測距動作において特定の物体による影響を極小にする方向にLiDARセンサ213を向けることができる。 On the other hand, in 538, the rotation angle of the rotation table 212 is set to min_i. This allows the rotation table 212 to rotate to the rotation angle min_i when the object detection rate ratio is at its minimum min_ratio, and allows the LiDAR sensor 213 to be oriented in a direction that minimizes the effect of a specific object on the distance measurement operation by the LiDAR sensor 213.

以上詳細に説明したように、本実施形態のロボットシステムによれば、自己位置推定結果に影響を及ぼす可能性がある特定の物体を判定し、その影響を可能な限り除外することが可能となる。 As described above in detail, the robot system of this embodiment makes it possible to identify specific objects that may affect the self-location estimation results and eliminate their influence as much as possible.

本実施例のロボットシステムでは、LiDARセンサ213の測距結果から、物体検出器326により検出された特定の物体が存在する領域を除外(マスキング)することで、特定の物体による影響を極小にするものである。 In the robot system of this embodiment, the influence of a specific object detected by the object detector 326 is minimized by excluding (masking) the area in which the specific object is present from the distance measurement results of the LiDAR sensor 213.

物体検出器326は、図7(a)に示すように、RGBカメラ214の画像500に基づいて特定の物体を検出した物体検出結果501を出力したものとする。また、LiDARセンサ213からは、図7(b)に示すような計測点群700が測距結果として得られたものとする。 As shown in FIG. 7(a), the object detector 326 outputs an object detection result 501 that detects a specific object based on an image 500 of the RGB camera 214. Also, as shown in FIG. 7(b), the LiDAR sensor 213 obtains a measurement point cloud 700 as a distance measurement result.

自己位置推定プログラム321は、これら物体検出結果501及び計測点群700に基づいて、特定の物体が検出された領域の計測点群700をマスキング(除去)した点群701を作成し、この点群701に基づいて自己位置推定動作を行う。 Based on the object detection result 501 and the measurement point cloud 700, the self-location estimation program 321 creates a point cloud 701 by masking (removing) the measurement point cloud 700 in the area where a specific object is detected, and performs self-location estimation operation based on this point cloud 701.

従って、本実施例によっても、自己位置推定結果に影響を及ぼす可能性がある特定の物体を判定し、その影響を可能な限り除外することが可能となる。 Therefore, this embodiment also makes it possible to identify specific objects that may affect the self-location estimation results and eliminate their influence as much as possible.

なお、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。 The above-mentioned embodiments are detailed descriptions of the configurations in order to clearly explain the present invention, and are not necessarily limited to those having all of the configurations described. In addition, it is possible to add, delete, or replace part of the configuration of each embodiment with another configuration.

また、上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD-ROM、DVD-ROM、ハードディスク、SSD(Solid State Drive)、光ディスク、光磁気ディスク、CD-R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。 The above-mentioned configurations, functions, processing units, processing means, etc. may be realized in part or in whole by hardware, for example by designing them as integrated circuits. The present invention can also be realized by software program code that realizes the functions of the embodiments. In this case, a storage medium on which the program code is recorded is provided to a computer, and a processor of the computer reads the program code stored in the storage medium. In this case, the program code itself read from the storage medium realizes the functions of the above-mentioned embodiments, and the program code itself and the storage medium on which it is stored constitute the present invention. Examples of storage media for supplying such program code include flexible disks, CD-ROMs, DVD-ROMs, hard disks, SSDs (Solid State Drives), optical disks, magneto-optical disks, CD-Rs, magnetic tapes, non-volatile memory cards, and ROMs.

また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Java(登録商標)、Python等の広範囲のプログラムまたはスクリプト言語で実装できる。 In addition, the program code that realizes the functions described in this embodiment can be implemented in a wide range of program or script languages, such as assembler, C/C++, perl, Shell, PHP, Java (registered trademark), Python, etc.

さらに、各実施例の機能を実現するソフトウェアのプログラムコードのすべてまたは一部は、予めメモリ101bに格納されていてもよいし、必要に応じて、ネットワークに接続された他の装置の非一時的記憶装置から、またはサーバ101が備える図略の外部I/Fを介して、非一時的な記憶媒体から、メモリ101bに格納されてもよい。 Furthermore, all or part of the program code of the software that realizes the functions of each embodiment may be stored in memory 101b in advance, or, if necessary, may be stored in memory 101b from a non-transitory storage device of another device connected to the network, or from a non-transitory storage medium via an external I/F (not shown) provided in server 101.

さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段またはCD-RW、CD-R等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。 Furthermore, the program code of the software that realizes the functions of the embodiment may be distributed over a network and stored in a storage means such as a computer's hard disk or memory, or in a storage medium such as a CD-RW or CD-R, and the processor of the computer may read and execute the program code stored in the storage means or storage medium.

上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。 In the above examples, the control lines and information lines are those that are considered necessary for the explanation, and not all control lines and information lines in the product are necessarily shown. All components may be interconnected.

100、200…ロボット 100a、213…LiDARセンサ 100b、212…回転台 100e、214…RGBカメラ 101…サーバ 101a…プロセッサ 101b…メモリ 311…LiDARセンサデータ送信プログラム 312…回転台駆動プログラム 313…クローラ駆動プログラム 314…アーム駆動プログラム 315…RGBカメラ画像配信プログラム 320…点群地図配信プログラム 321…自己位置推定プログラム 322…回転台制御プログラム 323…経路生成プログラム 324…クローラ制御プログラム 325…アーム制御プログラム 326…物体検出器 327…画面表示プログラム 400…機械学習器 600…防護ネット 601…柱

100, 200...Robot 100a, 213...LiDAR sensor 100b, 212...Rotary base 100e, 214...RGB camera 101...Server 101a...Processor 101b...Memory 311...LiDAR sensor data transmission program 312...Rotary base driving program 313...Crawler driving program 314...Arm driving program 315...RGB camera image distribution program 320...Point cloud map distribution program 321...Self-position estimation program 322...Rotary base control program 323...Path generation program 324...Crawler control program 325...Arm control program 326...Object detector 327...Screen display program 400...Machine learning machine 600...Protective net 601...Pillar

Claims (8)

ロボットによる作業を制御するロボット制御装置であって、
前記ロボットは、このロボットの周囲の領域に存在する物体を撮像する撮像装置と、前記物体までの距離を測距する測距デバイスと、前記ロボットを作業させる作業部とを有し、
前記ロボット制御装置はプロセッサとメモリとを有し、
前記メモリには、前記測距デバイスから射出される光が当たる角度によっては認識されたりされなかったりする、自己位置推定結果に影響を及ぼす可能性のある網状物体を認識するための物体認識情報が格納され、
前記プロセッサは、
前記撮像装置から出力される撮像信号を受け付け、
受け付けた前記撮像信号前記物体認識情報とに基づいて前記ロボットの周囲の領域内において前記網状物体を検出し、
前記測距デバイスから出力される前記ロボットの周囲の領域の測距信号から、前記網状物体を検出した領域の測距信号を除いて自己位置推定を行い、
前記ロボットによる作業を実行させるように前記作業部を制御する
ことを特徴とするロボット制御装置。
A robot control device for controlling a task performed by a robot,
The robot has an imaging device that images an object present in an area surrounding the robot, a distance measuring device that measures a distance to the object , and a working unit that causes the robot to perform a task;
The robot control device has a processor and a memory,
the memory stores object recognition information for recognizing a net-like object that may or may not be recognized depending on the angle at which light emitted from the distance measuring device hits the object and that may affect a self-location estimation result;
The processor,
receiving an imaging signal output from the imaging device ;
Detecting the net-like object within a region surrounding the robot based on the received imaging signal and the object recognition information;
performing self-location estimation by excluding the ranging signal of the area in which the net-like object is detected from the ranging signal of the area around the robot outputted from the ranging device ;
A robot control device that controls the working unit so as to cause the robot to perform a task.
前記撮像装置は、前記ロボットの周囲の領域を撮像するRGBカメラを含み、
前記測距デバイスは、前記ロボットの周囲の領域に対して光線を照射して前記物体からの反射光を検出することでこの物体までの距離を測距するLiDARを含む
ことを特徴とする請求項1に記載のロボット制御装置。
the imaging device includes an RGB camera that images an area around the robot;
The distance measurement device includes a LiDAR that measures the distance to an object by irradiating a light beam to an area around the robot and detecting the light reflected from the object.
The robot control device according to claim 1 .
前記メモリには、前記ロボットの周囲の領域に存在し、前記ロボットの作業空間に存在する前記物体の位置を特定するための位置特定情報が格納される
ことを特徴とする請求項2に記載のロボット制御装置。
3. The robot control device according to claim 2, wherein the memory stores position identification information for identifying a position of the object that is present in the area surrounding the robot and in a workspace of the robot.
前記作業部は、前記撮像装置による撮像範囲を少なくとも水平方向に回転させる回転機構を有し、
前記撮像装置及び前記測距デバイスは、前記回転機構が付いた回転台に搭載され、
前記プロセッサは、前記撮像範囲内において前記網状物体が最も映らなくなるように前記回転機構を制御して前記自己位置推定を行う
ことを特徴とする請求項に記載のロボット制御装置。
the working unit has a rotation mechanism that rotates an imaging range of the imaging device at least in a horizontal direction,
the imaging device and the distance measuring device are mounted on a rotation platform equipped with the rotation mechanism;
The robot control device according to claim 1 , wherein the processor performs the self-position estimation by controlling the rotation mechanism so that the net- like object is least likely to be captured within the imaging range.
前記プロセッサは、前記網状物体を検出した領域の測距信号をマスキングして自己位置推定を行うことを特徴とする請求項1に記載のロボット制御装置。 The robot control device according to claim 1 , wherein the processor performs self-location estimation by masking the distance measurement signal in the area where the net-like object is detected. 前記物体認識情報は機械学習により生成されることを特徴とする請求項1に記載のロボット制御装置。 The robot control device according to claim 1, characterized in that the object recognition information is generated by machine learning. ロボットと、このロボットによる作業を制御するロボット制御装置とを有するロボットシステムであって、
前記ロボットは、このロボットの周囲の領域に存在する物体を撮像する撮像装置と、前記物体までの距離を測距する測距デバイスと、前記ロボットを作業させる作業部とを有し、
前記ロボット制御装置はプロセッサとメモリとを有し、
前記メモリには、前記測距デバイスから射出される光が当たる角度によっては認識されたりされなかったりする、自己位置推定結果に影響を及ぼす可能性のある網状物体を認識するための物体認識情報が格納され、
前記プロセッサは、
前記撮像装置から出力される撮像信号を受け付け、
受け付けた前記撮像信号前記物体認識情報とに基づいて前記ロボットの周囲の領域内において前記網状物体を検出し、
前記測距デバイスから出力される前記ロボットの周囲の領域の測距信号から、前記網状物体を検出した領域の測距信号を除いて自己位置推定を行い、
前記ロボットによる作業を実行させるように前記作業部を制御する
ことを特徴とするロボットシステム。
A robot system having a robot and a robot control device that controls an operation performed by the robot,
The robot has an imaging device that images an object present in an area surrounding the robot, a distance measuring device that measures a distance to the object , and a working unit that causes the robot to perform a task;
The robot control device has a processor and a memory,
the memory stores object recognition information for recognizing a net-like object that may or may not be recognized depending on the angle at which light emitted from the distance measuring device hits the object and that may affect a self-location estimation result;
The processor,
receiving an imaging signal output from the imaging device ;
Detecting the net-like object within a region surrounding the robot based on the received imaging signal and the object recognition information;
performing self-location estimation by excluding the ranging signal of the area in which the net-like object is detected from the ranging signal of the area around the robot outputted from the ranging device ;
A robot system comprising: a working unit that controls the working unit so as to cause the robot to perform a task.
ロボットによる作業を制御するロボット制御装置により実行されるロボット制御方法であって、
前記ロボットは、このロボットの周囲の領域に存在する物体を撮像する撮像装置と、前記物体までの距離を測距する測距デバイスと、前記ロボットを作業させる作業部とを有し、
前記ロボット制御装置はプロセッサとメモリとを有し、
前記メモリには、前記測距デバイスから射出される光が当たる角度によっては認識されたりされなかったりする、自己位置推定結果に影響を及ぼす可能性のある網状物体を認識するための物体認識情報が格納され、
前記プロセッサは、
前記撮像装置から出力される撮像信号を受け付け、
受け付けた前記撮像信号前記物体認識情報とに基づいて前記網状物体を検出し、
前記測距デバイスから出力される前記ロボットの周囲の領域の測距信号から、前記網状物体を検出した領域の測距信号を除いて自己位置推定を行い、
前記ロボットによる作業を実行させるように前記作業部を制御する
ことを特徴とするロボット制御方法。
A robot control method executed by a robot control device that controls a task performed by a robot, comprising:
The robot has an imaging device that images an object present in an area surrounding the robot, a distance measuring device that measures a distance to the object , and a working unit that causes the robot to perform a task;
The robot control device has a processor and a memory,
the memory stores object recognition information for recognizing a net-like object that may or may not be recognized depending on the angle at which light emitted from the distance measuring device hits the object and that may affect a self-location estimation result;
The processor,
receiving an imaging signal output from the imaging device ;
Detecting the net- like object based on the received imaging signal and the object recognition information;
performing self-location estimation by excluding the ranging signal of the area in which the net-like object is detected from the ranging signal of the area around the robot outputted from the ranging device ;
A robot control method comprising: controlling the working unit so as to cause the robot to perform a task.
JP2021071236A 2021-04-20 2021-04-20 ROBOT CONTROL DEVICE, ROBOT SYSTEM, AND ROBOT CONTROL METHOD Active JP7668152B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021071236A JP7668152B2 (en) 2021-04-20 2021-04-20 ROBOT CONTROL DEVICE, ROBOT SYSTEM, AND ROBOT CONTROL METHOD

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021071236A JP7668152B2 (en) 2021-04-20 2021-04-20 ROBOT CONTROL DEVICE, ROBOT SYSTEM, AND ROBOT CONTROL METHOD

Publications (2)

Publication Number Publication Date
JP2022165752A JP2022165752A (en) 2022-11-01
JP7668152B2 true JP7668152B2 (en) 2025-04-24

Family

ID=83851294

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021071236A Active JP7668152B2 (en) 2021-04-20 2021-04-20 ROBOT CONTROL DEVICE, ROBOT SYSTEM, AND ROBOT CONTROL METHOD

Country Status (1)

Country Link
JP (1) JP7668152B2 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015097909A1 (en) 2013-12-27 2015-07-02 株式会社小松製作所 Mining-machine management system, mining machine, and management method
WO2017159620A1 (en) 2016-03-14 2017-09-21 オムロン株式会社 Expandability retention device
US20180211119A1 (en) 2017-01-23 2018-07-26 Ford Global Technologies, Llc Sign Recognition for Autonomous Vehicles
JP2019168984A (en) 2018-03-23 2019-10-03 パイオニア株式会社 data structure
WO2021024685A1 (en) 2019-08-05 2021-02-11 ソニー株式会社 Information processing device, information processing method, information processing program

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015097909A1 (en) 2013-12-27 2015-07-02 株式会社小松製作所 Mining-machine management system, mining machine, and management method
WO2017159620A1 (en) 2016-03-14 2017-09-21 オムロン株式会社 Expandability retention device
US20180211119A1 (en) 2017-01-23 2018-07-26 Ford Global Technologies, Llc Sign Recognition for Autonomous Vehicles
JP2019168984A (en) 2018-03-23 2019-10-03 パイオニア株式会社 data structure
WO2021024685A1 (en) 2019-08-05 2021-02-11 ソニー株式会社 Information processing device, information processing method, information processing program

Also Published As

Publication number Publication date
JP2022165752A (en) 2022-11-01

Similar Documents

Publication Publication Date Title
US11734935B2 (en) Transferring synthetic lidar system data to real world domain for autonomous vehicle training applications
JP6949107B2 (en) Systems and methods for training robots to drive autonomously on the route
JP3875988B2 (en) Real-time tracking of unpredictable targets in unknown obstacles
US9239580B2 (en) Autonomous mobile robot, self position estimation method, environmental map generation method, environmental map generation apparatus, and data structure for environmental map
US20140012434A1 (en) Sensor location method and system
US10747229B2 (en) Environment arrangement robot and control program thereof
JP6601613B2 (en) POSITION ESTIMATION METHOD, POSITION ESTIMATION DEVICE, AND POSITION ESTIMATION PROGRAM
JP5902275B1 (en) Autonomous mobile device
US20250189976A1 (en) Spatial blind spot monitoring systems and related methods of use
JP2009217333A (en) Mobile robot and operation control method thereof
US20200192341A1 (en) Collaborative Determination Of A Load Footprint Of A Robotic Vehicle
US20240255956A1 (en) Information processing device, information processing system, information processing method, and program
Csaba et al. Differences between Kinect and structured lighting sensor in robot navigation
JP7668152B2 (en) ROBOT CONTROL DEVICE, ROBOT SYSTEM, AND ROBOT CONTROL METHOD
JP7393217B2 (en) Robot system and its position estimation method
Radmard et al. Resolving occlusion in active visual target search of high-dimensional robotic systems
KR102241997B1 (en) System amd method for determining location and computer readable recording medium
WO2023127337A1 (en) Information processing device, information processing method, and program
KR101966396B1 (en) System amd method for determining location and computer readable recording medium
US10580144B2 (en) Method and system for tracking holographic object
WO2024201254A1 (en) Map-less localization and autonomous navigation of mobile robots
Kangutkar Obstacle avoidance and path planning for smart indoor agents
WO2023234385A1 (en) Map generation device, map generation method, and computer-readable recording medium
CN121120915A (en) A method for modeling underwater objects, an underwater robot, and a readable storage medium
WO2023234384A1 (en) Map generation device, map generation method, and computer-readable recording medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240222

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240925

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20241001

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20241129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20241224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20250221

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: 20250401

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20250414

R150 Certificate of patent or registration of utility model

Ref document number: 7668152

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350