WO2024116817A1 - Information processing method, information processing device, and program - Google Patents

Information processing method, information processing device, and program Download PDF

Info

Publication number
WO2024116817A1
WO2024116817A1 PCT/JP2023/040869 JP2023040869W WO2024116817A1 WO 2024116817 A1 WO2024116817 A1 WO 2024116817A1 JP 2023040869 W JP2023040869 W JP 2023040869W WO 2024116817 A1 WO2024116817 A1 WO 2024116817A1
Authority
WO
WIPO (PCT)
Prior art keywords
free space
group
bounding box
lines
information processing
Prior art date
Application number
PCT/JP2023/040869
Other languages
French (fr)
Japanese (ja)
Inventor
正樹 若林
Original Assignee
ソニーグループ株式会社
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 ソニーグループ株式会社 filed Critical ソニーグループ株式会社
Publication of WO2024116817A1 publication Critical patent/WO2024116817A1/en

Links

Images

Abstract

The present disclosure relates to an information processing method, an information processing device and a program that make it possible to reduce the amount of calculation required to avoid an obstacle. A plurality of free space line segments are set between an own-position of a moving body and obstacle information relating to the surroundings of the moving body, obtained on the basis of sensor data, and if a line segment group including the free space line segments satisfies a pre-determined division condition, the line segment group is divided until the division condition is not satisfied, and a set of clusters in which each divided line segment group forms one cluster is output as free space information. This disclosure is applicable to moving bodies that move autonomously.

Description

情報処理方法、情報処理装置、およびプログラムInformation processing method, information processing device, and program
 本開示は、情報処理方法、情報処理装置、およびプログラムに関し、特に、障害物の回避に要する計算量を低減させることができるようにする情報処理方法、情報処理装置、およびプログラムに関する。 The present disclosure relates to an information processing method, an information processing device, and a program, and in particular to an information processing method, an information processing device, and a program that can reduce the amount of calculation required to avoid an obstacle.
 従来、測距センサなどにより得られた点群をクラスタリングすることで、自律移動ロボットの周囲の物体を認識する技術が知られている。  Conventionally, technology is known that recognizes objects around an autonomous mobile robot by clustering point clouds obtained by distance measuring sensors, etc.
 例えば特許文献1には、点群全体を階層的に分割していき、分割条件を満たさなくなった点群をそのままクラスタとして扱うことで、処理時間を短くすることを可能にした情報処理装置が開示されている。 For example, Patent Document 1 discloses an information processing device that divides an entire point cloud hierarchically and treats point clouds that no longer satisfy the division conditions as clusters, thereby shortening processing time.
特開2021-99689号公報JP 2021-99689 A
 従来、障害物を回避しながら自律移動ロボットを移動させる場合において、障害物情報に基づいて、安全に移動可能な範囲を求めるためには、多くの計算量を要していた。このことは、自律移動ロボットの機敏化や小型化、長時間移動の妨げとなっていた。  In the past, when moving an autonomous mobile robot while avoiding obstacles, a large amount of calculation was required to determine the safe movement range based on obstacle information. This was an obstacle to making autonomous mobile robots more agile, smaller, and longer-term movement.
 本開示は、このような状況に鑑みてなされたものであり、障害物の回避に要する計算量を低減させることができるようにするものである。 This disclosure was made in light of these circumstances, and makes it possible to reduce the amount of calculations required to avoid obstacles.
 本開示の情報処理方法は、移動体の自己位置と、センサデータに基づいて得られる前記移動体の周囲の障害物情報との間に、複数の自由空間線分を設定し、前記自由空間線分を含む線分群があらかじめ定められた分割条件を満たす場合、前記分割条件を満たさなくなるまで前記線分群の分割を行い、分割された前記線分群を1つのクラスタとした前記クラスタの集合を、自由空間情報として出力する情報処理方法である。 The information processing method disclosed herein sets multiple free space line segments between the self-position of a moving body and obstacle information around the moving body obtained based on sensor data, and when a line group including the free space line segments satisfies a predetermined division condition, the line group is divided until the line group no longer satisfies the division condition, and the divided line group is grouped into one cluster, and the set of the clusters is output as free space information.
 本開示の情報処理装置は、移動体の自己位置と、センサデータに基づいて得られた前記移動体の周囲の障害物情報との間に、複数の自由空間線分を設定する設定部と、前記自由空間線分を含む線分群があらかじめ定められた分割条件を満たす場合、前記分割条件を満たさなくなるまで前記線分群の分割を行う分割処理部と、分割された前記線分群を1つのクラスタとした前記クラスタの集合を、自由空間情報として出力する出力部とを備える情報処理装置である。 The information processing device disclosed herein is an information processing device that includes a setting unit that sets a number of free space lines between the self-position of a moving body and obstacle information around the moving body obtained based on sensor data, a division processing unit that divides a line group including the free space lines until the line group no longer satisfies a predetermined division condition, and an output unit that outputs a set of clusters in which the divided line group is treated as one cluster as free space information.
 本開示のプログラムは、コンピュータに、移動体の自己位置と、センサデータに基づいて得られた前記移動体の周囲の障害物情報との間に、複数の自由空間線分を設定し、前記自由空間線分を含む線分群があらかじめ定められた分割条件を満たす場合、前記分割条件を満たさなくなるまで前記線分群の分割を行い、分割された前記線分群を1つのクラスタとした前記クラスタの集合を、自由空間情報として出力する処理を実行させるためのプログラムである。 The program disclosed herein causes a computer to execute a process of setting multiple free space line segments between the self-position of a moving body and obstacle information around the moving body obtained based on sensor data, and when a line group including the free space line segments satisfies a predetermined division condition, dividing the line group until the line group no longer satisfies the division condition, and outputting a set of clusters in which the divided line group is one cluster as free space information.
 本開示においては、移動体の自己位置と、センサデータに基づいて得られた前記移動体の周囲の障害物情報との間に、複数の自由空間線分が設定され、前記自由空間線分を含む線分群があらかじめ定められた分割条件を満たす場合、前記分割条件を満たさなくなるまで前記線分群の分割が行われ、分割された前記線分群を1つのクラスタとした前記クラスタの集合が、自由空間情報として出力される。 In the present disclosure, multiple free space lines are set between the self-position of a moving body and obstacle information around the moving body obtained based on sensor data, and when a line group including the free space lines satisfies a predetermined division condition, the line group is divided until the division condition is no longer satisfied, and a set of clusters in which the divided line group is one cluster is output as free space information.
従来技術による自由空間の求め方の一例を示す図である。FIG. 1 is a diagram showing an example of a method for determining a free space according to the prior art; 本開示に係る技術による自由空間の求め方の概要を示す図である。FIG. 1 is a diagram showing an overview of how free space is determined using the technology disclosed herein. 本開示の一実施形態に係る移動体の構成例を示すブロック図である。FIG. 1 is a block diagram showing a configuration example of a moving body according to an embodiment of the present disclosure. 自由空間情報生成部の機能構成例を示すブロック図である。11 is a block diagram showing an example of a functional configuration of a free space information generating unit. FIG. 自由空間情報生成処理の流れについて説明するフローチャートである。13 is a flowchart illustrating the flow of a free space information generation process. 自由空間線分の設定について説明する図である。FIG. 13 is a diagram illustrating the setting of a free space line segment. 領域外線分の設定について説明する図である。FIG. 13 is a diagram illustrating setting of an outside-area line segment. クラスタの階層分割処理の概要を示す図である。FIG. 13 is a diagram illustrating an overview of a hierarchical division process of a cluster. 階層分割処理の詳細について説明するフローチャートである。13 is a flowchart illustrating details of a hierarchical division process. クラスタの階層分割の流れの一例を示す図である。FIG. 13 is a diagram illustrating an example of a flow of hierarchical division of clusters. クラスタの階層分割の流れの一例を示す図である。FIG. 13 is a diagram illustrating an example of a flow of hierarchical division of clusters. クラスタの集合の楕円体表現への変換について説明する図である。FIG. 13 is a diagram illustrating conversion of a set of clusters into an ellipsoidal representation. 障害物楕円体と自由空間楕円体の関係を示す図である。FIG. 2 is a diagram showing the relationship between an obstacle ellipsoid and a free space ellipsoid. クラスタの集合のボクセル表現への変換の流れを示す図である。FIG. 13 is a diagram showing the flow of converting a set of clusters into a voxel representation. 移動体の他の構成例を示すブロック図である。FIG. 13 is a block diagram showing another example of the configuration of a moving body. 移動体の他の構成例を示すブロック図である。FIG. 13 is a block diagram showing another example of the configuration of a moving body. 移動体の他の構成例を示すブロック図である。FIG. 13 is a block diagram showing another example of the configuration of a moving body. 移動体の他の構成例を示すブロック図である。FIG. 13 is a block diagram showing another example of the configuration of a moving body. コンピュータのハードウェアの構成例を示すブロック図である。FIG. 2 is a block diagram showing an example of the hardware configuration of a computer.
 以下、本開示を実施するための形態(以下、実施形態とする)について説明する。なお、説明は以下の順序で行う。 Below, we will explain the form for implementing this disclosure (hereinafter, "embodiment"). The explanation will be given in the following order.
 1.従来技術の課題と本開示に係る技術の概要
 2.本開示に係る技術を適用した移動体の構成例
 3.自由空間情報生成部の機能構成例
 4.自由空間情報生成処理の流れ
 5.階層分割処理の詳細
 6.クラスタ群の出力形式の変換
 7.移動体の他の構成例
 8.コンピュータのハードウェアの構成例
1. Problems of the prior art and an overview of the technology according to the present disclosure 2. Configuration example of a moving body to which the technology according to the present disclosure is applied 3. Functional configuration example of a free space information generating unit 4. Flow of free space information generation processing 5. Details of hierarchical division processing 6. Conversion of output format of cluster group 7. Other configuration examples of a moving body 8. Configuration example of computer hardware
<1.従来技術の課題と本開示に係る技術の概要>
 従来、障害物を回避しながら自律移動ロボットを移動させる場合において、障害物情報に基づいて、安全に移動可能な範囲(以下、自由空間などという)を求めるためには、多くの計算量を要していた。
<1. Problems with the prior art and overview of the technology disclosed herein>
Conventionally, when moving an autonomous mobile robot while avoiding obstacles, a large amount of calculation is required to determine a safe movement range (hereinafter referred to as free space) based on obstacle information.
 具体的には、図1に示されるように、ロボットRBTは、レイキャスティング法により自己位置から障害物OBまでの間に視線(光線)を設定する。設定される光線の数は、ロボットRBTからの視界に含まれる障害物OBに対応するボクセルの数に応じた値となる。そして、ロボットRBTは、設定した光線上においてボクセルの刻み幅ごとに点を配置し、それら点の集合全体から自由空間を求める。このとき、各点は、ロボットRBTの自己位置を基準にした縦・横・奥行きそれぞれについての、ボクセルの刻み幅の3乗に比例して配置されるため、その計算量は膨大となってしまう。 Specifically, as shown in Figure 1, the robot RBT sets a line of sight (ray) from its own position to the obstacle OB using the ray casting method. The number of rays that are set corresponds to the number of voxels that correspond to the obstacles OB included in the field of view of the robot RBT. The robot RBT then places points for each voxel increment on the set ray, and finds free space from the entire set of these points. At this time, each point is placed in proportion to the cube of the voxel increment for each of the vertical, horizontal, and depth directions based on the robot RBT's own position, which results in an enormous amount of calculations.
 このようにして、自由空間を求める際に計算量が多くなることは、自律移動ロボットの機敏化や小型化、長時間移動の妨げとなっていた。 As a result, the amount of calculation required to calculate free space increases, preventing autonomous mobile robots from becoming more agile, smaller, or able to travel for long periods of time.
 そこで、本開示に係る技術においては、まず、図2左側に示されるように、ロボットRBTから障害物OBまでの間に、視線を表す線分LSを設定する。そして、図2右側に示されるように、設定された線分群全体を階層的に分割していき、分割条件を満たさなくなった線分群をそのままクラスタとしたその集合(クラスタ群)を、自由空間を表す自由空間情報とする。 In the technology disclosed herein, therefore, first, a line segment LS representing the line of sight is set between the robot RBT and the obstacle OB, as shown on the left side of Figure 2. Then, as shown on the right side of Figure 2, the entire group of set lines is hierarchically divided, and the group of lines that no longer satisfy the division conditions is made into a cluster, and this set (cluster group) is used as free space information representing the free space.
 本開示に係る技術によれば、ロボットRBTからの視線を点に置き換えずに線分のまま扱うことができるので、障害物の回避に要する計算量を低減させることが可能となり、ひいては、自律移動ロボットの機敏化や小型化、長時間移動を実現することが可能となる。 The technology disclosed herein allows the line of sight from the robot RBT to be treated as a line segment without being converted to a point, which reduces the amount of calculation required to avoid obstacles, and ultimately makes it possible to realize an autonomous mobile robot that is more agile, smaller, and can move for longer periods of time.
