WO2023139796A1 - 経路計画装置 - Google Patents

経路計画装置 Download PDF

Info

Publication number
WO2023139796A1
WO2023139796A1 PCT/JP2022/002481 JP2022002481W WO2023139796A1 WO 2023139796 A1 WO2023139796 A1 WO 2023139796A1 JP 2022002481 W JP2022002481 W JP 2022002481W WO 2023139796 A1 WO2023139796 A1 WO 2023139796A1
Authority
WO
WIPO (PCT)
Prior art keywords
weight
route
vehicle
edges
machine
Prior art date
Application number
PCT/JP2022/002481
Other languages
English (en)
French (fr)
Inventor
アンドレイ ピディン
Original Assignee
本田技研工業株式会社
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 本田技研工業株式会社 filed Critical 本田技研工業株式会社
Priority to PCT/JP2022/002481 priority Critical patent/WO2023139796A1/ja
Publication of WO2023139796A1 publication Critical patent/WO2023139796A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions

Definitions

  • the present invention relates to a route planning device.
  • the amount of energy that a machine such as a robot consumes when transporting an object depends not only on the distance traveled, but also on the weight of the object and the height difference of the movement route. Since the technique described in Patent Document 1 determines a route without using such information, it is not always possible to plan a route with low energy consumption.
  • One aspect of the present invention aims to provide a technique for planning a route with low energy consumption.
  • a route planning apparatus for planning a route along which a machine capable of transporting an object, comprising a graph acquisition means for acquiring a graph including a plurality of nodes corresponding to a plurality of points and a plurality of edges corresponding to a plurality of roads connecting the plurality of points; a weight determination means for determining weights to be assigned to the plurality of edges; determining means, wherein the weight determining means determines the weights to be assigned to the plurality of edges based at least on the weight of an object carried by the machine while traveling along a path corresponding to each edge and the height difference between points corresponding to two nodes connected by each edge.
  • FIG. 2 is a block diagram illustrating a hardware configuration example of a server and a vehicle according to some embodiments
  • FIG. 4 is a block diagram illustrating an example functional configuration of a server according to some embodiments.
  • FIG. 4 is a diagram illustrating a map of a workplace according to some embodiments.
  • FIG. 4 is a diagram illustrating graphs according to some embodiments.
  • FIG. 4 is a diagram illustrating an image showing weights according to some embodiments.
  • FIG. 4 is a flow diagram illustrating a method of planning a route according to some embodiments.
  • FIG. 4 is a flow diagram illustrating another method of planning a route according to some embodiments.
  • a machine-transportable object may be inanimate or animate. Organisms may be plants, animals, or humans. Machine-transportable objects (especially inanimate objects) may also be referred to as cargo.
  • a machine capable of transporting objects may be a vehicle that moves by rotating its wheels. Such movement of the vehicle can also be called travel.
  • the machine capable of transporting objects may be a robot that moves by sequentially moving a plurality of legs. Such robot locomotion may also be referred to as walking.
  • the transportation of the object by the machine may be performed by the machine mounting the object, by the machine towing the object, or in some other manner.
  • server 100 functions as a route planner. That is, the server 100 plans a path traveled by a machine capable of transporting an object. Also, in the embodiment shown in FIG. 1, a vehicle 110 is described as an example of a machine capable of transporting objects. Vehicle 110 in the following description may be replaced by other machines.
  • the server 100 has a processor 101 , a memory 102 , an input device 103 , an output device 104 , a communication interface (I/F) 105 and a storage device 106 . These components are for explaining this embodiment, and the server 100 may have other components. Also, depending on the embodiment, the server 100 may not have all of these components.
  • the processor 101 controls the server 100 as a whole. Specifically, the processor 101 executes a program read out to the memory 102 to perform operations defined by the program. As will be described in more detail below, processor 101 performs operations to plan the route traveled by vehicle 110 .
  • Processor 101 may be a single processor or a set of multiple processors.
  • the processor 101 is composed of, for example, a CPU (Central Processing Unit).
  • the memory 102 stores programs and data related to the operation of the server 100.
  • Memory 102 may store temporary data during operation of server 100 .
  • the memory 102 is composed of, for example, ROM (Read Only Memory) and RAM (Random Access Memory).
  • the input device 103 is a device for receiving input from the user of the server 100 .
  • the input device 103 may be composed of, for example, one or more of a keyboard, mouse, touch panel, and the like.
  • the output device 104 is a device for outputting information to the user of the server 100 .
  • Output device 104 may comprise, for example, one or more of a display, speakers, and the like.
  • the input device 103 and the output device 104 may be integrated as a touch screen.
  • the communication I/F 105 is a device for the server 100 to communicate with an external device. Communication with an external device may be wired communication, wireless communication, or both.
  • the communication I/F 105 is configured by, for example, a network card.
  • the communication I/F 105 performs wireless communication, the communication I/F 105 is composed of, for example, an antenna and a signal processing circuit.
  • the storage device 106 stores information used in the operation of the server 100. As will be described later in detail, the storage device 106 may store map information, work plans, vehicle information, and the like.
  • the storage device 106 is configured by, for example, an HDD (Hard Disk Drive) or an SSD (Solid State Drive).
  • the vehicle 110 has an autonomous mobile device 111, a loading platform 112, a weight sensor 113, a communication interface (I/F) 114, a storage device 115, and a regenerative braking mechanism 116. These components are for the purpose of describing this embodiment, and vehicle 110 may have other components. Also, in some embodiments, vehicle 110 may not have all of these components.
  • the autonomous running device 111 is a device for making the vehicle 110 run autonomously. Driving autonomously means driving without human control.
  • the autonomous mobile device 111 may include a control circuit that controls actuators for driving, braking, and steering the vehicle, a sensor for recognizing the external environment of the vehicle 110, and a sensor for measuring the geographical position of the vehicle 110.
  • Sensors for recognizing the external world of the vehicle 110 may include one or more of, for example, a camera, radar, LiDAR (Light Detection And Ranging), and the like.
  • a sensor for measuring the geographical position of the vehicle 110 may be, for example, a GNSS (Global Navigation Satellite System) sensor.
  • GNSS Global Navigation Satellite System
  • the loading platform 112 is equipment for loading objects.
  • the loading platform 112 may be exposed to the outside of the vehicle 110 or may be inside the vehicle body of the vehicle 110 .
  • vehicle 110 may tow objects mounted on platform 112 rather than carry them. In this case, vehicle 110 does not have to have bed 112 .
  • the weight sensor 113 is a sensor for measuring the weight of the object mounted on the loading platform 112 .
  • the communication I/F 114 is a device for the vehicle 110 to communicate with an external device. Communication with an external device may be wired communication, wireless communication, or both. When communication I/F 114 performs wired communication, communication I/F 114 is configured by, for example, a network card. When the communication I/F 114 performs wireless communication, the communication I/F 114 is composed of, for example, an antenna and a signal processing circuit.
  • the storage device 115 stores information used in the operation of the vehicle 110. As will be described later in detail, the storage device 115 may store vehicle information and the like.
  • the storage device 115 is configured by, for example, an HDD or SSD.
  • Regenerative braking mechanism 116 is a device that converts kinetic energy of vehicle 110 into electrical energy.
  • the server 100 and the vehicle 110 may be able to communicate with each other through the network 120.
  • the network 120 may be a wide area network such as the Internet, or a local network such as a wireless LAN (Local Area Network).
  • the functional blocks of the server 100 functioning as a route planning device will be described with reference to FIG.
  • the server 100 has, for example, a map information acquisition unit 201, a work plan acquisition unit 202, a graph generation unit 203, a weight determination unit 204, a route determination unit 205, a route output unit 206, and a weight image generation unit 207.
  • Each functional block may be implemented by the processor 101 executing program instructions read into the memory 102, for example.
  • some or all of the functional blocks of the server 100 may be realized by dedicated circuits such as ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array) instead of being realized by general-purpose circuits such as CPUs.
  • ASIC Application Specific Integrated Circuit
  • FPGA Field Programmable Gate Array
  • the map information acquisition unit 201 acquires map information of a work place where the vehicle 110 is scheduled to carry out the transportation work.
  • the map information is It contains information about multiple points and information about multiple roads.
  • Information about a plurality of points includes plane coordinates and height of each point.
  • the plane coordinates of each point may be designated by latitude and longitude, for example. Alternatively, the planar coordinates of each point may be relative coordinates to a specific reference point.
  • the height of each point may be the height above sea level (that is, altitude). Alternatively, the height of each point may be relative to a particular reference point.
  • road information may include road length (e.g., road width), road width, road conditions (e.g., slipperiness, etc.), and road traffic conditions (e.g., speed limits, weight limits, height limits, one-way streets, etc.).
  • road length e.g., road width
  • road conditions e.g., slipperiness, etc.
  • road traffic conditions e.g., speed limits, weight limits, height limits, one-way streets, etc.
  • the map information acquisition unit 201 may acquire map information by reading from the storage device 106 .
  • the map information acquisition unit 201 may acquire map information by receiving it from another device (for example, another server that provides map information).
  • the map information may be created by a user of the server 100 or a third party researching the planned work site.
  • the work plan acquisition unit 202 acquires a work plan related to the transportation work scheduled to be performed by the vehicle 110 .
  • the work plan indicates a point at which the vehicle 110 starts work (hereinafter referred to as a work start point), a point through which the vehicle 110 passes (hereinafter referred to as a transit point), and a point at which the vehicle 110 finishes work (hereinafter referred to as a work end point).
  • a work start point, a waypoint, and a work end point are collectively referred to as a work point.
  • the work start point may be the parking lot of the vehicle 110 or another location.
  • the work end point may be the parking lot of the vehicle 110 or another location.
  • a waypoint may be a point at which vehicle 110 unloads an object. If an object is to be loaded or unloaded at a waypoint, the work plan may indicate the weight of the object to be loaded onto the vehicle 110 at the waypoint or the weight of the object to be unloaded from the vehicle 110 at the waypoint. If there are multiple waypoints, the work plan may indicate the order in which the vehicle 110 passes through these multiple points.
  • a work point is selected from a plurality of points included in the map information. If the desired work point is not included in the map information, the work planner may look up information on the desired work point and use this information to update the map information.
  • the work plan may include information about the vehicle 110 used for transportation work.
  • Information about the vehicle 110 may include attributes of the vehicle 110 (e.g., weight, width, height), performance of the vehicle 110 (e.g., energy conversion efficiency, presence or absence of a regenerative braking mechanism, energy recovery efficiency of the regenerative braking mechanism, braking distance for a particular speed).
  • the work plan may include a range of braking distances (eg, within 10 meters) that the vehicle 110 should meet during work.
  • the work plan acquisition unit 202 may acquire the work plan by reading it from the storage device 106 .
  • the work plan acquisition unit 202 may acquire the work plan by receiving it from another device (for example, another server that provides the work plan).
  • a work plan may be created by a user of the server 100 or a third party.
  • the graph generation unit 203 generates a graph representing the work site where the transportation work is scheduled to be performed, based on the map information and the work plan.
  • a graph is a data structure composed of one or more nodes and one or more edges representing connection relationships between the one or more nodes.
  • the graph generation unit 203 generates nodes corresponding to work points included in the work plan and nodes corresponding to points where three or more roads connect in the map information.
  • the graph generator 203 also generates edges connecting two nodes corresponding to two points to which the vehicle 110 can travel directly through the road (i.e., without passing through points corresponding to other nodes).
  • the generated graph includes nodes corresponding to points and edges corresponding to roads connecting the points.
  • the graph generation unit 203 generates a directed graph in which each edge has a direction.
  • the graph generator 203 generates an edge for each of the two or more roads. Even if there is a road connecting two points, if the vehicle 110 cannot pass through this road (for example, the width of the vehicle 110 exceeds the width of the road, or the vehicle 110 does not meet the height or weight limit of the road), the graph generation unit 203 may not generate an edge corresponding to this road.
  • FIG. 3 shows a map 300 of a workplace and FIG. 4 shows a graph 400 generated based on map 300.
  • Map 300 includes a plurality of points, including points 301-306, and a plurality of roads, including roads 311-315.
  • the point 301 is designated as the work start point
  • the points 302 and 305 are designated as waypoints
  • the point 301 is designated as the work end point.
  • the work start point and the work end point match in this example, they may be different.
  • the graph generation unit 203 generates nodes 1 to 9 corresponding to points where three or more roads connect in the map information. Furthermore, the graph generator 203 generates nodes for work points. A node 2 corresponding to a work start point and a work end point (point 301) and a node 3 corresponding to one waypoint (point 302) have already been generated. Therefore, the graph generator 203 generates nodes 10 corresponding to the remaining waypoints (points 305).
  • the graph generation unit 203 generates an edge from node A to node B when the vehicle 110 can move directly from a point corresponding to one node (node A) to another node (node B) (that is, without passing through a point corresponding to another node). For example, suppose vehicle 110 can travel bi-directionally along road 311 between point 301 and point 302 . In this case, the graph generator 203 generates an edge 401 from node 2 to node 3 and an edge 402 from node 3 to node 2 . Assume that vehicle 110 can travel from point 303 to point 304 via road 315, but cannot travel directly from point 304 to point 303 because road 315 is a one-way street.
  • the graph generation unit 203 generates an edge 403 from node 6 to node 7 and does not generate an edge from node 7 to node 6 .
  • vehicle 110 can travel bi-directionally between points 304 and 306 along roads 313 and 314, respectively.
  • the graph generator 203 generates edges 404 and 405 corresponding to the road 313 and edges 406 and 407 corresponding to the road 314 .
  • the graph 400 is generated by the above.
  • the weight determination unit 204 determines the weight assigned to each edge of the graph generated by the graph generation unit 203. This weight is used to solve the shortest path problem described below.
  • the weight determination unit 204 determines the weight to be assigned to each edge based at least on the weight of the object carried by the vehicle 110 while traveling on the road corresponding to each edge and the height difference between the points corresponding to the two nodes connected by each edge. Furthermore, the weight determination unit 204 may further determine the weight assigned to each edge based on at least one of the distance between points corresponding to two nodes connected by each edge, the upper speed limit while traveling on the road corresponding to each edge, and the amount of energy recovered by the regenerative braking mechanism 116.
  • a point corresponding to node A is denoted as point A
  • a point corresponding to node B is denoted as point B.
  • the weight determining unit 204 calculates the amount of energy E h consumed by the vehicle 110 when the vehicle 110 ascends or descends from the height of the point A to the height of the point B according to Equation 1 below.
  • E h (m w + m l ) gh/c (Formula 1) where mw represents the weight of the vehicle 110, ml represents the weight of the object carried by the vehicle 110, g represents the acceleration of gravity, h represents the height of point B minus the height of point A, and c represents the driveline efficiency of the vehicle 110. mw and ml can be determined based on the work plan. When the vehicle 110 is manned, m l may include the weight of the occupants of the vehicle 110 .
  • Drivetrain efficiency c represents the amount of energy consumed by vehicle 110 to change a unit amount of potential energy. The larger the value of c, the less energy consumption the vehicle 110 can make to change a unit amount of potential energy. Eh is positive if h is positive (ie, the edge corresponds to an uphill slope ) and Eh is negative if h is negative (ie, the edge corresponds to a downhill slope).
  • the weight determination unit 204 calculates the converted distance Lr of the edge according to Equation 2 below.
  • Lr L ⁇ (E+ Eh )/E (Formula 2)
  • L represents the distance between the points corresponding to the two nodes connected by the edge (that is, point A and point B)
  • E represents the amount of energy consumed by the vehicle 110 to travel the distance L on a flat road
  • E h represents the amount of energy calculated by Equation (1).
  • the distance L between points corresponding to two nodes connected by an edge may be a straight line distance between these two points, or may be the length of a road corresponding to the edge.
  • the converted distance L r becomes a larger value when the vehicle 110 runs uphill than when the vehicle 110 runs on a flat road, and a smaller value when the vehicle 110 runs downhill. Also, when the vehicle 110 travels uphill, the greater the slope, the greater the value of the converted distance Lr . When the vehicle 110 travels downhill, the greater the slope, the smaller the converted distance Lr .
  • the weight determination unit 204 determines the upper limit speed v of the vehicle 110 traveling on the road corresponding to the edge. First, if the road corresponding to the edge has a speed limit (for example, a legal speed limit), this speed limit becomes a candidate for the upper limit speed v. Further, when the upper limit speed (for example, 30 km/h) of the vehicle 110 is specified by the work plan or the like, this upper limit speed becomes a candidate for the upper limit speed v. When a condition regarding the braking distance of the vehicle 110 is defined by a work plan or the like, the upper limit speed that satisfies this condition becomes a candidate for the upper limit speed v.
  • a speed limit for example, a legal speed limit
  • the weight determining unit 204 uses this upper limit speed (25 km/h) as a candidate for the upper limit speed v.
  • the braking distance of the vehicle 110 may vary depending on the weight of the object that the vehicle 110 carries. Therefore, the weight determination unit 204 may determine the upper limit speed that satisfies the condition regarding the braking distance based on the performance of the vehicle 110 acquired from the work plan or the like and the weight of the object carried by the vehicle 110 . Furthermore, the braking distance of vehicle 110 may vary depending on the road conditions (slipperiness) on which vehicle 110 is traveling. Therefore, the weight determination unit 204 may determine the upper limit speed that satisfies the condition regarding the braking distance, further based on the state of the road on which the vehicle 110 is traveling (slipperiness). The condition of the road on which the vehicle 110 is traveling may also vary depending on factors such as the weather.
  • the weight determining unit 204 may determine the upper limit speed that satisfies the condition regarding the braking distance, further based on factors such as the weather. When there are a plurality of candidates for the upper limit speed, the minimum value among these candidates becomes the upper limit speed v.
  • the weight determination unit 204 calculates the edge weight w according to Equation 3 below.
  • the weight w thus calculated is based on the amount of energy consumed by the vehicle 110 moving along the edge and the time required to move between the points corresponding to the two nodes connected by the edge.
  • the weight w increases as the amount of energy consumed by the vehicle 110 increases, and increases as the time required to move between points corresponding to two nodes connected by an edge increases.
  • weight determiner 204 may determine the weight assigned to each edge further based on the amount of energy recovered by regenerative braking mechanism 116 . If point B is lower than point A (ie, h ⁇ 0), vehicle 110 can recover energy using regenerative braking mechanism 116 while driving on the road corresponding to the edge. Weight determination unit 204 calculates the amount of energy Er recovered by regenerative braking mechanism 116 according to Equation 4 below.
  • m w , m l , g and h are the same as in Equation 1.
  • cr represents the energy recovery efficiency of the regenerative braking mechanism 116 .
  • the weight determining unit 204 calculates the converted distance Lr of the edge according to Equation 2' below.
  • the weight w is calculated more appropriately. If the weight w becomes a negative value, the shortest path problem may not be able to be solved. Therefore, the weight determining unit 204 may set the weight to 0 for the edge with the negative weight w.
  • the route determination unit 205 selects a start point and an end point from multiple nodes of the graph generated by the graph generation unit 203, and determines a route from the start point to the end point based on weights assigned to multiple edges. For example, the route determination unit 205 determines the shortest route that minimizes the sum of weights.
  • the shortest path may be determined, for example, by the Dijkstra method, by the Bellman-Ford method, or by using other algorithms. A method for determining the start point and the end point will be described later.
  • the route output unit 206 outputs the determined route. Outputting the route may include transmitting the route to the vehicle 110 .
  • Vehicle 110 may autonomously travel following a route determined by server 100 .
  • vehicle 110 may display the route to the driver of vehicle 110 .
  • Outputting the route may also include storing the route in storage device 106 for future use. Further, outputting the route may include presenting the route to a user of server 100 through output device 104 of server 100 .
  • the weight image generation unit 207 generates an image visually showing weights assigned to a plurality of edges.
  • the generated image may be transmitted to the vehicle 110 and displayed to the occupants of the vehicle 110 or may be displayed to the user of the server 100 using the output device 104 of the server 100 .
  • the weighted image generator 207 generates the image 500 shown in FIG.
  • edges are shown with a thickness corresponding to the weight of the edge. Edges with greater weights may be shown thicker, or vice versa.
  • the image 500 shows three levels of edge thickness, the edge thickness may be divided into more levels. Instead of indicating the weight by the thickness of the edge, the color of the edge may be used to indicate the weight. Alternatively or additionally, the weight may be visually indicated by displaying a numerical value representing the weight near the edge.
  • the method performed by the server 100 to plan the route traveled by the object-capable vehicle 110 will be described.
  • the method of FIG. 6 may be executed by processor 101 of server 100 executing a program read into memory 102 .
  • the server 100 plans the route of the vehicle 110 based on the work plan.
  • step S601 the server 100 (specifically, the work plan acquisition unit 202) acquires a work plan regarding the transportation work of the vehicle 110. Since the contents of the work plan and the method of acquiring the work plan have been described above, duplicate explanations will be omitted.
  • step S ⁇ b>602 the server 100 (specifically, the map information acquisition unit 201 ) acquires the map information of the work place for the transportation work of the vehicle 110 . Since the contents of the map information and the method of acquiring the map information have been described above, duplicate descriptions will be omitted.
  • step S ⁇ b>603 the server 100 (specifically, the graph generation unit 203 ) generates a graph representing the workplace of the transportation work of the vehicle 110 . Since the method of generating the graph has been described above, redundant description will be omitted.
  • the server 100 plans a route for the vehicle 110 based on the work plan acquired in step S601.
  • the weights assigned to the edges may vary depending on the weight of the objects carried by the vehicle 110 . Therefore, the route that minimizes the sum of weights may also vary depending on the weight of the object transported by vehicle 110 . Therefore, the server 100 determines the weight of a plurality of edges based on the changed weight every time the weight of the object carried by the vehicle 110 changes, and determines the route based on this weight.
  • a plurality of routes determined in this manner (referred to as partial routes) are combined to form a finally planned route (referred to as an overall route).
  • the server 100 selects a start point and an end point based on the work plan acquired at step S601. 6, the server 100 selects the node corresponding to the work start point (point 301 in the example of FIG. 3) as the start point, and selects the node corresponding to the first waypoint (point 302 in the example of FIG. 3) as the end point.
  • the server 100 selects the end point of the previous loop as the start point, and selects the next work point (route point or work end point) as the end point.
  • step S605 the server 100 (specifically, the weight determination unit 204) determines the weight of the object to be transported by the vehicle 110 during movement from the start point to the end point based on the work plan acquired in step S601.
  • step S606 the server 100 (specifically, the weight determination unit 204) assigns a weight to each edge. Since the method of assigning weights has been described above, redundant description will be omitted.
  • the value determined in step 505 is used as the object weight wl used to calculate the weight assigned to the edge.
  • the weight limit may prevent the vehicle 110 from traveling on some roads.
  • the server 100 may set the weight of the edge corresponding to the impassable road to the maximum value, or may remove the edge corresponding to the impassable road from the graph.
  • the server 100 (specifically, the route determination unit 205) determines a route (partial route) that minimizes the sum of weights from the start point to the end point. Since the method of determining the route has been described above, redundant description will be omitted.
  • step S608 the server 100 (specifically, the route determination unit 205) determines whether the end point of the most recently determined partial route matches the work end point. If it is determined that they match ("YES” in step S608), the server 100 shifts the process to step S609; otherwise ("NO” in step S608), the server 100 shifts the process to step S604.
  • step S609 the server 100 (specifically, the route determination unit 205) determines the entire route by combining the multiple partial routes determined by repeating steps S604 to S607.
  • step S610 server 100 (specifically, route output unit 206) outputs the determined overall route. Since the method of outputting the route has been described above, redundant description will be omitted.
  • server 100 plans a route for vehicle 110 based on information from vehicle 110 while vehicle 110 is performing a task.
  • step S701 the server 100 (specifically, the map information acquisition unit 201) acquires map information of the work place for the transportation work of the vehicle 110. Since the contents of the map information and the method of acquiring the map information have been described above, duplicate descriptions will be omitted.
  • step S ⁇ b>702 the server 100 (specifically, the graph generation unit 203 ) generates a graph representing the workplace of the transportation work of the vehicle 110 . Since the method of generating the graph has been described above, redundant description will be omitted.
  • the server 100 acquires the current location and destination of the vehicle 110. For example, vehicle 110 sends its current location and next work location to server 100, which receives this information.
  • the server 100 (specifically, the weight determination unit 204 ) determines the weight of the object to be transported by the vehicle 110 . For example, vehicle 110 measures the current weight of the object using weight sensor 113 and transmits the value to server 100, which receives this information.
  • step S705 the server 100 (specifically, the weight determination unit 204) assigns a weight to each edge. Since the method of assigning weights has been described above, redundant description will be omitted.
  • the value determined in step 604 is used as the object's weight wl used in calculating the weight to assign to the edge.
  • step S706 the server 100 (specifically, the route determination unit 205) determines a route that minimizes the sum of weights from the start point to the end point.
  • the current location of the vehicle 110 acquired in step S702 is set as the starting point.
  • the destination of the vehicle 110 obtained in step S702 is set as the end point. Since the method of determining the route has been described above, redundant description will be omitted.
  • the server 100 (specifically, the route output unit 206) outputs the determined route. Since the method of outputting the route has been described above, redundant description will be omitted. Specifically, the server 100 may transmit the route to the vehicle 110 . Vehicle 110 that has received the route moves to the destination along this route. If the destination is not the work end point, vehicle 110 may request server 100 to perform steps S703-S707 using the new current location, new destination, and new weight.
  • vehicle 110 may be steered by a human.
  • the operation by a human may be a remote operation from outside the vehicle 110 or may be an operation by a person on board the vehicle 110 .
  • the server 100 generated graphs in steps S503 and S602.
  • a device other than the server 100 may generate the graph, and the server 100 may acquire (eg, receive) the graph from the device.
  • the server 100 outputs the route that minimizes the sum of edge weights in steps S507 and S606, but the determined route is not limited to this.
  • the server 100 may output the route with the shortest travel time among a predetermined number (for example, three) of routes with the lowest sum of weights.
  • the server 100 may randomly determine the order of passing through the plurality of waypoints, or may determine the order of passing through the plurality of waypoints so that the final route is the shortest.
  • the server 100 functioned as a route planning device.
  • vehicle 110 may function as a route planner. Specifically, vehicle 110 may perform the method of FIG. 6 or FIG. 7 described above.
  • a path planning device for planning a path traveled by a machine (110) capable of transporting objects, comprising: graph acquisition means (203) for acquiring a graph (400) including a plurality of nodes corresponding to a plurality of points and a plurality of edges corresponding to a plurality of roads connecting the plurality of points; weight determination means (204) for determining weights to be assigned to the plurality of edges; a path determination means (205) for selecting a start point and an end point from the plurality of nodes and determining a path from the start point to the end point based on the weights assigned to the plurality of edges; The weight determining means assigns weights to the plurality of edges, a weight of an object carried by the machine while traveling along a path corresponding to each edge; a height difference between points corresponding to two nodes connected by each edge; A route planner that determines based at least on: According to this item, since the weight of the edge is determined based on the weight of
  • ⁇ Item 4> A route planning apparatus according to item 3, wherein said weight determining means determines said upper speed limit of said machine so as to satisfy a condition relating to braking distance of said machine. According to this item, a route with low energy consumption can be planned more appropriately.
  • ⁇ Item 6> The machine has a regenerative braking mechanism (116), 6.
  • the route planning device according to any one of items 1 to 5, wherein the weight determining means determines the weights assigned to the plurality of edges further based on the amount of energy recovered by the regenerative braking mechanism. According to this item, a route with low energy consumption can be planned more appropriately.
  • ⁇ Item 7> Further comprising a plan acquisition means (202) for acquiring a work plan indicating the point at which the object is to be loaded and unloaded, 7.
  • the route planning device according to any one of items 1 to 6, wherein the route determining means selects the start point and the end point based on the work plan. According to this item, the start point and end point of the route can be determined appropriately.
  • a path planning apparatus wherein the weight determining means determines the weight of the plurality of edges based on the changed weight each time the weight of the object conveyed by the machine changes. According to this item, a route with low energy consumption can be planned more appropriately.
  • Path planning apparatus according to any one of items 1 to 8, further comprising image generating means (207) for generating an image (500) visually indicating the weights assigned to said plurality of edges. According to this item, the weight assigned to the edge can be intuitively grasped.
  • a route planner according to any one of items 1 to 9, wherein the machine is a vehicle (110). According to this item, the route of the vehicle can be appropriately planned.
  • a route planning device according to any one of items 1 to 10, wherein the machine moves autonomously according to the determined route. According to this item, the machine can autonomously move along a route that consumes less energy.
  • ⁇ Item 12> A program for operating a computer as each means of the route planning apparatus according to any one of items 1 to 11. According to this item, a route planning device can be provided in the form of a program.

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

