Autonomous moving body, autonomous travel method, and autonomous travel program
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Filing Date
- 2026-03-05
- Publication Date
- 2026-06-09
AI Technical Summary
Existing personal mobility vehicles (PMVs) and autonomous mobile robots (AMRs) face challenges in self-location estimation due to increased vehicle size and cost from high-precision gyro sensors, inaccurate estimation on similar terrain using LiDAR-SLAM, and large errors with GNSS reception, limiting their use and precision.
An autonomously traveling vehicle equipped with a periphery detection sensor for SLAM, a self-location estimation unit, a determination unit, and a traveling control unit that switches to alternative methods like GNSS reception when SLAM fails, ensuring accurate and cost-effective self-location estimation.
Enables precise and cost-effective autonomous travel by maintaining accurate self-position and orientation using SLAM with perimeter detection sensors, even in challenging environments, and correcting errors through alternative methods.
Abstract
Description
Autonomous traveling vehicle, autonomous traveling method, and autonomous traveling program
[0001] The present disclosure relates to an autonomously traveling vehicle, an autonomous traveling method, and an autonomous traveling program, and more particularly to an autonomously traveling vehicle that travels autonomously based on a technology such as Simultaneous Localization and Mapping (SLAM), which uses a surrounding detection sensor to estimate its own position and orientation on a point cloud map.
[0002] Development is underway for personal mobility vehicles such as PMVs and AMRs, which are mobile robots capable of autonomously driving within facilities. PMV stands for Personal Mobility Vehicle. AMR stands for Autonomous Mobile Robot. The development of small mobile vehicles such as PMVs and AMRs has the following objectives: complementing the last mile of autonomous driving for automobiles, providing assistance to those with limited mobility who do not own cars, use within facilities where automobiles cannot enter, or providing unmanned services within facilities. PMVs and AMRs estimate their self-location using LiDAR-SLAM.
[0003] PMVs and AMRs are expected to be used both indoors and outdoors. When a PMV or AMR is equipped with a high-precision gyro sensor for attitude measurement, such as an optical fiber gyroscope, or an odometer that improves mileage accuracy by attaching a vehicle speed sensor to the wheels, drive shaft, etc., the installation space required increases the vehicle size, which can limit its range of use. Furthermore, the installation of such equipment can hinder price reduction. Furthermore, if self-location estimation is performed using LiDAR-SLAM alone, the self-location estimation can be inaccurate when the surrounding terrain is similar. Furthermore, when traveling between indoors and outdoors, if self-location estimation is performed using only GNSS reception data, the error is large except for FIX (position information at the centimeter level), resulting in an incorrect self-location. GNSS is an abbreviation for Global Navigation Satellite System.
[0004] Patent Literature 1 discloses a technique in which a probability distribution of a vehicle's own position determined by GNSS reception data and a probability distribution of a vehicle's own position determined by point cloud data from LiDAR are combined, and the peak position of the combined probability distribution, which is a SLAM / GNSS probability distribution, is determined as the vehicle's own position. SLAM is an abbreviation for Simultaneous Localization and Mapping.
[0005] Japanese Patent Application Laid-Open No. 2018-206004
[0006] SLAM, which uses a perimeter detection sensor such as LiDAR, can create a point cloud map (also called an environmental map) and estimate the vehicle's position and orientation with high accuracy and low cost without relying on GNSS reception data. Therefore, there is a demand for self-location estimation based on SLAM, which uses a perimeter detection sensor. Meanwhile, the technology of Patent Document 1 combines self-location estimation based on GNSS reception data with self-location estimation by LiDAR-SLAM. Therefore, there is a problem in that self-location estimation cannot be performed based on SLAM, which uses a perimeter detection sensor.
[0007] The autonomously traveling vehicle according to the present disclosure aims to return to SLAM using a perimeter detection sensor by performing self-location estimation using another method if self-location estimation using SLAM using a perimeter detection sensor fails.
[0008] The autonomously traveling vehicle according to the present disclosure is an autonomously traveling vehicle equipped with a periphery detection sensor and capable of autonomous traveling, and comprises: a self-location estimation unit that uses the periphery detection sensor to estimate a position and attitude on a point cloud map as its own location and attitude; a self-location determination unit that performs a determination process to determine whether the self-location and attitude is normal; and a traveling control unit that controls the autonomous traveling using the self-location and attitude when it is determined that the self-location and attitude is normal, wherein when it is determined that the self-location and attitude is not normal, the self-location estimation unit performs an acquisition process to acquire a normal self-location and attitude, and repeats the acquisition process until the self-location and attitude obtained by the acquisition process is determined to be normal by the determination process.
[0009] In the autonomously traveling vehicle according to the present disclosure, if it is determined that the self-position and attitude obtained by the process of estimating the self-position and attitude on a point cloud map using a periphery detection sensor is not normal, a normal self-position and attitude is obtained using an acquisition process that is a different method. Then, in the autonomously traveling vehicle according to the present disclosure, the acquisition process is repeated until the self-position and attitude obtained by the acquisition process is determined to be normal by a determination process. Then, in the autonomously traveling vehicle according to the present disclosure, if it is determined that the self-position and attitude obtained by the acquisition process is normal, the autonomously traveling vehicle controls the autonomous traveling using the self-position and attitude determined to be normal, and returns to the process of estimating the self-position and attitude on a point cloud map using a periphery detection sensor. Therefore, the autonomously traveling vehicle according to the present disclosure can perform traveling based on autonomous traveling using a process of estimating the self-position and attitude on a point cloud map using a periphery detection sensor, thereby achieving the effect of enabling autonomous traveling with high precision and low cost.
[0010] FIG. 1 is a diagram showing an example of the appearance of an autonomously traveling vehicle according to embodiment 1. FIG. 2 is a diagram showing an example of the configuration of an autonomously traveling vehicle according to embodiment 1. FIG. 3 is a flow diagram showing autonomous traveling processing of an autonomously traveling vehicle according to embodiment 1. FIG. 4 is a diagram showing a specific example of first determination processing according to embodiment 1. FIG. 5 is a diagram showing an example of acquisition processing according to embodiment 1. FIG. 6 is a diagram showing example 2 of acquisition processing according to embodiment 1. FIG. 7 is a flow diagram showing autonomous traveling processing of an autonomously traveling vehicle according to a modified example of embodiment 1. FIG. 8 is a diagram showing an example of the configuration of a control device according to a modified example of embodiment 1.
[0011] The present embodiment will be described below with reference to the drawings. In each drawing, identical or corresponding parts are designated by the same reference numerals. In the description of the embodiment, the description of identical or corresponding parts will be omitted or simplified as appropriate. Furthermore, the size relationships of the components in the drawings below may differ from the actual ones. Furthermore, in the description of the embodiment, directions or positions such as up, down, left, right, front, rear, front and back may be indicated. These notations are provided for the convenience of explanation and do not limit the arrangement, direction or orientation of devices, instruments, parts, etc.
[0012] Embodiment 1. ***Description of Configuration*** Fig. 1 is a diagram showing an example of the appearance of an autonomously traveling vehicle 10 according to this embodiment. Fig. 2 is a diagram showing an example of the configuration of the autonomously traveling vehicle 10 according to this embodiment. The autonomously traveling vehicle 10 is, for example, a vehicle such as a PMV or AMR that travels autonomously or manually on a route within a facility. The PMV is a manned vehicle. The PMV may be capable of traveling autonomously. The PMV may be capable of switching between autonomous traveling and manual traveling. The AMR is an unmanned vehicle that travels autonomously within a facility.
[0013] The autonomously traveling vehicle 10 includes a control device 100, a GNSS receiving antenna 201, a GNSS receiver 202, a periphery detection sensor 203, and a vehicle driving device 204. The control device 100 receives GNSS reception data 41 from a satellite system via the GNSS receiving antenna 201 and the GNSS receiver 202. The control device 100 estimates its own position and attitude (localization) by SLAM using a periphery detection sensor 203 such as a LiDAR 21, and outputs control information 31 for autonomous traveling to the vehicle driving device 204. The control information 31 is information that determines the speed and steering of the autonomously traveling vehicle 10. The vehicle driving device 204 is a device such as a vehicle motor and drive shaft, and performs autonomous traveling based on the control information 31.
[0014] The autonomously traveling vehicle 10 is equipped with a control device 100, which is a computer. The control device 100 includes a processor 910, as well as other hardware such as a memory 921, an auxiliary storage device 922, an input interface 930, an output interface 940, a display device 941, and a communication device 950. The processor 910 is connected to the other hardware via signal lines and controls the other hardware.
[0015] The control device 100 includes, as functional elements, a self-position estimation unit 110, a self-position determination unit 120, a driving control unit 130, and a memory unit 150. The memory unit 150 stores a point cloud map 51, a self-position and orientation 52, and a position threshold value 53. The point cloud map 51 is also referred to as an environment map. The point cloud map 51 is obtained by SLAM and is generated from three-dimensional point cloud data obtained by the periphery detection sensor 203. The point cloud map 51 may also be obtained by SLAM and generated from two-dimensional point cloud data obtained by the periphery detection sensor 203.
[0016] The functions of the self-position estimation unit 110, the self-position determination unit 120, and the driving control unit 130 are realized by software. The storage unit 150 is provided in the memory 921. Note that the storage unit 150 may be provided in the auxiliary storage device 922, or may be provided separately in the memory 921 and the auxiliary storage device 922.
[0017] The processor 910 is a device that executes an autonomous driving program. The autonomous driving program is a program that realizes the functions of the self-position estimation unit 110, the self-position determination unit 120, and the driving control unit 130. The processor 910 is an IC that performs arithmetic processing. Specific examples of the processor 910 are a CPU, a DSP, and a GPU. IC is an abbreviation for Integrated Circuit. CPU is an abbreviation for Central Processing Unit. DSP is an abbreviation for Digital Signal Processor. GPU is an abbreviation for Graphics Processing Unit.
[0018] The memory 921 is a storage device that temporarily stores data. Specific examples of the memory 921 are SRAM and DRAM. SRAM is an abbreviation for Static Random Access Memory. DRAM is an abbreviation for Dynamic Random Access Memory. The auxiliary storage device 922 is a storage device that saves data. A specific example of the auxiliary storage device 922 is an HDD. The auxiliary storage device 922 may also be a portable storage medium such as an SD (registered trademark) memory card, CF, NAND flash, flexible disk, optical disk, compact disk, Blu-ray (registered trademark) disk, or DVD. Note that HDD is an abbreviation for Hard Disk Drive. SD (registered trademark) is an abbreviation for Secure Digital. CF is an abbreviation for CompactFlash (registered trademark). DVD is an abbreviation for Digital Versatile Disk.
[0019] The input interface 930 is a port connected to an input device such as a mouse, keyboard, or touch panel. Specifically, the input interface 930 is a USB terminal. The input interface 930 may also be a port connected to a LAN. USB is an abbreviation for Universal Serial Bus. LAN is an abbreviation for Local Area Network.
[0020] The output interface 940 is a port to which a cable of an output device such as a display is connected. Specifically, the output interface 940 is a USB terminal or an HDMI (registered trademark) terminal. Specifically, the display is an LCD. The output interface 940 is also called a display interface. HDMI (registered trademark) is an abbreviation for High Definition Multimedia Interface. LCD is an abbreviation for Liquid Crystal Display.
[0021] The communication device 950 has a receiver and a transmitter. The communication device 950 is connected to a communication network such as a LAN, the Internet, a telephone line, or Wi-Fi (registered trademark). Specifically, the communication device 950 is a communication chip or NIC. NIC is an abbreviation for Network Interface Card.
[0022] The autonomous driving program is executed in the control device 100. The autonomous driving program is read into the processor 910 and executed by the processor 910. In addition to the autonomous driving program, an OS is also stored in the memory 921. OS is an abbreviation for Operating System. The processor 910 executes the autonomous driving program while executing the OS. The autonomous driving program and the OS may be stored in an auxiliary storage device 922. The autonomous driving program and the OS stored in the auxiliary storage device 922 are loaded into the memory 921 and executed by the processor 910. Note that part or all of the autonomous driving program may be incorporated into the OS.
[0023] The control device 100 may include multiple processors that replace the processor 910. These multiple processors share the task of executing the autonomous driving program. Each processor is a device that executes the autonomous driving program, just like the processor 910.
[0024] Data, information, signal values and variable values used, processed or output by the autonomous driving program are stored in memory 921, auxiliary storage device 922, or registers or cache memory within processor 910.
[0025] The "parts" of the self-location estimation unit 110, the self-location determination unit 120, and the driving control unit 130 may be read as "circuits," "steps," "procedures," "processing," or "circuitry." The autonomous driving program causes a computer to execute a self-location estimation process, a self-location determination process, and a driving control process. The "processing" of the self-location estimation process, the self-location determination process, and the driving control process may be read as a "program," "program product," "computer-readable storage medium storing a program," or "computer-readable recording medium recording a program." The autonomous driving method is a method performed by the control device 100 executing the autonomous driving program. The autonomous driving program may be provided by being stored in a computer-readable recording medium. The autonomous driving program may also be provided as a program product.
[0026] ***Description of Operation*** Next, the operation of the autonomously traveling vehicle 10 according to this embodiment will be described. The operation procedure of the autonomously traveling vehicle 10 corresponds to an autonomous traveling method. Furthermore, the program that realizes the autonomous traveling processing, which is the operation of the autonomously traveling vehicle 10, corresponds to an autonomous traveling program.
[0027] 3 is a flow diagram showing the autonomous driving process of the autonomous driving vehicle 10 according to this embodiment. The autonomous driving vehicle 10 is equipped with a periphery detection sensor 203 and drives autonomously. The autonomous driving vehicle 10 uses the periphery detection sensor 203 to estimate the position and orientation in the point cloud map 51 as its own position and orientation. The autonomous driving vehicle 10 then generates control information 31 for autonomous driving using the estimated position and orientation. The autonomous driving vehicle 10 according to this embodiment drives autonomously based on the technology of estimating the position and orientation in the point cloud map as its own position and orientation using the periphery detection sensor in this way.
[0028] In this embodiment, the autonomous mobile body 10 is equipped with a LiDAR 21 as the periphery detection sensor 203. The autonomous mobile body 10 estimates its own position and orientation by scan matching using the LiDAR 21. In other words, the autonomous mobile body 10 is a mobile body that implements LiDAR-SLAM. LiDAR-SLAM is a technology that can create a point cloud map and estimate its own position and orientation without relying on a satellite system such as GNSS. Note that the technology for estimating its own position and orientation on a point cloud map using a periphery detection sensor is not limited to LiDAR-SLAM. In addition, this embodiment can also be applied to autonomously traveling vehicles based on technologies such as visual SLAM, which uses a camera as a perimeter detection sensor, visual odometry, which estimates posture using continuous images obtained from a camera, visual-inertial odometry, which estimates posture by combining visual odometry with an inertial measurement unit (IMU), or odometer SLAM, which uses an odometer. Furthermore, the autonomously traveling vehicle 10 may perform SLAM using a stereo camera or depth camera instead of the LiDAR 21 as the perimeter detection sensor 203, to create a point cloud map and estimate its own position and posture. The autonomous vehicle 10 may also implement SLAM using a high-resolution millimeter-wave radar or imaging radar and a monocular camera instead of the LiDAR 21 as the perimeter detection sensor 203 to create a point cloud map and estimate its own position and orientation. The autonomous vehicle 10 may also use a fusion sensor that combines two or more of the following (11) to (14) as the perimeter detection sensor 203 to create a point cloud map and estimate its own position and orientation: (11) LiDAR 21 (12) Millimeter-wave radar or imaging radar and monocular camera (13) Monocular camera (14) Stereo camera or depth camera These fusion sensors may also be combined with an electronic compass or an inertial measurement unit.
[0029] <Self-Location Estimation Process (SLAM Self-Location Estimation Process): Step S101> In step S101, the self-location estimation unit 110 estimates the position and orientation on the point cloud map 51 as the self-location and orientation using the surrounding detection sensor 203. Specifically, the self-location estimation unit 110 estimates the self-location and orientation using LiDAR-SLAM technology. The self-location estimation unit 110 estimates the self-location and orientation by scan matching the point cloud data acquired by the LiDAR 21 with the point cloud map 51.
[0030] <Self-Position Determination Process (First Determination Process S10): Steps S102 to S103> In step S102, the self-position determination unit 120 performs the first determination process S10 to determine whether the self-position and orientation are normal. The self-position determination unit 120 compares the current self-position and orientation with the previously estimated self-position and orientation. The current self-position and orientation is the self-position and orientation obtained by scan matching in step S101. The previously estimated self-position and orientation is stored in the storage unit 150 as the self-position and orientation 52. The comparison result between the current self-position and orientation and the previously estimated self-position and orientation is, specifically, the difference in position between the current self-position and orientation and the previously estimated self-position and orientation.
[0031] If the position difference obtained as a result of the comparison is smaller than the position threshold value 53, the self-position determination unit 120 determines that the current self-position and attitude is normal. The self-position determination unit 120 stores the current self-position and attitude determined to be normal in the storage unit 150 as the self-position and attitude 52. If the position difference obtained as a result of the comparison is larger than the position threshold value 53, the self-position determination unit 120 determines that the current self-position and attitude is not normal.
[0032] FIG. 4 is a diagram showing a specific example of the first determination process S10 according to this embodiment. The left diagram in FIG. 4 shows the self-position and orientation when self-position estimation SLAM is possible. The self-position and orientation when self-position estimation SLAM is possible is stored in the storage unit 150 as self-position and orientation 52. The solid line PMV in the right diagram in FIG. 4 indicates the next frame, i.e., the current self-position and orientation. The dotted line PMV in the right diagram in FIG. 4 represents the self-position and orientation 52 stored in the storage unit 150. If the comparison result is equal to or greater than the position threshold value 53, it is determined that "self-position lost." The comparison result is expressed, for example, as the value of the calculation result of an evaluation function. The comparison result is also referred to as an estimation result. Specifically, the value of the calculation result of the evaluation function is expressed as a value such as a coordinate difference or a velocity difference.
[0033] In this way, by determining whether the self-position and posture are normal, it is possible to detect "self-position errors" caused by scan matching on similar terrain. Also, when there are few feature points and self-position estimation by scan matching is not possible, it is possible to detect self-position loss.
[0034] If the self-position and orientation are determined to be normal (YES in step S103), the process proceeds to step S107. If the self-position and orientation are determined to be abnormal (NO in step S103), the process proceeds to step S104.
[0035] <Self-Location Estimation Process (Acquisition Process S30) and Self-Location Determination Process (Second Determination Process S20): Steps S104 to S106> If the self-location estimation unit 110 determines in step S104 that the self-location and orientation are not normal, the self-location estimation unit 110 performs the acquisition process S30 to acquire a normal self-location and orientation. Note that the acquisition process S30 is repeated until the self-location and orientation obtained by the acquisition process S30 is determined to be normal by the second determination process S20. Specifically, if the self-location and orientation are determined to be abnormal, the self-location estimation unit 110 acquires the current self-location and orientation using the GNSS reception data 41 received by the GNSS receiver 202 in the acquisition process S30.
[0036] FIG. 5 is a diagram showing an example of the acquisition process S30 according to this embodiment. When the self-position estimation unit 110 determines that the self-position and orientation are incorrect, the self-position estimation unit 110 acquires the current self-position and orientation using the GNSS reception data 41 received by the GNSS receiver 202 in the acquisition process S30. That is, in the acquisition process S30, the current self-position and orientation are estimated using the GNSS receiver 202, which is a device different from the device used to estimate the self-position and orientation by SLAM using the periphery detection sensor 203. This orientation estimation will be described later in Examples 1 to 5 of the acquisition process S30. Note that the different device in this case may be a camera and an image processor for camera images, or other devices. The other devices may be millimeter-wave radar or imaging radar and a camera, an electronic compass, an inertial measurement unit, etc.
[0037] The top left diagram of Fig. 5, like the right diagram of Fig. 4, shows a state in which the comparison result is equal to or greater than the position threshold and a "self-location lost" is determined. When a self-location lost is detected, the self-location estimation unit 110 estimates the self-location and attitude using the GNSS reception data 41. Note that the self-location estimation is not always performed using the GNSS reception data 41, but is performed only when a self-location lost is detected. As shown in the top right diagram of Fig. 5, the self-location estimation unit 110 estimates the self-location and attitude using the GNSS reception data 41, and sets the self-location and attitude based on the GNSS reception data 41 as the current self-location and attitude.
[0038] In step S105, the self-position determination unit 120 performs a second determination process S20 to determine whether the self-position and attitude obtained in the acquisition process S30 is normal. The second determination process S20 is performed using the same method as the first determination process S10. In the first determination process S10, the current self-position and attitude to be compared with the previously estimated self-position and attitude is the self-position and attitude obtained by SLAM in step S101. On the other hand, in the second determination process S20, the current self-position and attitude to be compared with the previously estimated self-position and attitude is the self-position and attitude obtained by the acquisition process S30 in step S104. For example, the current self-position and attitude to be compared with the previously estimated self-position and attitude is the self-position and attitude obtained from the GNSS reception data 41 in step S104.
[0039] If the position difference resulting from the comparison is smaller than the position threshold value 53, the self-position determination unit 120 determines that the current self-position and attitude is normal. The self-position determination unit 120 may store the current self-position and attitude determined to be normal in the storage unit 150 as the self-position and attitude 52. The final normal self-position and attitude is the "self-position and attitude obtained by SLAM." In step S106 of FIG. 3, the "self-position and attitude acquired from the GNSS reception data 41" is equal to the "self-position and attitude obtained by LiDAR-SLAM," but the self-position and attitude in this case is always the "self-position and attitude obtained by LiDAR-SLAM." If the position difference resulting from the comparison is greater than the position threshold value 53, the self-position determination unit 120 determines that the current self-position and attitude is not normal.
[0040] As shown in the lower diagram of FIG. 5, the self-position determining unit 120 determines that the current self-position and attitude is normal, using the self-position and attitude based on the GNSS reception data 41 as the current self-position and attitude.
[0041] If the self-position and orientation are determined to be normal (YES in step S106), the process proceeds to step S107. If the self-position and orientation are determined to be abnormal (NO in step S106), the process returns to step S104, and the acquisition process S30 is repeated.
[0042] <Driving Control Processing: Step S107> In step S107, the driving control unit 130 controls the autonomous driving using the self-position and attitude determined to be normal. The driving control unit 130 generates control information 31 for controlling the autonomous driving using the self-position and attitude determined to be normal, and outputs the control information 31 to the vehicle driving device 204. The control information 31 is information that determines the speed and steering of the autonomously driving vehicle 10. The vehicle driving device 204 is a device such as a vehicle motor and drive shaft, and performs autonomous driving based on the control information 31.
[0043] The driving control unit 130 may decelerate the autonomous driving until the second determination process S20 determines that the self-position and attitude are correct. Alternatively, the driving control unit 130 may stop the autonomous driving until the second determination process S20 determines that the self-position and attitude are correct.
[0044] Here, another example of the acquisition process S30 according to this embodiment will be described.
[0045] <Example 1 of Acquisition Process S30> When the self-position estimation unit 110 determines that the self-position and attitude are incorrect, in acquisition process S30, the self-position estimation unit 110 may acquire a current self-position using the GNSS reception data 41 and may acquire, as the current attitude, one of the attitudes of the self-position and attitude estimated previously. Note that when acquiring the current self-position using the GNSS reception data 41, the position may be estimated by high-precision real-time kinematic (RTK) positioning with a position error of the order of centimeters.
[0046] <Example 2 of Acquisition Process S30> FIG. 6 is a diagram illustrating Example 2 of the acquisition process S30 according to the present embodiment. When the self-location estimation unit 110 determines that the self-location and orientation are incorrect, the self-location estimation unit 110 acquires the current self-location and orientation using the GNSS reception data 41 as the acquisition process S30. When repeating the acquisition process S30, the self-location estimation unit 110 may set the current self-location to a position obtained by gradually shifting the self-location of the self-location and orientation, and acquire an orientation shifted by a predetermined angle from the orientation of the self-location and orientation as the current orientation. The self-location estimation unit 110 then sets the current self-location and current orientation as the current self-location and orientation, and performs the second determination process S20 and subsequent processes. Here, the predetermined angle is, for example, 10 degrees. If the predetermined angle is 1 degree, the acquisition process S30 will be performed a maximum of 360 times until the current self-location and orientation are determined to be normal.
[0047] <Example 3 of Acquisition Process S30> When the self-position estimation unit 110 determines that the self-position and orientation are incorrect, the self-position estimation unit 110 may acquire a current self-position using the GNSS reception data 41 and acquire a current orientation using an electronic compass as the acquisition process S30. Furthermore, when the self-position estimation unit 110 determines that the self-position and orientation are incorrect, the self-position estimation unit 110 may acquire a current self-position using the GNSS reception data 41 and acquire a current orientation using an inertial measurement unit as the acquisition process S30. Furthermore, when the self-position estimation unit 110 determines that the self-position and orientation are incorrect, the self-position estimation unit 110 may acquire a current self-position using the GNSS reception data 41 and acquire a vector of a difference between the current self-position using the GNSS reception data 41 and the previous self-position obtained using the previous GNSS reception data 41, and the current orientation using the inertial measurement unit as the acquisition process S30.
[0048] <Example 4 of Acquisition Process S30> When the self-position estimation unit 110 determines that the self-position and orientation are incorrect, the self-position estimation unit 110 may acquire the current self-position and orientation from road landmarks or the like using a camera in acquisition process S30.
[0049] <Example 5 of Acquisition Process S30> As described above, the acquisition process S30 is repeated until the self-position and attitude obtained by the acquisition process S30 is determined to be normal by the second determination process S20. At this time, the acquisition process S30 may be repeated by determining rules such as the following (1) to (3). (1) From the 1st to Kth times: The self-position and attitude are acquired using the GNSS reception data 41. (2) From the K+1st to Lth times: The self-position is acquired using the GNSS reception data 41. The attitude is acquired from the attitude of the previous self-position and attitude stored in the storage unit 150. (3) From the L+1st to Mth times: The self-position is acquired using the GNSS reception data 41. The attitude is acquired using an electronic compass.
[0050] The numbers K, L, and M are any integers that satisfy, for example, 1<K<L<M. The order of (1) to (3) and the combination of methods for obtaining the self-position and orientation are also arbitrary.
[0051] Furthermore, a count threshold may be stored in the storage unit 150. The self-location estimation unit 110 may have a function of issuing a warning message indicating that a normal self-location and orientation cannot be acquired when the number of times the acquisition process S30 is repeated exceeds the count threshold. Alternatively, a time threshold may be stored in the storage unit 150. The self-location estimation unit 110 may have a function of issuing a warning message indicating that a normal self-location and orientation cannot be acquired when the time period for repeating the acquisition process S30 exceeds the time threshold.
[0052] ***Other Configurations*** <Variation 1> In this embodiment, an aspect of autonomous traveling based on a technique for estimating its own position and orientation using LiDAR-SLAM has been described. As a variation, the autonomous traveling vehicle may be equipped with a camera, and autonomous traveling based on a technique for estimating its own position and orientation using visual SLAM using the camera. Alternatively, the autonomous traveling vehicle may be equipped with an odometer, and autonomous traveling based on a technique for estimating its own position and orientation using odometer SLAM using the odometer.
[0053] <Variation 2> In this embodiment, after acquiring the vehicle's position and attitude using GNSS reception data, if the acquired position and attitude is normal, driving control is performed using the position and attitude (based on the GNSS reception data). Then, the vehicle's position and attitude is estimated using LiDAR-SLAM, which serves as the base. Meanwhile, in this variation, after acquiring the vehicle's position and attitude using GNSS reception data, if the acquired position and attitude is normal, the vehicle may be re-estimated using LiDAR-SLAM.
[0054] FIG. 7 is a flow diagram showing the autonomous driving process of the autonomous driving vehicle 10 according to a modified example of this embodiment. FIG. 7 differs from FIG. 3 in that if step S106 is YES, the process returns to step S101 and the self-position and orientation are estimated using LiDAR-SLAM, which serves as the base. Specifically, FIG. 7 shows the following four processes: (1) The self-position becomes unstable using LiDAR-SLAM. (2) The self-position from the GNSS receiver is "temporarily stored in memory." (3) The information in (2) is sent as supplementary information to the LiDAR-SLAM self-position estimation process. (4) The self-position is stabilized by LiDAR-SLAM self-position estimation, and autonomous driving resumes. The information in (2) is deleted from memory.
[0055] Note that the <Example 2 of Acquisition Process S30> described in the first embodiment may be implemented in the process of FIG. 7 . The <Example 2 of Acquisition Process S30> is a process performed when the self-position is roughly correct but the orientation is incorrect. When the self-position estimation unit 110 determines that the self-position and orientation are incorrect (step S103), the self-position estimation unit 110 acquires the current self-position and orientation using the GNSS reception data 41 as the acquisition process S30 (step S104). When repeating the acquisition process S30, the self-position estimation unit 110 may set the current self-position to a position obtained by gradually shifting the self-position of the self-position and acquire an orientation shifted by a predetermined angle from the orientation of the self-position and orientation as the current orientation (step S104). Then, the self-position estimation unit 110 performs the second determination process S20 and subsequent processes using the current self-position and orientation as the current self-position and orientation (step S105). In step S106, if the current self-position and orientation is normal, the process returns to step S101 and the LiDAR-SLAM self-position estimation process is performed.
[0056] As described above, even if LiDAR-SLAM detects that the vehicle has lost its position, it can return to LiDAR-SLAM by acquiring its own position and orientation using GNSS reception data. Furthermore, because the final estimation of the vehicle's position and orientation is based on LiDAR-SLAM, it is possible to estimate the vehicle's position and orientation even if the GNSS receiver is not fixed.
[0057] <Modification 3> In this embodiment, the functions of the self-position estimation unit 110, the self-position determination unit 120, and the driving control unit 130 are realized by software. As a modification, the functions of the self-position estimation unit 110, the self-position determination unit 120, and the driving control unit 130 may be realized by hardware. Specifically, the control device 100 includes an electronic circuit 909 instead of the processor 910.
[0058] FIG. 8 is a diagram showing an example of the configuration of the control device 100 according to a modified example of this embodiment. The electronic circuit 909 is a dedicated electronic circuit that realizes the functions of the self-position estimation unit 110, the self-position determination unit 120, and the driving control unit 130. Specifically, the electronic circuit 909 is a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, a logic IC, a GA, an ASIC, or an FPGA. GA is an abbreviation for Gate Array. ASIC is an abbreviation for Application Specific Integrated Circuit. FPGA is an abbreviation for Field-Programmable Gate Array.
[0059] The functions of the self-position estimation unit 110, the self-position determination unit 120, and the driving control unit 130 may be realized by a single electronic circuit, or may be realized by distributing them among multiple electronic circuits.
[0060] As another modification, some of the functions of the self-location estimation unit 110, the self-location determination unit 120, and the driving control unit 130 may be realized by electronic circuits, and the remaining functions may be realized by software. Also, some or all of the functions of the self-location estimation unit 110, the self-location determination unit 120, and the driving control unit 130 may be realized by firmware.
[0061] Each of the processor and the electronic circuit is also called processing circuitry. That is, the functions of the self-position estimation unit 110, the self-position determination unit 120, and the driving control unit 130 are realized by the processing circuitry.
[0062] ***Description of Effects of the Present Embodiment*** In an autonomously running mobile body according to the present embodiment, if it is determined that the self-position and attitude obtained by a process of estimating the self-position and attitude by SLAM using a periphery detection sensor such as LiDAR is not normal, a normal self-position and attitude is obtained by an acquisition process, which is a different method. Then, in the autonomously running mobile body according to the present embodiment, the acquisition process is repeated until the self-position and attitude obtained by the acquisition process is determined to be normal by a determination process. In the autonomously running mobile body according to the present embodiment, if it is determined that the self-position and attitude obtained by the acquisition process is normal, the autonomously running mobile body controls autonomous running using the self-position and attitude determined to be normal, and autonomously runs by estimating the self-position and attitude by SLAM using a periphery detection sensor.
[0063] SLAM using a perimeter detection sensor, i.e., scan matching, provides highly accurate self-position and orientation. However, the vehicle may lose track of its own position when rotating or when the approximate location and the entire surrounding field of view are obscured. In such cases, the present embodiment aims to restore scan matching on the spot, rather than moving the autonomous vehicle using an alternative method other than scan matching. Therefore, the autonomous vehicle according to this embodiment can continue traveling based on autonomous traveling using SLAM using a perimeter detection sensor, thereby achieving the effect of enabling autonomous traveling with high accuracy and low cost.
[0064] In the first embodiment described above, each unit of the control device has been described as an independent functional block. However, the configuration of the control device does not have to be the same as that of the above-described embodiment. The functional blocks of the control device may have any configuration as long as they can realize the functions described in the above-described embodiment. Furthermore, the control device may not be a single device, but may be a system composed of multiple devices. Furthermore, multiple parts of the first embodiment may be combined to implement the first embodiment. Alternatively, only one part of the first embodiment may be implemented. In addition, the first embodiment may be combined in any way, either as a whole or in part. That is, in the first embodiment, parts of the first embodiment may be freely combined, or any component of the first embodiment may be modified, or any component of the first embodiment may be omitted.
[0065] The above-described embodiments are essentially preferred examples and are not intended to limit the scope of the present disclosure, the scope of application of the present disclosure, or the scope of use of the present disclosure. The above-described embodiments can be modified in various ways as needed. For example, the procedures described using flow charts or sequence diagrams may be modified as appropriate.
[0066] 10 Autonomous traveling vehicle, 21 LiDAR, 31 Control information, 41 GNSS reception data, 51 Point cloud map, 52 Self-position and attitude, 53 Position threshold, 100 Control device, 110 Self-position estimation unit, 120 Self-position determination unit, 130 Travel control unit, 150 Memory unit, 201 GNSS receiving antenna, 202 GNSS receiver, 203 Surrounding detection sensor, 204 Vehicle traveling device, 909 Electronic circuit, 910 Processor, 921 Memory, 922 Auxiliary storage device, 930 Input interface, 940 Output interface, 941 Display device, 950 Communication device, S10 First determination process, S20 Second determination process, S30 Acquisition process.
Claims
1. In an autonomous mobile vehicle equipped with surrounding detection sensors and capable of autonomous driving, A self-position estimation unit that estimates the position and orientation in the point cloud map as the self-position and orientation using the surrounding detection sensor, A self-position determination unit that performs a determination process to determine whether the self-position and orientation are normal or not, When the self-position and attitude are determined to be normal, a driving control unit controls the autonomous driving using the self-position and attitude. Equipped with, The self-position estimation unit, If the self-position and orientation are determined to be abnormal, an acquisition process is performed to obtain a normal self-position and orientation, and the acquisition process is repeated until the self-position and orientation obtained through the acquisition process is determined to be normal by the determination process. An autonomous mobile vehicle characterized by the following features.
2. The autonomous mobile vehicle is equipped with LiDAR, The self-position estimation unit, The autonomous mobile vehicle according to claim 1, wherein the self-position and orientation are estimated by scan matching using the LiDAR.
3. The self-position estimation unit, The autonomous mobile vehicle according to claim 1 or 2, which notifies a warning message indicating that it is not possible to acquire a normal self-position and orientation when the number of times the acquisition process is repeated exceeds a threshold number.
4. The self-position estimation unit, The autonomous mobile vehicle according to claim 1 or 2, wherein a warning message indicating that a normal self-position and orientation cannot be acquired is notified when the time for repeating the acquisition process exceeds a time threshold.
5. The self-position estimation unit, The previously estimated self-position and orientation are stored in the memory unit. The self-position determination unit is, An autonomous mobile vehicle according to claim 1 or 2, wherein the current self-position and attitude are compared with the self-position and attitude previously estimated, and if the comparison result is smaller than a position threshold, the current self-position and attitude are determined to be normal, and if the comparison result is larger than the position threshold, the current self-position and attitude are determined to be abnormal.
6. The self-position estimation unit, The autonomous mobile vehicle according to claim 1 or 2, wherein, if it is determined that the self-position and orientation are incorrect, the acquisition process involves acquiring the current self-position and orientation by position estimation using equipment different from the localization using the surrounding detection sensor.
7. The autonomous mobile vehicle is equipped with a GNSS (Global Navigation Satellite System) receiver, The self-position estimation unit, The autonomous mobile vehicle according to claim 1 or 2, wherein, if it is determined that the self-position and attitude are incorrect, the acquisition process involves acquiring the current self-position and attitude using the GNSS reception data received by the GNSS receiver.
8. The autonomous mobile vehicle is equipped with a GNSS receiver, The self-position estimation unit, The autonomous mobile vehicle according to claim 5, wherein, if it is determined that the self-position and attitude are incorrect, the acquisition process involves acquiring the current self-position using the GNSS reception data received by the GNSS receiver, and acquiring the attitude from the previously estimated self-position and attitude as the current attitude.
9. The autonomous mobile vehicle is equipped with a GNSS receiver, The self-position estimation unit, The autonomous mobile vehicle according to claim 1 or 2, wherein, if it is determined that the self-position and attitude are incorrect, the acquisition process involves acquiring the current self-position using the GNSS reception data received by the GNSS receiver and acquiring the current attitude using an electronic compass.
10. The autonomous mobile vehicle is equipped with a GNSS receiver, The self-position estimation unit, The autonomous mobile vehicle according to claim 1 or 2, wherein, if it is determined that the self-position and attitude are incorrect, the acquisition process involves acquiring the current self-position using the GNSS reception data received by the GNSS receiver and acquiring the current attitude using an inertial measurement device.
11. The autonomous mobile vehicle is equipped with a GNSS receiver, The self-position estimation unit, If it is determined that the self-position and attitude are incorrect, the autonomous mobile vehicle according to claim 1 or 2, wherein the acquisition process involves acquiring the current self-position using GNSS reception data received by the GNSS receiver, and acquiring an attitude that is shifted by a predetermined angle from the aforementioned self-position and attitude as the current attitude.
12. The aforementioned driving control unit, The autonomous mobile body according to claim 1 or 2, which decelerates autonomous driving until the self-position and orientation is determined to be correct by the determination process.
13. The aforementioned driving control unit, The autonomous mobile body according to claim 1 or 2, which stops autonomous driving until the self-position and orientation is determined to be correct by the determination process.
14. The autonomous mobile vehicle is equipped with a camera, The self-position estimation unit, The autonomous mobile vehicle according to claim 1, wherein the self-position and orientation are estimated by visual SLAM (Simultaneous Localization and Mapping) using the aforementioned camera.
15. The autonomous mobile vehicle is equipped with an odometer, The self-position estimation unit, The autonomous mobile vehicle according to claim 1, wherein the self-position and attitude are estimated by odometer SLAM using the odometer.
16. In an autonomous driving method used for an autonomous mobile vehicle equipped with surrounding detection sensors that performs autonomous driving, The computer uses the surrounding detection sensor to estimate the position and orientation in the point cloud map as its own position and orientation. The computer performs a determination process to determine whether the self-position and orientation are normal or not. When the computer determines that the self-position and orientation are normal, it uses the self-position and orientation to control the autonomous driving. If the computer determines that the self-position and orientation are not normal, it performs an acquisition process to obtain a normal self-position and orientation, and repeats the acquisition process until the self-position and orientation obtained through the acquisition process is determined to be normal by the determination process. An autonomous driving method characterized by the following:
17. In an autonomous driving program used in a computer mounted on an autonomous mobile vehicle equipped with surrounding detection sensors that performs autonomous driving, A self-position estimation process that estimates the position and orientation in the point cloud map as the self-position and orientation using the surrounding detection sensor, A self-position determination process that performs a determination process to determine whether the self-position and orientation are normal or not, When the self-position and attitude are determined to be normal, a driving control process is performed to control the autonomous driving using the self-position and attitude. An autonomous driving program that causes the computer to execute the following: The self-localization process described above is: If the self-position and orientation are determined to be abnormal, an acquisition process is performed to obtain a normal self-position and orientation, and the acquisition process is repeated until the self-position and orientation obtained through the acquisition process is determined to be normal by the determination process. An autonomous driving program characterized by the following features.