Calculation device, calculation system and calculation method

The computing device enhances the accuracy of position and orientation calculations for mobile objects by predicting and addressing errors in three-dimensional point cloud data, ensuring reliable sensorless operation.

DE102024129170A1Pending Publication Date: 2025-05-22TOYOTA JIDOSHA KK
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
DE102024129170
Authority / Receiving Office
DE · DE
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-10-09
Publication Date
2025-05-22

AI Technical Summary

Technical Problem

The accuracy of position and orientation calculations for mobile objects, such as vehicles, using three-dimensional point cloud data from LiDAR sensors can be compromised by errors in the data, particularly when obstacles are present between the sensor and the object.

Method used

A computing device is configured to obtain three-dimensional point cloud data, calculate the position and orientation of a mobile object, and execute alternative calculation processes when errors in the data are predicted, detected, or determined. This includes comparing the data with reference point cloud data and applying graphic data to estimate missing information.

Benefits of technology

The solution effectively suppresses the decrease in accuracy of position and orientation calculations by predicting and addressing errors in the three-dimensional point cloud data, ensuring reliable sensorless operation of mobile objects.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

A calculation device comprises an acquisition unit (116; 211; 211a) configured to acquire three-dimensional point cloud data, a calculation unit (213; 213a; 213b; 213c) configured to calculate at least one of a position and an orientation of a mobile object (100;100v) using the three-dimensional point cloud data, and at least one of (i) a prediction unit (216) configured to predict that the three-dimensional point cloud data is likely to be erroneous, (ii) a detection unit (300) configured to detect that the three-dimensional point cloud data is erroneous, and (iii) a determination unit (215) configured to determine whether the mobile object is located in a specific area in which the three-dimensional point cloud data is assumed to be erroneous in advance. The calculation unit (213; 213a; 213b; 213c) is configured to execute at least a second calculation process when at least one of a first case, a second case, and a third case exists.
Need to check novelty before this filing date? Find Prior Art

Description

Background of the invention 1. Field of the invention

[0001] The present invention relates to a calculation device, a calculation system and a calculation method. 2. Description of the related prior art

[0002] A technology is known in which a vehicle is caused to drive autonomously or remotely by monitoring the vehicle's movement using a LiDAR outside the vehicle (JP 2017-538619 A). Summary of the invention

[0003] To move a mobile object, such as a vehicle, through driverless operation, the position and orientation of the mobile object can be calculated using three-dimensional point cloud data indicating the mobile object and output from a mobile object detection device, such as a LiDAR. However, if the three-dimensional point cloud data is inaccurate due to the presence of an obstacle between the mobile object detection device and the mobile object, the accuracy of the mobile object's position and orientation may decrease.

[0004] The present disclosure may be implemented as follows.

[0005] (1) A first aspect of the present disclosure provides a computing device. The computing device comprises: an acquisition unit configured to acquire three-dimensional point cloud data indicating a mobile object movable by a driverless operation through a point cloud; a calculation unit configured to calculate at least one of a position and an orientation of the mobile object using the three-dimensional point cloud data; and at least one of (i) a prediction unit configured to predict that the three-dimensional point cloud data is likely to be erroneous, (ii) a detection unit configured to detect that the three-dimensional point cloud data is erroneous, and (iii) a determination unit configured to determine whether the mobile object is located in a specific area in which the three-dimensional point cloud data is assumed to be erroneous in advance.

[0006] The calculation unit is configured to perform a first calculation process for calculating at least one of the position and the orientation of the mobile object 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 the orientation of the mobile object by applying graphic data having a predetermined shape to the three-dimensional point cloud data.

[0007] The calculation unit is configured to execute at least the second calculation process when at least one of a first case, a second case, and a third case exists. The first case is a case where the prediction unit predicts that the three-dimensional point cloud data is likely to be erroneous. The second case is a case where the detection unit detects that the three-dimensional point cloud data is erroneous. The third case is a case where the determination unit determines that the mobile object is located in the specific area.

[0008] According to this aspect, the calculation device may calculate at least one of the position and the orientation of the mobile object using the three-dimensional point cloud data. At this time, the calculation device may accurately calculate the position and orientation of the mobile object by comparing the three-dimensional point cloud data with the reference point cloud data through the first calculation process. When at least one of the first case, the second case, and the third case exists, the accuracy of the position and orientation of the mobile object calculated by the first calculation process may decrease. The calculation device may calculate at least one of the position and the orientation of the mobile object by executing at least the second calculation process when at least one of the first case, the second case, and the third case exists.With this configuration, when at least one of the first case, the second case, and the third case exists, the computing device can estimate information corresponding to the defective portion of the point cloud constituting the three-dimensional point cloud data by applying the graphic data to the three-dimensional point cloud data through the second computing process. Thus, the computing device can suppress the decrease in the accuracy of the position and orientation of the mobile object when at least one of the first case, the second case, and the third case exists.

[0009] (2) In the above aspect, the prediction unit may be configured to predict that the three-dimensional point cloud data is likely to be erroneous using at least either: Object information about at least one object present in a first area in which a first manufacturing step is carried out on the mobile object, or an object present in a second area in which a second manufacturing step is to be carried out on the mobile object; or Work information indicating whether a specific work is to be performed in at least one of the first manufacturing step and the second manufacturing step. The specific work corresponds to work in which a work object corresponding to at least one of a manufacturing device to be used in at least one of the first manufacturing step and the second manufacturing step or a worker engaged in the work in at least one of the first manufacturing step and the second manufacturing step enters at least one of an interior of the mobile object and a surrounding area around the mobile object to perform the work.

[0010] According to this aspect, the calculation device can predict that the three-dimensional point cloud data is likely to be erroneous using at least one of the object information and the work information.

[0011] (3) In the above aspect, the specific area may be an area where a specific work is performed. The specific work is a work in which a work object corresponding to at least one of a manufacturing device to be used in a manufacturing step for the mobile object and a worker engaged in the work in the manufacturing step enters at least one of the interior of the mobile object and a surrounding area around the mobile object to perform the work.

[0012] According to this aspect, the computing device can determine whether the mobile object is located in the area where the specific work is performed. Thus, the computing device can further suppress the decrease in the accuracy of the position and orientation of the mobile object in the third case.

[0013] (4) In the above aspect, the detection unit may be configured to detect that the three-dimensional point cloud data is erroneous when a count number of points constituting the three-dimensional point cloud data is less than a predetermined count number.

[0014] According to this aspect, the calculation device can detect that the three-dimensional point cloud data is erroneous when the count number of points constituting the three-dimensional point cloud data is smaller than the predetermined count number.

[0015] (5) In the above aspect, the detection unit may be configured to detect that the three-dimensional point cloud data is erroneous when an object in the three-dimensional point cloud data is detected between the mobile object and a mobile object detection device configured to output the three-dimensional point cloud data by detecting the mobile object from outside the mobile object.

[0016] According to this aspect, the calculation device can detect that the three-dimensional point cloud data is erroneous when an object in the three-dimensional point cloud data is detected between the mobile object and the mobile object detection device.

[0017] (6) In the above aspect, the acquisition unit may be configured to acquire a plurality of pieces of the three-dimensional point cloud data acquired at different times for the same mobile object.

[0018] The calculation unit may be configured to calculate at least one of the positions and the orientations of the mobile object at the different times by performing the first calculation process on the pieces of the three-dimensional point cloud data, and to generate time series data on at least one of the positions and the orientations of the mobile object by arranging at least one of the positions and the orientations of the mobile object in chronological order.

[0019] The detection unit may be configured to detect, using the time series data, that at least one of the parts of the three-dimensional point cloud data is faulty.

[0020] The calculation unit may be configured such that, when the detection unit detects that at least one of the pieces of the three-dimensional point cloud data is erroneous, the calculation unit calculates at least one of the position and the orientation of the mobile object by executing the second calculation process without executing the first calculation process.

[0021] According to this aspect, the calculation device may acquire a plurality of pieces of three-dimensional point cloud data acquired at different times for the same mobile object. The calculation device may calculate at least one of the positions and orientations of the mobile object at the different times by performing the first calculation process on the acquired pieces of three-dimensional point cloud data, and generate the time series data. Thus, using the time series data, the calculation device may detect that at least one of the pieces of three-dimensional point cloud data is erroneous.When the computing device detects that at least one of the pieces of the three-dimensional point cloud data is erroneous, the computing device may calculate at least one of the position and orientation of the mobile object by executing the second calculation process without executing the first calculation process. With this configuration, the computing device can further suppress the decrease in the accuracy of the position and orientation of the mobile object in the second case.

[0022] (7) In the above aspect, if at least one of the first case, the second case and the third case exists, the calculation unit executes the first calculation process and the second calculation process, the calculation unit calculates the position of the mobile object by performing a first arithmetic process using the position of the mobile object calculated by performing the first calculation process and the position of the mobile object calculated by performing the second calculation process, and the calculation unit calculates the orientation of the mobile object by performing a second arithmetic process using the orientation of the mobile object calculated by performing the first calculation process and the orientation of the mobile object calculated by performing the second calculation process.

[0023] According to this aspect, when at least one of the first case, the second case, and the third case exists, the calculation device may calculate at least one of the position and the orientation of the mobile object by executing the following process. In this case, the calculation device may calculate the position of the mobile object by executing the first arithmetic process using the position of the mobile object calculated by executing the first calculation process and the position of the mobile object calculated by executing the second calculation process.The calculation device can calculate the orientation of the mobile object by performing the second arithmetic process using the orientation of the mobile object calculated by performing the first calculation process and the orientation of the mobile object calculated by performing the second calculation process. With this configuration, the calculation device can further suppress the decrease in the accuracy of the position and orientation of the mobile object when at least one of the first case, the second case, and the third case exists.

[0024] (8) A second aspect of the present disclosure provides a calculation system. The calculation system comprises: one or more mobile objects that can be moved by driverless operation; a mobile object detection device configured to output three-dimensional point cloud data indicating the mobile object through a point cloud by detecting the mobile object from outside the mobile object; an acquisition unit configured to acquire the three-dimensional point cloud data; a calculation unit configured to calculate at least one of a position and an orientation of the mobile object using the three-dimensional point cloud data; and at least one of (i) a prediction unit configured to predict that the three-dimensional point cloud data is likely to be erroneous, (ii) a detection unit configured to detect that the three-dimensional point cloud data is erroneous, and (iii) a determination unit configured to determine whether the mobile object is located in a specific area in which the three-dimensional point cloud data is assumed to be erroneous in advance.

[0025] The calculation unit is configured to perform a first calculation process for calculating at least one of the position and the orientation of the mobile object 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 the orientation of the mobile object by applying graphic data having a predetermined shape to the three-dimensional point cloud data.

[0026] The calculation unit is configured to execute at least the second calculation process when at least one of a first case, a second case, and a third case exists. The first case is a case where the prediction unit predicts that the three-dimensional point cloud data is likely to be erroneous. The second case is a case where the detection unit detects that the three-dimensional point cloud data is erroneous. The third case is a case where the determination unit determines that the mobile object is located in the specific area.

[0027] According to this aspect, the calculation system may calculate at least one of the position and the orientation of the mobile object using the three-dimensional point cloud data. At this time, the calculation system may accurately calculate the position and orientation of the mobile object by comparing the three-dimensional point cloud data with the reference point cloud data through the first calculation process. When at least one of the first case, the second case, and the third case exists, the accuracy of the position and orientation of the mobile object calculated by the first calculation process may decrease. The calculation system may calculate at least one of the position and the orientation of the mobile object by executing at least the second calculation process when at least one of the first case, the second case, and the third case exists.With this configuration, when at least one of the first case, the second case, and the third case exists, the calculation system can estimate information corresponding to the defective portion of the point cloud constituting the three-dimensional point cloud data by applying the graphic data to the three-dimensional point cloud data through the second calculation process. Thus, the calculation system can suppress the decrease in the accuracy of the position and orientation of the mobile object when at least one of the first case, the second case, and the third case exists.

[0028] (9) A third aspect of the present disclosure provides a calculation method. The calculation method includes: an acquiring step of acquiring three-dimensional point cloud data indicating a mobile object movable by a driverless operation through a point cloud; a calculation step for calculating at least one of a position and an orientation of the mobile object using the three-dimensional point cloud data; and at least one of (i) a prediction step for predicting that the three-dimensional point cloud data is likely to be erroneous, (ii) a detection step for detecting that the three-dimensional point cloud data is erroneous, and (iii) a determination step for determining whether the mobile object is located in a specific area in which the three-dimensional point cloud data is assumed to be erroneous in advance.

[0029] In the calculation step, a first calculation process is executable to calculate at least one of the position and the orientation of the mobile object by comparing the three-dimensional point cloud data with reference point cloud data prepared in advance, and a second calculation process is executable to calculate at least one of the position and the orientation of the mobile object by applying graphic data having a predetermined shape to the three-dimensional point cloud data.