物体を運搬可能な機械が移動する経路を計画するための経路計画装置は、複数の地点に対応する複数のノードと、複数の地点を接続する複数の道に対応する複数のエッジとを含むグラフを取得するグラフ取得部と、複数のエッジに割り当てる重みを決定する重み決定部と、複数のノードから始点及び終点を選択し、複数のエッジに割り当てられた重みに基づいて始点から終点までの経路を決定する経路決定部と、を有する。重み決定部は、複数のエッジに割り当てる重みを、各エッジに対応する道を移動中に機械が運搬する物体の重量と、各エッジが接続する2つのノードに対応する地点の高低差と、に少なくとも基づいて決定する。

Description

経路計画装置
 本発明は、経路計画装置に関する。
 自律移動ロボットの移動経路を計画するための様々な技術が提案されている。特許文献1に記載された技術では、時間、距離又はエネルギー消費量が最適となるようにロボットの現在位置から目的地までの経路が決定される。
特開2006-195969号公報
 ロボットのような機械が物体を運搬する際に消費するエネルギー量は、移動距離だけでなく、物体の重量や、移動経路の高低差にも依存する。特許文献1に記載された技術はこのような情報を使用せずに経路を決定しているため、消費エネルギーが低い経路を計画できるとは限らない。本発明の1つの側面は、消費エネルギーが低い経路を計画するための技術を提供することを目的とする。
 上記課題に鑑みて、物体を運搬可能な機械が移動する経路を計画するための経路計画装置であって、複数の地点に対応する複数のノードと、前記複数の地点を接続する複数の道に対応する複数のエッジとを含むグラフを取得するグラフ取得手段と、前記複数のエッジに割り当てる重みを決定する重み決定手段と、前記複数のノードから始点及び終点を選択し、前記複数のエッジに割り当てられた前記重みに基づいて前記始点から前記終点までの経路を決定する経路決定手段と、を備え、前記重み決定手段は、前記複数のエッジに割り当てる重みを、各エッジに対応する道を移動中に前記機械が運搬する物体の重量と、各エッジが接続する2つのノードに対応する地点の高低差と、に少なくとも基づいて決定する、経路計画装置が提供される。
 本開示によれば、消費エネルギーが低い経路を計画するための技術が提供される。
 本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。なお、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
 添付図面は明細書に含まれ、その一部を構成し、本発明の実施の形態を示し、その記述と共に本発明の原理を説明するために用いられる。
