Route setting method, movable body, managing system and program

The described route setting method for mobile objects addresses the challenge of obstacle avoidance with reduced computational load by using a point cloud analysis to project obstacle positions onto the mobile object's center, enabling efficient navigation.

JP2025174475APending Publication Date: 2025-11-28MITSUBISHI HEAVY IND LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024080875
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-05-17
Publication Date
2025-11-28

AI Technical Summary

Technical Problem

Existing route setting methods for mobile objects face challenges in effectively avoiding obstacles while maintaining a low computational load.

Method used

A route setting method that involves acquiring obstacle positions as a point cloud, setting a drivable area, extracting an analysis point cloud closer to the area's center, and projecting these points onto the mobile object to set a route that avoids obstacles with reduced computational load.

Benefits of technology

This approach allows for effective obstacle avoidance while minimizing computational requirements, ensuring efficient navigation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025174475000001_ABST
    Figure 2025174475000001_ABST
Patent Text Reader

Abstract

To set a route capable of appropriately avoiding an obstacle while reducing an arithmetic load.SOLUTION: A route setting method includes the steps for: obtaining information on the destination location for a movable body; obtaining information on the position of an obstacle as a dot group; and executing a route calculation for the movable body. In the step for calculating the route, a running possible region where the movable body can travel is set based on the position of the movable body in the first direction, an analysis dot group is extracted from the dot group located within the running possible region based on the running possible region, and a route in which the coordinates of a projection point in the second direction obtained by projecting the analysis dot group on the movable body toward the second direction orthogonal to the first direction becomes a value at the center side in the second direction of the running possible region relative to the coordinates of the analysis dot group in the second direction, and which is directed to the destination location is set as the route for the movable object.SELECTED DRAWING: Figure 11
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to a route setting method, a mobile object, a management system, and a program. [Background technology]

[0002] In order to autonomously move a mobile body to a destination position, a travel route for the mobile body is set by performing various calculations, and the mobile body moves autonomously by operating based on the route. Such a mobile body is required to reach the destination position while avoiding obstacles that exist near the route.

[0003] For example, in Patent Document 1 listed below, the area occupied by an autonomous moving body is approximated by a single ellipse, and a constraint is imposed that all obstacles are not contained within that ellipse. An obstacle avoidance path is generated by solving an optimization problem so as to observe the constraint up to a certain time into the future. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Japanese Patent Publication No. 2022-134905 Summary of the Invention [Problem to be solved by the invention]

[0005] Here, it is required to set a route that appropriately avoids obstacles while reducing the computational load.

[0006] In view of the above-mentioned problems, the present disclosure aims to provide a route setting method, a mobile body, a management system, and a program that can set a route that appropriately avoids obstacles while reducing the computational load. [Means for solving the problem]

[0007] A route setting method for a moving body according to the present disclosure includes the steps of acquiring information on a destination position of the moving body, acquiring information on the positions of obstacles as a point cloud, and performing a route calculation for the moving body, wherein in the step of performing the route calculation, a drivable area in which the moving body can move is set based on the position of the moving body in a first direction, an analysis point cloud is extracted from the point cloud located within the drivable area based on the drivable area, and the coordinates in the second direction of the projection points obtained by projecting the analysis point cloud onto the moving body in a second direction perpendicular to the first direction are values ​​that are closer to the center of the drivable area in the second direction than the coordinates of the analysis point cloud in the second direction, and the route leading to the destination position is set as the route of the moving body.

[0008] The moving body according to the present disclosure moves the moving body according to the route set by the route setting method.

[0009] The moving body of the present disclosure includes a route acquisition unit that acquires a route toward a destination position, in which the coordinate of a projection point in a second direction perpendicular to a first direction is closer to the center of the second direction of a drivable area than the coordinate of an analysis point group in the second direction, and a movement control unit that moves the moving body along the route, wherein the drivable area is an area in which the moving body can move, set based on the position of the moving body in the first direction, the analysis point group is extracted from a point group that indicates the positions of obstacles located within the drivable area based on the drivable area, and the projection point is a point obtained by projecting the analysis point group onto the moving body in the second direction.

[0010] The management system according to the present disclosure transmits the route set by the route setting method to the mobile object.

[0011] The program according to the present disclosure is a program that causes a computer to execute the steps of acquiring information on the destination position of a moving body, acquiring information on the positions of obstacles as a point cloud, and performing a route calculation for the moving body. In the step of performing the route calculation, a drivable area in which the moving body can move is set based on the position of the moving body in a first direction, an analysis point cloud is extracted from the point cloud located within the drivable area based on the drivable area, and the coordinates in the second direction of the projection points obtained by projecting the analysis point cloud onto the moving body in a second direction perpendicular to the first direction are values ​​that are closer to the center of the drivable area in the second direction than the coordinates of the analysis point cloud in the second direction, and the route leading to the destination position is set as the route of the moving body. [Effects of the Invention]

[0012] According to the present disclosure, it is possible to appropriately avoid obstacles while reducing the computational load. [Brief explanation of the drawings]

[0013] [Figure 1] FIG. 1 is a diagram showing an overview of a mobile object control system according to the present disclosure. [Figure 2] FIG. 2 is a diagram illustrating an example of the configuration of a mobile object control system according to the present disclosure. [Figure 3] FIG. 3 is a diagram illustrating an example of the configuration of a moving body according to the present disclosure. [Figure 4] FIG. 4 is a diagram illustrating an example of the configuration of a management system according to the present disclosure. [Figure 5] FIG. 5 is a diagram illustrating a configuration example of a control device for a moving body according to the present disclosure. [Figure 6] FIG. 6 is a detailed block diagram of the route acquisition unit. [Figure 7] FIG. 7 is a schematic diagram illustrating an example of an occupied area and a travelable area. [Figure 8] FIG. 8 is a schematic diagram showing an example of extraction of an analysis point group. [Figure 9] FIG. 9 is a schematic diagram showing an example of route calculation. [Figure 10] FIG. 10 is a schematic diagram showing an example of route calculation. [Figure 11] FIG. 11 is a flowchart illustrating a route setting flow in the first embodiment. [Figure 12] FIG. 12 is a schematic diagram illustrating coordinate transformation. [Figure 13] FIG. 13 is a schematic diagram illustrating an example of a route setting in the third embodiment. [Figure 14] FIG. 14 is a schematic diagram illustrating an example of a route setting in the third embodiment. [Figure 15] FIG. 15 is a schematic diagram illustrating an example of a route setting in the third embodiment. [Figure 16] FIG. 16 is a hardware configuration diagram illustrating an example of a computer that realizes the functions of the control device according to the present disclosure. DETAILED DESCRIPTION OF THE INVENTION

[0014] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings. However, the present disclosure is not limited to the embodiments described below.

[0015] (Configuration of a mobile control system) First, a mobile object control system 1 according to the present disclosure will be described using Fig. 1 and Fig. 2. Fig. 1 is a diagram showing an overview of the mobile object control system according to the present disclosure, and Fig. 2 is a diagram showing an example configuration of the mobile object control system according to the present disclosure. As shown in Fig. 1, the mobile object control system 1 according to the present disclosure includes a mobile object 10 and a management system 200. The mobile object control system 1 may include multiple mobile objects 10, such as mobile objects 10A, 10B, and 10C shown in Fig. 2, for example.

[0016] The moving body 10 is a mobility that can move autonomously. However, the moving body 10 is not limited to this, and may be a manned mobility in which a driver controls the direction of movement, etc. Furthermore, in this embodiment, the moving body 10 is a non-holonomic system that cannot move sideways. Examples of the moving body 10 that moves on a two-dimensional plane include an automated guided forklift (AGF) and an automated guided vehicle (AGV). The moving body 10 may be, for example, a vehicle that autonomously travels on the ground (e.g., an unmanned ground vehicle (UGV)), a vehicle that autonomously flies in the air (e.g., an unmanned aerial vehicle (UAV)), or a vehicle that autonomously moves underwater (an unmanned underwater vehicle (UUV)). Therefore, the moving body 10 also includes a moving body that can move autonomously in a three-dimensional space. Note that the type of the moving body 10 is not limited to this and may be any type.

[0017] 1, the area in which the moving object 10 can move on a two-dimensional plane, i.e., the area in which the moving object 10 is scheduled to move, is shown as area AR. As shown in Fig. 1, one direction along the horizontal direction in area AR is defined as the X direction (first direction), and a direction along the horizontal direction that is perpendicular to the X direction is defined as the Y direction (second direction). Note that area AR may be a three-dimensional space.