[0030] In the calculation step, at least the second calculation process is executed when at least one of a first case, a second case, and a third case exists. The first case is a case where the three-dimensional point cloud data is predicted to be erroneous in the prediction step. The second case is a case where the three-dimensional point cloud data is detected to be erroneous in the acquisition step. The third case is a case where the mobile object is determined to be located in the specific area in the determination step.

[0031] According to this aspect, at least one of the position and the orientation of the mobile object can be calculated using the three-dimensional point cloud data. At this time, the position and orientation of the mobile object can be accurately calculated by comparing the three-dimensional point cloud data with the reference point cloud data through the first calculation process. When at least one of the first case, the second case, and the third case exists, the accuracy of the position and orientation of the mobile object calculated by the first calculation process may decrease. According to this aspect, when at least one of the first case, the second case, and the third case exists, information corresponding to the defective portion of the point cloud constituting the three-dimensional point cloud data can be estimated by applying the graphic data to the three-dimensional point cloud data by executing the second calculation process.Thus, it is possible to suppress the decrease in the accuracy of the position and orientation of the mobile object when at least one of the first case, the second case, and the third case exists.

[0032] (10) A fourth aspect of the present disclosure provides a computing device. The computing device comprises: an acquisition unit configured to acquire three-dimensional point cloud data indicating a mobile object movable by a driverless operation through a point cloud; a calculation unit configured to calculate at least one of a position and an orientation of the mobile object using the three-dimensional point cloud data and to output vehicle position information including at least one of the position and the orientation of the mobile object; and a detection unit configured to detect that the three-dimensional point cloud data is faulty.

[0033] The calculation unit is configured to perform a first calculation process for calculating at least one of the position and the orientation of the mobile object 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 the orientation of the mobile object by applying graphic data having a predetermined shape to the three-dimensional point cloud data.

[0034] The calculation unit is configured to calculate at least one of the position and the orientation of the mobile object by executing the first calculation process and the second calculation process.

[0035] The detection unit is configured to detect that the three-dimensional point cloud data is erroneous using a first calculation result of at least one of the position and the orientation of the mobile object calculated by executing the first calculation process and a second calculation result of at least one of the position and the orientation of the mobile object calculated by executing the second calculation process.

[0036] The calculation unit is configured such that, when the detection unit detects that the three-dimensional point cloud data is erroneous, it selects either the first calculation result or the second calculation result as the vehicle position information to be output and outputs the selected first calculation result or the selected second calculation result as the vehicle position information.

[0037] According to this aspect, the calculation device can detect that the three-dimensional point cloud data is erroneous using the first calculation result and the second calculation result. If the calculation device detects that the three-dimensional point cloud data is erroneous, the calculation device can select either the first calculation result or the second calculation result as the vehicle position information to be output. That is, if the calculation device detects that the three-dimensional point cloud data is erroneous, the calculation device can make a selection by determining which of the first calculation result and the second calculation result is more accurate. The calculation device can output the selected calculation result as the vehicle position information.With this configuration, the computing device can suppress the decrease in the accuracy of the position and orientation of the mobile object when the computing device detects that the three-dimensional point cloud data is erroneous.

[0038] (11) In the above aspect, the acquisition unit may be configured to acquire a plurality of pieces of the three-dimensional point cloud data acquired at different times for the same mobile object.

[0039] The calculation unit may be configured to calculate at least one of the positions and the orientations of the mobile object at the different times by performing the first calculation process and the second calculation process on the parts of the three-dimensional point cloud data.

[0040] The calculation unit may be configured to generate first time series data on at least one of the positions and the orientations of the mobile object by arranging a plurality of the first calculation results at the different times in chronological order.

[0041] The calculation unit may be configured to generate second time series data on at least one of the positions and the orientations of the mobile object by arranging a plurality of the second calculation results at the different times in chronological order.

[0042] The detection unit may be configured to detect that at least one of the pieces of three-dimensional point cloud data is faulty using the first time series data and the second time series data.

[0043] The calculation unit may be configured such that, when the detection unit detects that at least one of the pieces of the three-dimensional point cloud data is erroneous, the calculation unit uses the first time series data and the second time series data to select, as the vehicle position information to be output, either the first calculation result or the second calculation result calculated by executing the first calculation process or the second calculation process, respectively.

[0044] According to this aspect, the calculation device may acquire a plurality of pieces of three-dimensional point cloud data acquired at different times for the same mobile object. The calculation device may generate the first time series data by performing the first calculation process on the acquired pieces of three-dimensional point cloud data and arranging the first calculation results at the different times in chronological order. The calculation device may generate the second time series data by performing the second calculation process on the acquired pieces of three-dimensional point cloud data and arranging the second calculation results at the different times in chronological order. The calculation device may detect that the three-dimensional point cloud data is erroneous using the first time series data and the second time series data.

[0045] When the calculation device detects that the three-dimensional point cloud data is erroneous, the calculation device may select either the first calculation result or the second calculation result calculated by performing the first calculation process and the second calculation process, respectively, using the first time series data and the second time series data as the vehicle position information to be output. That is, when the calculation device detects that at least one of the pieces of the three-dimensional point cloud data is erroneous, the calculation device may make a selection by determining which of the first calculation result and the second calculation result is more accurate using the first time series data and the second time series data. The calculation device may output the selected calculation result as the vehicle position information.With this configuration, the computing device can suppress the decrease in the accuracy of the position and orientation of the mobile object when the computing device detects that at least one of the pieces of the three-dimensional point cloud data is erroneous.

[0046] (12) A fifth aspect of the present disclosure provides a calculation system. The calculation system comprises: one or more mobile objects that can be moved by driverless operation; a mobile object detection device configured to output three-dimensional point cloud data indicating the mobile object through a point cloud by detecting the mobile object from outside the mobile object; an acquisition unit configured to acquire the three-dimensional point cloud data; a calculation unit configured to calculate at least one of a position and an orientation of the mobile object using the three-dimensional point cloud data and to output vehicle position information including at least one of the position and the orientation of the mobile object; and a detection unit configured to detect that the three-dimensional point cloud data is faulty.

[0047] The calculation unit is configured to perform a first calculation process for calculating at least one of the position and the orientation of the mobile object 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 the orientation of the mobile object by applying graphic data having a predetermined shape to the three-dimensional point cloud data.

[0048] The calculation unit is configured to calculate at least one of the position and the orientation of the mobile object by executing the first calculation process and the second calculation process.

[0049] The detection unit is configured to detect that the three-dimensional point cloud data is erroneous using a first calculation result of at least one of the position and the orientation of the mobile object calculated by executing the first calculation process and a second calculation result of at least one of the position and the orientation of the mobile object calculated by executing the second calculation process.

[0050] The calculation unit is configured such that, when the detection unit detects that the three-dimensional point cloud data is erroneous, the calculation unit selects either the first calculation result or the second calculation result as the vehicle position information to be output and outputs the selected first calculation result or the selected second calculation result as the vehicle position information.

[0051] According to this aspect, the calculation system can detect that the three-dimensional point cloud data is erroneous using the first calculation result and the second calculation result. If the calculation system detects that the three-dimensional point cloud data is erroneous, the calculation system can select either the first calculation result or the second calculation result as the vehicle position information to be output. That is, if the calculation system detects that the three-dimensional point cloud data is erroneous, the calculation system can make a selection by determining which of the first calculation result and the second calculation result is more accurate. The calculation system can output the selected calculation result as the vehicle position information.With this configuration, the calculation system can suppress the decrease in the accuracy of the position and orientation of the mobile object when the calculation system detects that the three-dimensional point cloud data is erroneous.

[0052] (13) A sixth aspect of the present disclosure provides a calculation method. The calculation method includes: an acquiring step of acquiring three-dimensional point cloud data indicating a mobile object movable by a driverless operation through a point cloud; a first calculation step for calculating at least one of a position and an orientation of the mobile object using the three-dimensional point cloud data; a detection step for detecting that the three-dimensional point cloud data is faulty; and a second calculation step for outputting vehicle position information comprising at least either the position or the orientation of the mobile object.

[0053] In the first calculation step and the second calculation step, a first calculation process is executable to calculate at least one of the position and the orientation of the mobile object by comparing the three-dimensional point cloud data with reference point cloud data prepared in advance, and a second calculation process is executable to calculate at least one of the position and the orientation of the mobile object by applying graphic data having a predetermined shape to the three-dimensional point cloud data.

[0054] In the first calculation step, at least one of the position and the orientation of the mobile object is calculated by executing the first calculation process and the second calculation process.

[0055] In the detecting step, using a first calculation result of at least one of the position and the orientation of the mobile object calculated by performing the first calculation process and a second calculation result of at least one of the position and the orientation of the mobile object calculated by performing the second calculation process, it is detected that the three-dimensional point cloud data is erroneous.

[0056] If it is detected in the detection step that the three-dimensional point cloud data is erroneous, in the second calculation step, either the first calculation result or the second calculation result is selected as the vehicle position information to be output, and the selected first calculation result or the selected second calculation result is output as the vehicle position information.

[0057] According to this aspect, it is possible to detect that the three-dimensional point cloud data is erroneous using the first calculation result and the second calculation result. When it is detected that the three-dimensional point cloud data is erroneous, either the first calculation result or the second calculation result calculated by executing the first calculation process or the second calculation process, respectively, can be selected as the vehicle position information to be output. That is, when it is detected that the three-dimensional point cloud data is erroneous, a selection can be made by determining which of the first calculation result and the second calculation result is more accurate. Thus, the selected calculation result can be output as the vehicle position information.With this configuration, it is possible to suppress the decrease in the accuracy of the position and orientation of the mobile object when it is detected that the three-dimensional point cloud data is erroneous.

[0058] The present disclosure may be implemented in various forms, different from the computing device, computing system, and computing method. For example, the present disclosure may be implemented in the form of a method for manufacturing a computing device, computing system, or mobile object, a method for controlling a computing device, computing system, or mobile object, a computer program for implementing the control method, and a non-volatile recording medium on which the computer program is recorded. Short description of the illustrations

[0059] Features, advantages, and technical and industrial significance of exemplary embodiments of the invention are described below with reference to the accompanying drawings, in which like characters designate like elements, and wherein: Fig. 1 is a conceptual diagram showing the configuration of a driving system according to a first embodiment; Fig. 2 is a block diagram showing the configuration of the driving system according to the first embodiment; Fig. 3 represents a second calculation process; Fig. 4 is a flowchart showing a processing procedure of a vehicle travel control according to the first embodiment; Fig. 5 is a flowchart showing a processing procedure according to the first embodiment; Fig. 6 is a block diagram showing the configuration of a driving system according to a second embodiment; Fig. 7 is a flowchart showing a processing procedure according to the second embodiment; Fig. 8 is a block diagram showing the configuration of a vehicle system according to a third embodiment; Fig. 9 is a flowchart showing a processing procedure according to the third embodiment; Fig. 10 is a block diagram showing the configuration of a vehicle system according to a fourth embodiment; Fig. 11 is a flowchart showing a processing procedure according to the fourth embodiment; Fig. 12 is a block diagram showing the configuration of a driving system according to a fifth embodiment; Fig. 13 is a flowchart showing a processing procedure according to the fifth embodiment; Fig. 14 is a block diagram showing the configuration of a driving system according to a sixth embodiment; and Fig. 15 is a flowchart showing a processing procedure of a vehicle travel control according to the sixth embodiment. Detailed Description of Embodiments A. First Embodiment

[0060] Fig. 1 is a conceptual diagram showing the configuration of a traveling system 50 according to a first embodiment. The traveling system 50 is a system for moving a mobile object without a traveling operation by a passenger on the mobile object. The traveling system 50 includes a computing system 7 and a remote control device 80.

[0061] The calculation system 7 is a system for calculating at least one of the position and the orientation of a vehicle 100. The calculation system 7 includes one or more vehicles 100 as the mobile object, a calculation device 70, and one or more vehicle detection devices. In the present embodiment, the functions of the calculation device 70 and the remote control device 80 are implemented by a server 200.

[0062] The vehicle detection device detects the vehicle 100 from outside the vehicle 100 and outputs, as a detection result, three-dimensional point cloud data indicating the vehicle 100 through a point cloud. In the present embodiment, the vehicle detection device corresponds to a Light Detection and Ranging (LiDAR) sensor, which serves as an external sensor 300. The external sensor 300 is positioned 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, via a wired or wireless connection. The LiDAR corresponds to an example of a distance measuring device. In other embodiments, the vehicle detection device may be another sensor, such as a stereo camera. The LiDAR serving as the external sensor 300 is hereinafter referred to as "external LiDAR 310."

