Calculation device, calculation system, and calculation method
The calculation device and system address the issue of decreased accuracy in position and orientation calculations for moving objects by predicting and detecting missing three-dimensional point cloud data and executing calculation processes to estimate missing information, ensuring accurate calculations.
Patent Information
- Application Number
- JP2023198209
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-11-22
- Publication Date
- 2025-06-03
- Estimated Expiration
- 2043-11-22
AI Technical Summary
The accuracy of position and orientation calculations for moving objects, such as vehicles, using three-dimensional point cloud data can decrease if the data is missing due to obstacles or other issues.
A calculation device and system that acquire three-dimensional point cloud data, predict, detect, and determine missing data, and execute two calculation processes: one comparing the data with reference point cloud data and another fitting graphic data to estimate missing information.
The system accurately calculates the position and orientation of moving objects by comparing data with references and estimating missing information, thereby suppressing decreases in accuracy due to missing point cloud data.
Smart Images

Figure 2025084363000001_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to a calculation device, a calculation system, and a calculation method.
Background Art
[0002] Conventionally, a technique of driving a vehicle autonomously or by remote control by monitoring the driving of the vehicle using a lidar outside the vehicle is known (Patent Document 1).
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] In order to move a moving object such as a vehicle by unmanned driving, the position and orientation of the moving object may be calculated using three-dimensional point cloud data representing the moving object output from a moving object detection device such as a lidar. However, if the three-dimensional point cloud data is missing due to an obstacle existing between the moving object detection device and the moving object, etc., the accuracy of the position and orientation of the moving object may decrease.
Means for Solving the Problems
[0005] The present disclosure can be realized in the following forms.
[0006] (1) According to the first aspect of the present disclosure, a calculation device is provided. The calculation device includes an acquisition unit that acquires three-dimensional point cloud data representing a moving body movable by autonomous driving as a point cloud, a calculation unit that calculates at least one of the position and orientation of the moving body using the three-dimensional point cloud data, and at least one functional unit including (i) a prediction unit that predicts that the three-dimensional point cloud data is missing, (ii) a detection unit that detects that the three-dimensional point cloud data is missing, and (iii) a determination unit that determines whether the moving body exists in a specific area where it is assumed in advance that the three-dimensional point cloud data is missing. The calculation unit calculates at least one of the position and orientation of the moving body by comparing the three-dimensional point cloud data with reference point cloud data prepared in advance in a first calculation process, and calculates at least one of the position and orientation of the moving body by fitting graphic data of a predetermined shape to the three-dimensional point cloud data in a second calculation process. The calculation unit is capable of executing the second calculation process at least when it corresponds to at least any one of a first case where the prediction unit predicts that the three-dimensional point cloud data is missing, a second case where the detection unit detects that the three-dimensional point cloud data is missing, and a third case where the determination unit determines that the moving body exists in the specific area. According to this aspect, the calculation device can calculate at least one of the position and orientation of the moving body using the three-dimensional point cloud data. At this time, the calculation device can accurately calculate the position and orientation of the moving body by comparing the three-dimensional point cloud data with the reference point cloud data in the first calculation process. However, when it corresponds to at least any one of the first case, the second case, the second case, and the third case, there is a possibility that the accuracy of the position and orientation of the moving body calculated by the first calculation process may decrease. In contrast, the calculation device can calculate at least one of the position and orientation of the moving body by executing at least the second calculation process when it corresponds to at least any one of the first case, the second case, and the third case.In this way, when the calculation device corresponds to at least any one of the first case, the second case, and the third case, by fitting the graphic data to the three-dimensional point cloud data through the second calculation process, it is possible to estimate information corresponding to the missing part of the point cloud constituting the three-dimensional point cloud data. Thereby, when the calculation device corresponds to at least any one of the first case, the second case, and the third case, it is possible to suppress a decrease in the accuracy of the position and orientation of the moving body. (2) In the above aspect, the prediction unit may predict that the three-dimensional point cloud data is missing by using at least any one of object information regarding at least one of an object existing in a first area where a first manufacturing process, which is a manufacturing process being executed on the moving body, is performed, and an object existing in a second area where a second manufacturing process, which is the manufacturing process scheduled to be executed on the moving body, is performed, and work information indicating whether a specific operation in which at least one of the manufacturing apparatus used in the manufacturing process and the worker engaged in the work in the manufacturing process enters and works in at least one of the inside of the moving body and the peripheral area of the moving body is executed or not, in at least one of the first manufacturing process and the second manufacturing process. According to this aspect, the calculation device can predict that the three-dimensional point cloud data is missing by using at least any one of the object information and the work information. (3) In the above aspect, the specific area may be an area where a specific operation in which at least one of the manufacturing apparatus used in the manufacturing process of the moving body and the worker engaged in the work in the manufacturing process enters and works in at least one of the inside of the moving body and the peripheral area of the moving body is executed. According to this aspect, the calculation device can determine whether the moving body exists in the area where the specific operation is executed. Thereby, in the third case, the calculation device can further suppress a decrease in the accuracy of the position and orientation of the moving body. (4) In the above-described form, the detection unit may detect that the three-dimensional point cloud data is missing when the number of points constituting the three-dimensional point cloud data is less than a predetermined number. According to this form, the calculation device can detect that the three-dimensional point cloud data is missing when the number of points constituting the three-dimensional point cloud data is less than a predetermined number. (5) In the above-described form, the detection unit may detect that the three-dimensional point cloud data is missing when an object is detected between the moving body and a moving body detection device that outputs the three-dimensional point cloud data by detecting the moving body from the outside in the three-dimensional point cloud data. According to this form, the calculation device can detect that the three-dimensional point cloud data is missing when an object is detected between the moving body and the moving body detection device in the three-dimensional point cloud data. (6) In the above-described embodiment, the acquisition unit acquires a plurality of pieces of the three-dimensional point cloud data for the same moving object detected at different timings, and the calculation unit executes the first calculation process for each of the plurality of three-dimensional point cloud data, thereby calculating at least one of the position and the orientation of the moving object at different timings, and arranging them in chronological order to generate time-series data of at least one of the position and the orientation of the moving object. The detection unit uses the time-series data to detect that at least one of the plurality of three-dimensional point cloud data is missing. When the detection unit detects that at least one of the plurality of three-dimensional point cloud data is missing, the calculation unit may calculate at least one of the position and the orientation of the moving object by executing the second calculation process without executing the first calculation process. According to this embodiment, the calculation device can acquire a plurality of three-dimensional point cloud data for the same moving object detected at different timings. The calculation device can calculate at least one of the position and the orientation of the moving object at different timings and generate time-series data by executing the first calculation process for each of the acquired plurality of three-dimensional point cloud data. Thereby, the calculation device can detect that at least one of the plurality of three-dimensional point cloud data is missing by using the time-series data. When the calculation device detects that at least one of the plurality of three-dimensional point cloud data is missing, the calculation device can calculate at least one of the position and the orientation of the moving object by executing the second calculation process without executing the first calculation process. By doing so, in the second case, the calculation device can further suppress a decrease in the accuracy of the position and orientation of the moving object. (7) In the above-described form, when it corresponds to at least any one of the first case, the second case, and the third case, the calculation unit executes the first calculation process and the second calculation process respectively. The calculation unit uses the position of the moving body calculated by executing the first calculation process and the position of the moving body calculated by executing the second calculation process to execute a predetermined calculation process, thereby calculating the position of the moving body. The calculation unit may calculate the orientation of the moving body by using the orientation of the moving body calculated by executing the first calculation process and the orientation of the moving body calculated by executing the second calculation process to execute a predetermined calculation process. According to this form, when the calculation device corresponds to at least any one of the first case, the second case, and the third case, the following process can be executed to calculate at least one of the position and orientation of the moving body. In this case, the calculation device can calculate the position of the moving body by using the position of the moving body calculated by executing the first calculation process and the position of the moving body calculated by executing the second calculation process to execute a predetermined calculation process. Further, the calculation device can calculate the orientation of the moving body by using the orientation of the moving body calculated by executing the first calculation process and the orientation of the moving body calculated by executing the second calculation process to execute a predetermined calculation process. By doing so, when the calculation device corresponds to at least any one of the first case, the second case, and the third case, it is possible to further suppress a decrease in the accuracy of the position and orientation of the moving body. (8) According to a second aspect of the present disclosure, a calculation system is provided. The calculation system includes one or more moving bodies that can move by autonomous driving, a moving body detection device that outputs three-dimensional point cloud data representing the moving body as a point cloud by detecting the moving body from the outside, an acquisition unit that acquires the three-dimensional point cloud data, a calculation unit that calculates at least one of the position and orientation of the moving body using the three-dimensional point cloud data, and at least one functional unit including (i) a prediction unit that predicts that the three-dimensional point cloud data is missing, (ii) a detection unit that detects that the three-dimensional point cloud data is missing, and (iii) a determination unit that determines whether the moving body exists in a specific area where it is assumed in advance that the three-dimensional point cloud data is missing. The calculation unit can execute a first calculation process of calculating at least one of the position and orientation of the moving body by comparing the three-dimensional point cloud data with reference point cloud data prepared in advance, and a second calculation process of calculating at least one of the position and orientation of the moving body by fitting graphic data of a predetermined shape to the three-dimensional point cloud data. The calculation unit executes at least the second calculation process when it corresponds to at least any one of a first case where the prediction unit predicts that the three-dimensional point cloud data is missing, a second case where the detection unit detects that the three-dimensional point cloud data is missing, and a third case where the determination unit determines that the moving body exists in the specific area. According to this aspect, the calculation system can calculate at least one of the position and orientation of the moving body using the three-dimensional point cloud data. At this time, the calculation system can accurately calculate the position and orientation of the moving body by comparing the three-dimensional point cloud data with the reference point cloud data in the first calculation process. However, when it corresponds to at least any one of the first case, the second case, and the third case, there is a possibility that the accuracy of the position and orientation of the moving body calculated by the first calculation process may decrease. On the other hand, the calculation system can calculate at least one of the position and orientation of the moving body by executing at least the second calculation process when it corresponds to at least any one of the first case, the second case, and the third case.In this way, when the calculation system corresponds to at least any one of the first case, the second case, and the third case, by applying the graphic data to the three-dimensional point cloud data through the second calculation process, it is possible to estimate information corresponding to the missing portion of the point cloud constituting the three-dimensional point cloud data. Thereby, when the calculation system corresponds to at least any one of the first case, the second case, and the third case, it is possible to suppress a decrease in the accuracy of the position and orientation of the moving body. (9) According to a third aspect of the present disclosure, a calculation method is provided. An acquisition step of acquiring three-dimensional point cloud data representing a moving body movable by autonomous driving as a point cloud, a calculation step of calculating at least one of the position and orientation of the moving body using the three-dimensional point cloud data, and at least one functional step including: (i) a prediction step of predicting that the three-dimensional point cloud data is missing; (ii) a detection step of detecting that the three-dimensional point cloud data is missing; and (iii) a determination step of determining whether the moving body exists in a specific area assumed in advance to be lacking in the three-dimensional point cloud data. In the calculation step, a first calculation process of calculating at least one of the position and orientation of the moving body by comparing the three-dimensional point cloud data with reference point cloud data prepared in advance, and a second calculation process of calculating at least one of the position and orientation of the moving body by fitting graphic data of a predetermined shape to the three-dimensional point cloud data can be executed. In a first case where it is predicted in the prediction step that the three-dimensional point cloud data is missing, a second case where it is detected in the detection step that the three-dimensional point cloud data is missing, and a third case where it is determined in the determination step that the moving body exists in the specific area, when corresponding to at least any one of them, in the calculation step, at least the second calculation process is executed. According to this aspect, at least one of the position and orientation of the moving body can be calculated using the three-dimensional point cloud data. At this time, by comparing the three-dimensional point cloud data with the reference point cloud data in the first calculation process, the position and orientation of the moving body can be accurately calculated. However, in a case corresponding to at least any one of the first case, the second case, and the third case, there is a possibility that the accuracy of the position and orientation of the moving body calculated by the first calculation process may decrease. On the other hand, according to this aspect, in a case corresponding to at least any one of the first case, the second case, and the third case, the second calculation process is executed to fit the graphic data to the three-dimensional point cloud data, so that information corresponding to the missing part of the point cloud constituting the three-dimensional point cloud data can be estimated.Accordingly, when it corresponds to at least any one of the first case, the second case, and the third case, it is possible to suppress a decrease in the accuracy of the position and orientation of the moving body. (10) According to a fourth aspect of the present disclosure, a calculation device is provided. The calculation device includes an acquisition unit that acquires three-dimensional point cloud data representing a moving body movable by autonomous driving as a point cloud, a calculation unit that calculates at least one of the position and orientation of the moving body using the three-dimensional point cloud data and outputs vehicle position information including at least one of the position and orientation of the moving body, and a detection unit that detects that the three-dimensional point cloud data is missing. The calculation unit is capable of executing a first calculation process of calculating at least one of the position and orientation of the moving body by comparing the three-dimensional point cloud data with reference point cloud data prepared in advance, and a second calculation process of calculating at least one of the position and orientation of the moving body by fitting graphic data of a predetermined shape to the three-dimensional point cloud data. The calculation unit calculates at least one of the position and orientation of the moving body by executing the first calculation process and the second calculation process respectively. The detection unit uses at least one first calculation result of the position and orientation of the moving body calculated by executing the first calculation process and at least one second calculation result of the position and orientation of the moving body calculated by executing the second calculation process to detect that the three-dimensional point cloud data is missing. When the detection unit detects that the three-dimensional point cloud data is missing, the calculation unit selects whether to output, as the vehicle position information, the calculation result calculated by executing either the first calculation process or the second calculation process using the first calculation result and the second calculation result, and outputs the selected calculation result as the vehicle position information. According to this aspect, the calculation device can detect that the three-dimensional point cloud data is missing using the first calculation result and the second calculation result. When the calculation device detects that the three-dimensional point cloud data is missing, it can select whether to output, as the vehicle position information, the calculation result calculated by executing either the first calculation process or the second calculation process using the first calculation result and the second calculation result. That is, when the calculation device detects that the three-dimensional point cloud data is missing, it can determine and select which of the first calculation result and the second calculation result is the more accurate calculation result.The calculation device can output the selected calculation result as vehicle position information. By doing so, when the calculation device detects that the 3D point cloud data is missing, it can suppress a decrease in the accuracy of the position and orientation of the moving object. (11) In the above-described form, the acquisition unit acquires a plurality of pieces of the three-dimensional point cloud data for the same moving object detected at different timings, and the calculation unit executes the first calculation process and the second calculation process for each of the plurality of pieces of three-dimensional point cloud data, thereby calculating at least one of the position and the orientation of the moving object at different timings. The calculation unit generates first time-series data of at least one of the position and the orientation of the moving object by arranging a plurality of the first calculation results at different timings in chronological order. The calculation unit generates second time-series data of at least one of the position and the orientation of the moving object by arranging a plurality of the second calculation results at different timings in chronological order. The detection unit detects that at least one of the plurality of pieces of three-dimensional point cloud data is missing, using the first time-series data and the second time-series data. When the detection unit detects that at least one of the plurality of pieces of three-dimensional point cloud data is missing, the calculation unit may select whether to output, as the vehicle position information, the calculation result calculated by executing either the first calculation process or the second calculation process, using the first time-series data and the second time-series data. According to this form, the calculation device can acquire a plurality of pieces of three-dimensional point cloud data for the same moving object detected at different timings. The calculation device can generate first time-series data by executing the first calculation process for each of the acquired plurality of pieces of three-dimensional point cloud data and arranging a plurality of the first calculation results at different timings in chronological order. The calculation device can generate second time-series data by executing the second calculation process for each of the acquired plurality of pieces of three-dimensional point cloud data and arranging a plurality of the second calculation results at different timings in chronological order. The calculation device can detect that the three-dimensional point cloud data is missing, using the first time-series data and the second time-series data. When the calculation device detects that the three-dimensional point cloud data is missing, the calculation device can select whether to output, as the vehicle position information, the calculation result calculated by executing either the first calculation process or the second calculation process, using the first time-series data and the second time-series data.That is, when the calculation device detects that at least any one of the plurality of three-dimensional point cloud data is missing, it can use the first time-series data and the second time-series data to determine and select which of the first calculation result and the second calculation result is the more accurate calculation result. The calculation device can output the selected calculation result as vehicle position information. By doing so, when the calculation device detects that at least any one of the plurality of three-dimensional point cloud data is missing, it can suppress a decrease in the accuracy of the position and orientation of the moving object. (12) According to the fifth aspect of the present disclosure, a calculation system is provided. The calculation system includes one or more moving bodies that can move by autonomous driving, a moving body detection device that outputs three-dimensional point cloud data representing the moving body as a point cloud by detecting the moving body from the outside, an acquisition unit that acquires the three-dimensional point cloud data, a calculation unit that calculates at least one of the position and orientation of the moving body using the three-dimensional point cloud data and outputs vehicle position information including at least one of the position and orientation of the moving body, and a detection unit that detects that the three-dimensional point cloud data is missing. The calculation unit calculates at least one of the position and orientation of the moving body by comparing the three-dimensional point cloud data with reference point cloud data prepared in advance (first calculation process), and calculates at least one of the position and orientation of the moving body by fitting graphic data of a predetermined shape to the three-dimensional point cloud data (second calculation process). The calculation unit calculates at least one of the position and orientation of the moving body by executing the first calculation process and the second calculation process respectively. The detection unit uses at least one first calculation result of the position and orientation of the moving body calculated by executing the first calculation process and at least one second calculation result of the position and orientation of the moving body calculated by executing the second calculation process to detect that the three-dimensional point cloud data is missing. When the detection unit detects that the three-dimensional point cloud data is missing, the calculation unit uses the first calculation result and the second calculation result to select which calculation result calculated by executing either the first calculation process or the second calculation process to output as the vehicle position information, and outputs the selected calculation result as the vehicle position information. According to this aspect, the calculation system can detect that the three-dimensional point cloud data is missing using the first calculation result and the second calculation result. When the calculation system detects that the three-dimensional point cloud data is missing, it can select which calculation result calculated by executing either the first calculation process or the second calculation process to output as the vehicle position information using the first calculation result and the second calculation result.That is, when the calculation system detects that the three-dimensional point cloud data is missing, it can determine and select which of the first calculation result and the second calculation result is the more accurate calculation result. The calculation system can output the selected calculation result as vehicle position information. By doing so, when the calculation system detects that the three-dimensional point cloud data is missing, it can suppress a decrease in the accuracy of the position and orientation of the moving object. (13)According to the sixth aspect of the present disclosure, a calculation method is provided. The calculation method includes an acquisition step of acquiring three-dimensional point cloud data representing a moving body movable by autonomous driving as point cloud, a first calculation step of calculating at least one of the position and orientation of the moving body using the three-dimensional point cloud data, a detection step of detecting that the three-dimensional point cloud data is missing, and a second calculation step of outputting vehicle position information including at least one of the position and orientation of the moving body. In the first calculation step and the second calculation step, at least one of the position and orientation of the moving body is calculated by comparing the three-dimensional point cloud data with reference point cloud data prepared in advance, and a first calculation process of calculating at least one of the position and orientation of the moving body by fitting graphic data of a predetermined shape to the three-dimensional point cloud data is executable. In the first calculation step, at least one of the position and orientation of the moving body is calculated by executing the first calculation process and the second calculation process respectively. In the detection step, the three-dimensional point cloud data is detected as missing using at least one first calculation result of the position and orientation of the moving body calculated by executing the first calculation process and at least one second calculation result of the position and orientation of the moving body calculated by executing the second calculation process. When it is detected in the detection step that the three-dimensional point cloud data is missing, in the second calculation step, it is selected whether to output, as the vehicle position information, a calculation result calculated by executing either the first calculation process or the second calculation process using the first calculation result and the second calculation result, and the selected calculation result is output as the vehicle position information. According to this aspect, it is possible to detect that the three-dimensional point cloud data is missing using the first calculation result and the second calculation result. When it is detected that the three-dimensional point cloud data is missing, it is possible to select whether to output, as the vehicle position information, a calculation result calculated by executing either the first calculation process or the second calculation process using the first calculation result and the second calculation result.That is, when it is detected that the three-dimensional point cloud data is missing, it is possible to determine and select which of the first calculation result and the second calculation result is more accurate. As a result, the selected calculation result can be output as vehicle position information. By doing so, when it is detected that the three-dimensional point cloud data is missing, it is possible to suppress a decrease in the accuracy of the position and orientation of the moving object. The present disclosure can be realized in various forms other than the above-described calculation device, calculation system, and moving object. For example, it can be realized in the form of a calculation device, a calculation system, and a manufacturing method of a moving object, a calculation device, a calculation system, and a control method of a moving object, a computer program for realizing the control method, a non-transitory recording medium on which the computer program is recorded, and the like.
Brief Description of Drawings
[0007]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13
Figure 14
Figure 15
Mode for Carrying Out the Invention
[0008] A. First Embodiment: FIG. 1 is a conceptual diagram showing the configuration of a driving system 50 in the first embodiment. The driving system 50 is a system for moving a moving body without depending on the driving operation of a passenger on the moving body. The driving system 50 includes a calculation system 7 and a remote control device 80.
[0009] The calculation system 7 is a system for calculating at least one of the position and orientation of the vehicle 100. The calculation system 7 includes one or more vehicles 100 as moving bodies, a calculation device 70, and one or more vehicle detection devices. In this embodiment, the functions of the calculation device 70 and the remote control device 80 are realized by the server 200.
[0010] The vehicle detection device outputs, as a detection result, three-dimensional point cloud data representing the vehicle 100 by a point cloud by detecting the vehicle 100 from the outside. In this embodiment, the vehicle detection device is a LiDAR (Light Detection And Ranging) as an external sensor 300. The external sensor 300 is a sensor located outside the vehicle 100. The external sensor 300 includes a communication device (not shown) and can communicate with other devices such as the server 200 by wired communication or wireless communication. LiDAR is an example of a distance measuring device. In other embodiments, the vehicle detection device may be other sensors such as a stereo camera. Hereinafter, the LiDAR as the external sensor 300 is referred to as an external LiDAR 310.
[0011] In the present disclosure, a "mobile object" means an object that can move, for example, a vehicle or an electric vertical takeoff and landing aircraft (so-called flying car). The vehicle may be a vehicle that travels on wheels or a vehicle that travels on an endless track, and examples thereof include a passenger car, a truck, a bus, a two-wheeled vehicle, a four-wheeled vehicle, a tank, and a construction vehicle. The vehicle includes a battery electric vehicle (BEV), a gasoline vehicle, a hybrid vehicle, and a fuel cell vehicle. When the mobile object is other than a vehicle, the expressions "vehicle" and "car" in the present disclosure can be appropriately replaced with "mobile object", and the expression "travel" can be appropriately replaced with "move".
[0012] The vehicle 100 is configured to be capable of traveling by autonomous driving. "Autonomous driving" means driving without depending on the driving operation of a passenger. The driving operation means an operation related to at least any one of "running", "turning", and "stopping" of the vehicle 100. Autonomous driving is realized by automatic or manual remote control using a device located outside the vehicle 100, or by autonomous control of the vehicle 100. A passenger who does not perform a driving operation may board the vehicle 100 traveling by autonomous driving. Passengers who do not perform a driving operation include, for example, a person simply sitting on the seat of the vehicle 100, and a person performing work different from the driving operation, such as assembly, inspection, and operation of switches, while boarding the vehicle 100. Note that driving by the driving operation of a passenger may be called "manned driving".
[0013] In this specification, "remote control" includes "complete remote control" in which all the operations of the vehicle 100 are completely determined from outside the vehicle 100, and "partial remote control" in which a part of the operations of the vehicle 100 is determined from outside the vehicle 100. Also, "autonomous control" includes "complete autonomous control" in which the vehicle 100 autonomously controls its own operations without receiving any information from a device outside the vehicle 100, and "partial autonomous control" in which the vehicle 100 autonomously controls its own operations using the information received from a device outside the vehicle 100.
[0014] In this embodiment, the driving system 50 is used in a factory FC that manufactures the vehicle 100. The reference coordinate system of the factory FC is the global coordinate system GC, and any position within the factory FC can be expressed in terms of the X, Y, and Z coordinates in the global coordinate system GC. The factory FC includes a first location PL1 and a second location PL2. The first location PL1 and the second location PL2 are connected by a road TR on which the vehicle 100 can travel. A plurality of external sensors 300 are installed along the road TR in the factory FC. The positions of the respective external sensors 300 in the factory FC are adjusted in advance. The vehicle 100 moves from the first location PL1 to the second location PL2 through the road TR by autonomous driving.
[0015] FIG. 2 is a block diagram showing the configuration of the driving system 50 in the first embodiment. The vehicle 100 includes a vehicle control device 110 for controlling each part of the vehicle 100, an actuator group 120 including one or more actuators that are driven under the control of the vehicle control device 110, and a communication device 130 for communicating with an external device such as the server 200 by wireless communication. The actuator group 120 includes an actuator of a driving device for accelerating the vehicle 100, an actuator of a steering device for changing the traveling direction of the vehicle 100, and an actuator of a braking device for decelerating the vehicle 100.
[0016] The vehicle control device 110 is constituted by a computer including a processor 111, a memory 112, an input / output interface 113, and an internal bus 114. The processor 111, the memory 112, and the input / output interface 113 are connected so as to be communicable bidirectionally via the internal bus 114. The actuator group 120 and the communication device 130 are connected to the input / output interface 113. The processor 111 realizes various functions including the function as the vehicle control unit 115 by executing a program PG1 stored in the memory 112.
[0017] The vehicle control unit 115 controls the actuator group 120 to run the vehicle 100. The vehicle control unit 115 can run the vehicle 100 by controlling the actuator group 120 using the driving control signal received from the server 200. The driving control signal is a control signal for running the vehicle 100. In the present embodiment, the driving control signal includes the acceleration and steering angle of the vehicle 100 as parameters. In other embodiments, the driving control signal may include the speed of the vehicle 100 as a parameter instead of or in addition to the acceleration of the vehicle 100.
[0018] The server 200 is composed of a computer including a processor 201, a memory 202, an input / output interface 203, and an internal bus 204. The processor 201, the memory 202, and the input / output interface 203 are connected to be communicable bidirectionally via the internal bus 204. A communication device 205 for communicating with various external devices outside the server 200 is connected to the input / output interface 203. The communication device 205 can communicate with the vehicle 100 by wireless communication and can communicate with each external sensor 300 by wired communication or wireless communication. The processor 201 realizes the following functions by executing the program PG2 stored in the memory 202. The processor 201 realizes various functions including functions as an acquisition unit 211, a detection unit 212, a calculation unit 213, and a remote control unit 214.
[0019] The acquisition unit 211 acquires three-dimensional point cloud data obtained by detecting the vehicle 100 from the outside using the external LiDAR 310.
[0020] The detection unit 212 is one of the functional units that acquires information regarding the loss of three-dimensional point cloud data. The detection unit 212 detects that the three-dimensional point cloud data acquired by the acquisition unit 211 is missing.
[0021] The detection unit 212 detects, for example, that the three-dimensional point cloud data is missing when the actual number is less than a predetermined reference number. The actual number is the number of points that make up the three-dimensional point cloud data actually acquired by the acquisition unit 211. The reference number is a threshold value for detecting that the three-dimensional point cloud data is missing. The reference number is set, for example, using the planned number. The planned number is the number of points that are expected to be acquired as three-dimensional point cloud data when the three-dimensional point cloud data is acquired by the acquisition unit 211. The reference number is set, for example, by multiplying the planned number by a predetermined multiplication factor. The multiplication factor is a number less than 1. The multiplication factor is determined, for example, according to the degree of influence on the control of the vehicle 100. The degree of influence on the control of the vehicle 100 is determined, for example, according to the correlation between the missing ratio of the three-dimensional point cloud data and the accuracy of the position and orientation of the vehicle 100 calculated using the three-dimensional point cloud data. The missing ratio is the ratio of the number of points corresponding to the missing part to the total number of points that make up the three-dimensional point cloud data. That is, depending on whether the accuracy of the position and orientation of the vehicle 100 calculated using the partially missing three-dimensional point cloud data is within the allowable range, a reference number serving as a reference for detecting that the three-dimensional point cloud data is missing is set. For example, when the planned number is 500, the reference number may be 300.
[0022] The reference number is preset for each predetermined detection area within the detection range of each external LiDAR 310, for example. In this case, the detection unit 212 detects that the 3D point cloud data is missing by executing the following processing, for example. Specifically, the detection unit 212 first uses the determination information to identify in which detection area among the plurality of detection areas of the plurality of external LiDARs 310 the vehicle 100 is located. The determination information includes, for example, the transmission history of the driving control signal, the position and orientation of the vehicle 100 at a timing prior to the detection timing, and the traveling speed of the vehicle 100. Next, the detection unit 212 uses the number database DB1 pre-stored in the memory 202 of the server 200 to obtain the reference number of the detection area identified as where the vehicle 100 to be detected exists. The number database DB1 is a database that associates the reference number with each detection area in each of the plurality of external LiDARs 310. Next, the detection unit 212 compares the actual number with the reference number, and when the actual number is less than the reference number, it detects that the 3D point cloud data is missing.
[0023] Note that the detection unit 212 may detect that the 3D point cloud data is missing by other methods. For example, when the detection unit 212 detects an object that becomes an obstacle between the vehicle 100 and the external LiDAR 310, it may detect that the 3D point cloud data is missing. The object that becomes an obstacle may be a moving object or a stationary object. The moving object is an object that can approach the vehicle 100 to be detected by moving. The moving object is, for example, a living thing such as a human or an animal, another vehicle 100 different from the vehicle 100 to be detected, or a manufacturing apparatus that can move manually or automatically, such as an automated guided vehicle (AGV). The stationary object is an object that is arranged on the road surface TR on which the vehicle 100 travels, either naturally or artificially. The stationary object is, for example, a manufacturing apparatus whose work arrangement can be changed as appropriate, instruments such as road cones and signboards arranged on the road surface TR, flying objects such as fallen leaves flying onto the road surface TR, or plants such as trees whose size changes due to growth or the like.
[0024] The calculation unit 213 calculates at least one of the position and orientation of the vehicle 100 using the three-dimensional point cloud data and outputs vehicle position information. In the present embodiment, the position of the vehicle 100 is the position of a measurement point preset for a specific part of the vehicle 100. The orientation of the vehicle 100 is the direction represented by a vector along the longitudinal axis of the vehicle 100 from the rear side to the front side of the vehicle 100. The vehicle position information is position information that serves as the basis for generating a driving control signal. In the present embodiment, the vehicle position information includes the position and orientation of the vehicle 100 in the global coordinate system GC of the factory FC. The calculation unit 213 is capable of executing a first calculation process and a second calculation process.
[0025] The first calculation process is a process of calculating at least one of the position and orientation of the vehicle 100 by comparing the three-dimensional point cloud data acquired by the acquisition unit 211 with reference point cloud data prepared in advance. In the present embodiment, in the first calculation process, the calculation unit 213 calculates the position and orientation of the vehicle 100 represented by the three-dimensional point cloud data by matching the three-dimensional point cloud data with the reference point cloud data. The reference point cloud data is point cloud data that virtually reproduces the vehicle 100. The reference point cloud data is, for example, three-dimensional CAD data representing the vehicle 100. For the matching between the three-dimensional point cloud data and the reference point cloud data, for example, algorithms such as ICP (Iterative Closest Point) and NDT (Normal Distribution Transform) are used.
[0026] FIG. 3 is a diagram for explaining the second calculation process. The second calculation process is a process of calculating at least one of the position and orientation of the vehicle 100 by fitting graphic data FG having a predetermined shape to the three-dimensional point cloud data PD acquired by the acquisition unit 211. The shape of the graphic data FG is a shape that can estimate the external shape of the vehicle 100 when the graphic data FG is fitted so as to surround the three-dimensional point cloud data PD. The shape of the graphic data FG is, for example, a rectangular parallelepiped shape. In this case, the graphic data FG is also referred to as a bounding box. When the shape of the graphic data FG is a rectangular parallelepiped shape, for example, the ratios of the first sides SB1 to SB4, the second sides SB5 to SB8, and the third sides SB9 to SB12 that are orthogonal to each other correspond to the ratios of the vehicle width, the overall length, and the vehicle height. Note that in other embodiments, the shape of the graphic data FG may be other than a rectangular parallelepiped shape. The shape of the graphic data FG may be, for example, a rectangular shape.
[0027] In this embodiment, the calculation unit 213 calculates the position and orientation of the vehicle 100 represented by the three-dimensional point cloud data PD by fitting rectangular parallelepiped-shaped graphic data FG so as to surround the three-dimensional point cloud data PD in the second calculation process. Specifically, the calculation unit 213 first fits rectangular parallelepiped-shaped graphic data FG so as to surround the three-dimensional point cloud data PD. Next, the calculation unit 213 executes the following processes to calculate the position of the vehicle 100. The calculation unit 213 acquires the coordinates of the eight vertices VB1 to VB8 of the rectangular parallelepiped that constitutes the graphic data FG. Associated with each coordinate of the graphic data FG is additional information indicating which of the eight vertices VB1 to VB8 of the rectangular parallelepiped that constitutes the graphic data FG the coordinate is. Next, the calculation unit 213 uses the coordinate database DB2 stored in the memory 202 of the server 200 to calculate the coordinates of the measurement points of the vehicle 100 as the position of the vehicle 100 from the coordinates of the eight vertices VB1 to VB8 of the rectangular parallelepiped that constitutes the graphic data FG. The coordinate database DB2 is a database indicating the relative positional relationship between the eight vertices VB1 to VB8 of the rectangular parallelepiped that constitutes the graphic data FG and the measurement points of the vehicle 100. Further, the calculation unit 213 executes the following processes to calculate the orientation of the vehicle 100. The calculation unit 213 calculates the orientation of the vehicle 100 using the coordinates of the first central position CN1 and the coordinates of the second central position CN2. The first central position CN1 is the central position of the side SB1 along the vehicle width direction on the front side of the vehicle 100 among the twelve sides SB1 to SB12 of the rectangular parallelepiped that constitutes the graphic data FG. The second central position CN2 is the central position of the side SB2 along the vehicle width direction on the rear side of the vehicle 100 among the twelve sides SB1 to SB12 of the rectangular parallelepiped that constitutes the graphic data FG.
[0028] When the detection unit 212 detects that the three-dimensional point cloud data PD is missing, the calculation unit 213 calculates the position and orientation of the vehicle 100 by executing at least the second calculation process. In the present embodiment, when the detection unit 212 detects that the three-dimensional point cloud data PD is missing, the calculation unit 213 executes the first calculation process and the second calculation process respectively. The calculation unit 213 executes an arithmetic mean operation process on a first coordinate indicating the position of the vehicle 100 calculated by executing the first calculation process and a second coordinate indicating the position of the vehicle 100 calculated by executing the second calculation process. The calculation unit 213 executes an arithmetic mean operation process on a first vector indicating the orientation of the vehicle 100 calculated by executing the first calculation process and a second vector indicating the orientation of the vehicle 100 calculated by executing the second calculation process. The calculation unit 213 outputs vehicle position information with the coordinate obtained by calculating the arithmetic mean of the first coordinate and the second coordinate as the position of the vehicle 100 and the vector obtained by calculating the arithmetic mean of the first vector and the second vector as the orientation of the vehicle 100.
[0029] Note that the calculation unit 213 may output vehicle position information with the coordinate obtained by weighted-averaging the first coordinate and the second coordinate as the position of the vehicle 100 and the vector obtained by weighted-averaging the first vector and the second vector as the orientation of the vehicle 100. In this case, in the arithmetic operation process of weighted-averaging the first coordinate and the second coordinate, the second coordinate is weighted according to the missing ratio of the three-dimensional point cloud data PD, for example, so that the greater the missing ratio of the three-dimensional point cloud data PD, the greater the weight. In the arithmetic operation process of weighted-averaging the first vector and the second vector, the second vector is weighted according to the missing ratio of the three-dimensional point cloud data PD, for example, so that the greater the missing ratio of the three-dimensional point cloud data PD, the greater the weight.
[0030] When the detection unit 212 does not detect that the three-dimensional point cloud data PD is missing, the calculation unit 213 executes the first calculation process without executing the second calculation process. Thereby, the calculation unit 213 outputs vehicle position information with the first coordinate calculated by executing the first calculation process as the position of the vehicle 100 and the first vector calculated by executing the first calculation process as the orientation of the vehicle 100.
[0031] The remote control unit 214 acquires the detection results from the sensors, generates a driving control signal for controlling the actuator group 120 of the vehicle 100 using the detection results, and transmits the driving control signal to the vehicle 100, thereby driving the vehicle 100 by remote control. The remote control unit 214 may generate and output not only the driving control signal but also, for example, control signals for controlling actuators that operate various auxiliary machines provided in the vehicle 100 and various equipment such as wipers, power windows, and lamps. That is, the remote control unit 214 may operate such various equipment and various auxiliary machines by remote control.
[0032] FIG. 4 is a flowchart showing the processing procedure of the driving control of the vehicle 100 in the first embodiment. The flow shown in FIG. 4 is repeatedly executed at predetermined time intervals, for example, during the period when the vehicle 100 is driving under the remote control of the server 200. In the processing procedure of FIG. 4, the processor 201 of the server 200 functions as the acquisition unit 211, the detection unit 212, the calculation unit 213, and the remote control unit 214 by executing the program PG2. Further, the processor 111 of the vehicle 100 functions as the vehicle control unit 115 by executing the program PG1.
[0033] In step S1, the processor 201 of the server 200 acquires vehicle position information using the detection results output from the external sensor 300. Specifically, in step S1, the processor 201 acquires vehicle position information using the three-dimensional point cloud data PD acquired from the external LiDAR 310, which is the external sensor 300.
[0034] In step S2, the processor 201 of the server 200 determines the target position that the vehicle 100 should head towards next. In this embodiment, the target position is represented by the coordinates of X, Y, and Z in the global coordinate system GC. In the memory 202 of the server 200, a reference route RR, which is the route that the vehicle 100 should travel, is stored in advance. The route is represented by a node indicating the starting point, a node indicating the passing point, a node indicating the destination, and links connecting each node. The processor 201 uses the vehicle position information and the reference route RR to determine the target position that the vehicle 100 should head towards next. The processor 201 determines the target position on the reference route RR ahead of the current position of the vehicle 100.
[0035] In step S3, the processor 201 of the server 200 generates a driving control signal for driving the vehicle 100 towards the determined target position. The processor 201 calculates the driving speed of the vehicle 100 from the change in the position of the vehicle 100 and compares the calculated driving speed with the target speed. Generally, when the driving speed is lower than the target speed, the processor 201 determines the acceleration so that the vehicle 100 accelerates, and when the driving speed is higher than the target speed, the processor 201 determines the acceleration so that the vehicle 100 decelerates. Also, when the vehicle 100 is located on the reference route RR, the processor 201 determines the steering angle and acceleration so that the vehicle 100 does not deviate from the reference route RR, and when the vehicle 100 is not located on the reference route RR, in other words, when the vehicle 100 has deviated from the reference route RR, the processor 201 determines the steering angle and acceleration so that the vehicle 100 returns to the reference route RR.
[0036] In step S4, the processor 201 of the server 200 transmits the generated driving control signal to the vehicle 100. The processor 201 repeats the acquisition of vehicle position information, determination of the target position, generation of the driving control signal, and transmission of the driving control signal at a predetermined cycle.
[0037] In step S5, the processor 111 of the vehicle 100 receives a driving control signal transmitted from the server 200. In step S6, the processor 111 of the vehicle 100 controls the actuator group 120 using the received driving control signal, thereby driving the vehicle 100 at the acceleration and steering angle represented by the driving control signal. The processor 111 repeats the reception of the driving control signal and the control of the actuator group 120 at a predetermined cycle. According to the system 50 in the present embodiment, the vehicle 100 can be driven by remote control, and the vehicle 100 can be moved without using a conveying facility such as a crane or a conveyor.
[0038] FIG. 5 is a flowchart showing a processing procedure in the first embodiment. The flow shown in FIG. 5 is repeatedly executed at predetermined time intervals, for example, during a period in which the vehicle 100 is running under the remote control of the server 200.
[0039] In step S101, the external LiDAR 310 acquires three-dimensional point cloud data PD. In step S102, the external LiDAR 310 transmits the three-dimensional point cloud data PD to the server 200.
[0040] In step S103, acquisition unit 211 of server 200 acquires 3D point cloud data PD. In step S104, detection unit 212 detects that the 3D point cloud data PD acquired by acquisition unit 211 is missing. When detection unit 212 detects that the 3D point cloud data PD is missing (step S104: Yes), in step S105, calculation unit 213 executes a first calculation process and a second calculation process respectively. Calculation unit 213 outputs vehicle position information in which the coordinates calculated by executing a predetermined calculation process on the first coordinate and the second coordinate are used as the position of vehicle 100, and the vector calculated by executing a predetermined calculation process on the first vector and the second vector is used as the orientation of vehicle 100. When detection unit 212 does not detect that the 3D point cloud data PD is missing (step S104: No), in step S106, calculation unit 213 calculates the position and orientation of vehicle 100 by executing the first calculation process without executing the second calculation process, and outputs vehicle position information. In step S107, remote control unit 214 determines the target position to which vehicle 100 should head next using the vehicle position information and the reference route RR. In step S108, remote control unit 214 generates a driving control signal for driving vehicle 100 toward the determined target position. In step S109, remote control unit 214 transmits the generated driving control signal to vehicle 100.
[0041] In step S110, vehicle control unit 115 of vehicle control device 110 controls actuator group 120 using the received driving control signal, and drives vehicle 100 with the acceleration and steering angle represented by the driving control signal.
[0042] According to the above-described first embodiment, the calculation system 7 can calculate the position and orientation of the vehicle 100 by using the three-dimensional point cloud data PD representing the vehicle 100 output from the external LiDAR 310 in order to remotely control the vehicle 100 to travel. At this time, the calculation system 7 can accurately calculate the position and orientation of the vehicle 100 by matching the three-dimensional point cloud data PD output from the external LiDAR 310 with the reference point cloud data prepared in advance by the first calculation process. However, when the three-dimensional point cloud data PD is missing, the matching accuracy between the three-dimensional point cloud data PD and the reference point cloud data may decrease, and the accuracy of the position and orientation of the vehicle 100 may decrease. On the other hand, according to the above-described first embodiment, the calculation system 7 can detect that the acquired three-dimensional point cloud data PD is missing. When the calculation system 7 detects that the three-dimensional point cloud data PD is missing, the calculation system 7 can calculate the position and orientation of the vehicle 100 by at least executing the second calculation process. By doing so, when the calculation system 7 detects that the three-dimensional point cloud data PD is missing, the calculation system 7 can apply the graphic data FG to the three-dimensional point cloud data PD by the second calculation process as follows. In this case, the calculation system 7 can estimate the external shape of the vehicle 100 that could not be obtained due to the lack of the three-dimensional point cloud data PD from the graphic data FG, or estimate the dimensions of the vehicle 100 such as the vehicle width, overall length, and vehicle height. Thereby, the calculation system 7 can supplement the information corresponding to the missing portion of the point cloud constituting the three-dimensional point cloud data PD. As described above, when the calculation system 7 detects that the three-dimensional point cloud data PD is missing, the calculation system 7 can suppress a decrease in the accuracy of the position and orientation of the vehicle 100.
[0043] Also, according to the above-described first embodiment, when the number of points constituting the three-dimensional point cloud data PD is less than a predetermined number, the calculation system 7 can detect that the three-dimensional point cloud data PD is missing.
[0044] Further, according to the first embodiment, the calculation system 7 can determine a threshold value for detecting that the three-dimensional point cloud data PD is missing according to the degree of influence on the control of the vehicle 100.
[0045] Further, according to the first embodiment, when the calculation system 7 detects an object that becomes an obstacle between the vehicle 100 and the external LiDAR 310 in the three-dimensional point cloud data PD, the calculation system 7 can detect that the three-dimensional point cloud data PD is missing.
[0046] Further, according to the first embodiment, when the calculation system 7 detects that the three-dimensional point cloud data PD is missing, the first coordinates and the first vector can be calculated by executing the first calculation process. Also, when the calculation system 7 detects that the three-dimensional point cloud data PD is missing, the second coordinates and the second vector can be calculated by executing the second calculation process. Thereby, the calculation system 7 can output vehicle position information in which the coordinates calculated by performing a predetermined arithmetic process on the first coordinates and the second coordinates are taken as the position of the vehicle 100, and the vector calculated by performing a predetermined arithmetic process on the first vector and the second vector is taken as the orientation of the vehicle 100.
[0047] Further, according to the first embodiment, when the calculation system 7 detects that the three-dimensional point cloud data PD is missing, the calculation system 7 can output vehicle position information in which the coordinates obtained by taking the arithmetic mean of the first coordinates and the second coordinates are taken as the position of the vehicle 100, and the coordinates obtained by taking the arithmetic mean of the first vector and the second vector are taken as the orientation of the vehicle 100.
[0048] Further, according to the first embodiment, when the calculation system 7 detects that the three-dimensional point cloud data PD is missing, the following processing can be executed. In this case, the calculation system 7 sets the position of the vehicle 100 to the weighted average coordinate of the first coordinate and the second coordinate such that the weight of the second coordinate is greater than that of the first coordinate, and sets the direction of the vehicle 100 to the weighted average vector of the first vector and the second vector such that the weight of the second vector is greater than that of the first vector, and outputs the vehicle position information. By doing so, it is possible to further suppress a decrease in the accuracy of the position and direction of the vehicle 100. Also, in this case, the second coordinate may be weighted according to the missing ratio of the three-dimensional point cloud data PD such that the greater the missing ratio of the three-dimensional point cloud data PD, the greater the weight in the arithmetic processing of calculating the weighted average of the first coordinate and the second coordinate. The second vector may be weighted according to the missing ratio of the three-dimensional point cloud data PD such that the greater the missing ratio of the three-dimensional point cloud data PD, the greater the weight in the arithmetic processing of calculating the weighted average of the first vector and the second vector. By doing so, it is possible to further suppress a decrease in the accuracy of the position and direction of the vehicle 100.
[0049] Note that the calculation system 7 only needs to be able to calculate at least one of the position and direction of the vehicle 100. It may calculate the position of the vehicle 100 without calculating the direction of the vehicle 100, or may calculate the direction of the vehicle 100 without calculating the position of the vehicle 100. That is, the vehicle position information includes at least one of the position and direction of the vehicle 100.
[0050] B. Second Embodiment: FIG. 6 is a block diagram showing the configuration of the traveling system 50a in the second embodiment. The traveling system 50a includes a calculation system 7a and a remote control device 80. The calculation system 7a includes one or more vehicles 100, a calculation device 70a, and one or more external LiDARs 310. In this embodiment, the functions of the calculation device 70a and the remote control device 80 are realized by the server 200a. In this embodiment, the detection method for detecting that the three-dimensional point cloud data PD is missing and the calculation method for the position and orientation of the vehicle 100 are different from those in the first embodiment. Other configurations of the traveling system 50a are the same as those in the first embodiment unless otherwise specified. For the same configurations as those in the first embodiment, the same reference numerals are given and the description thereof is omitted.
[0051] The server 200a is configured by a computer including a processor 201a, a memory 202a, an input / output interface 203, and an internal bus 204. The processor 201a realizes the following functions by executing a program PG2a stored in the memory 202a. The processor 201a realizes various functions including functions as an acquisition unit 211a, a detection unit 212a, a calculation unit 213a, and a remote control unit 214.
[0052] The acquisition unit 211a acquires a plurality of three-dimensional point cloud data PDs for the same vehicle 100 detected at different timings.
[0053] The calculation unit 213a calculates the position and orientation of the vehicle 100 at different timings by executing a first calculation process for each of the plurality of three-dimensional point cloud data PDs acquired by the acquisition unit 211a. The calculation unit 213a generates time-series data of the position of the vehicle 100 and time-series data of the orientation of the vehicle 100 by arranging the position and orientation of the vehicle 100 at different timings in chronological order.
[0054] The detection unit 212a uses time-series data to detect that at least some of the plurality of three-dimensional point cloud data PD acquired by the acquisition unit 211a are missing. If the three-dimensional point cloud data PD is missing and the matching accuracy between the three-dimensional point cloud data PD and the reference point cloud data decreases, resulting in a decrease in the accuracy of the position and orientation of the vehicle 100, variations may occur in the position and orientation of the vehicle 100 at each timing of the time-series data. Therefore, in the present embodiment, the detection unit 212a detects that the three-dimensional point cloud data PD is missing when at least one of the variations in the position and orientation at each timing of the time-series data is equal to or greater than a predetermined variation threshold. The variation threshold is determined, for example, according to the degree of influence on the control of the vehicle 100.
[0055] When the detection unit 212a detects that at least some of the plurality of three-dimensional point cloud data PD are missing, the calculation unit 213a executes the second calculation process without executing the first calculation process. As a result, the calculation unit 213a outputs vehicle position information in which the second coordinates calculated by executing the second calculation process are used as the position of the vehicle 100 and the second vector calculated by executing the second calculation process is used as the orientation of the vehicle 100. When the detection unit 212 does not detect that the three-dimensional point cloud data PD is missing, the calculation unit 213a outputs vehicle position information in which the first coordinates calculated by executing the first calculation process are used as the position of the vehicle 100 and the first vector calculated by executing the first calculation process is used as the orientation of the vehicle 100.
[0056] FIG. 7 is a flowchart showing the processing procedure in the second embodiment. The flow shown in FIG. 7 is repeatedly executed at predetermined time intervals, for example, during a period in which the vehicle 100 is traveling under the remote control of the server 200a.
[0057] In step S201, the external LiDAR 310 detects the same vehicle 100 at a plurality of different timings. Thereby, the external LiDAR 310 acquires a plurality of three-dimensional point cloud data PD for the same vehicle 100 detected at different timings. In step S202, the external LiDAR 310 transmits the plurality of three-dimensional point cloud data PD to the server 200a.
[0058] In step S203, the acquisition unit 211a of the server 200a acquires a plurality of three-dimensional point cloud data PD for the same vehicle 100 detected at different timings. In step S204, the calculation unit 213a executes a first calculation process for each of the plurality of three-dimensional point cloud data PD acquired by the acquisition unit 211a, thereby calculating the position and orientation of the vehicle 100 at different timings. In step S205, the calculation unit 213a generates time-series data of the position of the vehicle 100 and time-series data of the orientation of the vehicle 100 by arranging the position and orientation of the vehicle 100 at different timings in chronological order. In step S206, the detection unit 212a uses the time-series data to detect that at least any one of the plurality of three-dimensional point cloud data PD acquired by the acquisition unit 211a is missing. When the detection unit 212a detects that at least any one of the plurality of three-dimensional point cloud data PD is missing (step S206: Yes), in step S207, the calculation unit 213a calculates the position and orientation of the vehicle 100 by executing a second calculation process without executing the first calculation process, and outputs vehicle position information. When the detection unit 212 does not detect that any of the plurality of three-dimensional point cloud data PD is missing (step S206: No), in step S208, the calculation unit 213a outputs the position and orientation of the vehicle 100 calculated by executing the first calculation process as vehicle position information. In step S209, the remote control unit 214 determines the target position to which the vehicle 100 should next travel using the vehicle position information and the reference route RR. In step S210, the remote control unit 214 generates a driving control signal for driving the vehicle 100 toward the determined target position. In step S211, the remote control unit 214 transmits the generated driving control signal to the vehicle 100.
[0059] In step S212, the vehicle control unit 115 of the vehicle control device 110 controls the actuator group 120 using the received driving control signal, so that the vehicle 100 travels at the acceleration and steering angle represented by the driving control signal.
[0060] According to the second embodiment, the calculation system 7a can acquire a plurality of three-dimensional point cloud data PD for the same vehicle 100 detected at different timings. By executing the first calculation process for each of the acquired plurality of three-dimensional point cloud data PD, the calculation system 7a can calculate the position and orientation of the vehicle 100 at different timings. The calculation system 7a can generate time-series data of the position of the vehicle 100 and time-series data of the orientation of the vehicle 100 by arranging the positions and orientations of the vehicle 100 at different timings in chronological order. Thereby, the calculation system 7a can detect that at least one of the plurality of three-dimensional point cloud data PD is missing using the time-series data. When the calculation system 7a detects that at least one of the plurality of three-dimensional point cloud data PD is missing, the calculation system 7a can calculate the position and orientation of the vehicle 100 by executing the second calculation process without executing the first calculation process. By doing so, the calculation system 7a can suppress a decrease in the accuracy of the position and orientation of the vehicle 100 when the three-dimensional point cloud data PD is missing.
[0061] Further, according to the second embodiment, the calculation system 7a can detect that the three-dimensional point cloud data PD is missing when at least one of the variations in the position and orientation at each timing of the time-series data is equal to or greater than a predetermined threshold value.
[0062] C. Third Embodiment: FIG. 8 is a block diagram showing the configuration of the traveling system 50b in the third embodiment. The traveling system 50b includes a calculation system 7b and a remote control device 80. The calculation system 7b includes one or more vehicles 100, a calculation device 70b, and one or more external LiDARs 310. In the present embodiment, the functions of the calculation device 70b and the remote control device 80 are realized by the server 200b. In the present embodiment, the detection method when detecting that the three-dimensional point cloud data PD is missing and the calculation method of the position and orientation of the vehicle 100 are different from those in the first embodiment. Other configurations of the traveling system 50b are the same as those in the first embodiment unless otherwise specified. The same reference numerals are assigned to the same configurations as those in the above embodiments, and the description thereof is omitted.
[0063] The server 200b is configured by a computer including a processor 201b, a memory 202b, an input / output interface 203, and an internal bus 204. By executing a program PG2b stored in the memory 202b, the processor 201b realizes the following functions. The processor 201b realizes various functions including functions as an acquisition unit 211a, a detection unit 212b, a calculation unit 213b, and a remote control unit 214.
[0064] The calculation unit 213b calculates the position and orientation of the vehicle 100 at different timings by executing the first calculation process and the second calculation process for each of the plurality of three-dimensional point cloud data PD acquired by the acquisition unit 211a. Hereinafter, the position and orientation of the vehicle 100 calculated by executing the first calculation process are also referred to as the first calculation result. The position and orientation of the vehicle 100 calculated by executing the second calculation process are also referred to as the second calculation result. The calculation unit 213b arranges a plurality of first calculation results at different timings in chronological order. Thereby, the calculation unit 213b generates first time-series data, which is time-series data of the position and orientation of the vehicle 100 calculated by executing the first calculation process. The calculation unit 213b arranges a plurality of second calculation results at different timings in chronological order. Thereby, the calculation unit 213b generates second time-series data, which is time-series data of the position and orientation of the vehicle 100 calculated by executing the second calculation process.
[0065] The detection unit 212b uses the first calculation result and the second calculation result to detect that at least one of the plurality of three-dimensional point cloud data PD is missing. The detection unit 212b detects, for example, that at least one of the plurality of three-dimensional point cloud data PD acquired by the acquisition unit 211a is missing by using the first time-series data and the second time-series data. In the present embodiment, the detection unit 212b detects that the three-dimensional point cloud data PD is missing when at least one of the variations in the position and orientation at each timing in at least one of the first time-series data and the second time-series data is equal to or greater than the variation threshold value.
[0066] When the detection unit 212b detects that at least one of the plurality of three-dimensional point group data PD is missing, the calculation unit 213b executes the following processing using the first time-series data and the second time-series data. In this case, the calculation unit 213b selects whether to output, as vehicle position information, the calculation result calculated by executing either the first calculation process or the second calculation process. When the three-dimensional point group data PD is missing and the matching accuracy between the three-dimensional point group data PD and the reference point group data decreases, resulting in a decrease in the accuracy of the position and orientation of the vehicle 100, variations may occur in the position and orientation of the vehicle 100 at each timing of the first time-series data. Also, when the accuracy of the position and orientation of the vehicle 100 calculated by fitting the graphic data FG to the three-dimensional point group data PD decreases due to the detection status of the vehicle 100 or the like, variations may occur in the position and orientation of the vehicle 100 at each timing of the second time-series data. Therefore, in the present embodiment, when comparing the first time-series data and the second time-series data, the calculation unit 213b selects to output, as vehicle position information, the calculation result corresponding to the time-series data with less variation in position and orientation at each timing of the time-series data. For example, when the variation in position and orientation at each timing of the second time-series data is smaller than the variation in position and orientation at each timing of the first time-series data, the calculation unit 213b makes the following selection. In this case, the calculation unit 213b selects the second calculation result.
[0067] The calculation unit 213b outputs the selected calculation result as vehicle position information. At this time, the calculation unit 213b may output, for example, a predetermined calculation result among the plurality of calculation results used for generating the time-series data as vehicle position information. After selecting whether to output, as vehicle position information, the calculation result calculated by executing either the first calculation process or the second calculation process, the calculation unit 213b may execute the selected calculation process again to obtain a new calculation result and output the newly obtained calculation result as vehicle position information.
[0068] FIG. 9 is a flowchart showing a processing procedure in the third embodiment. The flow shown in FIG. 9 is repeatedly executed at predetermined time intervals, for example, during a period in which the vehicle 100 is traveling under the remote control of the server 200b.
[0069] In step S301, the external LiDAR 310 detects the same vehicle 100 at a plurality of different timings. As a result, the external LiDAR 310 acquires a plurality of three-dimensional point cloud data PD for the same vehicle 100 detected at different timings. In step S302, the external LiDAR 310 transmits the plurality of three-dimensional point cloud data PD to the server 200b.
[0070] In step S303, the acquisition unit 211a of the server 200b acquires a plurality of 3D point cloud data PDs for the same vehicle 100 detected at different timings. In step S304, the calculation unit 213b calculates the position and orientation of the vehicle 100 at different timings by respectively executing a first calculation process and a second calculation process for each of the plurality of 3D point cloud data PDs acquired by the acquisition unit 211a. In step S305, the calculation unit 213b generates first time-series data by arranging a plurality of first calculation results at different timings in chronological order. In step S306, the calculation unit 213b generates second time-series data by arranging a plurality of second calculation results at different timings in chronological order. In step S307, the detection unit 212b uses the first time-series data and the second time-series data to detect that at least one of the plurality of 3D point cloud data PDs acquired by the acquisition unit 211a is missing. When the detection unit 212b detects that at least one of the plurality of 3D point cloud data PDs is missing (step S307: Yes), the calculation unit 213 executes step S308. In step S308, the calculation unit 213b uses the first time-series data and the second time-series data to select which of the first calculation result and the second calculation result to output as vehicle position information. In step S309, the calculation unit 213b outputs the selected calculation result as vehicle position information among the first calculation result and the second calculation result. When the detection unit 212b does not detect that any of the plurality of 3D point cloud data PDs is missing (step S307: No), the calculation unit 213b executes step S310. In step S310, the calculation unit 213b outputs the first calculation result as vehicle position information. In step S311, the remote control unit 214 determines the target position to which the vehicle 100 should next travel using the vehicle position information and the reference route RR. In step S312, the remote control unit 214 generates a driving control signal for driving the vehicle 100 toward the determined target position. In step S313, the remote control unit 214 transmits the generated driving control signal to the vehicle 100.
[0071] In step S314, the vehicle control unit 115 of the vehicle control device 110 controls the actuator group 120 using the received driving control signal, so that the vehicle 100 travels at the acceleration and steering angle represented by the driving control signal.
[0072] According to the third embodiment, the calculation system 7b can detect that at least one of the plurality of three-dimensional point cloud data PD is missing, using the first calculation result and the second calculation result. When the calculation system 7b detects that at least one of the plurality of three-dimensional point cloud data PD is missing, the calculation system 7b can select whether to output, as vehicle position information, the calculation result calculated by executing either the first calculation process or the second calculation process, using the first calculation result and the second calculation result. That is, when the calculation system 7b detects that at least one of the plurality of three-dimensional point cloud data PD is missing, the calculation system 7b can determine and select which of the first calculation result and the second calculation result is the more accurate calculation result. The calculation system 7b can output the selected calculation result as vehicle position information. By doing so, when the calculation system 7b detects that at least one of the plurality of three-dimensional point cloud data PD is missing, the calculation system 7b can suppress a decrease in the accuracy of the position and orientation of the vehicle 100.
[0073] Further, according to the third embodiment, the calculation system 7b can acquire a plurality of three-dimensional point cloud data PD for the same vehicle 100 detected at different timings. The calculation system 7b can calculate the position and orientation of the vehicle 100 at different timings by respectively executing the first calculation process and the second calculation process for each of the acquired plurality of three-dimensional point cloud data PD. The calculation system 7b can generate first time-series data by arranging a plurality of first calculation results at different timings in chronological order. The calculation system 7b can generate second time-series data by arranging a plurality of second calculation results at different timings in chronological order. Thereby, the calculation system 7b can detect that at least one of the plurality of three-dimensional point cloud data PD is missing by using the first time-series data and the second time-series data. When the calculation system 7b detects that at least one of the plurality of three-dimensional point cloud data PD is missing, the following process can be executed. In this case, the calculation system 7b can select whether to output, as vehicle position information, the calculation result calculated by executing either the first calculation process or the second calculation process by using the first time-series data and the second time-series data. That is, when the calculation system 7b detects that at least one of the plurality of three-dimensional point cloud data PD is missing, it can determine and select which of the first calculation result and the second calculation result is the more accurate calculation result by using the first time-series data and the second time-series data. The calculation system 7b can output the selected calculation result as vehicle position information. By doing so, when the calculation system 7b detects that at least one of the plurality of three-dimensional point cloud data PD is missing, it can suppress a decrease in the accuracy of the position and orientation of the vehicle 100.
[0074] Further, according to the third embodiment, the calculation system 7b can select whether to output, as vehicle position information, the calculation result calculated by executing either the first calculation process or the second calculation process by comparing the variations between the first time-series data and the second time-series data.
[0075] D. Fourth Embodiment: FIG. 10 is a block diagram showing the configuration of the driving system 50c in the fourth embodiment. The driving system 50c includes a calculation system 7c and a remote control device 80. The calculation system 7c includes one or more vehicles 100, a calculation device 70c, and one or more external LiDARs 310. In this embodiment, the functions of the calculation device 70c and the remote control device 80 are realized by the server 200c. In this embodiment, the types of functional units for acquiring information regarding the loss of the three-dimensional point cloud data PD and the method for calculating the position and orientation of the vehicle 100 are different from those in the first embodiment. Other configurations of the driving system 50c are the same as those in the first embodiment unless otherwise specified. The same components as those in the first embodiment are denoted by the same reference numerals and the description thereof is omitted.
[0076] The server 200c is configured by a computer including a processor 201c, a memory 202c, an input / output interface 203, and an internal bus 204. By executing a program PG2c stored in the memory 202c, the processor 201c realizes the following functions. The processor 201c realizes various functions including functions as an acquisition unit 211, a determination unit 215, a calculation unit 213c, and a remote control unit 214.
[0077] The determination unit 215 is one of the functional units that acquires information regarding the loss of the three-dimensional point cloud data PD. The determination unit 215 determines whether the vehicle 100 exists within a specific area where it is assumed in advance that the three-dimensional point cloud data PD acquired by the acquisition unit 211 is missing. The specific area is, for example, a work area where a manufacturing process for performing a specific operation is executed. In the specific operation, a work object, which is at least one of an object such as a manufacturing apparatus used in the manufacturing process and a worker engaged in the work in the manufacturing process, enters and works in at least one of the interior of the vehicle 100 and the peripheral area of the vehicle 100. The manufacturing apparatus used in the manufacturing process is, for example, equipment used for assembling the vehicle 100, an automated guided vehicle that transports parts and the like used in the manufacture of the vehicle 100, and an articulated robot that assembles parts and the like to the vehicle 100. When the vehicle 100 exists in the work area, the three-dimensional point cloud data PD may be missing due to a work situation such as the work object existing between the vehicle 100 and the external LiDAR 310. Therefore, the determination unit 215 determines whether the vehicle 100 exists within the work area as the specific area.
[0078] In the present embodiment, the determination unit 215 acquires process information indicating the manufacturing process being executed on the vehicle 100, and estimates the current location of the vehicle 100, thereby determining whether the vehicle 100 exists within the work area. The determination unit 215 acquires the process information using, for example, management information MI stored in advance in the memory 202c of the server 200c. The management information MI is information indicating the manufacturing status of the vehicle 100. The management information MI is, for example, manufacturing time information indicating the timing of executing a plurality of manufacturing processes on the vehicle 100. In the manufacturing plan information, a vehicle identifier, a process identifier, and the execution timing of each manufacturing process are associated with each other. The vehicle identifier is a unique identifier assigned so as not to overlap between the vehicles 100 in order to identify a plurality of vehicles 100. The manufacturing time information is created, for example, according to the manufacturing plan of the vehicle 100 and is appropriately updated according to the progress of the manufacturing plan. The determination unit 215 acquires, as the process information, for example, the process identifier corresponding to the vehicle identification information of the target vehicle 100 in the manufacturing time information.
[0079] Note that the determination unit 215 may determine whether the vehicle 100 exists within the specific area by other methods. For example, the determination unit 215 obtains order information and estimates the current location of the vehicle 100, thereby determining whether the vehicle 100 exists within the specific area. The order information is information indicating the driving order of a plurality of vehicles 100 traveling within the detection ranges of a plurality of external LiDARs 310 installed in the factory FC. In the order information, a vehicle identifier and a sensor identifier are associated with each other. The sensor identifier is a unique identifier assigned so as not to overlap among the external sensors 300 in order to identify the plurality of external sensors 300 installed in the factory FC. The order information is created using, for example, vehicle position information, the transmission history of driving control signals for the vehicle 100, and the installation locations of the external sensors 300.
[0080] When the determination unit 215 determines that the vehicle 100 exists within the specific area, the calculation unit 213c calculates the position and orientation of the vehicle 100 by executing the second calculation process without executing the first calculation process. As a result, the calculation unit 213c acquires vehicle position information. When the determination unit 215 determines that the vehicle 100 does not exist within the specific area, the calculation unit 213c calculates the position and orientation of the vehicle 100 by executing the first calculation process without executing the second calculation process. As a result, the calculation unit 213c acquires vehicle position information.
[0081] FIG. 11 is a flowchart showing a processing procedure in the fourth embodiment. The flow shown in FIG. 11 is repeatedly executed at predetermined time intervals, for example, during a period in which the vehicle 100 is traveling under the remote control of the server 200c.
[0082] In step S401, the external LiDAR 310 acquires three-dimensional point cloud data PD. In step S402, the external LiDAR 310 transmits the three-dimensional point cloud data PD to the server 200c.
[0083] In step S403, the acquisition unit 211 of the server 200c acquires the three-dimensional point cloud data PD. In step S404, the determination unit 215 acquires the process information. In step S405, the determination unit 215 uses the process information to estimate the current location of the vehicle 100, thereby determining whether the vehicle 100 exists within the work area. When the determination unit 215 determines that the vehicle 100 exists within the work area (step S405: Yes), in step S406, the calculation unit 213c executes the second calculation process without executing the first calculation process, thereby calculating the position and orientation of the vehicle 100 and outputting the vehicle position information. When the determination unit 215 determines that the vehicle 100 does not exist within the specific area (step S405: No), the calculation unit 213c executes step S407. In step S407, the calculation unit 213c executes the first calculation process without executing the second calculation process, thereby calculating the position and orientation of the vehicle 100 and outputting the vehicle position information. In step S408, the remote control unit 214 uses the vehicle position information and the reference route RR to determine the target position to which the vehicle 100 should next head. In step S409, the remote control unit 214 generates a driving control signal for causing the vehicle 100 to travel toward the determined target position. In step S410, the remote control unit 214 transmits the generated driving control signal to the vehicle 100.
[0084] In step S411, the vehicle control unit 115 of the vehicle control device 110 controls the actuator group 120 using the received driving control signal, thereby causing the vehicle 100 to travel at the acceleration and steering angle represented by the driving control signal.
[0085] According to the above-described fourth embodiment, the calculation system 7c can determine whether the vehicle 100 exists within a specific area where it is assumed in advance that the three-dimensional point cloud data PD is missing. When the calculation system 7c determines that the vehicle 100 exists within the specific area, it can execute at least the second calculation process to calculate the position and orientation of the vehicle 100. Thereby, when the vehicle 100 exists within the specific area and the three-dimensional point cloud data PD may be missing, the calculation system 7c can suppress a decrease in the accuracy of the position and orientation of the vehicle 100.
[0086] Further, according to the above-described fourth embodiment, the calculation system 7c can determine whether the vehicle 100 exists within a work area where the three-dimensional point cloud data PD may be missing when the three-dimensional point cloud data PD is acquired.
[0087] Further, according to the above-described fourth embodiment, the calculation system 7c can determine whether the vehicle 100 exists within the specific area by acquiring process information using the management information MI.
[0088] Further, according to the above-described fourth embodiment, the calculation system 7c can determine whether the vehicle 100 exists within the specific area by estimating the current location of the vehicle 100 using the order information.
[0089] Further, according to the above-described fourth embodiment, when the calculation system 7c determines that the vehicle 100 exists within the specific area, it can calculate the position and orientation of the vehicle 100 by executing the second calculation process without executing the first calculation process. Thereby, the processing load when calculating the position and orientation of the vehicle 100 can be reduced.
[0090] Note that the specific area may include, in addition to or instead of the work area, other areas outside the work area. The specific area may include, for example, a parking area such as a yard where the manufactured vehicle 100 is parked and stored. When the vehicle 100 is present in the parking area, the 3D point cloud data PD may be missing depending on the arrangement of the vehicle 100, such as when another vehicle 100 is present between the vehicle 100 and the external LiDAR 310. Therefore, the determination unit 215 may determine whether the vehicle 100 is present in the parking area as the specific area. By doing so, the calculation system 7c can determine whether the vehicle 100 is present in the parking area where the 3D point cloud data PD may be missing when the 3D point cloud data PD is acquired.
[0091] E. Fifth Embodiment: FIG. 12 is a block diagram showing the configuration of the driving system 50d in the fifth embodiment. The driving system 50d includes a calculation system 7d and a remote control device 80. The calculation system 7d includes one or more vehicles 100, a calculation device 70d, and one or more external LiDARs 310. In this embodiment, the functions of the calculation device 70d and the remote control device 80 are realized by the server 200d. In this embodiment, the types of functional units for acquiring information regarding the loss of the 3D point cloud data PD and the method for calculating the position and orientation of the vehicle 100 are different from those in the first embodiment. Other configurations of the driving system 50d are the same as those in the first embodiment unless otherwise specified. The same components as those in the first embodiment are denoted by the same reference numerals and the description thereof is omitted.
[0092] The server 200d is configured by a computer including a processor 201d, a memory 202d, an input / output interface 203, and an internal bus 204. The processor 201d realizes the following functions by executing a program PG2d stored in the memory 202d. The processor 201d realizes various functions including functions as an acquisition unit 211, a prediction unit 216, a calculation unit 213d, and a remote control unit 214.
[0093] The prediction unit 216 is one of the functional units that acquires information regarding the loss of the three-dimensional point cloud data PD. The prediction unit 216 predicts that the three-dimensional point cloud data PD will be missing before the three-dimensional point cloud data PD is acquired.
[0094] The prediction unit 216 predicts, for example, using the object information, that the three-dimensional point cloud data PD will be missing. The object information is information regarding at least one of the object existing in the first area where the first manufacturing process is performed and the object existing in the second area where the second manufacturing process is performed. The first manufacturing process is the manufacturing process being executed on the vehicle 100. The second manufacturing process is the manufacturing process that is scheduled to be executed on the vehicle 100 after the first manufacturing process. The object information is, for example, information representing the number and arrangement of the objects existing in the first area and the objects existing in the second area. The object information may be, for example, the number of workers engaged in the manufacturing process, the arrangement of the manufacturing apparatuses performing specific operations, the movable range of the manufacturing apparatuses such as articulated robots, or the traveling position of another vehicle 100.
[0095] Note that the prediction unit 216 may predict that the three-dimensional point cloud data PD will be missing by other methods. The prediction unit 216 may predict, for example, using the work information, that the three-dimensional point cloud data PD will be missing. The work information is information indicating whether a specific operation is executed in at least one of the first manufacturing process and the second manufacturing process.
[0096] When the prediction unit 216 predicts that the three-dimensional point cloud data PD is missing, the calculation unit 213d executes at least the second calculation process. In the present embodiment, when the prediction unit 216 predicts that the three-dimensional point cloud data PD is missing, the calculation unit 213d calculates the position and orientation of the vehicle 100 by executing the second calculation process without executing the first calculation process, and outputs vehicle position information. When the prediction unit 216 predicts that the three-dimensional point cloud data PD is not missing, the calculation unit 213d calculates the position and orientation of the vehicle 100 by executing the first calculation process without executing the second calculation process, and outputs vehicle position information.
[0097] FIG. 13 is a flowchart showing a processing procedure in the fifth embodiment. The flow shown in FIG. 13 is repeatedly executed at predetermined time intervals, for example, during a period in which the vehicle 100 is traveling under the remote control of the server 200d.
[0098] In step S501, the external LiDAR 310 acquires three-dimensional point cloud data PD. In step S502, the external LiDAR 310 transmits the three-dimensional point cloud data PD to the server 200c.
[0099] In step S503, the acquisition unit 211 of the server 200d acquires the three-dimensional point cloud data PD. In step S504, the prediction unit 216 predicts that the three-dimensional point cloud data PD is missing. When the prediction unit 216 predicts that the three-dimensional point cloud data PD is missing (step S504: Yes), the calculation unit 213d executes step S505. In step S505, the calculation unit 213d calculates the position and orientation of the vehicle 100 by executing the second calculation process without executing the first calculation process, and outputs vehicle position information. When the prediction unit 216 predicts that the three-dimensional point cloud data PD is not missing (step S504: No), the calculation unit 213d executes step S506. In step S506, the calculation unit 213d calculates the position and orientation of the vehicle 100 by executing the first calculation process without executing the second calculation process, and outputs vehicle position information. In step S507, the remote control unit 214 determines the target position to which the vehicle 100 should next travel using the vehicle position information and the reference route RR. In step S508, the remote control unit 214 generates a travel control signal for causing the vehicle 100 to travel toward the determined target position. In step S509, the remote control unit 214 transmits the generated travel control signal to the vehicle 100.
[0100] In step S510, the vehicle control unit 115 of the vehicle control device 110 controls the actuator group 120 using the received travel control signal, and causes the vehicle 100 to travel at the acceleration and steering angle represented by the travel control signal.
[0101] According to the fifth embodiment described above, the calculation system 7d can predict that the three-dimensional point cloud data PD is missing before the three-dimensional point cloud data PD is acquired. When the calculation system 7d predicts that the three-dimensional point cloud data PD is missing, the calculation system 7d can execute at least the second calculation process to calculate the position and orientation of the vehicle 100. By doing so, the calculation system 7d can suppress a decrease in the accuracy of the position and orientation of the vehicle 100 when it is predicted that the three-dimensional point cloud data PD is missing.
[0102] Also, according to the fifth embodiment described above, the calculation system 7d can predict that the three-dimensional point cloud data PD is missing by using at least one of the object information and the work information.
[0103] F. Sixth Embodiment: FIG. 14 is a block diagram showing the configuration of the driving system 50v in the sixth embodiment. The driving system 50v includes a calculation system 7v. The calculation system 7v includes one or more vehicles 100 and one or more external LiDARs 310. In this embodiment, the driving system 50v is different from the first embodiment in that it does not include the server 200. The functions of the calculation device 70v are realized by the vehicle control device 110v. Also, the vehicle 100v in this embodiment can travel by autonomous control of the vehicle 100v. Other configurations are the same as those in the first embodiment unless otherwise specified.
[0104] In this embodiment, the processor 111v of the vehicle control device 110v functions as an acquisition unit 116, a detection unit 117, a calculation unit 118, and a vehicle control unit 115v by executing a program PG1v stored in a memory 112v. The acquisition unit 116 acquires three-dimensional point cloud data PD obtained by detecting the vehicle 100v from the outside using an external LiDAR 310. The detection unit 117 detects that the three-dimensional point cloud data PD acquired by the acquisition unit 116 is missing. The calculation unit 118 calculates the position and orientation of the vehicle 100v using the three-dimensional point cloud data PD and outputs vehicle position information. When the detection unit 117 detects that the three-dimensional point cloud data PD is missing, the calculation unit 118 calculates the position and orientation of the vehicle 100v by executing at least a second calculation process and outputs vehicle position information. When the detection unit 117 does not detect that the three-dimensional point cloud data PD is missing, the calculation unit 118 calculates the position and orientation of the vehicle 100v by executing a first calculation process without executing the second calculation process and outputs vehicle position information. The vehicle control unit 115v can cause the vehicle 100v to travel by autonomous control by acquiring an output result from a sensor, generating a travel control signal using the output result, and outputting the generated travel control signal to operate an actuator group 120. In this embodiment, in addition to the program PG1, a detection model and a reference route RR are stored in advance in the memory 112v.
[0105] FIG. 15 is a flowchart showing a processing procedure for travel control of the vehicle 100v in the sixth embodiment. The flow shown in FIG. 15 is repeatedly executed at predetermined time intervals, for example, during a period in which the vehicle 100v is traveling by autonomous control. In the processing procedure of FIG. 15, the processor 111v of the vehicle 100v functions as an acquisition unit 116, a detection unit 117, a calculation unit 118, and a vehicle control unit 115v by executing a program PG1v.
[0106] In step S901, the processor 111v of the vehicle control device 110v acquires vehicle position information using the detection result output from the external LiDAR 310 which is an external sensor 300. In step S902, the processor 111v determines the target position that the vehicle 100v should head to next. In step S903, the processor 111v generates a driving control signal for driving the vehicle 100v toward the determined target position. In step S904, the processor 111v controls the actuator group 120 using the generated driving control signal, and drives the vehicle 100v according to the parameters represented in the driving control signal. The processor 111v repeats the acquisition of vehicle position information, determination of the target position, generation of the driving control signal, and control of the actuator at a predetermined cycle. According to the driving system 50v in this embodiment, the vehicle 100v can be driven by the autonomous control of the vehicle 100v without remotely controlling the vehicle 100v by the server 200.
[0107] G. Other embodiments: G-1. Other embodiment 1: At least some of the functions of the servers 200, 200a to 200d may be one function of the vehicle control devices 110, 110v, or may be one function of the external sensor 300. Also, at least some of the functions of the vehicle control devices 110, 110v may be one function of the servers 200, 200a to 200d, or may be one function of the external sensor 300. That is, the calculation devices 70, 70a to 70d, 70v including at least one functional unit of the acquisition units 116, 211, 211a, the prediction unit 216, the detection units 117, 212, 212a, 212b, the determination unit 215, and the calculation units 118, 213, 213a to 213d may be the servers 200, 200a to 200d, or may be the vehicle control devices 110, 110v. In such a form, the configuration of the calculation systems 7, 7a to 7d, 7v can be changed as appropriate.
[0108] G-2. Other embodiment 2: The calculation systems 7, 7a to 7d, 7v may include at least one of the function units of the prediction unit 216, the detection units 117, 212, 212a, 212b, and the determination unit 215. The calculation systems 7, 7a to 7d, 7v may include, for example, three function units of the prediction unit 216, the detection units 117, 212, 212a, 212b, and the determination unit 215. In this case, the calculation units 118, 213, 213a to 213d calculate at least one of the position and orientation of the vehicles 100, 100v by executing at least the second calculation process when it corresponds to at least any one of the first case, the second case, and the third case. The first case is when the prediction unit 216 predicts that the 3D point cloud data PD is missing. The second case is when the detection units 117, 212, 212a, 212b detect that the 3D point cloud data PD is missing. The third case is when the determination unit 215 determines that the vehicles 100, 100v exist in a specific area. In such a form, the calculation systems 7, 7a to 7d, 7v can suppress the decrease in the accuracy of the position and orientation of the vehicles 100, 100v in both the case where the 3D point cloud data PD is predicted to be missing and the case where the 3D point cloud data PD is missing.
[0109] G-3. Other Embodiment 3: In each of the above embodiments, the driving systems 50, 50a to 50d, 50v included an external LiDAR 310 as the external sensor 300. In contrast, the driving systems 50, 50a to 50d, 50v may further include a camera, for example, as the external sensor 300. The camera as the external sensor 300 images the vehicles 100, 100v and outputs a captured image as a detection result. When obtaining vehicle position information using the captured image acquired from the camera which is the external sensor 300, the calculation units 118, 213, 213a to 213d detect the outer shape of the vehicles 100, 100v from the captured image, calculate the coordinates of the measurement points of the vehicles 100, 100v in the coordinate system of the captured image, that is, the local coordinate system, and convert the calculated coordinates into coordinates in the global coordinate system GC, thereby obtaining the positions of the vehicles 100, 100v. The outer shape of the vehicles 100, 100v included in the captured image can be detected, for example, by inputting the captured image into a detection model that utilizes artificial intelligence. The detection model is prepared, for example, inside or outside the driving systems 50, 50a to 50d, 50v and is pre-stored in the memories 112, 112v, 202, 202a to 202d. Examples of the detection model include a trained machine learning model trained to implement either semantic segmentation or instance segmentation. As this machine learning model, for example, a convolutional neural network (hereinafter, CNN) trained by supervised learning using a learning dataset can be used. The learning dataset has, for example, a plurality of training images including the vehicles 100, 100v and a label indicating whether each region in the training image is a region indicating the vehicles 100, 100v or a region indicating other than the vehicles 100, 100v. During the learning of the CNN, it is preferable that the parameters of the CNN are updated so as to reduce the error between the output result by the detection model and the label by backpropagation (error backpropagation method).Further, the calculation units 118, 213, 213a to 213d can obtain the orientation of the vehicles 100, 100v by estimating based on, for example, the direction of the movement vectors of the vehicles 100, 100v calculated from the position changes of the feature points of the vehicles 100, 100v between the frames of the captured images using the optical flow method.
[0110] G-4. Other Embodiment 4: In each of the embodiments from the first embodiment to the fifth embodiment, the server 200, 200a to 200d executes the processes from obtaining the vehicle position information to generating the driving control signal. In contrast, at least a part of the processes from obtaining the vehicle position information to generating the driving control signal may be executed by the vehicle 100. For example, the following forms (1) to (3) may be adopted.
[0111] (1) The servers 200, 200a to 200d may obtain the vehicle position information, determine the target position to which the vehicle 100 should next head, and generate a route from the current position of the vehicle 100 represented by the obtained vehicle position information to the target position. The servers 200, 200a to 200d may generate a route to the target position between the current position and the destination, or may generate a route to the destination. The servers 200, 200a to 200d may transmit the generated route to the vehicle 100. The vehicle 100 may generate a driving control signal so that the vehicle 100 travels on the route received from the servers 200, 200a to 200d, and control the actuator group 120 using the generated driving control signal.
[0112] (2) The servers 200, 200a to 200d may obtain the vehicle position information and transmit the obtained vehicle position information to the vehicle 100. The vehicle 100 may determine the target position to which the vehicle 100 should next head, generate a route from the current position of the vehicle 100 represented by the received vehicle position information to the target position, generate a driving control signal so that the vehicle 100 travels on the generated route, and control the actuator group 120 using the generated driving control signal.
[0113] (3) In the forms (1) and (2) above, an internal sensor is mounted on the vehicle 100, and the detection result output from the internal sensor may be used for at least one of the generation of the route and the generation of the driving control signal. The internal sensor is a sensor mounted on the vehicle 100. The internal sensor may include, for example, a sensor for detecting the motion state of the vehicle 100, a sensor for detecting the operating state of each part of the vehicle 100, and a sensor for detecting the environment around the vehicle 100. Specifically, the internal sensor may include, for example, a camera, LiDAR, millimeter-wave radar, ultrasonic sensor, GPS sensor, acceleration sensor, gyro sensor, etc. For example, in the form (1) above, the servers 200, 200a to 200d may acquire the detection result of the internal sensor and reflect the detection result of the internal sensor in the route when generating the route. In the form (1) above, the vehicle 100 may acquire the detection result of the internal sensor and reflect the detection result of the internal sensor in the driving control signal when generating the driving control signal. In the form (2) above, the vehicle 100 may acquire the detection result of the internal sensor and reflect the detection result of the internal sensor in the route when generating the route. In the form (2) above, the vehicle 100 may acquire the detection result of the internal sensor and reflect the detection result of the internal sensor in the driving control signal when generating the driving control signal.
[0114] G-5. Other Embodiment 5: In the sixth embodiment above, an internal sensor is mounted on the vehicle 100v, and the detection result output from the internal sensor may be used for at least one of the generation of the route and the generation of the driving control signal. For example, the vehicle 100v may acquire the detection result of the internal sensor and reflect the detection result of the internal sensor in the route when generating the route. The vehicle 100v may acquire the detection result of the internal sensor and reflect the detection result of the internal sensor in the driving control signal when generating the driving control signal.
[0115] G-6. Other Embodiment 6: In the above-described sixth embodiment, the vehicle 100v acquires vehicle position information using the detection results of the external sensor 300. In contrast, an internal sensor is mounted on the vehicle 100v, and the vehicle 100v acquires vehicle position information using the detection results of the internal sensor, determines the target position to which the vehicle 100v should next head, generates a route from the current position of the vehicle 100v represented in the acquired vehicle position information to the target position, generates a driving control signal for traveling along the generated route, and may control the actuator group 120 using the generated driving control signal. In this case, the vehicle 100v can travel without using the detection results of the external sensor 300 at all. Note that the vehicle 100v may acquire a target arrival time and traffic jam information from outside the vehicle 100v and reflect the target arrival time and traffic jam information in at least one of the route and the driving control signal. Also, all of the functional configurations of the driving system 50v may be provided in the vehicle 100v. That is, the processing realized by the driving system 50v in the present disclosure may be realized by the vehicle 100v alone.
[0116] G-7. Other Embodiment 7: In each of the first to fifth embodiments described above, the servers 200, 200a to 200d automatically generate the driving control signal to be transmitted to the vehicle 100. In contrast, the servers 200, 200a to 200d may generate the driving control signal to be transmitted to the vehicle 100 according to the operation of an external operator located outside the vehicle 100. For example, an external operator operates a control device including a display for displaying a captured image output from the external sensor 300, a steering wheel for remotely operating the vehicle 100, an accelerator pedal, a brake pedal, and a communication device for communicating with the servers 200, 200a to 200d by wired communication or wireless communication, and the servers 200, 200a to 200d may generate a driving control signal corresponding to the operation applied to the control device.
[0117] G-8. Other Embodiment 8: In each of the above embodiments, the vehicles 100 and 100v only need to be configured to be movable by autonomous driving. For example, they may be in the form of a platform having the configuration described below. Specifically, the vehicles 100 and 100v only need to include at least a vehicle control device 110 and 110v and an actuator group 120 in order to perform the three functions of "running", "turning", and "stopping" by autonomous driving. When the vehicles 100 and 100v acquire information from the outside for autonomous driving, the vehicles 100 and 100v may further include a communication device 130. That is, for the vehicles 100 and 100v that can be moved by autonomous driving, at least a part of the interior parts such as the driver's seat and the dashboard may not be installed, at least a part of the exterior parts such as the bumper and the fender may not be installed, and the body shell may not be installed. In this case, until the vehicles 100 and 100v are shipped from the factory FC, the remaining parts such as the body shell may be installed on the vehicles 100 and 100v, or the vehicles 100 and 100v may be shipped from the factory FC in a state where the remaining parts such as the body shell are not installed, and then the remaining parts such as the body shell may be installed on the vehicles 100 and 100v. Each part may be installed from any direction such as the upper side, the lower side, the front side, the rear side, the right side, or the left side of the vehicles 100 and 100v, and they may be installed from the same direction or from different directions. Note that the positioning of the platform form can also be performed in the same manner as the vehicles 100 and 100v in the first embodiment.
[0118] G-9. Other Embodiment 9: Vehicles 100 and 100v may be manufactured by combining a plurality of modules. A module means a unit composed of a plurality of parts grouped according to the parts and functions of the vehicle 100 or 100v. For example, the platform of the vehicle 100 or 100v may be manufactured by combining a front module that constitutes the front part of the platform, a central module that constitutes the central part of the platform, and a rear module that constitutes the rear part of the platform. Note that the number of modules constituting the platform is not limited to three, and may be two or less or four or more. In addition to, or instead of, the parts constituting the platform, parts constituting a portion of the vehicle 100 or 100v that is different from the platform may be modularized. Further, each type of module may include any exterior parts such as bumpers and grills, and any interior parts such as seats and consoles. Further, not limited to the vehicle 100 or 100v, any form of moving body may be manufactured by combining a plurality of modules. Such modules may be manufactured, for example, by joining a plurality of parts by welding or fixtures, or by integrally molding at least a part of the parts constituting the module by casting as one part. The molding method of integrally molding one part, particularly a relatively large part, is also called gigacasting or megacasting. For example, the above-described front module, central module, and rear module may be manufactured using gigacasting.
[0119] G-10. Other Embodiment 10: Using the running of the vehicle 100 or 100v by autonomous driving to transport the vehicle 100 or 100v is also called "self-propelled transport". Further, the configuration for realizing self-propelled transport is also called a "vehicle remote control autonomous driving transport system". Further, the production method of producing the vehicle 100 or 100v using self-propelled transport is also called "self-propelled production". In self-propelled production, for example, in a factory FC that manufactures the vehicle 100 or 100v, at least a part of the transport of the vehicle 100 or 100v is realized by self-propelled transport.
[0120] G-11. Another Embodiment 11: In each of the above embodiments, some or all of the functions and processes realized software-wise may be realized hardware-wise. Also, some or all of the functions and processes realized hardware-wise may be realized software-wise. As the hardware for realizing the various functions in each of the above embodiments, for example, various circuits such as integrated circuits and discrete circuits may be used.
[0121] The present disclosure is not limited to the above-described embodiments, and can be realized in various configurations without departing from the gist thereof. For example, the technical features of the embodiments corresponding to the technical features in each of the forms described in the summary of the invention can be appropriately replaced or combined in order to solve some or all of the above-described problems, or to achieve some or all of the above-described effects. Also, if the technical feature is not described as essential in this specification, it can be appropriately deleted.
Description of Reference Numerals
[0122] 7, 7a~7d, 7v… calculation system, 50, 50a~50d, 50v… driving system, 70, 70a~70d, 70v… calculation device, 80… remote control device, 100, 100v… vehicle, 110, 110v… vehicle control device, 111, 111v… processor of the vehicle control device, 112, 112v… memory of the vehicle control device, 113… input / output interface of the vehicle control device, 114… internal bus of the vehicle control device, 115, 115v… vehicle control unit, 116, 211, 211a… acquisition unit, 117, 212, 212a, 212b… detection unit, 118, 213, 213a~213d… calculation unit, 120… actuator group, 130… communication device of the vehicle, 200, 200a~200d… server, 201, 201a~201d… processor of the server, 202, 202a~202d… memory of the server, 203… input / output interface of the server, 204… internal bus of the server, 205… communication device of the server, 214… remote control unit, 215… judgment unit, 216… prediction unit, 300… external sensor, 310… external LiDAR, CN1… first central position, CN2… second central position, DB1… number database, DB2… coordinate database, FC… factory, FG… graphic data, GC… global coordinate system, MI… management information, PD… 3D point cloud data, PG1, PG1v, PG2, PG2a~PG2d… program, PL1… first location, PL2… second location, RR… reference route, SB1~SB12… side, TR… track, VB1~VB8… vertex
Claims
1. A calculation device, comprising: an acquisition unit that acquires three-dimensional point cloud data representing a moving object movable by autonomous driving as a point cloud; a calculation unit that calculates at least one of the position and orientation of the moving object using the three-dimensional point cloud data; at least one functional unit including: (i) a prediction unit that predicts that the three-dimensional point cloud data is missing; (ii) a detection unit that detects that the three-dimensional point cloud data is missing; and (iii) a determination unit that determines whether the moving object exists within a specific area where it is assumed in advance that the three-dimensional point cloud data is missing; The calculation unit is capable of executing a first calculation process of calculating at least one of the position and orientation of the moving object by comparing the three-dimensional point cloud data with reference point cloud data prepared in advance, and a second calculation process of calculating at least one of the position and orientation of the moving object by fitting graphic data of a predetermined shape to the three-dimensional point cloud data; The calculation unit executes at least the second calculation process when it corresponds to at least any one of a first case where the prediction unit predicts that the three-dimensional point cloud data is missing, a second case where the detection unit detects that the three-dimensional point cloud data is missing, and a third case where the determination unit determines that the moving object exists within the specific area. A calculation device.
2. The calculation device according to claim 1, wherein the prediction unit uses at least one of object information regarding at least one of an object existing in a first area where a first manufacturing process, which is a manufacturing process being executed on the moving object, is performed, and an object existing in a second area where a second manufacturing process, which is the manufacturing process scheduled to be executed on the moving object, is performed; uses at least one of the manufacturing information indicating whether a specific operation is executed in which at least one of the working objects, i.e., the manufacturing device used in the manufacturing process and the worker engaged in the work in the manufacturing process, enters at least one of the inside of the moving object and the peripheral area of the moving object and works, in at least one of the first manufacturing process and the second manufacturing process, to predict that the three-dimensional point cloud data is missing. A calculation device.
3. The calculation device according to claim 1, wherein The specific area is an area where a specific operation is performed in which at least one of the work objects, i.e., a manufacturing apparatus used in the manufacturing process of the moving body and a worker engaged in the work in the manufacturing process, enters at least one of the inside of the moving body and the peripheral area of the moving body to perform work, a calculation device.
4. The calculation device according to claim 1, wherein the detection unit detects that the three-dimensional point cloud data is missing when the number of points constituting the three-dimensional point cloud data is less than a predetermined number, a calculation device.
5. The calculation device according to claim 1, wherein the detection unit detects that the three-dimensional point cloud data is missing when an object is detected between the moving body and a moving body detection device that outputs the three-dimensional point cloud data by detecting the moving body from the outside in the three-dimensional point cloud data, a calculation device.
6. The calculation device according to claim 1, wherein the acquisition unit acquires a plurality of the three-dimensional point cloud data for the same moving body detected at different timings, the calculation unit calculates at least one of the position and the orientation of the moving body at different timings by executing the first calculation process for each of the plurality of three-dimensional point cloud data, and arranges them in chronological order to generate time series data of at least one of the position and the orientation of the moving body, the detection unit detects that at least any one of the plurality of three-dimensional point cloud data is missing using the time series data, when the detection unit detects that at least any one of the plurality of three-dimensional point cloud data is missing, the calculation unit calculates at least one of the position and the orientation of the moving body by executing the second calculation process without executing the first calculation process, a calculation device.
7. The calculation device according to claim 1, when corresponding to at least any one of the first case, the second case, and the third case, the calculation unit executes the first calculation process and the second calculation process respectively, the calculation unit calculates the position of the moving body by executing a predetermined arithmetic process using the position of the moving body calculated by executing the first calculation process and the position of the moving body calculated by executing the second calculation process, The calculation unit is a calculation device that calculates the orientation of the moving body by executing a predetermined arithmetic process using the orientation of the moving body calculated by executing the first calculation process and the orientation of the moving body calculated by executing the second calculation process. **Claim 8** A calculation system comprising: One or more moving bodies capable of moving by autonomous driving; A moving body detection device that outputs three-dimensional point cloud data representing the moving body as a point cloud by detecting the moving body from the outside; An acquisition unit that acquires the three-dimensional point cloud data; A calculation unit that calculates at least one of the position and orientation of the moving body using the three-dimensional point cloud data; At least one functional unit, including: (i) a prediction unit that predicts that the three-dimensional point cloud data is missing; (ii) a detection unit that detects that the three-dimensional point cloud data is missing; and (iii) a determination unit that determines whether the moving body exists in a specific area where it is assumed in advance that the three-dimensional point cloud data is missing. The calculation unit is capable of executing a first calculation process for calculating at least one of the position and orientation of the moving body by comparing the three-dimensional point cloud data with reference point cloud data prepared in advance, and a second calculation process for calculating at least one of the position and orientation of the moving body by fitting graphic data of a predetermined shape to the three-dimensional point cloud data. The calculation system, wherein the calculation unit executes at least the second calculation process when the case corresponds to at least any one of a first case where the prediction unit predicts that the three-dimensional point cloud data is missing, a second case where the detection unit detects that the three-dimensional point cloud data is missing, and a third case where the determination unit determines that the moving body exists in the specific area. **Claim 9** A calculation method comprising: An acquisition step of acquiring three-dimensional point cloud data representing a moving body capable of moving by autonomous driving as a point cloud; A calculation step of calculating at least one of the position and orientation of the moving body using the three-dimensional point cloud data. At least one functional step, comprising: (i) a prediction step of predicting that the three-dimensional point cloud data is missing; (ii) a detection step of detecting that the three-dimensional point cloud data is missing; and (iii) a determination step of determining whether the moving body exists within a specific area that is assumed in advance to be missing the three-dimensional point cloud data, and at least one functional step thereof. In the calculation step, by comparing the three-dimensional point cloud data with reference point cloud data prepared in advance, a first calculation process for calculating at least one of the position and orientation of the moving body, and a second calculation process for calculating at least one of the position and orientation of the moving body by fitting graphic data of a predetermined shape to the three-dimensional point cloud data can be executed. A calculation method in which, when at least one of the following cases applies: a first case where it is predicted in the prediction step that the three-dimensional point cloud data is missing, a second case where it is detected in the detection step that the three-dimensional point cloud data is missing, and a third case where it is determined in the determination step that the moving body exists within the specific area, the calculation step executes at least the second calculation process.
10. A calculation device, An acquisition unit that acquires three-dimensional point cloud data representing a moving body that can be moved by autonomous driving in the form of a point cloud, A calculation unit that calculates at least one of the position and orientation of the moving body using the three-dimensional point cloud data and outputs vehicle position information including at least one of the position and orientation of the moving body, A detection unit that detects that the three-dimensional point cloud data is missing, The calculation unit can execute a first calculation process for calculating at least one of the position and orientation of the moving body by comparing the three-dimensional point cloud data with reference point cloud data prepared in advance, and a second calculation process for calculating at least one of the position and orientation of the moving body by fitting graphic data of a predetermined shape to the three-dimensional point cloud data. The calculation unit calculates at least one of the position and orientation of the moving body by executing the first calculation process and the second calculation process respectively. The detection unit uses at least one of the first calculation results of the position and orientation of the moving object calculated by executing the first calculation process and at least one of the second calculation results of the position and orientation of the moving object calculated by executing the second calculation process to detect that the three-dimensional point cloud data is missing. When the detection unit detects that the three-dimensional point cloud data is missing, The calculation unit selects which calculation result calculated by executing either the first calculation process or the second calculation process to output as the vehicle position information using the first calculation result and the second calculation result, and outputs the selected calculation result as the vehicle position information.
11. The calculation device according to claim 10, The acquisition unit acquires a plurality of pieces of the three-dimensional point cloud data for the same moving object detected at different timings. The calculation unit calculates at least one of the position and orientation of the moving object at different timings by respectively executing the first calculation process and the second calculation process for each of the plurality of pieces of three-dimensional point cloud data. The calculation unit generates first time-series data of at least one of the position and orientation of the moving object by arranging a plurality of the first calculation results at different timings in chronological order. The calculation unit generates second time-series data of at least one of the position and orientation of the moving object by arranging a plurality of the second calculation results at different timings in chronological order. The detection unit uses the first time-series data and the second time-series data to detect that at least one of the plurality of pieces of three-dimensional point cloud data is missing. When the detection unit detects that at least one of the plurality of pieces of three-dimensional point cloud data is missing, The calculation unit selects which calculation result calculated by executing either the first calculation process or the second calculation process to output as the vehicle position information using the first time-series data and the second time-series data.
12. A calculation system, One or more moving objects capable of moving by autonomous driving, A moving object detection device that outputs three-dimensional point cloud data representing the moving object by a point cloud by detecting the moving object from the outside, An acquisition unit that acquires the three-dimensional point cloud data Using the three-dimensional point cloud data, at least one of the position and orientation of the moving body is calculated, and a calculation unit that outputs vehicle position information including at least one of the position and orientation of the moving body; A detection unit that detects that the three-dimensional point cloud data is missing; The calculation unit calculates at least one of the position and orientation of the moving body by comparing the three-dimensional point cloud data with reference point cloud data prepared in advance, and a first calculation process; and a graphic data having a predetermined shape is applied to the three-dimensional point cloud data. And a second calculation process for calculating at least one of the position and orientation of the moving body; The calculation unit calculates at least one of the position and orientation of the moving body by executing the first calculation process and the second calculation process respectively; The detection unit uses at least one first calculation result of the position and orientation of the moving body calculated by executing the first calculation process and at least one second calculation result of the position and orientation of the moving body calculated by executing the second calculation process. To detect that the three-dimensional point cloud data is missing; When the detection unit detects that the three-dimensional point cloud data is missing; The calculation unit selects which calculation result calculated by executing which of the first calculation process and the second calculation process to output as the vehicle position information using the first calculation result and the second calculation result, and outputs the selected calculation result as the vehicle position information. Calculation system. [
13. ] A calculation method, comprising: An acquisition step of acquiring three-dimensional point cloud data representing a moving body that can be moved by unmanned driving by a point cloud; A first calculation step of calculating at least one of the position and orientation of the moving body using the three-dimensional point cloud data; A detection step of detecting that the three-dimensional point cloud data is missing; A second calculation step of outputting vehicle position information including at least one of the position and orientation of the moving body; In the first calculation step and the second calculation step, at least one of the position and the orientation of the moving body is calculated by comparing the three-dimensional point cloud data with reference point cloud data prepared in advance (first calculation process), and at least one of the position and the orientation of the moving body is calculated by fitting graphic data of a predetermined shape to the three-dimensional point cloud data (second calculation process) can be executed. In the first calculation step, at least one of the position and the orientation of the moving body is calculated by executing the first calculation process and the second calculation process respectively. In the detection step, by using at least one first calculation result of the position and the orientation of the moving body calculated by executing the first calculation process and at least one second calculation result of the position and the orientation of the moving body calculated by executing the second calculation process, it is detected that the three-dimensional point cloud data is missing. When it is detected in the detection step that the three-dimensional point cloud data is missing In the second calculation step, a calculation method is provided in which, using the first calculation result and the second calculation result, it is selected which calculation result calculated by executing either the first calculation process or the second calculation process is to be output as the vehicle position information, and the selected calculation result is output as the vehicle position information.
Citation Information
Patent Citations
Sensor fusion for line tracking
JP2022179366A
Method, device and system for accurate parking of trucks in quay crane areas
JP2022515809A
Data processing method, device, equipment, storage medium and program
JP2022550495A
Method for operating a vehicle and method for operating a manufacturing system
JP2017538619A