Control device, control method, and storage medium

By identifying the location of objects around the moving body and generating an occupying grid map, the problem of moving body contact with objects is solved, and a safe and reliable movement path planning is achieved.

CN119741670APending Publication Date: 2025-04-01HONDA MOTOR CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202410968599.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-09-29
Filing Date
2024-07-18
Publication Date
2025-04-01

AI Technical Summary

Technical Problem

In the prior art, the phenomenon of moving objects in contact with objects is more common, resulting in safety risks and equipment damage.

Method used

By identifying the position of objects around the moving body, an occupancy grid diagram is generated, and based on this diagram, the path to which the moving body should advance is generated. The area and corner portion of the object are determined to exist by expansion, and the moving body can avoid contact with the object.

Benefits of technology

Effectively prevent moving objects from contacting objects, improve the safety and reliability of moving objects, and reduce the risk of equipment damage.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119741670A_ABST
    Figure CN119741670A_ABST
Patent Text Reader

Abstract

The scheme of the invention provides a control device, a control method and a storage medium capable of preventing a moving body from being in contact with an object. A control device is provided with: a recognition unit that recognizes the position of an object present in the periphery of a moving body on the basis of an image obtained by capturing the situation of the periphery of the moving body; an occupied lattice map generation unit that generates an occupied lattice map including a plurality of lattices on the basis of the position of an object present in the periphery of the moving body; and a path generation unit that generates a path on which the moving body should advance on the basis of the occupied lattice map, the occupied lattice map generation unit determining whether or not an object is present for each of a plurality of lattices in the occupied lattice map on the basis of the position of the object present in the periphery of the moving body, and generating a path on which the moving body should advance. The occupied lattice map generation unit expands a first region including a lattice in which it is determined that an object is present.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application claims priority based on Japanese Patent Application No. 2023-170069 filed on September 29, 2023, and uses its contents herein. Technical Field

[0002] The invention relates to a control device, a control method and a storage medium. Background Art

[0003] In the past, a mobile body that autonomously moves to a predetermined destination has been known. In addition, the following technology has been proposed: sensing the distance to an object such as an obstacle and creating an occupancy grid map composed of probabilistically distributed grid points, thickening the thickness of the objects in the occupancy grid map based on the radius or size of the mobile body, thereby creating a structural space map (for example, refer to Japanese Patent Publication No. 2008-47095). Summary of the invention

[0004] In the conventional technology, a moving body may come into contact with an object.

[0005] A solution of the present invention provides an information processing system capable of preventing a moving body from contacting an object.

[0006] The control device, control method, and storage medium according to the present invention employ the following structures.

[0007] (1): One aspect of the present invention relates to a control device, wherein the control device comprises: an identification unit, which identifies the position of an object existing in the vicinity of the moving body based on an image obtained by photographing the condition of the vicinity of the moving body; an occupancy grid map generation unit, which generates an occupancy grid map including a plurality of grids based on the position of the object existing in the vicinity of the moving body; and a path generation unit, which generates a path for the moving body to move forward based on the occupancy grid map, the occupancy grid map generation unit determining whether an object exists for each of the plurality of grids in the occupancy grid map based on the position of the object existing in the vicinity of the moving body, and the occupancy grid map generation unit expands a first area, the first area including the grids determined to contain the object.

[0008] (2) In the above-mentioned embodiment (1), the occupancy grid map generating unit detects corners of the first area, and the occupancy grid map generating unit expands the corners in the occupancy grid map.

[0009] (3): Based on the scheme of (2) above, the path generating unit generates a path for the moving body to move in a second area that does not include the first area based on the occupied grid diagram obtained by expanding the corner portion, and the control device also has a drive control unit that controls a drive device that drives the moving body so that the moving body moves along the path.

[0010] (4) In the above-mentioned embodiment (2), the occupied grid graph generating unit expands the corner by arranging a regular polygonal region at the position of the corner.

[0011] (5): Based on the scheme of (1) above, when there is a second grid different from the first grid determined as the existence of an object within a first range centered on the first grid determined as the existence of an object, the occupied grid map generating unit linearly expands the first area by determining that an object exists in an area connecting the first grid and the second grid with a straight line.

[0012] (6): Based on the above scheme (2), the occupied grid map generation unit determines whether the third grid is the corner based on the proportion of the first area within a second range centered on the third grid determined to have an object.

[0013] (7): Based on the scheme of (6) above, the occupied grid map generating unit determines that the third grid is not the corner when the ratio is greater than a first threshold value, and determines that the third grid is the corner when the ratio is less than a second threshold value that is smaller than the first threshold value. The occupied grid map generating unit calculates a correlation coefficient based on the coordinates of each of the plurality of grids included in the first area within the second range when the ratio is less than the first threshold value and greater than the second threshold value, and determines whether the third grid is the corner based on the correlation coefficient.

[0014] (8): Based on the scheme of (2) above, when capturing the image of a plurality of frames, the occupied grid map generating unit determines whether the plurality of grids in the plurality of frames are the corners respectively, and detects as the corners the grids that have been determined to be the corners a prescribed number of times or more.

[0015] (9): Based on the scheme of (2) above, the path generation unit sets the position of the sub-target in the path, and the occupancy grid graph generation unit expands the corners within a specified range from the sub-target, while not expanding the corners outside the specified range from the sub-target.