<2.本開示に係る技術を適用した移動体の構成例>
 図3は、本開示の一実施形態に係る移動体1の構成例を示すブロック図である。
2. Configuration example of a moving body to which the technology according to the present disclosure is applied
FIG. 3 is a block diagram illustrating an example configuration of the moving body 1 according to an embodiment of the present disclosure.
 移動体1は、移動体1の周囲を撮像した画像に基づいて地図データを生成し、その地図データを利用して自律移動を行うように構成される。例えば、移動体1は、自律的に移動可能な、平面上を走行する走行ロボットであってもよいし、空間内を飛行するドローンであってもよい。 The mobile body 1 is configured to generate map data based on images captured around the mobile body 1, and to move autonomously using the map data. For example, the mobile body 1 may be a robot capable of moving autonomously and running on a flat surface, or a drone that flies in space.
 移動体1は、深度センサ10、点群データ生成部20、障害物情報生成部30、障害物地図蓄積部40、自己位置推定部50、自由空間情報生成部60、行動計画決定部70、およびアクチュエータ制御部80を備えている。 The moving body 1 is equipped with a depth sensor 10, a point cloud data generation unit 20, an obstacle information generation unit 30, an obstacle map storage unit 40, a self-position estimation unit 50, a free space information generation unit 60, an action plan determination unit 70, and an actuator control unit 80.
 深度センサ10は、ステレオカメラ、単眼カメラ、カラーカメラ、赤外線カメラ、分光カメラ、または偏光カメラなどの、移動体1の周囲の環境の画像を取得する撮像部により構成され得る。深度センサ10は、画像に含まれる被写体の深度を推定し、推定された深度に関するセンサデータを点群データ生成部20に供給する。 The depth sensor 10 may be configured with an imaging unit that acquires an image of the environment around the moving body 1, such as a stereo camera, a monocular camera, a color camera, an infrared camera, a spectroscopic camera, or a polarized camera. The depth sensor 10 estimates the depth of a subject included in the image, and supplies sensor data related to the estimated depth to the point cloud data generation unit 20.
 深度センサ10は、超音波センサ、ToF(Time of Flight)センサ、RADAR(Radio Detecting And Ranging)、またはLiDAR(Light Detection And Ranging)などの、対象までの距離を測定する測距センサにより構成されてもよい。この場合、深度センサ10は、取得した測定点までの距離および方位に関するセンサデータを点群データ生成部20に供給する。 The depth sensor 10 may be configured as a distance measurement sensor that measures the distance to an object, such as an ultrasonic sensor, a ToF (Time of Flight) sensor, a RADAR (Radio Detecting And Ranging), or a LiDAR (Light Detection And Ranging). In this case, the depth sensor 10 supplies the point cloud data generation unit 20 with sensor data regarding the distance and direction to the acquired measurement point.
 深度センサ10は、移動体1の周囲の環境をセンシングすることができれば、移動体1の外部の他の装置やオブジェクトなどに設けられてもよい。例えば、深度センサ10は、移動体1が存在する空間の天井、壁、床などに設けられてもよい。 The depth sensor 10 may be provided on another device or object outside the moving body 1 as long as it is capable of sensing the environment around the moving body 1. For example, the depth sensor 10 may be provided on the ceiling, wall, floor, etc. of the space in which the moving body 1 exists.
 点群データ生成部20は、深度センサ10からのセンサデータに基づいて、3次元空間上のオブジェクトを表す点群データを生成し、障害物情報生成部30に供給する。 The point cloud data generator 20 generates point cloud data representing objects in three-dimensional space based on the sensor data from the depth sensor 10, and supplies this to the obstacle information generator 30.
 障害物情報生成部30は、点群データ生成部20からの点群データに基づいて、移動体1の周囲に存在する障害物を表す障害物情報を生成する。 The obstacle information generating unit 30 generates obstacle information representing obstacles present around the moving body 1 based on the point cloud data from the point cloud data generating unit 20.
 例えば、障害物情報生成部30は、点群データ生成部20からの点群データに含まれる点群をクラスタリングすることで、複数のクラスタを含むクラスタ群を生成する。生成されたクラスタ群は、移動体1の周囲に存在するオブジェクト表面を構成する微小平面群に対応する。 For example, the obstacle information generating unit 30 generates a cluster group including a plurality of clusters by clustering the points included in the point cloud data from the point cloud data generating unit 20. The generated cluster group corresponds to a group of minute planes that constitute the object surface existing around the mobile body 1.
 クラスタそれぞれは、例えばクラスタの中心座標と確率分布形状に基づいた扁平楕円体により表現され得る。具体的には、クラスタは、クラスタに含まれる点の座標の平均値を中心とし、クラスタに含まれる点の座標の共分散を厚みとする扁平楕円体により表現され得る。このような扁平楕円体のクラスタにおいては、扁平面に対する法線方向と、扁平楕円体の法線方向の厚みを示すベクトルが、その形状の代表的なパラメータとされる。 Each cluster can be represented, for example, by an oblate ellipsoid based on the central coordinates of the cluster and the probability distribution shape. Specifically, a cluster can be represented by an oblate ellipsoid whose center is the average value of the coordinates of the points included in the cluster and whose thickness is the covariance of the coordinates of the points included in the cluster. In such an oblate ellipsoid cluster, the normal direction to the oblate plane and a vector indicating the thickness in the normal direction of the oblate ellipsoid are considered to be representative parameters of the shape.
 具体的には、障害物情報生成部30は、点群データに含まれる点群を、分割条件を満たさなくなるまで複数の部分点群に分割する。そして、障害物情報生成部30は、所定のクラスタリング条件を満たす部分点群の各々についてクラスタリングを行うことで、オブジェクト表面を構成する微小平面群に対応するクラスタ群を生成する。所定の分割条件と所定のクラスタリング条件は、点群の特性などに基づいてそれぞれ最適な条件が適宜設定され得る。 Specifically, the obstacle information generating unit 30 divides the points included in the point cloud data into a plurality of partial point clouds until the division condition is no longer satisfied. Then, the obstacle information generating unit 30 performs clustering on each of the partial point clouds that satisfy the predetermined clustering condition, thereby generating a cluster group corresponding to the group of minute planes that make up the object surface. The predetermined division condition and the predetermined clustering condition can each be appropriately set to an optimal condition based on the characteristics of the point cloud, etc.
 このように、所定の分割条件を満たさなくなるまで分割した後の点群の各々に対してクラスタリングが行われるため、クラスタリングの対象となる点群の各々の大きさを小さくすることができ、クラスタリングの処理時間をより短縮することができる。また、所定のクラスタリング条件を満たさず、不正確である可能性が高い点群をクラスタリングの対象から外すことができるため、クラスタリングの精度をより高めることができる。 In this way, clustering is performed on each of the point clouds after division until the specified division conditions are no longer satisfied, so the size of each point cloud to be clustered can be reduced, and the clustering processing time can be further shortened. In addition, point clouds that do not satisfy the specified clustering conditions and are likely to be inaccurate can be excluded from the clustering target, thereby further improving the accuracy of the clustering.
 そして、障害物情報生成部30は、障害物情報として生成したクラスタ群に基づいて、1または複数のクラスタをグループ化することにより、障害物を認識する。障害物は、移動体1の周囲にある物体のそれぞれに対応し、具体的には、移動体1の周囲の人、壁、床などである。 Then, the obstacle information generating unit 30 recognizes obstacles by grouping one or more clusters based on the cluster group generated as the obstacle information. Obstacles correspond to each of the objects around the moving body 1, and specifically, are people, walls, floors, etc. around the moving body 1.
 障害物地図蓄積部40は、障害物情報生成部30により生成された障害物情報と、自己位置推定部50により生成される自己位置データに基づいて、地図データを生成し、蓄積する。障害物情報で構成される地図データは、自己位置推定部50と自由空間情報生成部60に供給される。 The obstacle map storage unit 40 generates and stores map data based on the obstacle information generated by the obstacle information generation unit 30 and the self-position data generated by the self-position estimation unit 50. The map data consisting of the obstacle information is supplied to the self-position estimation unit 50 and the free space information generation unit 60.
 地図データは、3次元のデータとされ、例えば中心座標と確率分布形状を用いて表現される複数のクラスタ(扁平楕円体)により表現される。これにより、地図データは、例えば、いわゆるグリッドマップを用いて構成する場合に比べて、データサイズを抑えることができるとともに、精度を高めることができる。移動体1は、このような複数のクラスタにより表現される地図データに基づいて動作することができるので、より少ない演算資源を用いて、短時間で処理を行うことが可能となる。 The map data is three-dimensional data, and is represented by, for example, multiple clusters (oblate ellipsoids) that are expressed using central coordinates and probability distribution shapes. This allows the map data to have a smaller data size and higher accuracy than when it is constructed using, for example, a so-called grid map. The mobile unit 1 can operate based on map data represented by such multiple clusters, making it possible to perform processing in a short time using fewer computational resources.
 自己位置推定部50は、障害物地図蓄積部40からの地図データと、移動体1が備える図示せぬIMU(Inertial Measurement Unit)からの計測情報とに基づいて、移動体1の位置を推定し、移動体1の位置を示す自己位置データを生成する。移動体1が、平面上を走行する走行ロボットである場合、車輪(ホイール)の回転角を用いたオドメトリにより自己位置データが生成されてもよい。生成された自己位置データは、障害物地図蓄積部40と自由空間情報生成部60に供給される。 The self-position estimation unit 50 estimates the position of the moving body 1 based on map data from the obstacle map accumulation unit 40 and measurement information from an IMU (Inertial Measurement Unit) (not shown) provided in the moving body 1, and generates self-position data indicating the position of the moving body 1. If the moving body 1 is a running robot that runs on a flat surface, the self-position data may be generated by odometry using the rotational angle of the wheels. The generated self-position data is supplied to the obstacle map accumulation unit 40 and the free space information generation unit 60.
 自由空間情報生成部60は、自己位置推定部50からの自己位置データと、障害物地図蓄積部40からの地図データ(障害物情報)に基づいて、自由空間(移動体1が安全に移動可能な範囲)を表す自由空間情報を生成し、行動計画決定部70に供給する。自由空間情報生成部60の詳細な構成については、図4を参照して後述する。 The free space information generating unit 60 generates free space information representing the free space (the range in which the mobile body 1 can move safely) based on the self-position data from the self-position estimating unit 50 and the map data (obstacle information) from the obstacle map storing unit 40, and supplies the information to the action plan determining unit 70. A detailed configuration of the free space information generating unit 60 will be described later with reference to FIG. 4.
 行動計画決定部70は、自由空間情報生成部60からの自由空間情報に基づいて、移動体1の周囲の状況を把握することにより、移動体1の行動計画を決定する。決定された行動計画は、アクチュエータ制御部80に供給される。 The action plan determination unit 70 determines an action plan for the moving body 1 by grasping the situation around the moving body 1 based on the free space information from the free space information generation unit 60. The determined action plan is supplied to the actuator control unit 80.
 アクチュエータ制御部80は、行動計画決定部70により決定された行動計画に基づいて、1または複数のモータを制御する。モータにより生成された動力に基づいて図示せぬ移動機構が駆動することで、移動体1は移動することができる。移動機構は、例えば移動体1が平面上を走行する走行ロボットである場合には、1または複数の車輪を含んで構成され、例えば移動体1がドローンである場合には、1または複数のプロペラを含んで構成される。 The actuator control unit 80 controls one or more motors based on the action plan determined by the action plan determination unit 70. The moving body 1 can move when a moving mechanism (not shown) is driven based on the power generated by the motor. The moving mechanism includes one or more wheels if the moving body 1 is, for example, a running robot that runs on a flat surface, and includes one or more propellers if the moving body 1 is, for example, a drone.
 なお、移動体1を構成する機能ブロックのうち、点群データ生成部20乃至行動計画決定部70の少なくともいずれかが、移動体1の外部に設けられるようにしてもよい。例えば、これらの機能ブロックは、移動体1と直接通信可能なコントローラ(プロポ)や、ネットワークを介して通信可能なサーバなどに設けられ得る。 In addition, among the functional blocks constituting the mobile body 1, at least one of the point cloud data generation unit 20 to the action plan determination unit 70 may be provided outside the mobile body 1. For example, these functional blocks may be provided in a controller (transmitter) capable of communicating directly with the mobile body 1, or in a server capable of communicating via a network.