[0063] In the present disclosure, the term "mobile object" refers to an object that is movable, and this may be, for example, a vehicle or an electric vertical takeoff and landing aircraft (so-called flying vehicle). The vehicle may be a vehicle that runs on wheels or a vehicle that runs on endless belts or tracks, and may be, for example, a car, a truck, a bus, a two-wheeled vehicle, a four-wheeled vehicle, a tank, or a construction vehicle. The vehicle includes a battery electric vehicle (BEV), a gasoline-powered vehicle, a hybrid vehicle, and a fuel cell electric vehicle. In a case where the mobile object is not a vehicle, the terms "vehicle" and "car" in the present disclosure may be appropriately replaced with "mobile object," and the term "driving" may be appropriately replaced with "moving."

[0064] The vehicle 100 can travel through driverless operation. The term "driverless operation" refers to travel that does not rely on a driving operation by an occupant. The driving operation refers to an operation that involves at least one of "driving," "turning," and "stopping" the vehicle 100. The driverless operation is achieved through automatic or manual remote control using a device positioned outside the vehicle 100, or through autonomous control at the vehicle 100. An occupant who does not perform the driving operation may be on the vehicle 100 traveling through driverless operation. Examples of the occupant who does not perform the driving operation include a person who simply sits on a seat of the vehicle 100 and a person who performs work other than the driving operation, such as cleaning the vehicle.arranging, checking, or operating switches while in the vehicle 100. Driving that relies on driving operation by an occupant may be referred to as "operated driving."

[0065] The term "remote control" herein includes "full remote control," in which all operations of the vehicle 100 are entirely controlled from outside the vehicle 100, and "partial remote control," in which a portion of the operations of the vehicle 100 are controlled from outside the vehicle 100. The term "autonomous control" includes "fully autonomous control," in which the vehicle 100 autonomously controls its operations without receiving any information from devices outside the vehicle 100, and "semi-autonomous control," in which the vehicle 100 autonomously controls its operations using information received from devices outside the vehicle 100.

[0066] In the present embodiment, the driving system 50 is used in a factory FC where the vehicle 100 is manufactured. The reference coordinate system of the factory FC is a global coordinate system GC, and each position in the factory FC can be represented by 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 travel road TR on which the vehicle 100 can travel. In the factory FC, a plurality of external sensors 300 are installed along the travel road TR. The positions of the external sensors 300 in the factory FC are adjusted in advance. The vehicle 100 moves along the travel road TR from the first location PL1 to the second location PL2 through driverless operation.

[0067] Fig. 2 is a block diagram showing the configuration of the driving system 50 according to the first embodiment. The vehicle 100 includes a vehicle control device 110 that controls each part of the vehicle 100, an actuator group 120 that includes one or more actuators driven under the control of the vehicle control device 110, and a communication device 130 that communicates with external devices such as the server 200 via wireless communication. The actuator group 120 includes an actuator of a drive device that accelerates the vehicle 100, an actuator of a steering device that changes the traveling direction of the vehicle 100, and an actuator of a braking device that decelerates the vehicle 100.

[0068] The vehicle control device 110 is a computer that includes 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 that they can communicate 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 implements various functions, including functions of a vehicle control unit 115, by executing a program PG1 stored in the memory 112.

[0069] The vehicle control unit 115 causes the vehicle 100 to travel by controlling the actuator group 120. The vehicle control unit 115 may cause the vehicle 100 to travel by controlling the actuator group 120 using a travel control signal received from the server 200. The travel control signal is a control signal for causing the vehicle 100 to travel. In the present embodiment, the travel control signal includes an acceleration and a steering angle of the vehicle 100 as parameters. In other embodiments, the travel control signal may include a speed of the vehicle 100 as a parameter instead of or in addition to the acceleration of the vehicle 100.

[0070] The server 200 is 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 so that they can communicate bidirectionally via the internal bus 204. A communication device 205, which communicates with various devices external to the server 200, is connected to the input / output interface 203. The communication device 205 can communicate with the vehicle 100 via wireless communication and can communicate with each external sensor 300 via wired or wireless communication. The processor 201 implements the following functions by executing a program PG2 stored in the memory 202.The processor 201 implements various functions including functions of an acquisition unit 211, a detection unit 212, a calculation unit 213, and a remote control unit 214.

[0071] The acquisition unit 211 acquires three-dimensional point cloud data obtained by detecting the vehicle 100 from the outside using the external LiDAR 310.

[0072] The acquisition unit 212 corresponds to one of the functional units that acquires information about a defect in three-dimensional point cloud data. The acquisition unit 212 acquires that the three-dimensional point cloud data acquired by the acquisition unit 211 is defective.

[0073] For example, the acquisition unit 212 detects that the three-dimensional point cloud data is erroneous when an actual count is smaller than a predetermined reference count. The actual count corresponds to the count of points constituting the three-dimensional point cloud data actually acquired by the acquisition unit 211. The reference count corresponds to a threshold for detecting that the three-dimensional point cloud data is erroneous. The reference count is set, for example, using a scheduled count. The scheduled count corresponds to the count of points scheduled to be acquired as three-dimensional point cloud data when the acquisition unit 211 acquires the three-dimensional point cloud data. The reference count is set, for example, by multiplying the scheduled count by a predetermined multiplication factor. The multiplication factor is a number less than one.The multiplication factor is determined, for example, based on 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, based on the correlation between an error 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 error ratio corresponds to the ratio of the count of points corresponding to an erroneous section to the total count of points constituting the three-dimensional point cloud data.That is, the reference count used as a reference for detecting an error in three-dimensional point cloud data is determined based on whether the accuracy of the position and orientation of the vehicle 100 calculated using the partially erroneous three-dimensional point cloud data is within an allowable range. For example, if the planned count is 500, the reference count may be 300.

[0074] The reference count is preset for each predetermined detection area within a detection range of each external LiDAR 310, for example. In this case, the detection unit 212 detects that the three-dimensional point cloud data is erroneous by, for example, performing the following process. Specifically, the detection unit 212 first uses determination information to identify a detection area including the vehicle 100 from a plurality of detection ranges of a plurality of external LiDARs 310. The determination information includes, for example, a transmission history of the travel control signal, the position and orientation of the vehicle 100 at a time before the detection time, and a traveling speed of the vehicle 100.Next, the acquisition unit 212 uses a count database DB1 pre-stored in the memory 202 of the server 200 to obtain a reference count of the detection area identified as the area including the detection target vehicle 100. The count database DB1 is a database in which reference counts are associated with the detection areas of the external LiDARs 310. Next, the acquisition unit 212 compares the actual count with the reference count and detects that the three-dimensional point cloud data is erroneous if the actual count is smaller than the reference count.

[0075] The detection unit 212 may detect that the three-dimensional point cloud data is erroneous by another method. For example, the detection unit 212 may detect that the three-dimensional point cloud data is erroneous when an object that may be an obstacle is detected between the vehicle 100 and the external LiDAR 310. The object that may be an obstacle may be a moving object or a stationary object. The moving object is an object that may approach the detection target vehicle 100 by moving. Examples of the moving object include a living being such as a human or an animal, a vehicle 100 that is different from the detection target vehicle 100, and a manually or automatically movable manufacturing device such as an automated guided vehicle (AGV).The stationary object is an object naturally or artificially arranged on the travel road TR on which the vehicle 100 travels. Examples of the stationary object include a manufacturing device with a work layout that can be changed as needed, equipment such as a traffic cone and a sign arranged on the travel road TR, a flying object such as a fallen leaf flying onto the travel road TR, and a plant such as a tree whose size can change due to growth, etc.

[0076] The calculation unit 213 uses three-dimensional point cloud data to calculate at least one of the position and the orientation of the vehicle 100 and outputs vehicle position information. In the present embodiment, the position of the vehicle 100 corresponds to a position of a positioning point preset at a specific part of the vehicle 100. The orientation of the vehicle 100 corresponds to a direction indicated by a vector extending from the rear to the front of the vehicle 100 along a longitudinal axis of the vehicle 100. The vehicle position information serves as a basis for generating the travel 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 can execute a first calculation process and a second calculation process.

[0077] The first calculation process is a process of calculating at least one of the position and the 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 first calculation process of the present embodiment, the calculation unit 213 calculates the position and orientation of the vehicle 100 indicated 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. Examples of the reference point cloud data include three-dimensional computer-aided design (CAD) data indicating the vehicle 100.An algorithm such as Iterative Closest Point (ICP) and Normal Distribution Transform (NDT) is used to match the three-dimensional point cloud data with the reference point cloud data.

[0078] Fig. 3 illustrates the second calculation process. The second calculation process is a process of calculating at least one of the position and the orientation of the vehicle 100 by applying graphic data FG having a predetermined shape to three-dimensional point cloud data PD acquired by the acquisition unit 211. The shape of the graphic data FG corresponds to a shape with which the external shape of the vehicle 100 can be estimated when the graphic data FG is applied so as to surround the three-dimensional point cloud data PD. Examples of the shape of the graphic data FG include a rectangular parallelepiped shape. In this case, the graphic data FG is also referred to as a "bounding box."For example, if the shape of the graphic data FG corresponds to a rectangular parallelepiped shape, the orthogonal relationship of the first sides SB1 to SB4, the second sides SB5 to SB8, and the third sides SB9 to SB12 to each other corresponds to the ratio of the width, the total length, and the height. In further embodiments, the shape of the graphic data FG may correspond to a shape other than a rectangular parallelepiped shape. Examples of the shape of the graphic data FG include a rectangular shape.

[0079] In the second calculation process of the present embodiment, the calculation unit 213 calculates the position and orientation of the vehicle 100 indicated by the three-dimensional point cloud data PD by applying the rectangular parallelepiped graphic data FG to surround the three-dimensional point cloud data PD. Specifically, the calculation unit 213 first applies the rectangular parallelepiped graphic data FG to surround the three-dimensional point cloud data PD. Next, the calculation unit 213 executes the following process to calculate the position of the vehicle 100. The calculation unit 213 obtains the coordinates of eight vertices VB1 to VB8 of the rectangular parallelepiped shape constituting the graphic data FG.Each set of coordinates of the graphic data FG is associated with additional information indicating a corresponding one of the eight vertices VB1 to VB8 of the rectangular parallelepiped shape constituting the graphic data FG. Next, the calculation unit 213 uses a coordinate database DB2 stored in the memory 202 of the server 200 to calculate the coordinates of the positioning point of the vehicle 100 as the position of the vehicle 100 based on the coordinates of the eight vertices VB1 to VB8 of the rectangular parallelepiped shape constituting the graphic data FG. The coordinate database DB2 indicates the relative positional relationship between the eight vertices VB1 to VB8 of the rectangular parallelepiped shape constituting the graphic data FG and the positioning point of the vehicle 100. The calculation unit 213 performs the following process to calculate the orientation of the vehicle 100.The calculation unit 213 calculates the orientation of the vehicle 100 using the coordinates of a first center position CN1 and the coordinates of a second center position CN2. The first center position CN1 corresponds to the center position of the side SB1 extending along the vehicle width direction on the front side of the vehicle 100, among the 12 sides SB1 to SB12 of the rectangular parallelepiped shape constituting the graphic data FG. The second center position CN2 corresponds to the center position of the side SB2 extending along the vehicle width direction on the rear side of the vehicle 100, among the 12 sides SB1 to SB12 of the rectangular parallelepiped shape constituting the graphic data FG.

[0080] When the acquisition unit 212 detects that the three-dimensional point cloud data PD is erroneous, 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 acquisition unit 212 detects that the three-dimensional point cloud data PD is erroneous, the calculation unit 213 executes the first calculation process and the second calculation process. The calculation unit 213 executes an arithmetic process to take an arithmetic mean of first coordinates indicating the position of the vehicle 100 calculated by executing the first calculation process and second coordinates indicating the position of the vehicle 100 calculated by executing the second calculation process.The calculation unit 213 performs an arithmetic process to take an arithmetic mean of 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 indicating that the coordinates obtained by taking the arithmetic mean of the first coordinates and the second coordinates correspond to the position of the vehicle 100, and the vector obtained by taking the arithmetic mean of the first vector and the second vector corresponds to the orientation of the vehicle 100.

[0081] The calculation unit 213 may output vehicle position information indicating that the coordinates obtained by taking a weighted average of the first coordinates and the second coordinates correspond to the position of the vehicle 100, and that a vector obtained by taking a weighted average of the first vector and the second vector corresponds to the orientation of the vehicle 100. In this case, in an arithmetic process for taking the weighted average of the first coordinates and the second coordinates, the second coordinates are weighted, for example, based on the error ratio of the three-dimensional point cloud data PD, such that the weight increases as the error ratio of the three-dimensional point cloud data PD increases.For example, in an arithmetic process for taking the weighted average of the first vector and the second vector, the second vector is weighted based on the error ratio of the three-dimensional point cloud data PD, so that the weight increases with increasing error ratio of the three-dimensional point cloud data PD.