[0016] (10): Based on the scheme of (2) above, the occupied grid graph generating unit expands the corner by configuring a regular polygon area at the position of the corner, and the path generating unit incorporates the vertices of the regular polygon into the path.

[0017] (11): One embodiment of the present invention relates to a control method, wherein the control method causes a computer to perform the following processing: identifying the position of an object existing in the vicinity of a moving body based on an image obtained by photographing the condition of the vicinity of the moving body; generating an occupation grid map including a plurality of grids based on the position of the object existing in the vicinity of the moving body; generating a path that the moving body should move along based on the occupation grid map; determining whether an object exists for each of the plurality of grids in the occupation grid map based on the position of the object existing in the vicinity of the moving body; and expanding a first area including the grids determined to contain the object.

[0018] (12): One embodiment of the present invention relates to a storage medium storing a program, wherein the program causes a computer to perform the following processing: identifying the position of an object existing in the vicinity of a moving body based on an image obtained by photographing the condition of the vicinity of the moving body; generating an occupation grid map including a plurality of grids based on the position of the object existing in the vicinity of the moving body; generating a path that the moving body should move along based on the occupation grid map; determining whether an object exists for each of the plurality of grids in the occupation grid map based on the position of the object existing in the vicinity of the moving body; and expanding a first area including grids determined to contain objects.

[0019] According to the schemes (1) to (12), it is possible to prevent the moving body from coming into contact with the object. BRIEF DESCRIPTION OF THE DRAWINGS

[0020] Figure 1 This is a diagram showing an example of a configuration of a moving object system including a moving object.

[0021] Figure 2 It is a three-dimensional diagram showing a moving object.

[0022] Figure 3 This is a diagram showing an example of a functional structure of a moving object.

[0023] Figure 4 This is a diagram showing an example of an occupied grid graph.

[0024] Figure 5 This is a diagram showing an example of an array for scanning.

[0025] Figure 6 This is a diagram showing an example of an occupied grid map obtained by performing a linear expansion process.

[0026] Figure 7 This is a diagram showing an example of a grid diagram within the second range centered on the third grid.

[0027] Figure 8 This is a diagram showing an example of corner detection processing.

[0028] Fig. 9 This is a diagram showing an example of a path for a moving object to move to a sub-target.

[0029] Fig.10 This is a diagram showing an example of corner expansion processing.

[0030] Fig.11 This is a diagram showing an example of an occupied grid diagram obtained by performing a corner dilation process after dilating the first region.

[0031] Fig.12 This is an example of a flowchart showing a process executed by the control device.

[0032] Fig.13 This is a diagram showing an example of a route to a destination in the second embodiment.

[0033] Fig.14 Yes Fig.13 A diagram obtained by enlarging the vicinity of the corner in FIG.

[0034] Fig.15 This is a diagram showing an example of a plurality of grid points on the first polygon.

[0035] Fig.16 It is a diagram for explaining the corner detection processing in the second embodiment.

[0036] Fig.17 This is a diagram showing an example of a situation in which a regular polygonal region is arranged at a position of a lattice point determined to be a corner. DETAILED DESCRIPTION

[0037] Hereinafter, the embodiments of the control device, control method and storage medium of the present invention will be described with reference to the accompanying drawings. The control device of the present invention controls the driving device of the mobile body to move the mobile body. The mobile body in the present invention moves autonomously in the area where pedestrians walk. The so-called pedestrian walking area is a sidewalk, an open space, the ground inside a building, etc., and may also include a lane. In the following description, it is assumed that a person is not riding on the mobile body, but it may also be that a person is riding on the mobile body. For example, the mobile body may also move slightly in front of the user while going to a pre-assigned destination, thereby acting in a manner that other pedestrians who hinder the user's movement will not be too close to the user (that is, in a manner that creates a road for the user). It should be noted that such an action may not be performed all the time, but may be performed temporarily. For example, it may also be that the mobile body travels side by side with the user or catches up with the user, and when a specified condition (such as the presence of an obstacle, congestion in traffic conditions, etc.) is detected in the direction of travel of the user, the mobile body temporarily leads the user by executing the algorithm of the present invention.

[0038] <First Embodiment>

[0039] Figure 1 1 is a diagram showing an example of a structure of a mobile system 1 including a mobile body 100. The mobile system 1 includes, for example, one or more terminal devices 2, a management device 10, an information providing device 20, and one or more mobile bodies 100. These communicate via, for example, a network NW. The network NW is, for example, any network such as a LAN, a WAN, or an Internet line.

[0040] [Terminal device]

[0041] The terminal device 2 is, for example, a computer device such as a smartphone or a tablet terminal. The terminal device 2 requests the management device 10 to provide permission to use the mobile object 100 or obtains information indicating that the use is permitted, for example, based on an operation by a user.

[0042] [Management Device]

[0043] The management device 10 is a computer that grants the user of the terminal device 2 the authority to use the mobile body 100 or manages the reservation for use of the mobile body 100 in response to the request of the terminal device 2. The management device 10, for example, generates and manages schedule information that establishes a correspondence between the identification information of the pre-registered user and the date and time of the reservation for use of the mobile body 100. It should be noted that the management device 10 may be omitted when it is not necessary to grant the user the authority or manage the reservation.

[0044] [Information providing device]