一部の実施形態に係るサーバ及び車両のハードウェア構成例を説明するブロック図。
一部の実施形態に係るサーバの機能構成例を説明するブロック図。
一部の実施形態に係る作業場の地図を説明する図。
一部の実施形態に係るグラフを説明する図。
一部の実施形態に係る重みを示す画像を説明する図。
一部の実施形態に係る経路を計画する方法を説明するフロー図。
一部の実施形態に係る経路を計画する別の方法を説明するフロー図。
 以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態で説明されている特徴の組み合わせの全てが発明に必須のものとは限らない。実施形態で説明されている複数の特徴のうち二つ以上の特徴は任意に組み合わされてもよい。また、同一若しくは同様の構成には同一の参照番号を付し、重複した説明は省略する。
 本開示の一部の実施形態は、物体を運搬可能な機械が移動する経路を計画するための技術に関する。機械が運搬可能な物体は、無生物であってもよいし、生物であってもよい。生物は、植物、動物、人間の何れであってもよい。機械が運搬可能な物体(特に、無生物)は、荷物とも呼ばれうる。物体を運搬可能な機械は、車輪を回転することによって移動する車両であってもよい。このような車両の移動は、走行とも呼ばれうる。これに代えて、物体を運搬可能な機械は、複数の足を順に動かすことによって移動するロボットであってもよい。このようなロボットの移動は、歩行とも呼ばれうる。機械による物体の運搬は、機械が物体を搭載することによって行われてもよいし、機械が物体を牽引することによって行われてもよいし、他の態様で行われてもよい。
 図1を参照して、一部の実施形態に係る経路計画装置のハードウェア構成例について説明する。図1に示される実施形態では、サーバ100が経路計画装置として機能する。すなわち、サーバ100が、物体を運搬可能な機械が移動する経路を計画する。また、図1に示される実施形態では、物体を運搬可能な機械の一例として車両110について説明する。以下の説明の車両110は、他の機械に置き換えられてもよい。
 サーバ100は、プロセッサ101と、メモリ102と、入力装置103と、出力装置104と、通信インタフェース(I/F)105と、記憶装置106と、を有する。これらの構成要素は本実施形態を説明するためのものであり、サーバ100は他の構成要素を有してもよい。また、実施形態によっては、サーバ100がこれらのすべての構成要素を有していなくてもよい。
 プロセッサ101は、サーバ100の全体の制御を行う。具体的に、プロセッサ101は、メモリ102に読み出されたプログラムを実行することによって、当該プログラムによって規定される動作を実行する。詳細を後述するように、プロセッサ101は、車両110が走行する経路を計画するための動作を実行する。プロセッサ101は、単一のプロセッサであってもよいし、複数のプロセッサの集合であってもよい。プロセッサ101は、例えばCPU(Central Processing Unit)で構成される。
 メモリ102は、サーバ100の動作に関するプログラム及びデータを記憶する。メモリ102は、サーバ100の動作中の一時データを記憶してもよい。メモリ102は、例えばROM(Read Only Memory)やRAM(Random Access Memory)で構成される。
 入力装置103は、サーバ100のユーザからの入力を受け取るための装置である。入力装置103は、例えばキーボード、マウス、タッチパネルなどのうちの1つ以上によって構成されてもよい。出力装置104は、サーバ100のユーザへ情報を出力するための装置である。出力装置104は、例えばディスプレイ、スピーカなどのうちの1つ以上によって構成されてもよい。入力装置103と出力装置104とがタッチスクリーンとして一体に構成されてもよい。
 通信I/F105は、サーバ100が外部の装置と通信するための装置である。外部の装置との通信は、有線通信であってもよいし、無線通信であってもよいし、その両方であってもよい。通信I/F105が有線通信を行う場合に、通信I/F105は例えばネットワークカードで構成される。通信I/F105が無線通信を行う場合に、通信I/F105は例えばアンテナ及び信号処理回路で構成される。
 記憶装置106は、サーバ100の動作で使用される情報を記憶する。詳細を後述するように、記憶装置106は、地図情報、作業計画、車両情報などを記憶してもよい。記憶装置106は、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)によって構成される。
 車両110は、自律走行装置111と、荷台112と、重量センサ113と、通信インタフェース(I/F)114と、記憶装置115と、回生ブレーキ機構116と、を有する。これらの構成要素は本実施形態を説明するためのものであり、車両110は他の構成要素を有してもよい。また、実施形態によっては、車両110がこれらのすべての構成要素を有していなくてもよい。
 自律走行装置111は、車両110を自律的に走行させるための装置である。自律的に走行するとは、人間が操縦することなく走行することである。自律走行装置111は、車両の駆動・制動・操舵に関するアクチュエータを制御する制御回路と、車両110の外界を認識するためのセンサと、車両110の地理的位置を測定するためのセンサとを有してもよい。車両110の外界を認識するためのセンサは、例えばカメラ、レーダ、LiDAR(Light Detection And Ranging)などのうちの1つ以上を含んでもよい。車両110の地理的位置を測定するためのセンサは、例えばGNSS(Global Navigation Satellite System)センサであってもよい。
 荷台112は、物体を搭載するための設備である。荷台112は、車両110の外部に露出していてもよいし、車両110の車体の内部にあってもよい。上述のように、車両110は、荷台112に搭載された物体を運搬するのではなく、物体を牽引してもよい。この場合に、車両110は荷台112を有していなくてもよい。重量センサ113は、荷台112に搭載された物体の重量を計測するためのセンサである。
 通信I/F114は、車両110が外部の装置と通信するための装置である。外部の装置との通信は、有線通信であってもよいし、無線通信であってもよいし、その両方であってもよい。通信I/F114が有線通信を行う場合に、通信I/F114は例えばネットワークカードで構成される。通信I/F114が無線通信を行う場合に、通信I/F114は例えばアンテナ及び信号処理回路で構成される。
 記憶装置115は、車両110の動作で使用される情報を記憶する。詳細を後述するように、記憶装置115は、車両情報などを記憶してもよい。記憶装置115は、例えばHDDやSSDによって構成される。回生ブレーキ機構116は、車両110の運動エネルギーを電気エネルギーに変換する装置である。
 サーバ100と車両110とは、ネットワーク120を通じて相互に通信可能であってもよい。ネットワーク120は、インターネットのような広域ネットワークであってもよいし、無線LAN(Local Area Network)のような局所ネットワークであってもよい。
 図2を参照して、経路計画装置として機能するサーバ100の機能ブロックについて説明する。サーバ100は、例えば地図情報取得部201と、作業計画取得部202と、グラフ生成部203と、重み決定部204と、経路決定部205と、経路出力部206と、重み画像生成部207とを有する。各機能ブロックは、例えばメモリ102に読み出されたプログラムの命令をプロセッサ101が実行することによって実現されてもよい。これに代えて、サーバ100の機能ブロックの一部又は全部は、CPUのような汎用回路によって実現される代わりに、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)のような専用回路によって実現されてもよい。
 地図情報取得部201は、車両110が運搬作業を行う予定の作業場の地図情報を取得する。地図情報は、