[0082] If the detection unit 212 does not detect that the three-dimensional point cloud data PD is erroneous, the calculation unit 213 executes the first calculation process without executing the second calculation process. Thus, the calculation unit 213 outputs vehicle position information indicating that the first coordinates calculated by executing the first calculation process correspond to the position of the vehicle 100 and the first vector calculated by executing the first calculation process corresponds to the orientation of the vehicle 100.

[0083] The remote control unit 214 acquires detection results from the sensors, generates a travel control signal for controlling the actuator group 120 of the vehicle 100 using the detection results, and transmits the travel control signal to the vehicle 100, thereby causing the vehicle 100 to travel remotely. The remote control unit 214 can generate and output not only the travel control signal but also control signals for controlling, for example, various auxiliary devices provided in the vehicle 100 and actuators that operate various types of equipment, such as windshield wipers, power windows, and lamps. That is, the remote control unit 214 can remotely operate the various types of equipment and the various auxiliary devices.

[0084] Fig. 4 is a flowchart showing a processing flow of the driving control on the vehicle 100 according to the first embodiment. Fig. 4 is repeated at predetermined time intervals, for example, during a period in which the vehicle 100 is traveling under the remote control of the server 200. In the processing flow of Fig. 4, the processor 201 of the server 200 executes the program PG2 to serve as the acquisition unit 211, the detection unit 212, the calculation unit 213, and the remote control unit 214. The processor 111 of the vehicle 100 executes the program PG1 to serve as the vehicle control unit 115.

[0085] In step S1, the processor 201 of the server 200 acquires vehicle position information using a detection result output from the external sensor 300. Specifically, in step S1, the processor 201 acquires the vehicle position information using the three-dimensional point cloud data PD acquired from the external LiDAR 310 corresponding to the external sensor 300.

[0086] In step S2, the processor 201 of the server 200 determines a target position to which the vehicle 100 should next move. In the present embodiment, the target position is represented by X, Y, and Z coordinates in the global coordinate system GC. The memory 202 of the server 200 prestores a reference route RR along which the vehicle 100 is expected to travel. The route is represented by a node indicating a departure point, nodes indicating passage points, a node indicating a destination, and links connecting the nodes. The processor 201 uses the vehicle position information and the reference route RR to determine the target position to which the vehicle 100 should next move. The processor 201 determines the target position on the reference route RR to be ahead of the current position of the vehicle 100.

[0087] In step S3, the processor 201 of the server 200 generates a travel control signal to cause the vehicle 100 to travel toward the determined target position. The processor 201 calculates a travel speed of the vehicle 100 based on a transition in the position of the vehicle 100 and compares the calculated travel speed with a target speed. The processor 201 generally determines an acceleration such that the vehicle 100 accelerates when the travel speed is lower than the target speed, and determines an acceleration such that the vehicle 100 decelerates when the travel speed is higher than the target speed. When the vehicle 100 is on the reference route RR, the processor 201 determines a steering angle and acceleration such that the vehicle 100 does not deviate from the reference route RR.When the vehicle 100 is not on the reference route RR, in other words, when the vehicle 100 deviates from the reference route RR, the processor 201 determines a steering angle and an acceleration so that the vehicle 100 returns to the reference route RR.

[0088] In step S4, the processor 201 of the server 200 transmits the generated travel control signal to the vehicle 100. The processor 201 repeats the acquisition of the vehicle position information, the determination of the target position, the generation of the travel control signal, and the transmission of the travel control signal in a predetermined cycle.

[0089] In step S5, the processor 111 of the vehicle 100 receives the travel 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 travel control signal to cause the vehicle 100 to travel with the acceleration and steering angle indicated by the travel control signal. The processor 111 repeats the reception of the travel control signal and the control of the actuator group 120 in a predetermined cycle. With the system 50 according to the present embodiment, the vehicle 100 can be caused to travel by remote control, and the vehicle 100 can be moved without using transportation equipment such as a crane or a conveyor.

[0090] Fig. 5 is a flowchart showing a processing procedure according to the first embodiment. Fig. The process shown in Fig. 5 is repeated at predetermined time intervals, for example, during a period in which the vehicle 100 is traveling under the remote control of the server 200.

[0091] 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.

[0092] In step S103, the acquisition unit 211 of the server 200 acquires the three-dimensional point cloud data PD. In step S104, the acquisition unit 212 detects whether the three-dimensional point cloud data PD acquired by the acquisition unit 211 is erroneous. If the acquisition unit 212 detects that the three-dimensional point cloud data PD is erroneous (step S104: Yes), the calculation unit 213 executes the first calculation process and the second calculation process in step S105. The calculation unit 213 outputs vehicle position information indicating that the coordinates calculated by performing a predetermined arithmetic process on the first coordinates and the second coordinates correspond to the position of the vehicle 100, and that a vector calculated by performing a predetermined arithmetic process on the first vector and the second vector corresponds to the orientation of the vehicle 100.If the detection unit 212 does not detect that the three-dimensional point cloud data PD is erroneous (step S104: No), the calculation unit 213 executes the first calculation process without executing the second calculation process to calculate the position and orientation of the vehicle 100 in step S106, and outputs vehicle position information. In step S107, the remote control unit 214 uses the vehicle position information and the reference route RR to determine a target position to which the vehicle 100 is expected to move next. In step S108, the remote control unit 214 generates a travel control signal to cause the vehicle 100 to travel toward the determined target position. In step S109, the remote control unit 214 transmits the generated travel control signal to the vehicle 100.

[0093] In step S110, the vehicle control unit 115 of the vehicle control device 110 controls the actuator group 120 using the received travel control signal to cause the vehicle 100 to travel at an acceleration and a steering angle indicated by the travel control signal.

[0094] According to the first embodiment, the calculation system 7 can calculate the position and orientation of the vehicle 100 using the three-dimensional point cloud data PD indicating the vehicle 100 and output from the external LiDAR 310 to cause the vehicle 100 to remotely drive. 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 through the first calculation process. However, if the three-dimensional point cloud data PD is erroneous, the accuracy of the matching 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.According to the first embodiment, the calculation system 7 can detect that the acquired three-dimensional point cloud data PD is defective. When the calculation system 7 detects that the three-dimensional point cloud data PD is defective, the calculation system 7 can calculate the position and orientation of the vehicle 100 by executing at least the second calculation process. With this configuration, the calculation system 7 can achieve the following by applying the graphic data FG to the three-dimensional point cloud data PD through the second calculation process when the calculation system 7 detects that the three-dimensional point cloud data PD is defective. In this case, based on the graphic data FG, the calculation system 7 can estimate the external shape of the vehicle 100 that could not be obtained due to the defect in the three-dimensional point cloud data PD, and estimate the dimensions of the vehicle 100, such as:the width, the total length, and the height. Thus, the calculation system 7 can supplement information corresponding to the erroneous portion of the point cloud constituting the three-dimensional point cloud data PD. As described above, the calculation system 7 can suppress the decrease in the accuracy of the position and orientation of the vehicle 100 when the calculation system 7 detects that the three-dimensional point cloud data PD is erroneous.

[0095] According to the first embodiment, the calculation system 7 can detect that the three-dimensional point cloud data PD is erroneous when the count number of points constituting the three-dimensional point cloud data PD is smaller than the predetermined count number.

[0096] According to the first embodiment, the calculation system 7 can determine the threshold for detecting that the three-dimensional point cloud data PD is erroneous based on the degree of influence on the control of the vehicle 100.

[0097] According to the first embodiment, the calculation system 7 can detect that the three-dimensional point cloud data PD is erroneous when an object that may be an obstacle is detected between the vehicle 100 and the external LiDAR 310 in the three-dimensional point cloud data PD.

[0098] According to the first embodiment, when the calculation system 7 detects that the three-dimensional point cloud data PD is erroneous, the calculation system 7 can calculate the first coordinates and the first vector by performing the first calculation process. Furthermore, when the calculation system 7 detects that the three-dimensional point cloud data PD is erroneous, the calculation system 7 can calculate the second coordinates and the second vector by performing the second calculation process. Thus, the calculation system 7 can output the vehicle position information indicating that the coordinates calculated by performing the predetermined arithmetic process on the first coordinates and the second coordinates correspond to the position of the vehicle 100, and the vector calculated by performing the predetermined arithmetic process on the first vector and the second vector corresponds to the orientation of the vehicle 100.

[0099] According to the first embodiment, when the calculation system 7 detects that the three-dimensional point cloud data PD is erroneous, it can output the vehicle position information indicating that the coordinates obtained by taking the arithmetic mean of the first coordinates and the second coordinates correspond to the position of the vehicle 100, and the vector obtained by taking the arithmetic mean of the first vector and the second vector corresponds to the orientation of the vehicle 100.

[0100] According to the first embodiment, when the calculation system 7 detects that the three-dimensional point cloud data PD is erroneous, the calculation system 7 may perform the following process. In this case, the calculation system 7 may output the vehicle position information indicating that the coordinates obtained by taking the weighted average of the first coordinates and the second coordinates such that the weight of the second coordinates is greater than that of the first coordinates correspond to the position of the vehicle 100, and the vector obtained by taking the weighted average of the first vector and the second vector such that the weight of the second vector is greater than that of the first vector corresponds to the orientation of the vehicle 100. With this configuration, the decrease in the accuracy of the position and orientation of the vehicle 100 can be further suppressed.In this case, in the arithmetic process of assuming the weighted average of the first coordinates and the second coordinates, the second coordinates may be weighted based on the error ratio of the three-dimensional point cloud data PD, so that the weight increases as the error ratio of the three-dimensional point cloud data PD increases. In the arithmetic process of assuming the weighted average of the first vector and the second vector, the second vector may be weighted based on the error ratio of the three-dimensional point cloud data PD, so that the weight increases as the error ratio of the three-dimensional point cloud data PD increases. With this configuration, the decrease in the accuracy of the position and orientation of the vehicle 100 can be further suppressed.

[0101] The calculation system 7 only needs to calculate at least one of the position and the orientation of the vehicle 100, and may calculate the position of the vehicle 100 without calculating the orientation of the vehicle 100, or may calculate the orientation 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 the orientation of the vehicle 100. B. Second embodiment

[0102] Fig. 6 is a block diagram showing the configuration of a driving system 50a according to a second embodiment. The driving system 50a includes a computing system 7a and the remote control device 80. The computing system 7a includes one or more vehicles 100, a computing device 70a, and one or more external LiDARs 310. In the present embodiment, the functions of the computing device 70a and the remote control device 80 are implemented by a server 200a. In the present embodiment, the computing system 7a differs from the computing system in the first embodiment in the detection method for detecting that the three-dimensional point cloud data PD is erroneous and the calculation method for calculating the position and orientation of the vehicle 100. The other configuration of the driving system 50a is similar to that in the first embodiment unless otherwise stated.The same components as those in the first embodiment are represented by the same reference numerals and the description thereof is omitted.

[0103] The server 200a is a computer including a processor 201a, a memory 202a, the input / output interface 203, and the internal bus 204. The processor 201a implements the following functions by executing a program PG2a stored in the memory 202a. The processor 201a implements various functions including functions of an acquisition unit 211a, a detection unit 212a, a calculation unit 213a, and the remote control unit 214.

[0104] The acquisition unit 211a acquires a plurality of pieces of three-dimensional point cloud data PD acquired at different times for the same vehicle 100.

[0105] The calculation unit 213a performs the first calculation process on the pieces of three-dimensional point cloud data PD acquired by the acquisition unit 211a to calculate the positions and orientations of the vehicle 100 at different times. The calculation unit 213a generates time series data on the positions of the vehicle 100 and time series data on the orientations of the vehicle 100 by arranging the positions and orientations of the vehicle 100 at different times in chronological order.

[0106] The acquisition unit 212a detects, using the pieces of time series data, that at least one of the pieces of three-dimensional point cloud data PD acquired by the acquisition unit 211a is erroneous. When the three-dimensional point cloud data PD is erroneous and the accuracy of the correspondence between the three-dimensional point cloud data PD and the reference point cloud data decreases, causing a decrease in the accuracy of the position and orientation of the vehicle 100, a variation in the positions and orientations of the vehicle 100 at each time point in the pieces of time series data may occur.In the present embodiment, the detection unit 212a detects that the three-dimensional point cloud data PD is erroneous when the variation in at least one of the positions and the orientations at each time point in the pieces of time series data is equal to or greater than a predetermined variation threshold. The variation threshold is determined based on, for example, the degree of influence on the control of the vehicle 100.