[0045] The information providing device 20 is a computer that provides map information to the mobile object 100. For example, the information providing device 20 acquires position information indicating the position of the mobile object 100 from the mobile object 100, and provides the mobile object 100 with map information that is a map of the surroundings of the mobile object 100.

[0046] [Mobile body]

[0047] Figure 2 is a perspective view showing the moving body 100. In the following description, the front direction of the moving body 100 is referred to as the positive x direction, the rear direction of the moving body 100 is referred to as the negative x direction, the width direction of the moving body 100 and the left direction based on the positive x direction is referred to as the positive y direction, the width direction of the moving body 100 and the right direction based on the positive x direction is referred to as the negative y direction, and the direction orthogonal to the x direction and the y direction and the height direction of the moving body 100 is referred to as the positive z direction.

[0048] The mobile body 100 includes, for example, a base 110, a door 112 provided on the base 110, and wheels (a first wheel 120, a second wheel 130, and a third wheel 140) assembled on the base 110. For example, a user can open the door 112 and put goods into or take goods out of the storage portion provided on the base 110. The first wheel 120 and the second wheel 130 are driving wheels, and the third wheel 140 is an auxiliary wheel (driven wheel). The mobile body 100 may also be moved using a structure other than wheels such as tracks.

[0049] A cylindrical support body 150 extending in the positive z direction is provided on the positive z-direction surface of the base body 110. A camera 180 for photographing the surroundings of the moving body 100 is provided at the positive z-direction end of the support body 150. The position where the camera 180 is provided may be any position different from the above.

[0050] The camera 180 is, for example, a camera capable of capturing a wide-angle (for example, 360-degree) image of the surroundings of the moving object 100. The camera 180 may include a plurality of cameras. The camera 180 may be realized by combining a plurality of 120-degree cameras or a plurality of 60-degree cameras, for example.

[0051] Figure 3 FIG. 1 is a diagram showing an example of a functional configuration of the mobile object 100. The mobile object 100 includes Figure 2 In addition to the functional configuration shown, the communication unit 190, the control device 200, and the drive device 300 are provided. The communication unit 190 is a communication interface for communicating with the terminal device 2, the management device 10, or the information providing device 20.

[0052] [Drive device]

[0053] The drive device 300 includes a first motor 302, a second motor 304, a battery 306, a brake device 308, and a steering device 310. The first motor 302 and the second motor 304 are operated by the power supplied to the battery 306. The first motor 302 drives the first wheel 120, and the second motor 304 drives the second wheel 130. Alternatively, the first motor 302 may be an in-wheel motor provided in the wheel of the first wheel 120, and the second motor 304 may be an in-wheel motor provided in the wheel of the second wheel 130.

[0054] The brake device 308 outputs a braking torque to each wheel based on an instruction from the control device 200. The steering device 310 includes an electric motor. The electric motor, for example, applies a force to a rack-and-pinion mechanism based on an instruction from the control device 200 to change the direction of the first wheel 120 or the second wheel 130, thereby changing the forward path of the moving body 100.

[0055] [Control device]

[0056] The control device 200 includes, for example, a position determination unit 202, an information processing unit 204, an identification unit 206, an occupation grid diagram generation unit 208, a path generation unit 210, a drive control unit 212, and a storage unit 220. The position determination unit 202, the information processing unit 204, the identification unit 206, the occupation grid diagram generation unit 208, the path generation unit 210, and the drive control unit 212 are implemented by, for example, a hardware processor such as a CPU (Central Processing Unit) executing a program (software). Some or all of these components can be implemented by hardware (including circuitry) such as LSI (Large Scale Integration), ASIC (Application Specific Integrated Circuit), FPGA (Field-Programmable Gate Array), GPU (Graphics Processing Unit), or can be implemented by the coordinated cooperation of software and hardware. The program can be pre-stored in a storage device such as an HDD (Hard Disk Drive) or a flash memory (a storage device having a non-temporary storage medium), or can be stored in a removable storage medium such as a DVD or CD-ROM (a non-temporary storage medium), and installed by mounting the storage medium in a drive device.

[0057] The storage unit 220 is implemented by a storage device such as an HDD, a flash memory, or a RAM (Random Access Memory). The storage unit 220 stores information such as control information 222, map information 224, and an occupancy grid map 226. The control information 222 is a control program executed by the drive control unit 212 to control the behavior of the mobile body 100. The map information 224 is, for example, map information of the surroundings of the mobile body 100. The occupancy grid map 226 includes a plurality of grids and is a map indicating the positions of objects existing in the surroundings of the mobile body 100. Details of the occupancy grid map 226 will be described later.

[0058] It should be noted that part or all of the functional configuration included in the control device 200 may also be included in other devices. For example, other devices may communicate with the mobile object 100 and cooperate with each other to control the mobile object 100 .

[0059] The position determination unit 202 determines the position of the mobile body 100. The position determination unit 202 obtains the position information of the mobile body 100 through a GPS (Global Positioning System) device (not shown) built into the mobile body 100. The so-called position information may be, for example, two-dimensional map coordinates or longitude and latitude information. In addition, the position determination unit 202 may estimate the position of the mobile body 100 simultaneously with the creation of the environmental map by using a camera image captured by the camera 180 or a so-called SLAM method using a sensor such as Lidar.