複数の地点に関する情報と、複数の道に関する情報とを含む。複数の地点に関する情報は、各地点の平面座標及び高さとを含む。各地点の平面座標は、例えば緯度及び経度で指定されてもよい。これに代えて、各地点の平面座標は、特定の基準地点に対する相対座標であってもよい。各地点の高さは、海水面からの高さ(すなわち、標高)であってもよい。これに代えて、各地点の高さは、特定の基準地点に対する相対的な高さであってもよい。
 複数の道に関する情報は、各道が通過する1つ以上の地点を示す。さらに、道に関する情報は、道の長さ(例えば、道のり)、道の幅、道の状態(例えば、滑りやすさ等)及び道を通行条件(例えば、速度制限、重量制限、高さ制限、一方通行等)を含んでもよい。
 地図情報取得部201は、記憶装置106から読み出すことによって地図情報を取得してもよい。これに代えて、地図情報取得部201は、他の装置(例えば、地図情報を提供する他のサーバ)から受信することによって地図情報を取得してもよい。地図情報は、サーバ100のユーザや第三者が作業予定地を調査することによって作成されてもよい。
 作業計画取得部202は、車両110が行う予定の運搬作業に関する作業計画を取得する。作業計画は、車両110が作業を開始する地点(以下、作業開始地点という)と、車両110が経由する地点(以下、経由地点という)と、車両110が作業を終了する地点(以下、作業終了地点という)とを示す。作業開始地点、経由地点及び作業終了地点をまとめて作業地点という。作業開始地点は、車両110の駐車場であってもよいし、他の場所であってもよい。車両110が自律的に移動することによって運搬作業を行う場合に、車両110は、人によって作業開始地点まで移動されてもよい。作業終了地点は、車両110の駐車場であってもよいし、他の場所であってもよい。経由地点は、車両110が物体の積み下ろしを行う地点であってもよい。経由地点において物体の積み下ろしが行われる場合に、作業計画は、経由地点で車両110に積まれる物体の重量又は経由地点で車両110から降ろされる物体の重量を示してもよい。経由地点が複数ある場合に、作業計画は、これらの複数の地点を車両110が経由する順番を示してもよい。作業地点は、地図情報に含まれる複数の地点から選択される。指定したい作業地点が地図情報に含まれない場合に、作業計画の立案者は、指定したい作業地点の情報を調べ、この情報を用いて地図情報を更新してもよい。
 作業計画は、運搬作業に使用する車両110に関する情報を含んでもよい。車両110に関する情報は、車両110の属性(例えば、重量、車幅、車高)、車両110の性能(例えば、エネルギー変換効率、回生ブレーキ機構の有無、回生ブレーキ機構のエネルギー回収効率、特定の速度に対する制動距離)を含んでもよい。さらに、作業計画は、作業中の車両110が満たすべき制動距離の範囲(例えば、10m以内)を含んでもよい。
 作業計画取得部202は、記憶装置106から読み出すことによって作業計画を取得してもよい。これに代えて、作業計画取得部202は、他の装置(例えば、作業計画を提供する他のサーバ)から受信することによって作業計画を取得してもよい。作業計画は、サーバ100のユーザや第三者によって作成されてもよい。
 グラフ生成部203は、地図情報及び作業計画に基づいて、運搬作業を行う予定の作業場を表すグラフを生成する。グラフとは、1つ以上のノードと、当該1つ以上のノードの接続関係を表す1つ以上のエッジとによって構成されるデータ構造のことである。グラフ生成部203は、作業計画に含まれる作業地点に対応するノードと、地図情報において3つ以上の道が接続する地点に対応するノードとを生成する。また、グラフ生成部203は、車両110が道を通って直接に(すなわち、他のノードに対応する地点を通らずに)移動可能な2つの地点に対応する2つのノードを接続するエッジを生成する。このように、生成されるグラフは、複数の地点に対応するノードと、この複数の地点を接続する複数の道に対応する複数のエッジとを含む。
 グラフ生成部203は、各エッジが方向を有する有向グラフを生成する。2つのノードに対応する2つの地点が2つ以上の道によって別個に接続される場合に、グラフ生成部203は、2つ以上の道のそれぞれに対してエッジを生成する。グラフ生成部203は、2つの地点を接続する道があったとしても、車両110がこの道を通れない場合(例えば、車両110の幅が道幅を超えたり、車両110が道の高さ制限又は重量制限を満たさなかったりする場合)に、この道に対応するエッジを生成しなくてもよい。
 図3及び図4を参照して、グラフ生成部203によって生成されるグラフの例について説明する。図3は作業場の地図300を示し、図4は地図300に基づいて生成されるグラフ400を示す。地図300は、地点301~306を含む複数の地点と、道311~315を含む複数の道とを含む。作業計画において、地点301が作業開始地点として指定され、地点302及び305が経由地点として指定され、地点301が作業終了地点として指定されているとする。この例では作業開始地点と作業終了地点とが一致するが、これらは異なっていてもよい。
 グラフ生成部203は、地図情報において3つ以上の道が接続する地点に対応するノード1~9を生成する。さらに、グラフ生成部203は、作業地点に対するノードを生成する。作業開始地点及び作業終了地点(地点301)に対応するノード2と、1つの経由地点(地点302)に対応するノード3はすでに生成されている。そこで、グラフ生成部203は、残りの経由地点(地点305)に対応するノード10を生成する。
 その後、グラフ生成部203は、あるノード(ノードAとする)に対応する地点から別のノード(ノードBとする)に対する地点まで車両110が直接に(すなわち、他のノードに対応する地点を通らずに)移動できる場合に、ノードAからノードBに向かうエッジを生成する。例えば、車両110が地点301と地点302との間を、道311を通って双方向に移動可能であるとする。この場合に、グラフ生成部203は、ノード2からノード3へ向かうエッジ401と、ノード3からノード2へ向かうエッジ402とを生成する。車両110が地点303から地点304へ道315を通って移動可能であるが、道315が一方通行であるため、地点304から地点303へは直接に移動できないとする。この場合に、グラフ生成部203は、ノード6からノード7へ向かうエッジ403を生成し、ノード7からノード6へ向かうエッジは生成しない。車両110が地点304と地点306との間を、道313と道314とのそれぞれを通って双方向に移動可能であるとする。この場合に、グラフ生成部203は、道313に対応するエッジ404及び405と、道314に対応するエッジ406及び407とを生成する。以上によって、グラフ400が生成される。
 重み決定部204は、グラフ生成部203によって生成されたグラフの各エッジに割り当てる重みを決定する。この重みは、後述する最短経路問題を解くために使用される。重み決定部204は、各エッジに割り当てる重みを、各エッジに対応する道を移動中に車両110が運搬する物体の重量と、各エッジが接続する2つのノードに対応する地点の高低差とに少なくとも基づいて決定する。さらに、重み決定部204は、各エッジに割り当てる重みを、各エッジが接続する2つのノードに対応する地点の間の距離と、各エッジに対応する道を移動中の上限速度と、回生ブレーキ機構116によって回収されるエネルギー量とのうちの少なくとも1つにさらに基づいて決定してもよい。
 以下、ノードAからノードBに向かうエッジの重みを決定する方法の一例について説明する。ノードAに対応する地点を地点Aと表し、ノードBに対応する地点を地点Bと表す。重み決定部204は、地点Aの高さから地点Bの高さまで車両110が上昇又は下降することによって車両110が消費するエネルギー量Eを以下の式1に従って算出する。
  E=(m+m)gh/c   …(式1)
 ここで、mは、車両110の重量を表し、mは、車両110が運搬する物体の重量を表し、gは重力加速度を表し、hは地点Bの高さから地点Aの高さを減算した値を表し、cは車両110の駆動系効率を表す。m及びmは作業計画に基づいて決定されうる。車両110が有人走行を行う場合に、mは車両110の搭乗者の重量を含んでもよい。駆動系効率cは、単位量の位置エネルギーを変化させるための車両110が消費するエネルギー量を表す。cの値が大きいほど、車両110は、少ないエネルギー消費量で単位量の位置エネルギーを変化できる。hが正の場合(すなわち、エッジが上り坂に対応する場合)にEは正となり、hが負の場合(すなわち、エッジが下り坂に対応する場合)にEは負となる。
 続いて、重み決定部204は、エッジの換算距離Lを以下の式2に従って算出する。
  L=L×(E+E)/E   …(式2)
 ここで、Lはエッジが接続する2つのノードに対応する地点(すなわち、地点A及び地点B)の間の距離を表し、Eは平坦な道を距離Lだけ移動するために車両110が消費するエネルギー量を表し、Eは式(1)で算出されたエネルギー量を表す。エッジが接続する2つのノードに対応する地点の間の距離Lは、この2点の直線距離であってもよいし、エッジに対応する道の道のりであってもよい。
 2つの地点間の距離Lが同じであったとしても、換算距離Lは、車両110が平坦な道を走行する場合と比較して、車両110が上り坂を走行する場合に大きい値となり、車両110が下り坂を走行する場合に小さい値となる。また、車両110が上り坂を走行する場合に、傾斜が大きいほど換算距離Lは大きい値となる。車両110が下り坂を走行する場合に、傾斜が大きいほど換算距離Lは小さい値となる。
 重み決定部204は、地点Bの高さから地点Aの高さを減算した値hが閾値(例えば、1m)よりも小さい場合に、E=0として換算距離Lを算出してもよい。この場合に、換算距離Lは、距離Lに等しくなる。
 続いて、重み決定部204は、エッジに対応する道を移動中の車両110の上限速度vを決定する。まず、エッジに対応する道に制限速度(例えば、法定速度)が規定されている場合に、この制限速度が上限速度vの候補となる。また、作業計画等によって車両110の上限速度(例えば、30km/h)が規定されている場合に、この上限速度が上限速度vの候補となる。作業計画等によって車両110の制動距離に関する条件が規定されている場合に、この条件を満たす上限速度が上限速度vの候補となる。例えば、作業計画等によって、車両110が制動を開始してから10m以内に停止するという要件が課されているとする。そして、車両110が10m以内に停止するための速度の上限が25km/hであるとする。この場合に、重み決定部204は、この上限速度(25km/h)を上限速度vの候補とする。
 車両110の制動距離は、車両110が運搬する物体の重量によって異なりうる。そこで、重み決定部204は、作業計画等から取得された車両110の性能と、車両110が運搬する物体の重量とに基づいて、制動距離に関する条件を満たす上限速度を決定してもよい。さらに、車両110の制動距離は、車両110が走行中の道の状態(滑りやすさ)によっても異なりうる。そこで、重み決定部204は、車両110が走行中の道の状態(滑りやすさ)にさらに基づいて、制動距離に関する条件を満たす上限速度を決定してもよい。車両110が走行中の道の状態は、天候等の要因によっても異なりうる。そのため、重み決定部204は、天候等の要因にさらに基づいて、制動距離に関する条件を満たす上限速度を決定してもよい。上限速度の候補が複数存在する場合に、これらの候補のうちの最小の値が上限速度vとなる。
 続いて、重み決定部204は、エッジの重みwを以下の式3に従って算出する。
  w=L/v   …(式3)
 ここで、Lは式(2)で算出された換算距離を表し、vは上述の上限速度を表す。このように算出される重みwは、エッジを移動する車両110が消費するエネルギー量と、エッジが接続する2つのノードに対応する地点間を移動するために必要な時間とに基づいた値となる。重みwは、車両110が消費するエネルギー量が大きいほど大きい値となり、エッジが接続する2つのノードに対応する地点間を移動するために必要な時間が長いほど大きい値となる。
 車両110が回生ブレーキ機構116を有する場合に、重み決定部204は、各エッジに割り当てる重みを、回生ブレーキ機構116によって回収されるエネルギー量にさらに基づいて決定してもよい。地点Bが地点Aよりも低い場合(すなわち、h<0の場合)に、車両110は、エッジに対応する道を走行中に回生ブレーキ機構116を用いてエネルギーを回収可能である。重み決定部204は、回生ブレーキ機構116によって回収されるエネルギー量Eを以下の式4に従って算出する。
  E=-(m+m)ghc   …(式4)
 ここで、m、m、g及びhは式1と同様である。cは回生ブレーキ機構116によるエネルギーの回収効率を表す。
 さらに、重み決定部204は、エッジの換算距離Lを以下の式2′に従って算出する。
  L=L×(E+E-E)/E   …(式2′)
 式2′に従って算出される換算距離Lは、回生ブレーキ機構116によって回収されるエネルギー量にさらに基づくため、重みwが一層適切に算出される。重みwが負の値となった場合に、最短経路問題を解くことができない場合がある。そこで、重み決定部204は、重みwが負となったエッジについて、重みを0としてもよい。
 経路決定部205は、グラフ生成部203によって生成されたグラフの複数のノードから始点及び終点を選択し、複数のエッジに割り当てられた重みに基づいて始点から終点までの経路を決定する。例えば、経路決定部205は、重みの和が最小となる最短経路を決定する。最短経路は、例えばダイクストラ法によって決定されてもよいし、ベルマンーフォード法によって決定されてもよいし、他のアルゴリズムを用いて決定されてもよい。始点及び終点の決定方法については後述する。
 経路出力部206は、決定された経路を出力する。経路を出力することは、車両110に経路を送信することを含んでもよい。車両110は、サーバ100によって決定された経路に従って自律的に走行してもよい。これに代えて、車両110は、車両110の運転者に向けて経路を表示してもよい。また、経路を出力することは、将来の使用のために経路を記憶装置106に記憶することを含んでもよい。さらに、経路を出力することは、サーバ100の出力装置104を通じてサーバ100のユーザに経路を提示することを含んでもよい。
 重み画像生成部207は、複数のエッジに割り当てられた重みを視覚的に示す画像を生成する。生成された画像は、車両110へ送信され、車両110の乗員に向けて表示されてもよし、サーバ100の出力装置104を用いてサーバ100のユーザに向けて表示されてもよい。例えば、重み画像生成部207は、図5に示される画像500を生成する。画像500では、エッジの重みに応じた太さでエッジが示される。エッジの重みが大きいほどエッジが太く示されてもよいし、この逆であってもよい。画像500では、エッジの太さが3段階で示されるが、エッジの太さはこれよりも多くの段階に分かれてもよい。エッジの太さで重みを示す代わりにエッジの色で重みを示してもよい。これに代えて又はこれに加えて、エッジの付近に重みを表す数値を表示することによって、重みが視覚的に示されてもよい。
 続いて、図6を参照して、物体を運搬可能な車両110が移動する経路を計画するためにサーバ100が実行する方法について説明する。図6の方法は、サーバ100のプロセッサ101が、メモリ102に読み出されたプログラムを実行することによって実行されてもよい。図6の方法では、車両110が作業を開始する前に、サーバ100が作業計画に基づいて車両110の経路を計画する。
 ステップS601で、サーバ100(具体的に、作業計画取得部202)は、車両110の運搬作業に関する作業計画を取得する。作業計画の内容及び作業計画の取得方法については上述したため、重複する説明を省略する。ステップS602で、サーバ100(具体的に、地図情報取得部201)は、車両110の運搬作業の作業場の地図情報を取得する。地図情報の内容及び地図情報の取得方法については上述したため、重複する説明を省略する。ステップS603で、サーバ100(具体的に、グラフ生成部203)は、車両110の運搬作業の作業場を表すグラフを生成する。グラフの生成方法については上述したため、重複する説明を省略する。
 ステップS604~S607を繰り返すことによって、サーバ100は、ステップS601で取得した作業計画に基づいて車両110が移動する経路を計画する。上述したように、複数のエッジに割り当てられる重みは車両110が運搬する物体の重量によって異なりうる。そのため、重みの和が最小となる経路も、車両110が運搬する物体の重量によって異なりうる。そこで、サーバ100は、車両110が運搬する物体の重量が変化するごとに、変化後の重量に基づいて複数のエッジの重みを決定し、この重みに基づいて経路を決定する。そして、このようにして決定された複数の経路(部分経路という)を結合したものが最終的に計画される経路(全体経路という)となる。
 ステップS604で、サーバ100(具体的に、経路決定部205)は、ステップS601で取得した作業計画に基づいて始点及び終点を選択する。図6の方法の実行開始後に最初にステップS601を実行する場合に、サーバ100は、作業開始地点(図3の例では地点301)に対応するノードを始点として選択し、最初の経由地点(図3の例では地点302)に対応するノードを終点として選択する。2回目以降にステップS601を実行する場合に、サーバ100は、前回のループでの終点を始点として選択し、次の作業地点(経由地点又は作業終了地点)を終点として選択する。
 ステップS605で、サーバ100(具体的に、重み決定部204)は、ステップS601で取得した作業計画に基づいて、始点から終点まで移動中に車両110が運搬する物体の重量を決定する。ステップS606で、サーバ100(具体的に、重み決定部204)は、各エッジに重みを割り当てる。重みを割り当てる方法については上述したため、重複する説明を省略する。エッジに割り当てる重みの算出に使用される物体の重量wとして、ステップ505で決定された値が使用される。車両110が運搬する物体の重量が大きくなった場合に、車両110が重量制限によって一部の道を通れなくなりうる。この場合に、サーバ100は、通れなくなった道に対応するエッジの重みを最大値に設定してもよいし、通れなくなった道に対応するエッジをグラフから除去してもよい。ステップS607で、サーバ100(具体的に、経路決定部205)は、始点から終点までの重みの和が最小となる経路(部分経路)を決定する。経路を決定する方法については上述したため、重複する説明を省略する。
 ステップS608で、サーバ100(具体的に、経路決定部205)は、直近に決定した部分経路の終点が作業終了地点に一致するかどうかを判定する。これらが一致すると判定された場合(ステップS608で「YES」の場合)、サーバ100は処理をステップS609に遷移し、それ以外の場合(ステップS608で「NO」の場合)、サーバ100は処理をステップS604に遷移する。
 ステップS609で、サーバ100(具体的に、経路決定部205)は、ステップS604~S607の繰り返しによって決定された複数の部分経路を結合することによって、全体経路を決定する。ステップS610で、サーバ100(具体的に、経路出力部206)は、決定された全体経路を出力する。経路を出力する方法については上述したため、重複する説明を省略する。
 続いて、図7を参照して、物体を運搬可能な車両110が移動する経路を計画するためにサーバ100が実行する別の方法について説明する。図7の方法は、サーバ100のプロセッサ101が、メモリ102に読み出されたプログラムを実行することによって実行されてもよい。図7の方法では、車両110が作業を実行中に、車両110からの情報に基づいてサーバ100が車両110の経路を計画する。
 ステップS701で、サーバ100(具体的に、地図情報取得部201)は、車両110の運搬作業の作業場の地図情報を取得する。地図情報の内容及び地図情報の取得方法については上述したため、重複する説明を省略する。ステップS702で、サーバ100(具体的に、グラフ生成部203)は、車両110の運搬作業の作業場を表すグラフを生成する。グラフの生成方法については上述したため、重複する説明を省略する。
 ステップS703で、サーバ100(具体的に、経路決定部205)は、車両110の現在地及び目的地を取得する。例えば、車両110が自身の現在地及び次の作業地点をサーバ100へ送信し、サーバ100がこの情報を受信する。ステップS704で、サーバ100(具体的に、重み決定部204)は、車両110が運搬する物体の重量を決定する。例えば、車両110が重量センサ113を用いて現在の物体の重量を測定し、その値をサーバ100へ送信し、サーバ100がこの情報を受信する。
 ステップS705で、サーバ100(具体的に、重み決定部204)は、各エッジに重みを割り当てる。重みを割り当てる方法については上述したため、重複する説明を省略する。エッジに割り当てる重みの算出に使用される物体の重量wとして、ステップ604で決定された値が使用される。ステップS706で、サーバ100(具体的に、経路決定部205)は、始点から終点までの重みの和が最小となる経路を決定する。始点として、ステップS702で取得された車両110の現在地が設定される。終点として、ステップS702で取得された車両110の目的地が設定される。経路を決定する方法については上述したため、重複する説明を省略する。
 ステップ607で、サーバ100(具体的に、経路出力部206)は、決定された経路を出力する。経路を出力する方法については上述したため、重複する説明を省略する。具体的に、サーバ100は経路を車両110へ送信してもよい。経路を受信した車両110は、この経路に従って目的地まで移動する。その目的地が作業終了地点でない場合に、車両110は、新たな現在地、新たな目的地、新たな重量を用いてステップS703~S707を実行するようにサーバ100に要求してもよい。
 上述の実施形態では、車両110が自律的に走行する場合について説明した。これに代えて、車両110は人間によって操縦されてもよい。人間による操縦は、車両110の外部からの遠隔操縦であってもよいし、車両110に搭乗した人間による操縦であってもよい。
 上述の実施形態では、サーバ100がステップS503及びS602においてグラフを生成した。これに代えて、サーバ100以外の装置がグラフを生成し、サーバ100が当該装置からグラフを取得(例えば、受信)してもよい。
 上述の実施形態で、サーバ100は、ステップS507及びS606において、エッジの重みの和が最小となる経路を出力したが、決定される経路はこれに限られない。例えば、サーバ100は、重みの和が小さい方から所定の個数(例えば、3個)の経路のうち、移動時間が最小のものを出力してもよい。
 複数の経由地点を通過する順番が規定されていない場合(例えば、複数の経由地点を任意の順番で回って物体を回収し、それらの物体をすべて別の地点まで運搬する場合)に、サーバ100は、複数の経由地点を通過する順番をランダムに決定してもよいし、最終経路が最短となるように複数の経由地点を通過する順番を決定してもよい。
 上述の実施形態では、サーバ100が経路計画装置として機能した。これに代えて、車両110が経路計画装置として機能してもよい。具体的に、車両110が上述の図6又は図7の方法を実行してもよい。
 <実施形態のまとめ>