<3.自由空間情報生成部の機能構成例>
 図4を参照して、自由空間情報生成部60の機能構成例について説明する。
3. Example of functional configuration of free space information generating unit
An example of the functional configuration of the free space information generating unit 60 will be described with reference to FIG.
 図4に示されるように、自由空間情報生成部60は、線分設定部111、分割判定部112、分割処理部113、および出力部114から構成される。 As shown in FIG. 4, the free space information generating unit 60 is composed of a line segment setting unit 111, a division determination unit 112, a division processing unit 113, and an output unit 114.
 線分設定部111は、自己位置推定部50からの自己位置データと、障害物地図蓄積部40からの地図データ(障害物情報)に基づいて、移動体1から障害物までの間に、視線を表す線分を設定する。線分設定部111は、自由空間線分設定部121と領域外線分設定部122を有している。 The line segment setting unit 111 sets a line segment representing the line of sight between the moving body 1 and the obstacle based on the self-position data from the self-position estimation unit 50 and the map data (obstacle information) from the obstacle map storage unit 40. The line segment setting unit 111 has a free space line segment setting unit 121 and an outside area line segment setting unit 122.
 自由空間線分設定部121は、移動体1の自己位置と移動体1周囲の障害物情報との間に、複数の自由空間線分を設定する。自由空間線分は、レイキャスティング法における視線を表す光線に相当する。なお、ここでいう移動体1の自己位置は、移動体1の重心位置や進行方向先端部分の位置など、移動体1自体の位置であればよい。また、移動体1の自己位置は、移動体1に設けられたセンサ(深度センサ10を含む)の位置であってもよいし、移動体1に設けられたセンサを基準とした特定の相対位置であってもよい。特定の相対位置は、例えば当該センサがステレオカメラにより構成される場合には、ステレオカメラを構成する2つのカメラの中央位置などとされる。 The free space line segment setting unit 121 sets multiple free space line segments between the self-position of the moving body 1 and obstacle information around the moving body 1. The free space line segments correspond to light rays that represent the line of sight in the ray casting method. Note that the self-position of the moving body 1 referred to here may be the position of the moving body 1 itself, such as the position of the center of gravity of the moving body 1 or the position of the tip of the moving body 1 in the direction of travel. Furthermore, the self-position of the moving body 1 may be the position of a sensor (including the depth sensor 10) provided on the moving body 1, or may be a specific relative position based on the sensor provided on the moving body 1. For example, if the sensor is configured with a stereo camera, the specific relative position may be the center position of the two cameras that make up the stereo camera.
 領域外線分設定部122は、自由空間線分設定部121により設定された自由空間線分を囲むバウンディングボックスにおける、移動体1からの視界に含まれない領域に対して領域外線分をさらに設定する。 The outside-area line segment setting unit 122 further sets outside-area line segments for areas not included in the field of view of the moving body 1 in the bounding box that encloses the free space line segments set by the free space line segment setting unit 121.
 線分設定部111により設定された自由空間線分と領域外線分は、分割判定部112に供給される。 The free space lines and outside area lines set by the line setting unit 111 are supplied to the division determination unit 112.
 分割判定部112は、自由空間線分と領域外線分を含む線分群が、あらかじめ定められた分割条件を満たすか否かを判定する。 The division determination unit 112 determines whether a group of lines, including free space lines and outside-area lines, meets predetermined division conditions.
 分割条件は、例えば、バウンディングボックスに含まれる自由空間線分の数についての条件、バウンディングボックスにおける領域外線分の有無についての条件、バウンディングボックスのサイズについての条件のうちの1以上を含むものとする。 The division conditions may include, for example, one or more of the following: a condition regarding the number of free space segments contained in the bounding box, a condition regarding the presence or absence of outside segments in the bounding box, and a condition regarding the size of the bounding box.
 分割処理部113は、分割判定部112によって、線分群が分割条件を満たすと判定された場合、当該線分群の分割を行う。そして、分割判定部112は、分割された線分群に対してバウンディングボックスを新たに設定することで、分割された線分群が分割条件を満たすか否かを判定する。 If the division determination unit 112 determines that the line group satisfies the division condition, the division processing unit 113 divides the line group. The division determination unit 112 then determines whether the divided line group satisfies the division condition by setting a new bounding box for the divided line group.
 すなわち、分割処理部113は、線分群が分割条件を満たす場合、分割条件を満たさなくなるまで線分群の分割を行う。 In other words, when a line group satisfies the splitting condition, the splitting processing unit 113 splits the line group until the splitting condition is no longer satisfied.
 出力部114は、分割された線分群を1つのクラスタとしたクラスタの集合を、自由空間情報として出力する。このとき、出力部114は、自由空間情報として出力される、線分群からなるクラスタの集合の出力形式を、他の出力形式に変換して出力することができる。 The output unit 114 outputs a set of clusters, each of which is a cluster of divided line segments, as free space information. At this time, the output unit 114 can convert the output format of the set of clusters made up of line segments, which is output as free space information, into another output format and output it.
<4.自由空間情報生成処理の流れ>
 次に、図5のフローチャートを参照して、図4の自由空間情報生成部60による自由空間情報生成処理の流れについて説明する。図5の処理は、点群データに基づいて障害物情報が生成され、地図データが更新される毎に実行され得る。
<4. Flow of free space information generation process>
Next, a flow of a free space information generation process by the free space information generator 60 in Fig. 4 will be described with reference to the flowchart in Fig. 5. The process in Fig. 5 can be executed every time obstacle information is generated based on point cloud data and map data is updated.
 ステップS11において、線分設定部111の自由空間線分設定部121は、移動体1の自己位置と、移動体1周囲の障害物情報との間に、複数の自由空間線分を設定する。 In step S11, the free space line segment setting unit 121 of the line segment setting unit 111 sets multiple free space line segments between the self-position of the moving body 1 and obstacle information around the moving body 1.
 例えば、図6に示されるように、障害物OBを表す点群PCが障害物情報として得られている場合、自由空間線分設定部121は、移動体1の自己位置と点群PCそれぞれとの間に、自由空間線分LS11を設定する。自由空間線分LS11は、移動体1の自己位置を頂点とした円錐面内で、各点群PCに向けて放射状に設定される。自由空間線分LS11が設定される空間は、移動体1からの視線が通る領域といえる。 For example, as shown in FIG. 6, when a point cloud PC representing an obstacle OB is obtained as obstacle information, the free space line segment setting unit 121 sets free space line segments LS11 between the self-position of the moving body 1 and each of the point clouds PC. The free space line segments LS11 are set radially toward each of the point clouds PC within a cone surface with the self-position of the moving body 1 as the apex. The space in which the free space line segment LS11 is set can be said to be the area through which the line of sight from the moving body 1 passes.
 なお、図6に示されるように、点群PCは、深度センサ10の精度のばらつきなどにより、必ずしも障害物OBの表面と一致するとは限らない。 Note that, as shown in FIG. 6, the point cloud PC does not necessarily coincide with the surface of the obstacle OB due to variations in the accuracy of the depth sensor 10, etc.
 ステップS12において、線分設定部111の領域外線分設定部122は、自由空間線分設定部121により設定された自由空間線分を囲むバウンディングボックスを設定し、移動体1からの視界に含まれない領域(視線が通らない領域)に対して領域外線分をさらに設定する。 In step S12, the outside-area line segment setting unit 122 of the line segment setting unit 111 sets a bounding box that encloses the free space line segments set by the free space line segment setting unit 121, and further sets outside-area line segments for areas that are not included in the field of view of the moving body 1 (areas that are not line-of-sight).
 例えば、図7に示されるように、領域外線分設定部122は、まず、自由空間線分設定部121により設定された全ての自由空間線分LS11を囲むバウンディングボックスBBを設定する。 For example, as shown in FIG. 7, the outside-area line segment setting unit 122 first sets a bounding box BB that surrounds all of the free space line segments LS11 set by the free space line segment setting unit 121.
 次いで、領域外線分設定部122は、バウンディングボックスBB内において、移動体1からの視界の境界面(すなわち、上述した円錐面)に、図中太線で示される領域外線分LS21を設定する。さらに、領域外線分設定部122は、バウンディングボックスBB内において、バウンディングボックスBBまで未達の自由空間線分LS11の延長線上に、図中太線で示される領域外線分LS22を設定する。 Then, the outside-area line setting unit 122 sets an outside-area line LS21, shown by a thick line in the figure, on the boundary surface of the field of view from the moving body 1 within the bounding box BB (i.e., the above-mentioned conical surface). Furthermore, the outside-area line setting unit 122 sets an outside-area line LS22, shown by a thick line in the figure, on the extension line of the free space line LS11 that has not yet reached the bounding box BB, within the bounding box BB.
 ステップS13において、線分設定部111は、図7を参照して説明したような、全ての自由空間線分と領域外線分からなる線分群を1つのクラスタとする。 In step S13, the line segment setting unit 111 groups a group of lines consisting of all free space lines and outside-area lines as described with reference to FIG. 7 into one cluster.
 ステップS14において、分割判定部112と分割処理部113は、クラスタとしての線分群を階層的に分割する階層分割処理を実行する。 In step S14, the division determination unit 112 and the division processing unit 113 execute a hierarchical division process that hierarchically divides the line segments as clusters.
 図8は、クラスタの階層分割処理の概要を示す図である。なお、ここでいうクラスタとは、類似度に基づいてグループ分けされた線分の集合ではなく、単に、複数の線分の集合からなる線分群をいい、分割された線分群それぞれもクラスタという。 FIG. 8 shows an overview of the hierarchical division process of clusters. Note that a cluster does not refer to a set of line segments grouped based on similarity, but simply refers to a group of line segments consisting of a set of multiple line segments, and each divided group of line segments is also called a cluster.
 状態ST1においては、全ての自由空間線分からなる線分群を囲むバウンディングボックスBBが1つのクラスタC1として示されている。 In state ST1, a bounding box BB that encloses the group of lines consisting of all free space lines is shown as one cluster C1.
 状態ST1におけるクラスタC1が分割条件を満たす場合、クラスタC1は、クラスタC11とクラスタC12に分割される(状態ST2)。 If cluster C1 in state ST1 satisfies the splitting condition, cluster C1 is split into cluster C11 and cluster C12 (state ST2).
 状態ST2におけるクラスタC11とクラスタC12がそれぞれ分割条件を満たす場合、クラスタC11は、クラスタC111とクラスタC112に分割され、クラスタC12は、クラスタC121とクラスタC122に分割される(状態ST3)。 If clusters C11 and C12 in state ST2 each satisfy the splitting conditions, cluster C11 is split into clusters C111 and C112, and cluster C12 is split into clusters C121 and C122 (state ST3).
 状態ST3におけるクラスタC111とクラスタC112がそれぞれ分割条件を満たす場合、クラスタC111は、クラスタC1111とクラスタC1112に分割され、クラスタC112は、クラスタC1121とクラスタC1122に分割される(状態ST4)。 If clusters C111 and C112 in state ST3 each satisfy the splitting conditions, cluster C111 is split into clusters C1111 and C1112, and cluster C112 is split into clusters C1121 and C1122 (state ST4).
 また、状態ST3におけるクラスタC121が分割条件を満たす一方、クラスタC122が分割条件を満たさない場合、クラスタC121は、クラスタC1211とクラスタC1212に分割され、クラスタC122はこれ以上分割されない。 Furthermore, if cluster C121 in state ST3 satisfies the splitting condition, but cluster C122 does not, cluster C121 is split into cluster C1211 and cluster C1212, and cluster C122 is not split any further.
 このようにして、階層分割処理は、分割された全ての線分群(クラスタ)が分割条件を満たさなくなるまで実行される。階層分割処理の詳細については後述する。 In this way, the hierarchical division process is carried out until all divided line segments (clusters) no longer satisfy the division conditions. Details of the hierarchical division process will be described later.
 そして、ステップS15において、出力部114は、分割された線分群をそれぞれ1つのクラスタとしたクラスタの集合を、必要に応じてその出力形式を変換して、自由空間情報として出力する。 Then, in step S15, the output unit 114 outputs the set of clusters, each of which is a cluster of divided line segments, as free space information, converting the output format as necessary.