[0060] The information processing unit 204 manages information acquired from the terminal device 2, the management device 10, or the information providing device 20. For example, the information processing unit 204 transmits the position information acquired by the position determination unit 202 to the information providing device 20, thereby acquiring map information 224 that is a map of the surroundings of the mobile body 100 from the information providing device 20. The information processing unit 204 stores the map information 224 acquired from the information providing device 20 in the storage unit 220.

[0061] The recognition unit 206 recognizes the position (distance from the mobile body 100 and direction relative to the mobile body 100), speed, acceleration and other states of objects existing around the mobile body 100 based on the image captured by the camera 180, for example. The so-called objects include traffic participants, obstacles in facilities and roads, etc. It should be noted that the mobile body 100 may also be provided with a detection unit other than a camera, such as a radar device or LIDAR. In this case, the recognition unit 206 may also use the detection results of the radar device or LIDAR instead of (or in addition to) the image to recognize the conditions around the mobile body 100.

[0062] The occupied grid map generation unit 208 generates an occupied grid map 226 including a plurality of grids based on the positions of the objects existing around the moving body recognized by the recognition unit 206. A specific method of generating the occupied grid map 226 will be described later.

[0063] The path generation unit 210 grasps the location of the destination specified by the user based on the map information 224. In addition, the path generation unit 210 generates a path that the moving body 100 should move forward based on the occupancy grid graph 226 generated by the occupancy grid graph generation unit 208. For example, the path can be generated by connecting a plurality of path points arranged at a predetermined distance. For example, the path generation unit 210 generates a path for reaching the destination while avoiding surrounding objects.

[0064] The drive control unit 212 controls the drive device 300 (the first motor 302 , the second motor 304 , the brake device 308 , and the steering device 310 ) mounted on the moving body 100 so that the moving body 100 moves along the path generated by the path generation unit 210 .

[0065] [Occupancy grid diagram generation process]

[0066] Figure 4 2 is a diagram showing an example of an occupation grid graph 226. The occupation grid graph 226 includes a plurality of grids and is a diagram showing the positions of objects existing around the moving body 100. The center 228 of the occupation grid graph 226 corresponds to the current position of the moving body 100. The occupation grid graph generation unit 208 determines whether there is an object in each of the plurality of grids in the occupation grid graph 226 based on the positions of the objects existing around the moving body identified by the identification unit 206. Figure 4 In the illustrated occupied grid map 226 , black grids 230 are grids determined to contain objects.

[0067] Next, the occupied grid map generation unit 208 performs a linear expansion process based on the positions of the plurality of grids determined to contain objects. The linear expansion process is a process of linearly expanding the first region including the grids determined to contain objects. The linear expansion process will be described below.

[0068] Figure 5 2 is a diagram showing an example of a scanning array 232. The scanning array 232 is an array used for linear expansion processing. The scanning array 232 is an array showing an area within a first range centered on a first grid determined to have an object. Figure 5In the example, the scanning array 232 is an array representing an area within a radius r1 (within a first range) from the first grid determined as the existence of an object as the center. It should be noted that the first range is not limited to this, and for example, it can also be set to an area included in an N×N (N: natural number) grid diagram centered on the first grid determined as the existence of an object.

[0069] Specifically, the occupied grid map generation unit 208 selects one of the grids 230 determined to have an object as a first grid, and creates a scanning array 232 centered on the first grid. Next, the occupied grid map generation unit 208 determines whether a second grid different from the first grid determined to have an object exists in the created scanning array 232. Furthermore, if a second grid different from the first grid determined to have an object exists in the scanning array 232, the occupied grid map generation unit 208 determines that an object exists in the area connecting the first grid and the second grid with a straight line, and thus expands the first area linearly.

[0070] Figure 6 226 obtained by performing a linear expansion process. Grid 234 is a grid of an area expanded by the linear expansion process. In this way, when a second grid different from the first grid determined to be the existence of an object exists within a first range (within the range of the scanning array 232) centered on the first grid determined to be the existence of an object, the occupied grid map generation unit 208 linearly expands the first area (the area including the grid determined to be the existence of an object) by determining that an object exists in the area connecting the first grid and the second grid with a straight line. The occupied grid map generation unit 208 Figure 4 The linear expansion process is performed on each of the plurality of grids in which an object is determined to exist. Thus, when the distance between the objects is short, it is possible to prevent the moving body 100 from passing through the gap between the objects and contacting the objects.

[0071] Next, the occupied grid map generation unit 208 performs a corner determination process, which determines the corner in the first area (the area including the grid determined to have an object). Specifically, the occupied grid map generation unit 208 determines whether the third grid is a corner based on the proportion of the first area (the area including the grid determined to have an object) within the second range centered on the third grid determined to have an object. The corner determination process is described below with a specific example.

[0072] Figure 7 is a diagram showing an example of a grid diagram within the second range centered on the third grid. Figure 7In the example shown, the occupied grid map generation unit 208 extracts a 5×5 grid map centered on the third grid determined to be the object as the grid map within the second range from the occupied grid map 226. It should be noted that the second range is not limited to this, and may be, for example, an area included in a circle of a predetermined radius centered on the third grid.