[0018] 1, the moving object 10 moves along a route R. The route R is set by the moving object 10 or the management system 200 so as to avoid an obstacle O present in an area AR and head toward a destination position G.

[0019] Here, the obstacle O is an object that the moving body 10 is to avoid. In this embodiment, the obstacle O may be any object whose position may change, or any object that may move and be present in a predetermined position at one time but may no longer be present in that position at another time. In other words, the obstacle O is not a structure whose position is permanently fixed and whose location is known. Note that the obstacle O is not limited to inanimate objects, but may be a living object such as a person or an animal. However, the obstacle O is not limited to this, and may also be a structure whose position is permanently fixed and whose location is known, such as a wall or pillar of a facility.

[0020] The management system 200 is an information processing system that manages the mobile object 10, and in this embodiment, sets a destination position G for the mobile object 10. The management system 200 is, for example, a FCS (Fleet Control System), but is not limited to this and may be any device that processes information related to the movement of the mobile object 10. The management system 200 may be realized by, for example, a PC (Personal Computer), a WS (Work Station), or a computer having server functions.

[0021] The network N wirelessly connects the mobile object 10 and the management system 200 so that they can communicate with each other. The network N may be realized by a wireless local area network (LAN) defined by IEEE802.11, Bluetooth (registered trademark), Wi-Fi (registered trademark), a fifth generation mobile communication system (5G), or a sixth generation mobile communication system (6G).

[0022] The mobile object control system 1 described above functions as a single system by exchanging information between the mobile objects 10 and the management system 200. For example, swarm control of a plurality of mobile objects 10 using broadcast control may be performed.

[0023] The mobile object control system 1 may further include a logistics management system that manages logistics in the facility W. The logistics management system is a WCS (Warehouse Control System) or a WMS (Warehouse Management System), but is not limited to a WCS or a WMS and may be any system, for example, a back-end system such as another production management system. The logistics management system may also manage mechanisms other than the mobile object 10 installed in the facility (e.g., elevators, doors, etc.), and may also set information for controlling these mechanisms.

[0024] (About moving objects) Next, a moving body according to the present disclosure will be described with reference to FIG. 3. FIG. 3 is a diagram showing an example configuration of a moving body according to the present disclosure. As shown in FIG. 3, the moving body 10 may be a forklift. Specifically, the moving body 10 is, for example, an AGF. As shown in FIG. 3, the moving body 10 includes a body 20, a mast 22, a fork 24, a sensor 26, a power unit 28, and a control device 100. The body 20 of the moving body 10 includes wheels 20A. The control device 100 will be described later.

[0025] The mast 22 restricts the direction of movement of the fork 24 when it is moved up and down. As shown in Fig. 3, the mast 22 is provided at one end in the front-to-rear direction of the vehicle body 20. The mast 22 extends in the up-down direction (direction Z in this case) perpendicular to the front-to-rear direction.

[0026] The fork 24 is a member that is inserted into holes in the pallet to support the load of the pallet and lift the pallet. As shown in Fig. 3, the fork 24 is attached to the mast 22 so as to be movable in direction Z. The fork 24 may also be movable in the lateral direction of the vehicle body 20 (a direction intersecting the up-down direction and the front-rear direction) relative to the mast 22. As shown in Fig. 2, the fork 24 has a pair of claws 24A, 24B.

[0027] Claws 24A, 24B extend from mast 22 toward the front of body 20. Claws 24A and 24B are arranged parallel to and spaced apart from each other in the lateral direction of mast 22. Hereinafter, of the front-to-rear direction, the direction toward the side of moving body 10 where fork 24 is provided will be referred to as the front direction, and the direction toward the side where fork 24 is not provided will be referred to as the rear direction.

[0028] The sensor 26 detects at least one of the position and attitude of an object present around the vehicle body 20. It can also be said that the sensor 26 detects the position of the object relative to the mobile body 10 and the attitude of the object relative to the mobile body 10. The sensor 26 may be provided, for example, on the mast 22 and at the four corners of the vehicle body 20, i.e., at the left and right ends on the forward side and the left and right ends on the rear side of the vehicle body 20. The position at which the sensor 26 is provided is not limited thereto, and the sensor 26 may be provided at any position, and the number of sensors provided may also be arbitrary. For example, a safety sensor provided on the mobile body 10 may be used as the sensor 26. By using the safety sensor, there is no need to provide a new sensor.

[0029] The sensor 26 detects the position and orientation of a surrounding object by detecting (receiving) reflected light from the object. More specifically, the sensor 26 is a sensor that emits light, and more specifically, it emits pulsed laser light using a semiconductor laser. The sensor 26 detects the position and orientation of the object by detecting the reflected light of the emitted laser light using a photodiode or the like. The sensor 26 emits laser light while scanning in one direction, and detects the position and orientation of the object from the reflected light of the emitted laser light. The sensor 26 may be a 2D-LiDAR (Light Detection And Ranging).

[0030] The sensor 26 uses a scanning device such as a polygon laser scanner having an optical system or a galvanometer scanner to scan a laser beam in the horizontal direction, i.e., in a direction perpendicular to the direction Z. However, the sensor 26 is not limited to the above and may be a sensor that detects an object by any method, and may be, for example, a 3D-LiDAR that scans in multiple directions or a camera.

[0031] The power unit 28 functions as a power source for moving the mobile unit 10. The specific configuration of the power unit 28 may be set arbitrarily depending on the operating mode of the mobile unit 10, but as an example, if the mobile unit 10 is a mobile unit 10 that travels on the ground, the power unit 28 includes a plurality of wheels and a prime mover such as a diesel engine or an electric motor that drives some or all of the plurality of wheels. The specific configuration of the power unit 28 illustrated here is merely an example and is not limited to this. It is sufficient that the power unit 28 functions as a power source that enables the mobile unit 10 to move.

[0032] (About the management system) 4 is a diagram illustrating an example of the configuration of a management system according to the present disclosure. As shown in FIG. 4, the management system 200 includes a communication unit 210, a storage unit 220, a control unit 230, an input unit 240, and a display unit 250.

[0033] The communication unit 210 is a communication module that communicates with external devices such as the mobile object 10. The communication unit 210 may be realized by, for example, a wireless LAN or an antenna that transmits and receives radio waves such as 5G and 6G. The management system 200 communicates via wireless communication, but the communication method may be arbitrary.

[0034] The storage unit 220 is a memory that stores various information such as the contents of calculations and programs of the control unit 230, and includes at least one of a main storage device such as a RAM (Random Access Memory), a ROM (Read Only Memory), and an external storage device such as an HDD (Hard Disk Drive). The program for the control unit 230 stored in the storage unit 220 may be stored in a recording medium that can be read by the management system 200.

[0035] The control unit 230 is a calculation device and includes a calculation circuit such as a CPU (Central Processing Unit). As shown in FIG. 2, the control unit 230 includes an acquisition unit 231 and a notification unit 232. The control unit 230 realizes these and executes these processes by reading and executing a program (software) from the storage unit 220. Note that the control unit 230 may execute this process using one CPU, or may be provided with multiple CPUs and execute the processes using the multiple CPUs. Furthermore, at least one of the acquisition unit 231 and the notification unit 232 may be realized by a hardware circuit.

[0036] The acquisition unit 231 acquires position information of the destination position G of the mobile object 10. For example, the acquisition unit 231 sets the work content to be performed by the mobile object 10 and sets the destination position G according to the work content. However, the method of setting the position information of the destination position G by the acquisition unit 231 is arbitrary, and may be specified by, for example, a user. Also, for example, a logistics management system (not shown) may acquire order information indicating the target object to be transported and the origin and destination of the transport, set the destination position G based on the order information, and the acquisition unit 231 may acquire the position information of the destination position G from the logistics management system.

[0037] The notification unit 232 transmits the position information of the destination position G of the moving body 10 to the moving body 10 via the communication unit 210. Note that the notification unit 232 may transmit the position information of the destination position G to the moving body 10 when receiving a request to acquire destination position information from the moving body 10 via the communication unit 210.

[0038] The input unit 240 receives various types of operation information from the user. The input unit 240 may receive, for example, the operation details of the moving object 10, position information of a destination position, and the like as the various types of operation information. The input unit 240 may receive various types of operation information using, for example, various operation switches, dials, levers, handles, keyboards, joysticks, mice, and the like. The input unit 240 may also receive various types of operation information via a display surface of a touch panel.