<5.階層分割処理の詳細>
 図9は、上述した自由空間情報生成処理のステップS14において実行される階層分割処理の詳細について説明するフローチャートである。以下においては、分割の判定対象となる線分群からなるクラスタを注目クラスタという。
5. Details of Layer Splitting Process
9 is a flowchart for explaining the details of the hierarchical division process executed in step S14 of the above-mentioned free space information generation process. In the following, a cluster made up of a group of line segments that is the subject of division determination is referred to as a target cluster.
 ステップS111において、分割判定部112は、注目クラスタ(線分群)を囲むバウンディングボックス(最小直方体)を設定する。バウンディングボックスは、x軸、y軸、z軸の3軸により示される3次元の座標空間に設定される。ここで、全ての自由空間線分と領域外線分ならなる線分群が注目クラスタとなる場合、すなわち初期状態では、ステップS111はスキップされる。 In step S111, the division determination unit 112 sets a bounding box (smallest rectangular parallelepiped) that encloses the cluster of interest (group of lines). The bounding box is set in a three-dimensional coordinate space indicated by three axes: the x-axis, y-axis, and z-axis. If the group of lines consisting of all free space lines and out-of-area lines becomes the cluster of interest, i.e., in the initial state, step S111 is skipped.
 ステップS112において、分割判定部112は、注目クラスタが自由空間線分の数についての条件を満たすか否かを判定する。例えば、分割判定部112は、バウンディングボックスに含まれる自由空間線分の数が既定数以上であるか否かを判定する。 In step S112, the split determination unit 112 determines whether the cluster of interest satisfies a condition regarding the number of free space segments. For example, the split determination unit 112 determines whether the number of free space segments included in the bounding box is equal to or greater than a predetermined number.
 ステップS112において、注目クラスタが自由空間線分の数についての条件を満たすと判定された場合、すなわち、バウンディングボックスに含まれる自由空間線分の数が既定数以上である場合、ステップS113に進む。 If it is determined in step S112 that the cluster of interest satisfies the condition regarding the number of free space segments, i.e., if the number of free space segments contained in the bounding box is equal to or greater than a predetermined number, proceed to step S113.
 ステップS113において、分割判定部112は、注目クラスタが領域外線分の有無についての条件を満たすか否かを判定する。例えば、分割判定部112は、バウンディングボックスにおいて領域外線分が存在するか否かを判定する。 In step S113, the split determination unit 112 determines whether the cluster of interest satisfies a condition regarding the presence or absence of an out-of-area line segment. For example, the split determination unit 112 determines whether an out-of-area line segment exists in the bounding box.
 ステップS113において、注目クラスタが領域外線分の有無についての条件を満たすと判定された場合、すなわち、バウンディングボックスにおいて領域外線分が存在する場合、ステップS114に進む。 If it is determined in step S113 that the cluster of interest satisfies the condition regarding the presence or absence of an out-of-area line segment, i.e., if an out-of-area line segment exists in the bounding box, the process proceeds to step S114.
 ステップS114において、分割判定部112は、注目クラスタがバウンディングボックスのサイズについての条件を満たすか否かを判定する。例えば、バウンディングボックスの最大長が既定値を超えるか否かを判定する。 In step S114, the split determination unit 112 determines whether the cluster of interest satisfies a condition regarding the size of the bounding box. For example, it determines whether the maximum length of the bounding box exceeds a preset value.
 ステップS114において、注目クラスタがバウンディングボックスのサイズについての条件を満たすと判定された場合、すなわち、バウンディングボックスの最大長が既定値を超える場合、ステップS115に進む。 If it is determined in step S114 that the cluster of interest satisfies the condition regarding the bounding box size, i.e., if the maximum length of the bounding box exceeds the default value, proceed to step S115.
 ステップS115において、分割処理部113は、注目クラスタのバウンディングボックスに対して、x軸、y軸、z軸それぞれの軸方向のうちの、バウンディングボックスの長さが最も長い軸方向に基づいて分割方向と分割位置を設定し、当該クラスタを二分割する。例えば、バウンディングボックスの長さが最も長い方向が分割方向に設定され、その分割方向におけるバウンディングボックスの中心位置が、分割位置として設定される。 In step S115, the splitting processing unit 113 sets a splitting direction and splitting position for the bounding box of the cluster of interest based on the axial direction in which the bounding box is longest among the x-axis, y-axis, and z-axis directions, and splits the cluster into two. For example, the direction in which the bounding box is longest is set as the splitting direction, and the center position of the bounding box in that splitting direction is set as the splitting position.
 ステップS116において、分割判定部112は、二分割されたクラスタ(線分群)それぞれを注目クラスタとする。 In step S116, the division determination unit 112 determines each of the two divided clusters (groups of line segments) as a cluster of interest.
 その後、ステップS117において、分割判定部112は、注目クラスタがまだあるか否かを判定する。ここでは、全ての注目クラスタが、出力部114に供給されるか、または棄却されるまで、注目クラスタがまだあると判定される。 Then, in step S117, the split determination unit 112 determines whether or not there are still any clusters of interest. Here, it is determined that there are still any clusters of interest until all of the clusters of interest are either supplied to the output unit 114 or discarded.
 ステップS117において、注目クラスタがまだあると判定された場合、ステップS111に戻り、分割された注目クラスタそれぞれに対して、ステップS111以降の処理が繰り返される。 If it is determined in step S117 that there are still clusters of interest, the process returns to step S111, and the process from step S111 onwards is repeated for each of the divided clusters of interest.
 さて、ステップS114において、注目クラスタがバウンディングボックスのサイズについての条件を満たさないと判定された場合、すなわち、バウンディングボックスの最大長が既定値を超えない場合、ステップS118に進む。 If it is determined in step S114 that the cluster of interest does not satisfy the condition regarding the size of the bounding box, i.e., the maximum length of the bounding box does not exceed the default value, the process proceeds to step S118.
 ステップS118において、分割処理部113は、注目クラスタ(バウンディングボックスが設定されている線分群)に含まれる領域外線分を削除する。 In step S118, the segmentation processing unit 113 deletes the lines outside the area included in the cluster of interest (a group of lines for which a bounding box is set).
 そして、ステップS119において、分割処理部113は、領域外線分が削除された注目クラスタを出力部114に供給する。すなわち、分割によってクラスタ(バウンディングボックス)のサイズが一定程度小さくなった場合、当該クラスタは、含まれている領域外線分が削除されて出力の対象となる。なお、バウンディングボックスのサイズについての条件(既定値)は、どの程度までクラスタを小さくするかに応じて設定され得る。 Then, in step S119, the division processing unit 113 supplies the cluster of interest from which the out-of-area line segments have been deleted to the output unit 114. That is, when the size of a cluster (bounding box) is reduced to a certain extent by division, the cluster becomes a target for output with the out-of-area line segments contained therein deleted. Note that the condition (default value) for the bounding box size can be set depending on how small the cluster is to be.
 一方で、ステップS113において、注目クラスタが領域外線分の有無についての条件を満たさないと判定された場合、すなわち、バウンディングボックスにおいて領域外線分が存在しない場合には、ステップS118をスキップしてステップS119に進む。 On the other hand, if it is determined in step S113 that the cluster of interest does not satisfy the condition regarding the presence or absence of an out-of-area line segment, i.e., if there are no out-of-area line segments in the bounding box, step S118 is skipped and the process proceeds to step S119.
 この場合、ステップS119において、分割処理部113は、領域外線分を含まない注目クラスタを出力部114に供給する。すなわち、分割によってクラスタ(バウンディングボックス)に含まれる領域外線分が存在しなくなった場合、当該クラスタは出力の対象となる。 In this case, in step S119, the division processing unit 113 supplies the cluster of interest that does not include any out-of-area line segments to the output unit 114. In other words, if the division results in the cluster (bounding box) containing no out-of-area line segments, the cluster becomes a target for output.
 さて、ステップS112において、注目クラスタが自由空間線分の数についての条件を満たさないと判定された場合、すなわち、バウンディングボックスに含まれる自由空間線分の数が既定数を超えない場合、ステップS120に進む。 Now, if it is determined in step S112 that the cluster of interest does not satisfy the condition regarding the number of free space segments, i.e., if the number of free space segments included in the bounding box does not exceed the predefined number, proceed to step S120.
 ステップS120において、分割処理部113は、自由空間線分の数が既定数を超えない注目クラスタを棄却する。すなわち、分割によってクラスタ(バウンディングボックス)に含まれる自由空間線分の数が既定数に満たなくなった場合、当該クラスタは出力の対象から除外される。なお、自由空間線分の数についての条件(既定数)は、どの程度まで線分の密度が疎なクラスタを出力の対象とするかに応じて設定され得る。 In step S120, the division processing unit 113 discards a cluster of interest in which the number of free space lines does not exceed a predetermined number. In other words, if the number of free space lines included in a cluster (bounding box) falls short of the predetermined number as a result of division, the cluster is excluded from being output. Note that the condition for the number of free space lines (predetermined number) can be set depending on the extent to which a cluster with a sparse density of lines is to be output.
 ここで、図10および図11を参照して、クラスタの階層分割の流れの一例について説明する。 Here, we will explain an example of the flow of hierarchical division of clusters with reference to Figures 10 and 11.
 状態ST21においては、初期状態として、全ての自由空間線分(細線)と領域外線分(太線)からなる線分群が1つのクラスタC2として示されている。 In state ST21, which is the initial state, a group of lines consisting of all free space lines (thin lines) and outside-area lines (thick lines) is shown as one cluster C2.
 状態ST21におけるクラスタC2が全ての分割条件を満たす場合、クラスタC2は、クラスタC21とクラスタC22に分割される(状態ST22)。 If cluster C2 in state ST21 satisfies all splitting conditions, cluster C2 is split into cluster C21 and cluster C22 (state ST22).
 状態ST22におけるクラスタC21とクラスタC22がそれぞれ全ての分割条件を満たす場合、クラスタC21は、クラスタC211とクラスタC212に分割され、クラスタC22は、クラスタC221とクラスタC222に分割される(状態ST23)。 If clusters C21 and C22 in state ST22 each satisfy all of the splitting conditions, cluster C21 is split into clusters C211 and C212, and cluster C22 is split into clusters C221 and C222 (state ST23).
 状態ST23では、分割されたいずれのクラスタに、領域外線分が含まれている。 In state ST23, all of the divided clusters contain line segments outside the region.
 状態ST23におけるクラスタC211とクラスタC212がそれぞれ全ての分割条件を満たす場合、クラスタC211は、クラスタC2111とクラスタC2112に分割され、クラスタC212は、クラスタC2121とクラスタC2122に分割される(図11の状態ST24)。 If clusters C211 and C212 in state ST23 each satisfy all of the splitting conditions, cluster C211 is split into clusters C2111 and C2112, and cluster C212 is split into clusters C2121 and C2122 (state ST24 in FIG. 11).
 同様に、状態ST23におけるクラスタC221とクラスタC222がそれぞれ全ての分割条件を満たす場合、クラスタC221は、クラスタC2211とクラスタC2212に分割され、クラスタC222は、クラスタC2221とクラスタC2222に分割される(図11の状態ST24)。 Similarly, if clusters C221 and C222 in state ST23 each satisfy all of the splitting conditions, cluster C221 is split into clusters C2211 and C2212, and cluster C222 is split into clusters C2221 and C2222 (state ST24 in FIG. 11).
 このとき、状態ST24では、分割されたクラスタのうち、クラスタC2112とクラスタC2211には、領域外線分が含まれなくなる。すなわち、クラスタC2112とクラスタC2211は、これ以上分割されることなく、出力の対象となる。 At this time, in state ST24, of the divided clusters, cluster C2112 and cluster C2211 no longer contain any line segments outside the region. In other words, cluster C2112 and cluster C2211 are not divided any further and become targets for output.
 状態ST24における全てのクラスタについての説明は省略するが、状態ST24におけるクラスタのうち、クラスタC2121が全ての分割条件を満たす場合、クラスタC2121は、クラスタC21211とクラスタC21212に分割される(状態ST25)。 We will not go into a detailed description of all the clusters in state ST24, but if cluster C2121 satisfies all the splitting conditions among the clusters in state ST24, then cluster C2121 is split into cluster C21211 and cluster C21212 (state ST25).
 また、状態ST24におけるクラスタのうち、クラスタC2221が全ての分割条件を満たす場合、クラスタC2221は、クラスタC22211とクラスタC22212に分割される(状態ST25)。 Furthermore, among the clusters in state ST24, if cluster C2221 satisfies all of the splitting conditions, cluster C2221 is split into cluster C22211 and cluster C22212 (state ST25).
 このとき、状態ST25では、分割されたクラスタのうち、クラスタC21212には、含まれる自由空間線分の数が既定数に満たなくなる。すなわち、クラスタC21212は、棄却されて出力の対象から除外される。一方、クラスタC22211には、領域外線分が含まれなくなる。すなわち、クラスタC22211は、これ以上分割されることなく、出力の対象となる。 At this time, in state ST25, of the divided clusters, cluster C21212 contains fewer free space segments than the predetermined number. In other words, cluster C21212 is rejected and excluded from being output. On the other hand, cluster C22211 no longer contains any out-of-area segments. In other words, cluster C22211 is not divided any further and is subject to output.
 このようにして、クラスタの階層分割が繰り返されることで、状態STLastに示されるように、分割条件を満たさなくなったクラスタ(線分群)からなるクラスタ群CGが、自由空間情報として出力される。 In this way, by repeating the hierarchical division of clusters, a cluster group CG consisting of clusters (groups of line segments) that no longer satisfy the division conditions, as shown in the state STLast, is output as free space information.
 以上の処理によれば、移動体1の自己位置から障害物情報との間に設定された自由空間線分を含む線分群が階層的に分割され、分割条件を満たさなくなった線分群をクラスタとしたクラスタ群が、自由空間を表す自由空間情報として出力される。すなわち、移動体1からの視線を点に置き換えずに線分のまま扱うことができるので、障害物の回避に要する計算量を低減させることが可能となり、ひいては、自律移動ロボットの機敏化や小型化、長時間移動を実現することが可能となる。 According to the above process, the line group including the free space line segment set between the self-position of the mobile body 1 and the obstacle information is divided hierarchically, and the line group that no longer satisfies the division condition is clustered, and a cluster group is output as free space information representing the free space. In other words, since the line of sight from the mobile body 1 can be treated as a line segment without being replaced with a point, it is possible to reduce the amount of calculation required to avoid obstacles, and ultimately realize an autonomous mobile robot that is more agile, smaller, and can move for longer periods of time.
 なお、最終的に出力される自由空間情報で表される空間は、本来の安全に移動可能な範囲より広くなってはならない。自由空間情報で表される空間が、本来の安全に移動可能な範囲より広くなった場合、移動体1は、障害物が存在し得る箇所を自由空間として誤認し、結果として、障害物に衝突してしまうおそれがある。 The space represented by the free space information finally output must not be larger than the range within which safe movement is possible. If the space represented by the free space information becomes larger than the range within which safe movement is possible, the mobile unit 1 may mistakenly recognize an area where an obstacle may exist as free space, and as a result, may collide with the obstacle.
 そこで、本開示に係る技術においては、自由空間線分に加えて領域外線分を設定し、図10および図11を参照して説明したように、クラスタの階層分割において領域外線分の有無に基づいた処理を行うようにした。これにより、階層分割により得られたクラスタ群で表される空間が、本来の自由空間より広くなることを防ぐことができる。 In the technology disclosed herein, therefore, in addition to the free space segments, out-of-area segments are set, and as explained with reference to Figures 10 and 11, processing is performed in the hierarchical division of clusters based on the presence or absence of out-of-area segments. This makes it possible to prevent the space represented by the cluster group obtained by the hierarchical division from becoming larger than the original free space.