<項目1>
 物体を運搬可能な機械(110)が移動する経路を計画するための経路計画装置(100)であって、
 複数の地点に対応する複数のノードと、前記複数の地点を接続する複数の道に対応する複数のエッジとを含むグラフ(400)を取得するグラフ取得手段(203))と、
 前記複数のエッジに割り当てる重みを決定する重み決定手段(204)と、
 前記複数のノードから始点及び終点を選択し、前記複数のエッジに割り当てられた前記重みに基づいて前記始点から前記終点までの経路を決定する経路決定手段(205)と、を備え、
 前記重み決定手段は、前記複数のエッジに割り当てる重みを、
  各エッジに対応する道を移動中に前記機械が運搬する物体の重量と、
  各エッジが接続する2つのノードに対応する地点の高低差と、
に少なくとも基づいて決定する、経路計画装置。
 この項目によれば、物体の重量と高低差とに基づいてエッジの重みを決定するため、消費エネルギーが低い経路を適切に計画できる。
<項目2>
 前記重み決定手段は、前記複数のエッジに割り当てる重みを、各エッジが接続する2つのノードに対応する地点の間の距離にさらに基づいて決定する、項目1に記載の経路計画装置。
 この項目によれば、消費エネルギーが低い経路をさらに適切に計画できる。