[0039] The display unit 250 displays various types of information. For example, the display unit 250 may display a GUI (Graphical User Interface) for receiving operation information related to various processes from a user, or the results of various processes. The display unit 250 may be realized by a liquid crystal display, an organic EL (Electro Luminescence) display, a micro LED (Light Emitting Diode) display, or the like. The display unit 250 may also be a touch panel of various types, such as a capacitance type.

[0040] (Configuration of the control device for the moving object) Fig. 5 is a diagram showing an example configuration of a control device for a moving body according to the present disclosure. Fig. 6 is a detailed block diagram of a route acquisition unit. As shown in Fig. 5, the control device 100 for a moving body 10 according to the present disclosure includes a communication unit 110, a storage unit 120, a control unit 130, a self-position detection unit 140, an obstacle detection unit 150, and a drive signal transmission unit 160. The configuration of these units will be described in order below.

[0041] The communication unit 110 wirelessly transmits and receives various information to and from external devices. The communication unit 110 may be realized by an antenna for a wireless LAN defined by IEEE802.11, a Bluetooth (registered trademark) module, a Wi-Fi (registered trademark) module, an antenna for a fifth generation mobile communication system (5G), a sixth generation mobile communication system (6G), or the like.

[0042] The storage unit 120 is a storage device that stores various types of information. The storage unit 120 includes a main storage device and an auxiliary storage device. The main storage device may be realized by a semiconductor memory element such as RAM, ROM, or flash memory. The auxiliary storage device may be realized by a hard disk, SSD, optical disk, or the like.

[0043] The control unit 130 is a controller that executes various types of arithmetic processing and processing that realizes functions. The control unit 130 is realized by a CPU, an MPU (Micro Processing Unit), or the like, executing various programs stored in the storage unit 120 using RAM as a work area. The control unit 130 may also be realized by an integrated circuit, such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).

[0044] As shown in FIG. 5, the control unit 130 includes a destination position information acquisition unit 131, a self-position information acquisition unit 132, an obstacle information acquisition unit 133, a route acquisition unit 134, and a movement control unit 135 as functions realized by the execution of a program stored in the storage unit 120, a circuit configuration, and the like. As shown in FIG. 6, the route acquisition unit 134 includes an occupied area setting unit 1341, a travelable area setting unit 1342, a constraint condition setting unit 1343, and an optimization calculation execution unit 1344. The control unit 130 may execute these processes using a single CPU, or may be provided with multiple CPUs and execute these processes in parallel using the multiple CPUs. Furthermore, at least one of the destination position information acquisition unit 131, the self-position information acquisition unit 132, the obstacle information acquisition unit 133, the route acquisition unit 134, and the movement control unit 135 may be realized by a hardware circuit. The details of these processes will be described later.

[0045] The self-position detection unit 140 is a device that detects the position and attitude of the moving body 10, i.e., its own position and attitude. The position of the moving body 10 refers to the coordinates at which the moving body 10 is located within the area AR. The attitude of the moving body 10 refers to the direction in which the moving body 10 is facing, and refers to the orientation (rotation angle) of the moving body 10 when viewed from a direction perpendicular to the direction X and direction Y. Hereinafter, unless otherwise specified, "position" and "attitude" have the same meaning.

[0046] The self-position detection unit 140 may detect the position and attitude by any method, but for example, a specific means for realizing the self-position detection unit 140 is a positioning device for detecting the position using a satellite positioning system such as the Global Positioning System (GPS).

[0047] Furthermore, for example, the self-position detection unit 140 may be an inertial measurement unit (IMU) that includes an acceleration sensor and a gyro sensor and detects the position and attitude relative to a predetermined origin.

[0048] Furthermore, for example, the self-position detection unit 140 may detect the position and attitude by laser light. In this case, for example, a reflector is provided in the area AR, and the self-position detection unit 140 can detect the position and attitude by irradiating laser light toward the reflector and detecting the laser light reflected from the reflector.

[0049] The obstacle detection unit 150 is a sensor that detects the position and orientation of an obstacle O. The obstacle detection unit 36 ​​may be any sensor that can detect the position and orientation of the obstacle O. For example, the obstacle detection unit 36 ​​may be the sensor 26 of a moving body. That is, the position and orientation of the obstacle may be detected based on information acquired by a 2D-LiDAR (Light Detection and Ranging), a 3D-LiDAR, a camera, or the like.

[0050] The drive signal transmission unit 160 transmits the drive signal calculated by the movement control unit 135 to the power unit 28. The drive signal transmission unit 160 may be realized by various cables for transmitting control signals. For example, the drive signal transmission unit 160 may be realized by various electrical wiring, such as a control signal cable formed by bundling multiple electric wires, each wire having a conductor such as copper covered with an insulator, and covering the bundled wires with an electrically insulating polyvinyl chloride (PVC) sheath. In other words, the drive signal transmission unit 160 is connected to the power unit 28 by electrical wiring.

[0051] (Route setting process) Next, a process of setting a route R for the moving body 10 by the control device 100 will be described. In the following, an example will be described in which the moving body 10 detects an obstacle O while moving along a preset reference route R0, and sets a route R to avoid the obstacle O. The reference route R0 is a route leading to a destination position G that connects waypoints set in an area AR. The reference route R0 may be set by the control device 100 or by the management system 200 based on the waypoints and the destination position G.

[0052] (Get destination location) The destination position information acquisition unit 131 acquires position information of a destination position G, which is a target destination of the mobile object 10. The destination position information acquisition unit 131 acquires the position information of the destination position G transmitted from the management system 200 via the communication unit 110. However, the destination position information acquisition unit 131 is not limited to acquiring the position information of the destination position G from the management system 200, and may set the destination position G by itself.

[0053] (Obtaining self-location) The self-location information acquisition unit 132 acquires information on the position and posture of the moving object 10 itself. The self-location information acquisition unit 132 controls the self-location detection unit 140 to acquire position information (coordinate information) and posture information (information indicating orientation) of the moving object 10 itself. Hereinafter, the position information and posture information will be collectively referred to as position and posture information as appropriate. The self-location information acquisition unit 132 sequentially acquires the position and posture information of the moving object 10 at predetermined time intervals. However, the self-location information acquisition unit 132 is not limited to detecting the position and posture of the moving object 10 itself. For example, an external device such as the management system 200 may detect the position and posture of the moving object 10, and the self-location information acquisition unit 132 may acquire the detection result as the position and posture information of the moving object 10.

[0054] (Obstacle location acquisition) The obstacle information acquisition unit 133 acquires information about the position of the obstacle O. The obstacle information acquisition unit 133 controls the obstacle detection unit 150 to acquire the position information of the obstacle O. The obstacle information acquisition unit 133 sequentially acquires the position information of the obstacle O at predetermined time intervals. However, the obstacle information acquisition unit 133 is not limited to detecting the position of the obstacle O by itself. For example, an external device such as the management system 200 may detect the position of the obstacle O, and the obstacle information acquisition unit 133 may acquire the detection result as position and orientation information of the obstacle O. Note that the obstacle information acquisition unit 133 may acquire the orientation of the obstacle O in addition to the position of the obstacle O.

[0055] In this embodiment, the obstacle information acquisition unit 133 acquires information on the position of the obstacle O as a point cloud. Specifically, the obstacle information acquisition unit 133 causes the obstacle detection unit 150 to emit a laser light. The obstacle information acquisition unit 133 acquires a point cloud based on the detection result of the reflected light received by the obstacle detection unit 150. The point cloud is points (measurement points) that indicate the positions (coordinates) at which the laser light is reflected. Based on the detection result of the reflected light and the position of the moving object 10, the obstacle information acquisition unit 133 calculates, as a point cloud, coordinate values ​​in a coordinate system of the area AR (a two-dimensional coordinate system in the direction X and the direction Y) of the points at which the reflected light is reflected. However, the obstacle information acquisition unit 133 is not limited to acquiring positions in the coordinate system of the area AR as a point cloud, and may also acquire coordinate values ​​in a coordinate system based on the sensor 26 or the moving object 10 as a point cloud M.

[0056] (Route setting) The route acquisition unit 134 acquires the route R of the moving body 10. In this embodiment, the route acquisition unit 134 sets (calculates) the route R of the moving body 10 by itself. A method for setting the route R will be specifically described below. Note that hereinafter, an example will be given in which the moving body 10 moves in the X direction.