<6.クラスタ群の出力形式の変換>
 上述したように、出力部114は、自由空間情報として出力される、線分群からなるクラスタの集合の出力形式を、必要に応じて扱いやすい他の出力形式に変換して出力することができる。
6. Converting the output format of cluster groups
As described above, the output unit 114 can convert the output format of a set of clusters made up of line segments, which is output as free space information, into another output format that is easier to handle as necessary, and output the converted format.
(楕円体表現への変換)
 出力部114は、線分群からなるクラスタの集合の出力形式を、クラスタに含まれる線分群の平均と共分散に基づいた楕円体表現に変換することができる。線分群からなるクラスタは、クラスタに含まれる線分の平均値を中心とし、クラスタに含まれる線分の共分散を厚みとする楕円体により表現され得る。
(Conversion to ellipsoidal representation)
The output unit 114 can convert the output format of a set of clusters made up of line segments into an ellipsoid representation based on the average and covariance of the line segments included in the cluster. A cluster made up of line segments can be represented by an ellipsoid whose center is the average value of the line segments included in the cluster and whose thickness is the covariance of the line segments included in the cluster.
 この例では、図12に示されるように、自由空間情報が、線分群からなるクラスタの集合CSETから、楕円体の集合ESETに変換されて出力される。この場合、上述したように扁平楕円体で表現される障害物情報(障害物楕円体)を入力として、線分群からなる各クラスタが変換されることで、楕円体で表現される自由空間情報(自由空間楕円体)が出力される。 In this example, as shown in FIG. 12, the free space information is converted from a set CSET of clusters made up of line segments to a set ESET of ellipsoids and output. In this case, as described above, obstacle information represented by an oblate ellipsoid (obstacle ellipsoid) is input, and each cluster made up of line segments is converted, so that free space information represented by an ellipsoid (free space ellipsoid) is output.
 ここで、図13に示されるように、階層分割により得られたある1つのクラスタC30を、楕円体で表現される自由空間楕円体E30に変換する場合を例として説明する。 Here, as an example, we will explain the case where a cluster C30 obtained by hierarchical division is converted into a free space ellipsoid E30 represented by an ellipsoid, as shown in Figure 13.
 図13の例では、障害物情報は、3つの障害物楕円体E41,E42,E43で表されている。クラスタC30は、移動体1の自己位置Pと障害物楕円体E41,E42,E43それぞれの中心との間に設定された3つの線分の部分線分L31,L32,L33から構成される。 In the example of FIG. 13, the obstacle information is represented by three obstacle ellipsoids E41, E42, and E43. Cluster C30 is composed of three partial line segments L31, L32, and L33 that are set between the self-position P of the mobile unit 1 and the centers of the obstacle ellipsoids E41, E42, and E43, respectively.
 k番目の障害物楕円体(ω,μ,Σ)が、重みω、中心位置を表す3次元ベクトルμ、形状を表す3×3の共分散行列Σにより表現される場合、i番目の自由空間楕円体(ω’,μ’,Σ’)は、重みω’、中心位置を表す3次元ベクトルμ’、形状を表す3×3の共分散行列Σ’により表現され得る。 If the kth obstacle ellipsoid ( ωk , μk , Σk ) is represented by weights ωk , a three-dimensional vector μk representing the center position, and a 3×3 covariance matrix Σk representing its shape, then the ith free space ellipsoid ( ω'i , μ'i , Σ'i ) can be represented by weights ω'i , a three-dimensional vector μ'i representing the center position, and a 3×3 covariance matrix Σ'i representing its shape.
 ここで、クラスタを構成する部分線分ik(図13の例では3本)それぞれに個別の係数として、部分線分の、自己位置Pに近い側の端点に関する係数fik、自己位置Pから遠い側の端点に関する係数tik、長さに関する係数rik、中点に関する係数mik、固有の係数cikを求める。 Here, for each of the partial line segments ik (three in the example of Figure 13) that make up the cluster, individual coefficients are calculated: coefficient f ik for the end point of the partial line segment closer to the self-position P, coefficient t ik for the end point farther from the self-position P, coefficient r ik for the length, coefficient m ik for the midpoint, and unique coefficient c ik .
 係数fik,tikは、以下の式で求めることができる。 The coefficients f ik and t ik can be determined by the following equation.
Figure JPOXMLDOC01-appb-M000001
Figure JPOXMLDOC01-appb-M000001
 係数rik,mik,cikは、上式で求めた係数fik,tikを用いて以下の式で求めることができる。 The coefficients r ik , m ik , and c ik can be calculated from the following equations using the coefficients f ik and t ik calculated above.
Figure JPOXMLDOC01-appb-M000002
Figure JPOXMLDOC01-appb-M000002
 以上のようにして求められた線分ikそれぞれに関する係数と、障害物楕円体(ω,μ,Σ)を用いることで、自由空間楕円体(ω’,μ’,Σ’)は、以下の式により算出することができる。 Using the coefficients for each line segment ik obtained as described above and the obstacle ellipsoid ( ωk , μk , Σk ), the free space ellipsoid ( ω'i , μ'i , Σ'i ) can be calculated using the following formula.
Figure JPOXMLDOC01-appb-M000003
Figure JPOXMLDOC01-appb-M000003
 以上のようにして、線分群からなるクラスタの集合は、楕円体表現の自由空間情報として出力されるようになる。 In this way, a set of clusters consisting of line segments is output as free space information represented by an ellipsoid.
(ボクセル表現への変換)
 出力部114は、線分群からなるクラスタの集合の出力形式を、クラスタがボクセル単位で分割されたボクセル表現に変換することができる。
(Conversion to voxel representation)
The output unit 114 can convert the output format of a set of clusters made up of a group of line segments into a voxel representation in which the clusters are divided in voxel units.
 この例では、地図データを構成する障害物情報は、上述したような扁平楕円体ではなくボクセルで表現されるものとする。この場合、点群データ生成部20からの点群データに基づいて、ボクセル表現の障害物情報が生成され、ボクセル表現の地図データが生成されることで、ボクセル表現の自由空間情報が生成されるようにする。 In this example, the obstacle information constituting the map data is represented by voxels, rather than by oblate ellipsoids as described above. In this case, obstacle information represented in voxels is generated based on the point cloud data from the point cloud data generating unit 20, and map data represented in voxels is generated, thereby generating free space information represented in voxels.
 ここで、図14を参照して、クラスタ群のボクセル表現への変換の流れについて説明する。 Here, we will explain the process of converting a cluster group into a voxel representation, with reference to Figure 14.
 まず、図14のA図に示されるように、移動体1の自己位置と、移動体1の視界に含まれる、ボクセルで表現される障害物情報VXとの間に、複数の自由空間線分を設定する。このとき、各線分について、自己位置から遠い遠方端においてボクセルの刻み幅単位を超えた部分を削除する第1の調整処理が行われるようにする。その後、上述した自由空間情報生成処理と同様に、領域外線分を設定し、全ての自由空間線分と領域外線分からなる線分群を1つのクラスタC0とする。 First, as shown in Figure 14A, multiple free space line segments are set between the self-position of the moving body 1 and the obstacle information VX, which is represented in voxels and is included in the field of view of the moving body 1. At this time, a first adjustment process is performed for each line segment, which deletes the portion that exceeds the voxel step size unit at the far end from the self-position. After that, as in the free space information generation process described above, outside-area line segments are set, and a group of lines consisting of all the free space line segments and outside-area line segments is made into one cluster C0.
 次いで、図14のB図に示されるように、上述した階層分割処理と同様にして、クラスタC0を階層的に分割することで、複数の線分群からなるクラスタの集合CSETが得られる。ここでの階層分割処理においてクラスタを二分割する際には、分割位置をボクセルの刻み幅単位に合わせる第2の調整処理が行われるようにする。 Next, as shown in FIG. 14B, cluster C0 is hierarchically divided in the same manner as in the hierarchical division process described above, to obtain a set CSET of clusters consisting of a plurality of line segment groups. When dividing the cluster into two in this hierarchical division process, a second adjustment process is performed to align the division position with the voxel step size unit.
 そして、図14のC図に示されるように、得られたクラスタ群CGを、ボクセルの集合であるボクセル群VGに変換する。このとき、上述した第1の調整処理と第2の調整処理が行われていれば、クラスタ群CGを構成するクラスタの全ての面が、ボクセルの刻み幅単位に合った状態となるため、ボクセル群VGへの変換を容易にすることができる。 Then, as shown in Figure 14C, the obtained cluster group CG is converted into a voxel group VG, which is a collection of voxels. At this time, if the first and second adjustment processes described above have been performed, all faces of the clusters that make up the cluster group CG will be in a state that matches the voxel step size unit, making it easy to convert to a voxel group VG.
 以上のようにして、線分群からなるクラスタの集合は、ボクセル表現の自由空間情報として出力されるようになる。 In this way, a collection of clusters consisting of line segments is output as free space information in a voxel representation.
<7.移動体の他の構成例>
(移動体の他の構成例1)
 移動体において生成された自由空間情報が、自由空間を表す地図データの生成に用いられてもよい。
7. Other Configuration Examples of the Moving Body
(Another Configuration Example 1 of the Moving Body)
The free space information generated in the moving body may be used to generate map data representing the free space.
 図15は、自由空間を表す地図データを生成するようにした移動体の構成例を示すブロック図である。 FIG. 15 is a block diagram showing an example of the configuration of a mobile body that generates map data representing free space.
 図15に示される移動体1Aは、自由空間地図蓄積部210が新たに設けられる点で、図1に示される移動体1と異なる。 The mobile body 1A shown in FIG. 15 differs from the mobile body 1 shown in FIG. 1 in that a free space map storage unit 210 is newly provided.
 また、移動体1Aにおいて、自由空間情報生成部60は、障害物地図蓄積部40からの地図データではなく、障害物情報生成部30からの障害物情報に基づいて自由空間情報を生成し、自由空間地図蓄積部210に供給する。 In addition, in the mobile unit 1A, the free space information generating unit 60 generates free space information based on the obstacle information from the obstacle information generating unit 30, rather than the map data from the obstacle map storage unit 40, and supplies it to the free space map storage unit 210.
 自由空間地図蓄積部210は、自己位置推定部50からの自己位置データと、自由空間情報生成部60により生成された自由空間情報に基づいて、自由空間を表す地図データを生成し、蓄積する。ここで、自由空間地図蓄積部210により生成された地図データは、自己位置推定部50による自己位置の推定には用いられないものとする。 The free space map accumulation unit 210 generates and accumulates map data representing the free space based on the self-position data from the self-position estimation unit 50 and the free space information generated by the free space information generation unit 60. Here, the map data generated by the free space map accumulation unit 210 is not used by the self-position estimation unit 50 to estimate the self-position.
 行動計画決定部70は、障害物地図蓄積部40に蓄積されている、障害物情報で構成される地図データと、自由空間地図蓄積部210に蓄積されている、自由空間情報で構成される地図データに基づいて、移動体1Aの行動計画を決定する。 The behavior plan determination unit 70 determines a behavior plan for the moving body 1A based on map data consisting of obstacle information stored in the obstacle map storage unit 40 and map data consisting of free space information stored in the free space map storage unit 210.
 以上の構成によれば、自由空間地図蓄積部210によって過去の自由空間情報が記憶されることから、現在の視界外部にある自由空間情報を活用した状況判断や行動計画の決定を行うことが可能となる。 With the above configuration, the free space map storage unit 210 stores past free space information, making it possible to assess the situation and determine an action plan using free space information outside the current field of view.
(移動体の他の構成例2)
 移動体における深度センサは、1つだけでなく複数設けられてもよい。
(Another Configuration Example 2 of the Moving Object)
The moving body may be provided with not only one depth sensor but also multiple depth sensors.
 図16は、複数の深度センサを備えるようにした移動体の構成例を示すブロック図である。 FIG. 16 is a block diagram showing an example of the configuration of a moving object equipped with multiple depth sensors.
 図16に示される移動体1Bは、深度センサ310、点群データ生成部320、および障害物情報生成部330が新たに設けられる点で、図1に示される移動体1と異なる。深度センサ310、点群データ生成部320、および障害物情報生成部330はそれぞれ、深度センサ10、点群データ生成部20、および障害物情報生成部30と同様の機能を有する。 The moving body 1B shown in FIG. 16 differs from the moving body 1 shown in FIG. 1 in that a depth sensor 310, a point cloud data generator 320, and an obstacle information generator 330 are newly provided. The depth sensor 310, the point cloud data generator 320, and the obstacle information generator 330 have the same functions as the depth sensor 10, the point cloud data generator 20, and the obstacle information generator 30, respectively.
 また、移動体1Bにおいて、障害物地図蓄積部40は、障害物情報生成部30により生成された障害物情報だけでなく、障害物情報生成部330により生成された障害物情報を用いて、地図データを生成し、蓄積する。 In addition, in the mobile unit 1B, the obstacle map storage unit 40 generates and stores map data using not only the obstacle information generated by the obstacle information generation unit 30 but also the obstacle information generated by the obstacle information generation unit 330.
 以上の構成によれば、例えば一方の深度センサに基づいて生成される点群データの精度が低い場合でも、他方の深度センサに基づいて生成される点群データにより補完することができるので、全体として、障害物情報の精度を維持することが可能となる。また、複数の深度センサを備える構成は、移動方向の前後や左右など、複数の方向をセンシングしながら移動するロボットなどに適用することもできる。 With the above configuration, even if the accuracy of point cloud data generated based on one depth sensor is low, it can be complemented by point cloud data generated based on the other depth sensor, making it possible to maintain the accuracy of obstacle information overall. Furthermore, a configuration with multiple depth sensors can also be applied to robots that move while sensing multiple directions, such as forward/backward and left/right.
 なお、図16の例においては、2つの深度センサが設けられるものとしたが、3つ以上の深度センサが設けられるようにしてもよい。 Note that in the example of FIG. 16, two depth sensors are provided, but three or more depth sensors may be provided.
(移動体の他の構成例3)
 図17は、複数の深度センサを備え、かつ、自由空間を表す地図データを生成するようにした移動体の構成例を示すブロック図である。
(Another Configuration Example 3 of the Moving Body)
FIG. 17 is a block diagram showing an example of the configuration of a moving body that is equipped with a plurality of depth sensors and that generates map data representing free space.
 図17に示される移動体1Cは、深度センサ310、点群データ生成部320、および障害物情報生成部330が新たに設けられる点で、図15に示される移動体1Aと異なる。 The moving body 1C shown in FIG. 17 differs from the moving body 1A shown in FIG. 15 in that a depth sensor 310, a point cloud data generating unit 320, and an obstacle information generating unit 330 are newly provided.
 以上の構成によれば、障害物情報の精度を維持しつつ、現在の視界外部にある自由空間情報を活用した状況判断や行動計画の決定を行うことが可能となる。 The above configuration makes it possible to maintain the accuracy of obstacle information while making situational assessments and determining action plans using information about the free space outside the current field of view.
(移動体の他の構成例4)
 図18は、ボクセル表現の自由空間情報を出力するようにした移動体の構成例を示すブロック図である。
(Another Configuration Example 4 of the Moving Object)
FIG. 18 is a block diagram showing an example of the configuration of a moving body that outputs free space information in a voxel representation.
 図18に示される移動体1Dは、障害物情報生成部30、障害物地図蓄積部40、および自由空間情報生成部60それぞれに代えて、障害物情報生成部410、障害物地図蓄積部420、および自由空間情報生成部430が設けられる点で、図1に示される移動体1と異なる。 The moving body 1D shown in FIG. 18 differs from the moving body 1 shown in FIG. 1 in that an obstacle information generating unit 410, an obstacle map storage unit 420, and a free space information generating unit 430 are provided instead of the obstacle information generating unit 30, the obstacle map storage unit 40, and the free space information generating unit 60, respectively.
 移動体1Dにおいて、障害物情報生成部410は、点群データ生成部20からの点群データに基づいて、ボクセル表現の障害物情報を生成する。障害物地図蓄積部420は、障害物情報生成部410により生成されたボクセル表現の障害物情報を用いて、ボクセル表現の地図データを生成し、蓄積する。自由空間情報生成部430は、ボクセル表現の地図データ(障害物情報)に基づいて、ボクセル表現の自由空間情報を生成し、行動計画決定部70に供給する。 In the moving body 1D, the obstacle information generation unit 410 generates voxel-represented obstacle information based on the point cloud data from the point cloud data generation unit 20. The obstacle map storage unit 420 generates and stores voxel-represented map data using the voxel-represented obstacle information generated by the obstacle information generation unit 410. The free space information generation unit 430 generates voxel-represented free space information based on the voxel-represented map data (obstacle information) and supplies it to the action plan determination unit 70.
 以上の構成によれば、図14を参照して説明したように、ボクセル表現の自由空間情報を出力することが可能となる。 With the above configuration, it is possible to output free space information in a voxel representation, as described with reference to Figure 14.
 なお、移動体1Dを構成するシステム全体が、3次元のデータではなく、2次元のデータに対応するように構成されてもよい。この場合、ボクセル表現の地図データは、いわゆるグリッドマップとして生成される。また、この場合、階層分割処理においては、バウンディングボックスは、x軸、y軸の2軸により示される2次元の座標空間に設定され、その2軸のうちの、バウンディングボックスの長さが最も長い方向に基づいて、分割方向と分割位置が設定されるようになる。 The entire system constituting the mobile body 1D may be configured to handle two-dimensional data instead of three-dimensional data. In this case, the map data in voxel representation is generated as a so-called grid map. In this case, in the hierarchical division process, the bounding box is set in a two-dimensional coordinate space indicated by two axes, the x-axis and the y-axis, and the division direction and division position are set based on the direction of the two axes along which the length of the bounding box is the longest.
<8.コンピュータのハードウェアの構成例>
 上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
8. Example of computer hardware configuration
The above-mentioned series of processes can be executed by hardware or software. When the series of processes is executed by software, the program constituting the software is installed from a program recording medium into a computer incorporated in dedicated hardware or a general-purpose personal computer.
 図19は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。移動体1や移動体1A乃至1Dを構成する一部の機能ブロックは、例えば、図19に示される構成と同様の構成を有するPCにより構成される。 FIG. 19 is a block diagram showing an example of the hardware configuration of a computer that executes the above-mentioned series of processes by a program. Some of the functional blocks that make up the mobile unit 1 and mobile units 1A to 1D are configured, for example, by a PC having a configuration similar to that shown in FIG. 19.
 CPU(Central Processing Unit)501,ROM(Read Only Memory)502,RAM(Random Access Memory)503は、バス504により相互に接続されている。 The CPU (Central Processing Unit) 501, ROM (Read Only Memory) 502, and RAM (Random Access Memory) 503 are interconnected by a bus 504.
 バス504には、さらに、入出力インタフェース505が接続される。入出力インタフェース505には、キーボード、マウスなどよりなる入力部506、ディスプレイ、スピーカなどよりなる出力部507が接続される。また、入出力インタフェース505には、ハードディスクや不揮発性のメモリなどよりなる記憶部508、ネットワークインタフェースなどよりなる通信部509、リムーバブルメディア511を駆動するドライブ510が接続される。 Further connected to the bus 504 is an input/output interface 505. Connected to the input/output interface 505 are an input unit 506 consisting of a keyboard, mouse, etc., and an output unit 507 consisting of a display, speakers, etc. Also connected to the input/output interface 505 are a storage unit 508 consisting of a hard disk or non-volatile memory, a communication unit 509 consisting of a network interface, etc., and a drive 510 that drives removable media 511.
 以上のように構成されるコンピュータでは、CPU501が、例えば、記憶部508に記憶されているプログラムを入出力インタフェース505とバス504とを介してRAM503にロードして実行することにより、上述した一連の処理が行われる。 In a computer configured as described above, the CPU 501, for example, loads a program stored in the storage unit 508 into the RAM 503 via the input/output interface 505 and the bus 504, and executes the program, thereby performing the above-mentioned series of processes.
 CPU501が実行するプログラムは、例えばリムーバブルメディア511に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル放送といった、有線または無線の伝送媒体を介して提供され、記憶部508にインストールされる。 The programs executed by the CPU 501 are recorded on, for example, removable media 511, or provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital broadcasting, and installed in the storage unit 508.
 コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。 The program executed by the computer may be a program in which processing is performed chronologically in the order described in this specification, or it may be a program in which processing is performed in parallel or at the required timing, such as when called.
 なお、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。 In this specification, a system refers to a collection of multiple components (devices, modules (parts), etc.), regardless of whether all the components are in the same housing. Therefore, multiple devices housed in separate housings and connected via a network, and a single device in which multiple modules are housed in a single housing, are both systems.
 本明細書に記載された効果はあくまで例示であって限定されるものでは無く、また他の効果があってもよい。 The effects described in this specification are merely examples and are not limiting, and other effects may also exist.
 本開示の実施形態は、上述した実施形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。 The embodiments of the present disclosure are not limited to the above-described embodiments, and various modifications are possible without departing from the spirit and scope of the present disclosure.
 例えば、本開示の実施形態は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。 For example, an embodiment of the present disclosure can be configured as cloud computing, in which a single function is shared and processed collaboratively by multiple devices over a network.
 また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。 In addition, each step described in the above flowchart can be executed by a single device, or can be shared and executed by multiple devices.
 さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。 Furthermore, when one step includes multiple processes, the multiple processes included in that one step can be executed by one device, or can be shared and executed by multiple devices.
 本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。 The effects described in this specification are merely examples and are not limiting, and other effects may also exist.
 さらに、本開示に係る技術は以下のような構成をとることができる。
(1)
 移動体の自己位置と、センサデータに基づいて得られる前記移動体の周囲の障害物情報との間に、複数の自由空間線分を設定し、
 前記自由空間線分を含む線分群があらかじめ定められた分割条件を満たす場合、前記分割条件を満たさなくなるまで前記線分群の分割を行い、
 分割された前記線分群を1つのクラスタとした前記クラスタの集合を、自由空間情報として出力する
 情報処理方法。
(2)
 前記自由空間線分を囲むバウンディングボックスにおける、前記移動体からの視界に含まれない領域に対して領域外線分をさらに設定し、
 前記自由空間線分と前記領域外線分とを含む前記線分群が前記分割条件を満たす場合、前記分割条件を満たさなくなるまで前記線分群の分割を行う
 (1)に記載の情報処理方法。
(3)
 前記移動体からの前記視界の境界面、および、前記バウンディングボックスまで未達の前記自由空間線分の延長線上に、前記領域外線分を設定する
 (2)に記載の情報処理方法。
(4)
 分割された前記線分群に対して前記バウンディングボックスを新たに設定することで、分割された前記線分群が前記分割条件を満たすか否かを判定する
 (3)に記載の情報処理方法。
(5)
 前記分割条件は、前記バウンディングボックスに含まれる前記自由空間線分の数についての条件、前記バウンディングボックスにおける前記領域外線分の有無についての条件、前記バウンディングボックスのサイズについての条件のうちの1以上を含む
 (4)に記載の情報処理方法。
(6)
 前記バウンディングボックスに含まれる前記自由空間線分の数が既定数以上の場合、前記バウンディングボックスが設定されている前記線分群の分割を行う
 (5)に記載の情報処理方法。
(7)
 前記バウンディングボックスに含まれる前記自由空間線分の数が既定数を超えない場合、前記バウンディングボックスが設定されている前記線分群を棄却する
 (6)に記載の情報処理方法。
(8)
 前記バウンディングボックスにおいて前記領域外線分が存在する場合、前記バウンディングボックスが設定されている前記線分群の分割を行う
 (5)乃至(7)のいずれかに記載の情報処理方法。
(9)
 前記バウンディングボックスにおいて前記領域外線分が存在しない場合、前記バウンディングボックスが設定されている前記線分群を出力する
 (8)に記載の情報処理方法。
(10)
 前記バウンディングボックスの最大長が既定値を超える場合、前記バウンディングボックスが設定されている前記線分群の分割を行う
 (8)または(9)に記載の情報処理方法。
(11)
 前記バウンディングボックスの最大長が既定値を超えない場合、前記バウンディングボックスが設定されている前記線分群に含まれる前記領域外線分を削除して出力する
 (8)乃至(10)のいずれかに記載の情報処理方法。
(12)
 前記バウンディングボックスは、複数の座標軸により示される座標空間に設定され、
 前記複数の座標軸の軸方向のうちの、前記バウンディングボックスの長さが最も長い軸方向に基づいて分割方向と分割位置を設定し、前記分割位置で前記線分群を分割する
 (4)乃至(11)のいずれかに記載の情報処理方法。
(13)
 前記分割方向における前記バウンディングボックスの中心位置を、前記分割位置として設定する
 (12)に記載の情報処理方法。
(14)
 前記自由空間情報として出力される、前記線分群からなる前記クラスタの集合の出力形式を、他の出力形式に変換して出力する
 (1)乃至(13)のいずれかに記載の情報処理方法。
(15)
 前記他の出力形式は、前記クラスタに含まれる前記線分群の平均と共分散に基づいた楕円体表現を含む
 (14)に記載の情報処理方法。
(16)
 前記他の出力形式は、前記クラスタがボクセル単位で分割されたボクセル表現を含む
 (14)に記載の情報処理方法。
(17)
 出力された前記自由空間情報に基づいて、前記移動体が移動可能な自由空間を表す地図データを生成する
 (1)乃至(16)のいずれかに記載の情報処理方法。
(18)
 前記障害物情報は、深度センサにより取得される前記センサデータに基づいて生成された点群データに基づいて生成される
 (1)乃至(17)のいずれかに記載の情報処理方法。
(19)
 移動体の自己位置と、センサデータに基づいて得られた前記移動体の周囲の障害物情報との間に、複数の自由空間線分を設定する設定部と、
 前記自由空間線分を含む線分群があらかじめ定められた分割条件を満たす場合、前記分割条件を満たさなくなるまで前記線分群の分割を行う分割処理部と、
 分割された前記線分群を1つのクラスタとした前記クラスタの集合を、自由空間情報として出力する出力部と
 を備える情報処理装置。
(20)
 コンピュータに、
 移動体の自己位置と、センサデータに基づいて得られた前記移動体の周囲の障害物情報との間に、複数の自由空間線分を設定し、
 前記自由空間線分を含む線分群があらかじめ定められた分割条件を満たす場合、前記分割条件を満たさなくなるまで前記線分群の分割を行い、
 分割された前記線分群を1つのクラスタとした前記クラスタの集合を、自由空間情報として出力する
 処理を実行させるためのプログラム。
Furthermore, the technology according to the present disclosure can have the following configuration.
(1)
A plurality of free space line segments are set between a self-position of the moving body and obstacle information around the moving body obtained based on sensor data;
If a group of lines including the free space line segment satisfies a predetermined division condition, the group of lines is divided until the group of lines no longer satisfies the division condition;
a set of clusters each including the divided group of line segments is output as free space information.
(2)
Further setting an outside line segment for an area not included in a field of view of the moving body in a bounding box surrounding the free space line segment;
The information processing method according to any one of claims 1 to 5, further comprising the step of dividing the group of lines, the group of lines including the free space line segment and the outside-area line segment, until the group of lines no longer satisfies the division condition.
(3)
The information processing method according to (2), further comprising setting the outside area line segment on a boundary surface of the field of view from the moving body and an extension line of the free space line segment that does not reach the bounding box.
(4)
The information processing method according to (3), further comprising determining whether or not the divided group of line segments satisfies the division condition by newly setting the bounding box for the divided group of line segments.
(5)
The information processing method according to claim 4, wherein the division conditions include one or more of a condition regarding the number of free space segments included in the bounding box, a condition regarding the presence or absence of the outside line segments in the bounding box, and a condition regarding the size of the bounding box.
(6)
The information processing method according to (5), further comprising dividing the group of lines to which the bounding box is set when the number of the free space lines included in the bounding box is equal to or greater than a predetermined number.
(7)
The information processing method according to (6), further comprising: rejecting the group of lines for which the bounding box is set if the number of the free space lines included in the bounding box does not exceed a predetermined number.
(8)
The information processing method according to any one of (5) to (7), further comprising dividing the group of lines for which the bounding box is set, if the line segment outside the bounding box exists.
(9)
The information processing method according to (8), further comprising the step of outputting the group of lines for which the bounding box is set, when the bounding box does not include the line segments outside the bounding box.
(10)
The information processing method according to (8) or (9), further comprising dividing the group of lines to which the bounding box is set when the maximum length of the bounding box exceeds a predetermined value.
(11)
The information processing method according to any one of (8) to (10), further comprising the steps of: deleting the outside line segments included in the group of lines to which the bounding box is set and outputting the line segments if the maximum length of the bounding box does not exceed a predetermined value.
(12)
The bounding box is set in a coordinate space defined by a plurality of coordinate axes;
The information processing method according to any one of (4) to (11), further comprising: setting a division direction and a division position based on an axis direction among the plurality of coordinate axes in which the length of the bounding box is the longest; and dividing the group of lines at the division position.
(13)
The information processing method according to (12), further comprising setting a center position of the bounding box in the division direction as the division position.
(14)
The information processing method according to any one of (1) to (13), further comprising converting an output format of the set of clusters made up of the group of line segments, which is output as the free space information, into another output format and outputting the converted output format.
(15)
The information processing method according to any one of claims 1 to 14, wherein the other output format includes an ellipsoidal representation based on a mean and a covariance of the group of line segments included in the cluster.
(16)
The information processing method according to any one of claims 1 to 14, wherein the other output format includes a voxel representation in which the cluster is divided in voxel units.
(17)
The information processing method according to any one of (1) to (16), further comprising generating map data representing a free space in which the moving object can move based on the output free space information.
(18)
The information processing method according to any one of (1) to (17), wherein the obstacle information is generated based on point cloud data generated based on the sensor data acquired by a depth sensor.
(19)
a setting unit that sets a plurality of free space line segments between a self-position of a moving object and obstacle information around the moving object obtained based on sensor data;
a division processing unit that, when a group of lines including the free space line segment satisfies a predetermined division condition, divides the group of lines until the group of lines no longer satisfies the division condition;
and an output unit that outputs a set of clusters, each of which is formed by dividing the group of divided line segments, as free space information.
(20)
On the computer,
A plurality of free space line segments are set between a self-position of the moving body and obstacle information around the moving body obtained based on the sensor data;
If a group of lines including the free space line segment satisfies a predetermined division condition, the group of lines is divided until the group of lines no longer satisfies the division condition;
a set of clusters each including the divided group of line segments, the set of clusters being output as free space information.
 1 移動体, 10 深度センサ, 20 点群データ生成部, 30 障害物情報生成部, 40 障害物地図蓄積部, 50 自己位置推定部, 60 自由空間情報生成部, 70 行動計画決定部, 80 アクチュエータ制御部, 111 線分設定部, 112 分割判定部, 113 分割処理部, 114 出力部, 121 自由空間線分設定部, 122 領域外線分設定部, 210 自由空間地図蓄積部, 310 深度センサ, 320 点群データ生成部, 330 障害物情報生成部 1 Mobile object, 10 Depth sensor, 20 Point cloud data generation unit, 30 Obstacle information generation unit, 40 Obstacle map storage unit, 50 Self-position estimation unit, 60 Free space information generation unit, 70 Action plan determination unit, 80 Actuator control unit, 111 Line setting unit, 112 Division judgment unit, 113 Division processing unit, 114 Output unit, 121 Free space line setting unit, 122 Area outside line setting unit, 210 Free space map storage unit, 310 Depth sensor, 320 Point cloud data generation unit, 330 Obstacle information generation unit

Claims (20)

  1.  移動体の自己位置と、センサデータに基づいて得られる前記移動体の周囲の障害物情報との間に、複数の自由空間線分を設定し、
     前記自由空間線分を含む線分群があらかじめ定められた分割条件を満たす場合、前記分割条件を満たさなくなるまで前記線分群の分割を行い、
     分割された前記線分群を1つのクラスタとした前記クラスタの集合を、自由空間情報として出力する
     情報処理方法。
    A plurality of free space line segments are set between a self-position of the moving body and obstacle information around the moving body obtained based on sensor data;
    If a group of lines including the free space line segment satisfies a predetermined division condition, the group of lines is divided until the group of lines no longer satisfies the division condition;
    a set of clusters each including the divided group of line segments is output as free space information.
  2.  前記自由空間線分を囲むバウンディングボックスにおける、前記移動体からの視界に含まれない領域に対して領域外線分をさらに設定し、
     前記自由空間線分と前記領域外線分とを含む前記線分群が前記分割条件を満たす場合、前記分割条件を満たさなくなるまで前記線分群の分割を行う
     請求項1に記載の情報処理方法。
    Further setting an outside line segment for an area not included in a field of view of the moving body in a bounding box surrounding the free space line segment;
    The information processing method according to claim 1 , wherein, when the group of lines including the free space line segment and the outside-area line segment satisfies the division condition, the group of lines is divided until the group of lines no longer satisfies the division condition.
  3.  前記移動体からの前記視界の境界面、および、前記バウンディングボックスまで未達の前記自由空間線分の延長線上に、前記領域外線分を設定する
     請求項2に記載の情報処理方法。
    The information processing method according to claim 2 , further comprising setting the outside area line segment on a boundary surface of the field of view from the moving body and on an extension line of the free space line segment that does not reach the bounding box.
  4.  分割された前記線分群に対して前記バウンディングボックスを新たに設定することで、分割された前記線分群が前記分割条件を満たすか否かを判定する
     請求項3に記載の情報処理方法。
    The information processing method according to claim 3 , further comprising determining whether or not the divided group of line segments satisfies the division condition by newly setting the bounding box for the divided group of line segments.
  5.  前記分割条件は、前記バウンディングボックスに含まれる前記自由空間線分の数についての条件、前記バウンディングボックスにおける前記領域外線分の有無についての条件、前記バウンディングボックスのサイズについての条件のうちの1以上を含む
     請求項4に記載の情報処理方法。
    The information processing method according to claim 4 , wherein the division conditions include one or more of a condition regarding the number of free space line segments included in the bounding box, a condition regarding the presence or absence of the outside line segments in the bounding box, and a condition regarding the size of the bounding box.
  6.  前記バウンディングボックスに含まれる前記自由空間線分の数が既定数以上の場合、前記バウンディングボックスが設定されている前記線分群の分割を行う
     請求項5に記載の情報処理方法。
    The information processing method according to claim 5 , further comprising the step of dividing the group of lines for which the bounding box is set, when the number of the free space lines included in the bounding box is equal to or greater than a predetermined number.
  7.  前記バウンディングボックスに含まれる前記自由空間線分の数が既定数を超えない場合、前記バウンディングボックスが設定されている前記線分群を棄却する
     請求項6に記載の情報処理方法。
    The information processing method according to claim 6 , further comprising the step of: rejecting the group of lines for which the bounding box is set, if the number of the free space lines included in the bounding box does not exceed a predetermined number.
  8.  前記バウンディングボックスにおいて前記領域外線分が存在する場合、前記バウンディングボックスが設定されている前記線分群の分割を行う
     請求項5に記載の情報処理方法。
    The information processing method according to claim 5 , further comprising the step of dividing the group of lines for which the bounding box is set, if the line segment outside the bounding box is present.
  9.  前記バウンディングボックスにおいて前記領域外線分が存在しない場合、前記バウンディングボックスが設定されている前記線分群を出力する
     請求項8に記載の情報処理方法。
    The information processing method according to claim 8 , further comprising the step of outputting the group of lines for which the bounding box is set, when the bounding box does not include the line segments outside the bounding box.
  10.  前記バウンディングボックスの最大長が既定値を超える場合、前記バウンディングボックスが設定されている前記線分群の分割を行う
     請求項8に記載の情報処理方法。
    The information processing method according to claim 8 , further comprising the step of: dividing the group of lines to which the bounding box is set, when a maximum length of the bounding box exceeds a predetermined value.
  11.  前記バウンディングボックスの最大長が既定値を超えない場合、前記バウンディングボックスが設定されている前記線分群に含まれる前記領域外線分を削除して出力する
     請求項8に記載の情報処理方法。
    The information processing method according to claim 8 , further comprising the steps of: deleting the outside line segments included in the group of lines to which the bounding box is set and outputting the result if the maximum length of the bounding box does not exceed a predetermined value.
  12.  前記バウンディングボックスは、複数の座標軸により示される座標空間に設定され、
     前記複数の座標軸の軸方向のうちの、前記バウンディングボックスの長さが最も長い軸方向に基づいて分割方向と分割位置を設定し、前記分割位置で前記線分群を分割する
     請求項4に記載の情報処理方法。
    The bounding box is set in a coordinate space indicated by a plurality of coordinate axes;
    The information processing method according to claim 4 , further comprising: setting a division direction and a division position based on an axis direction among the plurality of coordinate axes along which a length of the bounding box is longest; and dividing the group of line segments at the division position.
  13.  前記分割方向における前記バウンディングボックスの中心位置を、前記分割位置として設定する
     請求項12に記載の情報処理方法。
    The information processing method according to claim 12 , further comprising setting a center position of the bounding box in the division direction as the division position.
  14.  前記自由空間情報として出力される、前記線分群からなる前記クラスタの集合の出力形式を、他の出力形式に変換して出力する
     請求項1に記載の情報処理方法。
    The information processing method according to claim 1 , further comprising converting an output format of the set of clusters made up of the group of line segments, which is output as the free space information, into another output format and outputting the converted format.
  15.  前記他の出力形式は、前記クラスタに含まれる前記線分群の平均と共分散に基づいた楕円体表現を含む
     請求項14に記載の情報処理方法。
    The method of claim 14 , wherein the other output format includes an ellipsoidal representation based on a mean and a covariance of the line segments included in the cluster.
  16.  前記他の出力形式は、前記クラスタがボクセル単位で分割されたボクセル表現を含む
     請求項14に記載の情報処理方法。
    The information processing method according to claim 14 , wherein the other output format includes a voxel representation in which the cluster is divided in units of voxels.
  17.  出力された前記自由空間情報に基づいて、前記移動体が移動可能な自由空間を表す地図データを生成する
     請求項1に記載の情報処理方法。
    The information processing method according to claim 1 , further comprising generating map data representing a free space in which the mobile object can move based on the output free space information.
  18.  前記障害物情報は、深度センサにより取得される前記センサデータに基づいて生成された点群データに基づいて生成される
     請求項1に記載の情報処理方法。
    The information processing method according to claim 1 , wherein the obstacle information is generated based on point cloud data generated based on the sensor data acquired by a depth sensor.
  19.  移動体の自己位置と、センサデータに基づいて得られた前記移動体の周囲の障害物情報との間に、複数の自由空間線分を設定する設定部と、
     前記自由空間線分を含む線分群があらかじめ定められた分割条件を満たす場合、前記分割条件を満たさなくなるまで前記線分群の分割を行う分割処理部と、
     分割された前記線分群を1つのクラスタとした前記クラスタの集合を、自由空間情報として出力する出力部と
     を備える情報処理装置。
    a setting unit that sets a plurality of free space line segments between a self-position of a moving object and obstacle information around the moving object obtained based on sensor data;
    a division processing unit that, when a group of lines including the free space line segment satisfies a predetermined division condition, divides the group of lines until the group of lines no longer satisfies the division condition;
    and an output unit that outputs a set of clusters, each of which is formed by dividing the group of divided line segments, as free space information.
  20.  コンピュータに、
     移動体の自己位置と、センサデータに基づいて得られた前記移動体の周囲の障害物情報との間に、複数の自由空間線分を設定し、
     前記自由空間線分を含む線分群があらかじめ定められた分割条件を満たす場合、前記分割条件を満たさなくなるまで前記線分群の分割を行い、
     分割された前記線分群を1つのクラスタとした前記クラスタの集合を、自由空間情報として出力する
     処理を実行させるためのプログラム。
    On the computer,
    A plurality of free space line segments are set between a self-position of the moving body and obstacle information around the moving body obtained based on the sensor data;
    If a group of lines including the free space line segment satisfies a predetermined division condition, the group of lines is divided until the group of lines no longer satisfies the division condition;
    a set of clusters each including the divided group of line segments, the set of clusters being output as free space information.
PCT/JP2023/040869 2022-11-30 2023-11-14 Information processing method, information processing device, and program WO2024116817A1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022-191924 2022-11-30

Publications (1)

Publication Number Publication Date
WO2024116817A1 true WO2024116817A1 (en) 2024-06-06

Family

ID=

Similar Documents

Publication Publication Date Title
CN110363058B (en) Three-dimensional object localization for obstacle avoidance using one-shot convolutional neural networks
CN109116867B (en) Unmanned aerial vehicle flight obstacle avoidance method and device, electronic equipment and storage medium
JP2022513866A (en) Object classification using out-of-domain context
CN108509820B (en) Obstacle segmentation method and device, computer equipment and readable medium
CN108470174B (en) Obstacle segmentation method and device, computer equipment and readable medium
US20200057160A1 (en) Multi-object tracking based on lidar point cloud
KR101628155B1 (en) Method for detecting and tracking unidentified multiple dynamic object in real time using Connected Component Labeling
CN112183330B (en) Target detection method based on point cloud
Mokrane et al. UAV path planning based on dynamic programming algorithm on photogrammetric DEMs
JP2020042447A (en) Device, program and method for estimating terminal position from immovable object information
WO2021131685A1 (en) Information processing apparatus, information processing method, and program
WO2024116817A1 (en) Information processing method, information processing device, and program
US20220397903A1 (en) Self-position estimation model learning method, self-position estimation model learning device, recording medium storing self-position estimation model learning program, self-position estimation method, self-position estimation device, recording medium storing self-position estimation program, and robot
Muller et al. A probabilistic sonar sensor model for robust localization of a small-size blimp in indoor environments using a particle filter
KR20220027359A (en) Method for adjusting grid interval of height map for autonomous driving
Saleh et al. Estimating the 2d static map based on moving stereo camera
WO2021131990A1 (en) Information processing device, information processing method, and program
EP4123593A1 (en) Rapid object detection for vehicle situational awareness
CN112731335B (en) Multi-unmanned aerial vehicle cooperative positioning method based on full-area laser scanning
CN115236687A (en) Object tracking method, device, equipment and storage medium
CN114387462A (en) Dynamic environment sensing method based on binocular camera
US11645762B2 (en) Obstacle detection
Kanai et al. Improvement of 3D Monte Carlo localization using a depth camera and terrestrial laser scanner
Zhang et al. An integrated unmanned aerial vehicle system for vision based control
WO2022160101A1 (en) Orientation estimation method and apparatus, movable platform, and readable storage medium