Route setting method, moving body, management system and program

The method calculates a mobile body's area using overlapping circular or elliptical unit areas to avoid obstacles, optimizing the route planning process and ensuring efficient path navigation.

JP2025156945APending Publication Date: 2025-10-15MITSUBISHI HEAVY IND LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024059725
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-04-02
Publication Date
2025-10-15

AI Technical Summary

Technical Problem

Existing route setting methods for mobile bodies often restrict the settable route excessively when avoiding obstacles, leading to inefficient path planning.

Method used

A route setting method that calculates a moving body's area based on its shape, using overlapping circular or elliptical unit areas to define a moving body area, and sets a route that avoids obstacles without overlapping this area, utilizing optimization calculations to determine the optimal path.

Benefits of technology

Enables efficient and appropriate route setting for mobile bodies by minimizing obstacle interference while ensuring a clear path to the destination.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025156945000001_ABST
    Figure 2025156945000001_ABST
Patent Text Reader

Abstract

To provide a route setting method, a moving body, a management system and a program that are able to properly set a route for the moving body.SOLUTION: A route setting method for a mobile body according to the present disclosure includes: a step of acquiring information on a target position of the mobile body, a step of acquiring information on a position of an obstacle, and a step of executing route calculation for the mobile body. The step of executing the route calculation includes: a step of, based on information on a shape of the mobile body, setting a mobile body region that overlaps an occupied region including a region occupied by the mobile body and that has a shape in which a plurality of circular or elliptical unit regions partially overlap each other; and a step of, based on the information on the position of the obstacle, setting, as a route for the mobile body, a route toward the target position without the obstacle overlapping the mobile body region.SELECTED DRAWING: Figure 4
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 moving body to a destination position, a movement path of the moving body is set by performing various calculations, and the moving body operates autonomously based on this path, thereby moving autonomously.

[0003] For example, Patent Document 1 listed below describes how an obstacle avoidance path is generated by approximating the area occupied by an autonomous moving body with a single ellipse, with the constraint that all obstacles are not contained within that ellipse, and 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] However, if the area occupied by the moving body is set large, the degree of restriction on the settable route may increase when setting a route to avoid obstacles. Therefore, it is required to set the route of the moving body appropriately.