[0073] When the ratio R of the first area within the second range centered on the third grid determined as the object is greater than the first threshold TH1 (for example, 0.7), the occupied grid map generation unit 208 determines that the third grid is not a corner. Figure 7 In the case of the grid graph G1, the ratio R = 19 / 25 = 0.76. In this case, the ratio R is greater than the first threshold TH1 (0.7), so the occupied grid graph generation unit 208 determines that the third grid located at the center of the grid graph G1 is not a corner. In fact, the third grid located at the center of the grid graph G1 is surrounded by grids determined to have objects and is not a corner.

[0074] In addition, when the ratio R of the first area within the second range centered on the third grid determined to contain an object is less than a second threshold value TH2 (e.g., 0.2) that is smaller than the first threshold value TH1, the occupied grid map generation unit 208 determines that the third grid is a corner. Figure 7 In the case of the grid graph G2, the ratio R = 3 / 25 = 0.12. In this case, the ratio R is less than the second threshold TH2 (0.2), so the occupied grid graph generation unit 208 determines that the third grid located at the center of the grid graph G2 is a corner. In fact, the third grid located at the center of the grid graph G2 is located at the end of the first area and is therefore a corner.

[0075] In addition, for example, Figure 7 In the case of the grid graph G3, the ratio R = 1 / 25 = 0.04. In this case, the ratio R is less than the second threshold value TH2 (0.2), so the occupied grid graph generation unit 208 determines that the third grid located at the center of the grid graph G3 is a corner. The third grid located at the center of the grid graph G3 is surrounded by grids determined to have no objects, so strictly speaking it is not a corner, and the third grid needs to be subjected to the corner expansion processing described later. Therefore, the occupied grid graph generation unit 208 also determines that the third grid located at the center of the grid graph G3 is a corner.

[0076] In addition, when the proportion R occupied by the first area within the second range centered on the third grid determined to be the existence of an object is less than the first threshold value TH1 (0.7) and greater than the second threshold value TH2 (0.2), the occupied grid map generating unit 208 calculates the correlation coefficient based on the coordinates of each of the multiple grids included in the first area within the second range, and determines whether the third grid is a corner based on the correlation coefficient.

[0077] For example, in Figure 7 In the case of the grid diagram G4, the ratio R = 6 / 25 = 0.24. In this case, the ratio R is less than the first threshold TH1 (0.7) and greater than the second threshold TH2 (0.2), so the occupied grid diagram generation unit 208 calculates the correlation coefficient based on the coordinates of each of the plurality of grids included in the first area within the second range. Figure 7 When the correlation is strong as shown in the grid graph G4 of FIG. 1 , the occupied grid graph generation unit 208 determines that the third grid is not a corner. In fact, the third grid located at the center of the grid graph G4 is located on a straight line and is therefore not a corner.

[0078] For example, in Figure 7 In the case of the grid graph G5, the ratio R = 8 / 25 = 0.32. In this case, the ratio R is less than the first threshold TH1 (0.7) and greater than the second threshold TH2 (0.2), so the occupied grid graph generation unit 208 calculates the correlation coefficient based on the coordinates of each of the plurality of grids included in the first region within the second range. Figure 7 When the correlation is weak as shown in the grid graph G5, the occupied grid graph generation unit 208 determines that the third grid is a corner.

[0079] As described above, the occupied grid map generation unit 208 determines whether the third grid is a corner of the first region based on the ratio R of the first region within the second range centered on the third grid determined as the existence of an object and the correlation coefficient calculated based on the coordinates of each of the plurality of grids included in the first region within the second range. Thus, the occupied grid map generation unit 208 can determine whether the third grid is a corner of the first region with high accuracy. It should be noted that the occupied grid map generation unit 208 determines whether the third grid is a corner of the first region with high accuracy. Figure 6 Corner determination processing is performed on each of the plurality of grids determined as containing an object.

[0080] Next, the occupied grid map generation unit 208 executes a corner detection process for detecting corners in the first area (an area including the grid determined to contain an object) based on the result of the corner determination process. The details of the corner detection process will be described below.

[0081] Figure 82 is a diagram showing an example of corner detection processing. When the camera 180 captures a plurality of frames of images, the occupied grid map generation unit 208 determines whether or not a plurality of grids in the plurality of frames are corners. Figure 8 As shown in FIG. 2 , the occupied grid diagram generation unit 208 obtains the result of the corner determination process performed on the occupied grid diagram 226 corresponding to each of the first frame F1, the second frame F2, the third frame F3, ... Figure 8 In FIG. 2 , the grid 236 is a grid determined to be a corner in the occupied grid map 226 corresponding to the first frame F1 .

[0082] The occupied grid map generation unit 208 counts the number of times each of the plurality of grids included in the occupied grid map 226 is determined to be a corner based on the results of the corner determination process in the plurality of frames. The occupied grid map generation unit 208 detects a grid that is determined to be a corner a predetermined number of times or more as a corner of the first region. Figure 8 , the grid 238 is a grid indicating the corner detected by the occupied grid pattern generation unit 208. In this way, the occupied grid pattern generation unit 208 detects the corner based on the results of the corner determination process in a plurality of frames, and thus can detect the corner with high accuracy.

[0083] The occupied grid map generation unit 208 expands the detected corners in the occupied grid map 226. The path generation unit 210 generates a path that the moving body 100 should move along in the second area that does not include the first area (the area including the grid determined to have an object), based on the occupied grid map 226 obtained by expanding the corners. The drive control unit 212 controls the drive device 300 that drives the moving body 100 so that the moving body 100 moves along the path generated by the path generation unit 210.

