Information processing system, information processing method, and computer program
The information processing system corrects vehicle travel trajectories using a pose graph optimization method, addressing measurement errors in MMS systems to enhance the precision of three-dimensional map generation.
Patent Information
- Application Number
- JP2023096366
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-06-12
- Publication Date
- 2024-12-24
- Estimated Expiration
- 2043-06-12
AI Technical Summary
Existing three-dimensional map generation systems using Mobile Mapping Systems (MMS) face challenges in accurately determining the vehicle's travel trajectory due to measurement errors, which affect the precision of the generated maps in an absolute coordinate system.
An information processing system that includes an acquisition unit for obtaining travel data from multiple vehicle events, a graph construction unit for creating a pose graph with vertices representing vehicle postures, and a correction unit for optimizing the graph to correct the travel trajectory based on point cloud data comparisons and prediction errors.
The system enables high-precision correction of vehicle travel trajectories by optimizing the pose graph, thereby improving the accuracy of three-dimensional map generation by accounting for relative postures between different vehicle events and incorporating prediction errors.
Smart Images

Figure 2024177942000001_ABST
Abstract
Description
[Technical field]
[0001] The present disclosure relates to an information processing system, an information processing method, and a computer program. [Background technology]
[0002] Conventionally, a three-dimensional map is generated using a mobile mapping system (MMS) mounted on a vehicle. The MMS is a measurement system equipped with a GPS receiver, a laser scanner, a camera, an inertial measurement unit (IMU), and the like (see, for example, Patent Document 1).
[0003] The laser scanner reflects a laser beam around the vehicle, receives the reflected light generated by the laser beam reflecting off the terrain, structures, etc., and generates point cloud data representing the spatial shape around the vehicle based on the received light signal. The point cloud is expressed in a relative coordinate system with respect to the vehicle. The point cloud in the relative coordinate system is converted into a point cloud in the absolute coordinate system from the vehicle's travel trajectory determined using a GPS receiver and an IMU. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] JP 2019-138786 A Summary of the Invention [Problem to be solved by the invention]
[0005] As mentioned above, in order to generate a highly accurate 3D map of the absolute coordinate system, it is necessary to accurately determine the vehicle's travel trajectory. However, measurement data using MMS contains errors.
[0006] Therefore, according to one aspect of the present disclosure, it is desirable to provide a technique capable of correcting a vehicle's travel trajectory including errors with high accuracy. [Means for solving the problem]
[0007] According to one aspect of the present disclosure, there is provided an information processing system including an acquisition unit, a graph construction unit, and a correction unit. The acquisition unit is configured to acquire first driving data for a driving section of the vehicle based on measurement results of a measurement system mounted on the vehicle during a first driving event of the vehicle, and second driving data for the driving section of the vehicle based on measurement results of the measurement system during a second driving event in which the vehicle travels the same section as the first driving event. The first driving data and the second driving data each include data representing the driving trajectory of the vehicle during the driving section and point cloud data representing the surrounding spatial shape.
[0008] The graph construction unit is configured to construct a pose graph in which a number of vertices representing the vehicle's posture at a number of points in time are set for each driving event based on the acquired first and second driving data, and between the vertices of different driving events, edges are added that represent the relative posture between the vertices based on a comparison of point cloud data around the vehicle that corresponds to the vertices.
[0009] The correction unit is configured to correct the vehicle's driving trajectory represented by at least one of the first driving data and the second driving data based on the vehicle posture represented by each vertex of the pose graph adjusted by optimizing the constructed pose graph.
[0010] According to this information processing system, the vehicle's driving trajectory can be corrected with high accuracy by optimizing a pose graph based on multiple driving data for the same section, in particular by optimizing a pose graph that takes into account the relative posture between driving events based on a comparison of point cloud data of different driving events.
[0011] According to one aspect of the present disclosure, the graph constructor can construct a pose graph for each driving event such that a vertex representing the vehicle's posture is set for each of a plurality of small sections defined by dividing a driving section. By setting a vertex for each small section and determining the relative posture between driving events based on the point cloud data corresponding to each vertex, the pose graph can be optimized to correct the vehicle's driving trajectory with high accuracy.
[0012] According to one aspect of the present disclosure, the graph constructor may be configured to construct a pose graph as follows: for a first driving event, the graph constructor determines a vehicle attitude for each of a plurality of small sections based on the first driving data, sets vertices representing the determined vehicle attitude for each small section, and sets edges representing relative attitudes between the set vertices.
[0013] The graph construction unit determines the vehicle attitude in each of the multiple small sections for the second driving event based on the second driving data, sets vertices representing the determined vehicle attitude for each small section, and sets edges representing relative attitudes between the set vertices.
[0014] The graph construction unit determines a relative attitude between two corresponding vertices for each combination of two corresponding vertices between different driving events determined by pairing a vertex for each short section set for the first driving event with a vertex for each short section set for the second driving event, and sets an edge between the vertices representing the determined relative attitude.
[0015] The graph construction unit determines the relative posture between two corresponding vertices, that is, between a first vertex corresponding to a first driving event and a second vertex corresponding to a second driving event, based on a comparison of point cloud data of a small section corresponding to the first vertex determined from the first driving data with point cloud data of a small section corresponding to the second vertex determined from the second driving data.
[0016] According to one aspect of the present disclosure, the graph construction unit may be configured to determine the relative attitude between two corresponding vertices based on a comparison of point cloud data of a plurality of adjacent sub-sections including the sub-section corresponding to the first vertex with point cloud data of a plurality of adjacent sub-sections including the sub-section corresponding to the second vertex.
[0017] Based on such a comparison of point cloud data, the relative postures between vertices can be determined with greater accuracy, and the driving trajectory can be corrected with high accuracy through pose graph optimization.
[0018] According to one aspect of the present disclosure, the graph constructor may be configured to determine a combination of two vertices that correspond to each other based on the Euclidean distance between the vertices.
[0019] According to an aspect of the present disclosure, the graph constructor may set a plurality of vertices set for the first driving event to be immovable during optimization of the pose graph by providing fixed attributes to the plurality of vertices. In this case, the corrector may be configured to correct the vehicle's driving trajectory represented by the second driving data.
[0020] It is possible to use highly reliable driving data, such as corrected driving data, as the first driving data to correct the second driving data. In such a case, the vertices related to the first driving event are set to fixed attributes, pose graph optimization is performed, and the second driving data is corrected, so that the second driving data can be appropriately corrected.
[0021] According to an aspect of the present disclosure, the measurement system may be configured to output a prediction error of the measurement value together with the measurement value as a measurement result. The graph construction unit may be configured to connect, for at least a portion of the multiple vertices when constructing the pose graph, a fixed vertex representing a prediction error for each vertex via an edge representing a relative posture between the vertices, which indicates that the vertex to be connected and the fixed vertex have the same posture.
[0022] By constructing a pose graph in this manner, it is possible to take prediction errors into account and correct the driving data with high accuracy. According to one aspect of the present disclosure, a computer program may be provided that causes a computer to at least partially realize the functions of an acquisition unit, a graph construction unit, and a correction unit in the above-mentioned information processing system.
[0023] According to an aspect of the present disclosure, there may be provided an information processing method corresponding to the above-described information processing system. According to an aspect of the present disclosure, there may be provided an information processing method executed by a computer.
[0024] According to an aspect of the present disclosure, an information processing method may include acquiring first driving data for a driving section of a vehicle based on measurement results of a measurement system mounted on a vehicle during a first driving event of the vehicle, and second driving data for the driving section of the vehicle based on measurement results of the measurement system during a second driving event in which the vehicle travels the same section as the first driving event. The first driving data and the second driving data may include data representing a driving trajectory of the vehicle during the driving section and point cloud data representing a surrounding spatial shape, respectively.
[0025] The information processing method may include constructing a pose graph in which a number of vertices are set representing the vehicle's posture at a number of points in time for each driving event based on the acquired first and second driving data, and edges are added between the vertices of different driving events to represent the relative posture between the vertices based on a comparison of point cloud data around the vehicle that corresponds to the vertices.
[0026] The information processing method may include correcting the vehicle's driving trajectory represented by at least one of the first driving data and the second driving data based on the vehicle posture represented by each vertex of the pose graph adjusted by optimizing the constructed pose graph. [Brief description of the drawings]
[0027] [Figure 1] FIG. 2 is a block diagram illustrating a configuration of a correction device. [Diagram 2] FIG. 2 is an explanatory diagram regarding driving data. [Diagram 3] 11 is a flowchart showing a correction-related process executed by a processor. [Figure 4] FIG. 2 is an explanatory diagram regarding generation of three-dimensional point cloud data. [Diagram 5] FIG. 1 is an explanatory diagram regarding generation of a pose graph. [Figure 6] 11 is a flowchart illustrating an inter-event connection process executed by a processor. [Figure 7] FIG. 13 is an explanatory diagram regarding vertex connections between different driving events. [Figure 8] 8A and 8B are diagrams for explaining the addition of a vertex corresponding to a prediction error. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0028] Exemplary embodiments of the present disclosure will now be described with reference to the drawings. The correction device 10 of this embodiment shown in FIG. 1 is configured by installing a computer program for causing a general-purpose information processing system to function as the correction device 10.
[0029] The correction device 10 includes a processor 11, a memory 13, a storage 15, a display unit 17, an operation unit 19, and a data input / output unit 21. The processor 11 executes processing in accordance with a computer program stored in the storage 15. The memory 13 includes a RAM, and is used as a working memory when the processor 11 executes processing.
[0030] The storage 15 is configured with a hard disk drive or a solid state drive, and stores computer programs and data used when executing processes according to the computer programs.
[0031] The display unit 17 is controlled by the processor 11 and configured to display various information to a user who operates the correction device 10. The display unit 17 includes, for example, a liquid crystal display.
[0032] The operation unit 19 is configured to input operation signals from a user to the correction device 10 to the processor 11. The operation unit 19 includes, for example, a keyboard and a pointing device.
[0033] The data input / output unit 21 is used for inputting data from the outside and outputting data to the outside. The data input / output unit 21 may include a communication interface for communicating with an external device, for example, by wire or wirelessly. The data input / output unit 21 may include a USB interface capable of reading and writing data to a USB memory. The data input / output unit 21 may include a media reader / writer capable of reading and writing data to a card-type recording medium.
[0034] According to this embodiment, a plurality of pieces of traveling data obtained from one vehicle 1 are stored in the storage 15 (see FIG. 2). Each piece of traveling data is input to the correction device 10 through the data input / output unit 21 and recorded in the storage 15. The traveling data is acquired from the vehicle 1, for example, by communication and recorded in the storage 15. Alternatively, the traveling data is read from a USB memory or other recording medium and recorded in the storage 15.
[0035] The vehicle 1 is, for example, a four-wheeled vehicle. The storage 15 records driving data for each driving event when one vehicle 1 drives the same section multiple times. Here, when one vehicle 1 drives the same section multiple times, each driving is expressed as one driving event.
[0036] A mobile mapping system (MMS) 5 is mounted as a measurement system on the vehicle 1. The MMS 5 includes a GPS receiver, a laser scanner, a camera, and an inertial measurement unit (IMU) (not shown), and is configured to be able to measure the position x, y, z and rotational attitudes ψ, θ, φ of the vehicle 1, as well as the spatial shape around the vehicle 1.
[0037] The travel data for each travel event is travel data of the vehicle 1 based on the measurement results in the corresponding travel event by the MMS 5. Specifically, the travel data for each travel event includes travel trajectory data representing the travel trajectory of the vehicle 1 generated from the measurement data of the MMS 5 in the corresponding travel event, and a group of scan data representing the spatial shape around the vehicle 1 measured as the vehicle 1 moves along the travel trajectory.
[0038] The travel trajectory data is time-series data of the positions x, y, z and rotational attitudes ψ, θ, φ of the vehicle 1 during the corresponding travel event. The travel trajectory data may be time-series data that describes the three-dimensional positions x, y, z and rotational attitudes ψ, θ, φ of the vehicle 1 at each point in time together with a time stamp indicating the measurement date and time.
[0039] The position z of the vehicle 1 represents its position in the height direction perpendicular to the ground. The positions x and y of the vehicle 1 represent the position of the vehicle 1 on a plane perpendicular to the height direction. The rotational attitudes ψ, θ, and φ of the vehicle 1 correspond to the roll angle, pitch angle, and yaw angle of the vehicle 1, respectively.
[0040] Each piece of scan data is generated by a laser scanner included in the MMS 5 reflecting a laser beam around the vehicle 1 and receiving the reflected beam. The laser scanner is a two-dimensional laser scanner.
[0041] Each piece of scan data is two-dimensional point cloud data that represents the surroundings as seen from a point when the vehicle 1 is located at that point, for example, the spatial shape on a plane perpendicular to the traveling direction of the vehicle 1, in a relative coordinate system from the point. By combining multiple pieces of scan data generated as the vehicle 1 moves, three-dimensional point cloud data that represents the three-dimensional shape of the surroundings of the vehicle 1 is generated.
[0042] Since the scan data obtained from MMS5 in this manner is data expressed in a relative coordinate system, errors contained in the position and rotational attitude of the vehicle 1 determined from the driving trajectory data will cause position errors in the point cloud when generating three-dimensional point cloud data and converting it to absolute coordinates.
[0043] The correction device 10 realizes a process for removing such errors from the driving trajectory data by optimizing a pose graph using scan data of the same section in multiple driving events.
[0044] Pose graph optimization can be achieved by utilizing existing libraries. For example, the SparseOptimizer in the g2o library can be used for pose graph optimization. VertexSE3 and EdgeSE3 can be used to set the vertices and edges that make up the pose graph.
[0045] When an execution instruction is input from the user via the operation unit 19, the processor 11 executes the correction-related process shown in FIG. 3 in order to correct the travel locus data.
[0046] When the correction-related process starts, the processor 11 reads out from the storage 15 a plurality of pieces of driving data corresponding to a plurality of driving events in which the vehicle 1 travels through a driving section designated by the user (hereinafter, referred to as the designated section) (S110). By this reading, the processor 11 acquires, as the plurality of pieces of driving data, driving data for each driving event when the vehicle 1 travels through the same designated section a plurality of times (S110).
[0047] Specifically, the processor 11 can acquire first driving data regarding the driving of the vehicle 1 in a designated section in a first driving event of the vehicle 1, and second driving data regarding the driving of the vehicle 1 in a designated section in a second driving event which is a driving event different from the first driving event and in which the vehicle 1 drives the same designated section as the first driving event (S110).
[0048] Next, the processor 11 selects one of the driving events (S120), and generates three-dimensional point cloud data for each small section based on the group of driving trajectory data and scan data included in the driving data of the selected driving event (S130).
[0049] The small sections are defined by dividing the designated section. For example, the designated section is divided into a plurality of small sections at equal distance intervals along the travel trajectory. For example, the small sections are sections from the start point to the end point of each segment when the travel trajectory in the designated section is fragmented at a predetermined distance interval.
[0050] The three-dimensional point cloud data is generated by combining multiple scan data generated during travel in the corresponding small section along the travel trajectory, as shown in Fig. 4. For example, the three-dimensional point cloud data is generated each time the vehicle 1 travels a predetermined distance in the specified section.
[0051] In the next step S140, the processor 11 sets vertices of a pose graph for each small section based on the travel trajectory data of the selected travel event. Each vertex is associated with the posture V of the vehicle 1, i.e., the positions x, y, z and the rotational postures ψ, θ, φ of the vehicle 1, in the corresponding small section, which is determined from the travel trajectory data.
[0052] That is, each vertex represents the pose V=(x,y,z,ψ,θ,φ) of the vehicle 1 in the corresponding subsection. The pose V=(x,y,z,ψ,θ,φ) of the vehicle 1 associated with each vertex may be, for example, the pose V=(x,y,z,ψ,θ,φ) last measured in the corresponding subsection.
[0053] In the next step S150, the processor 11 constructs a pose graph for the selected traveling event by adding edges representing the relative posture of the vehicle 1 to the pose graph as edges connecting adjacent vertices based on the traveling trajectory data for the selected traveling event. A matrix of fixed values is used as the information matrix for the edges. As is known, an information matrix is a matrix that represents the uncertainty of edges that represent the relationships between vertices.
[0054] Processor 11 executes the processes of S120 to S150 for each driving event using the driving data of the corresponding driving event, thereby constructing a pose graph for each driving event as shown in Fig. 5. Single circles shown in Fig. 5 represent vertices related to a first driving event. Double circles represent vertices related to a second driving event. Arrows connecting vertices correspond to edges between the vertices.
[0055] The pose graph for each driving event constructed here is a pose graph that is not connected to the pose graphs of other driving events. Each pose graph's vertices and edges are associated with an event ID that indicates which driving event each vertex and edge belongs to. This ID information is managed together with the pose graph.
[0056] When processor 11 selects all the traveling events and determines that construction of the pose graphs for each traveling event is completed (Yes in S160), processor 11 executes the inter-event connection process shown in Fig. 6 in S170. As a result, processor 11 adds correction information between the pose graphs of different traveling events.
[0057] When the processor 11 starts the inter-event connection process (S170) shown in Fig. 6, in S171, it performs pairing of vertices between different driving events. Specifically, for each combination of two vertices of different driving events, the processor 11 calculates the Euclidean distance between the two vertices in the three-dimensional coordinate system (x, y, z). The processor 11 determines each combination of two vertices whose Euclidean distance is within a threshold value as a pair. Hereinafter, such pairs are referred to as vertex pairs.
[0058] Next, in S173, the processor 11 performs scan matching for each vertex pair using the 3D point cloud data of a small section corresponding to the first vertex that constitutes the vertex pair and the 3D point cloud data of a small section corresponding to the second vertex that constitutes the vertex pair.
[0059] Scan matching includes a process of comparing 3D point cloud data of a small section corresponding to a first vertex with 3D point cloud data of a small section corresponding to a second vertex. Through scan matching, processor 11 determines the relative pose between the first vertex and the second vertex for each vertex pair.
[0060] In the next step S175, the processor 11 adds, for each vertex pair, an edge connecting the first vertex and the second vertex, which edge represents the relative attitude of the second vertex with respect to the first vertex determined by scan matching, between the first vertex and the second vertex, as shown in FIG. 7. A matrix of fixed values can be used as the information matrix of this edge. In FIG. 7, the two vertices surrounded by the dashed line correspond to the first vertex and the second vertex that constitute the vertex pair. The dashed arrow corresponds to the edge connecting the first vertex and the second vertex.
[0061] For example, Generalized Iterative Closest Point (GICP) can be used for the scan matching. According to one example, the processor 11 calculates a fitness score of each vertex pair by scan matching through the processes of S173 and S175. For a vertex pair whose fitness score is equal to or less than a threshold, the processor 11 determines that the three-dimensional point group of the first vertex and the three-dimensional point group of the second vertex match, and can add an edge of the above-mentioned relative orientation between the first vertex and the second vertex.
[0062] According to one example, the processor 11 can perform scan matching based on a comparison between point cloud data of multiple adjacent sub-sections including a sub-section corresponding to a first vertex that constitutes a vertex pair and point cloud data of multiple adjacent sub-sections including a sub-section corresponding to a second vertex that constitutes the vertex pair, in order to improve the accuracy of scan matching.
[0063] Specifically, the processor 11 can perform scan matching using three-dimensional point cloud data obtained by adding up a three-dimensional point cloud of K vertices before and after a first vertex along the travel trajectory, including a first vertex constituting an vertex pair, and three-dimensional point cloud data obtained by adding up a three-dimensional point cloud of K points before and after a second vertex along the travel trajectory, including a second vertex constituting an vertex pair. The value K is any natural number equal to or greater than two.
[0064] In addition, in sections where there is little overlap of the 3D point clouds between driving events, the 3D point clouds are thin, resulting in poor scan matching accuracy and tending to increase the calculation time required for scan matching.
[0065] Therefore, the processor 11 may calculate an overlap rate between a three-dimensional point cloud of a subsection corresponding to a first vertex and a three-dimensional point cloud of a subsection corresponding to a second vertex, and when the overlap rate is below a threshold, operate not to perform scan matching between the corresponding first and second vertices.
[0066] Moreover, the fitness score of the GICP is significantly worsened if there are no target points near the source points. The 3D point clouds obtained by the MMS5 tend to have little overlap between the point clouds due to the short measurement range of the MMS5. Therefore, the overall fit score tends to be calculated to be small. Therefore, among the source points, points that do not have target points within a certain distance may be removed in advance before scan matching based on the GICP is performed.
[0067] In S173 and S175, when the addition of an edge between the first vertex and the second vertex for each vertex pair based on scan matching is completed, the processor 11 terminates the inter-event connection processing shown in FIG. 6 and executes the processing of S180 (see FIG. 3).
[0068] At S180, for multiple vertices included in the pose graph of each driving event, processor 11 connects edges of a unit matrix to each vertex, and also connects vertices representing prediction errors obtained from MMS 5 to these edges, as shown in Figures 8A and 8B. The vertices representing prediction errors correspond to circles with X symbols inside in Figures 8A and 8B. In this way, processor 11 incorporates information about prediction errors into the pose graph.
[0069] The MMS5 is configured to output, as the measurement data, a prediction error of the measurement value together with the measurement value. The vertex representing the prediction error is defined as a fixed vertex by, for example, setFixed. Between the fixed vertex and the vertex connected to the fixed vertex, an edge representing a relative orientation in the form of a unit matrix is added as an edge connecting them. As a result, the orientation V of the fixed vertex is set to the same orientation V as the vertex connected to it. In other words, the edge of the unit matrix is an edge representing a relative orientation between vertices, which indicates that the vertex to be connected and the fixed vertex have the same orientation.
[0070] Processor 11 sets an information matrix based on the prediction error output by MMS 5 as an information matrix for the edges connected to each fixed vertex. Processor 11 can calculate a horizontal component of the prediction error and a vertical component of the prediction error based on the attitude V of the vertex connected to the fixed vertex and the prediction error at the same time. Processor 11 can calculate the horizontal component of the prediction error as the square root of the sum of the squares of the X component and the Y component of the prediction error. Processor 11 can calculate the vertical component of the prediction error as the Z component of the prediction error.
[0071] Since these prediction errors tend to indicate values smaller than the actual errors, the processor 11 can adjust the calculated horizontal and vertical prediction error components by converting them to larger values by a certain magnification factor and further adding a certain offset value to the converted values.
[0072] The processor 11 can set an information matrix based on the adjusted horizontal and vertical components of the prediction error. The information matrix is a 6×6 diagonal matrix. When a six-degree-of-freedom coordinate system (x, y, z, ψ, θ, φ) is defined, the reciprocal of the square of the adjusted horizontal component of the prediction error can be substituted for the (0,0) and (1,1) components, and the reciprocal of the square of the adjusted vertical component of the prediction error can be substituted for the (2,2) component. Fixed values can be set for the (3,3) to (5,5) components.
[0073] In the next step S190, the processor 11 optimizes the pose graph that has been constructed by the processes up to S180. The optimization can be achieved by using the SparseOptimizer, as described above.
[0074] Optimization is achieved, for example, by solving the minimization problem of an evaluation function obtained by multiplying the difference between the relative pose constraints of each edge in the pose graph and the actual relative pose between the vertices by the certainty of the constraint (the inverse of the uncertainty) and adding the result for all edges.
[0075] Through optimization, the attitude V of each graph vertex is adjusted to minimize the evaluation function. In other words, through optimization, the attitude V of each graph vertex is corrected. The attitude V of the vertex is changed to a corrected value.
[0076] In the next step S200, the processor 11 calculates a 4×4 simultaneous transformation matrix E=V′*V that represents a relative orientation between the orientation V of the vertices before correction and the orientation V′ of the vertices after correction. -1 Calculate.
[0077] In the next step S210, the processor 11 corrects the driving history data included in the driving data of each driving event. That is, the processor 11 corrects the driving history data of the first driving event and the second driving event. The processor 11 can generate corrected driving trajectory data by multiplying the simultaneous transformation matrix E calculated in step S200 by the attitude V of the driving trajectory indicated by the driving trajectory data before correction from the left. The corrected driving trajectory data is time-series data of the attitude V' representing the corrected attitude V' of the vehicle 1 at each time.
[0078] In S210, the processor 11 further multiplies the simultaneous transformation matrix E from the left by the three-dimensional point cloud represented by the pre-correction three-dimensional point cloud data to generate corrected three-dimensional point cloud data, and can include the corrected three-dimensional point cloud data in the corresponding running data. After that, the processor 11 ends the correction-related process shown in FIG.
[0079] According to the correction device 10 of the present embodiment described above, information regarding the relative posture between driving events is added to the pose graph by scan matching using point cloud data. By optimizing the pose graph constructed in this way, that is, optimizing the pose graph taking into account the relative posture between driving events, it is possible to correct the driving trajectory data and the three-dimensional point cloud data of the vehicle 1 with high accuracy.
[0080] According to this embodiment, scan matching is realized based on a comparison between point cloud data of a plurality of adjacent small sections including a small section corresponding to a first vertex and point cloud data of a plurality of adjacent small sections including a small section corresponding to a second vertex. According to this method, scan matching is realized based on a comparison of three-dimensional point cloud data with a large amount of information, so that it is possible to correct the traveling trajectory data and the three-dimensional point cloud data with high accuracy.
[0081] According to this embodiment, it is possible to correct the running trajectory data and the three-dimensional point cloud data with high accuracy since the pose graph is optimized by taking into account the prediction error information output from the MMS 5. In other words, since the range in which the vertices move during optimization is limited according to the prediction error, it is possible to optimize the pose graph in a form that matches the prediction error information and correct the running trajectory data and the three-dimensional point cloud data with high accuracy.
[0082] [Variations] The multiple pieces of driving data read out in the correction-related process may include highly reliable driving data. The highly reliable driving data may be driving data that has been corrected in the past. The correction may be realized, for example, by a means other than the correction-related process. An example of the other means may include manual work by a person.
[0083] In this case, it is possible to optimize the pose graph vertices based on highly reliable travel data so that these vertices are not moved. In other words, the processor 11 can optimize the pose graph by treating the highly reliable travel data as fixed data.
[0084] Specifically, when executing the processes of S130 to S150, processor 11 determines whether the driving data corresponding to the driving event selected in S120 is reliable driving data, and if the driving data is reliable, in S140, it can assign fixed attributes to each vertex based on the corresponding driving data.
[0085] For example, processor 11 can assign a fixed attribute to a vertex by assigning a setFixed attribute to the vertex. In this case, it is not necessary to add relative orientation information between vertices to which a fixed attribute has been assigned. Processor 11 can further execute correction-related processing for a vertex to which a fixed attribute has been assigned in S180 so as not to connect a fixed vertex related to the prediction error.
[0086] In this case, for vertices to which fixed attributes have been assigned, the pose graph is optimized with the vertex posture fixed. That is, in S190, correction is made to the posture of the vertex corresponding to the driving data other than the fixed data among the multiple driving data. Based on this correction result, the processor 11 can correct the driving history data and the three-dimensional point cloud data for the driving data other than the fixed data (S200, S210).
[0087] [Other embodiments] The present disclosure is not limited to the above-described embodiment and modified examples, and may be implemented in various forms. For example, in the above-described embodiment, an example in which an existing library is used has been described, but the correction-related process shown in FIG. 3 may be implemented without using an existing library. The MMS 5 may be equipped with a 3D scanner capable of generating three-dimensional point cloud data, and scan matching may be performed based on the three-dimensional point cloud data generated by the 3D scanner.
[0088] The function of one component in the above embodiments may be distributed among multiple components. The functions of multiple components may be integrated into one component. Part of the configuration of the above embodiments may be omitted. At least part of the configuration of the above embodiments may be added to or substituted for the configuration of another of the above embodiments. All aspects included in the technical idea identified from the wording of the claims are embodiments of the present disclosure.
[0089] [Technical idea disclosed in this specification] It can be understood that the present specification discloses the following technical ideas. [Item 1] an acquisition unit configured to acquire first travel data for a travel section of the vehicle based on measurement results of a measurement system mounted on the vehicle during a first travel event of the vehicle, and second travel data for the travel section of the vehicle based on measurement results of the measurement system during a second travel event in which the vehicle travels the same section as the first travel event, wherein the first travel data and the second travel data each include data representing the travel trajectory of the vehicle during the travel section and point cloud data representing a surrounding spatial shape; a graph construction unit configured to construct a pose graph in which a plurality of vertices representing the postures of the vehicle at a plurality of points in time are set for each traveling event based on the acquired first and second traveling data, and between the vertices of different traveling events, edges representing relative postures between the vertices based on a comparison of point cloud data around the vehicle corresponding to the vertices are added; a correction unit configured to correct the traveling trajectory of the vehicle represented by at least one of the first traveling data and the second traveling data based on the posture of the vehicle represented by each vertex of the pose graph adjusted by optimizing the constructed pose graph; An information processing system comprising: [Item 2] 2. The information processing system according to item 1, wherein the graph construction unit constructs the pose graph so as to set a vertex representing the posture of the vehicle for each of a plurality of small sections defined by dividing the driving section for each of the driving events. [Item 3] The graph construction unit includes: determining an attitude of the vehicle in each of the plurality of small sections for the first traveling event based on the first traveling data, setting vertices representing the determined attitude of the vehicle for each of the small sections, and setting edges representing a relative attitude between the set vertices; determining an attitude of the vehicle in each of the plurality of small sections for the second traveling event based on the second traveling data, setting vertices representing the determined attitude of the vehicle for each of the small sections, and setting edges representing a relative attitude between the set vertices; determining a relative attitude between two corresponding vertices for each combination of two corresponding vertices between different running events determined by pairing a vertex for each of the small sections set for the first running event with a vertex for each of the small sections set for the second running event, and setting an edge between the vertices representing the determined relative attitude; A relative orientation between a first vertex corresponding to the first running event and a second vertex corresponding to the second running event is determined as a relative orientation between the two corresponding vertices based on a comparison between point cloud data of a small section corresponding to the first vertex determined from the first running data and point cloud data of a small section corresponding to the second vertex determined from the second running data. The pose graph is constructed by Item 2. An information processing system according to item 2. [Item 4] The information processing system according to item 3, wherein the graph construction unit determines the relative attitude between the two corresponding vertices based on a comparison between point cloud data of a plurality of adjacent small sections including the small section corresponding to the first vertex and point cloud data of a plurality of adjacent small sections including the small section corresponding to the second vertex. [Item 5] 5. The information processing system according to item 3 or 4, wherein the graph construction unit is configured to determine a combination of the two corresponding vertices based on a Euclidean distance between the vertices. [Item 6] the graph construction unit assigns fixed attributes to the plurality of vertices set for the first traveling event, thereby setting the plurality of vertices to be immovable during optimization of the pose graph; 6. The information processing system according to any one of items 1 to 5, wherein the correction unit corrects the travel trajectory of the vehicle represented by the second travel data. [Item 7] the measurement system is configured to output, as the measurement result, a measurement value together with a prediction error of the measurement value; When constructing the pose graph, the graph construction unit connects, for each of at least some of the vertices, a fixed vertex representing the prediction error via an edge representing a relative posture between the vertices, which indicates that the vertex to be connected and the fixed vertex have the same posture. An information processing system according to any one of items 1 to 6. [Item 8] A computer program for causing a computer to function as the acquisition unit, the graph construction unit, and the correction unit in the information processing system according to any one of items 1 to 7. [Item 9] 1. A computer-implemented information processing method, comprising: acquiring first driving data for a driving section of the vehicle based on measurement results of a measurement system mounted on the vehicle during a first driving event of the vehicle, and second driving data for the driving section of the vehicle based on measurement results of the measurement system during a second driving event in which the vehicle drives the same section as the first driving event, wherein the first driving data and the second driving data each include data representing the driving trajectory of the vehicle during the driving section and point cloud data representing a surrounding spatial shape; constructing a pose graph in which a plurality of vertices representing the posture of the vehicle at a plurality of time points are set for each traveling event based on the acquired first and second traveling data, and edges representing relative postures between vertices of different traveling events are added based on a comparison of point cloud data around the vehicle corresponding to the vertices; correcting the running trajectory of the vehicle represented by at least one of the first running data and the second running data based on the posture of the vehicle represented by each vertex of the pose graph adjusted by optimizing the constructed pose graph; An information processing method comprising: [Explanation of symbols]
[0090] 1...vehicle, 5...MMS, 10...correction device, 11...processor, 13...memory, 15...storage, 17...display unit, 18...operation unit, 21...data input / output unit.
Claims
1. an acquisition unit configured to acquire first travel data for a travel section of the vehicle based on measurement results of a measurement system mounted on the vehicle during a first travel event of the vehicle, and second travel data for the travel section of the vehicle based on measurement results of the measurement system during a second travel event in which the vehicle travels the same section as the first travel event, wherein the first travel data and the second travel data each include data representing the travel trajectory of the vehicle during the travel section and point cloud data representing a surrounding spatial shape; a graph construction unit configured to construct a pose graph in which a plurality of vertices representing the postures of the vehicle at a plurality of points in time are set for each traveling event based on the acquired first and second traveling data, and between the vertices of different traveling events, edges representing relative postures between the vertices based on a comparison of point cloud data around the vehicle corresponding to the vertices are added; a correction unit configured to correct the traveling trajectory of the vehicle represented by at least one of the first traveling data and the second traveling data based on the posture of the vehicle represented by each vertex of the pose graph adjusted by optimizing the constructed pose graph; An information processing system comprising:
2. 2. The information processing system according to claim 1, wherein the graph construction unit constructs the pose graph so as to set a vertex representing the posture of the vehicle for each of a plurality of small sections defined by dividing the driving section for each of the driving events.
3. The graph construction unit includes: determining an attitude of the vehicle in each of the plurality of small sections for the first traveling event based on the first traveling data, setting vertices representing the determined attitude of the vehicle for each of the small sections, and setting edges representing a relative attitude between the set vertices; determining an attitude of the vehicle in each of the plurality of small sections for the second traveling event based on the second traveling data, setting vertices representing the determined attitude of the vehicle for each of the small sections, and setting edges representing a relative attitude between the set vertices; determining a relative attitude between two corresponding vertices for each combination of two corresponding vertices between different running events determined by pairing a vertex for each of the small sections set for the first running event with a vertex for each of the small sections set for the second running event, and setting an edge between the vertices representing the determined relative attitude; A relative orientation between a first vertex corresponding to the first running event and a second vertex corresponding to the second running event is determined as a relative orientation between the two corresponding vertices based on a comparison between point cloud data of a small section corresponding to the first vertex determined from the first running data and point cloud data of a small section corresponding to the second vertex determined from the second running data. The pose graph is constructed by 3. The information processing system according to claim 2.
4. The information processing system of claim 3, wherein the graph construction unit determines the relative attitude between the two corresponding vertices based on a comparison between point cloud data of a plurality of adjacent small sections including the small section corresponding to the first vertex and point cloud data of a plurality of adjacent small sections including the small section corresponding to the second vertex.
5. 4. The information processing system according to claim 3, wherein the graph constructing unit is configured to determine a combination of the two corresponding vertices based on a Euclidean distance between the vertices.
6. the graph construction unit assigns fixed attributes to the plurality of vertices set for the first traveling event, thereby setting the plurality of vertices to be immovable during optimization of the pose graph; The information processing system according to claim 1 , wherein the correction unit corrects the travel trajectory of the vehicle represented by the second travel data.
7. the measurement system is configured to output, as the measurement result, a measurement value together with a prediction error of the measurement value; When constructing the pose graph, the graph construction unit connects, for each of at least some of the vertices, a fixed vertex representing the prediction error via an edge representing a relative posture between the vertices, which indicates that the vertex to be connected and the fixed vertex have the same posture.
2. The information processing system according to claim 1.
8. A computer program for causing a computer to function as the acquisition unit, the graph construction unit, and the correction unit in the information processing system according to any one of claims 1 to 7.
9. 1. A computer-implemented information processing method, comprising: acquiring first driving data for a driving section of the vehicle based on measurement results of a measurement system mounted on the vehicle during a first driving event of the vehicle, and second driving data for the driving section of the vehicle based on measurement results of the measurement system during a second driving event in which the vehicle drives the same section as the first driving event, wherein the first driving data and the second driving data each include data representing the driving trajectory of the vehicle during the driving section and point cloud data representing a surrounding spatial shape; constructing a pose graph in which a plurality of vertices representing the posture of the vehicle at a plurality of time points are set for each traveling event based on the acquired first and second traveling data, and edges representing relative postures between vertices of different traveling events are added based on a comparison of point cloud data around the vehicle corresponding to the vertices; correcting the running trajectory of the vehicle represented by at least one of the first running data and the second running data based on the posture of the vehicle represented by each vertex of the pose graph adjusted by optimizing the constructed pose graph; An information processing method comprising:
Citation Information
Patent Citations
Information processor, information processing method, and program
JP2022138037A
Map creation method, map creation device, electronic device, storage medium, and computer program product
JP2022542289A
Fusion of Position Data by Means of Pose Graph
US20180306584A1
Trajectory-based localization and mapping
US20230157506A1
Data processing device, data processing method, and data processing program
JP2019138786A
