Mobile body, storage medium, and computer device
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- RICOH CO LTD
- Filing Date
- 2022-11-14
- Publication Date
- 2026-08-07
AI Technical Summary
[0004]但是,专利文献1公开的技术方案只能检测激光扫描线上的障碍物,问题是移动体不能基于预测,比如障碍物是否在前方持续存在等的预测而动作
[0006] To solve the above problems and achieve the objective of this invention, the present invention provides a mobile body that travels on a road surface according to an obstacle map of the travel area. The mobile body is characterized by comprising: a ranging sensor disposed in front of the mobile body in the direction of travel and positioned obliquely downwards at a predetermined angle relative to the road surface; a determination unit for determining the presence of continuous obstacles when measurement results on multiple scanning surfaces of the ranging sensor contain similar features indicating convexity or concavity; and an obstacle map generation unit for generating an obstacle map of the area in front of the mobile body that has not been scanned by the ranging sensor, based on continuous information indicating a specified number of consecutive occurrences of the features.
Smart Images

Figure CN116203941B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to mobile bodies, storage media, and computer devices. Background Technology
[0002] Previously, inspectors typically relied on visual inspection of outdoor structures (piping, instruments, valves, etc.) in chemical plants for leaks or abnormalities. In recent years, unmanned technologies have been developed to perform these inspections using autonomous mobile vehicles.
[0003] For example, Patent Document 1 (JP JP 2000-075032) describes a method of performing K one-dimensional laser scans using a distance measuring device, and continuously detecting all laser scans from the a-th scan (Ka-th scan) up to the K-th scan as concave obstacles.
[0004] However, the technical solution disclosed in Patent Document 1 can only detect obstacles on the laser scanning line. The problem is that the moving body cannot act based on predictions, such as whether the obstacle will continue to exist in front of it. Summary of the Invention
[0005] The present invention is a technical solution proposed in view of the above-mentioned problems. Its purpose is to enable a moving body to travel based on the prediction of obstacles outside the sensor scanning area, without colliding with continuous obstacles.
[0006] To solve the above problems and achieve the objective of this invention, the present invention provides a mobile body that travels on a road surface according to an obstacle map of the travel area. The mobile body is characterized by comprising: a ranging sensor disposed in front of the mobile body in the direction of travel and positioned obliquely downwards at a predetermined angle relative to the road surface; a determination unit for determining the presence of continuous obstacles when measurement results on multiple scanning surfaces of the ranging sensor contain similar features indicating convexity or concavity; and an obstacle map generation unit for generating an obstacle map of the area in front of the mobile body that has not been scanned by the ranging sensor, based on continuous information indicating a specified number of consecutive occurrences of the features.
[0007] The advantage of this invention is that it enables a moving body to travel based on predictions of obstacles outside the sensor scanning area, without colliding with continuous obstacles. Attached Figure Description
[0008] Figure 1 This is a schematic diagram of the configuration of the driving device according to the embodiment.
[0009] Figure 2 This is a schematic diagram of the distance measuring sensor setup for the driving device involved in the implementation method.
[0010] Figure 3 This is a schematic diagram illustrating the basis for the placement of the distance measuring sensor in the driving device according to the embodiment.
[0011] Figure 4 This is a hardware structure block diagram of the driving device involved in the implementation method.
[0012] Figure 5 This is a functional structure block diagram involving the autonomous driving of the driving device.
[0013] Figure 6 This is a functional structure block diagram of the speed control involved in the steering control unit.
[0014] Figure 7 This is a flowchart of the road obstacle detection and processing of the driving device involved in the implementation method.
[0015] Figure 8 This is a diagram illustrating the reason for performing the test history saving process.
[0016] Figure 9 This is a diagram illustrating the rationale for performing deduplication.
[0017] Figure 10 This is another flowchart illustrating the road obstacle detection and processing of the driving device involved in the implementation method.
[0018] Figure 11 This is a diagram illustrating the reason for omitting the process of saving and processing the detection history.
[0019] Figure 12 This is a diagram illustrating the reason for omitting the duplicate data removal process.
[0020] Figure 13 This is a schematic diagram of a detection example of the driving device according to the implementation method.
[0021] Figure 14 This is a flowchart of the extraction and processing of steps and plane candidate points in the driving device involved in the implementation method.
[0022] Figure 15 This is a flowchart of the step candidate point clustering process of the driving device involved in the implementation method.
[0023] Figure 16 This is a flowchart of the planar candidate point clustering process of the driving device involved in the implementation method.
[0024] Figure 17 This is a flowchart of the curb detection process of the driving device involved in the implementation method.
[0025] Figure 18 This is a schematic diagram illustrating an example of drawing curb detection data obtained from curb detection processing of the driving device according to the embodiment.
[0026] Figure 19 This is a flowchart of the ditch detection process of the driving device involved in the implementation method.
[0027] Figure 20 This is a schematic diagram illustrating an example of plotting groove detection data obtained from the groove detection processing of the driving device according to the embodiment.
[0028] Figure 21 This is a flowchart of the process for generating / saving roadside ditch detection history data in the driving device involved in the implementation method.
[0029] Figure 22 This is a schematic diagram illustrating how the driving device involved in the implementation changes its direction of movement based on past scan results.
[0030] Figure 23 This is a schematic diagram of the driving device according to the implementation method dealing with obstructions.
[0031] Figure 24 This is a flowchart of the predictive processing of the driving device involved in the implementation method.
[0032] Figure 25 This is a schematic diagram of the driving device 1 according to the embodiment, which predicts and detects obstacles ahead of the line. Detailed Implementation
[0033] The best mode for carrying out the present invention will now be described in detail with reference to the accompanying drawings.
[0034] <Composition of the traveling mechanism>
[0035] Figure 1 This is a schematic diagram illustrating an example configuration of the driving device 1 according to the embodiment.
[0036] Figure 1 In the diagram, (a) is a perspective view of the appearance of the driving device 1 of this embodiment, (b) is a front view of the driving device 1 of this embodiment (view in the direction of arrow P in (a)), and (c) is a side view of the driving device 1 of this embodiment (view in the direction of arrow Q in (a)).
[0037] In this paper, the x-direction represents the lateral width of the traveling device 1, the y-direction represents the travel direction of the traveling device 1, and the z-direction represents the height of the traveling device 1. These coordinates represented by x, y, and z are sometimes called robot coordinates. That is, the robot coordinates are coordinates centered on the traveling device 1.
[0038] The traveling device 1 is a mobile body, comprising tracked traveling bodies 11a and 11b and a main body 10.
[0039] Tracked vehicles 11a and 11b are the means of movement for the travel device 1. Tracked vehicles 11a and 11b are tracked vehicles using metal or rubber belts.
[0040] Compared to vehicles and other tire-based vehicles, tracked vehicles have a larger ground contact area, allowing them to travel stably even on uneven terrain. Furthermore, while tire-based vehicles require turning space to rotate, tracked vehicles can perform point-and-shoot maneuvers, enabling them to rotate smoothly even in confined spaces.
[0041] The stationary rotation mentioned here refers to rotating in place by making the left and right tracks rotate at the same speed in opposite directions, with the center of the vehicle as the axis. This rotation method is also known as spin turn.
[0042] Two tracked vehicles 11a and 11b are positioned on either side of the main body 10 to enable the travel device 1 to move. The number of tracked vehicles is not limited to two; it can also be three or more. For example, the travel device 1 can be configured with three tracked vehicles arranged in three parallel rows to enable the travel device 1 to move. Alternatively, the travel device 1 can be configured with four tracked vehicles, arranged in a forward, backward, left, and right manner, similar to the tires of a motor vehicle.
[0043] The tracked vehicle 11 (11a, 11b) has a triangular shape. This triangular shape allows for a larger ground contact area within a limited front-to-back dimension, even when the front-to-back dimensions are constrained. As described above, this improves stability during movement. On the other hand, the upper side (drive wheel side) is longer than the lower side (rotating wheel side), meaning that when the vehicle's tracks are constrained by the front-to-back dimensions, the overall ground contact area decreases, leading to instability. Thus, the tracked vehicle 11 is effective in improving mobility within the relatively small vehicle 1.
[0044] The main body 10 is a support structure that supports the tracked vehicles 11a and 11b in a drivable state, and also serves as a control device for controlling the drive of the driving device 1. The main body 10 is equipped with a battery (not shown) to supply power and drive the tracked vehicles 11a and 11b.
[0045] The main body 10 of the driving device 1 includes a power button 12, a start button 13, an emergency stop button 14, a status indicator light 15, and a cover 16.
[0046] Power button 12 is an operating device that is pressed by a person in the vicinity of the traveling device 1 to turn the power on or off. Start button 13 is an operating device that is pressed by a person in the vicinity of the traveling device 1 to start the two tracked traveling bodies 11a and 11b. Emergency stop button 14 is an operating device that is pressed by a person in the vicinity of the traveling device 1 to stop the traveling device 1 that is in motion.
[0047] The status indicator light 15 is a notification device used to indicate the status of the driving device 1. When the status of the driving device 1 changes, such as when the battery level decreases, the status indicator light 15 illuminates to notify those nearby of the change in the status of the driving device 1. The status indicator light 15 also illuminates in cases where abnormalities may occur, such as when an obstacle that may impede the driving of the driving device 1 is detected.
[0048] Figure 1 The display device 1 includes an example of two status indicator lights 15. The number of status indicator lights 15 can be one or more. Furthermore, the notification device may not only have status indicator lights 15, but may also be configured to notify the status of the driving device 1 via warning sounds emitted from a speaker.
[0049] The cover 16 is disposed on the top of the main body 10 and is used to seal the interior of the main body 10. The cover 16 has a vent 16a, which has a vent for venting the interior of the main body 10.
[0050] In the driving device 1, a ranging sensor 112 is installed in front of the main body 10 in the direction of travel for horizontal detection. The ranging sensor 112 for horizontal detection is a 2D-LiDAR (Light Detection and Ranging) sensor that uses light for detection and two-dimensional ranging, including MEMS (Micro Electro Mechanical Systems) and rotating mirror types.
[0051] The ranging sensor 112 irradiates a laser onto an object, and determines the distance to the object and the direction of the object's existence based on the measurement result of the time it takes for the laser to reflect back after hitting the object.
[0052] Furthermore, the driving device 1 has a distance sensor 113 located in front of the main body 10 in the direction of travel for oblique detection. The distance sensor 113 for oblique detection is also a 2D-LiDAR sensor that can be used for two-dimensional distance measurement, and it can be either a MEMS type or a rotating mirror type. The distance sensor 113 is installed at a certain angle downwards and horizontally, tilted downwards, and has a specified tilt angle relative to the horizontal driving surface.
[0053] The ranging sensor 113 irradiates a laser onto objects such as road obstacles, and measures the distance to the object and the direction of the object based on the measurement result of the time it takes for the laser to bounce back after hitting the object.
[0054] As the track width and length of the tracked vehicles 11a and 11b, as well as the size, width, depth, and height of the object to be detected, differ, the appropriate setting position value of the ranging sensor 113 will vary.
[0055] Figure 2 This is a schematic diagram of an example of the setting of the distance sensor 113 of the driving device 1 according to the embodiment, wherein (a) is an example of the setting angle and setting height of the distance sensor 113, and (b) is an example of the laser illumination range of the distance sensor 113.
[0056] like Figure 2 As shown in (a), the ranging sensor 113 is configured such that, for example, the angle of illumination of the driving road surface relative to the driving road surface is 35 degrees or more. At the same time, the ranging sensor 113 is also positioned at a height of more than 1m in front of the driving direction of the drive component (drive wheel) i.e., the tracked driving body 11a, 11b traveling on the driving road surface.
[0057] Here, the ranging sensor 113 is capable of laser irradiation within a specified range including the x-direction in front of the ranging sensor 113. Figure 2 (b) is a cross-section of the xy plane or xz plane taken from the laser irradiation range.
[0058] like Figure 2 As shown in (b), the laser illumination range of the range sensor 113 is centered on the x-direction in front of the range sensor 113, and can be set to a range of 270 degrees, for example. That is, the range sensor 113 can illuminate the laser in a range SG of -45 degrees to +45 degrees with the x-direction being 90 degrees, i.e., a range of 180 degrees ± 45 degrees.
[0059] Here, the aforementioned illumination angle of the ranging sensor 113 relative to the road surface is the illumination angle when the ranging sensor 113 illuminates the laser at a right angle relative to the illumination surface. That is, the ranging sensor 113 is tilted downwards with the illumination surface at an angle of 35 degrees or more relative to the road surface.
[0060] The range sensor 113 can be configured to illuminate the laser at a step angle of, for example, 0.25° within the 270° illumination range. That is, the range sensor 113 is capable of illuminating the laser with a resolution that divides the 270° range into 1080 steps.
[0061] The laser illumination distance Lir of the ranging sensor 113 can be set to, for example, more than 10m and less than 20m.
[0062] In addition, there are some other requirements for the driving device 1, such as the desire to see further while driving at high speeds and to see the ground while turning. To address this, the laser illumination angle of the ranging sensor 113 can be optimized based on the driving speed of the driving device 1 and the size of objects to be detected, such as road obstacles.
[0063] A 3D-LiDAR, suitable for three-dimensional ranging, can be used as the ranging sensor 113. Regarding 3D-LiDAR, there are devices that can simultaneously acquire ranging data from multiple illumination angles by irradiating multiple laser beams in a direction orthogonal to the scanning direction of the laser beam, or devices that use MEMS mirrors or similar devices to scan laser beams in three dimensions to acquire three-dimensional data. Because 3D-LiDAR acquires three-dimensional data in a single pass, compared to 2D-LiDAR, the adverse effects of robot vibration and tilting jitter on road surface detection are less significant.
[0064] Regarding the 3D-LiDAR setup, since the same road surface location needs to be observed, the same settings as for the 2D-LiDAR can be used. Because it's necessary to obtain road surface information at least 1 meter ahead in the forward direction, setting the 3D-LiDAR to the laser beam's illumination position allows it to reach at least 1 meter ahead. Furthermore, setting the 3D-LiDAR to the laser beam's illumination position allows it to illuminate the road surface at an angle of at least 35 degrees relative to the longitudinal angle (tilt direction) relative to the direction of travel, thus reaching at least 1 meter ahead.
[0065] The driving device 1 has the above-mentioned features Figure 1 The tracked vehicles 11a and 11b shown can travel stably even on uneven surfaces.
[0066] However, due to the unevenness of the road surface, part of the tracks of the tracked vehicles 11a and 11b floats up and cannot make contact with the ground. As a result, when traveling on uneven ground, the main body 10 sways back and forth, causing the detection height position of the ranging sensor to change.
[0067] In addition, there is the problem of distance sensors malfunctioning due to vibration during driving. For example, mirror-polarized sensors, such as those used in MEMS systems, are not resistant to vibration and may sometimes stop due to vibration.
[0068] In this embodiment, the main body 10 of the driving device 1 includes an inertial measurement unit (IMU). The IMU is a tilt sensor that detects the tilt amount of the driving device 1. The detailed configuration of the IMU will be described below.
[0069] Alternatively, the ranging sensor 113 can be mounted on a shock-absorbing structure supported by springs or rubber. The IMU can also be mounted on the shock-absorbing structure. This can suppress the shaking of the ranging sensor 113, thereby reducing malfunctions of the driving device 1 caused by vibrations during driving.
[0070] When the shock absorption structure is used as an active steering mechanism, the range sensor 113 can be kept horizontal. The range sensor 113 can also be mounted on the main body 10 via an arm.
[0071] As described above, the closer the illumination angle of the ranging sensor 113 relative to the road surface is to a right angle, the higher the resolution in the x-direction, which is the travel direction of the driving device 1, and the higher the detection accuracy. Therefore, it is preferable to set the ranging sensor 113 to have the deepest possible illumination angle.
[0072] On the other hand, after the ranging sensor 113 is set up as described above, the distance irradiated by the laser in the x direction, which is the direction of travel of the driving device 1, becomes shorter, and the detection distance in the direction of travel of the driving device 1 becomes shorter, so it is impossible to detect distant objects.
[0073] If the ranging sensor 113 reduces the laser's illumination angle on the road surface, although it can detect distant objects, the vibration and deviation caused by the driving device 1 will increase. Conversely, if the illumination angle is small, the road surface may not be illuminated when driving downhill, etc.
[0074] To address the aforementioned problem, by increasing the installation position of the range sensor 113, it is possible to detect objects at greater distances with the same illumination angle, thus resolving the issue. Therefore, it is preferable to adjust both the illumination angle and the installation height of the range sensor 113 to suitable values.
[0075] Use here Figure 3 The rationale for setting the position of the ranging sensor 113 is explained in detail, that is, why the ranging sensor 113 is set as described above at a position where the illumination angle relative to the road surface is at or above 35 degrees with the horizontal direction, and at a height of more than 1m above the front end of the tracked vehicles 11a and 11b in the direction of travel.
[0076] Figure 3 This is a schematic diagram illustrating the basis for setting the position of the ranging sensor 113 included in the driving device 1 according to the embodiment. Among them, (a) is the basis for explaining the required illumination distance of the ranging sensor 113, and (b) is the basis for explaining the setting of the illumination angle and height position of the ranging sensor 113.
[0077] The illumination angle of the ranging sensor 113 is preferably set reasonably according to factors such as the speed of the driving device 1 and the size of the object to be detected.
[0078] like Figure 3 As shown in (a), when the traveling device 1 has a tracked traveling body 11 with a length L and a width W, for example, there is almost no risk of falling into a hole with a length of less than L / 2 or a width of less than W / 2. Therefore, in order to stop the traveling device 1 with the braking distance LB and the detection distance LS of the distance measuring sensor 113 without contacting or falling into an obstacle in front, the detection distance LS is set to be at least > braking distance LB - L / 2, and more preferably > braking distance LB.
[0079] As described above, by setting the detection distance LS of the ranging sensor 113 to be greater than the braking distance LB, the driving device 1 can be safely stopped. Here, when the braking distance LB of the driving device 1 is, for example, 0.60m, the detection distance LS at which the driving device 1 can be safely stopped is, for example, 1m.
[0080] like Figure 3 As shown in (b), let z be the installation height of the distance sensor 113. Referring to the layout of the driving device 1, assume, for example, two points: z = 0.4125m and z = 0.97m. Then, adjust the illumination angle θ of the distance sensor 113 to obtain a detection distance x that is 1m away from the front end of the most prominent bumper in the driving direction in the driving device 1. d .
[0081] When the installation height z is 0.4125m, the installation angle of the ranging sensor 113, i.e. the illumination angle θ relative to the road surface, is 20 degrees, and the slope a of the illumination angle θ is tanθ=tan20=0.36.
[0082] When the installation height z is 0.97m, the installation angle of the ranging sensor 113, that is, the illumination angle θ relative to the road surface, is 35 degrees, and the slope a of the illumination angle θ is tanθ=tan36=0.70.
[0083] When there are minor bumps or indentations on the road surface, the detection distance of the ranging sensor 113 varies with the reciprocal of the slope 'a' at each installation height 'z', resulting in reduced detection accuracy. Therefore, an installation height of z = 0.97m is adopted, which allows for a depth angle of 35 degrees.
[0084] As described above, a setting value of 35 degrees or more relative to the horizontal direction is used as the appropriate illumination angle for the range sensor 113 to illuminate the road surface. Furthermore, a setting value of at least 1 meter away from the front end of the tracked vehicles 11a and 11b in the direction of travel is used as the appropriate detection distance for the range sensor 113. Moreover, 0.97 is used as the appropriate installation height for the range sensor 113, so that the range sensor 113 can detect the front end of the tracked vehicles 11a and 11b at a distance of at least 1 meter from the front end in the direction of travel. The range sensor 113 can be installed at a height of at least 0.5 meters above the road surface.
[0085] However, for example, Patent Document 1 does not provide a detailed study of the illumination angle and setting height based on the detection distance of the distance measuring device. Therefore, Patent Document 1, for example, cannot obtain accurate detection results from the distance measuring device. As a result, in some cases, it is difficult for the moving body to travel safely.
[0086] Furthermore, when using a 3D-LiDAR as the ranging sensor 113, the setup is the same as described above. Since step detection is difficult at beam angles below 35 degrees, the 3D-LiDAR is mounted to detect angles that can be illuminated by beams below 35 degrees, and to detect heights approximately 1 meter in front. However, when using a 3D-LiDAR with a MEMS scanning method and a conical beam illumination range as the ranging sensor 113, the detection width becomes narrower further away from the center. Therefore, when using a 3D-LiDAR as the ranging sensor 113, it is preferable to position the 3D-LiDAR so that the beam center illumination angle is 35 degrees and that it can detect heights approximately 1 meter in front.
[0087] <Hardware Composition of the Driving System>
[0088] The following is for reference Figure 4 This describes an example of the hardware configuration of the driving device 1. Figure 4 This is an example hardware structure block diagram of the driving device 1 according to the implementation method.
[0089] like Figure 4 As shown, the driving device 1 includes a CPU (Central Processing Unit) 101, memory 102, auxiliary storage device 103, camera 111, ranging sensors 112 and 113, satellite positioning system 114, IMU 115, battery 121, motor drivers 122a and 122b, driving motors 132a and 132b, brake drivers 123a and 123b, brake motors 133a and 133b, power supply SW141, start SW142, and emergency stop SW143.
[0090] The CPU 101 controls the driving device 1 as a whole. The CPU 101 operates according to the driving program stored in the memory 102 and has the functions of a judgment unit and an obstacle map generation unit. The CPU 101 operates according to the driving program stored in the memory 102 and drives using the obstacle map generated by the obstacle map generation unit. The memory 102 is a temporary storage area for the CPU 101 to execute driving programs, etc. The auxiliary storage device 103 stores the driving programs, etc., executed by the CPU 101.
[0091] The driving program for the driving device 1 is provided as an installable or executable file on a computer-readable recording medium such as a CD-ROM, floppy disk (FD), CD-R, or DVD (Digital Versatile Disc).
[0092] Alternatively, the driving program for execution by the driving device 1 can be stored on a computer connected to a network such as the Internet, and provided by downloading it via the network. Furthermore, the driving program for execution by the driving device 1 can be provided or distributed via a network such as the Internet. Additionally, the driving program for execution by the driving device 1 can be pre-installed in a ROM or similar storage device.
[0093] Motor drivers 122 (122a, 122b) are drivers for travel motors 132 (132a, 132b) respectively mounted on the two tracked vehicles 11a, 11b. Brake drivers 123 (123a, 123b) are drivers for brake motors 133 (133a, 133b) respectively mounted on the two tracked vehicles 11a, 11b. Motor drivers 122 and brake drivers 123 receive instructions from CPU 101 to control travel motor 132 and brake motor 133 respectively.
[0094] Power supply SW141 is a switch that connects or disconnects the power supply to the driving device 1. Power supply SW141 is related to the aforementioned power button 12 (see...). Figure 1 The start button SW142 is a switch that activates the two tracked vehicles 11a and 11b. The start button SW142 is linked to the start button 13 mentioned above (see...). Figure 1 The emergency stop SW143 is a switch that causes the two tracked vehicles 10a and 10b to stop urgently when pressed. The emergency stop SW143 is linked to the aforementioned emergency stop button 14 (see...). Figure 1 The action is linked by pressing.
[0095] Camera 111 includes an all-sky camera, a stereo camera, an infrared camera, etc. As described above, the ranging sensor 112 is a LiDAR sensor used for detecting horizontal direction, and the ranging sensor 113 is a LiDAR sensor used for detecting tilt direction.
[0096] The satellite positioning system 114 receives radio waves from satellites and determines the position of the driving device 1 on Earth based on the received results. The satellite positioning system 114 uses RTK (Real-Time Kinematic)-GNSS (Global Navigation Satellite System). In RTK-GNSS-based position estimation, when obtaining a high-precision positioning solution (Fix solution) in RTK-GNSS positioning, an accuracy of several centimeters can be obtained.
[0097] The satellite positioning system 114 has two antennas for receiving GNSS signals. When there is a deviation of more than a certain distance between the position information obtained by the two antennas, the reliability (accuracy) of the position information determined by the satellite positioning system 114 decreases.
[0098] The IMU115 is equipped with a triaxial accelerometer and a rotational angular velocity sensor. The driving device 1 uses the measurement data from the IMU115 to detect the tilt of the main body 10 of the driving device 1, and compensates for the height difference relative to the driving surface measured by the distance measuring sensor 113 based on the tilt of the driving device 1.
[0099] It is preferable to place the IMU 115 near the ranging sensor 113. When the ranging sensor 113 is mounted on the main body 10 via an arm, it is preferable to mount the IMU 115 on the arm. In this embodiment, the IMU 115 also serves as an IMU for estimating the self-position of the driving device 1.
[0100] This can solve the problem of height position changes detected by the ranging sensor 113 caused by the back-and-forth swaying of the main body 10 when the mobile body travels on uneven ground.
[0101] The CPU 101 acts as a judgment unit. If a single measurement result from the ranging sensor 113 includes features indicating unevenness on the road surface, and if multiple (N) measurements from the ranging sensor 113 show approximately the same unevenness at the same location (i.e., these unevennesses are considered similar), then the CPU 101 determines the obstacle to be a continuous obstacle. Alternatively, if the measurement results from multiple scanning surfaces of the ranging sensor 113 include features indicating similar unevenness, the CPU 101 determines the obstacle to be a continuous obstacle.
[0102] CPU101 also functions as a map generation unit. When the number of features representing concavity and convexity within a specified radius is continuously specified, it performs curve fitting prediction based on the continuous information of the number of features representing concavity and convexity, and generates an obstacle map of the area in front of the moving body that has not been scanned by the ranging sensor 113 for tilt direction detection.
[0103] The autonomous driving action of the driving device 1 will be described next.
[0104] Figure 5 This is a functional structural block diagram of the autonomous driving mechanism 1. For example... Figure 5 As shown, the autonomous driving of the driving device 1 includes the self-position estimation function and driving control function of the satellite positioning system 114.
[0105] First, let's explain the estimated position of the driving device 1.
[0106] like Figure 5 As shown, the driving device 1 has a mileage calculation unit 151 and a self-position estimation unit 152 as its own position estimation function.
[0107] Regarding the estimation of the self-position of the traveling device 1, as described above, high-precision position information based on the satellite positioning system 114 can be used, but the position update cycle is approximately 200ms to 1s, resulting in a large deviation. Therefore, the mileage calculation unit 151 performs mileage calculation and infers the self-position of the traveling device 1 based on the rotation angle ω of the traveling motors 132a and 132b that drive the two tracked traveling bodies 11a and 11b respectively. The rotation angle ω of the traveling motors 132a and 132b can be obtained from external sensors such as Hall sensor pulses for driving the motors 132a and 132b, encoders, and tachometers.
[0108] The self-position estimation unit 152 outputs the self-position estimation result (X, Y, θ). Specifically, the self-position estimation unit 152 performs a stable self-position estimation using the position information obtained by the satellite positioning system 114, including RTK-GNSS, and the mileage information calculated by the attitude change compensation mileage calculation unit 151 measured by the IMU 115.
[0109] However, due to the influence of reflective objects, the position information of RTK-GNSS can sometimes suddenly deviate by tens of centimeters to several meters. Therefore, to avoid unstable operation caused by such drastic position estimation deviations, the self-position estimation unit 152 compensates for the deviation by using the mileage calculation unit 151 when the position information obtained from the two antennas has no significant deviation. However, when the position information obtained from the two antennas has a significant deviation, or when a high-precision positioning solution (Fix solution) for RTK-GNSS positioning cannot be obtained, the self-position estimation unit 152 only estimates its own position based on the mileage calculation result of the mileage calculation unit 151.
[0110] The speed control of the driving device 1 will be explained next.
[0111] like Figure 5 As shown, the driving device 1 has a global planning unit 153, a local planning unit 154, an obstacle detection unit 155, and a steering control unit 156 as functions related to speed control of the driving device 1.
[0112] The Global Planning Department 153 performs global planning (WP list) from the starting point to the destination, outputting a sequence of reachable WAYPOINTs (WP(n)). A WAYPOINT is a set of points along the travel path of the driving device 1. In addition to position (x, y, z), a WAYPOINT also contains information on direction and velocity (Vmax).
[0113] Local planning unit 154 not only generates the actual path connecting WAYPOINT and WAYPOINT based on the WAYPOINT(WP(n)) information obtained from global planning unit 153, but also calculates the target direction (WP vector, Pct(n): coordinates of the target position, Vmax: velocity).
[0114] The obstacle detection unit 155 performs obstacle detection based on the detection results of the ranging sensors 112 and 113. Based on the detected obstacles, the obstacle detection unit 155 outputs an avoidance direction (θ), a speed indication (V), and a stop indication (V) to the steering control unit 156. The obstacle detection unit 155 also uses the obstacle detection results to generate an obstacle map of the driving surface of the driving device 1.
[0115] The steering control unit 156 calculates not only the speed and angular rate of the traveling device 1, but also the speeds (VL, VR) of the left and right tracked traveling bodies 11a and 11b used for steering control. The steering control unit 156 transmits the speeds (VL, VR) of the left and right tracked traveling bodies 11a and 11b to the serial IF (Interface) 157 and the motor drivers 122a and 122b to control the traveling motors 132a and 132b.
[0116] This section explains the functional configuration of the speed control in the steering control unit 156. Figure 6 This is a functional block diagram of the speed control of the steering control unit 156.
[0117] The driving device 1 is a tracked robot that independently drives the left and right tracked vehicles 11a and 11b, rotating by the speed difference between the left and right tracked vehicles 11a and 11b. In order to travel stably on various road surfaces with different driving loads, the left and right tracked vehicles 11a and 11b need to rotate at a specified speed, unaffected by the load.
[0118] Therefore, such as Figure 6 As shown, the steering control unit 156 is divided into a main cycle for controlling steering and a secondary cycle for controlling the speed of the left and right tracked vehicles 11a and 11b, respectively, and performs driving control of the driving device 1.
[0119] like Figure 6 As shown, the steering control unit 156 includes a position PID (Proportional Integral Differential) 161, speed PID (Proportional Integral Differential) 162a and 162b, and speed calculation units 163a and 163b.
[0120] The position PID161 calculates the operating quantities of the left and right tracked vehicles 11a and 11b for steering control based on the difference between the set value and the measured value (position deviation).
[0121] Speed PID 162a and 162b calculate the change in the operating quantity based on the speed deviation.
[0122] The speed calculation units 163a and 163b estimate the motor speed based on the signals (motor pulses) from the Hall sensors installed on the drive motors 132a and 132b.
[0123] In the main cycle, the steering control unit 156 calculates the position deviation, which is the difference between the self-position estimation result calculated by the self-position estimation unit 152 using the mileage calculation unit 151 using the motor pulses of the driving motors 132a and 132b, the position information obtained by the satellite positioning system 114 including RTK-GNSS, and the attitude change (θgps) and velocity change (Vgps) measured by the IMU 115, and the target direction (θset) and target position (Pset) to the target location.
[0124] Specifically, the steering control unit 156 outputs the calculated difference, i.e., the position deviation, to the position PID 161.
[0125] The position PID161 calculates the operating quantities VLset and VRset of the left and right tracked vehicles 11a and 11b for steering control based on the difference between the set value and the measured value, i.e., the position deviation. These quantities are the indicated speed V and the rotation angle ω of the drive motors 132a and 132b.
[0126] The driving device 1 controls the left and right tracked vehicles 11a and 11b according to the operation amounts VLset and VRset from the main cycle, thereby achieving stable driving.
[0127] Furthermore, in the sub-cycle, the steering control unit 156 estimates the motor speed in the speed calculation units 163a and 163b based on the signals (motor pulses) from the Hall sensors installed on the drive motors 132a and 132b. Then, based on the difference (speed deviation) between the speed estimation result from the speed calculation units 163a and 163b and the target speed, the steering control unit 156 performs speed feedback control by controlling the motor voltage applied to the drive motors 132a and 132b through speed PID controllers 162a and 162b. This speed feedback control in the sub-cycle is used to suppress speed fluctuations caused by interference torque from the drive motors 132a and 132b.
[0128] <Example of Obstacle Detection and Handling for Driving Devices>
[0129] Next reference Figure 7 This indicates that during the autonomous driving control process of driving device 1, driving device 1 detects road obstacles on the driving surface. Figure 7 This is an example flowchart of the road obstacle detection and processing of the driving device 1 according to the implementation method. Figure 7 The processing steps shown are an example using a 2D-LiDAR as the ranging sensor 113.
[0130] like Figure 7 As shown, CPU 101 begins scanning by the ranging sensor 116 (step S1) and performs illumination angle filtering processing (step S2). Specifically, CPU 101 only extracts data from the scanning direction of -62 to +62 degrees detected by the ranging sensor 113 in step S2, that is, data within ±3m laterally.
[0131] Next, the CPU101 uses 9 data points to compare the values of surrounding pixels, transforms the pixels into median values, and performs median filtering processing for smoothing (step S3).
[0132] Next, the CPU 101 converts the Laserscan data from the ranging sensor 113 into point cloud data of robot coordinates centered on the driving device 1 (step S4).
[0133] Next, CPU101 performs step and plane candidate point extraction processing on all points, and calculates the angle in the height direction formed by the current point and the points 5 points before it, that is, the angle on the yz plane (step S5).
[0134] Then, CPU101 performs step candidate point clustering processing, performing distance clustering among the extracted step candidate points (step S6).
[0135] Next, CPU101 performs planar candidate point clustering processing, performing high-level clustering among the extracted planar candidate points (step S7).
[0136] Then, CPU101 performs ground scanning surface detection processing, and detects the plane with the longest distance in the plane candidate cluster as the ground scanning surface (step S8).
[0137] CPU101 performs the height calculation process of the ground scanning surface, and averages the height of the detected ground scanning surface, i.e. the position in the z direction, as the ground height (step S9).
[0138] Next, CPU101 performs curb detection processing (step S10).
[0139] Next, CPU101 performs trench detection processing (step S11).
[0140] Next, CPU101 performs the detection history saving process (step S12). The reason for performing the detection history saving process is explained here. Figure 8 This is a diagram illustrating the reason for performing the test history saving process. For example... Figure 8 As shown, when using a 2D-LiDAR as the ranging sensor 113, only one scanning surface can be obtained in a single scan. If continuous obstacle information is required, the results obtained from a single scan (e.g., ...) need to be processed. Figure 8 The history detected by O1 is saved. Specifically, the CPU 101 saves the detection data of the curb and ditch in the auxiliary storage device 103.
[0141] Next, CPU101 performs deduplication processing (step S13). The reason for performing deduplication processing will be explained here. Figure 9 This is a diagram illustrating the rationale behind performing deduplication. For example... Figure 9 As described above, when using 2D-LiDAR as the ranging sensor 113, due to moving objects (e.g., the feet of a walking person, etc.), Figure 9The obstacle O2 shown is also detected as a continuous obstacle. Therefore, if the detection history is saved in this way, moving objects will be treated as continuous obstacles, and their data will be retained. To solve this problem, the CPU 101 performs a removal process, eliminating obstacle data that is at the same xy position as the detection data of the ranging sensor 113 as "duplicate" data. Specifically, when the history data of the area used for storing the detection history is close to the data in the xy coordinates of the ranging sensor 112 used for horizontal detection, the CPU 101 removes the curb and ditch detection history data.
[0142] Finally, the CPU101 performs clustering processing on the curb and ditch detection history data, executes prediction processing, and identifies the predicted obstacles (step S14).
[0143] At this point, the road obstacle detection process of the driving device 1 in the embodiment is complete.
[0144] This section describes another example of obstacle detection on the road surface of the driving device 1.
[0145] Here, Figure 10 This is another flowchart illustrating the road obstacle detection and processing of the driving device 1 according to the implementation method. Figure 10 The diagram illustrates the road obstacle detection process when using a 3D-LiDAR as the ranging sensor 113.
[0146] Using 3D-LiDAR as Figure 10 The road obstacle detection processing of the ranging sensor 113 shown is compared with the use of 2D-LiDAR as... Figure 7 Compared with the road obstacle detection processing of the distance sensor 113 shown, the former omits the detection history saving process (step S12) and the duplicate data elimination process (step S13).
[0147] The reason for omitting the process of saving and processing the detection history is explained here. Figure 11 This is a diagram illustrating the reason for omitting the process of saving and processing the detection history. For example... Figure 11 As shown, when a 3D-LiDAR is used as the ranging sensor 113, since there are multiple scanning surfaces, continuous obstacle data (e.g., ...) can be obtained using the detection results of each surface. Figure 11 As shown in O3), there is no need to perform detection history saving process, that is, there is no need to save the history detected from multiple scan results.
[0148] Secondly, the reasons for omitting the duplicate data elimination process will be explained. Figure 12 This is a diagram illustrating the reasons for omitting the deduplication process. For example... Figure 12As shown, when a 3D-LiDAR is used as the ranging sensor 113, obstacle detection can be performed using multiple scanning surfaces. Therefore, although the 3D-LiDAR as the ranging sensor 113 may misdetect moving obstacles such as a person's feet (e.g., ... Figure 12 As shown in O4), however, since the detection algorithm is performed using real-time scan data, it will not be detected if a moving obstacle comes outside the sensor's range. Therefore, when using 3D-LiDAR as the ranging sensor 113, there is no need for duplicate data removal processing, i.e., there is no need to eliminate moving obstacles.
[0149] Figure 13 This is a schematic diagram illustrating an example of testing the driving device 1 according to the embodiment. For example... Figure 13 As shown, in the above-mentioned curb detection processing, the CPU101 uses the edge data in the height direction detected by the ranging sensor 113 as "curb" and the data that is lower than the height of the driving road surface detected by the ranging sensor 113 as "ditch".
[0150] <Specific examples of obstacle detection and handling in driving devices>
[0151] Below is used Figures 14-25 Several processing examples are described in detail in the road obstacle detection processing of the driving device 1.
[0152] Figure 14 This is a flowchart of the step and plane candidate point extraction process of an example of the driving device 1 involved in the implementation method. Figure 14 The process shown is as described above. Figure 7 Step S5 and Figure 10 A specific example of the processing in step S5.
[0153] like Figure 14 As shown, in the extraction and processing of step and plane candidate points, CPU101 is used in the above-mentioned... Figure 7 Step S4 and Figure 10 The point cloud data obtained in step 4 is converted into robot coordinates (step S151).
[0154] Next, CPU101 repeatedly executes steps S152 to S155 within loop L15s to L15e to perform step and planar candidate point extraction processing on all point cloud data.
[0155] In loops L15s to L15e, CPU101 calculates the angle in the height direction formed by the current point and the points 5 points before it for a point cloud data, that is, the angle on the yz plane (step S152).
[0156] If the angle in the height direction is 40 degrees or more (step S153: Yes), then CPU 101 extracts the point cloud data as a step candidate (step S154). On the other hand, if the angle in the height direction is less than 40 degrees (step S153: No), then CPU 101 extracts the point cloud data as a plane candidate (step S155).
[0157] By repeatedly executing steps S152 to S155 on all point cloud data, CPU101 generates point cloud data for extracting step candidate points and point cloud data for extracting planar candidate points (steps S156 and S157).
[0158] At this point, the extraction and processing of steps and planar candidate points for the driving device 1 in this embodiment is complete.
[0159] Figure 15 This is a flowchart of a step candidate point clustering process for a driving device 1 involved in the implementation method. Figure 10 The process shown is as described above. Figure 7 Step S6 and Figure 10 A specific example of the processing in step S6.
[0160] like Figure 15 As shown, in the step candidate point clustering process, CPU101 is used in the above... Figure 13 The step candidate points obtained in step S156 are used to extract point cloud data (step S161).
[0161] Next, CPU101 repeatedly executes steps S162 to S165 within loop L16s to L16e to extract point cloud data from all candidate step points and perform candidate step point clustering.
[0162] In loops L16s to L16e, CPU101 extracts point cloud data for a step candidate point and calculates the distance between the point represented by the extracted point cloud data and the next point (step S162).
[0163] Then, if the distance from the object point to the next point is within a radius of 0.1m (step S163: Yes), the CPU 101 determines that these points belong to the same cluster (step S164). Conversely, if the distance from the object point to the next point exceeds a radius of 0.1m (step S163: No), the CPU 101 determines that these points belong to different clusters (step S165).
[0164] By repeatedly executing steps S162 to S165 on point cloud data extracted from all candidate step points, CPU101 generates candidate step cluster data (step S166).
[0165] At this point, the clustering process of the step candidate points of the driving device 1 in the embodiment is completed.
[0166] Figure 16 This is a flowchart of a planar clustering process for a driving device 1 according to the implementation method. Figure 16 The process shown is as described above. Figure 7 Step S7 and Figure 10 A specific example of the processing in step S7.
[0167] like Figure 16 As shown, in the planar candidate point clustering process, CPU101 is used in the above... Figure 8 The point cloud data of the planar candidate points obtained in step S157 is extracted (step S171).
[0168] Next, CPU101 repeatedly executes steps S172 to S175 within loop L17s to L17e to extract point cloud data from all planar candidate points and perform planar candidate point clustering.
[0169] In loops L17s to L17e, CPU101 extracts point cloud data for a plane candidate point and calculates the height of the point represented by the point cloud data extracted from the plane candidate point up to the three points (step S172).
[0170] If the height from the object point to point 3 is within 0.03m (step S173: Yes), then CPU 101 determines that these points belong to the same cluster (step S174). Conversely, if the height from the object point to point 3 exceeds 0.03m (step S173: No), then CPU 101 determines that these points belong to different clusters (step S175).
[0171] By repeatedly executing steps S172 to S175 on point cloud data extracted from all candidate step points, CPU101 generates planar candidate cluster data (step S176).
[0172] At this point, the planar candidate point clustering process of the driving device 1 in this embodiment is complete.
[0173] Figure 17 This is a flowchart of an example of curb detection processing for the driving device 1 according to the implementation method. Figure 12 The process shown is as described above. Figure 7 Step S10 and Figure 10 A specific example of the processing in step S10.
[0174] like Figure 17 As shown, in the curb detection processing, CPU101 is used in the above-mentioned... Figure 15 The step candidate cluster data obtained in step S166 (step S101).
[0175] Next, CPU101 repeatedly executes steps S102 to S107 within loop L10s to L10e to perform curb detection processing on all step candidate cluster data.
[0176] In loops L10s~L10e, CPU101 extracts data with height represented by the maximum value z1 within a step candidate cluster data (step S102).
[0177] Then, CPU101 calculates the difference between the highest point z1 in the step candidate cluster data and the ground scanning plane z (step S103). Specifically, CPU101 calculates the height of the highest point from the ground of the step candidate cluster using the following formula.
[0178] The height of the highest point above the candidate cluster ground level = cluster highest point z - ground scan surface z
[0179] Next, if the height of the highest point above the ground of the candidate step cluster is between 0.05m and 0.3m (step S104: Yes), then CPU 101 determines that the candidate step cluster is a curb (step S105) and saves it as a curb obstacle in memory 102 (step S106). Conversely, if the height of the highest point above the ground of the candidate step cluster deviates from the range of 0.05m to 0.3m (step S104: No), then CPU 101 determines that the candidate step cluster is not a curb (step S107).
[0180] By repeatedly performing steps S102 to S107 on all step candidate cluster data, CPU101 generates curb detection data as the data group of curbs that are detected (step S108).
[0181] At this point, the curb detection process of the driving device 1 in the embodiment is complete.
[0182] By plotting the coordinates represented by the curb detection data obtained by the CPU101 through curb detection processing, the direction of curb extension can be determined. Figure 18 This represents a sample of curb detection data drawn by CPU101.
[0183] Figure 18 This is a diagram showing an example of curb detection data obtained using the curb detection processing of the driving device 1 according to the embodiment.
[0184] like Figure 18 As shown, by plotting multiple point cloud data that are determined to represent road edges, a map of road edges extending in a certain direction can be obtained. That is, as described above, when the multiple (N) measurements of the ranging sensor 113 contain features representing similar concavity and convexity, by clustering these features and maintaining them as road edge detection data, continuous road edges and other obstacles can be detected.
[0185] Figure 19 This is a flowchart of a slot detection process for an example of the driving device 1 involved in the implementation method. Figure 14 The process shown is as described above. Figure 7 Step S11 and Figure 10 A specific example of step S11.
[0186] like Figure 19 As shown, in the ditch detection and processing, CPU101 is used in the above-mentioned... Figure 7 Step S4 and Figure 10 The point cloud data obtained in step 4 is converted into robot coordinates (step S111).
[0187] Next, CPU101 removes the data that is identified as ground scanning surface from these point cloud data (step S112).
[0188] Next, CPU101 repeatedly executes steps S113 to S117 within loop L11s to L11e to perform trench detection processing on all point cloud data.
[0189] In loops L11s to L11e, CPU 101 calculates the height of a point cloud data point from the ground scan surface removed from the point cloud data (step S113). Specifically, CPU 101 calculates the height of the point cloud data from the ground scan surface using the following formula.
[0190] The height of point cloud data above the ground scanning surface = ground scanning surface z - z of each point
[0191] Next, if the calculated height is below -0.05m (step S114: Yes), the CPU 101 determines that the point cloud data is a ditch (step S115) and saves the intersection of the direction of the detected point and the ground height as an obstacle in the memory 102 (step S116). Conversely, if the calculated height exceeds -0.05m (step S114: No), the CPU 101 determines that the point cloud data is not a ditch (step S117).
[0192] By repeatedly performing steps S113 to S117 on all point cloud data, CPU101 generates a dataset that is detected as a curb, namely ditch detection data (step S118).
[0193] This concludes the trench detection process for the driving device 1 in this embodiment.
[0194] By drawing the coordinates represented by the slot detection data obtained from the slot detection processing using the CPU101, the extension direction of the ditch can be determined. Figure 20This displays an example of ditch detection data detected by CPU101 and a graph drawn using that data.
[0195] Figure 20 This is a diagram drawn using the trench detection data obtained from the trench detection processing of the driving device 1 according to the embodiment, wherein (a) is used to illustrate the above. Figure 19 In step S116, (b) a diagram is shown as an example of a plot drawn using multiple ditch detection data from the driving device 1.
[0196] like Figure 20 As shown in (a), when determining a point cloud data point as a ditch, in the above... Figure 19 In step S116, CPU 101 calculates the intersection point P'(x, y, z) of the direction represented by the point cloud data and the ground height based on the coordinates P(x, y, z) represented by the point cloud data. p y p , z p ).
[0197] The coordinates x of the intersection point P' p It can be calculated using the following formula.
[0198] x p =x×(z) 113 ) / |z|
[0199] In the above formula, the distance z 113 It is the height from the ranging sensor 113 to the ground scanning surface. The distance z is the difference between the height position of the ranging sensor 113 and the height position represented by the z coordinate of the coordinate P(x, y, z).
[0200] The coordinates of the intersection point P' are z p This is the z-coordinate representing the height of the ground scan surface. The y-coordinate of the intersection point P' is... p It is located on the line connecting the coordinates of the distance sensor 113 and the coordinate P(x, y, z), at coordinate z. p The y-coordinate of the height position.
[0201] In this way, CPU101 can calculate the intersection point P'(x) of the direction represented by the above point cloud data and the ground height. p y p , z p ).
[0202] like Figure 20As shown in (b), by plotting multiple point cloud data that are determined to represent ditches, a map of ditches extending in a certain direction can be obtained. In other words, as described above, when the measurement results of multiple (N) measurements by the ranging sensor 113 contain features representing similar concavity and convexity, these features are clustered and maintained as ditch detection data, thus enabling the detection of continuous ditches and other obstacles.
[0203] Figure 21 This is a flowchart illustrating the generation and storage of curb and ditch detection history data for an example of the driving device 1 in the implementation method. Figure 21 The process shown is as described above. Figure 7 Specific examples of the processing steps S12 and S13.
[0204] like Figure 21 As shown, in the process of saving the detection history, CPU101 will perform the above... Figure 12 The curb detection data obtained from step S108 and the above Figure 19 The ditch detection data obtained from step S118 is used as the object (step S121).
[0205] CPU101 performs the detection history saving process (step S122). Specifically, CPU101 uses odometry to calculate the amount and direction of robot movement in the actual space, and then moves these detection data in the robot coordinate system according to the calculated amount and direction of movement, so that the detection data within a radius of 2m from the origin of the robot coordinate system are moved and saved to the detection history saving area in the auxiliary storage device 103.
[0206] Here, the range estimation method refers to the method of calculating the movement of the wheels and steering wheel of a wheeled mobile robot by calculating their rotation angles, and then estimating the robot's position based on the cumulative calculation. This method is also known as the self-position and posture estimation method.
[0207] Next, the CPU 101 performs deduplication processing (step S123). Specifically, the CPU 101 compares the history data that has moved to the area for storing detection history with the data in the xy coordinates of the horizontal detection range sensor 112. If the history data that has moved is close to the data of the range sensor 112, such as within 0.3m, the moved curb and ditch detection history data is removed.
[0208] Through these processes, CPU101 generates and saves curb and ditch detection history data (step S124).
[0209] At this point, the generation and storage of curb and ditch detection history data of the driving device 1 in the embodiment is completed.
[0210] However, according to the technology of, for example, Patent Document 1, in order to detect road obstacles on the driving road as early as possible, it is desirable to scan the road ahead as much as possible, but the problem is that it is impossible to detect road obstacles such as potholes or steps underfoot, and it is possible to encounter road obstacles when turning.
[0211] In order to prevent noise and potholes from being detected as road obstacles, the CPU 101 of the driving device 1 in the embodiment, as described above, determines the size of continuous obstacles or potholes by storing data for a certain period of time or data for a specified distance to identify straight road obstacles, and determines road obstacles such as road curbs, side ditches, and potholes such as asphalt stripping on the driving road surface.
[0212] Figure 22 This is a schematic diagram of the driving device 1 according to the implementation method changing its direction of movement based on past scanning results.
[0213] like Figure 22 As shown, the CPU 101 accumulates obstacle information on the driving surface detected by the ranging sensor 113 in a single scan over a certain time or a specified distance, identifying consecutive points as one obstacle. Therefore, even with partial obstructions, it is determined that there is an obstacle that cannot be passed. According to... Figure 22 For example, based on past scan results, there is a pothole when the driving device 1 makes a left turn.
[0214] As mentioned above, by saving the scan results over a certain period of time or over a specified distance, it is possible to determine whether there are obstacles when changing the direction of movement.
[0215] Furthermore, according to the technology in, for example, Patent Document 1, obstacles such as pits and steps appear smaller due to being obscured by vegetation, resulting in situations where parts of these obstacles are not visible. Thus, when covered by grass at the same height as the road surface, the road surface may appear continuous.
[0216] As described above, when the judgment area detected by the ranging sensor 113 contains a specific feature quantity, the CPU 101 of the driving device 1 in the embodiment identifies the size of obstacles such as continuous potholes and steps.
[0217] Figure 23 This is a schematic diagram of the driving device 1 according to the embodiment dealing with obstructions.
[0218] like Figure 23 As shown, for example, when the ditch cover is left open, weeds may sometimes cover the ditch. Here, the following three characteristics are used as specific characteristics.
[0219] Feature 1: Represents the continuity of the feature quantity indicating concavity / convexity.
[0220] Feature 2: Depth of the depression
[0221] Feature 3: Maximum width of the depression
[0222] Among the three characteristic quantities mentioned above, characteristic quantity 1 refers to characteristic quantities such as linear depressions.
[0223] Even if part of the lateral ditch is obscured by weeds or other obstructions, as long as it is a straight depression with a depth of more than a specified length, the CPU101 considers the maximum width of the depression in the judgment area to be continuous with a specified length.
[0224] Figure 24 This is a flowchart of an example of predictive processing for the driving device 1 according to the implementation method. Figure 24 The process shown is as described above. Figure 7 Step S14 and Figure 10 A specific example of the processing in step S14.
[0225] like Figure 24 As shown, CPU101 first acquires the curb and ditch detection history data (step S141). If there are other points within a radius of 0.1m, then the points are treated as the same cluster, and the curb and ditch detection history data clustering processing is performed (step S142).
[0226] Next, if the number of cluster points is 10 or more (step S143: Yes), the CPU 101 performs curve fitting processing, using the information within the cluster to make a multinomial approximation of the fourth power or higher (step S144). Curve fitting here refers to finding a curve that best matches the experimentally obtained values or constraints.
[0227] Then, CPU101 performs the predicted obstacle information extraction process, extracting obstacles from the curve fitting results 14 points before the latest detection result, i.e., 1m before (step S145).
[0228] More specifically, when the number of features representing concavity and convexity, such as pits and steps, within a specified radius is continuously specified, the CPU 101 performs curve fitting prediction based on the continuous information of the number of features representing concavity and convexity continuously specified, and generates an obstacle map of the area in front of the driving device 1 that has not been scanned by the ranging sensor 113.
[0229] On the other hand, if the number of clusters is less than 10 (step S143: No), CPU101 will directly end the processing.
[0230] At this point, the predictive processing of the driving device 1 in the embodiment is complete.
[0231] Here, for example, the technology in Patent Document 1 also has the problem of not being able to detect obstacles such as pits and steps in front of the laser irradiation line of the ranging sensor 113, i.e., in front of the detection line.
[0232] When the CPU 101 of the driving device 1 in this embodiment detects an obstacle with continuous features, as described above, it determines that the obstacle is also continuously present in the undetected area, thus extending the judgment area. That is, the CPU 101 includes the undetected area that was not detected in the judgment area as well. In this way, the CPU 101 predicts obstacles ahead based on data with continuity.
[0233] Figure 25 This is a diagram illustrating an example of a driving device 1 predicting and detecting obstacles ahead of the driving line DL according to an embodiment.
[0234] exist Figure 25 In the example, there is an obstacle OBh of height in the travel direction of the driving device 1 from WP1 to WP2, and there are obstacles OBs such as side ditches or curbs on one side of the travel surface of the driving device 1. Assume that the obstacles OBs gradually approach the obstacle OBh in the travel direction of the driving device 1 from WP1 to WP2.
[0235] like Figure 25 As shown in (a), in the comparative example of the driving device 2, the ranging sensor 223 used to detect the oblique direction of the driving device 2 cannot detect the area in front of the detection line DL2. The driving device 2 selects a path that is as close to a straight line as the obstacle avoidance direction. At this time, the driving device 2 moves in the direction shown by arrow a. However, since there are obstacles OBs in the judgment area that are not detected in the direction of travel, it is not possible to avoid the obstacles OBs and stop moving in time.
[0236] like Figure 25 As shown in (b), in the driving device 1 of this embodiment, when the obstacle is continuous in a straight line, it is predicted that the obstacle will continue to the front of the detection line DL, and the obstacle will be extended. Accordingly, the driving device 1 determines that the obstacle OBh and the obstacle OBs cannot pass each other, and therefore selects an avoidance route in the direction of arrow A, which is opposite to the direction where the obstacle OBs is located, as the avoidance direction to avoid the obstacle.
[0237] CPU 101 can also combine images to make the above judgment based on the continuity of the images. In addition, CPU 101 can also change the detection sensitivity of the ranging sensor 113 in areas where obstacles may exist.
[0238] As described above, when obstacles such as pits and steps are continuous, the driving device 1 of this embodiment considers them as continuous obstacles, thereby enabling the moving body to travel safely without colliding with the obstacles.
[0239] Furthermore, the driving device 1 of the embodiment can also achieve the effect of maintaining a certain distance from the road shoulder by detecting the side ditch and road edge at the shoulder of the driving road surface.
[0240] The specific structure and processing content of each part in the above-described embodiments are not limited to the content described in these embodiments.
[0241] The present invention has, for example, several aspects, as follows.
[0242] <1> A mobile vehicle that travels on a road surface according to an obstacle map of a travel area is characterized by comprising: a ranging sensor disposed in front of the mobile vehicle in the direction of travel and disposed obliquely downward with a predetermined tilt angle relative to the road surface; a determination unit for determining the presence of continuous obstacles when the measurement results on multiple scanning surfaces of the ranging sensor contain similar feature quantities indicating concavity or convexity; and an obstacle map generation unit for generating an obstacle map of the area in front of the mobile vehicle that has not been scanned by the ranging sensor, based on continuous information indicating a specified number of consecutive occurrences of the feature quantities.
[0243] <2> according to <1> The moving body is characterized in that, when the feature quantity representing the concavity and convexity continues for a continuous length, the determination unit determines that other specified feature quantities related to the concavity and convexity continue for a specified length.
[0244] <3> according to <1> or <2> The moving body is characterized in that the obstacle map generation unit performs curve fitting prediction to generate the obstacle map of the area in front of the moving body.
[0245] <4> according to <1> to <3> The mobile body according to any one of the following methods is characterized by further comprising a tilt sensor for detecting the tilt amount of the mobile body, wherein the determination unit compensates for the elevation difference relative to the road surface measured by the distance measuring sensor based on the tilt amount.
[0246] <5> according to <1> ~ <4> The mobile body according to any one of the following is characterized in that the tilt angle of the ranging sensor relative to the driving surface is 35 degrees or more with respect to the horizontal direction, and is disposed at a height of more than 1m in front of the driving direction front end of the drive component that is capable of detecting the driving surface.
[0247] <6> according to <1> The mobile body is characterized in that the ranging sensor is a 2D-LiDAR capable of two-dimensional ranging.
[0248] <7> according to <1> The mobile body is characterized in that the ranging sensor is a 3D-LiDAR capable of three-dimensional ranging.
[0249] <8> A computer-readable storage medium is characterized in that it stores a program for a computer that controls a moving body equipped with a distance measuring sensor in front of it in a direction of travel to perform the following steps: the distance measuring sensor's measurement results include a feature quantity representing the unevenness or convexity relative to the road surface; when multiple measurement results from the distance measuring sensor include feature quantities representing mutually similar unevenness or convexity, the measured unevenness or convexity is determined to be a continuous obstacle; and an obstacle map of the area in front of the moving body that has not been scanned by the distance measuring sensor is generated based on continuous information representing a predetermined number of consecutive occurrences of the feature quantity, wherein the distance measuring sensor has a predetermined tilt angle relative to the road surface, is positioned obliquely downwards, and measures the height difference relative to the road surface in a non-contact manner.
[0250] <9> A computer device is used to control a moving body equipped with a distance measuring sensor positioned in front of it in a direction of travel. The distance measuring sensor is positioned obliquely downward at a predetermined angle relative to the road surface. The computer device has a processor and memory storing a program. The processor executes the program, and the computer device performs the following steps: determining the presence of a continuous obstacle when the measurement results on multiple scanning surfaces of the distance measuring sensor contain similar features indicating convexity or concavity; and generating an obstacle map of the area in front of the moving body that has not been scanned by the distance measuring sensor, based on continuous information indicating a predetermined number of consecutive occurrences of the features.
[0251] <10> A mobile vehicle that travels on a road surface according to an obstacle map of a travel area is characterized by comprising: a ranging sensor disposed in front of the traveling direction of the mobile vehicle and disposed obliquely downward with a predetermined tilt angle relative to the road surface; a determination unit for determining the presence of continuous obstacles when the measurement results of the ranging sensor include feature quantities indicating concavity or convexity relative to the road surface, and when multiple measurement results of the ranging sensor include feature quantities indicating similar concavity or convexity to each other; and an obstacle map generation unit for generating an obstacle map of the area in front of the mobile vehicle that has not been scanned by the ranging sensor, based on continuous information indicating a predetermined number of consecutive occurrences of the feature quantities.
[0252] <11> A mobile vehicle that travels on a road surface according to an obstacle map of a travel area is characterized by comprising: a ranging sensor disposed in front of the traveling direction of the mobile vehicle and disposed obliquely downward with a predetermined tilt angle relative to the road surface; a determination unit for determining the presence of continuous obstacles when the measurement results of the ranging sensor include at least one feature quantity indicating concavity or convexity relative to the road surface, and when multiple measurement results of the ranging sensor include feature quantities indicating similar concavity or convexity to each other; and an obstacle map generation unit for generating an obstacle map of the area in front of the mobile vehicle that has not been scanned by the ranging sensor, based on continuous information indicating a predetermined number of consecutive occurrences of the feature quantity.
[0253] Explanation of reference numerals in the attached figures
[0254] 1. Traveling device
[0255] 10 main body
[0256] 11 Tracked vehicle
[0257] 101CPU
[0258] 112, 113 Distance sensors
Claims
1. A mobile vehicle that travels on a road surface according to an obstacle map of a travel area, characterized in that, have, The ranging sensor is positioned in front of the moving body in the direction of travel and is set diagonally downwards with a predetermined tilt angle relative to the road surface. The determination unit is used to determine the presence of continuous obstacles when the measurement results on multiple scanning surfaces of the ranging sensor contain similar feature quantities indicating concavity and convexity. as well as An obstacle map generation unit is configured to generate an obstacle map of the area in front of the moving body that has not been scanned by the ranging sensor, based on continuous information representing a specified number of the aforementioned feature quantities. Wherein, if the judgment area detected by the ranging sensor contains a specific feature quantity, the judgment unit determines the size of the continuous obstacles to identify the continuous obstacles, and The obstacle includes a depression, and the specific feature quantities are a feature quantity representing the continuity of the depression, a feature quantity representing the depth of the depression, and a feature quantity representing the maximum width of the depression. Wherein, when the depression is a straight depression and has a depth of more than a specified depth, the maximum width of the depression in the judgment area of the judgment unit is continuous with a specified length.
2. The mobile body according to claim 1, characterized in that, The obstacle map generation unit performs curve fitting prediction to generate the obstacle map of the area in front of the moving body.
3. The mobile body according to claim 1, characterized in that, Furthermore, it includes a tilt sensor for detecting the tilt amount of the moving body. The judgment unit compensates for the height difference relative to the driving road surface measured by the ranging sensor based on the tilt amount.
4. The mobile body according to claim 1, characterized in that, The tilt angle of the ranging sensor relative to the road surface is more than 35 degrees with the horizontal direction, and it is positioned at a height more than 1m in front of the front end of the drive unit traveling on the road surface in the direction of travel.
5. The mobile body according to claim 1, characterized in that, The ranging sensor is a 2D-LiDAR capable of two-dimensional ranging.
6. The mobile body according to claim 1, characterized in that, The ranging sensor is a 3D-LiDAR capable of three-dimensional ranging.
7. A computer-readable storage medium, characterized in that, This contains a program that can be used to control a computer equipped with a distance-measuring sensor in front of it to perform the following steps. When the measurement results on multiple scanning surfaces of the ranging sensor contain similar feature quantities indicating concavity and convexity, it is determined that there are continuous obstacles. as well as Based on continuous information representing a predetermined number of consecutive characteristic quantities, an obstacle map is generated for the area in front of the moving body that has not been scanned by the ranging sensor. The ranging sensor is positioned at a predetermined angle downwards relative to the road surface. Specifically, if the judgment area detected by the ranging sensor contains a specific feature quantity, the size of the continuous obstacles is determined to identify the continuous obstacles. The obstacle includes a depression, and the specific feature quantities are a feature quantity representing the continuity of the depression, a feature quantity representing the depth of the depression, and a feature quantity representing the maximum width of the depression. Wherein, when the depression is a linear depression and has a depth of more than a specified depth, the maximum width of the depression in the determination area is continuous with a specified length.
8. A computer device for controlling a moving body equipped with a distance-measuring sensor positioned forward in the direction of travel, the distance-measuring sensor being obliquely downward at a predetermined angle relative to the road surface, the computer device having a processor and memory storing programs, the processor executing the program, the computer device performing the following steps. When the measurement results on multiple scanning surfaces of the ranging sensor contain similar feature quantities indicating concavity and convexity, it is determined that a continuous obstacle exists; and Based on continuous information representing a predetermined number of consecutive characteristic quantities, an obstacle map is generated for the area in front of the moving body that has not been scanned by the ranging sensor. in, If the judgment area detected by the ranging sensor contains a specific feature quantity, the size of the continuous obstacles is determined to identify the continuous obstacles, and The obstacle includes a depression, and the specific feature quantities are a feature quantity representing the continuity of the depression, a feature quantity representing the depth of the depression, and a feature quantity representing the maximum width of the depression. Wherein, when the depression is a linear depression and has a depth of more than a specified depth, the maximum width of the depression in the determination area is continuous with a specified length.
Citation Information
Patent Citations
Method for detecting and estimating presence of obstacle on traveling path
JP2000075032A
Roadside object detection device
CN104520894A