[0107] When the detection unit 212a detects that at least one of the pieces of three-dimensional point cloud data PD is erroneous, the calculation unit 213a executes the second calculation process without executing the first calculation process. Thus, the calculation unit 213a outputs vehicle position information indicating that the second coordinates calculated by executing the second calculation process correspond to the position of the vehicle 100, and that the second vector calculated by executing the second calculation process corresponds to the orientation of the vehicle 100.If the detection unit 212a does not detect that the three-dimensional point cloud data PD is erroneous, the calculation unit 213a outputs vehicle position information indicating that the first coordinates calculated by executing the first calculation process correspond to the position of the vehicle 100, and that the first vector calculated by executing the first calculation process corresponds to the orientation of the vehicle 100.

[0108] Fig. Fig. 7 is a flowchart showing a processing procedure according to the second embodiment. Fig. The process shown in Fig. 7 is repeated at predetermined time intervals, for example, during a period in which the vehicle 100 is traveling under the remote control of the server 200a.

[0109] In step S201, the external LiDAR 310 captures the same vehicle 100 at a plurality of different points in time. Thus, the external LiDAR 310 acquires a plurality of pieces of three-dimensional point cloud data PD captured at the different points in time for the same vehicle 100. In step S202, the external LiDAR 310 transmits the pieces of three-dimensional point cloud data PD to the server 200a.

[0110] In step S203, the acquisition unit 211a of the server 200a acquires the pieces of three-dimensional point cloud data PD acquired at different times for the same vehicle 100. In step S204, the calculation unit 213a performs the first calculation process on the pieces of three-dimensional point cloud data PD acquired by the acquisition unit 211a to calculate the positions and orientations of the vehicle 100 at the different times. In step S205, the calculation unit 213a generates time-series data on the positions of the vehicle 100 and time-series data on the orientations of the vehicle 100 by arranging the positions and orientations of the vehicle 100 at the different times in chronological order.In step S206, the acquisition unit 212a detects, using the pieces of time series data, whether at least one of the pieces of three-dimensional point cloud data PD acquired by the acquisition unit 211a is erroneous. If the acquisition unit 212a detects that at least one of the pieces of three-dimensional point cloud data PD is erroneous (step S206: Yes), the calculation unit 213a executes the second calculation process in step S207 without executing the first calculation process to calculate the position and orientation of the vehicle 100 and outputs vehicle position information. If the acquisition unit 212a does not detect that any of the pieces of three-dimensional point cloud data PD is erroneous (step S206: No), 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 S208.In step S209, the remote control unit 214 uses the vehicle position information and the reference route RR to determine a target position to which the vehicle 100 is expected to move next. In step S210, the remote control unit 214 generates a travel control signal to cause the vehicle 100 to travel toward the determined target position. In step S211, the remote control unit 214 transmits the generated travel control signal to the vehicle 100.

[0111] In step S212, the vehicle control unit 115 of the vehicle control device 110 controls the actuator group 120 using the received travel control signal to cause the vehicle 100 to travel at an acceleration and a steering angle indicated by the travel control signal.

[0112] According to the second embodiment, the calculation system 7a can acquire a plurality of pieces of three-dimensional point cloud data PD acquired at different times for the same vehicle 100. The calculation system 7a can calculate the positions and orientations of the vehicle 100 at the different times by performing the first calculation process on the acquired pieces of three-dimensional point cloud data PD. The calculation system 7a can generate the time-series data on the positions of the vehicle 100 and the time-series data on the orientations of the vehicle 100 by arranging the positions and orientations of the vehicle 100 at the different times in chronological order. Thus, the calculation system 7a can detect that at least one of the pieces of three-dimensional point cloud data PD is faulty using the pieces of time-series data.When the calculation system 7a detects that at least one piece of three-dimensional point cloud data PD is erroneous, 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. With this configuration, the calculation system 7a can suppress the decrease in the accuracy of the position and orientation of the vehicle 100 when the three-dimensional point cloud data PD is erroneous.

[0113] According to the second embodiment, the calculation system 7a can detect that the three-dimensional point cloud data PD is erroneous when the variation in at least one of the positions and the orientations at the individual points in time in the pieces of time series data is equal to or greater than the predetermined threshold. C. Third embodiment

[0114] Fig. 8 is a block diagram showing the configuration of a driving system 50b according to a third embodiment. The driving system 50b includes a computing system 7b and the remote control device 80. The computing system 7b includes one or more vehicles 100, a computing device 70b, and one or more external LiDARs 310. In the present embodiment, the functions of the computing device 70b and the remote control device 80 are implemented by a server 200b. In the present embodiment, the computing system 7b differs from the computing system in the first embodiment in terms of the detection method for detecting that the three-dimensional point cloud data PD is erroneous and the calculation method for calculating the position and orientation of the vehicle 100. The other configuration of the driving system 50b is similar to that in the first embodiment unless otherwise stated.The same components as in each of the above embodiments are represented by the same reference numerals and the description thereof is omitted.

[0115] The server 200b is a computer including a processor 201b, a memory 202b, the input / output interface 203, and the internal bus 204. The processor 201b implements the following functions by executing a program PG2b stored in the memory 202b. The processor 201b implements various functions including functions of the acquisition unit 211a, a detection unit 212b, a calculation unit 213b, and the remote control unit 214.

[0116] The calculation unit 213b performs the first calculation process and the second calculation process on a plurality of pieces of three-dimensional point cloud data PD acquired by the acquisition unit 211a to calculate the positions and orientations of the vehicle 100 at different times. Hereinafter, the positions and orientations of the vehicle 100 calculated by executing the first calculation process are also referred to as "first calculation results." The positions and orientations of the vehicle 100 calculated by executing the second calculation process are also referred to as "second calculation results." The calculation unit 213b arranges a plurality of first calculation results at the different times in chronological order.Thus, the calculation unit 213b generates first time series data on the positions and orientations of the vehicle 100 calculated by executing the first calculation process. The calculation unit 213b arranges a plurality of second calculation results at the different times in chronological order. Thus, the calculation unit 213b generates second time series data on the positions and orientations of the vehicle 100 calculated by executing the second calculation process.

[0117] The acquisition unit 212b detects that at least one of the pieces of three-dimensional point cloud data PD is erroneous using the first calculation results and the second calculation results. For example, the acquisition unit 212b detects that at least one of the pieces of three-dimensional point cloud data PD acquired by the acquisition unit 211a is erroneous using the first time series data and the second time series data. In the present embodiment, the acquisition unit 212b detects that the three-dimensional point cloud data PD is erroneous when the variation in at least one of the positions and the orientations at each time point in at least the first time series data or the second time series data is equal to or greater than the variation threshold.

[0118] When the detection unit 212b detects that at least one of the pieces of three-dimensional point cloud data PD is erroneous, the calculation unit 213b performs the following process using the first time series data and the second time series data. In this case, the calculation unit 213b selects, as the vehicle position information to be output, either the first calculation results or the second calculation results calculated by executing the first calculation process or the second calculation process, respectively. When the three-dimensional point cloud data PD is erroneous and the accuracy of the correspondence between the three-dimensional point cloud data PD and the reference point cloud data decreases, causing a decrease in the accuracy of the position and orientation of the vehicle 100, a variation in the positions and orientations of the vehicle 100 at each time point in the first time series data may occur.When the accuracy of the position and orientation of the vehicle 100 calculated by applying the graphic data FG to the three-dimensional point cloud data PD decreases due to the situation of detecting the vehicle 100, etc., variation may occur in the positions and orientations of the vehicle 100 at each time point in the second time series data. In the present embodiment, the calculation unit 213b selects from the first calculation results and the second calculation results to output, as the vehicle position information, calculation results corresponding to time series data with less variation in the positions and orientations at each time point in the time series data when comparing the first time series data with the second time series data.For example, if the variation of the positions and orientations at each time point in the second time series data is smaller than the variation of the positions and orientations at each time point in the first time series data, the calculation unit 213b makes the following selection. In this case, the calculation unit 213b selects the second calculation results.

[0119] The calculation unit 213b outputs the selected calculation results as the vehicle position information. At this time, the calculation unit 213b may, for example, output a predetermined calculation result as the vehicle position information from among the plurality of calculation results used to generate the time series data. The calculation unit 213b may select, as the vehicle position information to be output, either the first calculation results or the second calculation results calculated by executing the first calculation process or the second calculation process, respectively, then execute the selected calculation process again to obtain a new calculation result, and output the newly obtained calculation result as the vehicle position information.

[0120] Fig. 9 is a flowchart showing a processing procedure according to the third embodiment. Fig. The process shown in Fig. 9 is repeated at predetermined time intervals, for example, during a period in which the vehicle 100 is traveling under the remote control of the server 200b.

[0121] In step S301, the external LiDAR 310 captures the same vehicle 100 at a plurality of different points in time. Thus, the external LiDAR 310 acquires a plurality of pieces of three-dimensional point cloud data PD captured at the different points in time for the same vehicle 100. In step S302, the external LiDAR 310 transmits the pieces of three-dimensional point cloud data PD to the server 200b.

[0122] In step S303, the acquisition unit 211a of the server 200b acquires the pieces of three-dimensional point cloud data PD acquired at the different times for the same vehicle 100. In step S304, the calculation unit 213b executes the first calculation process and the second calculation process on the pieces of three-dimensional point cloud data PD acquired by the acquisition unit 211a to calculate the positions and orientations of the vehicle 100 at the different times. In step S305, the calculation unit 213b generates first time series data by arranging a plurality of first calculation results at the different times in chronological order. In step S306, the calculation unit 213b generates second time series data by arranging a plurality of second calculation results at the different times in chronological order.In step S307, the acquisition unit 212b detects whether at least one of the pieces of three-dimensional point cloud data PD acquired by the acquisition unit 211a is erroneous using the first time series data and the second time series data. If the acquisition unit 212b detects that at least one of the pieces of three-dimensional point cloud data PD is erroneous (step S307: Yes), the calculation unit 213b executes step S308. In step S308, the calculation unit 213b uses the first time series data and the second time series data to select the first calculation results or the second calculation results to be output as the vehicle position information. In step S309, the calculation unit 213b outputs the selected calculation results from the first calculation results and the second calculation results as the vehicle position information.If the detection unit 212b does not detect that any of the pieces of three-dimensional point cloud data PD is faulty (step S307: No), the calculation unit 213b executes step S310. In step S310, the calculation unit 213b outputs the first calculation results as the vehicle position information. In step S311, the remote control unit 214 uses the vehicle position information and the reference route RR to determine a target position to which the vehicle 100 should next move. In step S312, the remote control unit 214 generates a travel control signal to cause the vehicle 100 to travel toward the determined target position. In step S313, the remote control unit 214 transmits the generated travel control signal to the vehicle 100.

[0123] In step S314, the vehicle control unit 115 of the vehicle control device 110 controls the actuator group 120 using the received travel control signal to cause the vehicle 100 to travel at an acceleration and a steering angle indicated by the travel control signal.

[0124] According to the third embodiment, the calculation system 7b can detect that at least one of the pieces of three-dimensional point cloud data PD is erroneous using the first calculation results and the second calculation results. When the calculation system 7b detects that at least one of the pieces of three-dimensional point cloud data PD is erroneous, the calculation system 7b can select, as the vehicle position information to be output, either the first calculation results or the second calculation results calculated by executing the first calculation process or the second calculation process, respectively. That is, when the calculation system 7b detects that at least one of the pieces of three-dimensional point cloud data PD is erroneous, the calculation system 7b can make a selection by determining which of the first calculation results and the second calculation results is more accurate.The calculation system 7b can output the selected calculation results as the vehicle position information. With this configuration, the calculation system 7b can suppress the decrease in the accuracy of the position and orientation of the vehicle 100 when the calculation system 7b detects that at least one piece of three-dimensional point cloud data PD is erroneous.

[0125] According to the third embodiment, the calculation system 7b can acquire a plurality of pieces of three-dimensional point cloud data PD acquired at different times for the same vehicle 100. The calculation system 7b can calculate the positions and orientations of the vehicle 100 at the different times by performing the first calculation process and the second calculation process on the acquired pieces of three-dimensional point cloud data PD. The calculation system 7b can generate the first time series data by arranging a plurality of first calculation results at the different times in chronological order. The calculation system 7b can generate the second time series data by arranging a plurality of second calculation results at the different times in chronological order.Thus, the calculation system 7b can detect that at least one of the pieces of three-dimensional point cloud data PD is erroneous using the first time series data and the second time series data. The calculation system 7b can perform the following process when the calculation system 7b detects that at least one of the pieces of three-dimensional point cloud data PD is erroneous. In this case, the calculation system 7b can select either the first calculation results or the second calculation results calculated by executing the first calculation process or the second calculation process, respectively, using the first time series data and the second time series data as the vehicle position information to be output.That is, when the calculation system 7b detects that at least one of the pieces of three-dimensional point cloud data PD is erroneous, the calculation system 7b can make a selection by determining which of the first calculation results and the second calculation results are more accurate using the first time series data and the second time series data. The calculation system 7b can output the selected calculation results as the vehicle position information. With this configuration, the calculation system 7b can suppress the decrease in the accuracy of the position and orientation of the vehicle 100 when the calculation system 7b detects that at least one of the pieces of three-dimensional point cloud data PD is erroneous.