[0084] Here, the occupation grid diagram generation unit 208 expands the corners in the occupation grid diagram 226 to prevent the moving body 100 from contacting an object near the corners. The path generated by the path generation unit 210 is a path obtained by connecting a plurality of path points (a first path point, a second path point, a third path point, ...) arranged at a predetermined distance. In the case where the moving body 100 moves toward the first path point, when the moving body 100 approaches the first path point, the path generation unit 210 deletes the first path point from the path before the moving body 100 reaches the first path point. As a result, the moving body 100 moves toward the second path point that is arranged next to the first path point.

[0085] Thus, the moving body 100 cannot strictly pass through the plurality of path points included in the path generated by the path generation unit 210. Therefore, assuming that the first path point is located near a corner with a small curvature, when the moving direction of the moving body 100 is switched from the first path point to the second path point, the moving body 100 may come into contact with an object near the corner. Therefore, in this embodiment, the occupation grid map generation unit 208 performs a corner expansion process of expanding the detected corner in the occupation grid map 226.

[0086] Fig. 9 2 is a diagram showing an example of a path for moving the mobile body 100 to the sub-goal SG. The path generation unit 210 sets the sub-goal SG as a point to be passed on the path from the current point 240 of the mobile body 100 to the destination. Then, the path generation unit 210 generates a path for moving the mobile body 100 to the sub-goal SG. Fig. 9 As shown, a corner 242 of the first region (region including the grid determined to contain an object) exists near the sub-target SG, and therefore the occupied grid map generation unit 208 expands the corner 242 .

[0087] Fig.10 2 is a diagram showing an example of corner expansion processing. For example, the occupied grid diagram generating unit 208 expands the corner 242 by arranging a regular polygonal area at the position of the corner 242. Fig.10 In the example shown, the occupied grid diagram generating unit 208 expands the corner 242 by configuring a regular hexagon 244 with a distance r2 from the center to each vertex at the position of the corner 242. The regular polygon configured at the position of the corner 242 is not limited to a regular hexagon, and may be a regular M-gon (M is a natural number greater than 3). Thus, the moving body 100 can be prevented from contacting an object near the corner 242.

[0088] It should be noted that when the corner expansion process is performed on all corners included in the occupied grid graph 226, the processing load of the occupied grid graph generating unit 208 increases. Therefore, the occupied grid graph generating unit 208 expands the corners within the predetermined range from the sub-target SG, and does not expand the corners outside the predetermined range from the sub-target SG. In this way, the processing load of the occupied grid graph generating unit 208 in the corner expansion process can be reduced.

[0089] It should be noted that the occupied grid map generation unit 208 may also perform a process of dilating the first area (the area including the grid where the object is determined to exist) before performing the corner dilation process. For example, the occupied grid map generation unit 208 may dilate the first area in consideration of the size of the moving body 100. In this way, the moving body 100 can be more reliably prevented from contacting objects such as obstacles.

[0090] Fig.11 2 is a diagram showing an example of an occupied grid graph 226 obtained by performing corner dilation processing after dilating the first region. Fig.11 The number of grids in the example is small, so it is not possible to accurately express the Fig.10 The corners of the regular hexagon are expanded, but in fact Fig.10 The regular hexagon is arranged at the position of the corner 242.

[0091] In addition, if Fig.11 As shown in FIG. 2 , each of the plurality of grids included in the occupied grid graph 226 is classified into a first area A1 (an area including grids determined to have objects) and a second area A2 that does not include the first area A1. The path generation unit 210 generates a path that the moving body 100 should move along in the second area A2 based on the occupied grid graph 226 obtained by expanding the corners. The drive control unit 212 controls the drive device 300 so that the moving body 100 moves along the path generated by the path generation unit 210.

[0092] [flow chart]

[0093] Fig.12 1 is an example of a flowchart showing a process executed by the control device 200. The process performed by this flowchart is started when a destination is set by a user operation and when an instruction is given to start the movement of the moving body 100.

[0094] First, the recognition unit 206 recognizes the position of an object existing around the moving body 100 based on an image captured of the surrounding conditions of the moving body 100 (step S100). For example, the recognition unit 206 recognizes the position of an object existing around the moving body 100 based on an image captured by the camera 180.

[0095] Next, the occupied grid map generation unit 208 determines whether or not there is an object in each of the plurality of grids in the occupied grid map 226 based on the positions of the objects existing around the moving body 100 (step S102). Figure 4 The occupancy grid diagram 226 shown in FIG. 2 is then generated by the occupancy grid diagram generation unit 208. Figure 6 Linear expansion processing as shown.

[0096] Next, the occupied grid map generation unit 208 detects the corners of the first area, which includes the grids determined to contain objects (step S104). Figure 8 Multiple corners are detected as shown.

[0097] Next, the occupation grid diagram generation unit 208 expands the corners in the occupation grid diagram 226 (step S106). For example, the occupation grid diagram generation unit 208 expands the corners by Fig.10 A regular polygon as shown is arranged at the corner position to expand the corner.

[0098] Next, the path generation unit 210 generates a path for the moving body 100 to move in the second area A2 that does not include the first area A1 based on the occupied grid diagram 226 obtained by expanding the corners (step S108). Thereafter, the drive control unit 212 controls the drive device 300 so that the moving body 100 moves along the path generated by the path generation unit 210 (step S110).