<項目3>
 前記重み決定手段は、前記複数のエッジに割り当てる重みを、各エッジに対応する道を移動中の前記機械の上限速度にさらに基づいて決定する、項目1又は2に記載の経路計画装置。
 この項目によれば、消費エネルギーが低い経路をさらに適切に計画できる。
<項目4>
 前記重み決定手段は、前記機械の制動距離に関する条件を満たすように前記機械の前記上限速度を決定する、項目3に記載の経路計画装置。
 この項目によれば、消費エネルギーが低い経路をさらに適切に計画できる。
<項目5>
 前記重み決定手段は、前記機械が運搬する物体の重量に基づいて前記上限速度を決定する、項目4に記載の経路計画装置。
 この項目によれば、消費エネルギーが低い経路をさらに適切に計画できる。
<項目6>
 前記機械は、回生ブレーキ機構(116)を有し、
 前記重み決定手段は、前記複数のエッジに割り当てる重みを、前記回生ブレーキ機構によって回収されるエネルギー量にさらに基づいて決定する、項目1乃至5の何れか1項に記載の経路計画装置。
 この項目によれば、消費エネルギーが低い経路をさらに適切に計画できる。
<項目7>
 物体の積み下ろしを行う地点を示す作業計画を取得する計画取得手段(202)をさらに備え、
 前記経路決定手段は、前記作業計画に基づいて前記始点及び前記終点を選択する、項目1乃至6の何れか1項に記載の経路計画装置。
 この項目によれば、経路の始点及び終点を適切に決定できる。