[0126] According to the third embodiment, by comparing the variations between the first time series data and the second time series data, the calculation system 7b can select either the first calculation results or the second calculation results calculated by executing the first calculation process or the second calculation process, respectively, as the vehicle position information to be output. D. Fourth embodiment

[0127] Fig. 10 is a block diagram showing the configuration of a driving system 50c according to a fourth embodiment. The driving system 50c includes a computing system 7c and the remote control device 80. The computing system 7c includes one or more vehicles 100, a computing device 70c, and one or more external LiDARs 310. In the present embodiment, the functions of the computing device 70c and the remote control device 80 are implemented by a server 200c. In the present embodiment, the computing system 7c differs from the computing system in the first embodiment in terms of the type of functional unit that acquires information about a defect in the three-dimensional point cloud data PD and the calculation method for calculating the position and orientation of the vehicle 100. The other configuration of the driving system 50c is similar to that in the first embodiment unless otherwise stated.The same components as in the first embodiment are represented by the same reference numerals and the description thereof is omitted.

[0128] The server 200c is a computer including a processor 201c, a memory 202c, the input / output interface 203, and the internal bus 204. The processor 201c implements the following functions by executing a program PG2c stored in the memory 202c. The processor 201c implements various functions including functions of the acquisition unit 211, a determination unit 215, a calculation unit 213c, and the remote control unit 214.

[0129] The determination unit 215 is one of the functional units that acquires information about a defect in the three-dimensional point cloud data PD. The determination unit 215 determines whether the vehicle 100 is located in a specific area where the three-dimensional point cloud data PD acquired by the acquisition unit 211 is presumed to be defective. Examples of the specific area include a work area where a manufacturing step for a specific work is performed. In the specific work, a work object corresponding to at least one of a manufacturing device to be used in the manufacturing step and a worker engaged in the work in the manufacturing step enters at least one of the interior of the vehicle 100 and the surrounding area around the vehicle 100 to perform the work.Examples of the manufacturing device to be used in the manufacturing step include equipment to be used for assembling the vehicle 100, an automated guided vehicle that transports components, etc., to be used in manufacturing the vehicle 100, and an articulated robot that attaches the components, etc., to the vehicle 100. When the vehicle 100 is located in the work area, the three-dimensional point cloud data PD may be erroneous due to a working condition such that the work object is located between the vehicle 100 and the external LiDAR 310. Therefore, the determination unit 215 determines whether the vehicle 100 is located in the work area as the specific area.

[0130] In the present embodiment, the determination unit 215 determines whether the vehicle 100 is located in the work area by acquiring step information indicating the manufacturing step performed on the vehicle 100 and estimating the current position of the vehicle 100. The determination unit 215 acquires the step information using, for example, management information MI prestored in the memory 202c of the server 200c. The management information MI indicates the manufacturing status of the vehicle 100. Examples of the management information MI include manufacturing time information indicating timings for performing a plurality of manufacturing steps on the vehicle 100. In the manufacturing time information, a vehicle ID, a step ID, and a time for performing each manufacturing step are associated with each other.The vehicle identifier is a unique identifier assigned to each of the vehicles 100 without overlap to identify the vehicle 100. For example, the production time information is created according to a production plan for the vehicle 100 and appropriately updated according to the progress of the production plan. For example, the determination unit 215 obtains a step identifier associated with the vehicle identification information of the target vehicle 100 as the step information from the production time information.

[0131] The determination unit 215 may determine whether the vehicle 100 is located in the specific area by another method. For example, the determination unit 215 determines whether the vehicle 100 is located in the specific area by obtaining sequence information and estimating the current position of the vehicle 100. The sequence information indicates a driving sequence of the vehicles 100 traveling within the detection ranges of the external LiDARs 310 installed in the factory FC. In the sequence information, a vehicle identifier and a sensor identifier are associated with each other. The sensor identifier corresponds to a unique identifier assigned to each of the external sensors 300 installed in the factory FC without overlapping to identify the external sensor 300.The sequence information is created using, for example, vehicle position information, a transmission history of driving control signals to the vehicles 100, and installation positions of the external sensors 300.

[0132] When the determination unit 215 determines that the vehicle 100 is located in 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. In this way, the calculation unit 213c obtains vehicle position information. When the determination unit 215 determines that the vehicle 100 is not located in 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. In this way, the calculation unit 213c obtains vehicle position information.

[0133] Fig. 11 is a flowchart showing a processing procedure according to the fourth embodiment. Fig. The process shown in Fig. 11 is repeated at predetermined time intervals, for example, during a period in which the vehicle 100 is traveling under the remote control of the server 200c.

[0134] 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.

[0135] 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 step information. In step S405, the determination unit 215 determines whether the vehicle 100 is located in the work area by estimating the current position of the vehicle 100 using the step information. If the determination unit 215 determines that the vehicle 100 is located in the work area (step S405: Yes), the calculation unit 213c executes the second calculation process in step S406 without executing the first calculation process to calculate the position and orientation of the vehicle 100 and outputs vehicle position information. If the determination unit 215 determines that the vehicle 100 is not located in 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 to calculate the position and orientation of the vehicle 100 and outputs vehicle position information. In step S408, the remote control unit 214 uses the vehicle position information and the reference route RR to determine a target position to which the vehicle 100 should next move. In step S409, the remote control unit 214 generates a travel control signal to cause the vehicle 100 to travel toward the determined target position. In step S410, the remote control unit 214 transmits the generated travel control signal to the vehicle 100.

[0136] In step S411, the vehicle control unit 115 of the vehicle control device 110 controls the actuator group 120 using the received travel control signal to cause the vehicle 100 to travel at an acceleration and a steering angle indicated by the travel control signal.

[0137] According to the fourth embodiment, the calculation system 7c can determine whether the vehicle 100 is located in the specific area where the three-dimensional point cloud data PD is presumed to be erroneous. When the calculation system 7c determines that the vehicle 100 is located in the specific area, the calculation system 7c can calculate the position and orientation of the vehicle 100 by executing at least the second calculation process. With this configuration, the calculation system 7c can suppress the decrease in the accuracy of the position and orientation of the vehicle 100 when the three-dimensional point cloud data PD may be erroneous due to the presence of the vehicle 100 in the specific area.

[0138] According to the fourth embodiment, the calculation system 7c can determine whether the vehicle 100 is located in the work area in which the three-dimensional point cloud data PD may be erroneous when the three-dimensional point cloud data PD is acquired.

[0139] According to the fourth embodiment, the calculation system 7c can determine whether the vehicle 100 is located in the specific area by acquiring the step information using the management information MI.

[0140] According to the fourth embodiment, the calculation system 7c can determine whether the vehicle 100 is located in the specific area by estimating the current position of the vehicle 100 using the sequence information.

[0141] According to the fourth embodiment, when the calculation system 7c determines that the vehicle 100 is located in 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. Thus, it is possible to reduce the processing load when calculating the position and orientation of the vehicle 100.

[0142] The specific area may include areas other than the work area in addition to or instead of the work area. For example, the specific area may include a parking lot, such as a yard where the manufactured vehicles 100 are parked and stored. When the vehicle 100 is located in the parking lot, the three-dimensional point cloud data PD may be erroneous due to an arrangement of the vehicles 100 such that another vehicle 100 exists between the vehicle 100 and the external LiDAR 310. Therefore, the determination unit 215 may determine whether the vehicle 100 is located in the parking lot as the specific area. With this configuration, the calculation system 7c can determine whether the vehicle 100 is located in the parking area where the three-dimensional point cloud data PD may be erroneous when acquiring the three-dimensional point cloud data PD. E. Fifth Embodiment

[0143] Fig. 12 is a block diagram showing the configuration of a driving system 50d according to a fifth embodiment. The driving system 50d includes a computing system 7d and the remote control device 80. The computing system 7d includes one or more vehicles 100, a computing device 70d, and one or more external LiDARs 310. In the present embodiment, the functions of the computing device 70d and the remote control device 80 are implemented by a server 200d. In the present embodiment, the computing system 7d differs from the computing system in the first embodiment in terms of the type of functional unit that acquires information about a defect in the three-dimensional point cloud data PD and the calculation method for calculating the position and orientation of the vehicle 100. The other configuration of the driving system 50d is similar to that in the first embodiment unless otherwise stated.The same components as in the first embodiment are represented by the same reference numerals and the description thereof is omitted.

[0144] The server 200d is a computer including a processor 201d, a memory 202d, the input / output interface 203, and the internal bus 204. The processor 201d implements the following functions by executing a program PG2d stored in the memory 202d. The processor 201d implements various functions including functions of the acquisition unit 211, a prediction unit 216, a calculation unit 213d, and the remote control unit 214.

[0145] The prediction unit 216 corresponds to one of the functional units that acquires information about a defect in the three-dimensional point cloud data PD. The prediction unit 216 predicts that the three-dimensional point cloud data PD will be defective before the three-dimensional point cloud data PD is acquired.

[0146] The prediction unit 216 predicts, for example, using object information, that the three-dimensional point cloud data PD will be defective. The object information is information about at least one object present in a first region in which a first manufacturing step is performed or an object present in a second region in which a second manufacturing step is performed. The first manufacturing step is a manufacturing step performed on the vehicle 100. The second manufacturing step is a manufacturing step to be performed on the vehicle 100 after the first manufacturing step. Examples of the object information include information indicating the number and arrangements of objects present in the first region and the second region.The object information may correspond, for example, to the number of workers involved in the manufacturing step, the arrangement of manufacturing devices performing a specific work, or the range of motion of a manufacturing device such as an articulated robot. The object information may correspond, for example, to information indicating the driving positions of other vehicles 100.

[0147] The prediction unit 216 may predict that the three-dimensional point cloud data PD will be defective by another method. For example, the prediction unit 216 may predict that the three-dimensional point cloud data PD will be defective using work information. The work information indicates whether a specific work needs to be performed at least in either the first manufacturing step or the second manufacturing step.

[0148] If the prediction unit 216 predicts that the three-dimensional point cloud data PD will be erroneous, the calculation unit 213d executes at least the second calculation process. In the present embodiment, if the prediction unit 216 predicts that the three-dimensional point cloud data PD will be erroneous, the calculation unit 213d executes the second calculation process without executing the first calculation process to calculate the position and orientation of the vehicle 100, and outputs vehicle position information. If the prediction unit 216 predicts that the three-dimensional point cloud data PD will not be erroneous, the calculation unit 213d executes the first calculation process without executing the second calculation process to calculate the position and orientation of the vehicle 100, and outputs vehicle position information.

[0149] Fig. 13 is a flowchart showing a processing procedure according to the fifth embodiment. Fig. The process shown in Fig. 13 is repeated at predetermined time intervals, for example, during a period in which the vehicle 100 is traveling under the remote control of the server 200d.

[0150] 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 200d.

[0151] 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 whether the three-dimensional point cloud data PD will be erroneous. If the prediction unit 216 predicts that the three-dimensional point cloud data PD will be erroneous (step S504: Yes), the calculation unit 213d executes step S505. In step S505, the calculation unit 213d executes the second calculation process without executing the first calculation process to calculate the position and orientation of the vehicle 100 and outputs vehicle position information. If the prediction unit 216 predicts that the three-dimensional point cloud data PD will not be erroneous (step S504: No), the calculation unit 213d executes step S506.In step S506, the calculation unit 213d executes the first calculation process without executing the second calculation process to calculate the position and orientation of the vehicle 100 and outputs vehicle position information. In step S507, the remote control unit 214 uses the vehicle position information and the reference route RR to determine a target position to which the vehicle 100 should next move. In step S508, the remote control unit 214 generates a travel control signal to cause 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.

[0152] 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 to cause the vehicle 100 to travel at an acceleration and a steering angle indicated by the travel control signal.

[0153] According to the fifth embodiment, the calculation system 7d can predict that the three-dimensional point cloud data PD will be erroneous before the three-dimensional point cloud data PD is acquired. When the calculation system 7d predicts that the three-dimensional point cloud data PD will be erroneous, the calculation system 7d can calculate the position and orientation of the vehicle 100 by executing at least the second calculation process. With this configuration, the calculation system 7d can suppress the decrease in the accuracy of the position and orientation of the vehicle 100 when the three-dimensional point cloud data PD is predicted to be erroneous.

[0154] According to the fifth embodiment, the calculation system 7d can predict that the three-dimensional point cloud data PD will be erroneous using at least one of the object information and the work information. F. Sixth Embodiment