[0099] Next, the control device 200 determines whether the moving body 100 has arrived at the destination (step S112). If it is determined that the moving body 100 has not arrived at the destination, the control device 200 returns the process to the aforementioned step S100. On the other hand, if it is determined that the moving body 100 has arrived at the destination, the control device 200 ends the process performed by this flowchart.

[0100] As described above, the occupied grid map generation unit 208 of the present embodiment determines whether an object exists for each of the plurality of grids in the occupied grid map 226 based on the position of the object existing around the moving body 100. In addition, the occupied grid map generation unit 208 expands the first region including the grids determined to have an object. Thus, the control device 200 of the present embodiment can prevent the moving body 100 from contacting the object.

[0101] <Second Embodiment>

[0102] In the first embodiment described above, the occupied grid diagram generation unit 208 expands the corner by configuring the area of ​​the regular polygon at the position of the corner. On the other hand, in the second embodiment, the path generation unit 210 generates a path in a manner that the moving body 100 passes through the vertices of the regular polygon configured at the position of the corner. The details of the second embodiment are described below.

[0103] Fig.13 FIG. 1 is a diagram showing an example of a route R1 to a destination in the second embodiment. Fig.13As shown, in the occupied grid graph 246, the grid where the occupied grid graph generation unit 208 determines that an object exists is surrounded by the first polygon 248 and the second polygon 250. The path generation unit 210 generates a path R1 that does not pass inside the area surrounded by the first polygon 248 and the area surrounded by the second polygon 250 and has the shortest distance to the destination (target: goal) G. It should be noted that the path R1 turns left at a small curvature at the corner 252. Therefore, the moving body 100 may come into contact with an object near the corner 252.

[0104] Fig.14 Yes Fig.13 This is an enlarged view of the vicinity of the corner 252 in FIG. Fig.14 In the example, the path R1 is a path generated by the path generation unit 210, and the path R2 is a path actually passed by the moving body 100. As described above, when the moving body 100 moves toward a first path point included in the path R1, when the moving body 100 approaches the first path point, the path generation unit 210 deletes the first path point from the path R1 before the moving body 100 reaches the first path point. As a result, the moving body 100 moves toward a second path point that is arranged next to the first path point.

[0105] Therefore, the moving body 100 does not strictly pass through the multiple path points included in the path R1, but moves along the path R2. Fig.14 As shown in FIG. 1 , the path R2 passes through a position that is closer to the inside (the grid side where an object is determined to exist) than the path R1. Therefore, when the moving body 100 moves along the path R2, there is a possibility that Fig.14 The moving body 100 comes into contact with the object at the point 254 in FIG. Therefore, in the present embodiment, the occupied grid graph generation unit 208 detects the corners of the region (first region) surrounded by the first polygon 248 and arranges a regular polygonal region at the position of the corner.

[0106] Fig.15 2 is a diagram showing an example of a plurality of grid points P1 to P7 on the first polygon 248. Fig.15 As shown, the grid where the occupied grid graph generation unit 208 determines that an object exists is surrounded by a first polygon 248. The first polygon 248 includes a plurality of grid points P1 to P7. The occupied grid graph generation unit 208 determines whether each of the plurality of grid points P1 to P7 is a corner.

[0107] Fig.162 is a diagram for explaining the corner detection processing in the second embodiment. The occupied grid graph generation unit 208 selects a grid point from a plurality of grid points P1 to P7. In addition, the occupied grid graph generation unit 208 determines whether the angle Deg formed by the two sides extending from the selected grid point is less than a specified angle (e.g., 100 degrees). In addition, the occupied grid graph generation unit 208 determines whether Dist1 and Dist2 are both less than a specified length (e.g., 1m), where Dist1 and Dist2 are the lengths of the two sides extending from the selected grid point.

[0108] When the angle Deg is less than a predetermined angle and the lengths of the two sides Dist1 and Dist2 are both less than a predetermined length, the occupied grid diagram generating unit 208 determines that the selected grid point is a corner. Fig.15 In the example shown, it is assumed that the grid point P5 is determined to be a corner. Then, the occupied grid diagram generating unit 208 arranges a regular polygonal region at the position of the grid point P5 determined to be a corner.

[0109] Fig.17 : is a diagram showing an example of a situation in which a regular polygonal region is arranged at the position of the grid point P5 determined to be a corner. Fig.17 In the example shown, the regular hexagonal area 258 is arranged at the position of the grid point P5. The occupied grid diagram generation unit 208 arranges the regular hexagonal area 258 in such a way that the center of the regular hexagon coincides with the grid point P5. In addition, the path generation unit 210 incorporates the vertices of the regular hexagon arranged at the position of the grid point P5 into the path R3 from the current location 244 of the moving body 100 to the destination G. It should be noted that in the present embodiment, the regular polygon arranged at the position of the grid point P5 is set to be a regular hexagon, but it is not limited to this. For example, the regular polygon arranged at the position of the grid point P5 can be a regular M-gon (M is a natural number greater than 3).

[0110] like Fig.17 As shown in FIG. 1 , the path R3 generated by the path generation unit 210 passes through a portion of the outer periphery of the regular hexagonal area 258. On the other hand, the path R4 actually passed by the moving body 100 passes through a position on the inner side (the grid side determined to be the object) of the path R3. However, since the regular hexagonal area 258 is arranged at the corner position, even if the moving body 100 moves along the path R4, the moving body 100 does not contact the object near the corner.