[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 appropriately set the route of a mobile body. [Means for solving the problem]

[0007] In order to solve the above-mentioned problems and achieve the objectives, the route setting method of the present disclosure includes the steps of acquiring information on the destination position of a moving body, acquiring information on the position of an obstacle, and performing a route calculation for the moving body, wherein the step of performing the route calculation includes the steps of setting a moving body area based on information on the shape of the moving body, the moving body area overlapping an occupied area including an area occupied by the moving body and having a shape in which portions of multiple circular or elliptical unit areas overlap each other, and setting, based on information on the position of the obstacle, a route toward the destination position without the obstacle overlapping the moving body area as the route of the moving body.

[0008] In order to solve the above-mentioned problems and achieve the objectives, the moving body of the present disclosure includes a route acquisition unit that acquires a route to a destination position that is set based on information about the position of an obstacle and that does not overlap with the moving body area, and a movement control unit that moves the moving body according to the route, wherein the moving body area overlaps with an occupied area that is set based on information about the shape of the moving body and includes an area occupied by the moving body, and has a shape in which portions of multiple circular or elliptical unit areas overlap each other.

[0009] In order to solve the above-mentioned problems and achieve the object, a management system according to the present disclosure transmits the route set by the route setting method to the mobile object.

[0010] In order to solve the above-mentioned problems and achieve the objectives, the program of 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 position of an obstacle, and performing a route calculation for the moving body, wherein the step of performing the route calculation includes the steps of setting a moving body area based on information on the shape of the moving body, the area overlapping an occupied area including the area occupied by the moving body and having a shape in which portions of multiple circular or elliptical unit areas overlap each other, and setting a route toward the destination position without the obstacle overlapping the moving body area as the route of the moving body based on information on the position of the obstacle. [Effects of the Invention]

[0011] According to the present disclosure, it is possible to provide a control device for a mobile body, a control method for a mobile body, and a program that can appropriately set an occupied area of ​​a mobile body. [Brief explanation of the drawings]

[0012] [Figure 1] FIG. 1 is a diagram illustrating 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 schematically illustrating 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. [Figure 8] FIG. 8 is a schematic diagram illustrating an example of a moving object region. [Figure 9] FIG. 9 is a schematic diagram showing another example of the moving body region. [Figure 10] FIG. 10 is a schematic diagram showing another example of the moving body region. [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 the setting of the moving object region. [Figure 13] FIG. 13 is a flowchart illustrating the flow of setting a moving object region in the second embodiment. [Figure 14] FIG. 14 is a flowchart illustrating a route setting flow in another example of the second embodiment. [Figure 15]FIG. 15 is a flowchart illustrating a route setting flow in another example of the second embodiment. [Figure 16] FIG. 16 is a flowchart illustrating a route setting flow in another example of the second embodiment. [Figure 17] FIG. 17 is a flowchart illustrating the flow of setting a moving object region in the third embodiment. [Figure 18] FIG. 18 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

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

[0014] (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 illustrating an overview of the mobile object control system according to the present disclosure, and Fig. 2 is a diagram illustrating 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, 100B, and 100C shown in Fig. 2, for example.

[0015] The moving body 10 is a mobility that can move autonomously. However, the moving body 10 is not limited thereto 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 include an AGF (Automated Guided Forklift) and an AGV (Automated Guided Vehicle) that move on a two-dimensional plane. As described above, the moving body 10 is a mobility that can move autonomously. 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 thereto and may be any type.

[0016] 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, and a direction along the horizontal direction that is perpendicular to the X direction is defined as the Y direction. Note that area AR may also be a three-dimensional space.

[0017] 1, the moving body 10 moves along a route R. The route R is set by the moving body 10 or the management system 200 so as to head toward a destination position P while avoiding an obstacle O present in an area AR.

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

[0019] The management system 200 is a system that manages the moving body 10, and in this embodiment, sets a destination position P for the moving body 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 moving body 10. The management system 200 may be realized, for example, by a PC (Personal Computer), a WS (Work Station), or a computer having server functions.

[0020] 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).

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

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

[0023] (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 schematically illustrating the configuration of a moving body according to the present disclosure. As shown in FIG. 3, moving body 10 may be a forklift. Specifically, moving body 10 is, for example, an AGF (Automated Guided Forklift). As shown in FIG. 3, 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. Furthermore, body 20 of moving body 10 includes wheels 20A.

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

[0025] 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. 2, 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. 3, the fork 24 has a pair of claws 24A, 24B.

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

[0027] 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 sensors 26 are provided 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. However, the positions at which the sensors 26 are provided are not limited thereto, and the sensors 26 may be provided at any positions, 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.

[0028] 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).

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

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

[0031] The control device 100 controls the movement of the moving object 10. The control device 100 will be described later.

[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 (Local Area Network) 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 P 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 P according to the work content. However, the method of setting the position information of the destination position P 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 a target object to be transported and the origin and destination of transport, set the destination position P based on the order information, and the acquisition unit 231 may acquire the position information of the destination position P from the logistics management system.

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

[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 is responsible for transmitting and receiving various types of information to and from external devices via wired or wireless connections. In the wired case, the communication unit 110 may be realized by, for example, a wired LAN terminal or a NIC (Network Interface Card) equipped with an interface such as a USB (Universal Serial Bus) terminal. In the wireless case, 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), or a sixth-generation mobile communication system (6G), etc.

[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 semiconductor memory elements such as RAM, ROM, flash memory, etc. The auxiliary storage device may be realized by a hard disk, SSD (Solid State Drive), optical disk, etc.

[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 (Central Processing Unit), 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 path 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 path acquisition unit 134 includes an area setting unit 1341, a constraint condition setting unit 1342, and an optimization calculation execution unit 1343. Note that the control unit 130 may execute these processes using a single CPU, or may be provided with multiple CPUs and execute these processes 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 path 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. In this embodiment, 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 in this embodiment, 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 the obstacle O. The obstacle detection unit 150 may be any sensor that can detect the position and orientation of the obstacle O. For example, the obstacle detection unit 150 may be the sensor 26 of a moving object. 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 route and sets a route R to avoid the obstacle O.

[0052] (Get destination location) The destination position information acquisition unit 131 acquires position information of a destination position P, 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 P 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 P from the management system 200, and may set the destination position P by itself.

[0053] (Obtaining self-location) The self-location information acquisition unit 132 acquires information on the position and attitude of the moving object 10 itself. The self-location information acquisition unit 132 controls the self-location detection unit 140 described above to acquire position information (coordinate information) and attitude information (information indicating the orientation) of the moving object 10 itself. Hereinafter, the position information and attitude information will be collectively referred to as position and attitude information, as appropriate. The self-location information acquisition unit 132 sequentially acquires the position and attitude 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 attitude of the moving object 10 itself. For example, an external device such as the management system 200 may detect the position and attitude of the moving object 10, and the self-location information acquisition unit 132 may acquire the detection result as the position and attitude 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] (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 a moving body area B0 in which interference by an obstacle O is prohibited based on information about the shape of the moving body 10, and sets the route R of the moving body 10 based on the moving body area B0. This will be described in detail below.

[0056] (Setting the occupied area) FIG. 7 is a schematic diagram illustrating an example of an occupied area. The area setting unit 1341 of the path acquisition unit 134 sets an occupied area A0 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 A0 is an area used to set the moving body area B0. More specifically, the 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 A0. 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 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 body 10 is stored in the storage unit 120 as design information, and the area setting unit 1341 reads out the information about the shape of the moving body 10 from the storage unit 120.

[0057] Furthermore, in this embodiment, the region setting unit 1341 sets a forward region A2 and a rearward region A3 in addition to the vehicle body region A1, and sets a region including the vehicle body region A1, the forward region A2, and the rearward region A3 (a region that coincides with the entire area of ​​these regions) as the occupied region A0. The forward region A2 and the rearward region A3 are safety regions that are set in consideration of the braking distance required for the moving body 10 to stop. The forward region A2 is a region that is located on the forward side of the moving body 10 with respect to the vehicle body region A1 and adjacent to the vehicle body region A1. The rearward region A3 is a region that is located on the rearward side of the moving body 10 with respect to the vehicle body region A1 and adjacent to the vehicle body region A1. The region 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 region A0 (in this example, the forward region A2 and the rearward region A3) based on the planned speed. The planned speed is set in advance, for example, for each section of planned movement. The region setting unit 1341 sets the size of the occupied region A0 (in this example, the forward region A2 and the rear region A3) so that the occupied region A0 (in this example, the forward region A2 and the rear region A3) becomes larger as the planned speed increases. The region setting unit 1341 sets a forward region A2 of a set size on the forward side of the vehicle body region A1, sets a rear region A3 of a set size on the rear side of the vehicle body region A1, and sets the region including the vehicle body region A1, the forward region A2, and the rear region A3 as the occupied region A0.

[0058] Note that, because the occupied area A0 is the area surrounding the moving body 10, including the vehicle body area A1, the position of the occupied area A0 in the coordinate system of the area AR moves as the moving body 10 moves. Hereinafter, the position of the occupied area A0 may refer to the position of the occupied area A0 in the coordinate system of the moving body 10, unless otherwise specified.

[0059] Furthermore, when the moving object 10 is transporting luggage, the area setting unit 1341 may set the occupied area A0 taking into consideration the size of the luggage. When the moving object 10 is transporting luggage, the area setting unit 1341 may widen the occupied area A0 compared to when the moving object 10 is not transporting luggage. For example, when the area setting unit 1341 determines that the moving object 10 is transporting luggage, it may widen the rear area A3 by a predetermined size compared to when the moving object 10 is not transporting luggage. Note that any method may be used to determine that the moving object 10 is transporting luggage. For example, when the moving object 10 is moving along a route from a position where the luggage is picked up to a position where the luggage is unloaded, it may be determined that the moving object 10 is transporting luggage. Furthermore, the size (predetermined size) by which the rear area A3 is widened may be set arbitrarily, and may be widened by a predetermined size, for example.

[0060] The area setting unit 1341 may also set the occupied area A0 based on the result of detecting the size of the package being transported by the mobile object 10. Any method for detecting the size of the package may be used. For example, a sensor 26 mounted on the mobile object 10 may be used to detect the length of the package being transported by the mobile object 10 that protrudes from the left and right edges of the mobile object 10. For example, when the mobile object 10 retrieves a package, the sensor 26 may insert the claws 24A and 24B into holes in a pallet on which the package is loaded. The protruding length of the package may be calculated by moving the claws 24A and 24B left and right while the claws 24A and 24B are inserted into the holes in the pallet. That is, in this case, the protruding length of the package is calculated based on the amount of left and right movement of the claws 24A and 24B from a state in which the claws 24A and 24B abut on one inner wall of the hole (e.g., the left side) to a state in which the claws 24A and 24B abut on the other inner wall of the hole (e.g., the right side). The area setting unit 1341 may widen the rear area A3 in the left-right direction by the amount of the protruding length of the luggage (or by a length greater than the protruding length).

[0061] For example, there may be a case where the luggage being carried by the moving body 10 is misaligned and protrudes from the rear area A3 and also from the vehicle body area A1. In this case, the area setting unit 1341 may also widen the vehicle body area A1 in the left-right direction by the length of the protruding luggage (or by a length greater than the protruding length).

[0062] (Setting the moving object area) The area setting unit 1341 of the moving object area sets the moving object area B0 based on the occupied area A0. The moving object area B0 refers to an area within which an obstacle O should not be included when the moving object 10 is moving along the route R. In other words, the route acquisition unit 134 sets the route R such that the obstacle O does not overlap with the moving object area B0. Note that the position of the moving object area B0 in the coordinate system of the area AR also moves as the moving object 10 moves. Hereinafter, the position of the moving object area B0 may refer to the position of the moving object area B0 in the coordinate system of the moving object 10, unless otherwise specified.

[0063] 8 is a schematic diagram illustrating an example of a moving body region. The region setting unit 1341 sets the moving body region B0 so that the moving body region B0 overlaps with the occupied region A0 and has a shape in which portions of multiple unit regions B overlap. The shape in which portions of unit regions B overlap refers to a shape in which a portion of the entire area of ​​a unit region B overlaps a portion of another unit region B. Furthermore, the unit region B is a region that has a circular or elliptical shape when viewed from the Z direction. Therefore, the moving body region B0 has a shape in which multiple circular or elliptical shapes are connected together with some overlapping areas.

[0064] In this embodiment, the region setting unit 1341 sets the position and size of the moving object region B0, i.e., the position and size of each unit region B, so that the moving object region B0 overlaps the entire occupied region A0. In this example, the region setting unit 1341 sets the moving object region B0 so that it has a unit region B1 (first unit region) that overlaps with the vehicle body region A1, a unit region B2 (second unit region) that overlaps with the forward region A2, and a unit region B3 (third unit region) that overlaps with the rearward region A3, and so that at least two of the unit regions B1, B2, and B3 overlap with each other. More specifically, in the example of FIG. 8, the region setting unit 1341 sets the moving object region B0 so that the unit regions B3, B1, and B2 are lined up in this order toward the forward direction of the moving object 10. In the example of Figure 8, unit area B1 overlaps with the entire vehicle body area A1, unit area B2 overlaps with the entire forward area A2, unit area B3 overlaps with the entire rearward area A3, the forward area of ​​unit area B1 overlaps with the rearward area of ​​unit area B2, and the rearward area of ​​unit area B1 overlaps with the forward area of ​​unit area B3.

[0065] However, the moving object region B0 does not necessarily overlap the entire occupied region A0, but may overlap only a portion of the occupied region A0. For example, the region setting unit 1341 may set the moving object region B0 so that it overlaps the periphery of the occupied region A0. In this case, the moving object region B0 does not have to overlap the region radially inward of the periphery of the occupied region A0.

[0066] (Another example of a mobile area) 9 and 10 are schematic diagrams showing other examples of moving body regions. In the present embodiment, the region setting unit 1341 sets the moving body region B0 such that a unit region B2 overlapping the forward region A2, a unit region B1 overlapping the vehicle body region A1, and a unit region B3 overlapping the rearward region A3 are arranged in this order in the rearward direction. However, the shape of the moving body region B0 is not limited to this. For example, the number of unit regions B is not limited to three, and may be two, four, or more. In the example of FIG. 9, the region setting unit 1341 sets the moving body region B0 such that two unit regions B, namely, a unit region B1 overlapping the entire forward region A2 and the region forward of the vehicle body region A1, and a unit region B2 overlapping the region rearward of the vehicle body region A1 and the entire rearward region A3, are arranged in this order in the rearward direction.

[0067] Further, for example, the unit areas B do not necessarily need to be arranged in the front-rear direction of the moving body 10, but may also be arranged in the left-right direction of the moving body 10. In the example of Fig. 9, the area setting unit 1341 sets the moving body area B0 so that two unit areas B, namely, a unit area B1 overlapping the left side areas of the forward area A2, the vehicle body area A1, and the rear area A3, and a unit area B2 overlapping the right side areas of the forward area A2, the vehicle body area A1, and the rear area A3, are arranged in this order to the right. Furthermore, the area setting unit 1341 may set the moving body area B0 so as to include unit areas B arranged in the front-rear direction and unit areas B arranged in the left-right direction.

[0068] (Route calculation) Based on the position information of the destination position P, the position information of the obstacle O, and the position and size information of the moving body area B0, the path acquisition unit 134 calculates, as a path R of the moving body 10, a path along which the moving body 10 heads toward the destination position P without the obstacle O overlapping with the moving body area B0. The path acquisition unit 134 may calculate the path R using any method based on this information, but in this embodiment, the path acquisition unit 134 sets constraint conditions and an evaluation function and calculates the path R using an optimization calculation method.

[0069] (Setting constraints) The constraint condition setting unit 1342 of the route acquisition unit 134 sets, as a constraint condition, that the obstacle O does not overlap with the moving body area B0 when the moving body 10 is moving along the route R. In this embodiment, the constraint condition setting unit 1342 sets, as a constraint condition, that the moving body 10 does not interfere with the obstacle O at each look-ahead step, based on the position of the moving body 10, the moving body area B0, and the position of the obstacle O. In other words, the constraint condition is that the moving body area B0 does not interfere with the obstacle O at each look-ahead step.

[0070] (Performing optimization calculations) The optimization calculation execution unit 1343 of the path acquisition unit 134 executes optimization calculations based on the constraint conditions set by the constraint condition setting unit 1342 and an evaluation function that evaluates more highly as the deviation between the position of the moving object 10 and the destination position P at each look-ahead step decreases. That is, the path acquisition unit 134 uses the concept of model predictive control to predict (look ahead) a path that satisfies the constraint conditions, and evaluates the deviation between the moving object 10 and the destination position P with respect to the position of the moving object 10 at each predicted step using an evaluation function that evaluates more highly as the distance between the moving object 10 and the destination position P decreases, thereby specifying the path R. This allows the path acquisition unit 134 to specify the optimal path R, i.e., the optimal position and attitude of the moving object 10 at each look-ahead step.

[0071] (Example of optimization calculation) A specific example of the optimization calculation will be explained below.

[0072] The optimization calculation execution unit 1343 executes an optimization calculation to calculate driving conditions for the moving body 10 that can realize the optimized path R of the moving body 10. The driving conditions refer to input values ​​for operating the power unit 28 of the moving body 10. In this embodiment, the constraint condition setting unit 1342 sets a constraint condition that the moving body region B0 does not interfere with the obstacle O at each look-ahead step in order to execute the optimization calculation. The look-ahead step refers to each discrete time after the present (the time when the position of the obstacle O and the position and posture of the moving body 10 were most recently detected). The optimization calculation execution unit 1343 then executes an optimization calculation based on an evaluation function that evaluates more highly as the deviation between the position of the moving body 10 at each look-ahead step and the target position P decreases, and the constraint conditions, to calculate driving conditions for the moving body 10 that can realize the path R of the moving body 10 optimized by the optimization calculation. Note that, hereinafter, the movement of the moving body 10 on a two-dimensional coordinate plane in the X and Y directions will be described as an example, but the same can also be applied to a movement model on a three-dimensional coordinate system.

[0073] Here, the optimized route R calculated by the optimization calculation execution unit 1343 can be said to be a set of positions and postures of the moving object 10 for each look-ahead step (for each discrete time from the present onward), and can be said to be a future route. The positions (coordinates) of the moving object 10 in the X and Y directions are [x, y]. T If the attitude of the moving body 10 is θ and the look-ahead step (discrete time) is k, the position and attitude of the moving body 10 at look-ahead step k, i.e., the path R at look-ahead step k, is expressed by the following equation (1). Note that T indicates transposition. As mentioned above, the explanation of this embodiment has been given using an example of movement on a two-dimensional plane coordinate system, and if a movement model is used on three-dimensional coordinate systems, for example, the following equations will be adapted to the three-dimensional coordinate system.

[0074]

number

[0075] In this case, the motion model of the moving object 10 is expressed as the following equation (2).

[0076]

number

[0077] In equation (2), Δt is the time width associated with the transition from (k) to (k+1). Δt may be the same as the update period of the route R (the time width between updates of the route R and the next update of the route R), but may also be, for example, shorter or longer than the update period. By making Δt shorter than the update period, a detailed route R can be generated, and by making Δt longer than the update period, the calculation load can be reduced. Furthermore, u(k) is an input to the system and indicates the driving conditions of the moving body 10. In the example of this embodiment, u(k) is expressed as the following equation (3) using the velocity v(k) of the moving body 10 and the steering angle Φ(k) of the moving body 10.

[0078]

number

[0079] When motion is assumed on a two-dimensional plane coordinate system, the state equation of the system, f, is expressed as the following equation (4), for example: L indicates the wheelbase, e.g., the distance between the front and rear wheels.

[0080]

number

[0081] In this embodiment, when setting constraint conditions, the optimization calculation executing unit 1343 provisionally sets the position and posture of the moving body 10 for each look-ahead step. Then, the optimization calculation executing unit 1343 calculates the position (coordinates) of the obstacle O in the coordinate system of the moving body 10 for each look-ahead step. That is, the optimization calculation executing unit 1343 converts the position (coordinates) of the obstacle O in the coordinate system of the direction X and direction Y acquired by the obstacle information acquiring unit 133 into a position (coordinates) having the position of the moving body 10 in the look-ahead step as the coordinate center. For example, the optimization calculation executing unit 1343 calculates the position of the obstacle O in the coordinate system of the moving body 10 using the following equation (5).

[0082]

number

[0083] Note that [x' ob ,y' ob ] is the position of the obstacle O in the coordinate system of the direction X and the direction Y acquired by the obstacle information acquisition unit 133, and [x ob (k),y ob (k)] T is the position of the obstacle O in the coordinate system of the moving body 10 at the look-ahead step k.

[0084] Then, the optimization calculation executing unit 1343 sets, in each look-ahead step, a constraint that the position of the obstacle O is outside the range of the moving object area B0.

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

[0086] (Optimization calculation) The optimization calculation execution unit 1343 executes optimization calculations based on the constraint conditions set as described above and an evaluation function that evaluates more highly as the deviation between the position of the moving object 10 at each look-ahead step and the destination position P decreases. That is, the optimization calculation execution unit 1343 uses the concept of model predictive control to predict (look ahead) a movement path that satisfies the constraint conditions, and evaluates the deviation between the moving object 10 and the destination position P with respect to the position of the moving object 10 at each predicted step using an evaluation function that evaluates more highly as the distance between the moving object 10 and the destination position P decreases, thereby specifying the path R. In this way, the optimization calculation execution unit 1343 can specify the optimal path R, i.e., the optimal position and posture of the moving object 10 at each look-ahead step. In other words, the optimization calculation execution unit 1343 identifies the optimal position and posture of the moving body 10 (i.e., the optimal route R) for each look-ahead step such that the position of the moving body 10 at each look-ahead step satisfies the constraint that it does not interfere with the obstacle O and the deviation between the position of the moving body 10 at each look-ahead step and the target position P is minimized.

[0087] In this embodiment, it is assumed that the objective function V(u, p, k) for optimizing the route R is expressed by the following equation (6).

[0088]

number

[0089] Here, J(u, p, k) is an evaluation function that represents the purpose of optimization, and in the case of a route plan, it is set to a function that includes approaching and arriving at the destination position. In the example of this embodiment, the optimization calculation executing unit 1343 sets the evaluation function J(u, p, k) as shown in the following formula (7).

[0090]

number

[0091] where p r =[x(k),y(k),θ(k)] T is x in equation (8). r, y r , θr are the target position and orientation. A1, A2, and A3 are weighting coefficients that may be set arbitrarily. Under this evaluation function, the position and orientation (p(k)) of the moving body 10 at each look-ahead step k and the target position and orientation (p r ) is optimized so that the deviation from the target position and posture is small. In other words, the optimization result is such that the moving body 10 approaches the target position and posture in the shortest distance.

[0092] By performing the optimization calculation described above, the optimization calculation execution unit 1343 obtains the value of u(k), which is the driving condition (system input) for each look-ahead step, as the output (optimal solution) of the optimization calculation. The driving condition for each look-ahead step obtained by the optimization calculation execution unit 1343 can be said to be the driving condition for realizing the optimized route R. The optimization calculation execution unit 1343 may calculate the optimized route R based on the driving condition for each look-ahead step obtained by the optimization calculation. For example, the optimization calculation execution unit 1343 may calculate the optimized route R by substituting u(k) obtained by the optimization calculation into equation (2).

[0093] The method of imposing constraints on the optimization calculation is not limited to the method described above. For example, constraints may be incorporated into the objective function V(u,p,k) or the evaluation function J(u,p,k). The above description has been given with an example in which there is a single obstacle O, but there may be multiple obstacles O. A nonlinear optimization method such as sequential quadratic programming may be used to solve the optimization problem. The optimization method used here must be capable of solving the optimization problem with constraints. For example, when equation (2) or the constraints are nonlinear functions, it is preferable to use nonlinear optimization, and a linear optimization method may not be suitable.

[0094] (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. In this embodiment, the movement control unit 135 generates a control signal to be given 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 velocity v(k) of the moving object 10 and the steering angle Φ(k) of the moving object 10.

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

[0096] In this 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, such as setting the mobile object area B0 and setting the route R. However, the processing related to setting the route R, such as setting the mobile object area B0 and 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 30 may be included in the mobile object 10 or 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 in another device (e.g., the management system 12).

[0097] 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 P, and position information of an obstacle O (e.g., a wall, a pillar, etc.) whose position is known, and set the route R from the origin of the moving object 10 to the destination position P without the obstacle O overlapping with the moving object region B0 in a manner similar to that described above.

[0098] (Processing flow) Next, a route R setting flow in the first embodiment will be described. FIG. 11 is a flowchart illustrating a route setting flow in the first embodiment. As shown in FIG. 11, in this embodiment, the control device 100 of the moving object 10 acquires various position information (step S10). Specifically, the control device 100 acquires position information of the destination position P using the destination position information acquisition unit 131, and acquires position information of the obstacle O using the obstacle information acquisition unit 133. The control device 100 sets, using the area setting unit 1341, a moving object area B0 that overlaps with an occupied area A0 including an area occupied by the moving object 10 and has a shape in which parts of multiple unit areas B overlap each other (step S12). Then, the control device 100 sets, using the constraint condition setting unit 1342, a constraint condition that the obstacle O does not overlap with the moving object area B0 (step S14), and the optimization calculation execution unit 1343 executes optimization calculation based on the constraint condition and the evaluation function to set the route R (step S16).

[0099] (effect) As described above, the control device 100 of this embodiment sets a moving body area B0 that overlaps with an occupied area A0 including the area occupied by the moving body 10 and has a shape in which parts of multiple unit areas B overlap each other. Then, the control device 100 sets a route R for the moving body 10 that leads to the destination position P without the obstacle O overlapping with the moving body area B0. Since the moving body area B0 is an area into which the moving body 10 may enter, by setting the route R so that the obstacle O does not overlap with the moving body area B0, the moving body 10 can move while suppressing interference with the obstacle O.

[0100] Furthermore, if the moving object area B0 is set too small, the route can be set flexibly, but it may not be possible to avoid interference with obstacles O. On the other hand, if the moving object area B0 is set too large, the settable route may be highly restricted when setting a route to avoid obstacles O. For example, if the moving object area B0 is set as a single ellipse or circle, setting the moving object area B0 to a size sufficient to avoid interference with obstacles O may result in the moving object area B0 being larger than the original occupied area A0 of the moving object 10, which may result in a high degree of restriction on the settable route. In this case, for example, the width of the passage may need to be widened, thereby narrowing the operational range. In contrast, in this embodiment, the moving object area B0 is set so that portions of multiple circular or elliptical unit areas B overlap with each other. This prevents the area of ​​the moving object area B0 from becoming excessively large, even when the moving object area B0 is set to a size sufficient to avoid interference with obstacles O, making it possible to set the route R flexibly. As such, according to this embodiment, the route of the moving object 10 can be appropriately set.

[0101] (Second embodiment) Next, a second embodiment will be described. The second embodiment differs from the first embodiment in that the moving object region B0 is set using optimization calculations. In the second embodiment, the description of the parts of the configuration common to the first embodiment will be omitted.

[0102] 12 is a schematic diagram illustrating the setting of a moving object region. In the second embodiment, the moving object region B0 is set by setting the position and size of the unit region B using optimization calculations. This will be described in detail below.

[0103] (Setting the occupied area) In the second embodiment, the area setting unit 1341 sets the occupied area A0. The method for setting the occupied area A0 in the second embodiment is the same as in the first embodiment, and therefore detailed description will be omitted. In this example, the area setting unit 1341 sets an area including a vehicle body area A1, a front area A2, and a rear area A3 as the occupied area A0.

[0104] (Setting the number of unit areas) In the second embodiment, the region setting unit 1341 sets the number of unit regions B included in the moving object region B0. The method for setting the number of unit regions B may be arbitrary, but in this embodiment, for example, the region setting unit 1341 sets a predetermined number as the number of unit regions B. The number of unit regions B may be arbitrary, but is preferably, for example, between two and five. Furthermore, for example, the region setting unit 1341 may set the number of unit regions B based on information about the shape of the moving object 10. For example, if the moving object 10 has one fork 24, the region setting unit 1341 may set the number of unit regions B to three, and if the moving object 10 has two forks 24 aligned in the left-right direction, the region setting unit 1341 may set the number of unit regions B to four. In the following, an example in which there are three unit regions B will be described.

[0105] (Setting unit occupied area) The area setting unit 1341 divides the occupied area A0 into a plurality of unit occupied areas A based on the number of unit areas B. In this embodiment, the area setting unit 1341 divides the occupied area A0 into the same number of unit occupied areas A as the number of unit areas B. In this example, since the number of unit areas B is three, the area setting unit 1341 divides the occupied area A0 into three unit occupied areas A.

[0106] The position and size of each unit occupation area A may be set arbitrarily. In the example of Fig. 12, the area setting unit 1341 divides the occupation area A0 into a unit occupation area A that overlaps with the vehicle body area A1, a unit occupation area A that overlaps with the front area A2, and a unit occupation area A that overlaps with the rear area A3. Note that, for example, if the moving object 10 has two forks 24 aligned in the left-right direction and the number of unit areas B is set to four, the area setting unit 1341 may divide the occupation area A0 into a unit occupation area A that is the area to the left of the vehicle body area A1, a unit occupation area A that is the area to the right of the vehicle body area A1, a unit occupation area A that is the front area A2, and a unit occupation area A that is the rear area A3.

[0107] (Setting constraints) The region setting unit 1341 sets, for each unit occupation area A, a constraint that the unit area B overlaps with a position on the periphery of the unit occupation area A. That is, the region setting unit 1341 assigns one unit area B to each unit occupation area A. Then, the region setting unit 1341 sets, for each unit occupation area A, a constraint that the unit area B assigned to that unit occupation area A overlaps with a position P on the periphery of that unit occupation area A. That is, in the example of FIG. 12 , the region setting unit 1341 assigns unit area B1 to the unit occupation area A corresponding to the vehicle body region A1, assigns unit area B2 to the unit occupation area A corresponding to the front region A2, and assigns unit area B3 to the unit occupation area A corresponding to the rear region A3. Then, the area setting unit 1341 sets the following constraints: unit area B1 overlaps with position P1 on the periphery of unit occupied area A corresponding to vehicle body area A1; unit area B2 overlaps with position P2 on the periphery of unit occupied area A corresponding to front area A2; and unit area B3 overlaps with position P2 on the periphery of unit occupied area A corresponding to rear area A3.

[0108] Here, the area setting unit 1341 may set the position P on the periphery of the unit occupation area A using any method based on the position and size of the unit occupation area A. For example, the area setting unit 1341 may calculate the coordinates of each position on the periphery of the unit occupation area A from the position and size of the unit occupation area A, and select some of the positions on the periphery of the unit occupation area A as the position P on the periphery of the unit occupation area A. In this case, for example, the area setting unit 1341 may select a corner position on the periphery of the unit occupation area A as the position P on the periphery of the unit occupation area A. In the example of FIG. 12, since each unit occupation area A is rectangular, the area setting unit 1341 selects a vertex of the rectangle of the unit occupation area A as the position P on the periphery of the unit occupation area A.

[0109] Furthermore, in the above description, position P on the periphery of unit occupation area A is set as coordinates (points) without a range, but this is not limiting, and an area of ​​a predetermined size centered around central coordinates (center point) may be set as position P. In this case, for example, area setting unit 1341 may set a point on the periphery of unit occupation area A as central coordinates (center point), and set a circle of a predetermined radius centered around the central coordinates as position P. The predetermined radius here may be set appropriately taking into consideration detection errors, dimensional errors of moving body 10, etc.

[0110] The region setting unit 1341 may also include in the constraint conditions conditions other than the unit region B overlapping with the position P on the periphery of the unit occupation region A. For example, the region setting unit 1341 may set as a constraint condition that the size (length in the front-back and left-right directions) of the unit region B falls within a range of predetermined upper and lower limits. Also, for example, the region setting unit 1341 may set as a constraint condition that the ratio of the major axis to the minor axis of the unit region B falls within a range of predetermined upper and lower limits.

[0111] (Optimization calculation) The area setting unit 1341 sets the area of ​​the unit area B as an evaluation function, and performs an optimization calculation to minimize the evaluation function while observing the constraint conditions set as described above, thereby calculating the position and size of each unit area B.

[0112] The region setting unit 1341 performs optimization calculations for each unit region B to calculate the position and size of the unit region B for each unit region B. That is, for a target unit region B, the region setting unit 1341 calculates, as the optimized position and size (solution) of the unit region B, the position and size of the unit region B at which the size of the unit region B is minimized while observing the constraint that all positions P on the periphery of the assigned unit occupation region A fall within the unit region B. The region setting unit 1341 performs similar calculations for each unit region B to calculate the position and size of each unit region B. For example, in the example of FIG. 12 , the region setting unit 1341 calculates, as the optimized position and size (solution) of the unit region B1, the position and size of the unit region B1 at which the size of the unit region B1 is minimized while observing the constraint that all positions P1 on the periphery of the vehicle body region A1 fall within the unit region B1. Similarly, the region setting unit 1341 calculates the position and size (solution) of the unit region B2 where the size of the unit region B2 is minimum while observing the constraint that all positions P2 on the periphery of the front region A2 fall within the unit region B2. Similarly, the region setting unit 1341 calculates the position and size (solution) of the unit region B3 where the size of the unit region B3 is minimum while observing the constraint that all positions P3 on the periphery of the rear region A3 fall within the unit region B3.

[0113] The area setting unit 1341 sets the moving object area B0 based on the position and size of each unit area B set in this way. The process of setting the route R using the moving object area B0 is the same as in the first embodiment, and therefore description thereof will be omitted.

[0114] (Processing flow) Next, a flow of setting a moving object region in the second embodiment will be described. FIG. 13 is a flowchart illustrating a flow of setting a moving object region in the second embodiment. As shown in FIG. 13, the region setting unit 1341 sets the number of unit regions B (step S20), and sets a unit occupation region A based on the number of unit regions B (step S22). For each unit occupation region A, the region setting unit 1341 sets a constraint that the unit region B overlaps with a position P on the periphery of the unit occupation region A (step S24), and performs optimization calculations based on the constraint and an evaluation function to set the position and size of each unit region B (step S26). The region setting unit 1341 calculates the position and size of the unit region B that minimizes the size of the unit region B while observing the constraint that all positions P on the periphery of the unit occupation region A fall within the unit region B. The region setting unit 1341 sets a moving object region B0 based on the position and size of each unit region B set in this manner.

[0115] (effect) As in the second embodiment, by setting the position and size of the unit area B through optimization calculation, it is possible to set a mobile body area B0 that does not become excessively large in area while appropriately suppressing interference between the obstacle O and the mobile body 10. Therefore, according to this embodiment, it is possible to appropriately set the route R. Furthermore, in the second embodiment, the number of unit areas B is set, and the same number of unit occupied areas A as the unit areas B are set, and optimization calculation is performed, so it is possible to appropriately set a mobile body area B0 that does not become excessively large in area while suppressing an increase in the calculation load.

[0116] (Other examples) Next, another example of the second embodiment will be described.

[0117] (Another example 1) 14 is a flowchart illustrating a route setting flow in another example of the second embodiment. This example differs from the second embodiment in that, when it is not possible to set a route R using the set mobile object area B0, the number of unit areas B is increased and the mobile object area B0 is set again.

[0118] 14, the area setting unit 1341 of this example sets a moving object area B0 in the same manner as in the second embodiment based on the number of unit areas B set in the same manner as in the second embodiment (step S30). Then, in this example, the path acquisition unit 134 attempts to set a path R toward the destination position P without overlapping the obstacle O with the moving object area B0 in the same manner as in the first and second embodiments (step S32).

[0119] If the route R cannot be set (step S34; No), that is, for example, if an optimized route R leading to the destination position P without overlapping the obstacle O with the moving-object region B0 cannot be set, the region setting unit 1341 increases the number of unit regions B (step S36), returns to step S30, and resets the moving-object region B0 in a similar manner based on the reset (increased) number of unit regions B, and continues the subsequent processing. Note that the number of unit regions B to be increased is, for example, one, but is not limited to this and may be any number. If the route R can be set (step S34; Yes), that is, for example, if an optimized route R leading to the destination position P without overlapping the obstacle O with the moving-object region B0 can be set, this processing is terminated. Note that, for example, if the route R cannot be set even after increasing the number of unit regions B to a predetermined upper limit, this processing may be terminated, as it is determined that the route R cannot be set. In this case, for example, the calculation conditions for the route R may be changed so that the route R passes through a section that was set not to pass through when the original route R was set, and the setting of the route R may be repeated.

[0120] Increasing the number of unit areas B allows the mobile object area B0 to be set narrower, increasing the possibility of setting the route R. Therefore, as in this example, when the route R cannot be set, increasing the number of unit areas B and trying to set the route R again makes it possible to set the route R appropriately.

[0121] Furthermore, in the above example, when route R could not be set, the number of unit areas B was increased and route R was re-set. However, the reverse process is also possible. That is, for example, when route R can be set using a moving body area B0 calculated based on the set number of unit areas B, the number of unit areas B may be reduced, the moving body area B0 may be re-calculated, and route R may be set using the re-calculated moving body area B0. In this case, when route R can be set by reducing the number of unit areas B, the route R may be adopted as the actual route of the moving body 10. This makes it possible to set route R with as few unit areas B as possible. Note that this process can be used, for example, to set an avoidance route when the moving body 10 detects an obstacle O, but is particularly effective when a route along which the moving body 10 is scheduled to move is set in advance.

[0122] (Another example 2) 15 is a flowchart illustrating a route setting flow in another example of the second embodiment. This example differs from the second embodiment in that, if it is not possible to set a route R using the set mobile object area B0, the planned speed of the mobile object 10 is reduced and the mobile object area B0 is set again.

[0123] 15, the region setting unit 1341 of this example sets an occupied region A0 and a moving body region B0 based on a set expected speed (a moving speed that the moving body 10 is scheduled to adopt when moving along the route R) in a manner similar to that of the first and second embodiments (step S40). That is, for example, the region setting unit 1341 sets the size of a forward region A2 and the size of a rearward region A3 based on the expected speed, and sets an occupied region A0 including a vehicle body region A1, a forward region A2, and a rearward region A3 based on these. The region setting unit 1341 of this example sets a moving body region B0 based on the set occupied region A0 in a manner similar to that of the second embodiment.

[0124] Then, the route acquisition unit 134 attempts to set a route R toward the destination position P without the obstacle O overlapping the moving object area B0, using the same method as in the first and second embodiments (step S42).

[0125] If the route R cannot be set (step S44; No), that is, for example, if an optimized route R leading to the destination position P without the obstacle O overlapping the mobile object area B0 cannot be set, the area setting unit 1341 reduces the expected speed (step S46), returns to step S40, and re-sets the occupied area A0 and the mobile object area B0 in a similar manner based on the reset (reduced) expected speed, and continues the subsequent processing. Note that the degree of reduction in the expected speed may be arbitrary. If the route R can be set (step S44; Yes), that is, for example, if an optimized route R leading to the destination position P without the obstacle O overlapping the mobile object area B0 can be set, this processing ends. Note that, for example, if the route R cannot be set even after reducing the expected speed to a predetermined lower limit, this processing may be ended, as it is determined that the route R cannot be set. In this case, for example, the calculation conditions for the route R may be changed so that the route R passes through a section that was not set to pass through when the original route R was set, and the setting of the route R may be repeated.

[0126] By reducing the planned speed, the occupied area A0 (in this example, the forward area A2 and the backward area A3) can be set narrower, and accordingly the moving body area B0 can also be set narrower, increasing the possibility of being able to set the route R. Therefore, as in this example, when the route R cannot be set, by reducing the planned speed and trying to set the route R again, it becomes possible to set the route R appropriately.

[0127] Furthermore, in the above example, when route R cannot be set, route R is reset by lowering the planned speed. However, the reverse process is also possible. That is, for example, when route R can be set using a moving object area B0 calculated based on a set planned speed, the planned speed may be increased, the moving object area B0 may be recalculated, and route R may be set using the recalculated moving object area B0. In this case, when route R can be set by increasing the planned speed, route R may be adopted as the actual route of the moving object 10, and the planned speed may be set as the upper limit speed of the moving object 10. In this way, route R can be set while increasing the upper limit speed of the moving object 10. Note that this process can be used, for example, to set an avoidance route when the moving object 10 detects an obstacle O, but is particularly effective when a route along which the moving object 10 is scheduled to travel is set in advance.

[0128] (Other example 3) As in this example, it is also possible to combine the above-described Alternative Example 1 and Alternative Example 2. Fig. 16 is a flowchart illustrating a route setting flow in another example of the second embodiment.

[0129] 16, the area setting unit 1341 of this example sets a moving object area B0 based on the set expected speed and the number of unit areas B in the same manner as in the second embodiment (step S50). That is, the area setting unit 1341 sets an occupied area A0 based on the set expected speed, and sets a moving object area B0 based on the number of unit areas B. The route acquisition unit 134 attempts to set a route R toward the destination position P without overlapping the obstacle O with the moving object area B0 in the same manner as in the first and second embodiments (step S52).

[0130] If the route R cannot be set (step S54; No) and the currently set planned speed is equal to or greater than the predetermined threshold (step S56; Yes), the area setting unit 1341 reduces the planned speed (step S58), returns to step S50, and resets the occupied area A0 and the mobile object area B0 in a similar manner based on the reset (reduced) planned speed, and continues the subsequent processing. On the other hand, if the route R cannot be set (step S54; No) and the currently set planned speed is less than the predetermined threshold (step S56; No), the area setting unit 1341 increases the number of unit areas B (step S59), returns to step S50, and resets the mobile object area B0 in a similar manner based on the reset (increased) number of unit areas B, and continues the subsequent processing. Note that if the route R can be set (step S54; Yes), this processing ends.

[0131] In this way, in this example, the process of reducing the planned speed and resetting the route R is repeated until the planned speed becomes less than the threshold value, and if the route R still cannot be set, the process switches to the process of increasing the number of unit areas B and resetting the route R. By initially reducing the planned speed, the route R can be appropriately set while suppressing an increase in the calculation load for setting the mobile object area B0.

[0132] However, the present invention is not limited to this, and the process of increasing the number of unit areas B and setting the route R may be repeated until the number of unit areas B reaches a predetermined threshold, and if the route R still cannot be set, the process may be switched to a process of lowering the planned speed and resetting the route R. This allows the route R to be set without lowering the planned speed as much as possible, thereby preventing the travel time from becoming longer.

[0133] (Third embodiment) Next, a third embodiment will be described. The third embodiment differs from the second embodiment in that the number of unit regions B is also set using optimization calculations. In the third embodiment, a description of the configuration common to the second embodiment will be omitted.

[0134] (Setting the occupied area) In the third embodiment, the area setting unit 1341 sets the occupied area A0. The method for setting the occupied area A0 in the third embodiment is similar to that in the first and second embodiments, and therefore detailed description will be omitted. In this example, the area setting unit 1341 sets an area including a vehicle body area A1, a front area A2, and a rear area A3 as the occupied area A0.

[0135] (Setting constraints) The region setting unit 1341 sets, as a constraint condition, that at least one of the unit regions B overlaps with a position P on the periphery of the occupied region A0. That is, the region setting unit 1341 sets, as a constraint condition, that all of the positions P on the periphery of the occupied region A0 overlap with at least one of the unit regions B. In other words, in this embodiment, the constraint condition is set such that all of the positions P on the periphery of the occupied region A0 are within the area of ​​any of the unit regions B.

[0136] Here, the region setting unit 1341 may set the position P on the periphery of the occupied region A0 using any method based on the position and size of the occupied region A0. For example, the region setting unit 1341 may calculate the coordinates of each position on the periphery of the occupied region A0 from the position and size of the occupied region A0, and select some of the positions on the periphery of the occupied region A0 as the position P on the periphery of the occupied region A0. In this case, for example, the region setting unit 1341 may select corner positions on the periphery of the occupied region A0 as the position P on the periphery of the occupied region A0. Using FIG. 12 as an example, the region setting unit 1341 selects the four corner positions of the vehicle body region A1, the four corner positions of the front region A2, and the four corner positions of the rear region A3 as the position P on the periphery of the occupied region A0.

[0137] Furthermore, in the above description, position P on the periphery of occupied area A0 is set as coordinates (points) without a range, but this is not limiting, and an area of ​​a predetermined size centered on central coordinates (center point) may be set as position P. In this case, for example, area setting unit 1341 may set a point on the periphery of unit occupied area A as central coordinates (center point), and set a circle of a predetermined radius centered on the central coordinates as position P. The predetermined radius here may be set appropriately taking into consideration detection errors, dimensional errors of moving body 10, etc.

[0138] The region setting unit 1341 may also include in the constraint conditions conditions other than the condition that at least one of the unit regions B overlaps with the position P on the periphery of the occupied region A0. For example, the region setting unit 1341 may set as a constraint condition that the size (length in the front-back and left-right directions) of the unit region B falls within a range of predetermined upper and lower limits. Also, for example, the region setting unit 1341 may set as a constraint condition that the ratio of the major axis to the minor axis of the unit region B falls within a range of predetermined upper and lower limits.

[0139] (Optimization calculation) The area setting unit 1341 sets the difference between the moving object area B0 and the occupied area A0 (the area of ​​the moving object area B0 minus the area of ​​the occupied area A0) as the evaluation function. Note that the area of ​​the moving object area B0 is the area of ​​the area surrounded by the periphery of the moving object area B0, and can also be said to be the area obtained by subtracting the area of ​​the area where the unit areas B overlap from the total area of ​​each unit area B.

[0140] The region setting unit 1341 observes the constraint conditions set as described above, and executes an optimization calculation to minimize the evaluation function set as described above, thereby calculating the number, positions, and sizes of unit regions B. That is, the region setting unit 1341 calculates, as the optimized number, positions, and sizes (solution) of unit regions B, the number, positions, and sizes of unit regions B that satisfy the constraint condition that all positions P on the periphery of the occupied region A0 overlap with at least one of the unit regions B, and that minimize the difference between the moving body region B0 and the occupied region A0.

[0141] The area setting unit 1341 sets the moving object area B0 based on the number, positions, and sizes of the unit areas B set in this way. The process of setting the route R using the moving object area B0 is the same as in the first embodiment, and therefore a description thereof will be omitted.

[0142] (Processing flow) Next, a flow for setting a moving object region in the third embodiment will be described. Fig. 17 is a flowchart for explaining a flow for setting a moving object region in the third embodiment. As shown in Fig. 17, the region setting unit 1341 sets, as a constraint condition, that at least one of the unit regions B overlaps with a position P on the periphery of the occupied region A0 (step S60), and performs optimization calculations based on the constraint condition and an evaluation function to set the number, positions, and sizes of the unit regions B (step S62). The region setting unit 1341 sets the moving object region B0 based on the number, positions, and sizes of the unit regions B set in this manner.

[0143] (effect) As in the third embodiment, by setting the number, positions, and sizes of unit areas B through optimization calculations, it is possible to set a mobile body area B0 that does not become excessively large in area while appropriately suppressing interference between the obstacle O and the mobile body 10. Therefore, according to this embodiment, it is possible to appropriately set the route R. Furthermore, in the third embodiment, since the number of unit areas B is also calculated through optimization calculations, the number of unit areas B can also be optimized, and the route R can be appropriately set.

[0144] (Hardware configuration) The control device 100 according to the above-described embodiment is realized by a computer 1000 having a configuration as shown in FIG. 18, for example. FIG. 18 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.

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

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

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

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

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

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

[0151] (Composition and Effects) The route setting method according to the first aspect includes the steps of acquiring information on the destination position of the moving body 10, acquiring information on the position of an obstacle O, and performing route calculation for the moving body 10. The step of performing route calculation includes the steps of setting a moving body area based on information on the shape of the moving body 10, the area overlapping an occupied area including the area occupied by the moving body 10 and having a shape in which portions of multiple circular or elliptical unit areas overlap each other, and setting, based on information on the position of the obstacle O, a route leading to the destination position without the obstacle O overlapping the moving body area as the route for the moving body 10.

[0152] According to this configuration, it is possible to set a moving body area that overlaps with an occupied area including an area occupied by the moving body 10 and has a shape in which portions of multiple unit areas overlap each other. Then, a route toward a destination position without any obstacles overlapping with the moving body area is set as the route R of the moving body 10. Since the moving body area is an area into which the moving body 10 may enter, by setting the route R so that the obstacle O does not overlap with the moving body area, it is possible to move the moving body 10 while suppressing interference with the obstacle O. Therefore, it is possible to provide a route setting method that can appropriately set the route of the moving body 10.

[0153] The route setting method according to the second aspect is the route setting method according to the first aspect, and the step of performing route calculation includes the steps of setting a constraint condition that the position of the obstacle O is outside the range of the mobile body area based on the position of the mobile body 10, the mobile body area, and the position of the obstacle O, and performing an optimization calculation based on an evaluation function that evaluates higher the smaller the difference between the position of the mobile body 10 and the destination position, and the constraint condition, to calculate the route of the mobile body 10.

[0154] According to this configuration, it is possible to flexibly set the route R based on the moving object region B0, which prevents the area of ​​the moving object region B0 from becoming excessively large. Therefore, it is possible to provide a route setting method that can appropriately set the route of the moving object 10.

[0155] A route setting method according to a third aspect is a route setting method according to the first or second aspect, and in the step of setting a moving body area, the moving body area is set to include a first unit area which is a unit area overlapping the area occupied by the moving body 10, a second unit area which is a unit area overlapping the front area in the direction of travel of the moving body 10, and a third unit area which is a unit area overlapping the rear area on the opposite side to the direction of travel of the moving body 10, and at least two of the first unit area, the second unit area, and the third unit area overlap each other.

[0156] According to this configuration, even if the moving body region B0 is set to a size sufficient to avoid interference from the obstacle O, the area of ​​the moving body region B0 can be prevented from becoming excessively large, and it becomes possible to flexibly set the route R. Therefore, it is possible to provide a route setting method that can appropriately set the route of the moving body 10.

[0157] A route setting method according to a fourth aspect is a route setting method according to the first to third aspects, in which the step of setting the mobile body area includes the steps of setting the number of unit areas included in the mobile body area, dividing the occupied area into unit occupied areas of the same number as the unit areas, and, for each unit occupied area, setting the area of ​​the unit area as an evaluation function, with the constraint that the unit area overlaps with a position on the periphery of the unit occupied area, and performing an optimization calculation to minimize the evaluation function while observing the constraint, thereby setting the position and size of each unit area and setting the mobile body area.

[0158] According to this configuration, by setting the position and size of the unit area through optimization calculation, it is possible to set a mobile body area B0 that does not become excessively large in area while appropriately suppressing interference between the obstacle O and the mobile body 10. Therefore, according to this embodiment, it is possible to appropriately set the route R. By setting the number of unit areas B and setting the same number of unit occupying areas A as the unit areas B and performing optimization calculation, it is possible to appropriately set a mobile body area B0 that does not become excessively large in area while suppressing an increase in the calculation load. Therefore, it is possible to provide a route setting method that can appropriately set the route of the mobile body 10.

[0159] The route setting method of the fifth aspect is a route setting method of the first to fourth aspects, in which, in the step of setting a moving body area, if an obstacle does not overlap with the moving body area and a route toward the destination position cannot be set, the number of unit areas is increased and the moving body area is reset, and in the step of performing route calculation, a route for the moving body is set based on the reset moving body area.

[0160] According to this configuration, when it is not possible to set the route R, it is possible to reset the route R by increasing the number of unit areas B. This makes it possible to set the route R with as few unit areas B as possible. Therefore, it is possible to provide a route setting method that can appropriately set the route of the moving body 10.

[0161] The route setting method of the sixth aspect is a route setting method of the first to fifth aspects, in which, in the step of setting the moving body area, the occupied area is set based on the planned speed of the moving body 10 so that the occupied area becomes wider as the planned speed increases, and if an obstacle O does not overlap with the moving body area and a route to the destination position cannot be set, the planned speed is reduced and the occupied area is reset, the moving body area is reset based on the reset occupied area, and in the step of performing route calculation, a route for the moving body 10 is set based on the reset moving body area.

[0162] According to this configuration, by reducing the planned speed, the occupied area can be set smaller, and accordingly the moving body area can also be set smaller, increasing the possibility of being able to set route R. Therefore, if route R cannot be set, by reducing the planned speed and attempting to set route R again, route R can be set appropriately. Therefore, it is possible to provide a route setting method that can appropriately set the route of moving body 10.

[0163] A route setting method according to a seventh aspect is a route setting method according to any one of the first to sixth aspects, in which in the step of setting the moving body area, upper and lower limit values ​​of the major axis radius and the minor axis radius of the unit area are further set as constraint conditions.

[0164] According to this configuration, by setting upper and lower limit values ​​for the unit area and the upper and lower limit values ​​for the minor axis radius as constraints, it is possible to prevent the moving body area from becoming excessively large. Therefore, it is possible to provide a route setting method that can appropriately set the route of the moving body 10.

[0165] The route setting method of the eighth aspect is a route setting method of the first to seventh aspects, in which the step of setting the moving body area includes a step of setting the difference between the moving body area and the occupied area as an evaluation function, with the constraint that at least one of the unit areas overlaps with a position on the periphery of the occupied area, and a step of performing an optimization calculation to minimize the evaluation function while observing the constraint, thereby setting the number, size and position of each unit area and setting the moving body area.

[0166] According to this configuration, by setting the number, positions, and sizes of unit areas through optimization calculations, it is possible to set a mobile body area that does not become excessively large in area while appropriately suppressing interference between the obstacle O and the mobile body 10. Therefore, it is possible to appropriately set the route R. Since the number of unit areas is also calculated through optimization calculations, the number of unit areas can also be optimized, and the route R can be appropriately set. Therefore, it is possible to provide a route setting method that can appropriately set the route of the mobile body 10.

[0167] The moving body 10 according to the first embodiment moves along a route set by a route setting method.

[0168] According to this configuration, a moving body area is set that overlaps with an occupied area including the area occupied by the moving body 10 and has a shape in which parts of multiple unit areas overlap each other, and a route to a destination position where no obstacles overlap with the moving body area is set as the route R of the moving body 10, and the moving body 10 can move according to the route R. Therefore, it is possible to provide a moving body 10 whose route can be appropriately set.

[0169] The moving body 10 of the second embodiment is the moving body 10 of the first embodiment, and includes a route acquisition unit 134 that acquires a route to a destination position without the obstacle O overlapping the moving body area, which is set based on information about the position of the obstacle O, and a movement control unit 135 that moves the moving body 10 according to the route, and the moving body area is an area that overlaps with an occupied area including the area occupied by the moving body 10, which is set based on information about the shape of the moving body 10, and has a shape in which parts of multiple circular or elliptical unit areas overlap each other.

[0170] According to this configuration, it is possible to set a moving body area that overlaps with an occupied area including an area occupied by the moving body 10 and has a shape in which portions of multiple unit areas overlap each other. Then, a route toward a destination position without any obstacles overlapping with the moving body area is set as the route R of the moving body 10. Since the moving body area is an area into which the moving body 10 may enter, by setting the route R so that the obstacle O does not overlap with the moving body area, it is possible to move the moving body 10 while suppressing interference with the obstacle O. Therefore, it is possible to provide a moving body 10 whose route can be appropriately set.

[0171] The management system 200 according to the first embodiment transmits to the moving object 10 the route set by the route setting method.

[0172] According to this configuration, a moving body area is set that overlaps with an occupied area including the area occupied by the moving body 10 and has a shape in which parts of multiple unit areas overlap each other, and a route to a destination position without any obstacles overlapping the moving body area is set as the route R of the moving body 10 and transmitted to the moving body 10, thereby making it possible to move the moving body 10. Therefore, it is possible to provide a management system 200 that can appropriately set the route of the moving body 10.

[0173] The program according to the first aspect is a program that causes a computer to execute the steps of acquiring information on the destination position of the moving body 10, acquiring information on the position of an obstacle O, and performing a route calculation for the moving body 10. The step of performing the route calculation includes the steps of setting a moving body area based on information on the shape of the moving body 10, the area overlapping an occupied area including the area occupied by the moving body 10 and having a shape in which portions of multiple circular or elliptical unit areas overlap each other, and setting, based on information on the position of the obstacle O, a route toward the destination position without the obstacle O overlapping the moving body area as the route for the moving body 10.

[0174] According to this configuration, it is possible to set a moving body area that overlaps with an occupied area including an area occupied by the moving body 10 and has a shape in which portions of multiple unit areas overlap each other. Then, a route toward a destination position without any obstacles overlapping with the moving body area is set as the route R of the moving body 10. Since the moving body area is an area into which the moving body 10 may enter, by setting the route R so that the obstacle O does not overlap with the moving body area, it is possible to move the moving body 10 while suppressing interference with the obstacle O. Therefore, it is possible to provide a program that can appropriately set a route for the moving body 10.

[0175] 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]

[0176] 1. Mobile control system 10 Mobile 20 Body 22 Mast 24 Fork 26 sensors 28 Power section 100 control device 110 Communications Department 120 Storage section 130 Control Unit 131 Target location information acquisition unit 132 Self-location information acquisition unit 133 Obstacle information acquisition unit 134 Route Acquisition Unit 1341 Area setting part 1342 Constraint Condition Setting Section 1343 Optimization Calculation Execution Unit 135 Movement control unit 140 Self-position detection unit 150 Obstacle detection unit 160 Drive signal transmission unit 200 Management System 210 Communications Department 220 Storage section 230 Control Unit 231 Acquisition Department 232 Notification Department 240 Input section 250 Display section N Network

Claims

1. acquiring information on a destination position of a moving object; obtaining information about the location of an obstacle; performing a route calculation for the moving object; The step of performing the route calculation includes: setting a moving object region that overlaps an occupied region including a region occupied by the moving object and has a shape in which portions of a plurality of circular or elliptical unit regions overlap with each other, based on information about the shape of the moving object; setting a route to the destination position without the obstacle overlapping the moving body area as a route for the moving body based on the information on the position of the obstacle; Including, Routing methods.

2. In the step of performing the route calculation, setting a constraint condition that the position of the obstacle is outside the range of the moving object area based on the position of the moving object, the moving object area, and the position of the obstacle; a step of performing optimization calculation based on an evaluation function that has a higher evaluation as the difference between the position of the moving object and the destination position becomes smaller, and the constraint conditions, and calculating a path of the moving object; The route setting method according to claim 1 .

3. In the step of setting the moving body region, the moving body region is set to include a first unit region that is the unit region overlapping an area occupied by the moving body, a second unit region that is the unit region overlapping a front region on a side of the moving direction of the moving body, and a third unit region that is the unit region overlapping a rear region on a side opposite to the moving direction of the moving body, and at least two of the first unit region, the second unit region, and the third unit region overlap each other.

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

4. The step of setting the moving object region includes: setting the number of the unit areas included in the moving object area; Dividing the occupation area into unit occupation areas, the number of which is equal to the number of the unit areas; a step of setting the area of ​​each of the unit occupancy areas as an evaluation function under a constraint that the unit area overlaps with a position on the periphery of the unit occupancy area, and performing an optimization calculation to minimize the evaluation function while observing the constraint, thereby setting the position and size of each of the unit areas and setting the moving body area; Including, 3. The route setting method according to claim 1 or 2.

5. In the step of setting the moving object region, if the obstacle does not overlap with the moving object region and a route to the destination position cannot be set, the number of the unit regions is increased and the moving object region is reset; and in the step of performing the route calculation, a route of the moving object is set based on the re-set moving object region. The route setting method according to claim 4.

6. In the step of setting the moving object region, The occupation area is set based on a planned speed of the moving body so that the occupation area becomes wider as the planned speed increases, If the obstacle does not overlap with the moving body area and a route to the destination position cannot be set, the planned speed is reduced and the occupied area is reset, and the moving body area is reset based on the reset occupied area; In the step of performing the route calculation, setting a route for the moving object based on the reset moving object region; The route setting method according to claim 4.

7. In the step of setting the moving object region, and further setting upper and lower limit values ​​of the major axis radius and the minor axis radius of the unit area as the constraint conditions. The route setting method according to claim 4.

8. The step of setting the moving object region includes: a step of setting a constraint that at least one of the unit areas overlaps with a position on the periphery of the occupied area, and setting a difference between the moving object area and the occupied area as an evaluation function; performing an optimization calculation to minimize the evaluation function while observing the constraint conditions, and setting the number, size and position of each of the unit areas to set the moving body area; 3. The route setting method according to claim 1 or 2.

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

10. a route acquisition unit that acquires a route to a destination position that does not overlap with an obstacle in a moving object area and that is set based on information about the position of the obstacle; a movement control unit that moves the moving body along the path; Including, the moving object region is an area that overlaps an occupied region that includes an area occupied by the moving object and is set based on information about the shape of the moving object, and that has a shape in which parts of a plurality of circular or elliptical unit regions overlap with each other; Mobile object.

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

12. acquiring information on a destination position of a moving object; obtaining information about the location of an obstacle; performing a route calculation for the mobile unit; A program to be executed by a computer, The step of performing the route calculation includes: setting a moving object region that overlaps an occupied region including a region occupied by the moving object and has a shape in which portions of a plurality of circular or elliptical unit regions overlap with each other, based on information about the shape of the moving object; setting a route to the destination position without the obstacle overlapping the moving body area as a route for the moving body based on the information on the position of the obstacle; Including, program.

Citation Information

Patent Citations

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

    JP2022134905A