[0155] Fig. 14 is a block diagram showing the configuration of a driving system 50v according to a sixth embodiment. The driving system 50v includes a computing system 7v. The computing system 7v includes one or more vehicles 100 and one or more external LiDARs 310. The present embodiment differs from the first embodiment in that the driving system 50v does not include the server 200. The functions of the computing device 70v are implemented by a vehicle control device 110v. A vehicle 100v in the present embodiment can travel through autonomous control at the vehicle 100v. The other configuration is similar to that in the first embodiment unless otherwise stated.

[0156] In the present embodiment, a 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 the external LiDAR 310. The detection unit 117 detects that the three-dimensional point cloud data PD acquired by the acquisition unit 116 is erroneous. The calculation unit 118 uses the three-dimensional point cloud data PD to calculate the position and orientation of the vehicle 100v and outputs vehicle position information.If the detection unit 117 detects that the three-dimensional point cloud data PD is erroneous, the calculation unit 118 executes at least the second calculation process to calculate the position and orientation of the vehicle 100v and outputs vehicle position information. If the detection unit 117 does not detect that the three-dimensional point cloud data PD is erroneous, the calculation unit 118 executes the first calculation process without executing the second calculation process to calculate the position and orientation of the vehicle 100v and outputs vehicle position information. The vehicle control unit 115v acquires output results from the sensors, generates a travel control signal using the output results, and outputs the generated travel control signal to operate the actuator group 120. Thus, the vehicle 100v can travel through autonomous control.In the present embodiment, the memory 112v stores a detection model and the reference route RR in advance in addition to the program PG1v.

[0157] Fig. 15 is a flowchart showing a processing flow of the driving control in the vehicle 100v according to the sixth embodiment. Fig. The process shown in Fig. 15 is repeated at predetermined time intervals, for example, during a period in which the vehicle 100v is traveling by autonomous control. In the processing flow of Fig. 15, the processor 111v of the vehicle 100v executes the program PG1v to serve as the acquisition unit 116, the detection unit 117, the calculation unit 118, and the vehicle control unit 115v.

[0158] In step S901, the processor 111v of the vehicle control device 110v acquires vehicle position information using a detection result output from the external LiDAR 310 corresponding to the external sensor 300. In step S902, the processor 111v determines a target position to which the vehicle 100v should move next. In step S903, the processor 111v generates a travel control signal to cause the vehicle 100v to travel toward the determined target position. In step S904, the processor 111v controls the actuator group 120 using the generated travel control signal to cause the vehicle 100v to travel based on parameters indicated by the travel control signal. The processor 111v repeats the acquisition of the vehicle position information, the determination of the target position, the generation of the travel control signal and the control of the actuators in a predetermined cycle.With the driving system 50v according to the present embodiment, the vehicle 100v can drive by autonomous control at the vehicle 100v even when the vehicle 100v is not remotely controlled by the server 200. G. Further Embodiments G-1. First Further Embodiment

[0159] At least some of the functions of the server 200, 200a to 200d may be a function of the vehicle control device 110, 110v or a function of the external sensor 300. At least some of the functions of the vehicle control device 110, 110v may be a function of the server 200, 200a to 200d or a function of the external sensor 300. That is, the computing device 70, 70a to 70d, 70v, which includes the acquisition unit 116, 211, 211a, at least one functional unit of the prediction unit 216, the acquisition unit 117, 212, 212a, 212b, and the determination unit 215, and the computing unit 118, 213, 213a to 213d, may correspond to the server 200, 200a to 200d or may correspond to the vehicle control device 110, 110v. In such an embodiment, the configuration of the computing system 7, 7a to 7d, 7v may be appropriately changed. G-2. Second further embodiment

[0160] The calculation system 7, 7a to 7d, 7v only needs to include at least one functional unit from the prediction unit 216, the detection unit 117, 212, 212a, 212b, and the determination unit 215. For example, the calculation system 7, 7a to 7d, 7v may include three functional units, namely the prediction unit 216, the detection unit 117, 212, 212a, 212b, and the determination unit 215. In this case, the calculation unit 118, 213, 213a to 213d calculates at least one of the position and the orientation of the vehicle 100, 100v by executing at least the second calculation process if at least one of the first, second, and third cases applies. The first case is a case where the prediction unit 216 predicts that the three-dimensional point cloud data PD will be erroneous. The second case is a case where the acquisition unit 117, 212, 212a, 212b detects that the three-dimensional point cloud data PD is erroneous.The third case is a case where the determination unit 215 determines that the vehicle 100, 100v is located in the specific area. In such an embodiment, the calculation system 7, 7a to 7d, 7v can suppress the decrease in the accuracy of the position and orientation of the vehicle 100, 100v both in the case where the three-dimensional point cloud data PD is predicted to be erroneous and in the case where the three-dimensional point cloud data PD is erroneous. G-3. Third further embodiment

[0161] In each of the above embodiments, the driving system 50, 50a to 50d, 50v includes the external LiDAR 310 as the external sensor 300. The driving system 50, 50a to 50d, 50v may further include, for example, a camera as the external sensor 300. The camera, which serves as the external sensor 300, captures an image of the vehicle 100, 100v and outputs the captured image as a detection result.When acquiring vehicle position information using the captured image acquired by the camera serving as the external sensor 300, the calculation unit 118, 213, 213a to 213d acquires the position of the vehicle 100, 100v, for example, by detecting the external shape of the vehicle 100, 100v from the captured image, calculating the coordinates of the positioning point of the vehicle 100, 100v in a coordinate system of the captured image, that is, a local coordinate system, and converting the calculated coordinates into coordinates in the global coordinate system GC. The external shape of the vehicle 100, 100v in the captured image can be acquired, for example, by inputting the captured image into a acquisition model using artificial intelligence.The detection model is prepared, for example, inside or outside the driving system 50, 50a to 50d, 50v and pre-stored in the memory 112, 112v, 202, 202a to 202d. Examples of the detection model include a trained machine learning model trained to achieve either semantic segmentation or instance segmentation. For example, a convolutional neural network (hereinafter referred to as "CNN") trained by supervised learning using a training dataset can be used as the machine learning model. The training dataset includes, for example, a plurality of training images including the vehicle 100, 100v and a label indicating whether each area in the training images is an area indicating the vehicle 100, 100v or an area indicating an area other than the vehicle 100, 100v.During training of the CNN, parameters of the CNN are preferably updated to reduce a deviation between the detection result output by the detection model and the label via backpropagation. The calculation unit 118, 213, 213a to 213d can obtain the orientation of the vehicle 100, 100v by estimating the orientation, for example, based on the direction of a motion vector of the vehicle 100, 100v calculated from variations in the position of feature points of the vehicle 100, 100v between frames of the captured image using an optical flow method. G-4. Fourth further embodiment

[0162] In each of the first to fifth embodiments, the server 200, 200a to 200d executes the process from acquiring the vehicle position information to generating the travel control signal. The vehicle 100 may execute at least part of the process from acquiring the vehicle position information to generating the travel control signal. For example, the following aspects (1) to (3) may be used. (1) The server 200, 200a to 200d may acquire vehicle position information, determine a target position to which the vehicle 100 should next move, and generate a route from the current position of the vehicle 100, indicated by the acquired vehicle position information, to the target position. The server 200, 200a to 200d may generate a route to the target position between the current position and a destination, or a route to the destination. The server 200, 200a to 200d may transmit the generated route to the vehicle 100. The vehicle 100 may generate a travel control signal so that the vehicle 100 travels along the route received from the server 200, 200a to 200d, and control the actuator group 120 using the generated travel control signal. (2) The server 200, 200a to 200d may acquire vehicle position information and transmit the acquired vehicle position information to the vehicle 100. The vehicle 100 may determine a target position to which the vehicle 100 should next move, generate a route from the current position of the vehicle 100 indicated by the received vehicle position information to the target position, generate a travel control signal so that the vehicle 100 travels along the generated route, and control the actuator group 120 using the generated travel control signal. (3) In the above aspects (1) and (2), an internal sensor may be mounted on the vehicle 100, and a detection result output from the internal sensor may be used in at least one of the route generation and the travel control signal generation. The internal sensor is a sensor mounted on the vehicle 100. Examples of the internal sensor may include a sensor that detects the moving state of the vehicle 100, a sensor that detects the operating state of each part of the vehicle 100, and a sensor that detects the surroundings of the vehicle 100. Specific examples of the internal sensor may include a camera, a LiDAR, a millimeter-wave radar, an ultrasonic sensor, a global positioning system (GPS) sensor, an acceleration sensor, and a gyro sensor.For example, in the above aspect (1), the server 200, 200a to 200d may acquire a detection result from the internal sensor and reflect the detection result from the internal sensor in a route when the route is generated. In the above aspect (1), the vehicle 100 may acquire a detection result from the internal sensor and reflect the detection result from the internal sensor in a driving control signal when the driving control signal is generated. In the above aspect (2), the vehicle 100 may acquire a detection result from the internal sensor and reflect the detection result from the internal sensor in a route when the route is generated. In the above aspect (2), the vehicle 100 may acquire a detection result from the internal sensor and reflect the detection result from the internal sensor in a driving control signal when the route is generated. G-5. Fifth further embodiment

[0163] In the sixth embodiment, an internal sensor may be mounted on the vehicle 100v, and a detection result output from the internal sensor may be used in at least one of route generation and travel control signal generation. For example, the vehicle 100v may acquire a detection result from the internal sensor and reflect the detection result from the internal sensor in a route when the route is generated. The vehicle 100v may acquire a detection result from the internal sensor and reflect the detection result from the internal sensor in a travel control signal when the travel control signal is generated. G-6. Sixth further embodiment

[0164] In the sixth embodiment, the vehicle 100v acquires the vehicle position information using the detection result from the external sensor 300. An internal sensor may be mounted on the vehicle 100v, and the vehicle 100v may acquire vehicle position information using a detection result from the internal sensor, determine a target position to which the vehicle 100v should next move, generate a route from the current position of the vehicle 100v indicated by the acquired vehicle position information to the target position, generate a travel control signal so that the vehicle 100v travels along the generated route, and control the actuator group 120 using the generated travel control signal. In this case, the vehicle 100v may travel without using the detection result from the external sensor 300.The vehicle 100v can acquire a destination arrival time and traffic congestion information from outside the vehicle 100v and reflect the destination arrival time or the traffic congestion information in at least the route or the driving control signal. All functional components of the driving system 50v can be provided in the vehicle 100v. That is, the process implemented by the driving system 50v in the present disclosure can be implemented by the vehicle 100v alone. G-7. Seventh further embodiment

[0165] In each of the first to fifth embodiments, the server 200, 200a to 200d automatically generates the driving control signal to be transmitted to the vehicle 100. The server 200, 200a to 200d may generate the driving control signal to be transmitted to the vehicle 100 in response to an operation by an external operator outside the vehicle 100. For example, the external operator may operate a manipulation device including a display that displays a captured image output from the external sensor 300, a steering wheel, an accelerator pedal, and a brake pedal used to remotely operate the vehicle 100, and a communication device that communicates with the server 200, 200a to 200d via wired or wireless communication, and the server 200, 200a to 200d may generate a driving control signal in response to an operation performed on the manipulation device. G-8. Eighth further embodiment

[0166] In each of the above embodiments, the vehicle 100, 100v only needs to include components that enable movement by driverless operation, and may, for example, be in the form of a platform with the following components. Specifically, the vehicle 100, 100v only needs to include at least the vehicle control device 110, 110v and the actuator group 120 to implement three functions including "driving," "turning," and "stopping" by driverless operation. In order for the vehicle 100, 100v to acquire information from the outside for driverless operation, the vehicle 100, 100v only needs to include the communication device 130. That is, at least some interior components, such as a driver's seat or a dashboard, and at least some exterior components, such as a bumper or a fender, or a body shell, can be omitted from the vehicle 100, 100v that can be moved by driverless operation.In this case, the remaining components, such as a body shell, may be mounted on the vehicle 100, 100v before the vehicle 100, 100v is shipped from the FC factory, or the remaining components, such as a body shell, may be mounted on the vehicle 100, 100v after the vehicle 100, 100v is shipped from the FC factory without any remaining components, such as a body shell, being mounted on the vehicle 100, 100v. The components may be mounted on the vehicle 100, 100v from any side, such as the top, bottom, front, rear, right side, or left side, and they may be mounted from the same side or from different sides. Even with the shape of a platform, the position can be determined as in the vehicle 100, 100v according to the first embodiment. G-9. Ninth further embodiment

