WO2025211024A1 - 経路設定方法、移動体、管理システム及びプログラム - Google Patents
経路設定方法、移動体、管理システム及びプログラムInfo
- Publication number
- WO2025211024A1 WO2025211024A1 PCT/JP2025/004513 JP2025004513W WO2025211024A1 WO 2025211024 A1 WO2025211024 A1 WO 2025211024A1 JP 2025004513 W JP2025004513 W JP 2025004513W WO 2025211024 A1 WO2025211024 A1 WO 2025211024A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- area
- unit
- route
- setting
- region
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/20—Control system inputs
- G05D1/24—Arrangements for determining position or orientation
- G05D1/242—Means based on the reflection of waves generated by the vehicle
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/40—Control within particular dimensions
- G05D1/43—Control of position or course in two dimensions [2D]
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/60—Intended control result
- G05D1/617—Safety or protection, e.g. defining protection zones around obstacles or avoiding hazards
- G05D1/622—Obstacle avoidance
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/60—Intended control result
- G05D1/644—Optimisation of travel parameters, e.g. of energy consumption, journey time or distance
Definitions
- the degree of restriction on the settable routes may increase when setting a route to avoid obstacles. Therefore, it is necessary to set the route of the moving body appropriately.
- the program disclosed herein 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 route calculation step includes the steps of: setting a moving body region based on information on the shape of the moving body, the moving body region overlapping an occupied region including the region occupied by the moving body and having a shape in which portions of multiple circular or elliptical unit regions overlap; and setting, based on information on the position of the obstacle, a route toward the destination position without the obstacle overlapping the moving body region as the route for the moving body.
- This disclosure provides a mobile object control device, a mobile object control method, and a program that can appropriately set the occupied area of a mobile object.
- FIG. 9 is a schematic diagram showing another example of a moving object region.
- FIG. 10 is a schematic diagram showing another example of a moving object region.
- FIG. 11 is a flowchart illustrating a route setting flow in the first embodiment.
- FIG. 12 is a schematic diagram illustrating the setting of the moving object region.
- FIG. 13 is a flowchart illustrating a flow for setting a moving object region in the second embodiment.
- FIG. 14 is a flowchart illustrating a route setting flow in another example of the second embodiment.
- FIG. 15 is a flowchart illustrating a route setting flow in another example of the second embodiment.
- FIG. 16 is a flowchart illustrating a route setting flow in another example of the second embodiment.
- FIG. 17 is a flowchart illustrating a flow for setting a moving object area in the third embodiment.
- 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.
- the mobile body 10 is a mobility that can move autonomously.
- the mobile body 10 is not limited to this, and may also be a manned mobility in which a driver performs operations such as controlling the direction of movement.
- the mobile body 10 is a non-holonomic system that cannot move directly sideways. Examples of the mobile body 10 include an AGF (Automated Guided Forklift) and an AGV (Automated Guided Vehicle) that move on a two-dimensional plane.
- the mobile body 10 is a mobility that can move autonomously.
- area AR the area in which the mobile object 10 can move on a two-dimensional plane, i.e., the area in which the mobile object 10 is planned to move.
- one direction along the horizontal direction in area AR is the X direction
- the direction along the horizontal direction that is perpendicular to the X direction is the Y direction.
- area AR may also be a three-dimensional space.
- the mobile object 10 moves along a route R.
- the route R is set by the mobile object 10 or the management system 200 so as to avoid obstacles O present in the area AR and head toward the destination position P.
- obstacle O is an object that the mobile body 10 is intended to avoid.
- obstacle O may be any object whose position may change, or any object that may move and be in a predetermined position at one time, but may no longer be in that position at another time.
- obstacle O is not a structure whose position is permanently fixed and known.
- obstacle O is not limited to inanimate objects, and may be a living thing such as a person or animal.
- obstacle O is not limited to this, and may also be a structure whose position is permanently fixed and known, such as a wall or pillar of a facility.
- the management system 200 is a system that manages the mobile object 10, and in this embodiment, sets the destination position P of the mobile object 10.
- the management system 200 is, for example, an FCS (Fleet Control System), but is not limited to this and may be any device that processes information related to the movement of the mobile object 10.
- FCS Flexible Control System
- the management system 200 may be realized, for example, by a PC (Personal Computer), a WS (Work Station), or a computer with server functionality.
- Network N wirelessly connects mobile object 10 and management system 200 to enable mutual communication.
- Network N may be realized using a wireless LAN (Local Area Network) defined in IEEE 802.11, Bluetooth (registered trademark), Wi-Fi (registered trademark), a fifth-generation mobile communication system (5G), or a sixth-generation mobile communication system (6G).
- a wireless LAN Local Area Network
- IEEE 802.11 Bluetooth (registered trademark), Wi-Fi (registered trademark)
- 5G fifth-generation mobile communication system
- 6G sixth-generation mobile communication system
- 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 multiple mobile objects 10 using broadcast control may also be performed.
- the mobile object control system 1 may further include a logistics management system that manages logistics within the facility W.
- the logistics management system may be a WCS (Warehouse Control System) or a WMS (Warehouse Management System), but it is not limited to a WCS or WMS and may be any system, such as a back-end system such as a production management system.
- the logistics management system may also manage mechanisms other than the mobile object 10 installed in the facility (such as elevators and doors), and may also set information to control these mechanisms.
- FIG. 3 is a diagram schematically illustrating the configuration of a mobile body according to the present disclosure.
- the mobile body 10 may be a forklift.
- the mobile body 10 is, for example, an AGF (Automated Guided Forklift).
- the mobile body 10 includes a vehicle body 20, a mast 22, forks 24, a sensor 26, a power unit 28, and a control device 100.
- the vehicle body 20 of the mobile body 10 includes wheels 20A.
- the mast 22 restricts the direction of movement of the fork 24 when it is moved up and down. As shown in Figure 3, the mast 22 is provided at one end of the vehicle body 20 in the fore-and-aft direction. The mast 22 extends in the up-and-down direction (direction Z in this case), which is perpendicular to the fore-and-aft direction.
- the fork 24 is a member that is inserted into holes in the pallet to support the pallet's load and lift the pallet. As shown in Figure 2, the fork 24 is attached to the mast 22 so that it can move in direction Z. The fork 24 may also be movable laterally of the vehicle body 20 (a direction intersecting the up-down and fore-aft directions) relative to the mast 22. As shown in Figure 3, the fork 24 has a pair of claws 24A, 24B.
- the claws 24A and 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.
- the front direction the direction toward the side of the vehicle 10 where the fork 24 is provided will be referred to as the rear direction, and the direction toward the side where the fork 24 is not provided will be referred to as the front direction.
- Sensor 26 detects the position and orientation of surrounding objects by detecting (receiving) reflected light from the objects. Furthermore, sensor 26 is a sensor that emits light, and more specifically, it uses a semiconductor laser to emit pulsed laser light. 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. 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. Sensor 26 may be a 2D-LiDAR (Light Detection and Ranging) sensor.
- 2D-LiDAR Light Detection and Ranging
- Sensor 26 uses a scanning device such as a polygon laser scanner with an optical system or a galvanometer scanner to scan laser light horizontally, i.e., in a direction perpendicular to direction Z.
- a scanning device such as a polygon laser scanner with an optical system or a galvanometer scanner to scan laser light horizontally, i.e., in a direction perpendicular to direction Z.
- sensor 26 is not limited to the above and may be a sensor that detects objects using any method, such as a 3D LiDAR that scans in multiple directions, or a camera.
- 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 multiple wheels and a prime mover such as a diesel engine or electric motor that drives some or all of the multiple wheels.
- the specific configuration of the power unit 28 illustrated here is merely an example and is not limited to this.
- the power unit 28 only needs to function as a power source that enables the mobile unit 10 to move.
- the control device 100 controls the movement of the mobile object 10.
- the control device 100 will be described later.
- 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.
- 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, for example, by a wireless LAN (Local Area Network) or an antenna that transmits and receives radio waves such as 5G or 6G.
- the management system 200 communicates via wireless communication, but the communication method may be any.
- the storage unit 220 is a memory that stores various information such as the calculation contents and programs of the control unit 230, and includes at least one of the following: a main storage device such as 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 on a recording medium readable by the management system 200.
- 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 performs these processes by reading and executing programs (software) from the storage unit 220. Note that the control unit 230 may perform this process using a single CPU, or may be equipped with multiple CPUs and perform the process using these multiple CPUs. Furthermore, at least one of the acquisition unit 231 and the notification unit 232 may be realized using a hardware circuit.
- a CPU Central Processing Unit
- the acquisition unit 231 acquires location information of the destination position P of the mobile body 10. For example, the acquisition unit 231 sets the work content to be performed by the mobile body 10 and sets the destination position P according to the work content.
- the method by which the acquisition unit 231 sets the location information of the destination position P is arbitrary, and may be specified by the user, for example.
- a logistics management system (not shown) may acquire order information indicating the target object to be transported and the origin and destination, set the destination position P based on the order information, and the acquisition unit 231 may acquire the location information of the destination position P from the logistics management system.
- the notification unit 232 transmits location information of the destination position P of the mobile object 10 to the mobile object 10 via the communication unit 210. Note that when a request to obtain destination position information is received from the mobile object, the notification unit 232 may transmit the location information of the destination position P to the mobile object 10.
- the input unit 240 accepts various types of operation information from the user.
- the input unit 240 may accept the operation details of the mobile object 10 and location information of the destination position as various types of operation information.
- the input unit 240 may accept various types of operation information using, for example, various operation switches, dials, levers, handles, keyboards, joysticks, mice, etc.
- the input unit 240 may also accept various types of operation information via the display surface of a touch panel.
- the display unit 250 displays various types of information.
- the display unit 250 may display a GUI (Graphical User Interface) for receiving operation information related to various processes from the user, or the results of various processes.
- the display unit 250 may be implemented 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 capacitive type.
- FIG. 5 is a diagram showing an example configuration of a control device for a mobile body according to the present disclosure.
- Fig. 6 is a detailed block diagram of a route acquisition unit.
- the control device 100 of the mobile 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.
- the communication unit 110 is responsible for sending and receiving various types of information to and from external devices via wired or wireless connections.
- a wired connection it may be implemented using, for example, a NIC (Network Interface Card) equipped with an interface such as a wired LAN terminal or a USB (Universal Serial Bus) terminal.
- a wireless connection it may be implemented using an antenna for a wireless LAN specified in IEEE 802.11, a Bluetooth (registered trademark) module, a Wi-Fi (registered trademark) module, or an antenna for a fifth-generation mobile communication system (5G) or a sixth-generation mobile communication system (6G).
- 5G fifth-generation mobile communication system
- 6G sixth-generation mobile communication system
- the memory unit 120 is a storage device that stores various types of information.
- the memory unit 120 includes a main memory device and an auxiliary memory device.
- the main memory device may be realized by semiconductor memory elements such as RAM, ROM, flash memory, etc.
- the auxiliary memory device may be realized by a hard disk, SSD (Solid State Drive), optical disk, etc.
- the control unit 130 is a controller that executes various types of arithmetic processing and processes to realize various functions.
- the control unit 130 is realized by a CPU (Central Processing Unit) or MPU (Micro Processing Unit) executing various programs stored in the storage unit 120 using RAM as a working area.
- the control unit 130 may also be realized by an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array).
- ASIC Application Specific Integrated Circuit
- FPGA Field Programmable Gate Array
- 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 programs stored in the storage unit 120, circuit configuration, etc.
- 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 equipped with multiple CPUs and execute these processes using the multiple CPUs.
- 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 using a hardware circuit. The details of these processes will be described later.
- the self-position detection unit 140 is a device that detects the position and attitude of the moving body 10, i.e., its own position and attitude.
- the position of the moving body 10 refers to the coordinates at which the moving body 10 is located within the area AR.
- the attitude of the moving body 10 refers to the direction in which the moving body 10 is facing, and 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.
- position and “attitude” will have the same meaning unless otherwise specified.
- the self-position detection unit 140 may detect the position and attitude using any method, but a specific implementation of the self-position detection unit 140 may be, for example, a positioning device that detects the position using a satellite positioning system such as the Global Positioning System (GPS).
- GPS Global Positioning System
- the self-position detection unit 140 may detect the position and attitude using laser light.
- 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.
- 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 types of cables for transmitting control signals.
- the drive signal transmission unit 160 may be realized by various types of electrical wiring, such as a control signal cable formed by bundling multiple electric wires, each of which has an insulator covering a conductor such as copper, and covering the bundle with a sheath of electrically insulating polyvinyl chloride (PVC: Polyvinyl Chloride).
- PVC Polyvinyl Chloride
- 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.
- 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.
- the self-location information acquisition unit 132 acquires information about the position and posture of the mobile 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 posture information (information indicating orientation) of the mobile object 10 itself.
- position information and posture information will be collectively referred to as position and posture information, as appropriate.
- the self-location information acquisition unit 132 sequentially acquires the position and posture information of the mobile object 10 at predetermined time intervals.
- the self-location information acquisition unit 132 is not limited to detecting the position and posture of the mobile object 10 itself.
- an external device such as the management system 200 may detect the position and posture of the mobile object 10, and the self-location information acquisition unit 132 may acquire the detection result as the position and posture information of the mobile object 10.
- the obstacle information acquisition unit 133 acquires information on 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.
- the obstacle information acquisition unit 133 is not limited to detecting the position of the obstacle O by itself.
- 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.
- the obstacle information acquisition unit 133 may acquire the orientation of the obstacle O in addition to the position of the obstacle O.
- the route acquisition unit 134 acquires a route R of the moving body 10.
- 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 a route R of the moving body 10 based on the moving body area B0. This will be described in detail below.
- 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 information about the shape of the moving body 10 using any method. For example, in this embodiment, information about the shape of the moving body 10 is stored as design information in the storage unit 120 , and the region setting unit 1341 reads out the information about the shape of the moving body 10 from the storage unit 120 .
- the area setting unit 1341 sets a forward area A2 and a rearward area A3 in addition to the vehicle body area A1, and sets an area including the vehicle body area A1, the forward area A2, and the rearward area A3 (an area that coincides with the entire area of these areas) as the occupied area A0.
- the forward area A2 and the rearward area A3 are safety areas that are set in consideration of the braking distance required for the moving body 10 to stop.
- the forward area A2 is an area located on the forward side of the moving body 10 relative to the vehicle body area A1 and adjacent to the vehicle body area A1.
- the rearward area A3 is an area located on the rearward side of the moving body 10 relative to the vehicle body area A1 and adjacent to the vehicle body area A1.
- the area setting unit 1341 obtains the planned speed, which is the speed of the moving body 10 when moving along the route R to be set, and sets the size of the occupied area A0 (in this example, the forward area A2 and rearward area 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 rearward region A3) so that the occupied region A0 (in this example, the forward region A2 and rearward 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, and sets a rearward region A3 of a set size on the rearward side of the vehicle body region A1, and sets the region including the vehicle body region A1, forward region A2, and rearward region A3 as the occupied region A0.
- occupied area A0 is the area surrounding the mobile object 10, including the vehicle area A1
- the position of occupied area A0 in the coordinate system of area AR moves as the mobile object 10 moves.
- the position of occupied area A0 may refer to the position of occupied area A0 in the coordinate system of the mobile object 10, unless otherwise specified.
- the area setting unit 1341 may set the occupied area A0 taking the size of the luggage into consideration.
- the area setting unit 1341 may widen the occupied area A0 compared to when the mobile body 10 is not transporting luggage. For example, when the area setting unit 1341 determines that the mobile body 10 is transporting luggage, it may widen the rear area A3 by a predetermined size compared to when the mobile body 10 is not transporting luggage. Note that any method may be used to determine that the mobile body 10 is transporting luggage.
- the size (predetermined size) by which the rear area A3 is widened may be set arbitrarily, and may be widened by a preset size, for example.
- the area setting unit 1341 may also set the occupied area A0 based on the results of detecting the size of the luggage being transported by the mobile body 10. Any method for detecting the size of the luggage may be used.
- a sensor 26 mounted on the mobile body 10 may be used to detect the length of the luggage being transported by the mobile body 10 that protrudes from the left and right edges of the mobile body 10.
- the mobile body 10 retrieves luggage it may insert its claws 24A and 24B into holes in a pallet on which the luggage is loaded.
- the length of the luggage that protrudes 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.
- the length of the luggage that protrudes is calculated based on the amount of left and right movement of the claws 24A and 24B from when they hit one inner wall of the hole (e.g., the left side) to when they hit the other inner wall of the hole (e.g., the right side).
- the area setting unit 1341 may expand 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).
- the luggage being transported by the mobile body 10 may be misaligned, causing the luggage to protrude from both the rear area A3 and the vehicle body area A1.
- the area setting unit 1341 may also widen the vehicle body area A1 in the left-right direction by the length of the luggage protruding (or by a length greater than the length of the protruding luggage).
- 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.
- the route acquisition unit 134 sets the route R such that the obstacle O does not overlap with the moving object area B0.
- the position of the moving object area B0 in the coordinate system of the area AR also moves as the moving object 10 moves.
- 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.
- Figure 8 is a schematic diagram illustrating an example of a moving body area.
- the area setting unit 1341 sets the moving body area B0 so that it overlaps with the occupied area A0 and so that the moving body area B0 has a shape in which parts of multiple unit areas B overlap.
- a shape in which parts of unit areas B overlap refers to a shape in which part of the entire area of a unit area B overlaps part of another unit area B.
- the unit area B is an area that has a circular or elliptical shape when viewed from the Z direction. Therefore, the moving body area B0 has a shape in which multiple circular or elliptical shapes are connected together, with some overlapping areas.
- the area setting unit 1341 sets the moving body area B0 so that the unit areas B3, B1, and B2 are lined up in this order toward the front of the moving body 10.
- unit area B1 overlaps the entire vehicle body area A1
- unit area B2 overlaps the entire forward area A2
- unit area B3 overlaps the entire rearward area A3
- the area forward of unit area B1 overlaps the area rearward of unit area B2
- the area rearward of unit area B1 overlaps the area forward of unit area B3.
- the moving object area B0 does not have to overlap the entire occupied area A0, but may overlap only a portion of the occupied area A0.
- the area setting unit 1341 may set the moving object area B0 so that it overlaps the periphery of the occupied area A0. In this case, the moving object area B0 does not have to overlap the area radially inward from the periphery of the occupied area A0.
- the region setting unit 1341 sets the moving body region B0 so that two unit regions B, namely, the unit region B1 overlapping the entire forward region A2 and the region forward of the vehicle body region A1, and the 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.
- the unit areas B do not have to be aligned in the front-to-rear direction of the moving body 10, but may also be aligned in the left-to-right direction of the moving body 10.
- the area setting unit 1341 sets the moving body area B0 so that two unit areas B, namely, a unit area B1 that overlaps the left areas of the forward area A2, vehicle body area A1, and rear area A3, and a unit area B2 that overlaps the right areas of the forward area A2, vehicle body area A1, and rear area A3, are aligned in this order to the right.
- the area setting unit 1341 may set the moving body area B0 so that it includes unit areas B aligned in the front-to-rear direction and unit areas B aligned in the left-to-right direction.
- the path acquisition unit 134 calculates a path along which the mobile body 10 heads toward the destination position P without the obstacle O overlapping with the mobile body area B0 as a path R of the mobile body 10.
- the path acquisition unit 134 may calculate the path R using any method based on this information, but in this embodiment, constraints and an evaluation function are set and the path R is calculated using an optimization calculation technique.
- 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.
- 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.
- the constraint condition is that the moving body area B0 does not interfere with the obstacle O at each look-ahead step.
- the optimization calculation execution unit 1343 performs an optimization calculation to calculate the driving conditions of the mobile body 10 that can realize the optimized path R of the mobile body 10.
- the driving conditions refer to input values for operating the power unit 28 of the mobile body 10.
- the constraint condition setting unit 1342 sets a constraint condition that the mobile body area B0 does not interfere with the obstacle O at each look-ahead step in order to perform the optimization calculation.
- the look-ahead step refers to each discrete time point after the present (the timing when the position of the obstacle O and the position and posture of the mobile body 10 were most recently detected).
- the optimization calculation execution unit 1343 then performs an optimization calculation based on the constraint conditions and an evaluation function that evaluates more highly as the deviation between the position of the mobile body 10 at each look-ahead step and the target position P decreases, and calculates the driving conditions of the mobile body 10 that can realize the path R of the mobile body 10 optimized by the optimization calculation.
- the following explanation uses the movement of the mobile object 10 on a two-dimensional coordinate plane in the X and Y directions as an example, but it can also be applied to a movement model on a three-dimensional coordinate system.
- the optimized route R calculated by the optimization calculation execution unit 1343 can be said to be a collection of the positions and orientations of the moving body 10 for each look-ahead step (each discrete time from the present), and can be said to be a future route.
- the position (coordinates) of the moving body 10 in the X and Y directions is [x, y] T
- the orientation of the moving body 10 is ⁇
- the look-ahead step (discrete time) is k
- the position and orientation of the moving body 10 at look-ahead step k i.e., the route R at look-ahead step k
- T indicates transposition.
- the description of this embodiment takes motion on two-dimensional plane coordinates as an example. If a motion model is used on three-dimensional coordinates, for example, the following equations will be adapted to the three-dimensional coordinates.
- the motion model of the moving body 10 is expressed as follows:
- ⁇ t is the time width associated with the transition from (k) to (k+1).
- ⁇ t may be the same as the update period of route R (the time width between updates of route R), but may also be shorter or longer than the update period, for example.
- u(k) is an input to the system and indicates the driving conditions of the mobile body 10. In the example of this embodiment, u(k) is expressed as in the following equation (3) using the velocity v(k) of the mobile body 10 and the steering angle ⁇ (k) of the mobile body 10.
- the system's state equation, f can be expressed, for example, as the following equation (4).
- L refers to the wheelbase, e.g., the distance between the front and rear wheels.
- the optimization calculation execution unit 1343 when setting constraint conditions, provisionally sets the position and posture of the mobile body 10 for each look-ahead step. Then, the optimization calculation execution unit 1343 calculates the position (coordinates) of the obstacle O in the coordinate system of the mobile body 10 for each look-ahead step. That is, the optimization calculation execution unit 1343 converts the position (coordinates) of the obstacle O in the coordinate system of direction X and direction Y acquired by the obstacle information acquisition unit 133 into a position (coordinates) with the position of the mobile body 10 in the look-ahead step as the coordinate center. For example, the optimization calculation execution unit 1343 calculates the position of the obstacle O in the coordinate system of the mobile body 10 using the following equation (5):
- [x' ob , y' ob ] is the position of the obstacle O in the coordinate system of direction X and direction Y acquired by the obstacle information acquisition unit 133
- [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.
- the optimization calculation execution unit 1343 sets a constraint that the position of obstacle O is outside the range of the moving object area B0.
- 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 body 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 body 10 and the destination position P at each prediction step using an evaluation function that evaluates more highly as the distance between the moving body 10 and the destination position P decreases, thereby specifying the path R.
- p r [x(k), y(k), ⁇ (k)] T , that is, x r , y r , and ⁇ r in equation (7) are the target position and orientation.
- a 1 , A 2 , and A 3 are weighting coefficients that may be set arbitrarily.
- optimization is performed so that the deviation between the position and orientation (p(k)) of the mobile object 10 at each look-ahead step k and the target position and orientation (p r ) is minimized.
- the optimization result is such that the mobile object 10 approaches the target position and orientation in the shortest distance.
- constraints may be incorporated into the objective function V(u, p, k) or the evaluation function J(u, p, k).
- a nonlinear optimization method such as sequential quadratic programming may be used as a method for solving the optimization problem.
- the optimization method used here must be capable of solving optimization problems with constraints imposed. Note that, for example, when equation (2) or the constraints are nonlinear functions, it is preferable to use nonlinear optimization, and linear optimization methods may not be suitable.
- the movement control unit 135 controls the moving body 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.
- the movement control unit 135 moves the moving body 10 along the optimized path R.
- the movement control unit 135 generates a control signal to be provided to the power unit 28 based on the drive conditions calculated by the path acquisition unit 134. That is, the movement control unit 135 generates a control signal that realizes the drive conditions calculated by the path acquisition unit 134.
- the control signal that realizes this is generated using the velocity v(k) of the moving body 10 and the steering angle ⁇ (k) of the moving body 10.
- the path acquisition unit 134 performs optimization calculations to calculate as output the driving conditions for each look-ahead step in order to realize the optimized path R, but this is not limited to this.
- the path acquisition unit 134 may calculate the optimized path R by performing optimization calculations.
- the path acquisition unit 134 may calculate the driving conditions for each look-ahead step based on the optimized path R.
- the path acquisition unit 134 of the control device 100 may calculate the path R, and another device or program may obtain information about the path R from the control device 100 and calculate the driving conditions.
- the control device 100 can be said to be a path generation device that sets the path R.
- the mobile body 10 has the control device 100, and the control device 100 of the mobile body 10 performs processing related to setting the route R, such as setting the mobile body area B0 and setting the route R.
- processing related to setting the route R does not have to be performed by the mobile body 10, but may be performed by an external device such as the management system 12.
- the mobile body 10 may acquire the set route R and the driving conditions for moving along the route R from an external device, and control the mobile body 10 (power unit 38) using the acquired route R and driving conditions.
- the control device 30 may be possessed by the mobile body 10 or by a device other than the mobile body 10 (e.g., the management system 12).
- the route R is not limited to being set as a result of the detection of the obstacle O.
- the control device 100 and the management system 12 may set the route along which the mobile object 10 is planning to move in the future as the route R.
- control device 100 and the management system 12 may acquire position information of the origin of the mobile object 10 (starting point of route R), the position of the destination position P, and position information of an obstacle O (e.g., a wall, pillar, etc.) whose position is known, and set the route R from the origin to the destination position P without the obstacle O overlapping with the mobile object area B0 in a manner similar to that described above.
- start point of route R position information of the origin of the mobile object 10
- position of the destination position P e.g., a wall, pillar, etc.
- an obstacle O e.g., a wall, pillar, etc.
- FIG. 11 is a flowchart illustrating the flow for setting a route in the first embodiment.
- the control device 100 of the mobile object 10 acquires various position information (step S10). Specifically, the control device 100 acquires position information of a destination position P via the destination position information acquisition unit 131, and acquires position information of an obstacle O via the obstacle information acquisition unit 133.
- the control device 100 sets, via the region setting unit 1341, a mobile object region B0 that overlaps with an occupied region A0 including the region occupied by the mobile object 10 and has a shape in which portions of multiple unit regions B overlap each other (step S12).
- control device 100 sets, via the constraint condition setting unit 1342, a constraint condition that the obstacle O does not overlap with the mobile object region B0 (step S14), and the optimization calculation execution unit 1343 executes an optimization calculation based on the constraint condition and the evaluation function to set the route R (step S16).
- the second embodiment differs from the first embodiment in that the moving object region B0 is set using optimization calculations.
- a description of the configuration common to the first embodiment will be omitted.
- each unit occupation area A may be set arbitrarily.
- 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.
- position P on the periphery of unit occupation area A is set as a coordinate (point) without a range, but this is not limited to this, and an area of a predetermined size centered on a central coordinate (center point) may also be set as position P.
- the area setting unit 1341 may set a point on the periphery of unit occupation area A as the central coordinate (center point), and set a circle of a predetermined radius centered on the central coordinate as position P.
- the predetermined radius here may be set appropriately taking into account detection errors, dimensional errors of the mobile body 10, etc.
- the area setting unit 1341 may include in the constraint conditions conditions other than the unit area B overlapping with position P on the periphery of the unit occupation area A.
- the area setting unit 1341 may set a constraint condition that the size of the unit area B (length in the front-to-back and left-to-right directions) falls within a range of predetermined upper and lower limits.
- the area setting unit 1341 may set a constraint condition that the ratio of the major axis to the minor axis of the unit area B falls within a range of predetermined upper and lower limits.
- the area setting unit 1341 sets the area of the unit area B as an evaluation function, and while observing the constraint conditions set as described above, performs an optimization calculation to minimize the evaluation function, thereby calculating the position and size of each unit area B.
- the area setting unit 1341 performs optimization calculations for each unit area B and calculates the position and size of the unit area B for each unit area B. In other words, the area setting unit 1341 calculates, as the optimized position and size (solution) of the unit area B, the position and size of the unit area B at which the size of the unit area B is minimized, while observing the constraint that all positions P on the periphery of the assigned unit occupation area A fall within that unit area B. The area setting unit 1341 performs similar calculations for each unit area B to calculate the position and size of each unit area B.
- the area setting unit 1341 calculates, as the optimized position and size (solution) of the unit area B1, the position and size of the unit area B1 at which the size of the unit area B1 is minimized, while observing the constraint that all positions P1 on the periphery of the vehicle body area A1 fall within the unit area B1.
- the region setting unit 1341 calculates the position and size (solution) of the unit region B2 at which the size of the unit region B2 is minimized while observing the constraint that all positions P2 on the periphery of the front region A2 fall within the unit region B2.
- the region setting unit 1341 calculates the position and size (solution) of the unit region B3 at which the size of the unit region B3 is minimized while observing the constraint that all positions P3 on the periphery of the rear region A3 fall within the unit region B3.
- 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 manner.
- the process of setting the route R using the moving object area B0 is the same as in the first embodiment, so a description thereof will be omitted.
- FIG. 13 is a flowchart illustrating the flow for setting a moving object region in the second embodiment.
- 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).
- 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 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 the obstacle O overlapping the moving object area B0, in the same manner as in the first and second embodiments (step S32).
- step S34 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 mobile object area B0 cannot be set, the area setting unit 1341 increases the number of unit areas B (step S36), returns to step S30, 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 the number of added unit areas B 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 mobile object area B0 can be set, this processing ends.
- this processing may be terminated, as it is determined that the route R cannot be set.
- 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.
- Increasing the number of unit areas B allows the mobile object area B0 to be set narrower, increasing the possibility of being able to set route R. Therefore, as in this example, if route R cannot be set, increasing the number of unit areas B and attempting to set route R again will make it possible to set route R appropriately.
- (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 the 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.
- the area setting unit 1341 of this example sets an occupied area A0 and a moving object area B0 based on the set planned speed (the moving speed that the moving object 10 is scheduled to adopt when moving along route R) in a manner similar to that of the first and second embodiments (step S40). That is, for example, the area setting unit 1341 sets the size of the forward area A2 and the size of the rearward area A3 based on the planned speed, and sets an occupied area A0 including the vehicle area A1, forward area A2, and rearward area A3 based on these. The area setting unit 1341 of this example sets a moving object area B0 based on the set occupied area A0 in a manner similar to that of the second embodiment.
- the route acquisition unit 134 attempts to set a route R toward the destination position P without the obstacle O overlapping with the mobile object area B0, using a method similar to that used in the first and second embodiments (step S42).
- the occupied area A0 in this example, the forward area A2 and the rearward area A3
- the moving object area B0 can also be set narrower, increasing the possibility of being able to set route R. Therefore, as in this example, if route R cannot be set, by lowering the planned speed and attempting to set route R again, it is possible to set route R appropriately.
- route R could not be set, the planned speed was lowered and route R was reset, but the reverse process is also possible. That is, for example, if route R could 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, if 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 planned to travel is set in advance.
- Fig. 16 is a flowchart illustrating a route setting flow in another example of the second embodiment.
- the area setting unit 1341 in this example sets the moving object area B0 based on the set expected speed and the number of unit areas B in a manner similar to that of the second embodiment (step S50). That is, the area setting unit 1341 sets the occupied area A0 based on the set expected speed, and sets the 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 the obstacle O overlapping the moving object area B0 in a manner similar to that of the first and second embodiments (step S52).
- step S54 If 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 re-sets the occupied area A0 and mobile object area B0 in a similar manner based on the reset (reduced) planned speed, and continues the subsequent processing.
- Fig. 17 is a flowchart illustrating the flow for setting a moving object region in the third embodiment.
- the region setting unit 1341 sets, as a constraint condition, that at least one unit region B overlaps with a position P on the periphery of the occupied region A0 (step S60), and performs an optimization calculation 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.
- the mobile object 10 according to the first aspect moves according to a route set by a route setting method.
- a mobile body area is set that overlaps with an occupied area including the area occupied by the mobile body 10 and has a shape in which parts of multiple unit areas overlap, and a route to a destination position where no obstacles overlap the mobile body area is set as route R for the mobile body 10, and the mobile body 10 can move according to route R. Therefore, it is possible to provide a mobile body 10 whose route can be appropriately set.
- the moving body 10 according to the second aspect is the moving body 10 according to the first aspect, and includes a path acquisition unit 134 that acquires a path toward a destination position that does not overlap the obstacle O's 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 path, and the moving body area is an area that overlaps with an occupied area that includes 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.
- a mobile body area is set that overlaps with an occupied area including the area occupied by the mobile 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 the mobile body area is set as the route R for the mobile body 10 and transmitted to the mobile body 10, thereby allowing the mobile body 10 to move. Therefore, it is possible to provide a management system 200 that can appropriately set the route for the mobile body 10.
- the program according to the first aspect causes a computer to execute the steps of acquiring information on the destination position of the mobile body 10, acquiring information on the position of an obstacle O, and calculating a route for the mobile body 10.
- the step of calculating the route includes the steps of setting a mobile body region based on information on the shape of the mobile body 10, the mobile body region overlapping an occupied region including the region occupied by the mobile body 10 and having a shape in which portions of multiple circular or elliptical unit regions overlap, and setting, based on information on the position of the obstacle O, a route toward the destination position without the obstacle O overlapping the mobile body region as the route for the mobile body 10.
Landscapes
- Engineering & Computer Science (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
移動体の経路を適切に設定することができる経路設定方法、移動体、管理システム及びプログラムを提供すること。本開示に係る移動体の経路設定方法は、移動体の目的位置の情報を取得するステップと、障害物の位置の情報を取得するステップと、移動体の経路計算を実行するステップと、を含み、経路計算を実行するステップは、移動体の形状に関する情報に基づいて、移動体が占める領域を含む占有領域に重なり、かつ、複数の円形又は楕円形の単位領域の一部同士が重畳した形状の、移動体領域を設定するステップと、障害物の位置の情報に基づき、障害物が移動体領域と重ならず目的位置に向かう経路を、移動体の経路として設定するステップと、を含む。
Description
本開示は、経路設定方法、移動体、管理システム及びプログラムに関する。
移動体を目的位置まで自律的に移動させるために、様々な計算を行うことによって移動体の移動経路が設定され、それに基づいて移動体が自律的に動作することにより、移動体が自律的に移動する。
例えば、下記の特許文献1には、自律移動体の占有領域を単一の楕円で近似し、その楕円内にすべての障害物が内包されないことを制約とし、一定時刻先までの将来に渡って制約を守るように最適化問題を解くことで、障害物回避経路を生成する旨が記載されている。
ここで、移動体の占有領域を大きく設定すると、障害物を回避する経路を設定する場合に、設定可能な経路の制限度合いが高くなる場合がある。従って、移動体の経路を適切に設定することが求められている。
本開示は上記課題を鑑み、移動体の経路を適切に設定することができる経路設定方法、移動体、管理システム及びプログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するために、本開示に係る経路設定方法は、移動体の目的位置の情報を取得するステップと、障害物の位置の情報を取得するステップと、移動体の経路計算を実行するステップと、を含み、前記経路計算を実行するステップは、前記移動体の形状に関する情報に基づいて、前記移動体が占める領域を含む占有領域に重なり、かつ、複数の円形又は楕円形の単位領域の一部同士が重畳した形状の、移動体領域を設定するステップと、前記障害物の位置の情報に基づき、前記障害物が前記移動体領域と重ならず前記目的位置に向かう経路を、前記移動体の経路として設定するステップと、を含む。
上述した課題を解決し、目的を達成するために、本開示に係る移動体は、障害物の位置の情報に基づき設定された、前記障害物が移動体領域と重ならず目的位置に向かう経路を取得する経路取得部と、前記経路に従って移動体を移動させる移動制御部と、を含み、前記移動体領域は、前記移動体の形状に関する情報に基づいて設定された、前記移動体が占める領域を含む占有領域に重なり、かつ、複数の円形又は楕円形の単位領域の一部同士が重畳した形状の領域である。
上述した課題を解決し、目的を達成するために、本開示に係る管理システムは、経路設定方法により設定した前記経路を前記移動体に送信する。
上述した課題を解決し、目的を達成するために、本開示に係るプログラムは、移動体の目的位置の情報を取得するステップと、障害物の位置の情報を取得するステップと、移動体の経路計算を実行するステップと、を、コンピュータに実行させるプログラムであって、前記経路計算を実行するステップは、前記移動体の形状に関する情報に基づいて、前記移動体が占める領域を含む占有領域に重なり、かつ、複数の円形又は楕円形の単位領域の一部同士が重畳した形状の、移動体領域を設定するステップと、前記障害物の位置の情報に基づき、前記障害物が前記移動体領域と重ならず前記目的位置に向かう経路を、前記移動体の経路として設定するステップと、を含む。
本開示によれば、適切に移動体の占有領域を設定することができる移動体の制御装置、移動体の制御方法、及びプログラムを提供することができる。
以下に、本開示の実施形態を図面に基づいて詳細に説明する。なお、以下に説明する実施形態により本開示が限定されるものではない。
(移動体制御システムの構成)
まず、本開示に係る移動体制御システム1について、図1及び図2を用いて説明する。図1は、本開示に係る移動体制御システムの概要を説明する図であり、図2は、本開示に係る移動体制御システムの構成例を示す図である。図1に示すように、本開示に係る移動体制御システム1は、移動体10と、管理システム200と、を含む。移動体制御システム1は、例えば、図2に示す移動体10A,100B,100Cのように、複数の移動体10を含んでよい。
まず、本開示に係る移動体制御システム1について、図1及び図2を用いて説明する。図1は、本開示に係る移動体制御システムの概要を説明する図であり、図2は、本開示に係る移動体制御システムの構成例を示す図である。図1に示すように、本開示に係る移動体制御システム1は、移動体10と、管理システム200と、を含む。移動体制御システム1は、例えば、図2に示す移動体10A,100B,100Cのように、複数の移動体10を含んでよい。
移動体10は、自律的に移動可能なモビリティである。なお、移動体10は、それに限られず、運転者が移動方向などの操作を実行する有人のモビリティであってもよい。また、本実施形態では、移動体10は、真横に移動できない非ホノロミックなシステムである。移動体10としては、例えば、2次元平面を移動するAGF(Automated Guided Forklift)や、AGV(Automated Guided Vehicle)などが挙げられる。移動体10は、上述した通り、自律的に移動可能なモビリティである。移動体10は、例えば、自律的に地面の上を走行するもの(例えば、UGV:Unmanned Ground Vehicle)、自律的に空中を飛行する移動体(例えば、UAV:Unmanned Aerial Vehicle)、自律的に水中を移動する移動体(UUV:Unmanned Underwater Vehicle)であってもよい。したがって、移動体10は、3次元空間を自律的に移動できる移動体も含む。なお、移動体10の種類はこれに限られず任意であってよい。
図1においては、移動体10が二次元平面上において移動可能な領域、すなわち移動体10が移動を予定している領域を、領域ARとして示している。図1に示すように、領域ARにおける水平方向に沿った一方向をX方向、水平方向に沿った方向であってX方向と直交する方向をY方向とする。なお、領域ARは、3次元空間であってもよい。
図1に示すように、移動体10は、経路Rに沿って移動する。なお、経路Rは、領域ARに存在する障害物Oを回避したうえで、目的位置Pに向かうように移動体10、あるいは管理システム200によって設定される。
ここで、障害物Oは、移動体10が回避する対象となる対象物である。本実施形態においては、障害物Oは、位置が変化する可能性がある任意の対象物や、移動することによってあるタイミングでは所定の位置に存在するが、別のタイミングにおいては、その位置に存在しなくなる可能性がある任意の対象物であってよい。言い換えれば、障害物Oは、永続的に位置が固定されている位置が既知の構造物ではないといえる。なお、障害物Oは、無生物であることに限られず、例えば人や動物などの生物であってもよい。ただしそれに限られず、障害物Oは、施設の壁や柱などの、永続的に位置が固定されている位置が既知の構造物であってもよい。
管理システム200は、移動体10を管理するシステムであり、本実施形態では、移動体10移動体10の目的位置Pを設定する。管理システム200は、例えばFCS(Fleet Control System)であるが、それに限られず、移動体10の移動に関する情報を処理する任意の装置であってよい。管理システム200は、例えば、PC(Personal Computer)や、WS(Work Station)、サーバの機能を有するコンピュータなどにより実現されてよい。
ネットワークNは、移動体10と、管理システムの200と、無線により相互に通信可能に接続する。ネットワークNは、IEEE802.11に規定される無線LAN(Local Area Network)やBluetooth(登録商標)、Wi-Fi(登録商標)、第5世代移動通信システム(5G)、第6世代移動通信システム(6G)により実現されてよい。
以上のように説明した移動体制御システム1は、移動体10と、管理システム200との間において情報のやり取りを行うことにより一つのシステムとして機能する。例えば、ブロードキャスト制御を用いた複数の移動体10の群(スワーム)制御などが行われてもよい。
なお、移動体制御システム1は、さらに、設備Wにおける物流を管理する物流管理システムを有していていてもよい。物流管理システムは、WCS(Warehouse Control System)やWMS(Warehouse Management System)であるが、WCS及びWMSに限られず任意のシステムであってよく、例えば、その他の生産管理系システムのようなバックエンドシステムでも構わない。物流管理システムは、例えば、設備に設けられる移動体10以外の機構(例えばエレベータや扉など)も管理してよく、これ等の機構を制御する情報も設定してよい。
(移動体について)
次に、本開示に係る移動体について、図3を用いて説明する。図3は、本開示に係る移動体の構成を模式的に示す図である。図3に示すように、移動体10は、フォークリフトであってよい。具体的には、移動体10は、例えば、AGF(Automated Guided Forklift)である。図3に示すように、移動体10は、車体20と、マスト22と、フォーク24と、センサ26と、動力部28と、制御装置100と、を備えている。そして、移動体10の車体20は、車輪20Aを備えている。
次に、本開示に係る移動体について、図3を用いて説明する。図3は、本開示に係る移動体の構成を模式的に示す図である。図3に示すように、移動体10は、フォークリフトであってよい。具体的には、移動体10は、例えば、AGF(Automated Guided Forklift)である。図3に示すように、移動体10は、車体20と、マスト22と、フォーク24と、センサ26と、動力部28と、制御装置100と、を備えている。そして、移動体10の車体20は、車輪20Aを備えている。
マスト22は、フォーク24を上下方向に移動させる際の移動方向に制約を与える。図3に示すように、マスト22は、車体20の前後方向における一方の端部に設けられている。マスト22は、前後方向に直交する上下方向(ここでは方向Z)に沿って延びて存在している。
フォーク24は、パレットの穴に刺して、パレットの荷重を支えて、パレットを持ち上げる部材である。図2に示すように、フォーク24は、マスト22に方向Zに移動可能に取付けられている。フォーク24は、マスト22に対して、車体20の横方向(上下方向及び前後方向に交差する方向)にも移動可能であってよい。図3に示すように、フォーク24は、一対のツメ24A、24Bを有している。
ツメ24A、24Bは、マスト22から車体20の後方向に向けて延びている。ツメ24Aとツメ24Bとは、マスト22の横方向に、互いに平行に離れて配置されている。以下、前後方向のうち、移動体10においてフォーク24が設けられている側の方向を、後方向とし、フォーク24が設けられていない側の方向を、前方向とする。
センサ26は、車体20の周辺に存在する対象物の位置、及び姿勢の少なくとも1つを検出する。センサ26は、移動体10に対する対象物の位置と、移動体10に対する対象物の姿勢とを検出するともいえる。センサ26は、マスト22と、車体20の四隅とに、すなわち車体20の前方向側の左右の端部と後方向側の左右の端部とに、設けられている。ただし、センサ26の設けられる位置はこれに限られず、任意の位置に設けられてもよいし、設けられる数も任意であってよい。例えば、移動体10に設けられる安全センサを、センサ26として流用してもよい。安全センサを流用することで、新たにセンサを設ける必要がなくなる。
センサ26は、周囲の対象物からの反射光を検出(受光)することで、対象物の位置、及び姿勢を検出する。さらに言えば、センサ26は、光を照射するセンサであり、より詳しくは半導体レーザを用いて光としてレーザ光をパルス照射する。センサ26は、照射したレーザ光の反射光をフォトダイオードなどにより検出することで、対象物の位置、及び姿勢を検出する。センサ26は、一方向に走査しつつレーザ光を照射し、照射したレーザ光の反射光から、対象物の位置及び姿勢を検出する。センサ26は、2D-LiDAR(Light Detection And Ranging)であってよい。
センサ26は、例えば、光学系を有するポリゴンレーザスキャナや、ガルバノスキャナなどの走査装置を用いて水平方向に、すなわち方向Zに直交する方向に、レーザ光を走査する。ただし、センサ26は、以上のものに限られず任意の方法で対象物を検出するセンサであってよく、例えば、複数の方向に走査される3D-LiDARであってもよいし、カメラであってもよい。
動力部28は、移動体10を移動させる動力として機能する。動力部28の具体的構成は、移動体10の運用形態に応じて任意に設定してよいが、一例として、移動体10が地上を走行する移動体10である場合、動力部28は、複数の車輪と、当該複数の車輪の一部、又は全部を駆動するディーゼルエンジンや電動機などの原動機を含む。ここに例示した動力部28の具体的構成はあくまで一例であってこれに限られるものでない。動力部28は、移動体10を移動可能にする動力として機能すればよい。
制御装置100は、移動体10の移動を制御する。制御装置100については後述する。
(管理システムについて)
図4は、本開示に係る管理システムの構成例を示す図である。図4に示すように、管理システム200は、通信部210と、記憶部220と、制御部230と、入力部240と、表示部250と、を含む。
図4は、本開示に係る管理システムの構成例を示す図である。図4に示すように、管理システム200は、通信部210と、記憶部220と、制御部230と、入力部240と、表示部250と、を含む。
通信部210は、移動体10などの外部の装置と通信を行う通信モジュールである。通信部210は、例えば、無線LAN(Local Area Network)や、5G、6Gなどの電波の送受信を担うアンテナなどにより実現されてよい。管理システム200は、無線通信により通信を行うが、通信方式は任意であってよい。
記憶部220は、制御部230の演算内容やプログラムなどの各種情報を記憶するメモリであり、例えば、RAM(Random Access Memory)と、ROM(Read Only Memory)のような主記憶装置と、HDD(Hard Disk Drive)などの外部記憶装置とのうち、少なくとも1つ含む。記憶部220が記憶する制御部230用のプログラムは、管理システム200が読み取り可能な記録媒体に記憶されていてもよい。
制御部230は、演算装置であり、例えばCPU(Central Processing Unit)などの演算回路を含む。図2に示すように、制御部230は、取得部231と通知部232と、を含む。制御部230は、記憶部220からプログラム(ソフトウェア)を読み出して実行することで、これらを実現して、これらの処理を実行する。なお、制御部230は、1つのCPUによってこの処理を実行してもよいし、複数のCPUを備えて、それらの複数のCPUで、処理を実行してもよい。また、取得部231及び通知部232の少なくとも一方を、ハードウェア回路で実現してもよい。
取得部231は、移動体10の目的位置Pの位置情報を取得する。取得部231は、例えば、移動体10が実行する作業内容を設定し、作業内容に応じて目的位置Pを設定する。ただし、取得部231による目的位置Pの位置情報の設定方法は任意であり、例えば、ユーザにより指定されてもよい。また例えば、図示しない物流管理システムが、搬送すべき目標物と搬送元及び搬送先を示すオーダー情報を取得して、オーダー情報に基づき目的位置Pを設定し、取得部231は、物流管理システムから目的位置Pの位置情報を取得してもよい。
通知部232は、移動体10の目的位置Pの位置情報を、通信部210を介して、その移動体10に送信する。なお、移動体から目的位置情報の取得要求を受信した場合に、目的位置Pの位置情報を、移動体10に送信してよい。
入力部240は、ユーザから各種の操作情報を受け付ける。入力部240は、例えば、各種の操作情報として移動体10の作業内容や、目的位置の位置情報などを受け付けてもよい。入力部240は、例えば、各種の操作スイッチ、ダイヤル、レバー、ハンドル、キーボード、ジョイスティック、マウス等によって各種の操作情報を受け付けてよい。また、入力部240は、タッチパネルにより表示面を介して、各種の操作情報を受け付けてよい。
表示部250は、各種の情報を表示する。表示部250は、例えば、ユーザから各種の処理に関する操作情報を受け付けるためのGUI(Graphical User Interface)や、各種の処理の結果などを表示してよい。表示部250は、液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイ、マイクロLED(Light Emitting Diode)ディスプレイ等により実現されてよい。また、表示部250は、静電容量方式などの各種の方式のタッチパネルであってもよい。
(移動体の制御装置の構成について)
図5は、本開示に係る移動体の制御装置の構成例を示す図である。図6は、経路取得部の詳細なブロック図である。図5に示すように、本開示に係る移動体10の制御装置100は、通信部110と、記憶部120と、制御部130と、自己位置検出部140と、障害物検出部150と、駆動信号伝送部160と、を備える。以下に、これらの構成について、順を追って説明する。
図5は、本開示に係る移動体の制御装置の構成例を示す図である。図6は、経路取得部の詳細なブロック図である。図5に示すように、本開示に係る移動体10の制御装置100は、通信部110と、記憶部120と、制御部130と、自己位置検出部140と、障害物検出部150と、駆動信号伝送部160と、を備える。以下に、これらの構成について、順を追って説明する。
通信部110は、有線、又は無線により外部の装置との間において各種の情報などの送受信を担う。有線の場合は、例えば、有線LAN端子や、USB(Universal Serial Bus)端子などのインターフェイスを備えたNIC(Network Interface Card)により実現されてよい。無線の場合は、IEEE802.11に規定される無線LAN用のアンテナや、Bluetooth(登録商標)モジュール、Wi-Fi(登録商標)モジュール、第5世代移動通信システム(5G)、第6世代移動通信システム(6G)用のアンテナなどにより実現されてよい。
記憶部120は、各種の情報を記憶する記憶装置である。記憶部120は、主記憶装置と、補助記憶装置と、を備える。主記憶装置は、例えばRAM、ROM、フラッシュメモリ等のような半導体メモリ素子によって実現されてよい。また、補助記憶装置は、例えばハードディスクやSSD(Solid State Drive)、光ディスク等によって実現されてよい。
制御部130は、各種の演算処理や機能を実現する処理などを実行するコントローラである。制御部130は、CPU(Central Processing Unit)や、MPU(Micro Processing Unit)等によって、記憶部120に記憶されている各種プログラムがRAMを作業領域として実行されることにより実現される。また、制御部130は、例えばASIC(Application Specific Integrated Circuit)や、FPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。
図5に示すように、制御部130は、記憶部120に記憶されたプログラムの実行や回路構成などによって実現される機能として、目的位置情報取得部131と、自己位置情報取得部132と、障害物情報取得部133と、経路取得部134と、移動制御部135と、を含む。図6に示すように、経路取得部134は、領域設定部1341と制約条件設定部1342と最適化計算実行部1343とを含む。なお、制御部130は、1つのCPUによってこれらの処理を実行してもよいし、複数のCPUを備えて、複数のCPUで、これらの処理を実行してもよい。また、目的位置情報取得部131と自己位置情報取得部132と障害物情報取得部133と経路取得部134と移動制御部135との少なくとも1つを、ハードウェア回路で実現してもよい。これらの処理内容については後述する。
自己位置検出部140は、移動体10の位置及び姿勢、すなわち自己位置及び自己姿勢を検出する装置である。移動体10の位置とは、本実施形態においては、領域AR内において移動体10が位置している座標を指す。移動体10の姿勢とは、移動体10が向いている方向を指し、本実施形態では、方向X及び方向Yに直交する方向から見た場合の移動体10の向き(回転角度)を指す。以降においても、特に断りがない限り、「位置」及び「姿勢」は、同様の意味を指す。
自己位置検出部140は、任意の方法で位置、及び姿勢を検出してよいが、例えば、自己位置検出部140の具体的な実現手段として、グローバル・ポジショニング・システム(GPS:Global Positioning System)等の衛星測位システムを利用して位置を検出するための測位装置が挙げられる。
また、例えば、自己位置検出部140は、加速度センサとジャイロセンサを備えて、所定の起点に対する位置と姿勢を検出する慣性航法装置(IMU:Inertial Measurement Unit)であってもよい。
また、例えば、自己位置検出部140は、レーザ光により位置、及び姿勢を検出するものであってもよい。この場合、例えば、領域ARに反射体が設けられており、自己位置検出部140が反射体に向けてレーザ光を照射し、反射体から反射したレーザ光を検出することで、位置及び姿勢が検出できる。
障害物検出部150は、障害物Oの位置及び姿勢を検出するセンサである。障害物検出部150は、障害物Oの位置及び姿勢を検出可能であれば任意のセンサであってよい。例えば、移動体のセンサ26であってよい。すなわち、2D-LiDAR(Light Detection And Ranging)や、3D-LiDAR、カメラなどによって取得された情報に基づいて障害物の位置、及び姿勢を検出してよい。
駆動信号伝送部160は、移動制御部135が計算した駆動信号を動力部28に伝送する。駆動信号伝送部160は、各種の制御信号伝送用のケーブルによって実現されてよい。例えば、駆動信号伝送部160は、各種の電気配線によって実現されてよく、例えば、銅などの導体の周囲を絶縁体で覆った電線を複数束ねて、電気絶縁性を有するポリ塩化ビニル(PVC:PolyVinyl Chrolide)のシースによって覆って形成される制御信号用ケーブルなどにより実現されてもよい。すなわち、駆動信号伝送部160は、電気配線によって動力部28に接続されている。
(経路の設定処理)
次に、制御装置100による、移動体10の経路Rの設定処理について説明する。以降においては、移動体10が、予め設定された経路を移動中に障害物Oを検出して、障害物Oを回避するための経路Rを設定する場合を例にして説明する。
次に、制御装置100による、移動体10の経路Rの設定処理について説明する。以降においては、移動体10が、予め設定された経路を移動中に障害物Oを検出して、障害物Oを回避するための経路Rを設定する場合を例にして説明する。
(目的位置の取得)
目的位置情報取得部131は、移動体10の目標とする移動先である目的位置Pの位置情報を取得する。目的位置情報取得部131は、通信部110を介して、管理システム200から送信された目的位置Pの位置情報を取得する。ただし、目的位置情報取得部131は、管理システム200から目的位置Pの位置情報を取得することに限られず、自身で目的位置Pを設定してもよい。
目的位置情報取得部131は、移動体10の目標とする移動先である目的位置Pの位置情報を取得する。目的位置情報取得部131は、通信部110を介して、管理システム200から送信された目的位置Pの位置情報を取得する。ただし、目的位置情報取得部131は、管理システム200から目的位置Pの位置情報を取得することに限られず、自身で目的位置Pを設定してもよい。
(自己位置の取得)
自己位置情報取得部132は、移動体10自身の位置、及び姿勢の情報を取得する。自己位置情報取得部132は、上述して説明した自己位置検出部140を制御して、移動体10自身の位置情報(座標情報)、及び姿勢情報(向きを示す情報)を取得する。以下、位置情報、及び姿勢情報を合わせて、適宜、位置姿勢情報と記載する。自己位置情報取得部132は、所定時間ごとに、逐次、移動体10の位置姿勢情報を取得する。ただし、自己位置情報取得部132は、自身で移動体10の位置、及び姿勢を検出することに限られず、例えば、管理システム200などの外部の装置が移動体10の位置、及び姿勢を検出し、自己位置情報取得部132が、その検出結果を移動体10の位置姿勢情報として取得してもよい。
自己位置情報取得部132は、移動体10自身の位置、及び姿勢の情報を取得する。自己位置情報取得部132は、上述して説明した自己位置検出部140を制御して、移動体10自身の位置情報(座標情報)、及び姿勢情報(向きを示す情報)を取得する。以下、位置情報、及び姿勢情報を合わせて、適宜、位置姿勢情報と記載する。自己位置情報取得部132は、所定時間ごとに、逐次、移動体10の位置姿勢情報を取得する。ただし、自己位置情報取得部132は、自身で移動体10の位置、及び姿勢を検出することに限られず、例えば、管理システム200などの外部の装置が移動体10の位置、及び姿勢を検出し、自己位置情報取得部132が、その検出結果を移動体10の位置姿勢情報として取得してもよい。
(障害物の位置の取得)
障害物情報取得部133は、障害物Oの位置の情報を取得する。障害物情報取得部133は、障害物検出部150を制御して、障害物Oの位置情報を取得する。障害物情報取得部133は、所定時間毎に、逐次、障害物Oの位置情報を取得する。ただし、障害物情報取得部133は、自身で障害物Oの位置を検出することに限られず、例えば、管理システム200などの外部の装置が障害物Oの位置を検出し、障害物情報取得部133が、その検出結果を障害物Oの位置姿勢情報として取得してもよい。なお、障害物情報取得部133は、障害物Oの位置に加えて、障害物Oの姿勢も取得してよい。
障害物情報取得部133は、障害物Oの位置の情報を取得する。障害物情報取得部133は、障害物検出部150を制御して、障害物Oの位置情報を取得する。障害物情報取得部133は、所定時間毎に、逐次、障害物Oの位置情報を取得する。ただし、障害物情報取得部133は、自身で障害物Oの位置を検出することに限られず、例えば、管理システム200などの外部の装置が障害物Oの位置を検出し、障害物情報取得部133が、その検出結果を障害物Oの位置姿勢情報として取得してもよい。なお、障害物情報取得部133は、障害物Oの位置に加えて、障害物Oの姿勢も取得してよい。
(経路の設定)
経路取得部134は、移動体10の経路Rを取得する。本実施形態では、経路取得部134は、移動体10の形状に関する情報に基づき、障害物Oの干渉を禁止する移動体領域B0を設定して、移動体領域B0に基づいて、移動体10の経路Rを設定する。以下、具体的に説明する。
経路取得部134は、移動体10の経路Rを取得する。本実施形態では、経路取得部134は、移動体10の形状に関する情報に基づき、障害物Oの干渉を禁止する移動体領域B0を設定して、移動体領域B0に基づいて、移動体10の経路Rを設定する。以下、具体的に説明する。
(占有領域の設定)
図7は、占有領域の一例を説明する模式図である。経路取得部134の領域設定部1341は、移動体10の形状に関する情報に基づき、移動体10が占める車体領域A1を含む占有領域A0を設定する。占有領域A0は、移動体領域B0を設定するために用いられる領域である。より詳しくは、領域設定部1341は、移動体10の形状に関する情報に基づき、移動体10が占める車体領域A1を特定して、車体領域A1の全域を含む領域を、占有領域A0として設定する。移動体10の形状に関する情報とは、移動体10が占める領域を特定可能な情報であり、例えば、移動体10の座標系における移動体10の外郭上の各点の座標情報であってもよいし、移動体10の幅及び長さ(X方向及びY方向における長さ)の情報であってもよい。領域設定部1341は、移動体10の形状に関する情報を任意の方法で取得してよい。例えば本実施形態では、移動体10の形状に関する情報は、設計情報として記憶部120に記憶されており、領域設定部1341は、記憶部120から、移動体10の形状に関する情報を読み出す。
図7は、占有領域の一例を説明する模式図である。経路取得部134の領域設定部1341は、移動体10の形状に関する情報に基づき、移動体10が占める車体領域A1を含む占有領域A0を設定する。占有領域A0は、移動体領域B0を設定するために用いられる領域である。より詳しくは、領域設定部1341は、移動体10の形状に関する情報に基づき、移動体10が占める車体領域A1を特定して、車体領域A1の全域を含む領域を、占有領域A0として設定する。移動体10の形状に関する情報とは、移動体10が占める領域を特定可能な情報であり、例えば、移動体10の座標系における移動体10の外郭上の各点の座標情報であってもよいし、移動体10の幅及び長さ(X方向及びY方向における長さ)の情報であってもよい。領域設定部1341は、移動体10の形状に関する情報を任意の方法で取得してよい。例えば本実施形態では、移動体10の形状に関する情報は、設計情報として記憶部120に記憶されており、領域設定部1341は、記憶部120から、移動体10の形状に関する情報を読み出す。
さらに言えば、本実施形態では、領域設定部1341は、車体領域A1に加えて、前方領域A2及び後方領域A3も設定し、車体領域A1、前方領域A2及び後方領域A3を含む領域(これらの領域の全域と一致する領域)を、占有領域A0に設定する。前方領域A2及び後方領域A3は、移動体10が停止するまでの制動距離を考慮して設定される安全領域である。前方領域A2は、車体領域A1に対して移動体10の前方向側に位置して、車体領域A1に隣接する領域である。後方領域A3は、車体領域A1に対して移動体10の後方向側に位置して、車体領域A1に隣接する領域である。領域設定部1341は、移動体10がこれから設定する経路Rを移動する際の移動体10の速度である予定速度を取得し、予定速度に基づいて、占有領域A0(本例では前方領域A2及び後方領域A3)の大きさを設定する。予定速度は、例えば移動を予定している区間毎に予め設定されている。領域設定部1341は、予定速度が高いほど、占有領域A0(本例では前方領域A2及び後方領域A3)が広くなるように、占有領域A0(本例では前方領域A2及び後方領域A3)の大きさを設定する。領域設定部1341は、車体領域A1の前方向側に設定した大きさの前方領域A2を設定し、車体領域A1の後方向側に設定した大きさの後方領域A3を設定して、車体領域A1、前方領域A2及び後方領域A3を含む領域を、占有領域A0として設定する。
なお、占有領域A0は、車体領域A1を含めた移動体10の周囲の領域であるため、移動体10の移動に伴い、領域ARの座標系における占有領域A0の位置は、移動する。以降において、占有領域A0の位置とは、特に断りのない限り、移動体10の座標系における占有領域A0の位置を指してよい。
また、領域設定部1341は、移動体10が荷物を搬送している場合には、その荷物の大きさも考慮して、占有領域A0を設定してよい。領域設定部1341は、移動体10が荷物を搬送している場合には、荷物を搬送していない状態に比べて、占有領域A0を広げてよい。例えば、領域設定部1341は、移動体10が荷物を搬送している状態にあると判定した場合には、荷物を搬送していない状態に対して、後方領域A3を所定の大きさだけ広げてよい。なお、移動体10が荷物を搬送している状態にあると判定する方法は任意であってよく、例えば、移動体10が荷物を荷取りする位置から荷下ろしする位置までの経路を移動中である場合に、移動体10が荷物を搬送している状態にあると判定してよい。また、後方領域A3を広げる大きさ(所定の大きさ)は、任意に設定されてよく、例えば、予め設定された大きさだけ広げてもよい。
また、領域設定部1341は、移動体10が搬送している荷物の大きさの検出結果に基づいて、占有領域A0を設定してよい。荷物の大きさの検出方法は任意であってよい。例えば移動体10に搭載されているセンサ26によって、移動体10が搬送している荷物の、移動体10の左右方向の縁からのはみだし長さを検出してよい。また例えば、移動体10は、荷取りする際に、荷物が積まれているパレットの孔にツメ24A、24Bを差し込む場合があり、パレットの孔にツメ24A、24Bを差し込んだ状態で、ツメ24A、24Bを左右に動かすことで、荷物のはみだし長さを算出してもよい。すなわちこの場合、ツメ24A、24Bが孔の一方(例えば左側)の内壁に当たった状態から、ツメ24A、24Bが孔の他方(例えば右側)の内壁に当たった状態までの、ツメ24A、24Bの左右方向の移動量に基づき、荷物のはみだし長さを算出する。領域設定部1341は、荷物のはみだし長さの分(又は、はみだし長さよりも長く)、後方領域A3を左右方向に広げてよい。
なお、例えば移動体10が搬送している荷物がずれており、荷物が、後方領域A3からはみ出しつつ、車体領域A1からもはみ出す場合もある。この場合、領域設定部1341は、車体領域A1についても、荷物のはみ出し長さの分(又は、はみだし長さよりも長く)、左右方向に広げてよい。
(移動体領域の設定)
移動体領域の領域設定部1341は、占有領域A0に基づいて、移動体領域B0を設定する。移動体領域B0とは、移動体10が経路Rを移動している際に、障害物Oをその範囲内に入れるべきではない領域を指す。すなわち、経路取得部134は、障害物Oが移動体領域B0と重ならないような経路Rを設定する。なお、領域ARの座標系における移動体領域B0の位置も、移動体10の移動に伴い、移動する。以降において、移動体領域B0の位置とは、特に断りのない限り、移動体10の座標系における移動体領域B0の位置を指してよい。
移動体領域の領域設定部1341は、占有領域A0に基づいて、移動体領域B0を設定する。移動体領域B0とは、移動体10が経路Rを移動している際に、障害物Oをその範囲内に入れるべきではない領域を指す。すなわち、経路取得部134は、障害物Oが移動体領域B0と重ならないような経路Rを設定する。なお、領域ARの座標系における移動体領域B0の位置も、移動体10の移動に伴い、移動する。以降において、移動体領域B0の位置とは、特に断りのない限り、移動体10の座標系における移動体領域B0の位置を指してよい。
図8は、移動体領域の一例を説明する模式図である。領域設定部1341は、移動体領域B0が占有領域A0と重なり、かつ、移動体領域B0が複数の単位領域Bの一部同士が重畳した形状となるように、移動体領域B0を設定する。単位領域Bの一部同士が重畳した形状とは、単位領域Bの全域のうちの一部の領域が、他の単位領域Bの一部の領域と重なっている形状を指す。また、単位領域Bは、Z方向から見て、円形または楕円形となる領域である。従って、移動体領域B0は、複数の円形または楕円形が、一部の領域で重なりつつ連なった形状となる。
本実施形態では、領域設定部1341は、占有領域A0の全域に移動体領域B0が重なるように、移動体領域B0の位置及び大きさを、すなわち各単位領域Bの位置及び大きさを、設定する。本実施形態の例では、領域設定部1341は、車体領域A1と重なる単位領域B1(第1単位領域)と、前方領域A2と重なる単位領域B2(第2単位領域)と、後方領域A3と重なる単位領域B3(第3単位領域)とを有し、かつ、単位領域B1、B2、B3の少なくとも2つ同士が互いに重なるように、移動体領域B0を設定する。より詳しくは、図8の例では、領域設定部1341は、単位領域B3、B1、B2が、移動体10の前方向に向けてこの順で並ぶように、移動体領域B0を設定している。図8の例では、単位領域B1が車体領域A1の全域と重なり、単位領域B2が前方領域A2の全域と重なり、単位領域B3が後方領域A3の全域と重なり、単位領域B1の前方向側の領域が単位領域B2の後方向側の領域と重畳し、単位領域B1の後方向側の領域が単位領域B3の前方向側の領域と重畳している。
ただし、移動体領域B0は、占有領域A0の全域に重なることに限られず、占有領域A0の一部の領域に重なるものであってよい。例えば、領域設定部1341は、占有領域A0の周縁に重なるように、移動体領域B0を設定してよい。この場合、移動体領域B0は、占有領域A0の周縁よりも径方向内側の領域に重ならなくてもよい。
(移動体領域の他の例)
図9及び図10は、移動体領域の他の例を示す模式図である。本実施形態では、領域設定部1341は、前方領域A2と重なる単位領域B2と、車体領域A1と重なる単位領域B1と、後方領域A3と重なる単位領域B3とが後方向にこの順で並ぶように移動体領域B0を設定していたが、移動体領域B0の形状は、これに限られない。例えば、単位領域Bの数は3つに限られず、2つでもよいし4つ以上であってもよい。図9の例では、領域設定部1341は、前方領域A2の全域及び車体領域A1の前方側の領域に重なる単位領域B1と、車体領域A1の後側の領域及び後方領域A3の全域に重なる単位領域B2と、の2つの単位領域Bが、後方向にこの順で並ぶように、移動体領域B0を設定する例が示されている。
図9及び図10は、移動体領域の他の例を示す模式図である。本実施形態では、領域設定部1341は、前方領域A2と重なる単位領域B2と、車体領域A1と重なる単位領域B1と、後方領域A3と重なる単位領域B3とが後方向にこの順で並ぶように移動体領域B0を設定していたが、移動体領域B0の形状は、これに限られない。例えば、単位領域Bの数は3つに限られず、2つでもよいし4つ以上であってもよい。図9の例では、領域設定部1341は、前方領域A2の全域及び車体領域A1の前方側の領域に重なる単位領域B1と、車体領域A1の後側の領域及び後方領域A3の全域に重なる単位領域B2と、の2つの単位領域Bが、後方向にこの順で並ぶように、移動体領域B0を設定する例が示されている。
また例えば、単位領域Bは、移動体10の前後方向に並ぶことに限られず、移動体10の左右方向に並んでもよい。図9の例では、領域設定部1341は、前方領域A2、車体領域A1、及び後方領域A3の左方側の領域に重なる単位領域B1と、前方領域A2、車体領域A1、及び後方領域A3の右方側の領域に重なる単位領域B2と、の2つの単位領域Bが、右方向にこの順で並ぶように、移動体領域B0を設定する例が示されている。また、領域設定部1341は、前後方向に並ぶ単位領域Bと左右方向に並ぶ単位領域Bとを含むように、移動体領域B0を設定してもよい。
(経路の算出)
経路取得部134は、目的位置Pの位置情報と、障害物Oの位置情報と、移動体領域B0の位置及び大きさの情報とに基づいて、障害物Oが移動体領域B0と重ならずに、移動体10が目的位置Pに向かう経路を、移動体10の経路Rとして算出する。経路取得部134は、これらの情報に基づいた任意の方法で経路Rを算出してよいが、本実施形態では、制約条件及び評価関数を設定し、最適化計算の手法を用いて、経路Rを算出する。
経路取得部134は、目的位置Pの位置情報と、障害物Oの位置情報と、移動体領域B0の位置及び大きさの情報とに基づいて、障害物Oが移動体領域B0と重ならずに、移動体10が目的位置Pに向かう経路を、移動体10の経路Rとして算出する。経路取得部134は、これらの情報に基づいた任意の方法で経路Rを算出してよいが、本実施形態では、制約条件及び評価関数を設定し、最適化計算の手法を用いて、経路Rを算出する。
(制約条件の設定)
経路取得部134の制約条件設定部1342は、移動体10が経路Rに従って移動している際に、障害物Oが移動体領域B0と重ならないことを、制約条件として設定する。本実施形態では、制約条件設定部1342は、移動体10の位置、移動体領域B0、及び障害物Oの位置に基づき、先読みステップ毎の移動体10が障害物Oに干渉しない旨を、制約条件として設定する。すなわち、制約条件は、それぞれの先読みステップにおいて、移動体領域B0が障害物Oに干渉しない、というものである。
経路取得部134の制約条件設定部1342は、移動体10が経路Rに従って移動している際に、障害物Oが移動体領域B0と重ならないことを、制約条件として設定する。本実施形態では、制約条件設定部1342は、移動体10の位置、移動体領域B0、及び障害物Oの位置に基づき、先読みステップ毎の移動体10が障害物Oに干渉しない旨を、制約条件として設定する。すなわち、制約条件は、それぞれの先読みステップにおいて、移動体領域B0が障害物Oに干渉しない、というものである。
(最適化計算の実行)
経路取得部134の最適化計算実行部1343は、制約条件設定部1342が設定した制約条件と、先読みステップ毎の移動体10の位置と目的位置Pとの偏差が小さくなるほど評価が高くなる評価関数とに基づき、最適化計算を実行する。すなわち、経路取得部134は、モデル予測制御の考え方を用い、制約条件を満たす経路を予測(先読)し、各先読みステップでの移動体10と目的位置Pの関係において、距離が短いほど、評価が高くなる評価関数を用いて、移動体10の各予測ステップの位置に関する移動体10と目的位置の偏差を評価して、経路Rを特定する。これにより、経路取得部134は、最適な経路Rを、すなわち先読みステップ毎の最適な移動体10の位置及び姿勢を、特定できる。
経路取得部134の最適化計算実行部1343は、制約条件設定部1342が設定した制約条件と、先読みステップ毎の移動体10の位置と目的位置Pとの偏差が小さくなるほど評価が高くなる評価関数とに基づき、最適化計算を実行する。すなわち、経路取得部134は、モデル予測制御の考え方を用い、制約条件を満たす経路を予測(先読)し、各先読みステップでの移動体10と目的位置Pの関係において、距離が短いほど、評価が高くなる評価関数を用いて、移動体10の各予測ステップの位置に関する移動体10と目的位置の偏差を評価して、経路Rを特定する。これにより、経路取得部134は、最適な経路Rを、すなわち先読みステップ毎の最適な移動体10の位置及び姿勢を、特定できる。
(最適化計算の具体例)
以下、最適化計算の具体例を説明する。
以下、最適化計算の具体例を説明する。
最適化計算実行部1343は、最適化計算を実行して、最適化された移動体10の経路Rを実現できる移動体10の駆動条件を算出する。駆動条件とは、移動体10の動力部28を動作させるための入力値を指す。本実施形態では、制約条件設定部1342は、最適化計算の実行のために、先読みステップ毎の移動体領域B0が障害物Oに干渉しない旨の制約条件を設定する。先読みステップとは、現在(障害物Oの位置や移動体10の位置及び姿勢が直近で検出されたタイミング)以降の、離散化した各時刻を意味する。そして、最適化計算実行部1343は、先読みステップ毎の移動体10の位置と目的位置Pとの偏差が小さくなるほど評価が高くなる評価関数と、制約条件とに基づき、最適化計算を行い、最適化計算で最適化された移動体10の経路Rを実現できる移動体10の駆動条件を、算出する。なお、以降では、X方向及びY方向の二次元座標平面上での移動体10の運動を例として説明するが、三次元座標上での運動モデルに対しても適用可能である。
ここで、最適化計算実行部1343によって算出される最適化された経路Rは、先読みステップ毎の(現在以降の離散時刻毎の)移動体10の位置及び姿勢の集合といえ、未来の経路であるといえる。移動体10のX方向及びY方向での位置(座標)を[x,y]T、移動体10の姿勢をθ、先読みステップ(離散時刻)をkとすると、先読みステップkでの移動体10の位置及び姿勢は、すなわち先読みステップkでの経路Rは、次の式(1)で表される。なお、Tは転置を示す。なお、上述のように、本実施形態の説明は、二次元平面座標上での運動を例としたものであり、例えば三次元座標上での運動モデルとする場合には、以降の式などは三次元座標に合わせたものとなる。
この場合、移動体10の運動モデルは、次の式(2)のように表される。
式(2)のΔtは、(k)から(k+1)への遷移に係る時間幅である。Δtは、経路Rの更新周期(経路Rを更新してから次に経路Rを更新するまでの時間幅)と同じであってもよいが、例えば、更新周期よりも短くてもよいし、更新周期よりも長くてもよい。Δtを更新周期より短くすることで、詳細な経路Rを生成でき、Δtを更新周期より長くすることで、計算負荷を低減できる。また、u(k)は、システムの入力であり、移動体10の駆動条件を指す。本実施形態の例では、u(k)は、移動体10の速度v(k)、移動体10の操舵角Φ(k)を用いて、次の式(3)のように表される。
二次元平面座標上での運動を想定した場合、システムの状態方程式であるfは、一例として、次の式(4)のように表される。なお、Lは、ホイールベースを指し、例えば前輪と後輪との間の距離である。
本実施形態では、最適化計算実行部1343は、制約条件を設定する際に、先読みステップ毎の移動体10の位置及び姿勢を、仮に設定する。そして、最適化計算実行部1343は、移動体10の座標系における障害物Oの位置(座標)を、先読みステップ毎に算出する。すなわち、最適化計算実行部1343は、障害物情報取得部133によって取得された、方向X及び方向Yの座標系における障害物Oの位置(座標)を、先読みステップでの移動体10の位置を座標中心とした位置(座標)に変換する。例えば、最適化計算実行部1343は、次の式(5)を用いて、移動体10の座標系における障害物Oの位置を算出する。
なお、[x’ob,y’ob]が、障害物情報取得部133によって取得された方向X及び方向Yの座標系における障害物Oの位置であり、[xob(k),yob(k)]Tが、先読みステップkにおける、移動体10の座標系における障害物Oの位置である。
そして、最適化計算実行部1343は、各先読みステップにおいて、障害物Oの位置が、移動体領域B0の範囲外となることを、制約条件として設定する。
なお、このように各先読みステップで制約条件を解くことができるのは、運動モデルをもとに、先読みステップでの移動体10の位置及び姿勢を予測計算して仮に設定しているためである。
(最適化計算)
最適化計算実行部1343は、上記のように設定した制約条件と、先読みステップ毎の移動体10の位置と目的位置Pとの偏差が小さくなるほど評価が高くなる評価関数とに基づき、最適化計算を実行する。すなわち、最適化計算実行部1343は、モデル予測制御の考え方を用い、制約条件を満たす移動経路を予測(先読)し、各先読みステップでの移動体10と目的位置Pの関係において、距離が短いほど、評価が高くなる評価関数を用いて、移動体10の各予測ステップの位置に関する移動体10と目的位置の偏差を評価して、経路Rを特定する。これにより、最適化計算実行部1343は、最適な経路Rを、すなわち先読みステップ毎の最適な移動体10の位置及び姿勢を、特定できる。言い換えれば、最適化計算実行部1343は、先読みステップ毎の移動体10の位置が障害物Oに干渉しない旨の制約条件を満たし、かつ、先読みステップ毎の移動体10の位置と目的位置Pとの偏差が最小となるような、先読みステップ毎の最適な移動体10の位置及び姿勢(すなわち最適な経路R)を、特定する。
最適化計算実行部1343は、上記のように設定した制約条件と、先読みステップ毎の移動体10の位置と目的位置Pとの偏差が小さくなるほど評価が高くなる評価関数とに基づき、最適化計算を実行する。すなわち、最適化計算実行部1343は、モデル予測制御の考え方を用い、制約条件を満たす移動経路を予測(先読)し、各先読みステップでの移動体10と目的位置Pの関係において、距離が短いほど、評価が高くなる評価関数を用いて、移動体10の各予測ステップの位置に関する移動体10と目的位置の偏差を評価して、経路Rを特定する。これにより、最適化計算実行部1343は、最適な経路Rを、すなわち先読みステップ毎の最適な移動体10の位置及び姿勢を、特定できる。言い換えれば、最適化計算実行部1343は、先読みステップ毎の移動体10の位置が障害物Oに干渉しない旨の制約条件を満たし、かつ、先読みステップ毎の移動体10の位置と目的位置Pとの偏差が最小となるような、先読みステップ毎の最適な移動体10の位置及び姿勢(すなわち最適な経路R)を、特定する。
本実施形態では、経路Rを最適化する目的関数V(u,p,k)が、次の式(6)で表されると想定する。
ここで、J(u,p,k)は、最適化の目的を表す評価関数であり、経路計画であれば目的位置への接近や到達が含まれるような関数に設定される。本実施形態の例では、最適化計算実行部1343は、評価関数J(u,p,k)を、次の式(7)のように設定する。
ここで、pr=[x(k),y(k),θ(k)]Tは、すなわち式(7)でのxr、yr、θrは、目的となる位置及び姿勢である。また、A1、A2、A3は、重み係数であり任意に設定されてよい。この評価関数の元では、移動体10の各先読みステップkにおける位置及び姿勢(p(k))と目的の位置及び姿勢(pr)との偏差が小さくなるように最適化される。すなわち、移動体10が目的の位置及び姿勢に最短距離で近づくような最適化結果となる。
以上のような最適化計算を実行することで、最適化計算実行部1343は、最適化計算のアウトプット(最適解)として、先読みステップ毎の駆動条件(システムの入力)であるu(k)の値を得る。最適化計算実行部1343が得る先読みステップ毎の駆動条件は、最適化された経路Rを実現するための駆動条件であるといえる。最適化計算実行部1343は、最適化計算で得られた先読みステップ毎の駆動条件に基づき、最適化された経路Rを算出してよい。例えば、最適化計算実行部1343は、最適化計算で得られたu(k)を式(2)に代入して、最適化された経路Rを算出してもよい。
なお、最適化計算に制約条件を課す方法は、上記の説明での方法に限られず、例えば、目的関数V(u,p,k)や評価関数J(u,p,k)に制約条件を組み込んでよい。また、以上の説明では、障害物Oが単数の場合を例にしたが、障害物Oを複数としてもよい。また、最適化問題を解く手法としては、例として逐次二次計画法のような非線形最適化手法を用いてよい。ここで用いる最適化手法は、制約条件を課した最適化問題を解くことが可能である必要がある。なお、例えば式(2)や制約条件が非線形関数になる場合には、非線形最適化を用いることが好ましく、線形最適化手法は適さない可能性がある。
(移動体の移動)
移動制御部135は、経路取得部134が取得した駆動条件に基づき、移動体10を制御する。移動制御部135は、経路取得部134が取得した駆動条件で、動力部38を駆動する。これにより、移動制御部135は、移動体10を、最適化された経路Rに従って移動させる。本実施形態では、移動制御部135は、経路取得部134によって計算された駆動条件に基づいて、動力部28に与える制御信号を生成する。すなわち、移動制御部135は、経路取得部134によって計算された駆動条件に基づいて、これを実現する制御信号を生成する。本実施形態の例では、移動体10の速度v(k)、移動体10の操舵角Φ(k)を用いて、これを実現する制御信号を生成する。
移動制御部135は、経路取得部134が取得した駆動条件に基づき、移動体10を制御する。移動制御部135は、経路取得部134が取得した駆動条件で、動力部38を駆動する。これにより、移動制御部135は、移動体10を、最適化された経路Rに従って移動させる。本実施形態では、移動制御部135は、経路取得部134によって計算された駆動条件に基づいて、動力部28に与える制御信号を生成する。すなわち、移動制御部135は、経路取得部134によって計算された駆動条件に基づいて、これを実現する制御信号を生成する。本実施形態の例では、移動体10の速度v(k)、移動体10の操舵角Φ(k)を用いて、これを実現する制御信号を生成する。
なお、以上の説明では、経路取得部134は、最適化計算を行うことで、最適化された経路Rを実現するための、先読みステップ毎の駆動条件をアウトプットとして算出していたが、それに限られない。例えば、経路取得部134は、最適化計算を行うことで、最適化された経路Rを算出してもよい。この場合、経路取得部134は、最適化された経路Rに基づき、先読みステップ毎の駆動条件を算出してよい。また、制御装置100の経路取得部134が経路Rを算出し、別の装置やプログラムが、制御装置100から経路Rの情報を取得して、駆動条件を算出してもよい。すなわち、制御装置100は、経路Rを設定する経路生成装置であると言い換えることもできる。
なお、本実施形態においては、移動体10が制御装置100を有し、移動体10が有する制御装置100が、移動体領域B0の設定や経路Rの設定などの、経路Rの設定に関する処理を行っていた。ただし、移動体領域B0の設定や経路Rの設定などの経路Rの設定に関する処理は、移動体10が行うことに限られず、管理システム12などの外部の装置が行ってもよい。この場合、移動体10は、設定された経路Rやその経路Rに従って移動するための駆動条件を、外部の装置から取得して、取得した経路Rや駆動条件を用いて、移動体10(動力部38)を制御してもよい。言い換えれば、制御装置30は、移動体10が有していてもよいし、移動体10以外の装置(例えば管理システム12)が有していてもよい。さらに言えば、目的位置情報取得部131と自己位置情報取得部132と障害物情報取得部133と経路取得部134との少なくとも1つの機能は、移動体10が有していてもよいし、他の装置(例えば管理システム12)が有していてもよい。
また、以上の説明においては、移動体10が予め設定されていた経路の移動中に、障害物Oを検出して、障害物Oを回避する経路Rを設定する旨を説明した。ただし、経路Rは、障害物Oを検出したことをトリガとして設定されるものに限られない。例えば、制御装置100や管理システム12は、移動体10が今後移動することを予定している経路を、経路Rとして設定してよい。この場合、制御装置100や管理システム12は、移動体10の移動元(経路Rの始点)の位置情報と、目的位置Pの位置と、位置が既知の障害物O(例えば壁や柱など)の位置情報と、を取得し、上述で説明した方法と同様の方法で、障害物Oが移動体領域B0と重ならずに、移動元から目的位置Pに向かう経路Rを、設定してよい。
(処理フロー)
次に、第1実施形態における経路Rの設定フローを説明する。図11は、第1実施形態における経路の設定フローを説明するフローチャートである。図11に示すように、本実施形態においては、移動体10の制御装置100は、各種の位置情報を取得する(ステップS10)。具体的には、制御装置100は、目的位置情報取得部131により目的位置Pの位置情報を取得し、障害物情報取得部133により、障害物Oの位置情報を取得する。制御装置100は、領域設定部1341により、移動体10が占める領域を含む占有領域A0と重なり、かつ、複数の単位領域Bの一部同士が重畳した形状となる、移動体領域B0を設定する(ステップS12)。そして、制御装置100は、制約条件設定部1342により、障害物Oが移動体領域B0と重ならないことを制約条件として設定し(ステップS14)、最適化計算実行部1343により、制約条件と評価関数とに基づき、最適化計算を実行して、経路Rを設定する(ステップS16)。
次に、第1実施形態における経路Rの設定フローを説明する。図11は、第1実施形態における経路の設定フローを説明するフローチャートである。図11に示すように、本実施形態においては、移動体10の制御装置100は、各種の位置情報を取得する(ステップS10)。具体的には、制御装置100は、目的位置情報取得部131により目的位置Pの位置情報を取得し、障害物情報取得部133により、障害物Oの位置情報を取得する。制御装置100は、領域設定部1341により、移動体10が占める領域を含む占有領域A0と重なり、かつ、複数の単位領域Bの一部同士が重畳した形状となる、移動体領域B0を設定する(ステップS12)。そして、制御装置100は、制約条件設定部1342により、障害物Oが移動体領域B0と重ならないことを制約条件として設定し(ステップS14)、最適化計算実行部1343により、制約条件と評価関数とに基づき、最適化計算を実行して、経路Rを設定する(ステップS16)。
(効果)
以上のように、本実施形態の制御装置100は、移動体10が占める領域を含む占有領域A0と重なり、かつ、複数の単位領域Bの一部同士が重畳した形状となる、移動体領域B0を設定する。そして、制御装置100は、障害物Oが移動体領域B0と重ならず目的位置Pに向かう経路を、移動体10の経路Rとして設定する。移動体領域B0は、移動体10が進入する可能性がある領域なので、障害物Oが移動体領域B0と重ならないように経路Rを設定することで、障害物Oとの干渉を抑制させつつ、移動体10を移動させることができる。
以上のように、本実施形態の制御装置100は、移動体10が占める領域を含む占有領域A0と重なり、かつ、複数の単位領域Bの一部同士が重畳した形状となる、移動体領域B0を設定する。そして、制御装置100は、障害物Oが移動体領域B0と重ならず目的位置Pに向かう経路を、移動体10の経路Rとして設定する。移動体領域B0は、移動体10が進入する可能性がある領域なので、障害物Oが移動体領域B0と重ならないように経路Rを設定することで、障害物Oとの干渉を抑制させつつ、移動体10を移動させることができる。
また、移動体領域B0を小さく設定し過ぎると、経路は柔軟に設定できるが、障害物Oの干渉を回避できなくなるおそれがある。一方、移動体領域B0を大きく設定し過ぎると、障害物Oを回避する経路を設定する場合に、設定可能な経路の制限度合いが高くなる場合がある。例えば、移動体領域B0を単一の楕円や円で設定する場合、障害物Oの干渉を回避できる程度の大きさに移動体領域B0を設定すると、本来の移動体10の占有領域A0よりも過大となってしまい、設定可能な経路の制限度合いが高くなるおそれがある。この場合、例えば、通路幅を広くしなければならない等の運用可能範囲を狭めてしまう恐れがある。それに対して、本実施形態においては、円又は楕円の複数の単位領域Bの一部同士が重畳するように、移動体領域B0を設定する。これにより、障害物Oの干渉を回避できる程度の大きさに移動体領域B0を設定したとしても、移動体領域B0の面積が過大になることを抑制でき、柔軟に経路Rを設定することが可能となる。このように、本実施形態によると、移動体10の経路を適切に設定できる。
(第2実施形態)
次に、第2実施形態について説明する。第2実施形態においては、最適化計算を用いて移動体領域B0を設定する点で、第1実施形態と異なる。第2実施形態において、第1実施形態と構成が共通する箇所は、説明を省略する。
次に、第2実施形態について説明する。第2実施形態においては、最適化計算を用いて移動体領域B0を設定する点で、第1実施形態と異なる。第2実施形態において、第1実施形態と構成が共通する箇所は、説明を省略する。
図12は、移動体領域の設定を説明する模式図である。第2実施形態においては、最適化計算を用いて単位領域Bの位置及び大きさを設定することで、移動体領域B0を設定する。以下、具体的に説明する。
(占有領域の設定)
第2実施形態においては、領域設定部1341は、占有領域A0を設定する。第2実施形態における占有領域A0の設定方法は、第1実施形態と同様であるため、詳細な説明を省略する。本例では、領域設定部1341は、車体領域A1、前方領域A2及び後方領域A3を含む領域を、占有領域A0に設定する。
第2実施形態においては、領域設定部1341は、占有領域A0を設定する。第2実施形態における占有領域A0の設定方法は、第1実施形態と同様であるため、詳細な説明を省略する。本例では、領域設定部1341は、車体領域A1、前方領域A2及び後方領域A3を含む領域を、占有領域A0に設定する。
(単位領域の数の設定)
第2実施形態においては、領域設定部1341は、移動体領域B0が有する単位領域Bの数を設定する。単位領域Bの数の設定方法は任意であってよいが、例えば本実施形態では、領域設定部1341は、予め設定された所定数を、単位領域Bの数として設定する。単位領域Bの数は任意であってよいが、例えば2個以上5個以下程度であることが好ましい。また例えば、領域設定部1341は、移動体10の形状に関する情報に基づき、単位領域Bの数を設定してよい。例えば、領域設定部1341は、移動体10が1つのフォーク24を有する構成である場合には、単位領域Bの数を3つとし、移動体10が、左右方向に並ぶ2つのフォーク24を有する構成である場合には、単位領域Bの数を4つとしてよい。以降においては、単位領域Bを3つとした場合を例にして説明する。
第2実施形態においては、領域設定部1341は、移動体領域B0が有する単位領域Bの数を設定する。単位領域Bの数の設定方法は任意であってよいが、例えば本実施形態では、領域設定部1341は、予め設定された所定数を、単位領域Bの数として設定する。単位領域Bの数は任意であってよいが、例えば2個以上5個以下程度であることが好ましい。また例えば、領域設定部1341は、移動体10の形状に関する情報に基づき、単位領域Bの数を設定してよい。例えば、領域設定部1341は、移動体10が1つのフォーク24を有する構成である場合には、単位領域Bの数を3つとし、移動体10が、左右方向に並ぶ2つのフォーク24を有する構成である場合には、単位領域Bの数を4つとしてよい。以降においては、単位領域Bを3つとした場合を例にして説明する。
(単位占有領域の設定)
領域設定部1341は、単位領域Bの数に基づいて、占有領域A0を複数の単位占有領域Aに区分する。本実施形態では、領域設定部1341は、占有領域A0を、単位領域Bと同数の単位占有領域Aに区分する。本例では、単位領域Bの数が3つなので、領域設定部1341は、占有領域A0を、3つの単位占有領域Aに区分する。
領域設定部1341は、単位領域Bの数に基づいて、占有領域A0を複数の単位占有領域Aに区分する。本実施形態では、領域設定部1341は、占有領域A0を、単位領域Bと同数の単位占有領域Aに区分する。本例では、単位領域Bの数が3つなので、領域設定部1341は、占有領域A0を、3つの単位占有領域Aに区分する。
それぞれの単位占有領域Aの位置や大きさは、任意に設定してよい。図12の例では、領域設定部1341は、占有領域A0を、車体領域A1と重なる単位占有領域Aと、前方領域A2と重なる単位占有領域Aと、後方領域A3と重なる単位占有領域Aと、に区分する。なお、例えば移動体10が左右方向に並ぶ2つのフォーク24を有し、単位領域Bの数が4つに設定された場合には、領域設定部1341は、占有領域A0を、車体領域A1の左側の領域である単位占有領域Aと、車体領域A1の右側の領域である単位占有領域Aと、前方領域A2である単位占有領域Aと、後方領域A3である単位占有領域Aと、に区分してもよい。
(制約条件の設定)
領域設定部1341は、それぞれの単位占有領域Aについて、単位領域Bが、単位占有領域Aの周縁上の位置と重なることを、制約条件として設定する。すなわち、領域設定部1341は、それぞれの単位占有領域Aに対して、単位領域Bを1つずつ割り当てる。そして、領域設定部1341は、それぞれの単位占有領域Aについて、その単位占有領域Aに割り当てられた単位領域Bが、その単位占有領域Aの周縁上の位置Pと重なることを、制約条件として設定する。すなわち図12の例では、領域設定部1341は、車体領域A1に対応する単位占有領域Aに単位領域B1を割り当て、前方領域A2に対応する単位占有領域Aに単位領域B2を割り当て、後方領域A3に対応する単位占有領域Aに単位領域B3を割り当てる。そして、領域設定部1341は、単位領域B1が車体領域A1に対応する単位占有領域Aの周縁上の位置P1と重なることと、単位領域B2が前方領域A2に対応する単位占有領域Aの周縁上の位置P2と重なることと、単位領域B3が後方領域A3に対応する単位占有領域Aの周縁上の位置P2と重なることとを、制約条件として設定する。
領域設定部1341は、それぞれの単位占有領域Aについて、単位領域Bが、単位占有領域Aの周縁上の位置と重なることを、制約条件として設定する。すなわち、領域設定部1341は、それぞれの単位占有領域Aに対して、単位領域Bを1つずつ割り当てる。そして、領域設定部1341は、それぞれの単位占有領域Aについて、その単位占有領域Aに割り当てられた単位領域Bが、その単位占有領域Aの周縁上の位置Pと重なることを、制約条件として設定する。すなわち図12の例では、領域設定部1341は、車体領域A1に対応する単位占有領域Aに単位領域B1を割り当て、前方領域A2に対応する単位占有領域Aに単位領域B2を割り当て、後方領域A3に対応する単位占有領域Aに単位領域B3を割り当てる。そして、領域設定部1341は、単位領域B1が車体領域A1に対応する単位占有領域Aの周縁上の位置P1と重なることと、単位領域B2が前方領域A2に対応する単位占有領域Aの周縁上の位置P2と重なることと、単位領域B3が後方領域A3に対応する単位占有領域Aの周縁上の位置P2と重なることとを、制約条件として設定する。
ここで、領域設定部1341は、単位占有領域Aの位置及び大きさに基づいた任意の方法で、単位占有領域Aの周縁上の位置Pを設定してよい。例えば、領域設定部1341は、単位占有領域Aの位置及び大きさから、単位占有領域Aの周縁上の各位置の座標を算出して、単位占有領域Aの周縁上の各位置の一部を、単位占有領域Aの周縁上の位置Pとして選択してもよい。この場合例えば、領域設定部1341は、単位占有領域Aの周縁のうちで、角となる位置を、単位占有領域Aの周縁上の位置Pとして選択してよい。図12の例では、それぞれの単位占有領域Aが矩形状であるため、領域設定部1341は、単位占有領域Aの矩形の頂点部分を、単位占有領域Aの周縁上の位置Pとして選択している。
また、以上の説明では、単位占有領域Aの周縁上の位置Pは、範囲を持たない座標(点)として設定されるが、それに限られず、中心座標(中心点)を中心とした所定の大きさの領域を、位置Pとして設定してもよい。この場合例えば、領域設定部1341は、単位占有領域Aの周縁上の点を中心座標(中心点)として設定し、中心座標を中心として所定半径の円を、位置Pとして設定してもよい。ここでの所定半径は、検出誤差や移動体10の寸法誤差などを考慮して、適宜設定してよい。
また、領域設定部1341は、単位領域Bが単位占有領域Aの周縁上の位置Pと重なること以外の条件も、制約条件に含めてよい。例えば、領域設定部1341は、単位領域Bの大きさ(前後方向及び左右方向の長さ)が所定の上限値及び下限値の範囲内となることを、制約条件としてもよい。また例えば、領域設定部1341は、単位領域Bの長径と短径との比が所定の上限値及び下限値の範囲内となることを、制約条件としてもよい。
(最適化計算)
領域設定部1341は、単位領域Bの面積を評価関数として設定し、上述のように設定した制約条件を守ったうえで、評価関数を最小とする最適化計算を実行して、それぞれの単位領域Bの位置及び大きさを算出する。
領域設定部1341は、単位領域Bの面積を評価関数として設定し、上述のように設定した制約条件を守ったうえで、評価関数を最小とする最適化計算を実行して、それぞれの単位領域Bの位置及び大きさを算出する。
領域設定部1341は、単位領域B毎に最適化計算を実行して、単位領域B毎に、単位領域Bの位置及び大きさを算出する。すなわち、領域設定部1341は、対象となる単位領域Bについて、割り当てられた単位占有領域Aの周縁上の全て位置Pがその単位領域B内に入るという制約条件を守りつつ、単位領域Bの大きさが最小となる単位領域Bの位置及び大きさを、最適化された単位領域Bの位置及び大きさ(解)として算出する。領域設定部1341は、それぞれの単位領域Bについて、同様の演算を行って、それぞれの単位領域Bの位置及び大きさを算出する。例えば図12の例では、領域設定部1341は、車体領域A1の周縁上の全て位置P1が単位領域B1内に入るという制約条件を守りつつ、単位領域B1の大きさが最小となる単位領域B1の位置及び大きさを、最適化された単位領域B1の位置及び大きさ(解)として算出する。同様に、領域設定部1341は、前方領域A2の周縁上の全て位置P2が単位領域B2内に入るという制約条件を守りつつ、単位領域B2の大きさが最小となる単位領域B2の位置及び大きさを、最適化された単位領域B2の位置及び大きさ(解)として算出する。同様に、領域設定部1341は、後方領域A3の周縁上の全て位置P3が単位領域B3内に入るという制約条件を守りつつ、単位領域B3の大きさが最小となる単位領域B3の位置及び大きさを、最適化された単位領域B3の位置及び大きさ(解)として算出する。
領域設定部1341は、このようにして設定されたそれぞれの単位領域Bの位置及び大きさに基づき、移動体領域B0を設定する。移動体領域B0を用いた経路Rの設定処理は、第1実施形態と同様であるため、説明を省略する。
(処理フロー)
次に、第2実施形態における移動体領域の設定フローを説明する。図13は、第2実施形態における移動体領域の設定フローを説明するフローチャートである。図13に示すように、領域設定部1341は、単位領域Bの数を設定し(ステップS20)、単位領域Bの数に基づいて、単位占有領域Aを設定する(ステップS22)。領域設定部1341は、それぞれの単位占有領域Aについて、単位領域Bが、単位占有領域Aの周縁上の位置Pと重なることを、制約条件として設定して(ステップS24)、制約条件と評価関数に基づいて最適化計算を実行して、それぞれの単位領域Bの位置及び大きさを設定する(ステップS26)。領域設定部1341は、単位占有領域Aの周縁上の全て位置Pが単位領域B内に入るという制約条件を守りつつ、単位領域Bの大きさが最小となる単位領域Bの位置及び大きさを、算出する。領域設定部1341は、このようにして設定されたそれぞれの単位領域Bの位置及び大きさに基づき、移動体領域B0を設定する。
次に、第2実施形態における移動体領域の設定フローを説明する。図13は、第2実施形態における移動体領域の設定フローを説明するフローチャートである。図13に示すように、領域設定部1341は、単位領域Bの数を設定し(ステップS20)、単位領域Bの数に基づいて、単位占有領域Aを設定する(ステップS22)。領域設定部1341は、それぞれの単位占有領域Aについて、単位領域Bが、単位占有領域Aの周縁上の位置Pと重なることを、制約条件として設定して(ステップS24)、制約条件と評価関数に基づいて最適化計算を実行して、それぞれの単位領域Bの位置及び大きさを設定する(ステップS26)。領域設定部1341は、単位占有領域Aの周縁上の全て位置Pが単位領域B内に入るという制約条件を守りつつ、単位領域Bの大きさが最小となる単位領域Bの位置及び大きさを、算出する。領域設定部1341は、このようにして設定されたそれぞれの単位領域Bの位置及び大きさに基づき、移動体領域B0を設定する。
(効果)
第2実施形態のように、最適化計算により単位領域Bの位置及び大きさを設定することで、障害物Oと移動体10との干渉を適切に抑制しつつ、面積が過大とならない移動体領域B0を設定できる。従って、本実施形態によると、経路Rを適切に設定できる。さらに言えば、第2実施形態においては、単位領域Bの数を設定し、単位領域Bと同数の単位占有領域Aを設定して、最適化計算を行うため、演算負荷が高くなることを抑制しつつ、面積が過大とならない移動体領域B0を適切に設定できる。
第2実施形態のように、最適化計算により単位領域Bの位置及び大きさを設定することで、障害物Oと移動体10との干渉を適切に抑制しつつ、面積が過大とならない移動体領域B0を設定できる。従って、本実施形態によると、経路Rを適切に設定できる。さらに言えば、第2実施形態においては、単位領域Bの数を設定し、単位領域Bと同数の単位占有領域Aを設定して、最適化計算を行うため、演算負荷が高くなることを抑制しつつ、面積が過大とならない移動体領域B0を適切に設定できる。
(他の例)
次に、第2実施形態の他の例について説明する。
次に、第2実施形態の他の例について説明する。
(他の例1)
図14は、第2実施形態の他の例における経路の設定フローを説明するフローチャートである。本例においては、設定した移動体領域B0を用いた経路Rの設定ができない場合に、単位領域Bの数を増やして移動体領域B0を設定し直す点で、第2実施形態とは異なる。
図14は、第2実施形態の他の例における経路の設定フローを説明するフローチャートである。本例においては、設定した移動体領域B0を用いた経路Rの設定ができない場合に、単位領域Bの数を増やして移動体領域B0を設定し直す点で、第2実施形態とは異なる。
具体的には、図14に示すように、本例の領域設定部1341は、第2実施形態と同様の方法で設定した単位領域Bの数に基づいて、第2実施形態と同様の方法で、移動体領域B0を設定する(ステップS30)。そして、本例においては、経路取得部134は、第1実施形態や第2実施形態と同様の方法で、障害物Oが移動体領域B0と重ならずに、目的位置Pに向かう経路Rの設定を試みる(ステップS32)。
経路Rの設定ができない場合には(ステップS34;No)、すなわち例えば、障害物Oが移動体領域B0と重ならずに目的位置Pに向かう最適化された経路Rが設定できない場合には、領域設定部1341は、単位領域Bの数を増やして(ステップS36)、ステップS30に戻り、設定し直した(増やした)単位領域Bの数に基づいて、同様の方法で、移動体領域B0を設定し直して、以降の処理を続ける。なお、増やす単位領域Bの数は例えば1つであるが、それに限られず任意の数であってよい。経路Rの設定ができた場合には(ステップS34;Yes)、すなわち例えば、障害物Oが移動体領域B0と重ならずに目的位置Pに向かう最適化された経路Rが設定できた場合には、本処理を終了する。なお、例えば単位領域Bの数を所定の上限値まで増やしても経路Rの設定ができない場合にも、経路Rの設定ができないとして、本処理を終了してもよい。この場合例えば、当初の経路Rの設定の際には通らないように設定されていた区間を通るように、経路Rの算出条件を変更して、経路Rの設定を繰り返してもよい。
単位領域Bの数を増やすと、移動体領域B0を狭く設定でき、経路Rを設定できる可能性が上がる。従って、本例のように、経路Rの設定ができない場合に、単位領域Bの数を増やして経路Rの設定を再度試みることで、経路Rを適切に設定することが可能となる。
また、以上の例では、経路Rの設定ができない場合に、単位領域Bの数を増やして経路Rを再設定していたが、その逆の処理を行うことも可能である。すなわち例えば、設定された単位領域Bの数に基づいて算出した移動体領域B0を用いて経路Rの設定ができた場合には、単位領域Bの数を減らして移動体領域B0を算出し直し、算出しなおした移動体領域B0を用いて、経路Rの設定を試みてよい。この場合、単位領域Bの数を減らして経路Rを設定できた場合には、その経路Rを、実際の移動体10の経路として採用してよい。これにより、単位領域Bの数が出来るだけ少ない経路Rを設定することができる。なお、この処理は、例えば、移動体10が障害物Oを検出した際の回避経路の設定に用いることもできるが、移動体10が今後移動することを予定している経路を、予め設定しておく場合に特に有効である。
(他の例2)
図15は、第2実施形態の他の例における経路の設定フローを説明するフローチャートである。本例においては、設定した移動体領域B0を用いた経路Rの設定ができない場合に、移動体10の予定速度を低下させて移動体領域B0を設定し直す点で、第2実施形態とは異なる。
図15は、第2実施形態の他の例における経路の設定フローを説明するフローチャートである。本例においては、設定した移動体領域B0を用いた経路Rの設定ができない場合に、移動体10の予定速度を低下させて移動体領域B0を設定し直す点で、第2実施形態とは異なる。
具体的には、図15に示すように、本例の領域設定部1341は、第1実施形態や第2実施形態と同様の方法で、設定された予定速度(経路Rを移動する際に移動体10が採用すると予定されている移動速度)に基づいて、占有領域A0及び移動体領域B0を設定する(ステップS40)。すなわち例えば、領域設定部1341は、予定速度に基づいて、前方領域A2の大きさ及び後方領域A3の大きさを設定し、それらに基づいて、車体領域A1、前方領域A2及び後方領域A3を含む占有領域A0を設定する。本例の領域設定部1341は、設定した占有領域A0に基づいて、第2実施形態と同様の方法で、移動体領域B0を設定する。
そして、経路取得部134は、第1実施形態や第2実施形態と同様の方法で、障害物Oが移動体領域B0と重ならずに、目的位置Pに向かう経路Rの設定を試みる(ステップS42)。
経路Rの設定ができない場合には(ステップS44;No)、すなわち例えば、障害物Oが移動体領域B0と重ならずに目的位置Pに向かう最適化された経路Rが設定できない場合には、領域設定部1341は、予定速度を低下させて(ステップS46)、ステップS40に戻り、設定し直した(低下させた)予定速度に基づいて、同様の方法で、占有領域A0及び移動体領域B0を設定し直して、以降の処理を続ける。なお、予定速度を減らす度合いは、任意であってよい。経路Rの設定ができた場合には(ステップS44;Yes)、すなわち例えば、障害物Oが移動体領域B0と重ならずに目的位置Pに向かう最適化された経路Rが設定できた場合には、本処理を終了する。なお、例えば予定速度を所定の下限値まで低下させても経路Rの設定ができない場合にも、経路Rの設定ができないとして、本処理を終了してもよい。この場合例えば、当初の経路Rの設定の際には通らないように設定されていた区間を通るように、経路Rの算出条件を変更して、経路Rの設定を繰り返してもよい。
予定速度を低下させると、占有領域A0(本例では前方領域A2及び後方領域A3)を狭く設定でき、それに伴い移動体領域B0も狭く設定できるので、経路Rを設定できる可能性が上がる。従って、本例のように、経路Rの設定ができない場合に、予定速度を低下させて経路Rの設定を再度試みることで、経路Rを適切に設定することが可能となる。
また、以上の例では、経路Rの設定ができない場合に、予定速度を低下させて経路Rを再設定していたが、その逆の処理を行うことも可能である。すなわち例えば、設定された予定速度に基づいて算出した移動体領域B0を用いて経路Rの設定ができた場合には、予定速度を上昇させて移動体領域B0を算出し直し、算出しなおした移動体領域B0を用いて、経路Rの設定を試みてよい。この場合、予定速度を上昇させて経路Rを設定できた場合には、その経路Rを、実際の移動体10の経路として採用し、その予定速度を、移動体10の上限速度として設定してよい。これにより、移動体10の上限速度を高くしつつ経路Rを設定することができる。なお、この処理は、例えば、移動体10が障害物Oを検出した際の回避経路の設定に用いることもできるが、移動体10が今後移動することを予定している経路を、予め設定しておく場合に特に有効である。
(他の例3)
本例のように、上述の他の例1及び他の例2を組み合わせることも可能である。図16は、第2実施形態の他の例における経路の設定フローを説明するフローチャートである。
本例のように、上述の他の例1及び他の例2を組み合わせることも可能である。図16は、第2実施形態の他の例における経路の設定フローを説明するフローチャートである。
図16に示すように、本例の領域設定部1341は、第2実施形態と同様の方法で、設定された予定速度及び単位領域Bの数に基づき、移動体領域B0を設定する(ステップS50)。すなわち、領域設定部1341は、設定された予定速度に基づいて占有領域A0を設定し、単位領域Bの数に基づき、移動体領域B0を設定する。経路取得部134は、第1実施形態や第2実施形態と同様の方法で、障害物Oが移動体領域B0と重ならずに、目的位置Pに向かう経路Rの設定を試みる(ステップS52)。
経路Rの設定ができない場合であって(ステップS54;No)、今設定されている予定速度が所定の閾値以上である場合(ステップS56;Yes)、領域設定部1341は、予定速度を低下させて(ステップS58)、ステップS50に戻り、設定し直した(低下させた)予定速度に基づいて、同様の方法で、占有領域A0及び移動体領域B0を設定し直して、以降の処理を続ける。一方、経路Rの設定ができない場合であって(ステップS54;No)、今設定されている予定速度が所定の閾値未満である場合(ステップS56;No)、領域設定部1341は、単位領域Bの数を増やして(ステップS59)、ステップS50に戻り、設定し直した(増やした)単位領域Bの数に基づいて、同様の方法で、移動体領域B0を設定し直して、以降の処理を続ける。なお、経路Rの設定ができた場合には(ステップS54;Yes)、本処理を終了する。
このように、本例では、予定速度が閾値未満となるまでは、予定速度を低下させて経路Rを再設定する処理を繰り返し、それでも経路Rが設定できない場合には、単位領域Bの数を増やして経路Rを再設定する処理に切り替える。最初に予定速度を低下させることで、移動体領域B0の設定の演算負荷が高くなることを抑制しつつ、経路Rを適切に設定できる。
但しこれに限られず、単位領域Bの数が所定の閾値に到達するまでは、単位領域Bの数を増やして経路Rを設定する処理を繰り返し、それでも経路Rが設定できない場合には、予定速度を低下させて経路Rを再設定する処理に切り替えてもよい。これにより予定速度を出来るだけ低下させることなく経路Rを設定できるため、移動時間が長くなることを抑制できる。
(第3実施形態)
次に、第3実施形態について説明する。第3実施形態においては、最適化計算を用いて単位領域Bの数も設定する点で、第2実施形態と異なる。第3実施形態において、第2実施形態と構成が共通する箇所は、説明を省略する。
次に、第3実施形態について説明する。第3実施形態においては、最適化計算を用いて単位領域Bの数も設定する点で、第2実施形態と異なる。第3実施形態において、第2実施形態と構成が共通する箇所は、説明を省略する。
(占有領域の設定)
第3実施形態においては、領域設定部1341は、占有領域A0を設定する。第3実施形態における占有領域A0の設定方法は、第1実施形態及び第2実施形態と同様であるため、詳細な説明を省略する。本例では、領域設定部1341は、車体領域A1、前方領域A2及び後方領域A3を含む領域を、占有領域A0に設定する。
第3実施形態においては、領域設定部1341は、占有領域A0を設定する。第3実施形態における占有領域A0の設定方法は、第1実施形態及び第2実施形態と同様であるため、詳細な説明を省略する。本例では、領域設定部1341は、車体領域A1、前方領域A2及び後方領域A3を含む領域を、占有領域A0に設定する。
(制約条件の設定)
領域設定部1341は、単位領域Bの少なくとも1つが、占有領域A0の周縁上の位置Pと重なることを、制約条件として設定する。すなわち、領域設定部1341は、占有領域A0の周縁上の位置Pの全てが、単位領域Bの少なくとも1つと重なることを、制約条件として設定する。言い換えれば、本実施形態では、占有領域A0の周縁上の位置Pの全てが、いずれかの単位領域Bの領域内にあることが、制約条件として設定される。
領域設定部1341は、単位領域Bの少なくとも1つが、占有領域A0の周縁上の位置Pと重なることを、制約条件として設定する。すなわち、領域設定部1341は、占有領域A0の周縁上の位置Pの全てが、単位領域Bの少なくとも1つと重なることを、制約条件として設定する。言い換えれば、本実施形態では、占有領域A0の周縁上の位置Pの全てが、いずれかの単位領域Bの領域内にあることが、制約条件として設定される。
ここで、領域設定部1341は、占有領域A0の位置及び大きさに基づいた任意の方法で、占有領域A0の周縁上の位置Pを設定してよい。例えば、領域設定部1341は、占有領域A0の位置及び大きさから、占有領域A0の周縁上の各位置の座標を算出して、占有領域A0の周縁上の各位置の一部を、占有領域A0の周縁上の位置Pとして選択してもよい。この場合例えば、領域設定部1341は、占有領域A0の周縁のうちで、角となる位置を、占有領域A0の周縁上の位置Pとして選択してよい。図12を例にすると、領域設定部1341は、車体領域A1の四隅の位置と、前方領域A2の四隅の位置と、後方領域A3の四隅の位置とが、占有領域A0の周縁上の位置Pとして選択される。
また、以上の説明では、占有領域A0の周縁上の位置Pは、範囲を持たない座標(点)として設定されるが、それに限られず、中心座標(中心点)を中心とした所定の大きさの領域を、位置Pとして設定してもよい。この場合例えば、領域設定部1341は、単位占有領域Aの周縁上の点を中心座標(中心点)として設定し、中心座標を中心として所定半径の円を、位置Pとして設定してもよい。ここでの所定半径は、検出誤差や移動体10の寸法誤差などを考慮して、適宜設定してよい。
また、領域設定部1341は、単位領域Bの少なくとも1つが占有領域A0の周縁上の位置Pと重なること以外の条件も、制約条件に含めてよい。例えば、領域設定部1341は、単位領域Bの大きさ(前後方向及び左右方向の長さ)が所定の上限値及び下限値の範囲内となることを、制約条件としてもよい。また例えば、領域設定部1341は、単位領域Bの長径と短径との比が所定の上限値及び下限値の範囲内となることを、制約条件としてもよい。
(最適化計算)
領域設定部1341は、移動体領域B0と占有領域A0との差分(移動体領域B0の面積から占有領域A0の面積を差し引いた値)を、評価関数として設定する。なお、移動体領域B0の面積とは、移動体領域B0の周縁に囲われた領域の面積であり、各単位領域Bの面積の合計値から、単位領域B同士が重なっている領域の面積を差し引いた面積とも言える。
領域設定部1341は、移動体領域B0と占有領域A0との差分(移動体領域B0の面積から占有領域A0の面積を差し引いた値)を、評価関数として設定する。なお、移動体領域B0の面積とは、移動体領域B0の周縁に囲われた領域の面積であり、各単位領域Bの面積の合計値から、単位領域B同士が重なっている領域の面積を差し引いた面積とも言える。
領域設定部1341は、上述のように設定した制約条件を守ったうえで、上述のように設定した評価関数を最小とする最適化計算を実行して、単位領域Bの数、位置及び大きさを算出する。すなわち、領域設定部1341は、占有領域A0の周縁上の位置Pの全てが、単位領域Bの少なくとも1つと重なるという制約条件を満たし、かつ移動体領域B0と占有領域A0との差分が最小となる、単位領域Bの数、位置及び大きさを、最適化された単位領域Bの数、位置及び大きさ(解)として算出する。
領域設定部1341は、このようにして設定された単位領域Bの数、位置及び大きさに基づき、移動体領域B0を設定する。移動体領域B0を用いた経路Rの設定処理は、第1実施形態と同様であるため、説明を省略する。
(処理フロー)
次に、第3実施形態における移動体領域の設定フローを説明する。図17は、第3実施形態における移動体領域の設定フローを説明するフローチャートである。図17に示すように、領域設定部1341は、単位領域Bの少なくとも1つが占有領域A0の周縁上の位置Pと重なることを、制約条件として設定して(ステップS60)、制約条件と評価関数に基づいて最適化計算を実行して、単位領域Bの数、位置及び大きさを設定する(ステップS62)。領域設定部1341は、このようにして設定された単位領域Bの数、位置及び大きさに基づき、移動体領域B0を設定する。
次に、第3実施形態における移動体領域の設定フローを説明する。図17は、第3実施形態における移動体領域の設定フローを説明するフローチャートである。図17に示すように、領域設定部1341は、単位領域Bの少なくとも1つが占有領域A0の周縁上の位置Pと重なることを、制約条件として設定して(ステップS60)、制約条件と評価関数に基づいて最適化計算を実行して、単位領域Bの数、位置及び大きさを設定する(ステップS62)。領域設定部1341は、このようにして設定された単位領域Bの数、位置及び大きさに基づき、移動体領域B0を設定する。
(効果)
第3実施形態のように、最適化計算により単位領域Bの数、位置及び大きさを設定することで、障害物Oと移動体10との干渉を適切に抑制しつつ、面積が過大とならない移動体領域B0を設定できる。従って、本実施形態によると、経路Rを適切に設定できる。さらに言えば、第3実施形態においては、単位領域Bの数についても最適化計算で算出するため、単位領域Bの数も最適化して、経路Rを適切に設定できる。
第3実施形態のように、最適化計算により単位領域Bの数、位置及び大きさを設定することで、障害物Oと移動体10との干渉を適切に抑制しつつ、面積が過大とならない移動体領域B0を設定できる。従って、本実施形態によると、経路Rを適切に設定できる。さらに言えば、第3実施形態においては、単位領域Bの数についても最適化計算で算出するため、単位領域Bの数も最適化して、経路Rを適切に設定できる。
(ハードウェア構成)
上述した実施形態に係る制御装置100は、例えば図18に示すような構成のコンピュータ1000によって実現される。図18は、本開示に係る制御装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力IF(Interface)1060、入力IF1070、ネットワークIF1080がバス1090により接続された形態を有する。なお、制御装置100が移動体10に搭載される場合は、出力装置1010と、入力装置1020は、なくてもよい。
上述した実施形態に係る制御装置100は、例えば図18に示すような構成のコンピュータ1000によって実現される。図18は、本開示に係る制御装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力IF(Interface)1060、入力IF1070、ネットワークIF1080がバス1090により接続された形態を有する。なお、制御装置100が移動体10に搭載される場合は、出力装置1010と、入力装置1020は、なくてもよい。
演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置1040は、RAM等、演算装置1030が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置1050は、演算装置1030が各種の演算に用いるデータや、各種のデータベースが記憶される記憶装置であり、ROM、HDD、フラッシュメモリ等により実現される。
出力IF1060は、モニタやプリンタといった各種の情報を出力する出力装置1010に対し、出力対象となる情報を送信するためのインターフェイスであり、例えば、USB(Universal Serial Bus)やDVI(Digital Visual Interface)、HDMI(登録商標)(High Definition Multimedia Interface)といった規格のコネクタにより実現される。また、入力IF1070は、マウス、キーボード、およびスキャナ等といった各種の入力装置1020から情報を受信するためのインターフェイスであり、例えば、USB等により実現される。
なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等から情報を読み出す装置であってもよい。また、入力装置1020は、USBメモリ等の外付け記憶媒体であってもよい。
ネットワークIF1080は、ネットワークNを介して他の機器からデータを受信して演算装置1030へ送り、また、ネットワークNを介して演算装置1030が生成したデータを他の機器へ送信する。
演算装置1030は、出力IF1060や入力IF1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。
例えば、コンピュータ1000が制御装置100として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムを実行することにより、制御装置100の制御部130の機能を実現する。
(構成と効果)
第一態様に係る経路設定方法は、移動体10の目的位置の情報を取得するステップと、障害物Oの位置の情報を取得するステップと、移動体10の経路計算を実行するステップと、を含み、経路計算を実行するステップは、移動体10の形状に関する情報に基づいて、移動体10が占める領域を含む占有領域に重なり、かつ、複数の円形又は楕円形の単位領域の一部同士が重畳した形状の、移動体領域を設定するステップと、障害物Oの位置の情報に基づき、障害物Oが移動体領域と重ならず目的位置に向かう経路を、移動体10の経路として設定するステップと、を含む。
第一態様に係る経路設定方法は、移動体10の目的位置の情報を取得するステップと、障害物Oの位置の情報を取得するステップと、移動体10の経路計算を実行するステップと、を含み、経路計算を実行するステップは、移動体10の形状に関する情報に基づいて、移動体10が占める領域を含む占有領域に重なり、かつ、複数の円形又は楕円形の単位領域の一部同士が重畳した形状の、移動体領域を設定するステップと、障害物Oの位置の情報に基づき、障害物Oが移動体領域と重ならず目的位置に向かう経路を、移動体10の経路として設定するステップと、を含む。
この構成によれば、移動体10が占める領域を含む占有領域と重なり、かつ、複数の単位領域の一部同士が重畳した形状となる、移動体領域を設定することができる。そして、障害物が移動体領域と重ならず目的位置に向かう経路を、移動体10の経路Rとして設定する。移動体領域は、移動体10が進入する可能性がある領域なので、障害物Oが移動体領域と重ならないように経路Rを設定することで、障害物Oとの干渉を抑制させつつ、移動体10を移動させることができる。したがって、移動体10の経路を適切に設定することができる経路設定方法を提供することができる。
第二態様に係る経路設定方法は、第一態様に係る経路設定方法であって、経路計算を実行するステップにおいては、移動体10の位置、移動体領域、及び障害物Oの位置に基づき、障害物Oの位置が、移動体領域の範囲外となる旨の制約条件を設定するステップと、移動体10の位置と目的位置との差が小さくなるほど評価が高くなる評価関数と、制約条件とに基づき最適化計算を行い、移動体10の経路を計算するステップと、を含む。
この構成によれば、移動体領域B0の面積が過大になることを抑制された移動体領域に基づいて、柔軟に経路Rを設定することが可能となる。したがって、移動体10の経路を適切に設定することができる経路設定方法を提供することができる。
第三態様に係る経路設定方法は、第一態様、又は第二態様に係る経路設定方法であって、移動体領域を設定するステップでは、移動体10が占める領域に重なる単位領域である第1単位領域と、移動体10の進行方向側の前方領域に重なる単位領域である第2単位領域と、移動体10の進行方向と反対側の後方領域に重なる単位領域である第3単位領域とを含み、かつ第1単位領域と第2単位領域と第3単位領域との少なくとも2つ同士が互いに重なるように、移動体領域を設定する。
この構成によれば、障害物Oの干渉を回避できる程度の大きさに移動体領域B0を設定したとしても、移動体領域B0の面積が過大になることを抑制でき、柔軟に経路Rを設定することが可能となる。したがって、移動体10の経路を適切に設定することができる経路設定方法を提供することができる。
第四態様に係る経路設定方法は、第一態様から第三態様に係る経路設定方法であって、移動体領域を設定するステップは、移動体領域に含まれる単位領域の数を設定するステップと、占有領域を単位領域と同数の単位占有領域に区分するステップと、それぞれの単位占有領域について、単位領域が、単位占有領域の周縁上の位置と重なることを制約条件とし、単位領域の面積を評価関数として設定して、制約条件を守ったうえで評価関数を最小とする最適化計算を実行して、それぞれの単位領域の位置及び大きさを設定して、移動体領域を設定するステップと、を含む。
この構成によれば、最適化計算により単位領域の位置及び大きさを設定することで、障害物Oと移動体10との干渉を適切に抑制しつつ、面積が過大とならない移動体領域B0を設定できる。従って、本実施形態によると、経路Rを適切に設定できる。単位領域Bの数を設定し、単位領域Bと同数の単位占有領域Aを設定して、最適化計算を行うため、演算負荷が高くなることを抑制しつつ、面積が過大とならない移動体領域B0を適切に設定できる。したがって、移動体10の経路を適切に設定することができる経路設定方法を提供することができる。
第五態様に係る経路設定方法は、第一態様から第四態様に係る経路設定方法であって、移動体領域を設定するステップにおいては、障害物が移動体領域と重ならず目的位置に向かう経路が設定できない場合には、単位領域の数を増加させて、移動体領域を再設定し、経路計算を実行するステップにおいては、再設定された移動体領域に基づいて、移動体の経路を設定する。
この構成によれば、経路Rの設定ができない場合に、単位領域Bの数を増やして経路Rを再設定してすることができる。これにより、単位領域Bの数が出来るだけ少ない経路Rを設定することができる。したがって、移動体10の経路を適切に設定することができる経路設定方法を提供することができる。
第六態様に係る経路設定方法は、第一態様から第五態様に係る経路設定方法であって、移動体領域を設定するステップにおいては、移動体10の予定速度に基づいて、予定速度が高くなるほど広くなるように、占有領域を設定しており、障害物Oが移動体領域と重ならず目的位置に向かう経路が設定できない場合には、予定速度を低下させて占有領域を再設定し、再設定した占有領域に基づいて移動体領域を再設定し、経路計算を実行するステップにおいては、再設定された移動体領域に基づいて、移動体10の経路を設定する。
この構成によれば、予定速度を低下させると、占有領域を狭く設定でき、それに伴い移動体領域も狭く設定できるので、経路Rを設定できる可能性が上がる。そのため、経路Rの設定ができない場合に、予定速度を低下させて経路Rの設定を再度試みることで、経路Rを適切に設定することが可能となる。したがって、移動体10の経路を適切に設定することができる経路設定方法を提供することができる。
第七態様に係る経路設定方法は、第一態様から第六態様に係る経路設定方法であって、移動体領域を設定するステップにおいては、単位領域の長軸半径の上下限値、及び短軸半径の上下限値を制約条件としてさらに設定する。
この構成によれば、単位領域に上下限値、及び短軸半径の上下限値を制約条件として設定することで、移動体領域が過大となることを防ぐことができる。したがって、移動体10の経路を適切に設定することができる経路設定方法を提供することができる。
第八態様に係る経路設定方法は、第一態様から第七態様に係る経路設定方法であって、移動体領域を設定するステップは、単位領域の少なくとも1つが、占有領域の周縁上の位置と重なることを制約条件とし、移動体領域と占有領域との差分を評価関数として設定するステップと、制約条件を守ったうえで評価関数を最小とする最適化計算を実行して、それぞれの単位領域の数、大きさ及び位置を設定して、移動体領域を設定する。
この構成によれば、最適化計算により単位領域の数、位置及び大きさを設定することで、障害物Oと移動体10との干渉を適切に抑制しつつ、面積が過大とならない移動体領域を設定できる。そのため、経路Rを適切に設定できる。単位領域の数についても最適化計算で算出するため、単位領域の数も最適化して、経路Rを適切に設定できる。したがって、移動体10の経路を適切に設定することができる経路設定方法を提供することができる。
第一態様に係る移動体10は、経路設定方法で設定された経路に従って移動体10を移動させる。
この構成によれば、移動体10が占める領域を含む占有領域と重なり、かつ、複数の単位領域の一部同士が重畳した形状となる、移動体領域を設定し、障害物が移動体領域と重ならず目的位置に向かう経路を、移動体10の経路Rとして設定し、その経路Rに従って移動体10を移動させることができる。したがって、移動体10の経路を適切に設定することができる移動体10を提供することができる。
第二態様に係る移動体10は、第一態様に係る移動体10であって、障害物Oの位置の情報に基づき設定された、障害物Oが移動体領域と重ならず目的位置に向かう経路を取得する経路取得部134と、経路に従って移動体10を移動させる移動制御部135と、を含み、移動体領域は、移動体10の形状に関する情報に基づいて設定された、移動体10が占める領域を含む占有領域に重なり、かつ、複数の円形又は楕円形の単位領域の一部同士が重畳した形状の領域である。
この構成によれば、移動体10が占める領域を含む占有領域と重なり、かつ、複数の単位領域の一部同士が重畳した形状となる、移動体領域を設定することができる。そして、障害物が移動体領域と重ならず目的位置に向かう経路を、移動体10の経路Rとして設定する。移動体領域は、移動体10が進入する可能性がある領域なので、障害物Oが移動体領域と重ならないように経路Rを設定することで、障害物Oとの干渉を抑制させつつ、移動体10を移動させることができる。したがって、移動体10の経路を適切に設定することができる移動体10を提供することができる。
第一態様に係る管理システム200は、経路設定方法により設定した経路を移動体10に送信する。
この構成によれば、移動体10が占める領域を含む占有領域と重なり、かつ、複数の単位領域の一部同士が重畳した形状となる、移動体領域を設定し、障害物が移動体領域と重ならず目的位置に向かう経路を、移動体10の経路Rとして設定し、移動体10に送信することで、移動体10を移動させることができる。したがって、移動体10の経路を適切に設定することができる管理システム200を提供することができる。
第一態様に係るプログラムは、移動体10の目的位置の情報を取得するステップと、障害物Oの位置の情報を取得するステップと、移動体10の経路計算を実行するステップと、を、コンピュータに実行させるプログラムであって、経路計算を実行するステップは、移動体10の形状に関する情報に基づいて、移動体10が占める領域を含む占有領域に重なり、かつ、複数の円形又は楕円形の単位領域の一部同士が重畳した形状の、移動体領域を設定するステップと、障害物Oの位置の情報に基づき、障害物Oが移動体領域と重ならず目的位置に向かう経路を、移動体10の経路として設定するステップと、を含む。
この構成によれば、移動体10が占める領域を含む占有領域と重なり、かつ、複数の単位領域の一部同士が重畳した形状となる、移動体領域を設定することができる。そして、障害物が移動体領域と重ならず目的位置に向かう経路を、移動体10の経路Rとして設定する。移動体領域は、移動体10が進入する可能性がある領域なので、障害物Oが移動体領域と重ならないように経路Rを設定することで、障害物Oとの干渉を抑制させつつ、移動体10を移動させることができる。したがって、移動体10の経路を適切に設定することができるプログラムを提供することができる。
以上、本開示の実施形態を説明したが、この実施形態の内容により実施形態が限定されるものではない。また、前述した構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。さらに、前述した構成要素は適宜組み合わせることが可能である。さらに、前述した実施形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換又は変更を行うことができる。
1 移動体制御システム
10 移動体
20 車体
22 マスト
24 フォーク
26 センサ
28 動力部
100 制御装置
110 通信部
120 記憶部
130 制御部
131 目的位置情報取得部
132 自己位置情報取得部
133 障害物情報取得部
134 経路取得部
1341 領域設定部
1342 制約条件設定部
1343 最適化計算実行部
135 移動制御部
140 自己位置検出部
150 障害物検出部
160 駆動信号伝送部
200 管理システム
210 通信部
220 記憶部
230 制御部
231 取得部
232 通知部
240 入力部
250 表示部
N ネットワーク
10 移動体
20 車体
22 マスト
24 フォーク
26 センサ
28 動力部
100 制御装置
110 通信部
120 記憶部
130 制御部
131 目的位置情報取得部
132 自己位置情報取得部
133 障害物情報取得部
134 経路取得部
1341 領域設定部
1342 制約条件設定部
1343 最適化計算実行部
135 移動制御部
140 自己位置検出部
150 障害物検出部
160 駆動信号伝送部
200 管理システム
210 通信部
220 記憶部
230 制御部
231 取得部
232 通知部
240 入力部
250 表示部
N ネットワーク
Claims (12)
- 移動体の目的位置の情報を取得するステップと、
障害物の位置の情報を取得するステップと、
移動体の経路計算を実行するステップと、を含み、
前記経路計算を実行するステップは、
前記移動体の形状に関する情報に基づいて、前記移動体が占める領域を含む占有領域に重なり、かつ、複数の円形又は楕円形の単位領域の一部同士が重畳した形状の、移動体領域を設定するステップと、
前記障害物の位置の情報に基づき、前記障害物が前記移動体領域と重ならず前記目的位置に向かう経路を、前記移動体の経路として設定するステップと、
を含む、
経路設定方法。 - 前記経路計算を実行するステップにおいては、
前記移動体の位置、前記移動体領域、及び前記障害物の位置に基づき、前記障害物の位置が、前記移動体領域の範囲外となる旨の制約条件を設定するステップと、
前記移動体の位置と前記目的位置との差が小さくなるほど評価が高くなる評価関数と、前記制約条件とに基づき最適化計算を行い、前記移動体の経路を計算するステップと、を含む、
請求項1に記載の経路設定方法。 - 前記移動体領域を設定するステップでは、前記移動体が占める領域に重なる前記単位領域である第1単位領域と、前記移動体の進行方向側の前方領域に重なる前記単位領域である第2単位領域と、前記移動体の進行方向と反対側の後方領域に重なる前記単位領域である第3単位領域とを含み、かつ前記第1単位領域と前記第2単位領域と前記第3単位領域との少なくとも2つ同士が互いに重なるように、前記移動体領域を設定する、
請求項1又は請求項2に記載の経路設定方法。 - 前記移動体領域を設定するステップは、
前記移動体領域に含まれる前記単位領域の数を設定するステップと、
前記占有領域を前記単位領域と同数の単位占有領域に区分するステップと、
それぞれの前記単位占有領域について、前記単位領域が、前記単位占有領域の周縁上の位置と重なることを制約条件とし、前記単位領域の面積を評価関数として設定して、前記制約条件を守ったうえで前記評価関数を最小とする最適化計算を実行して、それぞれの前記単位領域の位置及び大きさを設定して、前記移動体領域を設定するステップと、
を含む、
請求項1又は請求項2に記載の経路設定方法。 - 前記移動体領域を設定するステップにおいては、前記障害物が前記移動体領域と重ならず前記目的位置に向かう経路が設定できない場合には、前記単位領域の数を増加させて、前記移動体領域を再設定し、
前記経路計算を実行するステップにおいては、再設定された前記移動体領域に基づいて、前記移動体の経路を設定する、
請求項4に記載の経路設定方法。 - 前記移動体領域を設定するステップにおいては、
前記移動体の予定速度に基づいて、前記予定速度が高くなるほど広くなるように、前記占有領域を設定しており、
前記障害物が前記移動体領域と重ならず前記目的位置に向かう経路が設定できない場合には、前記予定速度を低下させて前記占有領域を再設定し、再設定した前記占有領域に基づいて前記移動体領域を再設定し、
前記経路計算を実行するステップにおいては、
再設定された前記移動体領域に基づいて、前記移動体の経路を設定する、
請求項4に記載の経路設定方法。 - 前記移動体領域を設定するステップにおいては、
前記単位領域の長軸半径の上下限値、及び短軸半径の上下限値を前記制約条件としてさらに設定する、
請求項4に記載の経路設定方法。 - 前記移動体領域を設定するステップは、
前記単位領域の少なくとも1つが、前記占有領域の周縁上の位置と重なることを制約条件とし、前記移動体領域と前記占有領域との差分を評価関数として設定するステップと、
前記制約条件を守ったうえで前記評価関数を最小とする最適化計算を実行して、それぞれの前記単位領域の数、大きさ及び位置を設定して、前記移動体領域を設定する、
請求項1又は請求項2に記載の経路設定方法。 - 請求項1又は請求項2に記載の経路設定方法で設定された前記経路に従って前記移動体を移動させる、
移動体。 - 障害物の位置の情報に基づき設定された、前記障害物が移動体領域と重ならず目的位置に向かう経路を取得する経路取得部と、
前記経路に従って移動体を移動させる移動制御部と、
を含み、
前記移動体領域は、前記移動体の形状に関する情報に基づいて設定された、前記移動体が占める領域を含む占有領域に重なり、かつ、複数の円形又は楕円形の単位領域の一部同士が重畳した形状の領域である、
移動体。 - 請求項1又は請求項2に記載の経路設定方法により設定した前記経路を前記移動体に送信する、管理システム。
- 移動体の目的位置の情報を取得するステップと、
障害物の位置の情報を取得するステップと、
移動体の経路計算を実行するステップと、を、
コンピュータに実行させるプログラムであって、
前記経路計算を実行するステップは、
前記移動体の形状に関する情報に基づいて、前記移動体が占める領域を含む占有領域に重なり、かつ、複数の円形又は楕円形の単位領域の一部同士が重畳した形状の、移動体領域を設定するステップと、
前記障害物の位置の情報に基づき、前記障害物が前記移動体領域と重ならず前記目的位置に向かう経路を、前記移動体の経路として設定するステップと、
を含む、
プログラム。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2024-059725 | 2024-04-02 | ||
| JP2024059725A JP2025156945A (ja) | 2024-04-02 | 2024-04-02 | 経路設定方法、移動体、管理システム及びプログラム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2025211024A1 true WO2025211024A1 (ja) | 2025-10-09 |
Family
ID=97266758
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2025/004513 Pending WO2025211024A1 (ja) | 2024-04-02 | 2025-02-12 | 経路設定方法、移動体、管理システム及びプログラム |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JP2025156945A (ja) |
| WO (1) | WO2025211024A1 (ja) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2017228155A (ja) * | 2016-06-23 | 2017-12-28 | 株式会社クボタ | 走行支援システム及び作業車 |
| JP2022134905A (ja) * | 2021-03-04 | 2022-09-15 | 三菱重工業株式会社 | ビークルの経路生成方法、ビークルの経路生成装置、ビークル及びプログラム |
| JP2023175547A (ja) * | 2022-05-30 | 2023-12-12 | パナソニックIpマネジメント株式会社 | 搬送制御システム、搬送システム、及び搬送制御方法 |
-
2024
- 2024-04-02 JP JP2024059725A patent/JP2025156945A/ja active Pending
-
2025
- 2025-02-12 WO PCT/JP2025/004513 patent/WO2025211024A1/ja active Pending
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2017228155A (ja) * | 2016-06-23 | 2017-12-28 | 株式会社クボタ | 走行支援システム及び作業車 |
| JP2022134905A (ja) * | 2021-03-04 | 2022-09-15 | 三菱重工業株式会社 | ビークルの経路生成方法、ビークルの経路生成装置、ビークル及びプログラム |
| JP2023175547A (ja) * | 2022-05-30 | 2023-12-12 | パナソニックIpマネジメント株式会社 | 搬送制御システム、搬送システム、及び搬送制御方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2025156945A (ja) | 2025-10-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI665538B (zh) | 進行障礙物之迴避動作的移動體及記錄其之電腦程式的記錄媒體 | |
| US11537140B2 (en) | Mobile body, location estimation device, and computer program | |
| JP6825712B2 (ja) | 移動体、位置推定装置、およびコンピュータプログラム | |
| JP6816830B2 (ja) | 位置推定システム、および当該位置推定システムを備える移動体 | |
| JP2025536061A (ja) | 移動ロボットによる自動マッピング | |
| CN110297487A (zh) | 移动体、管理装置及移动体系统 | |
| CN110998472A (zh) | 移动体以及计算机程序 | |
| JP2020166702A (ja) | 移動体システム、地図作成システム、経路作成プログラムおよび地図作成プログラム | |
| WO2019054209A1 (ja) | 地図作成システムおよび地図作成装置 | |
| CN111065981A (zh) | 移动体和移动体系统 | |
| JP7300413B2 (ja) | 制御装置、移動体、移動制御システム、制御方法及びプログラム | |
| JP7257433B2 (ja) | ビークルの経路生成方法、ビークルの経路生成装置、ビークル及びプログラム | |
| WO2019194079A1 (ja) | 位置推定システム、当該位置推定システムを備える移動体、およびコンピュータプログラム | |
| CN112578789A (zh) | 移动体 | |
| WO2023037740A1 (en) | System for waypoint selection and method of using | |
| JP2025156945A (ja) | 経路設定方法、移動体、管理システム及びプログラム | |
| JP2019179497A (ja) | 移動体および移動体システム | |
| JP2025174475A (ja) | 経路設定方法、移動体、管理システム、及びプログラム | |
| JP2024047235A (ja) | 経路設定方法、プログラム及び移動体 | |
| JP2024042454A (ja) | 経路設定方法、プログラム及び移動体 | |
| JP2024005845A (ja) | 経路設定方法、プログラム及び移動体 | |
| WO2026053461A1 (ja) | 移動体管理システム、移動体管理方法、及びプログラム | |
| US12632053B2 (en) | Systems and methods for operating a mobile robot | |
| US20240094737A1 (en) | Systems and methods for operating a mobile robot | |
| KR20250164839A (ko) | 광 검출 및 거리 측정(lidar) 시스템용 lidar 모듈 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 25782362 Country of ref document: EP Kind code of ref document: A1 |