[0111] As described above, the occupied grid diagram generation unit 208 of the present embodiment expands the corner by configuring the area of ​​the regular polygon at the position of the corner. In addition, the path generation unit 210 includes the vertices of the regular polygon in the path R3. Thus, the control device 200 of the present embodiment can prevent the moving body 100 from contacting the corner of an object such as an obstacle with a small curvature.

[0112] The above-described embodiment can be expressed as follows.

[0113] A control device comprising:

[0114] a storage device storing a program; and

[0115] Hardware processor,

[0116] The hardware processor performs the following processing by executing the program stored in the storage device:

[0117] recognizing positions of objects existing around the moving body based on an image obtained by capturing conditions around the moving body;

[0118] generating an occupation grid map including a plurality of grids based on positions of objects existing around the mobile body;

[0119] Based on the occupied grid diagram, generating a path that the moving object should move forward;

[0120] Based on the position of the object existing around the mobile body, determining whether there is an object for each of the plurality of grids in the occupied grid map; and

[0121] A first region including a grid determined to contain an object is expanded.

[0122] Although specific embodiments of the present invention have been described above using the embodiments, the present invention is not limited to such embodiments at all, and various modifications and substitutions can be made without departing from the gist of the present invention.

Claims

1. A control device, wherein: The control device comprises: a recognition unit that recognizes the position of an object existing around the moving body based on an image obtained by capturing the surrounding conditions of the moving body; an occupation grid map generating unit that generates an occupation grid map including a plurality of grids based on positions of objects existing around the mobile body; as well as a path generating unit that generates a path along which the moving body should move based on the occupied grid graph, The occupation grid map generation unit determines whether or not there is an object for each of a plurality of grids in the occupation grid map based on the position of the object existing around the mobile body. The occupied grid map generating unit expands a first region including a grid in which an object is determined to exist.

2. The control device according to claim 1, wherein: The occupation grid diagram generating unit detects corners of the first area. The occupation grid figure generating unit expands the corner portion in the occupation grid figure.

3. The control device according to claim 2, wherein: The path generation unit generates a path along which the moving body should travel in a second area not including the first area, based on the occupied grid diagram obtained by expanding the corners. The control device further includes a drive control unit that controls a drive device that drives the moving body so that the moving body moves along the path.

4. The control device according to claim 2, wherein: The occupied grid graph generating unit expands the corner by arranging a regular polygonal region at the position of the corner.

5. The control device according to claim 1, wherein: When there is a second grid different from the first grid determined as the existence of an object within a first range centered on the first grid determined as the existence of an object, the occupied grid map generating unit linearly expands the first area by determining that an object exists in an area connecting the first grid and the second grid with a straight line.

6. The control device according to claim 2, wherein: The occupied grid map generation unit determines whether the third grid is the corner based on the ratio of the first area within a second range centered on the third grid determined as the object.

7. The control device according to claim 6, wherein: The occupied grid map generation unit determines that the third grid is not the corner when the ratio is equal to or greater than a first threshold value, The occupied grid map generation unit determines that the third grid is the corner when the ratio is smaller than a second threshold value which is smaller than the first threshold value, When the ratio is less than the first threshold and greater than the second threshold, the occupied grid map generating unit obtains a correlation coefficient based on the coordinates of each of the plurality of grids included in the first area within the second range, and determines whether the third grid is the corner based on the correlation coefficient.

8. The control device according to claim 2, wherein: When capturing the image of a plurality of frames, the occupied grid map generation unit determines whether or not the plurality of grids in the plurality of frames are the corners, and detects as the corners a grid determined to be the corner a predetermined number of times or more.

9. The control device according to claim 2, wherein: The path generation unit sets a position to be a sub-target in the path, The occupied grid graph generating unit expands the corners within a predetermined range from the sub-object, and does not expand the corners outside the predetermined range from the sub-object.

10. The control device according to claim 2, wherein: The occupied grid diagram generating unit expands the corner by arranging a regular polygonal region at the position of the corner. The path generation unit incorporates the vertices of the regular polygon into the path.

11. A control method, wherein: The control method enables the computer to perform the following processing: Based on an image obtained by capturing a condition around a moving body, positions of objects existing around the moving body are identified; generating an occupation grid map including a plurality of grids based on positions of objects existing around the mobile body; Based on the occupied grid diagram, generating a path that the moving object should move forward; Based on the position of the object existing around the mobile body, determining whether there is an object for each of the plurality of grids in the occupied grid map; as well as A first region including a grid determined to contain an object is expanded.

12. A storage medium storing a program, wherein: The program causes the computer to execute the following processing: Based on an image obtained by capturing a condition around a moving body, positions of objects existing around the moving body are identified; generating an occupation grid map including a plurality of grids based on positions of objects existing around the mobile body; Based on the occupied grid diagram, generating a path that the moving object should move forward; Based on the position of the object existing around the mobile body, determining whether there is an object for each of the plurality of grids in the occupied grid map; as well as A first region including a grid determined to contain an object is expanded.

Citation Information

Patent Citations

  • Method of dividing coverage area for robot and device thereof

    JP2008047095A

  • Sexual attractant for spodoptera frugiperda

    JP2023170069A