[0057] (Setting the occupied area) FIG. 7 is a schematic diagram illustrating an example of an occupied area and a drivable area. The occupied area setting unit 1341 of the route acquisition unit 134 sets an occupied area A including a vehicle body area A1 occupied by the moving body 10 based on information about the shape of the moving body 10. The occupied area A is an area used to set a projection point V, which will be described later. More specifically, the occupied area setting unit 1341 identifies the vehicle body area A1 occupied by the moving body 10 based on the information about the shape of the moving body 10, and sets an area including the entire vehicle body area A1 as the occupied area A. The information about the shape of the moving body 10 is information that can identify the area occupied by the moving body 10, and may be, for example, coordinate information of each point on the outline of the moving body 10 in the coordinate system of the moving body 10, or information about the width and length (length in the X direction and Y direction) of the moving body 10. The occupied area setting unit 1341 may acquire the information about the shape of the moving body 10 by any method. For example, in this embodiment, information about the shape of the moving object 10 is stored as design information in the storage unit 120, and the occupation area setting unit 1341 reads out the information about the shape of the moving object 10 from the storage unit 120.

[0058] Furthermore, in this embodiment, the occupied area setting unit 1341 sets a forward area A2 and a rearward area A3 in addition to the vehicle body area A1, and sets an area including the vehicle body area A1, the forward area A2, and the rearward area A3 (an area that coincides with the entire area of ​​these areas) as the occupied area A. The forward area A2 and the rearward area A3 are safety areas that are set in consideration of the braking distance required for the moving body 10 to stop. The forward area A2 is an area located on the forward side of the moving body 10 with respect to the vehicle body area A1 and adjacent to the vehicle body area A1. The rearward area A3 is an area located on the rearward side of the moving body 10 with respect to the vehicle body area A1 and adjacent to the vehicle body area A1. The occupied area setting unit 1341 acquires a planned speed, which is the speed of the moving body 10 when the moving body 10 moves along the route R to be set, and sets the size of the occupied area A (the forward area A2 and the rearward area A3 in this example) based on the planned speed. The planned speed is set in advance, for example, for each section of planned movement. The occupied area setting unit 1341 sets the size of the occupied area A (in this example, the forward area A2 and the rearward area A3) so that the occupied area A (in this example, the forward area A2 and the rearward area A3) becomes larger as the planned speed increases. The occupied area setting unit 1341 sets a forward area A2 of a set size on the forward side of the vehicle body area A1, sets a rearward area A3 of a set size on the rearward side of the vehicle body area A1, and sets an area including the vehicle body area A1, the forward area A2, and the rearward area A3 as the occupied area A.

[0059] It is preferable that the occupation area setting unit 1341 sets the occupation area A in a rectangular shape. This allows the occupation area A to be set smaller than, for example, an oval shape, and allows the route R to be set more flexibly.

[0060] (Setting the driving area) The travelable area setting unit 1342 of the route acquisition unit 134 sets a travelable area B for the moving body 10 based on the X coordinate of the target position P of the moving body 10 (the position of the target position P in the X direction). The travelable area B refers to an area in which the moving body 10 can move.

[0061] The target position P refers to a position that serves as a reference for the moving body 10 when setting the travelable area B. The target position P also refers to a position on the route R that will be set, and it can be said that the trajectory connecting multiple target positions P forms the route R. The travelable area setting unit 1342 sets the X coordinate of the target position P based on the reference position P0 of the moving body 10. In the initial stage of setting the route R, that is, when setting the first target position P, the reference position P0 may be the current position of the moving body 10 or the start point of the route R. In addition, when setting the second or subsequent target positions P, the reference position P0 may be the target position P that was set immediately before. In this embodiment, the travelable area setting unit 1342 sets the X coordinate of the target position P to an X coordinate that is a predetermined distance away from the X coordinate of the reference position P0 in the X direction toward the destination position G.

[0062] The drivable area setting unit 1342 extracts a point group M to be used for setting the drivable area B from the point group M0 acquired by the obstacle information acquisition unit 133, based on the X coordinate of the target position P. The drivable area setting unit 1342 sets a target range, which is a range in the X direction from which the point group M is to be extracted, based on the X coordinate of the target position P. The drivable area setting unit 1342 extracts, from the point group M0, a point group whose X coordinates fall within the target range, as the point group M. Any method for setting the target range may be used, but in this embodiment, the drivable area setting unit 1342 sets the target range so that it includes the X coordinate of the target position P and is equal to or greater than the length of the moving object 10 in the front-to-rear direction (so that it is equal to or greater than the length of the occupied area A in the front-to-rear direction in this example). For example, the drivable area setting unit 1342 may set the target range to be a range from an X coordinate that is a predetermined distance away in the X direction from the X coordinate of the target position P to an X coordinate that is a predetermined distance away in the opposite direction from the X coordinate of the target position P.

[0063] The travelable area setting unit 1342 sets the area surrounded by the extracted point cloud M as the travelable area B. In other words, the travelable area B refers to the area that forms the periphery when the point cloud M is connected by a line. In this way, the travelable area B surrounded by the point cloud M that indicates the position of the obstacle O can be said to be an area in which the mobile object 10 can move without interfering with the obstacle O.

[0064] However, the drivable area B is not limited to an area surrounded by the extracted point cloud M. For example, the drivable area setting unit 1342 may set as the drivable area B an area whose X coordinate is within the above-mentioned target range and whose Y coordinate is within a predetermined range (for example, the range between the Y coordinate of the wall W1 on the Y direction side of the passage along which the vehicle is traveling and the Y coordinate of the wall W2 on the opposite side in the Y direction).

[0065] (Extraction of analysis points) 8 is a schematic diagram showing an example of extraction of an analysis point cloud. Based on the drivable area B, the drivable area setting unit 1342 thins out some of the point cloud M from the point cloud M located inside the drivable area B and extracts the remaining point cloud M as the analysis point cloud Ma. The drivable area setting unit 1342 may extract the analysis point cloud Ma using any method based on the drivable area B. For example, in this embodiment, it is preferable that the drivable area setting unit 1342 extracts the point cloud M that is close to the center of the drivable area B in the Y direction and extracts a set of these points as the analysis point cloud Ma.

[0066] Specifically, the travelable area setting unit 1342 sets the segmented areas by dividing the travelable area B into a plurality of segments. The segmented areas may be set arbitrarily, but for example, the plurality of segmented areas may be set by dividing the travelable area B at predetermined distances in the X direction. Then, the travelable area setting unit 1342 extracts, from the point clouds M within the segmented areas, the point cloud M whose Y coordinate (position in the Y direction) is closest to the center position in the Y direction of the travelable area B, as the analysis point cloud Ma. More specifically, the travelable area setting unit 1342 divides the point cloud M within the segmented area into point clouds M on one side of the center position in the Y direction of the travelable area B and point clouds M on the other side, and extracts the analysis point cloud Ma for each divided point cloud M. That is, of the point clouds M within the divided region, the drivable area setting unit 1342 extracts the point cloud M closest to the center position (furthest on the opposite side in the Y direction) from the point cloud M located on the Y direction side of the center position of the drivable area B as the analysis point cloud Ma. Furthermore, of the point clouds M within the same divided region, the drivable area setting unit 1342 extracts the point cloud M closest to the center position (furthest on the Y direction side) from the point cloud M located on the opposite side in the Y direction from the center position of the drivable area B as the analysis point cloud Ma. By performing this process for each divided region, it is possible to extract the analysis point cloud Ma for each divided region.

[0067] Furthermore, the drivable area setting unit 1342 may extract the point group M located between adjacent analysis point groups Ma (for example, at the center position) as an auxiliary point group, and may also include the auxiliary point group in the analysis point group Ma. In this case, for example, the drivable area setting unit 1342 may calculate the distance between adjacent analysis point groups Ma, and if the distance is equal to or greater than a predetermined threshold, set an auxiliary point group between those analysis point groups Ma. In this way, by including the auxiliary point group in the analysis point group Ma when the analysis point groups Ma are far apart, it is possible to reduce the calculation time and prevent a decrease in calculation accuracy.

[0068] In this way, by utilizing the extraction method for the analysis point cloud Ma, it is possible to extract coordinates where there is a risk of collision for obstacles of any shape, such as convex polygons, concave polygons, and cylinders. Also, because the obstacles O are expressed in the form of drivable areas B, multiple obstacles O can be considered without changing the number of obstacle points given as constraints. This provides scalability with respect to the number of obstacles O, leading to stable calculation times.