<項目8>
 前記重み決定手段は、前記機械が運搬する物体の重量が変化するごとに、変化後の前記重量に基づいて前記複数のエッジの重みを決定する、項目7に記載の経路計画装置。
 この項目によれば、消費エネルギーが低い経路をさらに適切に計画できる。
<項目9>
 前記複数のエッジに割り当てられた重みを視覚的に示す画像(500)を生成する画像生成手段(207)をさらに備える、項目1乃至8の何れか1項に記載の経路計画装置。
 この項目によれば、エッジに割り当てられた重みを直感的に把握できる。
<項目10>
 前記機械は、車両(110)である、項目1乃至9の何れか1項に記載の経路計画装置。
 この項目によれば、車両の経路を適切に計画できる。
<項目11>
 前記機械は、決定された経路に従って自律的に移動する、項目1乃至10の何れか1項に記載の経路計画装置。
 この項目によれば、消費エネルギーが低い経路を機械が自律的に移動できる。
<項目12>
 コンピュータを項目1乃至11の何れか1項に記載の経路計画装置の各手段として動作させるためのプログラム。
 この項目によれば、プログラムの形態で経路計画装置を提供できる。
 発明は上記の実施形態に制限されるものではなく、発明の要旨の範囲内で、種々の変形・変更が可能である。