[0167] The vehicle 100, 100v can be manufactured by combining a plurality of modules. The modules each represent a unit consisting of a plurality of components grouped according to area or function in the vehicle 100, 100v. The platform of the vehicle 100, 100v can be manufactured, for example, by combining a front module that forms a front part of the platform, a central module that forms a middle part of the platform, and a rear module that forms a rear part of the platform. The number of modules that make up the platform is not limited to three and can be two or fewer or four or more. The modules can include, in addition to or instead of the components that make up the platform, a component that forms a portion of the vehicle 100, 100v that is different from the platform.The various modules may include any exterior component, such as a bumper or grille, or any interior component, such as a seat or console. Not only the vehicle 100, 100v, but also mobile objects of any shape can be manufactured by combining a plurality of modules. For example, such modules may be manufactured by joining a plurality of components by welding, using a jig, etc., or they may be manufactured by integrally molding at least a portion of components constituting a module as a single component by casting. The process for integrally molding a single component, especially a relatively large component, is called gigacasting or megacasting. For example, the front module, the center module, and the rear module may be manufactured by gigacasting. G-10. Tenth further embodiment

[0168] Transportation of the vehicle 100, 100v using a driverless operation of the vehicle 100, 100v is referred to as "self-driving transportation." The configuration for implementing the self-driving transportation is referred to as a "vehicle remote control autonomous transportation system." The method for manufacturing the vehicle 100, 100v using the self-driving transportation is referred to as "self-driving production." In self-driving production, for example, at least part of the transportation of the vehicle 100, 100v in the factory FC that manufactures the vehicle 100, 100v is performed by the self-driving transportation. G-11. Eleventh further embodiment

[0169] In each of the above embodiments, some or all of the functions and processes implemented by software may be implemented by hardware. Some or all of the functions and processes implemented by hardware may be implemented by software. Various circuits, such as integrated circuits and discrete circuits, may be used as the hardware to implement the various functions in each of the above embodiments.

[0170] The present invention is not limited to the above embodiments and can be implemented in a variety of configurations without departing from the spirit of the present invention. For example, the technical features in each embodiment can be appropriately replaced or combined according to the technical features in each aspect described in the "Summary of the Invention" to solve some or all of the above problems or achieve some or all of the above effects. If the technical features are not described as essential herein, these features may be omitted as necessary. QUOTES CONTAINED IN THE DESCRIPTION

[0000] This list of documents submitted by the applicant was generated automatically and is included solely for the convenience of the reader. This list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions. Cited patent literature

[0000] JP 2017-538619 A

[0002]

Claims

[1] Calculation device (70; 70a; 70c; 70d; 70v), comprising: an acquisition unit (116; 211; 211a) configured to acquire three-dimensional point cloud data indicating a mobile object (100; 100v) movable by a driverless operation through a point cloud; a calculation unit (213; 213a; 213c) configured to calculate at least one of a position and an orientation of the mobile object (100; 100v) using the three-dimensional point cloud data; and at least one of (i) a prediction unit (216) configured to predict that the three-dimensional point cloud data is likely to be erroneous, (ii) a detection unit (300) configured to detect that the three-dimensional point cloud data is erroneous, and (iii) a determination unit (215) configured to determine whether the mobile object (100; 100v) is located in a specific area in which the three-dimensional point cloud data is assumed to be erroneous in advance, wherein: the calculation unit (213; 213a; 213c) is configured to perform a first calculation process for calculating at least one of the position and the orientation of the mobile object (100; 100v) 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 the orientation of the mobile object (100; 100v) by applying graphic data having a predetermined shape to the three-dimensional point cloud data; and the calculation unit (213; 213a; 213c) is configured to execute at least the second calculation process when at least one of a first case, a second case, and a third case exists, wherein the first case is a case in which the prediction unit (216) predicts that the three-dimensional point cloud data is likely to be erroneous, the second case is a case in which the detection unit detects that the three-dimensional point cloud data is erroneous, and the third case is a case in which the determination unit (215) determines that the mobile object (100; 100v) is located in the specific area. [2] The computing device (70d) according to claim 1, wherein the prediction unit (216) is configured to predict that the three-dimensional point cloud data is likely to be erroneous using at least either: Object information about at least one of an object present in a first area in which a first manufacturing step is carried out on the mobile object (100), or an object present in a second area in which a second manufacturing step is to be carried out on the mobile object (100); or Work information indicating whether a specific work is to be performed in at least one of the first manufacturing step and the second manufacturing step, wherein the specific work corresponds to work in which a work object corresponding to at least one of a manufacturing device to be used in at least one of the first manufacturing step and the second manufacturing step or a worker engaged in the work in at least one of the first manufacturing step and the second manufacturing step enters at least one of an interior of the mobile object (100) and a surrounding area around the mobile object (100) to perform the work. [3] The computing device (70; 70a; 70c; 70d; 70v) according to claim 1, wherein the detecting unit (300) is configured to detect that the three-dimensional point cloud data is erroneous when a count number of points constituting the three-dimensional point cloud data is less than a predetermined count number. [4] The computing device (70; 70a; 70c; 70d; 70v) according to claim 1, wherein the detecting unit (300) is configured to detect that the three-dimensional point cloud data is erroneous when an object in the three-dimensional point cloud data is detected between the mobile object (100) and a mobile object detecting device (310) configured to output the three-dimensional point cloud data by detecting the mobile object (100) from outside the mobile object (100). [5] Calculation device (70a) according to claim 1, wherein: the acquisition unit (211a) is configured to acquire a plurality of pieces of the three-dimensional point cloud data acquired at different times for the same mobile object (100); the calculation unit (213a) is configured to calculate at least one of the positions and the orientations of the mobile object (100) at the different times by performing the first calculation process on the parts of the three-dimensional point cloud data and to generate time series data on at least one of the positions and the orientations of the mobile object (100) by arranging at least one of the positions and the orientations of the mobile object (100) in chronological order; the detection unit (300) is configured to detect, using the time series data, that at least one of the parts of the three-dimensional point cloud data is faulty; and the calculation unit (213a; 213b) is configured such that, when the detection unit (300) detects that at least one of the pieces of the three-dimensional point cloud data is erroneous, it calculates at least one of the position and the orientation of the mobile object (100) by executing the second calculation process without executing the first calculation process. [6] The calculation device (70; 70a; 70c; 70d; 70v) according to claim 1, wherein, when at least one of the first case, the second case and the third case exists, the calculation unit (213; 213a; 213b; 213c) executes the first calculation process and the second calculation process, the calculation unit (213; 213a; 213b; 213c) calculates the position of the mobile object (100; 100v) by performing a first arithmetic process using the position of the mobile object (100; 100v) calculated by performing the first calculation process and the position of the mobile object (100; 100v) calculated by performing the second calculation process, and the calculation unit (213; 213a; 213b; 213c) calculates the orientation of the mobile object (100; 100v) by performing a second arithmetic process using the orientation of the mobile object (100; 100v) calculated by performing the first calculation process and the orientation of the mobile object (100; 100v) calculated by performing the second calculation process. [7] Calculation system (7; 7a; 7c; 7d; 7v), comprising: one or more mobile objects (100; 100v) that can be moved by driverless operation; a mobile object detection device configured to output three-dimensional point cloud data indicating the mobile object (100; 100v) through a point cloud by detecting the mobile object (100; 100v) from outside the mobile object (100; 100v); an acquisition unit (116; 211; 211a) configured to acquire the three-dimensional point cloud data; a calculation unit (213; 213a; 213b; 213c) configured to calculate at least one of a position and an orientation of the mobile object (100; 100v) using the three-dimensional point cloud data; and at least one of (i) a prediction unit (216) configured to predict that the three-dimensional point cloud data is likely to be erroneous, (ii) a detection unit (300) configured to detect that the three-dimensional point cloud data is erroneous, and (iii) a determination unit (215) configured to determine whether the mobile object (100; 100v) is located in a specific area in which the three-dimensional point cloud data is assumed to be erroneous in advance, wherein: the calculation unit (213; 213a; 213b; 213c) is configured to perform a first calculation process for calculating at least one of the position and the orientation of the mobile object (100; 100v) 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 the orientation of the mobile object (100; 100v) by applying graphic data having a predetermined shape to the three-dimensional point cloud data; and the calculation unit (213; 213a; 213b; 213c) is configured to execute at least the second calculation process when at least one of a first case, a second case, and a third case exists, wherein the first case is a case in which the prediction unit (216) predicts that the three-dimensional point cloud data is likely to be erroneous, the second case is a case in which the detection unit (300) detects that the three-dimensional point cloud data is erroneous, and the third case is a case in which the determination unit (215) determines that the mobile object (100; 100v) is located in the specific area. [8] Calculation method comprising: an acquisition step of acquiring three-dimensional point cloud data indicating a mobile object (100; 100v) movable by a driverless operation through a point cloud; a calculation step for calculating at least one of a position and an orientation of the mobile object (100; 100v) using the three-dimensional point cloud data; and at least one of (i) a prediction step for predicting that the three-dimensional point cloud data is likely to be erroneous, (ii) a detection step for detecting that the three-dimensional point cloud data is erroneous, and (iii) a determination step for determining whether the mobile object (100; 100v) is located in a specific area in which the three-dimensional point cloud data is assumed to be erroneous in advance, wherein: in the calculation step, a first calculation process is executable to calculate at least one of the position and the orientation of the mobile object (100; 100v) by comparing the three-dimensional point cloud data with reference point cloud data prepared in advance, and a second calculation process is executable to calculate at least one of the position and the orientation of the mobile object (100; 100v) by applying graphic data having a predetermined shape to the three-dimensional point cloud data; and in the calculation step, at least the second calculation process is executed when at least one of a first case, a second case, and a third case exists, wherein the first case is a case in which the three-dimensional point cloud data is predicted to be erroneous in the prediction step, the second case is a case in which the three-dimensional point cloud data is detected to be erroneous in the detection step, and the third case is a case in which the mobile object (100; 100v) is determined to be in the specific area in the determination step. [9] Calculation device (70b), comprising: an acquisition unit (211a) configured to acquire three-dimensional point cloud data indicating a mobile object (100) movable by a driverless operation through a point cloud; a calculation unit (213b) configured to calculate at least one of a position and an orientation of the mobile object (100) using the three-dimensional point cloud data and to output vehicle position information including at least one of the position and the orientation of the mobile object (100); and a detection unit (300) configured to detect that the three-dimensional point cloud data is faulty, wherein: the calculation unit (213b) is configured to perform a first calculation process for calculating at least one of the position and the orientation of the mobile object (100) 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 the orientation of the mobile object (100) by applying graphic data having a predetermined shape to the three-dimensional point cloud data; the calculation unit (213b) is configured to calculate at least one of the position and the orientation of the mobile object (100) by executing the first calculation process and the second calculation process; the detection unit (300) is configured to detect that the three-dimensional point cloud data is erroneous using a first calculation result of at least one of the position and the orientation of the mobile object (100; 100v) calculated by performing the first calculation process and a second calculation result of at least one of the position and the orientation of the mobile object (100) calculated by performing the second calculation process; and the calculation unit (213b) is configured such that, when the detection unit (300) detects that the three-dimensional point cloud data is erroneous, it selects either the first calculation result or the second calculation result as the vehicle position information to be output and outputs the selected first calculation result or the selected second calculation result as the vehicle position information. [10] Calculation system (7b), comprising: one or more mobile objects (100; 100v) that can be moved by driverless operation; a mobile object detection device configured to output three-dimensional point cloud data indicating the mobile object (100; 100v) through a point cloud by detecting the mobile object (100; 100v) from outside the mobile object (100; 100v); an acquisition unit (116; 211; 211a) configured to acquire the three-dimensional point cloud data; a calculation unit (213; 213a; 213b; 213c) configured to calculate at least one of a position and an orientation of the mobile object (100; 100v) using the three-dimensional point cloud data and output vehicle position information including at least one of the position and the orientation of the mobile object (100; 100v); and a detection unit (300) configured to detect that the three-dimensional point cloud data is faulty, wherein: the calculation unit (213; 213a; 213b; 213c) is configured to perform a first calculation process for calculating at least one of the position and the orientation of the mobile object (100; 100v) 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 the orientation of the mobile object (100; 100v) by applying graphic data having a predetermined shape to the three-dimensional point cloud data; the calculation unit (213; 213a; 213b; 213c) is configured to calculate at least one of the position and the orientation of the mobile object (100; 100v) by executing the first calculation process and the second calculation process; the detection unit (300) is configured to detect that the three-dimensional point cloud data is erroneous using a first calculation result of at least one of the position and the orientation of the mobile object (100; 100v) calculated by performing the first calculation process and a second calculation result of at least one of the position and the orientation of the mobile object (100; 100v) calculated by performing the second calculation process; and the calculation unit (213; 213a; 213b; 213c) is configured such that, when the detection unit (300) detects that the three-dimensional point cloud data is erroneous, it selects either the first calculation result or the second calculation result as the vehicle position information to be output and outputs the selected first calculation result or the selected second calculation result as the vehicle position information.

Citation Information

Patent Citations

  • Method for operating a vehicle and method for operating a manufacturing system

    JP2017538619A