[0069] (Route calculation) 9 and 10 are schematic diagrams showing an example of route calculation. The route acquisition unit 134 sets, as the route R of the mobile body 10, a route such that the Y coordinate (position in the Y direction) of a projection point V obtained by projecting the analysis point group Ma onto the mobile body 10 in the Y direction is closer to the center in the Y direction of the drivable area B than the Y coordinate (position in the Y direction) of the analysis point group Ma, and that the projection point V leads to the destination position G. That is, the route acquisition unit 134 sets the route R so that the projection point V is located closer to the center position (opposite side in the Y direction) than the analysis point group Ma that is located on the Y direction side of the center position in the Y direction of the drivable area B, and is also located closer to the center position (on the Y direction side) than the analysis point group Ma that is located on the opposite side in the Y direction from the center position in the Y direction of the drivable area B. The route acquisition unit 134 may calculate the route R using any method that satisfies the above constraints for the projection point V. However, in this embodiment, the route acquisition unit 134 sets constraint conditions and an evaluation function and calculates the route R using an optimization calculation method.

[0070] (Setting constraints) The constraint condition setting unit 1343 of the route acquisition unit 134 sets, as a constraint condition, that the Y coordinate of the projection point V is a value closer to the center in the Y direction of the drivable area B than the Y coordinate of the analysis point group Ma. Here, as shown in FIG. 9 , the projection point V is a point obtained by projecting the analysis point group Ma onto the moving body 10 in the Y direction, assuming that the X coordinate of the moving body 10 (for example, a wheel of the moving body 10) matches the X coordinate of the target position P. Furthermore, in this embodiment, it is preferable that the projection point V is a point obtained by projecting the analysis point group Ma onto the periphery of the occupied area A in the Y direction, assuming that the X coordinate of the moving body 10 matches the X coordinate of the target position P. That is, in this embodiment, the projection point V includes a point obtained by projecting the analysis point group Ma located on the Y side of the center position of the drivable area B onto the moving body 10 (the periphery of the occupied area A) in the direction opposite to the Y direction, and a point obtained by projecting the analysis point group Ma located on the opposite side of the Y side of the center position of the drivable area B onto the moving body 10 (the periphery of the occupied area A) in the Y direction.

[0071] By setting constraints in this manner, it is possible to position the moving body 10 closer to the center in the Y direction than the obstacle O, and therefore it is possible to set the route R so that the moving body 10 does not interfere with the obstacle O.

[0072] An example of a specific constraint condition will be described below using mathematical expressions. The Y coordinate of a projected point V obtained by projecting the analysis point group Ma located on the Y direction side of the center position of the travelable area B onto the moving body 10 is expressed by the following formula (1). In formula (1), y vup (k, i) is the Y coordinate of the projection point V. x(k) is the X coordinate value of the wheel of the moving body 10 located at the target position P, y(k) is the Y coordinate value of the wheel of the moving body 10 located at the target position P, and θ(k) is the attitude angle of the moving body 10 located at the target position P (the angle between the direction in which the moving body 10 is facing and the X direction). x oup (k, i) is the X coordinate value of the analysis point group Ma located on the Y direction side of the center position of the travelable area B. B is the length from the center position in the left-right direction of the moving object 10 to the end point in the left-right direction.

[0073]

number

[0074] The Y coordinate of a projection point V obtained by projecting the analysis point group Ma located on the opposite side of the center position of the travelable area B in the Y direction onto the moving body 10 is expressed by the following formula (2). vlo (k,j) is the Y coordinate of the projection point V. olo (k, j) is the X coordinate value of the analysis point group Ma located on the opposite side of the center position of the drivable area B in the Y direction.

[0075]

number

[0076] In this case, the constraints are expressed as the following equations (3) and (4). oup (k, j) is the Y coordinate value of the analysis point group Ma located on the Y direction side of the center position of the drivable area B. y olp (k, j) is the Y coordinate value of the analysis point group Ma located on the opposite side of the center position of the drivable area B in the Y direction.

[0077]

number

[0078]

number

[0079] (Performing optimization calculations) The optimization calculation execution unit 1344 executes optimization calculations based on the constraint conditions set as described above and an evaluation function that evaluates more highly as the difference between the position of the moving object 10 at each look-ahead step and the destination position G becomes smaller. That is, the optimization calculation execution unit 1344 uses the concept of model predictive control to predict (look ahead) a movement path that satisfies the constraint conditions, and evaluates the difference between the moving object 10 and the destination position G at each look-ahead step using an evaluation function that evaluates more highly as the distance becomes shorter in the relationship between the moving object 10 and the destination position G at each look-ahead step, thereby setting the path R. In this way, the optimization calculation execution unit 1344 can identify the optimal path R, i.e., the optimal position and posture of the moving object 10 at each look-ahead step.

[0080] Specifically, the optimization calculation executing unit 1344 first sets the X coordinate of the target position P of the moving body 10, and calculates the Y coordinate of the target position P and the attitude angle θ of the moving body 10 at the target position P through optimization calculation, thereby calculating the X coordinate, Y coordinate, and attitude angle θ of the target position P for each look-ahead step, and calculating the route R. In other words, the route acquiring unit 134 calculates the Y coordinate and attitude angle θ of the target position P for each target position P, and as shown in Fig. 10, a trajectory connecting each target position P is obtained as the route R. Note that the look-ahead step refers to each target position P after the present (the timing when the position of the obstacle O and the position and attitude of the moving body 10 were most recently detected).

[0081] That is, the route acquisition unit 134 sets the X coordinate of the target position P for each look-ahead step (i.e., so as to be spaced a predetermined distance apart), sets a drivable area B for each look-ahead step based on the X coordinate of the target position P for each look-ahead step, and extracts an analysis point group Ma for each look-ahead step based on the drivable area B for each look-ahead step. The route acquisition unit 134 sets a constraint that the Y coordinate of the projection point V for each look-ahead step be a value closer to the center in the Y direction of the drivable area B than the Y coordinate of the analysis point group Ma, and performs optimization calculations based on the constraints and an evaluation function that evaluates more highly as the difference between the position of the moving object 10 for each look-ahead step and the destination position G becomes smaller, thereby calculating the route R.

[0082] (Example of optimization calculation) A specific example of optimization calculation will be described below. Note that, although the following description will be made using the movement of the moving body 10 on a two-dimensional coordinate plane in the X and Y directions as an example, it is also applicable to a movement model on a three-dimensional coordinate system.

[0083] Here, the optimized route R calculated by the route acquisition unit 134 can be said to be a set of the position and orientation of the target position P (for each X coordinate of the target position P) for each look-ahead step, and can be said to be a future route. The position (coordinates) of the moving body 10 (target position P) in the X and Y directions are expressed as [x, y] T , where θ is the attitude of the moving body 10 (the attitude of the moving body 10 at the target position P), δ is the steering angle of the moving body 10, and u is the system input, the state equations of the moving body 10 are expressed by the following equations (5) and (6). Note that equations (5) and (6) are equations obtained by differentiating y and θ of the state quantities x, y, and θ with respect to x (x is not optimized but is given explicitly). Note that T indicates transpose. Note that, as described above, the description of this embodiment has been given taking the movement on a two-dimensional plane coordinate system as an example. For example, in the case of a movement model on three-dimensional coordinates, the following equations will be adapted to the three-dimensional coordinates. Also, in this embodiment, as described above, the position in the X direction of the moving body 10 (target position P) is set based on the reference position P0 (the previous target position P).

[0084]

number

number

[0085] The variables in the optimization calculation (optimization variables) are as shown in the following equations (7) and (8).

[0086]

number

number

[0087] In this case, the discretized state equation of the moving body 10 is expressed as the following equation (9). Note that L indicates the wheelbase, for example, the distance between the front and rear wheels. Also, k is the index of the target position P. Also, Δx is the distance in the X direction between the X coordinates of the target positions P set previously.

[0088]

number

[0089] Then, in each look-ahead step, the path acquisition unit 134 sets the above-mentioned formulas (3) and (4) and the following formulas (10) and (11) as constraint conditions.

[0090]

number

number

[0091] The constraints can be solved in each look-ahead step in this way because the position and attitude of the moving body 10 in the look-ahead step are calculated and tentatively set based on the motion model.