Claims (12)

  1.  物体を運搬可能な機械が移動する経路を計画するための経路計画装置であって、
     複数の地点に対応する複数のノードと、前記複数の地点を接続する複数の道に対応する複数のエッジとを含むグラフを取得するグラフ取得手段と、
     前記複数のエッジに割り当てる重みを決定する重み決定手段と、
     前記複数のノードから始点及び終点を選択し、前記複数のエッジに割り当てられた前記重みに基づいて前記始点から前記終点までの経路を決定する経路決定手段と、を備え、
     前記重み決定手段は、前記複数のエッジに割り当てる重みを、
      各エッジに対応する道を移動中に前記機械が運搬する物体の重量と、
      各エッジが接続する2つのノードに対応する地点の高低差と、
    に少なくとも基づいて決定する、経路計画装置。
  2.  前記重み決定手段は、前記複数のエッジに割り当てる重みを、各エッジが接続する2つのノードに対応する地点の間の距離にさらに基づいて決定する、請求項1に記載の経路計画装置。
  3.  前記重み決定手段は、前記複数のエッジに割り当てる重みを、各エッジに対応する道を移動中の前記機械の上限速度にさらに基づいて決定する、請求項1又は2に記載の経路計画装置。
  4.  前記重み決定手段は、前記機械の制動距離に関する条件を満たすように前記機械の前記上限速度を決定する、請求項3に記載の経路計画装置。
  5.  前記重み決定手段は、前記機械が運搬する物体の重量に基づいて前記上限速度を決定する、請求項4に記載の経路計画装置。
  6.  前記機械は、回生ブレーキ機構を有し、
     前記重み決定手段は、前記複数のエッジに割り当てる重みを、前記回生ブレーキ機構によって回収されるエネルギー量にさらに基づいて決定する、請求項1乃至5の何れか1項に記載の経路計画装置。
  7.  物体の積み下ろしを行う地点を示す作業計画を取得する計画取得手段をさらに備え、
     前記経路決定手段は、前記作業計画に基づいて前記始点及び前記終点を選択する、請求項1乃至6の何れか1項に記載の経路計画装置。
  8.  前記重み決定手段は、前記機械が運搬する物体の重量が変化するごとに、変化後の前記重量に基づいて前記複数のエッジの重みを決定する、請求項7に記載の経路計画装置。
  9.  前記複数のエッジに割り当てられた重みを視覚的に示す画像を生成する画像生成手段をさらに備える、請求項1乃至8の何れか1項に記載の経路計画装置。
  10.  前記機械は、車両である、請求項1乃至9の何れか1項に記載の経路計画装置。
  11.  前記機械は、決定された経路に従って自律的に移動する、請求項1乃至10の何れか1項に記載の経路計画装置。
  12.  コンピュータを請求項1乃至11の何れか1項に記載の経路計画装置の各手段として動作させるためのプログラム。
PCT/JP2022/002481 2022-01-24 2022-01-24 経路計画装置 WO2023139796A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/002481 WO2023139796A1 (ja) 2022-01-24 2022-01-24 経路計画装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/002481 WO2023139796A1 (ja) 2022-01-24 2022-01-24 経路計画装置

Publications (1)

Publication Number Publication Date
WO2023139796A1 true WO2023139796A1 (ja) 2023-07-27

Family

ID=87348542

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/002481 WO2023139796A1 (ja) 2022-01-24 2022-01-24 経路計画装置

Country Status (1)

Country Link
WO (1) WO2023139796A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03286210A (ja) * 1990-03-31 1991-12-17 Hazama Gumi Ltd 搬送車両の自動運転システム
JPH11271081A (ja) * 1998-03-24 1999-10-05 Fujitsu Ten Ltd ナビゲーション装置
JP2010101745A (ja) * 2008-10-23 2010-05-06 Denso It Laboratory Inc 経路探索装置、経路探索方法、およびプログラム
JP2012127770A (ja) * 2010-12-15 2012-07-05 Clarion Co Ltd 経路探索方法および装置
JP2018017672A (ja) * 2016-07-29 2018-02-01 ダイムラー・アクチェンゲゼルシャフトDaimler AG 電気トラックの走行ルート選定システム、電気トラックの走行ルート選定方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03286210A (ja) * 1990-03-31 1991-12-17 Hazama Gumi Ltd 搬送車両の自動運転システム
JPH11271081A (ja) * 1998-03-24 1999-10-05 Fujitsu Ten Ltd ナビゲーション装置
JP2010101745A (ja) * 2008-10-23 2010-05-06 Denso It Laboratory Inc 経路探索装置、経路探索方法、およびプログラム
JP2012127770A (ja) * 2010-12-15 2012-07-05 Clarion Co Ltd 経路探索方法および装置
JP2018017672A (ja) * 2016-07-29 2018-02-01 ダイムラー・アクチェンゲゼルシャフトDaimler AG 電気トラックの走行ルート選定システム、電気トラックの走行ルート選定方法

Similar Documents

Publication Publication Date Title
CN110164122B (zh) 用于路口的车辆列队系统控制
US10657804B2 (en) Updating maps and road status
JP6928722B2 (ja) 車両動作のための位置特定の決定
JP6462146B2 (ja) 移動体移動システム及び移動経路選択方法
US11859990B2 (en) Routing autonomous vehicles using temporal data
EP3591339B1 (en) Method, apparatus, and computer program product for generation of a route including multiple waypoints
US11290326B2 (en) Method and apparatus for regulating resource consumption by one or more sensors of a sensor array
US11441913B2 (en) Autonomous vehicle waypoint routing
US20200082303A1 (en) Vehicle allocation method, server, and system
Klein et al. LiDAR and INS fusion in periods of GPS outages for mobile laser scanning mapping systems
WO2023139796A1 (ja) 経路計画装置
US11227502B2 (en) Method and apparatus for dynamically determining a destination of a drone
EP4220079A1 (en) Radar altimeter inertial vertical loop
Ugur et al. Fast and efficient terrain-aware motion planning for exploration rovers
EP4053761A1 (en) Providing access to an autonomous vehicle based on user's detected interest
US20220309521A1 (en) Computing a vehicle interest index
CN115146009A (zh) 信息管理装置、信息管理方法及存储介质
Selloum et al. Lane level positioning using particle filtering
JP5818971B2 (ja) 探索装置、探索管理装置、端末装置及び算出方法
US20230084136A1 (en) Determining and/or enacting aerial vehicle constellations for enabling positioning
US20230286529A1 (en) Systems and methods for dynamic data mining during data collection missions
US20230098688A1 (en) Advanced data fusion structure for map and sensors
US20240159558A1 (en) Systems and Methods for Detecting and Mapping User Location with Vehicle Sensors
WO2013145184A1 (ja) 画像処理装置、画像処理管理装置、端末装置及び画像処理方法
JP5815843B2 (ja) 画像処理装置、画像処理管理装置、端末装置及び画像処理方法

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: 22921953

Country of ref document: EP

Kind code of ref document: A1