Information processing apparatus, information processing method, and information processing program
To provide an information processing apparatus, an information processing method, and an information processing program that enable detection of a non-planar environment at low cost. The information processing apparatus according to an embodiment includes: a detection unit that detects an obstacle location that becomes obstruction for traveling in a traveling direction on the basis of a three-dimensional point cloud determined to be a traveling surface and a two-dimensional point cloud corresponding to the traveling direction.
1 . An information processing apparatus, comprising:
processing circuitry configured to
detect an obstacle location that becomes an obstruction for traveling in a traveling direction on a basis of (i) a three-dimensional point cloud determined to be a traveling surface and (ii) a two-dimensional point cloud corresponding to the traveling direction;
estimate a normal line for every point included in a plane specified on a basis of the three-dimensional point cloud;
correct a direction of one of the normal lines such that an inner product of a vector from a sensor to a target point and a normal vector of the target point becomes negative;
determine a normal line-added point cloud with normal line information of the normal line estimated for every point included in the plane, the normal line information including continuous values of the three-dimensional point cloud;
determine the traveling surface on a basis of the normal line-added point cloud;
generate a map based on two-dimensional information on a basis of information indicating the obstacle location; and
control travelling of a mobile body on a basis of the map.
2 . The information processing apparatus according to claim 1 , wherein the processing circuitry is configured to determine whether each of divided areas is one of the obstacle location and the traveling surface on a basis of height information of points included in each of the divided areas, the divided areas being obtained by dividing a point cloud obtained by integrating the normal line-added point cloud and the two-dimensional point cloud by a grid having a predetermined size.
3 . The information processing apparatus according to claim 2 , wherein
in a case where a target area that is a divided area to be a target among the divided areas does not include the normal line information, the processing circuitry is configured to determine whether the target area is one of the obstacle location and the traveling surface on a basis of height information of points included in the target area and a divided area having the normal line information among the divided areas around the target area.
4 . The information processing apparatus according to claim 2 , wherein
in a case where all of the divided areas around a target area that is a divided area to be a target among the divided areas do not include the normal line information, the processing circuitry is configured to determine that the target area includes the obstacle location.
5 . The information processing apparatus according to claim 1 , wherein the processing circuitry is configured to determine the traveling surface further on a basis of a component in a gravity direction of the normal line.
6 . The information processing apparatus according to claim 1 , wherein
the processing circuitry is configured to specify the plane on a basis of a first principal component and a second principal component acquired by principal component analysis on the three-dimensional point cloud.
7 . The information processing apparatus according to claim 1 , wherein
the three-dimensional point cloud is a point cloud obtained from one or more three-dimensional distance measurement sensors, and
the two-dimensional point cloud is a point cloud obtained from one or more two-dimensional distance measurement sensors.
8 . The information processing apparatus according to claim 7 , wherein the three-dimensional point cloud is a point cloud generated on a basis of a signal acquired by each of reception elements arranged in a predetermined array and included in the one or more three-dimensional distance measurement sensors.
9 . The information processing apparatus according to claim 7 , wherein the two-dimensional point cloud is a point cloud generated by the one or more two-dimensional distance measurement sensors on a basis of a plane having a predetermined height with respect to the traveling surface as a starting point and being substantially parallel or having a predetermined angle with respect to the traveling surface.
10 . An information processing method executed by a processor, the method comprising:
detecting an obstacle location that becomes an obstruction for traveling in a traveling direction on a basis of (i) a three-dimensional point cloud determined to be a traveling surface and (ii) a two-dimensional point cloud corresponding to the traveling direction;
estimating a normal line for every point included in a plane specified on a basis of the three-dimensional point cloud;
correcting a direction of one of the normal lines such that an inner product of a vector from a sensor to a target point and a normal vector of the target point becomes negative;
determining a normal line-added point cloud with normal line information of the normal line estimated for every point included in the plane, the normal line information including continuous values of the three-dimensional point cloud;
determining the traveling surface on a basis of the normal line-added point cloud;
generating a map based on two-dimensional information on a basis of information indicating the obstacle location; and
controlling travelling of a mobile body on a basis of the map.
11 . A non-transitory computer readable medium storing an information processing program that when executed by a computer causes the computer to execute a method, the method comprising:
detecting an obstacle location that becomes an obstruction for traveling in a traveling direction on a basis of (i) a three-dimensional point cloud determined to be a traveling surface and (ii) a two-dimensional point cloud corresponding to the traveling direction;
estimating a normal line for every point included in a plane specified on a basis of the three-dimensional point cloud;
correcting a direction of one of the normal lines such that an inner product of a vector from a sensor to a target point and a normal vector of the target point becomes negative;
determining a normal line-added point cloud with normal line information of the normal line estimated for every point included in the plane, the normal line information including continuous values of the three-dimensional point cloud;
determining the traveling surface on a basis of the normal line-added point cloud;
generating a map based on two-dimensional information on a basis of information indicating the obstacle location; and
controlling travelling of a mobile body on a basis of the map.
12 . The information processing apparatus according to claim 1 , wherein the continuous values of the three-dimensional point cloud include a normal vector of the normal line.
13 . The information processing apparatus according to claim 1 , wherein the continuous values of the three-dimensional point cloud include an angle of the normal line.
14 . The information processing apparatus according to claim 1 , wherein the processing circuitry is configured to estimate the normal line for the target point based on coordinate data of the target point and coordinate data of neighboring points of the target point.
15 . The information processing apparatus according to claim 6 , wherein the processing circuitry is configured to perform the principal component analysis using data of points acquired from the target point and neighboring points of the target point to estimate the normal line for the target point.
16 . The information processing apparatus according to claim 1 , wherein the processing circuitry is configured to determine whether each point of the normal line-added point cloud constitutes the traveling surface by comparing the continuous values of the normal line information to a predetermined threshold.