[0092] The route acquisition unit 134 executes optimization calculations based on the constraint conditions set as described above and an evaluation function that increases the evaluation as the deviation between the position of the moving object 10 at each look-ahead step and the destination position G decreases. In this embodiment, when X is as shown in equation (12) and U is as shown in equation (13), it is assumed that the evaluation function J that optimizes the route R is expressed by the following equation (14).

[0093]

number

number

number

[0094] Here, X can be said to be a vector that summarises the optimization variables shown in equation (7), and U can be said to be a vector that summarises the optimization variables shown in equation (8). In other words, equation (14) shows that the vector X is the target value X ref and the vector U approaches the target value U ref In other words, in this case, the path acquisition unit 134 calculates, as a solution of the optimization calculation, the vectors X and U (i.e., y, θ, δ for each target position) such that the value of J approaches zero. ref , U ref The value of may be set appropriately, for example, the target value X ref is the value corresponding to the target position G, and the target value U ref may be set to 0. Furthermore, Q and R are weighting coefficients and may be set appropriately.

[0095] The method of imposing constraints on the optimization calculation is not limited to the method described above. Furthermore, a nonlinear optimization method such as sequential quadratic programming may be used as a method for solving the optimization problem. The optimization method used here must be capable of solving the optimization problem with constraints. For example, when the constraints are nonlinear functions, it is preferable to use nonlinear optimization, and linear optimization methods may not be suitable.

[0096] (Movement of moving objects) The movement control unit 135 controls the moving object 10 based on the drive conditions acquired by the path acquisition unit 134. The movement control unit 135 drives the power unit 38 under the drive conditions acquired by the path acquisition unit 134. As a result, the movement control unit 135 moves the moving object 10 along the optimized path R. The movement control unit 135 controls the movement of the moving object 10 based on the position and orientation information of the moving object 10 acquired by the self-position information acquisition unit 132 so that the moving object 10 moves along the path R. In this embodiment, the movement control unit 135 generates a control signal to be provided to the power unit 28 based on the drive conditions calculated by the path acquisition unit 134. That is, the movement control unit 135 generates a control signal to realize the drive conditions based on the drive conditions calculated by the path acquisition unit 134. In this example of the present embodiment, the control signal to realize this is generated using the steering angle δ(k) of the moving object 10.

[0097] In the above description, the path acquisition unit 134 performs optimization calculations to calculate, as output, driving conditions for each look-ahead step for realizing an optimized path R, but this is not limiting. For example, the path acquisition unit 134 may calculate an optimized path R by performing optimization calculations. In this case, the path acquisition unit 134 may calculate driving conditions for each look-ahead step based on the optimized path R. Alternatively, the path acquisition unit 134 of the control device 100 may calculate the path R, and another device or program may acquire information about the path R from the control device 100 and calculate driving conditions. In other words, the control device 100 can be said to be a path generation device that sets the path R.

[0098] In the present embodiment, the mobile object 10 includes the control device 100, and the control device 100 included in the mobile object 10 performs processing related to setting the route R. However, the processing related to setting the route R does not necessarily have to be performed by the mobile object 10, but may be performed by an external device such as the management system 12. In this case, the mobile object 10 may acquire the set route R and driving conditions for moving along the route R from an external device, and control the mobile object 10 (power unit 38) using the acquired route R and driving conditions. In other words, the control device 100 may be included in the mobile object 10, or may be included in a device other than the mobile object 10 (e.g., the management system 12). Furthermore, at least one function of the destination position information acquisition unit 131, the self-position information acquisition unit 132, the obstacle information acquisition unit 133, and the route acquisition unit 134 may be included in the mobile object 10, or may be included in another device (e.g., the management system 12).

[0099] In the above description, an obstacle O is detected while the moving object 10 is moving along a predetermined route, and a route R that avoids the obstacle O is set. However, the route R is not limited to being set in response to the detection of the obstacle O as a trigger. For example, the control device 100 and the management system 12 may set the route along which the moving object 10 is scheduled to move in the future as the route R. In this case, the control device 100 and the management system 12 may acquire position information of the origin of the moving object 10 (starting point of the route R), the position of the destination position G, and position information of the obstacle O (for example, a wall or a pillar) whose position is known, and set the route R from the origin of the moving object 10 toward the destination position G in a manner similar to the method described above.

[0100] (Processing flow) Next, the flow of setting a route R will be described. FIG. 11 is a flowchart illustrating the flow of setting a route in the first embodiment. As shown in FIG. 11, in this embodiment, the control device 100 of the moving object 10 acquires various types of position information (step S10). Specifically, the control device 100 acquires position information of a destination position G using the destination position information acquisition unit 131, and acquires position information of an obstacle O using the obstacle information acquisition unit 133. The control device 100 sets the X coordinate of a target position P using the route acquisition unit 134, and sets a drivable area B based on the X coordinate of the target position P (step S12). Then, the route acquisition unit 134 extracts an analysis point group Ma from the point group M located inside the drivable area B (step S14). Then, the route acquisition unit 134 sets a constraint condition that the Y coordinate of the projection point V is a value closer to the center of the drivable area B than the Y coordinate of the analysis point group Ma (step S16), and performs an optimization calculation based on the constraint condition and the evaluation function to set the route R (step S18).

[0101] (effect) As described above, the control device 100 of this embodiment extracts the analysis point group Ma from the point group M indicating the position of the obstacle O, and sets the route R so that the Y coordinate of the projection point V is closer to the center than the Y coordinate of the analysis point group Ma. Therefore, according to this embodiment, it is possible to set a route that appropriately avoids the obstacle while reducing the computational load. Specifically, by extracting the analysis point group Ma from the point group M, it is possible to thin out the point group M used to calculate the route R, thereby reducing the computational load. Furthermore, by setting the Y coordinate of the projection point V to a position closer to the center than the Y coordinate of the analysis point group Ma, it is possible to set a route R that does not interfere with the obstacle O by performing a calculation based on the magnitude of the Y coordinate. Therefore, it is possible to set a route that appropriately avoids the obstacle while reducing the computational load. Furthermore, by setting the X coordinate of the target position P in advance and calculating the Y coordinate and attitude angle θ of the target position P through optimization calculation to set the route R, it is possible to set a route that appropriately avoids the obstacle while reducing the computational load.

[0102] Second Embodiment Next, a second embodiment will be described. The path acquisition unit 134 according to the second embodiment differs from the first embodiment in that it performs coordinate transformation on the point cloud M indicating the position of an obstacle O. In the second embodiment, descriptions of parts that are common to the first embodiment will be omitted.

[0103] 12 is a schematic diagram illustrating coordinate transformation. In the second embodiment, the route acquisition unit 134 determines whether the passage AR0 (the passage through which the route R passes) along which the moving object 10 is about to move is a curved route. The route acquisition unit 134 may use any method to determine whether the passage AR0 is a curved route. For example, the route acquisition unit 134 may acquire the shape of the passage on the traveling direction side of the reference position P0 based on map information of the area AR, and determine that the passage AR0 is a curved route if the shape is a curved passage. Also, for example, the route acquisition unit 134 may determine that the passage AR0 is a curved route if the shape of the reference route R0 on the traveling direction side of the reference position P0 is curved.

[0104] When the passage AR0 is a curved path, the path acquisition unit 134 performs coordinate transformation of the point group M. The path acquisition unit 134 transforms the point group M into coordinates based on the reference path R0 based on the coordinates and orientation of the reference path R0 (the angle between the X direction and the reference path R0). Specifically, the path acquisition unit 134 extracts, from each position on the reference path R0, a position whose X coordinate coincides with the X coordinate of the target position P as the reference position. Then, the path acquisition unit 134 calculates the angle between the X direction and a tangent R0a at the reference position of the reference path R0 as the orientation of the reference position. The path acquisition unit 134 transforms the point group M into coordinates based on the reference position (reference path R0) based on the X coordinate, Y coordinate, and orientation of the reference position. That is, the point cloud M is a coordinate in the coordinate system of the moving body 10 when the obstacle O is detected, or a two-dimensional coordinate system of the area AR, but in this embodiment, the point cloud M is converted into coordinates in a coordinate system based on the reference position (reference path R0).

[0105] The subsequent processing in the second embodiment is the same as that in the first embodiment. That is, in the second embodiment, the coordinate-transformed point cloud M is used to set the drivable area B, extract the analysis point cloud Ma, and set the route R.

[0106] Here, when setting a route R that travels along a curved path, the attitude angle θ of the moving body 10 will tilt significantly. In this case, when projecting the projection point V from the analysis point group Ma, a calculation is required to project the analysis point group Ma onto a rectangular area that is longer forward than the actual vehicle length of the moving body 10. In contrast, by performing coordinate transformation on the point group M as in this embodiment, it is possible to perform optimization calculations by treating the point group M as a straight path, thereby preventing the apparent attitude angle θ of the moving body 10 (i.e., the attitude angle θ in the coordinate system of the reference position) from tilting significantly, thereby suppressing an increase in the calculation load. Note that in the above description, the point group M is coordinate-transformed when it is determined that the passage AR0 is a curved path. However, it is not essential to determine that the passage AR0 is a curved path, and the point group M may be coordinate-transformed in any case.

[0107] (Third embodiment) Next, a third embodiment will be described. The route acquisition unit 134 according to the third embodiment differs from the first embodiment in that it calculates the route R by fixing only the X-axis coordinate of the starting point position of the route R. In the third embodiment, a description of parts that are common to the first embodiment will be omitted. The third embodiment can also be applied to the second embodiment.

[0108] 13 to 15 are schematic diagrams illustrating an example of route setting in the third embodiment.

[0109] In normal route optimization calculations, in order to optimize the X and Y coordinate values ​​and posture of the travel route, there is a problem in that the route cannot be drawn unless the start and end points (destination position G) are determined. Specifically, if neither the start nor end points are given, all route points will gather in the same position in an attempt to minimize the route length.

[0110] For example, it may not be possible to set a travel route that can avoid the obstacle depending on the positional relationship between the moving body 10 and the obstacle. As shown in Fig. 13, if an obstacle O1 exists near the start position S0 of the route R (the reference position P0 when the moving body 10 detected the obstacle O), it is not possible to set a route R that heads in the X direction from the start position S0 of the moving body 10 while avoiding the obstacle O1.

[0111] Therefore, in the third embodiment, the optimization calculation executing unit 1344 fixes only the X coordinate value among the X coordinate, Y coordinate, and attitude angle θ of the start position S, and sets the path R. Furthermore, it is preferable that the optimization calculation executing unit 1344 also fixes only the X coordinate value among the X coordinate, Y coordinate, and attitude angle θ of the target position G, and sets the path R. The optimization calculation executing unit 1344 may set the X coordinate of the start position S to any value, but may also set the X coordinate of the start position S to an X coordinate that is within a predetermined distance in the opposite X direction from the start position S0, which is the original start position.

[0112] As a result, as illustrated in Figure 14, the Y coordinate and attitude angle θ of the starting position S can be set away from the position near the obstacle O1 to set the route R, so that the route R can be appropriately set toward the destination position G while avoiding the obstacle O1.

[0113] The start position S is a position away from the original start position S0, i.e., the current position of the moving body 10. Therefore, the optimization calculation executing unit 1344 may set a route R2 from the start position S0 toward the start position S, i.e., a route R2 that retreats from the start position S0 to the start position S, as shown in FIG. 15. This allows the moving body 10 to retreat to the start position S along the route R2, and then move along the route R. This allows the moving body 10 to appropriately avoid an obstacle by starting to travel after reaching a travel start position of a travel route that can avoid the obstacle.

[0114] (Hardware configuration) The control device 100 according to the above-described embodiment is realized, for example, by a computer 1000 configured as shown in FIG. 16. FIG. 16 is a hardware configuration diagram showing an example of a computer that realizes the functions of the control device according to the present disclosure. The computer 1000 is connected to an output device 1010 and an input device 1020, and has a configuration in which a calculation device 1030, a primary storage device 1040, a secondary storage device 1050, an output IF (Interface) 1060, an input IF 1070, and a network IF 1080 are connected via a bus 1090. Note that when the control device 100 is mounted on a mobile object 10, the output device 1010 and the input device 1020 may be omitted.

[0115] The arithmetic device 1030 operates based on programs stored in the primary storage device 1040 and secondary storage device 1050, programs read from the input device 1020, and the like, and executes various processes. The primary storage device 1040 is a memory device, such as a RAM, that temporarily stores data used by the arithmetic device 1030 for various calculations. The secondary storage device 1050 is a storage device that stores data used by the arithmetic device 1030 for various calculations and various databases, and is realized by a ROM, HDD, flash memory, or the like.

[0116] The output IF 1060 is an interface for transmitting information to be output to an output device 1010 that outputs various types of information, such as a monitor or a printer, and is realized by a connector conforming to a standard such as USB (Universal Serial Bus), DVI (Digital Visual Interface), or HDMI (High Definition Multimedia Interface), etc. The input IF 1070 is an interface for receiving information from various input devices 1020, such as a mouse, keyboard, scanner, etc., and is realized by a USB, etc.

[0117] The input device 1020 may be a device that reads information from, for example, an optical recording medium such as a CD (Compact Disc), a DVD (Digital Versatile Disc), or a PD (Phase Change Rewritable Disk), a magneto-optical recording medium such as an MO (Magneto-Optical disk), a tape medium, a magnetic recording medium, or a semiconductor memory. The input device 1020 may also be an external storage medium such as a USB memory.

[0118] The network IF 1080 receives data from other devices via the network N and sends it to the arithmetic device 1030, and also transmits data generated by the arithmetic device 1030 to other devices via the network N.

[0119] The arithmetic unit 1030 controls the output device 1010 and the input device 1020 via the output IF 1060 and the input IF 1070. For example, the arithmetic unit 1030 loads a program from the input device 1020 or the secondary storage device 1050 onto the primary storage device 1040 and executes the loaded program.

[0120] For example, when the computer 1000 functions as the control device 100, the arithmetic unit 1030 of the computer 1000 realizes the functions of the control unit 130 of the control device 100 by executing a program loaded onto the primary storage device 1040.

[0121] (Composition and Effects) A route setting method according to a first aspect of the present disclosure includes the steps of acquiring information on a destination position G of the moving body 10, acquiring information on the locations of obstacles as a point cloud, and performing a route calculation for the moving body 10. In the step of performing the route calculation for the moving body 10, a drivable area B in which the moving body 10 can move is set based on the position of the moving body 10 in a first direction (X coordinate of the target position P), an analysis point group Ma is extracted from the point group M located within the drivable area B based on the drivable area B, and the analysis point group Ma is projected onto the moving body 10 in a second direction (Y direction) orthogonal to the first direction (X direction), resulting in a projected point V whose coordinate in the Y direction is closer to the center of the drivable area B in the Y direction than the coordinate in the Y direction of the analysis point group Ma, and the route leading to the destination position G is set as the route R of the moving body 10.

[0122] This configuration makes it possible to set a route R that appropriately avoids the obstacle O while reducing the computational load. Specifically, by extracting the analysis point group Ma from the point group M, it is possible to thin out the point group M used to calculate the route R, thereby reducing the computational load. Furthermore, by setting the Y coordinate of the projection point V to a position closer to the center than the Y coordinate of the analysis point group Ma, it is possible to set a route R that does not interfere with the obstacle O through calculations based on the magnitude of the Y coordinate, thereby making it possible to set a route that appropriately avoids the obstacle while reducing the computational load. Furthermore, by setting the X coordinate of the target position P in advance and calculating the Y coordinate and attitude angle θ of the target position P through optimization calculations to set the route R, it is possible to set a route that appropriately avoids the obstacle while reducing the computational load.

[0123] The route setting method of the second aspect is the route setting method of the first aspect, and in the step of performing route calculation, an occupied area A is set including a vehicle body area A1 occupied by the moving body 10, a forward area A2 on the side of the moving body 10's direction of travel, and a rear area A3 on the side opposite the moving body 10's direction of travel, and the point obtained by projecting the analysis point group Ma onto the periphery of the occupied area A is set as a projection point V.

[0124] By setting the projection point V in the occupied area A, which includes the forward area A2 and the rearward area A3, it is possible to prevent the obstacle O from being located in the forward area A2 or the rearward area A3, and to set a route that appropriately avoids the obstacle.

[0125] A route setting method according to a third aspect is a route setting method according to the first or second aspect, and the step of performing route calculation involves setting a drivable area B for each look-ahead step based on the position of the moving body 10 in a first direction (X coordinate of the target position P) for each look-ahead step, extracting an analysis point group Ma for each look-ahead step based on the drivable area B for each look-ahead step, setting a constraint such that the coordinate in the second direction (Y coordinate) of the projection point V for each look-ahead step is a value closer to the center of the drivable area B in the second direction than the coordinate in the second direction (Y coordinate) of the analysis point group Ma, and performing an optimization calculation based on an evaluation function whose evaluation becomes higher as the difference between the position of the moving body 10 for each look-ahead step (target position P) and the destination position G becomes smaller, and the constraint.

[0126] According to this configuration, it is possible to set a route that appropriately avoids obstacles while reducing the computational load through optimization calculations.

[0127] The route setting method of the fourth aspect is a route setting method of any one of the first to third aspects, and further includes a step of acquiring a reference route R0 of the moving body 10. In the step of performing route calculation, the acquired point group M is coordinate-transformed into coordinates based on the reference route R0 based on the coordinates and orientation of the reference route R0, and the coordinate-transformed point group M is used to set a drivable area B and extract an analysis point group Ma.

[0128] According to this configuration, it is possible to prevent the apparent attitude angle θ of the moving body 10 from tilting too much, and to prevent the calculation load from increasing.

[0129] A route setting method according to a fifth aspect is a route setting method according to any one of the first to fourth aspects, and in the step of performing route calculation, route R is set by fixing only the coordinate in the first direction among the coordinate in the first direction (X coordinate), the coordinate in the second direction (Y coordinate), and the direction of the starting point of route R.

[0130] According to this configuration, the Y coordinate and attitude angle θ of the starting position can be set away from the position near the obstacle O to set the route R, so that the route R can be appropriately set toward the destination position G while avoiding the obstacle O.

[0131] A route setting method according to a sixth aspect is the route setting method according to the fifth aspect, and in the step of performing route calculation, a route R2 from the current position (start position S0) of the moving body to the start position S is also set. According to the present disclosure, since the route R2 is set to retreat to the start position S where the obstacle O can be avoided, the moving body 10 can be appropriately directed toward the destination position G while avoiding the obstacle O.

[0132] The moving body 10 according to the seventh aspect moves the moving body 10 along a route R set by the route setting method according to any one of the first to sixth aspects. According to the present disclosure, the moving body 10 can be appropriately directed toward a destination position G while avoiding an obstacle O.

[0133] A moving body 10 according to an eighth aspect includes a route acquisition unit 134 that acquires a route R toward a destination position G, such that the coordinate (Y coordinate) of the projection point V in a second direction orthogonal to the first direction is closer to the center of a travelable area B in the second direction than the coordinate (Y coordinate) of the analysis point group Ma in the second direction, and the route R leads to the destination position G; and a movement control unit 135 that moves the moving body 10 according to the route R. The travelable area B is an area in which the moving body 10 can move, set based on the position (X coordinate) of the moving body in the first direction. The analysis point group Ma is extracted from a point group M that indicates the position of an obstacle O located within the travelable area B based on the travelable area B. The projection point V is a point obtained by projecting the analysis point group Ma onto the moving body 10 in the second direction. According to the present disclosure, the moving body 10 can be appropriately directed toward the destination position G while avoiding the obstacle O.

[0134] The management system 200 according to the ninth aspect transmits the route R set by the route setting method according to any one of the first to sixth aspects to the moving body 10. According to the present disclosure, the moving body 10 can be appropriately directed to the destination position G while avoiding the obstacle O.

[0135] A program according to a tenth aspect causes a computer to execute the following steps: acquiring information on a destination position G of the moving body 10; acquiring information on the locations of obstacles as a point cloud; and calculating a route for the moving body 10. In the step of calculating the route for the moving body 10, a travelable area B in which the moving body 10 can move is set based on the position of the moving body 10 in a first direction (X coordinate of the target position P); based on the travelable area B, an analysis point cloud Ma is extracted from a point cloud M located within the travelable area B; and the analysis point cloud Ma is projected onto the moving body 10 in a second direction (Y direction) perpendicular to the first direction (X direction), resulting in a projected point V whose Y coordinate is closer to the center of the Y direction of the travelable area B than the Y coordinate of the analysis point cloud Ma, and which leads to the destination position G. The present disclosure makes it possible to set a route R that appropriately avoids an obstacle O while reducing the computational load.

[0136] Although the embodiments of the present invention have been described above, the embodiments are not limited to the contents of these embodiments. Furthermore, the above-described components include those that can be easily imagined by a person skilled in the art, those that are substantially the same, and those that are within the scope of what is called equivalents. Furthermore, the above-described components can be combined as appropriate. Furthermore, various omissions, substitutions, or modifications of the components can be made without departing from the spirit of the above-described embodiments. [Explanation of symbols]

[0137] 1. Mobile control system 10 Mobile 100 control device 130 control section 131 Target location information acquisition unit 132 Self-location information acquisition unit 133 Obstacle information acquisition unit 134 Route Acquisition Unit 135 Movement control unit 200 Management System B Drivable area M point cloud Ma analysis point cloud R pathway V projection point

Claims

1. acquiring information on a destination position of a moving object; acquiring information on the positions of obstacles as a point cloud; performing a route calculation for the moving object; In the step of performing the route calculation, setting a travelable area in which the moving body can move based on a position of the moving body in a first direction; extracting an analysis point cloud from the point cloud located inside the drivable area based on the drivable area; a route to the destination position is set as a route of the moving body such that coordinates of projection points of the analysis point group in a second direction perpendicular to the first direction are closer to the center of the travelable area in the second direction than the coordinates of the analysis point group in the second direction; Routing methods.

2. The step of performing the route calculation includes: an occupation area including a vehicle body area occupied by the moving body, a front area in a traveling direction of the moving body, and a rear area on an opposite side to the traveling direction of the moving body; The points obtained by projecting the analysis point group onto the periphery of the occupied area are defined as the projection points. The route setting method according to claim 1 .

3. The step of performing the route calculation includes: setting the travelable area for each look-ahead step based on a position of the moving body in the first direction for each look-ahead step; extracting the analysis point group for each look-ahead step based on the drivable area for each look-ahead step; a constraint condition is set such that the coordinates of the projection points in the second direction for each look-ahead step are values ​​closer to the center of the drivable area in the second direction than the coordinates of the analysis point group in the second direction; performing an optimization calculation based on an evaluation function that increases the evaluation as the difference between the position of the moving object and the destination position at each look-ahead step decreases, and the constraint conditions, to calculate a path for the moving object; 3. The route setting method according to claim 1 or 2.

4. further comprising the step of acquiring a reference path of the moving object; In the step of performing the route calculation, the acquired point cloud is coordinate-transformed into coordinates based on the reference route based on the coordinates and orientation of the reference route, the coordinate-transformed point cloud is used to set the drivable area, and the analysis point cloud is extracted.

3. The route setting method according to claim 1 or 2.

5. In the step of performing the route calculation, setting the path while fixing only the coordinate in the first direction among the coordinate in the first direction, the coordinate in the second direction, and the orientation of the start point position of the path; 3. The route setting method according to claim 1 or 2.

6. In the step of performing the route calculation, A route from the current position of the moving body to the starting position is also set. The route setting method according to claim 5 .

7. moving the moving object along the route set by the route setting method according to claim 1 or 2; Mobile object.

8. a route acquisition unit that acquires a route toward a destination position, in which the coordinates of the projection points in a second direction orthogonal to the first direction are values ​​closer to the center of the travelable area in the second direction than the coordinates of the analysis point group in the second direction; a movement control unit that moves the moving body along the path; Including, the travelable area is an area in which the moving object can move, which is set based on a position of the moving object in a first direction, The analysis point cloud is extracted from a point cloud indicating positions of obstacles located within the travelable area based on the travelable area, the projection points are points obtained by projecting the analysis point cloud onto the moving body in the second direction. Mobile object.

9. 3. A management system that transmits the route set by the route setting method according to claim 1 to the mobile unit.

10. acquiring information on a destination position of a moving object; acquiring information on the positions of obstacles as a point cloud; performing a route calculation for the moving object; A program for causing a computer to execute the following: In the step of performing the route calculation, setting a travelable area in which the moving body can move based on a position of the moving body in a first direction; extracting an analysis point cloud from the point cloud located inside the drivable area based on the drivable area; a route for the moving body that is a route toward the destination position and in which coordinates of projection points, obtained by projecting the analysis point group onto the moving body in a second direction orthogonal to the first direction, in the second direction are values ​​closer to the center of the travelable area in the second direction than the coordinates of the analysis point group in the second direction; program.

Citation Information

Patent Citations

  • Vehicle route generation method, vehicle route generation device, vehicle and program

    JP2022134905A