WO2020003988A1 - 情報処理装置、移動装置、情報処理システム、および方法、並びにプログラム - Google Patents

情報処理装置、移動装置、情報処理システム、および方法、並びにプログラム Download PDF

Info

Publication number
WO2020003988A1
WO2020003988A1 PCT/JP2019/022880 JP2019022880W WO2020003988A1 WO 2020003988 A1 WO2020003988 A1 WO 2020003988A1 JP 2019022880 W JP2019022880 W JP 2019022880W WO 2020003988 A1 WO2020003988 A1 WO 2020003988A1
Authority
WO
WIPO (PCT)
Prior art keywords
task
task sequence
sequence
mobile device
vehicle
Prior art date
Application number
PCT/JP2019/022880
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 CN201980042037.1A priority Critical patent/CN112334925A/zh
Priority to EP19824787.6A priority patent/EP3816887A4/en
Priority to KR1020207037311A priority patent/KR20210023892A/ko
Priority to US17/253,619 priority patent/US20210166186A1/en
Priority to JP2020527356A priority patent/JPWO2020003988A1/ja
Publication of WO2020003988A1 publication Critical patent/WO2020003988A1/ja

Links

Images

Classifications

    • G06Q50/40
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • G06Q10/047Optimisation of routes or paths, e.g. travelling salesman problem
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/083Shipping
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06316Sequencing of tasks or work
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0637Strategic management or analysis, e.g. setting a goal or target of an organisation; Planning actions based on goals; Analysis or evaluation of effectiveness of goals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/083Shipping
    • G06Q10/0835Relationships between shipper or supplier and carriers
    • G06Q10/08355Routing methods

Definitions

  • the present disclosure relates to an information processing device, a mobile device, an information processing system, a method, and a program. More specifically, information that realizes efficient processing of various processes involving movement, such as a vehicle, a taxi, or a delivery robot that performs delivery of packages, such as collection and delivery of packages, and boarding and dismounting of persons.
  • the present invention relates to a processing device, a mobile device, an information processing system, a method, and a program.
  • a route (arc) connecting a plurality of bases (nodes) and each node is set in a moving range of a mobile device such as a vehicle, and a process of lifting and lowering luggage is performed.
  • a system for calculating a shortest path connecting nodes For example, in Japanese Patent Application Laid-Open No. 2008-230816, an optimal processing sequence is determined by using a database that stores a distance between a departure point node and an arrival point node, a travel time between each node, and the like. The configuration is disclosed.
  • a request for delivery of a new package may be generated while the vehicle delivering the package performs a process according to a certain processing sequence, for example, a package delivery process.
  • a certain processing sequence for example, a package delivery process.
  • the present disclosure has been made in view of, for example, the above-described problem.Even when a new process occurs while a vehicle such as a luggage delivery vehicle is performing a process according to a predetermined processing sequence, the present invention is not It is an object of the present invention to provide an information processing device, a mobile device, an information processing system, a method, and a program that can generate and execute an optimal processing sequence in which a new process is incorporated into a sequence as needed.
  • a first aspect of the present disclosure is: A task sequence in which the movement process between registered nodes set on the movement route of the mobile device and the process at the registered node are described as tasks which are data including a node identifier and a process type, and each task is arranged in time series. , And Based on the generated task sequence, having a task management unit to generate a mobile device corresponding task sequence is a task sequence corresponding to each mobile device, The task management unit includes: A task included in a new additional task sequence generated based on a request that is a processing execution request is inserted into a mobile device corresponding task sequence that is being executed in the mobile device. is there.
  • a second aspect of the present disclosure includes: A mobile device that performs processing according to a mobile device-compatible task sequence that is a mobile device-compatible task sequence,
  • the mobile device corresponding task sequence is a sequence generated in the mobile device or an external server, and for a process of moving between registered nodes set on a moving route of the mobile device and a process of the registered node, A task sequence in which tasks including identifiers and processing types are arranged in chronological order.
  • the moving device When a new additional task sequence occurs, the mobile device executes the updated mobile device corresponding task sequence in which the tasks included in the additional task sequence are inserted into the mobile device corresponding task sequence.
  • a third aspect of the present disclosure includes: An information processing system including a terminal that transmits a request that is a processing execution request, a task management server that receives a request from the terminal, and a mobile device that performs processing.
  • the task management server In response to the request, the process of moving between registered nodes set on the moving route of the mobile device and the process of the registered node are described as tasks which are data including a node identifier and a process type, and each task is described.
  • the moving device An information processing system executes a process according to a task sequence for an updated mobile device having a task included in the additional task sequence.
  • a fourth aspect of the present disclosure includes: An information processing method executed in the information processing apparatus,
  • the task management department A task sequence in which the movement process between registered nodes set on the movement route of the mobile device and the process at the registered node are described as tasks which are data including a node identifier and a process type, and each task is arranged in time series.
  • a mobile device corresponding task sequence generating step of generating a mobile device corresponding task sequence which is a task sequence corresponding to each mobile device.
  • An information processing method for executing a mobile device corresponding task sequence updating process of inserting a task included in a new additional task sequence generated based on a request that is a process execution request into a mobile device corresponding task sequence being executed in the mobile device. is there.
  • a fifth aspect of the present disclosure includes: A program for executing information processing in the information processing apparatus, In the task management department, A task sequence in which the movement process between registered nodes set on the movement route of the mobile device and the process at the registered node are described as tasks which are data including a node identifier and a process type, and each task is arranged in time series.
  • a mobile device corresponding task sequence generating step of generating a mobile device corresponding task sequence that is a task sequence corresponding to each mobile device In the mobile device corresponding task sequence generating step, A program for executing a mobile device corresponding task sequence update process for inserting a task included in a new additional task sequence generated based on a request as a process execution request into a mobile device corresponding task sequence being executed in the mobile device.
  • the program of the present disclosure is, for example, a program that can be provided by a storage medium or a communication medium provided in a computer-readable format to an information processing device or a computer system that can execute various program codes.
  • a program that can be provided by a storage medium or a communication medium provided in a computer-readable format to an information processing device or a computer system that can execute various program codes.
  • processing according to the program is realized on an information processing device or a computer system.
  • system refers to a logical set of a plurality of devices, and is not limited to a device having each component in the same housing.
  • a task sequence in which a node identifier and a processing type of a node are recorded is generated, and the task sequence is dynamically updated according to the occurrence of an additional task, and the mobile device executes the task sequence.
  • This realizes a configuration that enables generation of a task sequence and task processing without waste.
  • a task sequence in which tasks including a node identifier and a processing type are arranged in time series with respect to a movement process between registered nodes and a process at a registered node is generated. Generate the corresponding task sequence.
  • a mobile device corresponding task sequence update process for inserting a task included therein into the existing mobile device corresponding task sequence is executed.
  • a task sequence in which the node identifier and the processing type of the node are recorded is generated, and the task sequence is dynamically updated according to the occurrence of an additional task and the mobile device executes the task sequence.
  • a configuration that enables the generation of a task and task processing is realized. It should be noted that the effects described in this specification are merely examples and are not limited, and may have additional effects.
  • FIG. 11 is a diagram for describing a calculation processing configuration of an optimal sequence using a node and a path between nodes.
  • FIG. 11 is a diagram for describing a calculation processing configuration of an optimal sequence using a node and a path between nodes.
  • FIG. 11 is a diagram for describing a calculation processing configuration of an optimal sequence using a node and a path between nodes.
  • FIG. 11 is a diagram for describing a calculation processing configuration of an optimal sequence using a node and a path between nodes.
  • FIG. 1 is a diagram illustrating a configuration example of an information processing system according to the present disclosure. It is a figure explaining the example of composition of the task management server which calculates the optimal task sequence.
  • FIG. 1 is a diagram illustrating a configuration example of an information processing system according to the present disclosure. It is a figure explaining the example of composition of the task management server which calculates the optimal task sequence.
  • FIG. 1 is a diagram illustrating a configuration example of an information processing system according to
  • FIG. 13 is a diagram illustrating a flowchart illustrating a processing sequence when the task management server receives a task request from a request transmission device such as a user terminal.
  • FIG. 9 is a diagram illustrating a specific example of a task sequence generated by a task management unit.
  • FIG. 4 is a diagram illustrating a specific example of a vehicle-specific task sequence generated by a task management unit.
  • FIG. 8 is a diagram illustrating a detailed sequence of a process in step S103 of the flowchart illustrated in FIG. 7. It is a figure showing the flow chart explaining the processing sequence of the task management server at the time of receiving the task completion notice from the vehicle which performs the vehicle correspondence task sequence. It is a figure explaining the example of a display of the display of a task management server.
  • FIG. 11 is a diagram illustrating a specific example of a process of adding a new task sequence based on a new request to a vehicle-based task sequence being executed by a vehicle and updating the vehicle-based task sequence.
  • FIG. 10 is a flowchart illustrating a processing procedure for inserting an additional task sequence based on a new request into an existing vehicle-specific task sequence. It is a figure explaining the example of the processing which updates the task sequence corresponding to vehicles in consideration of the priority of a task.
  • FIG. 14 is a flowchart illustrating a processing procedure for inserting an additional task sequence based on a new request into an existing vehicle-specific task sequence in consideration of task priority. It is a figure explaining the concrete sequence of the cost matching processing which the task management part of a task management server performs. It is a figure explaining a specific example of cost matching processing.
  • FIG. 3 is a diagram illustrating an example of a hardware configuration of an information processing device.
  • a request for delivery of a new package may be generated while the vehicle delivering the package performs a process according to a certain processing sequence, for example, a package delivery process.
  • a certain processing sequence for example, a package delivery process.
  • FIG. 1 shows a plurality of nodes (P1, P2,... P9) registered in a database (DB) in advance, and a path (arc) connecting these nodes.
  • Nodes P1 to P9 are existing registered nodes whose position information is registered in the DB.
  • the delivery vehicle 10 that delivers the package places a task of loading the package a on the vehicle at the node P1 and carrying it to the destinations A and 11 of the node P9 to which the package is to be delivered, for example, a task management that executes a task management process
  • the server calculates the shortest route from the node P1 to the node P9, and sets a task sequence including a plurality of tasks such as a process of loading / unloading and moving a package.
  • the delivery vehicle 10 executes this task sequence.
  • the task management server calculates a task sequence that completes the process in the shortest time. For example, as shown in FIG. 2, a task sequence is such that a load a is placed on the node P1, moved to the nodes P4, P7, P8, and P9, and unloaded at the destinations A and 11 of the node P9.
  • FIG. 3 shows a state in which the delivery vehicle 10 has loaded the package a at the node P1 and has already moved to the node P4.
  • a new package delivery request is generated. The request is to load the package b at the node P3 and deliver it to the destinations B and 12 of the node P6.
  • the delivery vehicle 10 moves to the nodes P4, P7, P8, and P9 according to the already set task sequence, that is, the route described with reference to FIG. After terminating the task sequence of unloading a, move from node P9 to nodes P6 and P3, load luggage b at node P3, move to node P6, and move luggage b at destinations B and 12 of node P6. If the process of lowering the processing is performed, the overall processing efficiency is greatly reduced.
  • the task sequence updating process of inserting an additional task sequence into the task sequence being executed by the delivery vehicle 10 is executed, and the updated task sequence is executed by the delivery vehicle 10.
  • a new update task sequence as shown in FIG. 4 is generated and executed by the delivery vehicle 10.
  • the delivery vehicle 10 at the node P4 moves to the nodes P5, P2, and P3, places the package b at the node P3, moves to the node P6, and moves to the destinations B and 12 of the node P6.
  • This is a sequence in which the load b is unloaded, and further moved to the node 9 to drop the load a at the destinations A and 11 of the node P9.
  • FIG. 5 is a diagram illustrating a configuration example of an information processing system according to the present disclosure.
  • the information processing system includes a task management server 101 that executes calculation processing of an optimal task sequence and the like, a user terminal 102 of a user who requests various tasks, for example, uses a taxi, and actually executes a task. It has a configuration in which vehicles 103 such as taxis moving on the vehicle are connected by a network 105.
  • the vehicle 103 as a moving device is mainly a taxi or a luggage delivery vehicle.
  • the moving device of the present disclosure is not limited to these taxis and luggage delivery vehicles.
  • various moving means such as a self-propelled robot moving in a factory or an office and a robot with a driver are included.
  • FIG. 5 illustrates the user terminal 102 configured by a smartphone as an example of an apparatus that inputs a task request and transmits the task request to the task management server 101.
  • Any terminal capable of processing and transmission may be used, and may be a personal computer, a tablet, or an information processing device such as a management system provided in a factory or office.
  • the task management server 101 performs the task sequence optimization process, that is, the process of determining the optimum task sequence.
  • the vehicle 103 as a mobile device calculates the optimum task sequence. May be performed.
  • the task management server 101 includes a request processing unit 121, a task management unit 122, a vehicle management unit 123, a communication unit 124, a request DB (database) 131, a task DB 132, a vehicle DB 133, and a map DB 134.
  • the task management server 101 receives various task requests from the user terminal via the communication unit 124.
  • the request processing unit 121 registers the request content of the task request received from the user terminal in the request DB 131 together with the request attribute information such as the terminal ID of the request transmission terminal and the request reception time.
  • the user terminal transmits the specific content of the request, for example, position information and time information of the user terminal along with a task request such as “get on a taxi from the current position”.
  • These processes are executed by the application running on the user terminal. That is, the application generates a packet in which task content, time information, position information, and the like are stored as a payload, and transmits the packet to the task management server 101.
  • the task management unit 122 of the task management server 101 generates a task sequence for executing the request based on the request stored in the request DB 131.
  • the final task sequence generated here is a task sequence for each vehicle that defines which vehicle executes processing and in what order, that is, a vehicle-specific task sequence.
  • a specific example of the task sequence generation processing will be described later in detail.
  • the unit task sequence is referred to as a “mobile device task sequence”.
  • the task sequence generated by the task management unit 122 is stored in the task DB 132.
  • the vehicle management unit 123 manages a vehicle that is a subject of executing a task. For example, in addition to the position of each vehicle, a task status or the like being executed in each vehicle is received from each vehicle via the communication unit 124, and the information is stored in the vehicle DB 133. Further, such information is also provided to the task management unit 122, and the task management unit 122 performs processing such as task assignment to each vehicle based on the information.
  • the map DB 134 stores, in addition to the map data associated with the position information, registration information such as the nodes and the routes (arcs) described above with reference to FIGS.
  • the task management unit 132 generates an optimal task sequence by using the node information stored in the map DB 134 and the nodes added as necessary.
  • the optimal task sequence generated by the task management unit 132 is notified to the vehicle that executes the task sequence, and the vehicle executes processing according to the task sequence.
  • the vehicle executes processing according to the task sequence.
  • the vehicle executes processing according to the task sequence.
  • the task sequence in addition to the process of moving between nodes (move), a process of loading or loading a person or luggage (load), a process of unloading luggage, a process of unloading a person (unload), and a standby process. Each process such as (wait) is also defined.
  • a specific task sequence will be described later in detail.
  • the vehicle transmits task execution status, completion information, position information, and the like to the task management server 101.
  • the task management unit 122 grasps the progress status and completion status of the task according to the information received from the vehicle, and deletes the completed task or task sequence from the task DB 132.
  • the flowchart illustrated in FIG. 7 is a flowchart illustrating a processing sequence when the task management server 101 receives a task request from a request transmitting device such as a user terminal.
  • the processing according to the flowchart described below is performed, for example, by a control unit (data processing unit) having a CPU or the like having a program execution function according to a program stored in a storage unit of an information processing apparatus such as the task management server 101. Performed under control.
  • processing of each step of the flow illustrated in FIG. 7 will be described.
  • Step S101 the task management server 101 receives a task request in step S101.
  • a task request is received from a request transmitting device such as a user terminal via the communication unit 124.
  • the task request is input to the request management unit 121, and the request content of the task request is registered in the request DB 131 together with request attribute information such as the terminal ID of the request transmission terminal and the request reception time.
  • Step S102 Next, in step S102, a new task sequence based on the request is generated. This process is executed by the task management unit 122.
  • step S102 the task management unit 122 divides the task request received in step S101 into, for example, a minimum unit task sequence and generates one or more task sequences.
  • the request is a request received from a request transmission terminal such as a user terminal.
  • a request transmission terminal such as a user terminal.
  • Request “Send packages a, b, and c from P1, a to P2, b to P3, and c to P4, respectively”
  • a request received from a user terminal does not include a node identifier such as P1 to P4, and the node identifier is determined based on position information obtained from the reception request or the like. 121 or the node identifier acquired by the task management unit 122 from the map DB 134.
  • the task management unit 122 first generates a task sequence in step S102 of the flow shown in FIG. 7 in response to this request.
  • step S102 one or more task sequences for executing the request, for example, one or more minimum unit task sequences, are generated.
  • the task management unit 122 Request “Send packages a, b, and c from P1, a to P2, b to P3, and c to P4, respectively”
  • the following three task sequences shown in FIG. 8 (2) are generated as one or more minimum unit task sequences for executing this request.
  • Task sequence 1 load (P1, a), move (P2), unload (P2, a)
  • Task sequence 2 load (P1, b), move (P2), move (P3), unload (P3, b)
  • Task sequence 3 load (P1, c), move (P4), unload (P4, c)
  • Each task sequence is configured as a sequence of task elements such as load (P1, a) and move (P2).
  • load (P1, a) is a task element indicating a process of loading (loading) the package a at the node P1.
  • move (P2) is a task element indicating a process of moving (move) from the current node to the node P2.
  • Unload (P2, a) is a task element indicating a process of unloading the package a at the node P2.
  • the task element is data composed of [processing type (node identifier, processing target)].
  • processing types such as moving (move), lifting / unloading (load), (unload), and waiting (wait) of a person or luggage are set in the processing type.
  • the node identifier is an identifier of a node such as P1, P2. Position information corresponding to these node identifiers is recorded in the map DB 134. It is possible to sequentially register additional nodes that are not registered in the map DB 134 in advance in the map DB 134.
  • the lower part of FIG. 8 is a diagram showing a specific processing example of the three task sequences shown in (2) task sequence in the upper table of FIG.
  • the task sequence 1 load (P1, a), move (P2), unload (P2, a) places the load a on the node P1 (load) and moves to the node P2 ( move), and unloads the package a at the node P2.
  • Task sequence 2 load (P1, b), move (P2), move (P3), unload (P3, b), load luggage b at node P1 (load) and move to node P2 (move) , Is moved to the node P3, and the package b is unloaded at the node P3.
  • Task sequence 3 load (P1, c), move (P4), unload (P4, c), load luggage c at node P1 (load), move to node P4 (move), and load luggage at node P4 This is a sequence for unloading c.
  • step S102 of the flow illustrated in FIG. 7 the task management unit 122 generates one or more minimum unit task sequences for executing the request in response to the received request.
  • step S103 the task management unit 122 converts the new task sequence generated in response to the request in step S102 into a sequence corresponding to the vehicle. This is a process for converting the new task sequence generated in step S102 into a task sequence for each vehicle to be actually executed, that is, a task sequence corresponding to the vehicle.
  • the vehicle is already executing another vehicle corresponding task sequence.
  • a new vehicle corresponding sequence based on the new task sequence is added to the currently executed vehicle corresponding sequence.
  • the processing for updating the vehicle corresponding sequence is performed.
  • a vehicle that can execute the new task sequence at the lowest cost is selected and executed in consideration of the current position of each vehicle, tasks being executed in each vehicle, and the like. I do. Alternatively, the task is executed in consideration of the task priority. Specific processing of the vehicle task sequence based on the cost, that is, cost matching processing and sequence generation processing based on priority, will be described in detail later.
  • FIG. 9 shows the following three data as shown in FIG. (1) Request (2) Task sequence (3) Vehicle-specific task sequence
  • FIG. 9 The lower part of FIG. 9 is a diagram showing details of the two vehicle corresponding task sequences shown in (3) the vehicle corresponding task sequence, that is, the vehicle corresponding task sequences of the vehicle 1 and the vehicle 2.
  • the request (1) shown in the upper table of FIG. 9 is the same as the request described with reference to FIG. 8, and is a request received from a request transmission terminal such as a user terminal.
  • a request transmission terminal such as a user terminal.
  • Request “Send packages a, b, and c from P1, a to P2, b to P3, and c to P4, respectively”
  • the task sequence (2) shown in the upper table of FIG. 9 is the task sequence described above with reference to FIG. 8, and (1) the following three task sequences generated based on the request.
  • Task sequence 1 load (P1, a), move (P2), unload (P2, a)
  • Task sequence 2 load (P1, b), move (P2), move (P3), unload (P3, b)
  • Task sequence 3 load (P1, c), move (P4), unload (P4, c)
  • step S103 of the flow shown in FIG. 7 these three task sequences are assigned to, for example, a vehicle that can be executed at a minimum cost, and a vehicle corresponding task sequence indicating a task sequence to be executed by the vehicle is generated.
  • the result is the two vehicle corresponding sequences shown in FIG. 9 (3) vehicle corresponding task sequence. That is, there are the following two task sequences corresponding to vehicles.
  • Task sequence corresponding to vehicle 1 move (P1), load (P1, a), load (P1, b), move (P2), unload (P2, a), move (P3), unload (P3, b)
  • Task sequence corresponding to vehicle 2 load (P1, c), move (P4), unload (P4, c)
  • the lower part of FIG. 9 is a diagram showing a specific processing example of the task sequence corresponding to the vehicle.
  • the task sequence corresponding to vehicle 1 move (P1), load (P1, a), load (P1, b), move (P2), unload (P2, a), move (P3).
  • Unload (P3, b) the vehicle 1 first moves (move) to the node P1, places the loads a and b on the node P1 (load), moves to the node P2 (move), and moves to the node P2.
  • This is a sequence in which the load a is unloaded (unload), moved to the node P3 (move), and the load b is unloaded (unload) at the node P3. Since the vehicle A is not at the node P1 at the time of the task request, the first task element of the task sequence is set to [move (P1)] to the node P1.
  • the task sequence corresponding to the vehicle 2 load (P1, c), move (P4), unload (P4, c) places the load c on the node P1 (load), moves to the node P4 (move), and moves to the node P4. Is a sequence for unloading the package c.
  • step S103 of the flow illustrated in FIG. 7 the task management unit 122 converts the task sequence generated in step S102 into a task sequence for each vehicle, that is, a vehicle-specific task sequence.
  • the selection of the vehicle and the setting of the processing sequence that enable the most efficient processing are executed.
  • sequence generation processing is performed in consideration of cost and task priority. Specific processing of the vehicle task sequence based on the cost, that is, cost matching processing and sequence generation processing based on priority, will be described in detail later.
  • step S103 the task management unit 122 converts the new task sequence generated in response to the request in step S102 into a vehicle-compatible sequence. This is a process for converting the new task sequence generated in step S102 into a task sequence for each vehicle to be actually executed, that is, a task sequence corresponding to the vehicle.
  • the flow shown in FIG. 10 corresponds to the detailed sequence of step S103. The processing of each step of the flow shown in FIG. 10 will be described.
  • Step S121 First, in step S121, the task management unit 122 acquires a plurality of existing vehicle corresponding task sequences set for each vehicle.
  • step S122 the task management unit 122 calculates a cost when a new task sequence is inserted into each of the acquired task sequences corresponding to the existing vehicles.
  • Step S123 the task management unit 122 inserts the new task sequence into one existing vehicle corresponding task sequence having the minimum cost, and updates the existing vehicle corresponding task sequence.
  • a new vehicle task sequence based on a new task sequence may be generated without inserting a new task sequence into an existing vehicle task sequence.
  • What kind of vehicle task sequence is generated is determined according to cost or task priority. Specific processing of the vehicle task sequence based on the cost, that is, cost matching processing and sequence generation processing based on priority, will be described in detail later.
  • FIG. 11 is a flowchart illustrating a processing sequence of the task management server 101 when a task completion notification is received from the vehicle executing the vehicle-specific task sequence. The processing of each step shown in the flow will be sequentially described.
  • Step S151 First, in step S151, the task management server 101 receives a task completion notification from the vehicle executing the vehicle-specific task sequence.
  • Step S152 the task management unit 122 of the task management server 101 deletes the task whose completion has been reported from the task sequence corresponding to the vehicle registered in the task DB 132.
  • Step S153 the task management unit 122 of the task management server 101 notifies the vehicle of the execution of the new vehicle corresponding task sequence based on the occurrence of the new vehicle corresponding task sequence.
  • the task management server 101 includes an input unit that can be operated by an operator and an output unit such as a display unit that allows the user to check the task status.
  • FIG. 12 shows a display example of the display unit of the task management server 101.
  • the example illustrated in FIG. 12 is an example of display data displayed on the display unit of the task management server 101.
  • the display unit of the task management server 101 current information of each vehicle is displayed in real time.
  • the motion of each vehicle is displayed by animation, and the task currently being executed is displayed.
  • the task sequence that the vehicle is currently executing can be confirmed.
  • Example of baggage delivery using a baggage delivery vehicle Request Delivery of baggage (concentration of pickup location (load concentration), distribution of delivery destinations (scattering of unload), no patrol) (Case 2)
  • Example of using a taxi Request patrol and dispatch (scattering of boarding position (scattering of load), scattering of getting off position (scattering of unload), patrol, calling) (Case 3)
  • Example of a product sales robot that patrols the floor of an office or the like Request patrol and dispatch (performs patrol and responds to calls (no load or unload))
  • FIG. 1 An example of package delivery using a package delivery vehicle will be described.
  • the request is the delivery of the package.
  • This is an example in which the collection positions are concentrated (load concentration) and the delivery destinations are scattered (unload scattered), and the vehicle is a process example in which the vehicle does not perform the process of circulating through each node.
  • FIG. 13 shows the following three data. (1) Request (2) Task sequence (3) Vehicle-specific task sequence
  • the request is, for example, a request received from a request transmission terminal such as a user terminal.
  • the request is the following request.
  • Request “Send packages a, b, and c from P1, a to P2, b to P3, and c to P4, respectively”
  • P1 to P4 a request received from a user terminal does not include node identifiers such as P1 to P4.
  • the node identifier is a node identifier acquired from the map DB 134 by the request processing unit 121 or the task management unit 122 based on position information obtained from a reception request or the like.
  • Task sequence 1 load (P1, a), move (P2), unload (P2, a)
  • Task sequence 2 load (P1, b), move (P2), move (P3), unload (P3, b)
  • Task sequence 3 load (P1, c), move (P4), unload (P4, c)
  • Task sequence 1 load (P1, a), move (P2), unload (P2, a), load luggage a at node P1 (load), move to node P2 (move), and load luggage at node P2 This is a sequence for unloading a.
  • Task sequence 2 load (P1, b), move (P2), move (P3), unload (P3, b), load luggage b at node P1 (load) and move to node P2 (move) , Is moved to the node P3, and the package b is unloaded at the node P3.
  • Task sequence 3 load (P1, c), move (P4), unload (P4, c), load luggage c at node P1 (load), move to node P4 (move), and load luggage at node P4 This is a sequence for unloading c.
  • the task management unit 122 of the task management server 101 assigns these three task sequences to a vehicle that can be executed at a minimum cost, and generates a vehicle corresponding task sequence indicating a task sequence to be executed by the vehicle.
  • the result is the following two vehicle corresponding task sequences shown in FIG. 13 (3) vehicle corresponding task sequence.
  • Task sequence corresponding to vehicle 1 move (P1), load (P1, a), load (P1, b), move (P2), unload (P2, a), move (P3), unload (P3, b)
  • Task sequence corresponding to vehicle 2 load (P1, c), move (P4), unload (P4, c)
  • Vehicle 1 corresponding task sequence move (P1), load (P1, a), load (P1, b), move (P2), unload (P2, a), move (P3), unload (P3, b)
  • the vehicle 1 moves to the node P1 (move), places the loads a and b on the node P1 (load), moves to the node P2 (move), and unloads the load a at the node P2 (unload).
  • This is a sequence of moving (move) to the node P3 and unloading the package b at the node P3. Since the vehicle A is not at the node P1 at the time of the task request, the first task element of the task sequence is set to [move (P1)] to the node P1.
  • the task sequence corresponding to the vehicle 2 load (P1, c), move (P4), unload (P4, c) places the load c on the node P1 (load), moves to the node P4 (move), and moves to the node P4. Is a sequence for unloading the package c.
  • the task management server 101 generates a task sequence based on the request, and further generates a vehicle-specific task sequence that is a task sequence to be executed by each vehicle based on the generated task sequence.
  • FIG. 2 An example using a taxi will be described.
  • Requests are patrol and dispatch. This is an example of processing in a case where the boarding positions are scattered (load scatter), the disembarkation positions are scattered (unload scatter), there is patrol, and there is a call.
  • FIG. 14 shows the following three data as in FIG. (1) Request (2) Task sequence (3) Vehicle-specific task sequence
  • the request is a predetermined “tour” and a “vehicle allocation” as a request received from a request transmission terminal such as a user terminal.
  • the “allocation” request is the following request.
  • Request "Get on a from P1 and get off at P2"
  • the node identifier is a node identifier acquired from the map DB 134 by the request processing unit 121 or the task management unit 122 based on position information obtained from a reception request or the like.
  • the task management unit 122 of the task management server 101 In response to the request, the task management unit 122 of the task management server 101 generates one or more minimum unit task sequences for executing the request.
  • the following two task sequences shown in FIG. 14 (2) are generated.
  • Task sequence 2 (for dispatch) load (P1, a), move (P2), unload (P2, a)
  • the task management unit 122 of the task management server 101 allocates these two task sequences to a vehicle that can be executed at a minimum cost, and generates a vehicle-related task sequence indicating a task sequence to be executed by the vehicle.
  • the result is the following two vehicle-specific task sequences shown in FIG. 14 (3) Vehicle-specific task sequence.
  • Task sequence corresponding to vehicle 1 move (P1), load (P1, a), move (P2), unload (P2, a), move (P3), move (P4), ...
  • Task sequence corresponding to vehicle 2 move (P11), move (P12), ...
  • the two vehicle task sequences will be described. As shown in the lower part of FIG. 15, both the vehicle 1 and the vehicle 2 were patrol, but since the dispatch task (task sequence 2) occurred, the dispatch task (task sequence 2) was performed by any of the vehicles. It needs to be inserted into the vehicle task sequence.
  • the vehicle 1 is currently at P6 and is in a state before moving to P7 according to the patrol task.
  • the vehicle 2 is at P11 and is in a state before moving to P12 according to the patrol task.
  • a task sequence corresponding to dispatch is inserted into the task sequence corresponding to vehicle 1.
  • the task sequence corresponding to the vehicle 1 shown in the upper table of FIG. 15 move (P1), load (P1, a), move (P2), unload (P2, a), move (P3), move (P4), Are generated.
  • the vehicle 1 Vehicle 1 corresponding task sequence move (P1), load (P1, a), move (P2), unload (P2, a), move (P3), move (P4),.
  • Task sequence 2 (for dispatch) load (P1, a), move (P2), unload (P2, a)
  • the vehicle 1 executes a new vehicle corresponding task sequence generated by updating the vehicle corresponding task sequence.
  • the task management server 101 generates a task sequence based on the request, and further generates a vehicle-specific task sequence that is a task sequence to be executed by each vehicle based on the generated task sequence.
  • the request is a patrol and a dispatch.
  • the request is an example of a process in which the patrol is executed in a normal time and the call is sequentially made to the calling point in response to the generated call.
  • FIG. 16 shows data during execution of the normal cyclic processing before the occurrence of a call, and the lower part shows data after the occurrence of a call, each of which shows the following three data.
  • Request (2) Task sequence
  • Vehicle-specific task sequence
  • the task management unit 122 of the task management server 101 assigns the task sequence to the vehicle, and generates a vehicle corresponding task sequence indicating a task sequence to be executed by the vehicle.
  • the result is the following vehicle corresponding task sequence shown in (3) Vehicle corresponding task sequence in the upper table of FIG.
  • Task sequence corresponding to vehicle 1 move (P2), move (P3), move (P4), ...
  • Request call from point P13
  • the task management unit 122 of the task management server 101 assigns the task sequence 2 to the vehicle, and generates a vehicle corresponding task sequence indicating a task sequence to be executed by the vehicle.
  • the result is the following vehicle corresponding task sequence shown in (3)
  • this vehicle-specific task sequence will be described. As shown in the lower part of FIG. 17, it is assumed that the vehicle 12 is traveling, the current location is P1, and the vehicle is scheduled to travel in the order of P2 to P3 to P4.
  • the task sequence corresponding to the vehicle at this time is as shown in the upper part (3a) of FIG.
  • Task sequence corresponding to vehicle 1 move (P2), move (P3), move (P4), ... This is the task sequence for the vehicle 1.
  • the task management server receives the following request.
  • Request call from point P13
  • the task management unit 122 of the task management server 101 inserts a task sequence for executing the task of the above-described calling process into the above-described task sequence corresponding to the vehicle 1.
  • An updated task sequence corresponding to vehicle 1 is generated.
  • Vehicle corresponding task sequence in the upper part of FIG. Task sequence corresponding to vehicle 1 move (P2), move (P7), move (P8), move (P13), move (P14), ...
  • the move (P2), move (P7), move (P8), and move (P13) in the vehicle corresponding task sequence indicate the movement of the shortest route from the current position (P1) to P13 of the traveling vehicle 1. It is an element to do.
  • the task management server 101 immediately generates a task sequence in response to a new request, and further generates a vehicle-specific task sequence, which is a task sequence to be executed by each vehicle, based on the generated task sequence. .
  • FIG. 18 shows the following data. (1) Task sequence for existing vehicles (2) Additional task sequence
  • the existing vehicle corresponding task sequence is a vehicle corresponding support sequence that the vehicle 1 is currently executing.
  • the additional task sequence is a task sequence generated based on a new request, and the task management unit 122 of the task management server 101 converts this (2) additional task sequence into (1) an existing vehicle task sequence. Perform the insertion process.
  • a process of adding an additional task sequence to an existing vehicle corresponding task sequence that is, a procedure of a vehicle corresponding task sequence update process will be described.
  • the task elements of the existing vehicle task sequence and the additional task sequence are sequentially changed.
  • (1) Existing vehicle task sequence task sequence A
  • (2) Additional task sequence task sequence B
  • Task sequence for existing vehicles load (P1, luggage 1), move (P6), move (P7), move (P8), move (P13), unload (P13, luggage 1)
  • Additional task sequence load (P1, luggage 2), move (P2). move (P3). move (P4), move (P9), move (P10), unload (P10, luggage 2)
  • the task sequence corresponding to the existing vehicle is a task sequence in which the load 1 is loaded (load) at P1, moved to P6, P7, P8, and P13, and unloaded at P13.
  • the additional task sequence is a task sequence in which the baggage 2 is loaded (load) at P1, moved to P2, P3, P4, P9, and P10, and unloaded at P10.
  • an element having a position that matches the element position (Pn) is sequentially searched from the head element of the existing vehicle task sequence in order from the head element of the additional task sequence. Insert additional task sequence elements after elements that match. The inserted task element is deleted from (2) the additional task sequence.
  • the element of the existing vehicle task sequence having a position matching the position (P1) of the head element load (P1, luggage 2) of the additional task sequence is the head element load (P1, luggage 1) of the existing vehicle task sequence. . Therefore, the head element load (P1, luggage 2) of the additional task sequence is inserted after the head element load (P1, luggage 1) of the existing vehicle task sequence.
  • step S202 is sequentially executed for all the task elements included in the additional task sequence. In this process, when there are no more elements included in the additional task sequence, the process ends. If the task element remains, the process of step S203 shown in FIG. 21 is executed.
  • step S203 of FIG. 21 the process shown in step S203 of FIG. 21 is performed. That is, when there is no element having a position that matches the position (Pn) of the element of the additional task sequence in the existing vehicle task sequence, a necessary route is added after the last element of the existing vehicle task sequence, and the additional task sequence is added. Insert an element.
  • Task element unload (P13, luggage 1)
  • Task element after this move (P14), move (P15), move (P10), unload (P10, package 2)
  • move (P14), move (P15), move (P10) these are the elements added as necessary routes
  • unload (P10, luggage 2) is the original element. Elements remaining during the additional task sequence.
  • a final updated vehicle task sequence is completed as shown in FIG.
  • the packages 1 and 2 are loaded at P1, moved to P6, P7, P8, and P13, and the package 1 is unloaded at P13 (unload). ), And moves to P14, P15, P10, and unloads the package 2 at P10.
  • This update task sequence is a task sequence that can execute the original existing vehicle task sequence and the new additional task sequence together.
  • FIG. 23 The processing described with reference to FIGS. 18 to 22, that is, the processing procedure for inserting an additional task sequence based on a new request into an existing vehicle task sequence will be described with reference to the flowchart shown in FIG.
  • the flowchart illustrated in FIG. 23 is executed by the task management unit 122 of the task management server 101.
  • A task sequence for existing vehicles
  • B additional task sequence
  • A a1, a2, a3,... An from the head of the task element of the existing vehicle task sequence
  • B b1, b2, b3,. Bm
  • Step S301 First, in step S301, all the move task elements (move task elements) are deleted from the task elements of the additional task sequence B.
  • the task elements of the task sequence B after the deletion are b1, b2,... Bl. This processing corresponds to the processing described above with reference to FIG.
  • This processing corresponds to the processing described above with reference to FIG.
  • Step S308 Next, in step S308, j> l A determination process is performed according to the above determination formula. This is a process of determining whether an unprocessed element remains in the additional task sequence B after the move task element has been deleted. If the above determination formula is not satisfied, it is determined that an unprocessed task element remains, and the process returns to step S304. If the above determination formula is satisfied, it is determined that there is no unprocessed task element, and the process ends.
  • Step S313 If the determination formula of step S312 is satisfied and it is determined that no subsequent task element remains in the existing vehicle corresponding task sequence A, the process of step S313 is executed.
  • This processing corresponds to the processing described above with reference to FIG.
  • Step S315) Next, in step S315, j> l A determination process is performed according to the above determination formula. This is a process of determining whether an unprocessed element remains in the additional task sequence B after the move task element has been deleted. If the above determination formula is not satisfied, it is determined that an unprocessed task element remains, and the process returns to step S304. If the above determination formula is satisfied, it is determined that there is no unprocessed task element, and the process ends.
  • FIG. 24 shows the following data. (1) Task sequence for existing vehicles (2) Additional task sequence
  • the existing vehicle corresponding task sequence is a vehicle corresponding support sequence that the vehicle 1 is currently executing.
  • the additional task sequence is a task sequence generated based on a new request, and the task management unit 122 of the task management server 101 converts this (2) additional task sequence into (1) an existing vehicle task sequence. Perform the insertion process.
  • task sequence corresponding to existing vehicle task sequence A
  • Additional task sequence task sequence B
  • the priority information (pri) is set in the task elements (load, unload) for loading / unloading the package.
  • These task elements mean a process of loading the package 1 at P1 and a process of unloading the package at P13, and further indicate that the priority of these tasks is 1.
  • These task elements mean a process of placing the package 2 at P1 and a process of unloading the package at P10, and further indicate that the priority of these tasks is 10.
  • Each task sequence is the following sequence as shown in FIG. (1)
  • the task sequence corresponding to the existing vehicle is a task sequence in which the load 1 is loaded (load) at P1, moved to P6, P7, P8, and P13, and unloaded at P13.
  • the additional task sequence is a task sequence in which the baggage 2 is loaded (load) at P1, moved to P2, P3, P4, P9, and P10, and unloaded at P10.
  • raising and lowering the luggage 2 in the additional task sequence has a higher priority than raising and lowering the luggage 1 in the task sequence corresponding to the existing vehicle.
  • step S401 in FIG. 25 the move task element (move task element) is deleted from the additional task sequence.
  • the additional task sequence is changed as follows.
  • step S402 in FIG. 26 elements having a priority lower than the priority (pri) of the element are searched in order from the head element of the existing vehicle task sequence in order from the head element of the additional task sequence. , Insert additional task elements before the detected element. In addition, necessary routes are inserted. The inserted task element is deleted from (2) the additional task sequence.
  • step S403 of FIG. 27 the processing shown in step S403 of FIG. 27 is performed. That is, an element of the task sequence corresponding to the vehicle being updated and a path element between elements adjacent to the inserted element of the additional task sequence are additionally inserted.
  • steps S402 to S403 are sequentially executed for all the task elements included in the additional task sequence.
  • Task element move (P5). move (P4). move (P3), move (P2), move (P1),
  • These task elements are the path elements additionally inserted in step S403. That is, the path element between the element of the task sequence corresponding to the vehicle being updated and the element adjacent to the element of the added additional task sequence.
  • the final updated vehicle task sequence is completed as shown in FIG.
  • the task sequence further moves to P5, P4, P3, P2, and P1, places the package 1 at P1, moves to P6, P7, P8, and P13, and unloads the package 1 at P13 (unloading). .
  • This update task sequence is a task sequence that can execute the original existing vehicle task sequence and the new additional task sequence together.
  • FIG. 29 is a flowchart showing the processing described with reference to FIGS. 24 to 28, that is, the processing procedure of inserting an additional task sequence based on a new request into an existing vehicle-compatible task sequence in consideration of task priority. This will be described with reference to FIG. The flowchart illustrated in FIG. 29 is executed by the task management unit 122 of the task management server 101.
  • A task sequence for existing vehicles
  • B additional task sequence
  • A a1, a2, a3,... An from the head of the task element of the existing vehicle task sequence
  • B b1, b2, b3,.
  • Step S501 First, in step S501, all the move task elements (move task elements) are deleted from the task elements of the additional task sequence B.
  • the task elements of the task sequence B after the deletion are b1, b2,... Bl. This processing corresponds to the processing described above with reference to FIG.
  • step S504 A task element of the task sequence B (moving task element) in which the move task element (moving task element) is deleted from the priority (pri) next to (next to ai ) the task element t selected in order from the top of the existing vehicle corresponding task sequence A It is determined whether the priority (pri) of b j ) is high. If it is higher, the process proceeds to step S511. If not, the process proceeds to step S505.
  • Step S509 j> l
  • a determination process is performed according to the above determination formula. This is a process of determining whether an unprocessed element remains in the additional task sequence B after the move task element has been deleted. If the above determination formula is not satisfied, it is determined that an unprocessed task element remains, and the process returns to step S504. If the above determination formula is satisfied, it is determined that there is no unprocessed task element, and the process ends.
  • a task element (b j ) of the task sequence B is added. This process is the process described above with reference to FIG.
  • Step S514 Next, in step S514, j> l A determination process is performed according to the above determination formula. This is a process of determining whether an unprocessed element remains in the additional task sequence B after the move task element has been deleted. If the above determination formula is not satisfied, it is determined that an unprocessed task element remains, and the process returns to step S504. If the above determination formula is satisfied, it is determined that no unprocessed task element remains, and the process proceeds to step S515.
  • This process is the process described above with reference to FIG.
  • Step S523 When the determination formula of step S522 is satisfied and it is determined that no subsequent task element remains in the existing vehicle corresponding task sequence A, the process of step S523 is executed.
  • Step S525) Next, in step S525, j> l A determination process is performed according to the above determination formula. This is a process of determining whether an unprocessed element remains in the additional task sequence B after the move task element has been deleted. If the above determination formula is not satisfied, it is determined that an unprocessed task element remains, and the process returns to step S523. If the above determination formula is satisfied, it is determined that there is no unprocessed task element, and the process ends.
  • a new additional task sequence is added to the existing vehicle corresponding task sequence according to the rule of executing the higher priority task first, and one updated vehicle corresponding task is performed.
  • a task sequence can be generated.
  • the task management unit 122 of the task management server 101 determines, for example, when a new request occurs, based on the request, in step S102 of the flow in FIG. 7. After generating the minimum unit task sequence, in step S103, the task sequence is allocated to a vehicle that can be executed with the minimum cost of the task sequence, and a vehicle corresponding task sequence indicating a task sequence to be executed by the vehicle is generated.
  • step S103 of the flow illustrated in FIG. 7 the task management unit 122 converts the task sequence generated in step S102 into a task sequence for each vehicle, that is, a vehicle-specific task sequence.
  • the selection of the vehicle and the setting of the processing sequence that enable the most efficient processing are executed.
  • sequence generation processing is performed in consideration of cost and task priority.
  • a specific process of the vehicle task sequence based on the cost, that is, a specific example of the cost matching process will be described.
  • the task management unit 122 performs a process in the order of steps S601 to S603 shown in FIG. 30, determines a vehicle that can be executed with the minimum task sequence cost, and generates a vehicle corresponding task sequence to be executed by the vehicle.
  • Step S601 indicates a problem that is raised when a new task sequence based on a new request is generated. That is, The question is which vehicle task sequence to add a new task sequence to.
  • a specific method for solving this problem is the matching cost calculation processing shown in step S602.
  • the matching cost calculation process is executed in the following procedure as shown in step S602 in FIG.
  • the matching cost is calculated by a weighted linear combination of the following three cost values.
  • the matching cost is calculated by a weighted linear combination of the three cost values. That is, the matching cost (cost) is calculated by the following (Equation 1).
  • cost w add ⁇ cost add + w dis ⁇ cost dis + w now ⁇ cost now ...
  • Equation 1 w add is a weight (multiplication parameter) for cost add
  • w dis is a weight (multiplication parameter) for cost dis
  • w now is a weight (multiplication parameter) for cost now , It is.
  • step S602 according to the above (Equation 1), a matching cost (cost) when an additional task sequence is additionally inserted into the vehicle corresponding task sequence set for each vehicle at the present time, that is, a matching cost corresponding to each vehicle is calculated.
  • step S103 the vehicle having the minimum matching cost is selected as a target to be added to the newly added task sequence.
  • the task management unit 122 of the task management server 101 determines a vehicle to which a new task sequence is assigned and a vehicle corresponding task sequence to be added by such cost matching processing.
  • FIG. 31 shows the following data.
  • Additional task sequence (A) Vehicle-specific task sequence for vehicle A (B) Vehicle-specific task sequence for vehicle B
  • Additional task sequence is an additional task sequence generated based on a new request. It is necessary to assign this additional task sequence to the car A or the car B.
  • the task management unit 122 of the task management server 101 calculates the matching cost described with reference to FIG. It is determined to which side the additional task sequence is assigned to reduce the cost, and the additional task sequence is inserted into the vehicle corresponding task sequence of the vehicle with lower cost.
  • Additional task sequence load (P1, luggage X), move (P2). move (P3). move (P4), move (P9), move (P10), unload (P10, baggage X) This is a task sequence in which the baggage X is mounted at P1, moved to P2, P3, P4, P9, and P10, and unloaded at P10.
  • Vehicle corresponding task sequence of car A move (P3), move (P4), move (P5), unload (P5, luggage A) move to P3, P4, P5, and move luggage A at P5. This is the task sequence to unload.
  • (B) Vehicle corresponding task sequence of car B move (P12), unload (P12, luggage B), move (P11), load (P11, luggage C), move (P6), unload (P6, luggage C) , P12, unload luggage B at P12, move to P11, unload luggage C at P11, move to P6, and unload luggage C at P6.
  • the vehicle corresponding task sequence of the vehicle A is also the vehicle corresponding task sequence of the vehicle A described with reference to FIG. Vehicle A is at the position P2 as shown in the lower part of FIG.
  • An additional task sequence that is, an additional task sequence shown in (1) of the table of FIG. 32 is added to the task sequence corresponding to the current vehicle of the vehicle A, that is, the task sequence of the vehicle A shown in (A) of the table of FIG. Then, as shown in (a1) of the table of FIG. 32, the task sequence for the vehicle A is updated as follows.
  • the task sequence corresponding to the vehicle A after update move (P3), move (P4), move (P5), unload (P5, luggage A), move (P4), move (P3), move (P2) ), Move (P1), load (P1, luggage X), move (P2). move (P3). move (P4), move (P9), move (P10), unload (P10, baggage X)
  • the baggage A moves from P2 to P3, P4, and P5, unloads the baggage A at P5, then moves to P4, P3, P2, and P1, and moves to P1.
  • the cost add (increased cost) of the vehicle A is calculated. This processing will be described. Assume that the speed of car A is 40 km.
  • cost dis (current load handling cost) (the center of gravity of the load and unload points of the task currently held and the average distance between the load and unload points to be added) ⁇ (average speed of the vehicle) It is. (The center of gravity of the load and unload points of the task currently held) will be described.
  • (A) Vehicle corresponding task sequence of car A move (P3), move (P4), move (P5), unload (P5, luggage A) move to P3, P4, P5, and move luggage A at P5.
  • the cost dis (current load-bearing cost) of the car A can be calculated according to the following equation, as shown in FIG. 33 (a2).
  • Cost dis (current load handling cost) of car A (the center of gravity of the load and unload points of the task currently held and the average distance between the load and unload points to be added)
  • cost now (the cost corresponding to the current task) of the car A will be described.
  • cost now (current task cost) total time cost until the currently held task sequence ends.
  • the task sequence currently held is (A) the vehicle-related task sequence of the A car shown in FIGS.
  • the task sequence for the vehicle A move (P3), move (P4), move (P5), unload (P5, luggage A). That is, the task sequence moves to P3, P4, and P5, and unloads the package A at P5.
  • the current task sequence has three moves between adjacent nodes with a move task of 10 km, and one load / unload operation (load or unload).
  • the matching cost is calculated by a weighted linear combination of the three cost values. That is, the matching cost (cost) is calculated by the following (Equation 1).
  • cost w add ⁇ cost add + w dis ⁇ cost dis + w now ⁇ cost now ...
  • Equation 1 w add is a weight (multiplication parameter) for cost add
  • w dis is a weight (multiplication parameter) for cost dis
  • w now is a weight (multiplication parameter) for cost now , It is.
  • the matching cost (cost) of the vehicle A when the additional task sequence shown in FIG. 33 (1) is added to the current task sequence corresponding to the vehicle A shown in FIG. 33 (A) is calculated according to the above (Formula A). Is 4.225.
  • the vehicle corresponding task sequence of the vehicle B is also the vehicle corresponding task sequence of the vehicle B described with reference to FIG.
  • the car B is at the position P13 as shown in the lower part of FIG.
  • An additional task sequence ie, an additional task sequence shown in (1) of the table of FIG. 34, is added to the task sequence corresponding to the current vehicle of the vehicle B, ie, the task sequence of the vehicle B shown in (B) of the table of FIG. Then, as shown in (b1) of the table in FIG. 34, the task sequence for the vehicle B is updated as follows.
  • Vehicle-specific task sequence of car B after update move (P12), unload (P12, luggage B), move (P11), load (P11, luggage C), move (P6), unload (P6, luggage) C) move (P1), load (P1, luggage X), move (P2). move (P3). move (P4), move (P9), move (P10), unload (P10, baggage X)
  • the baggage C moves from P13 to P12 and P11, unloads the baggage C at P11, then moves to P6 and P1, and loads the baggage X at P1. Thereafter, the task sequence moves to P2, P3, P4, P9, and P10, and unloads the baggage X at P10.
  • the vehicle corresponding task sequence after the update of the vehicle B shown in (b1) Using these data, the cost add (increased cost) of the vehicle B is calculated. This processing will be described. Assume that the speed of the car B is 40 km.
  • cost dis (current load-bearing cost) (the center of gravity of the load and unload points of the task currently held and the average distance between the load and unload points to be added) ⁇ (average speed of the vehicle) It is. (The center of gravity of the load and unload points of the task currently held) will be described.
  • (B) Vehicle corresponding task sequence of car B move (P12), unload (P12, luggage B), move (P11), load (P11, luggage C), move (P6), unload (P6, luggage C) , P12, unload luggage B at P12, move to P11, unload luggage C at P11, move to P6, unload luggage C at P6.
  • load The unload task is an unload (P12, package B), load (P11, package C), unload (P6, package C), and these three tasks.
  • the center of gravity of the load and unload points of the task currently held is the position of the center of gravity of three points P12, P11, and P6, as shown in the lower map of FIG. .67).
  • the cost dis (current load-bearing cost) of the vehicle B can be calculated according to the following equation, as shown in FIG. 35 (b2).
  • cost now (current task cost) total time cost until the currently held task sequence ends.
  • the task sequence currently held is the (B) vehicle-corresponding task sequence of vehicle B shown in FIGS.
  • Task sequence for vehicle B move (P12), unload (P12, luggage B), move (P11), load (P11, luggage C), move (P6), unload (P6, luggage C) to P12
  • This task sequence currently has three moves between adjacent nodes with a move task of 10 km, and three unloads (load or unload).
  • the time required for loading / unloading (loading or unloading) one time is 0.2 h.
  • the matching cost is calculated by a weighted linear combination of the three cost values. That is, the matching cost (cost) is calculated by the following (Equation 1).
  • cost w add ⁇ cost add + w dis ⁇ cost dis + w now ⁇ cost now ...
  • Equation 1 w add is a weight (multiplication parameter) for cost add
  • w dis is a weight (multiplication parameter) for cost dis
  • w now is a weight (multiplication parameter) for cost now , It is.
  • the matching cost (cost) of the vehicle B when the additional task sequence shown in FIG. 35 (1) is added to the current task sequence corresponding to the vehicle B shown in FIG. 35 (B) is calculated according to the above (Formula B). Is 3.93.
  • the matching cost (cost) described above with reference to FIGS. 32 and 33 is a value calculated according to (Formula A) described above and is 4.225, and the matching cost (cost) of the car B is , A is smaller than the matching cost (cost) of the car A.
  • the easy management unit 122 of the task management server 101 executes a process of allocating the additional task sequence to the vehicle B having a low matching cost based on the result.
  • the matching cost calculation process was performed with such settings.
  • weighting factors can be set variously depending on the situation. For example, it is preferable to perform a learning process based on data such as weather and traffic conditions, and to set an optimal parameter (weight coefficient) based on the learning result.
  • FIG. 36 shows five types of setting examples of the weight coefficient corresponding to each cost, that is, the following setting examples.
  • the matching cost is as follows as shown in FIG.
  • the time calculated as the cost required for the loading process (load) and the unloading process (unload) is uniformly set to 0.2 h.
  • the time cost reflecting the weight of the baggage is reflected. May be set.
  • FIG. 37 is a diagram illustrating a hardware configuration example of the information processing apparatus.
  • a CPU (Central Processing Unit) 301 functions as a data processing unit that executes various processes according to a program stored in a ROM (Read Only Memory) 302 or a storage unit 308. For example, the processing according to the sequence described in the above embodiment is executed.
  • a RAM (Random Access Memory) 303 stores programs executed by the CPU 301, data, and the like.
  • the CPU 301, the ROM 302, and the RAM 303 are interconnected by a bus 304.
  • the CPU 301 is connected to an input / output interface 305 via a bus 304.
  • the input / output interface 305 includes an input including various switches, a keyboard, a touch panel, a mouse, a microphone, and a status data acquisition unit such as a sensor, a camera, and a GPS.
  • An output unit 307 including a unit 306, a display, a speaker, and the like is connected.
  • the CPU 301 inputs a command, status data, and the like input from the input unit 306, executes various types of processing, and outputs a processing result to, for example, the output unit 307.
  • the storage unit 308 connected to the input / output interface 305 includes, for example, a hard disk and stores programs executed by the CPU 301 and various data.
  • the communication unit 309 functions as a transmission / reception unit for data communication via a network such as the Internet or a local area network, and communicates with an external device.
  • the drive 310 connected to the input / output interface 305 drives a removable medium 311 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory such as a memory card to record or read data.
  • a removable medium 311 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory such as a memory card to record or read data.
  • the technology disclosed in the present specification can have the following configurations.
  • (1) The process of moving between registered nodes set on the moving route of the mobile device and the process of the registered node are described as tasks which are data including a node identifier and a process type, and the tasks are arranged in chronological order.
  • Task sequence and Based on the generated task sequence, having a task management unit to generate a mobile device corresponding task sequence is a task sequence corresponding to each mobile device,
  • the task management unit includes: An information processing apparatus for executing a mobile device corresponding task sequence update process of inserting a task included in a new additional task sequence generated based on a request as a process execution request into a mobile device corresponding task sequence being executed in the mobile device.
  • the task management unit includes: Based on a request that is a processing execution request, generate one or more task sequences for executing the request, The information processing device according to (1), wherein the generated task sequence is assigned to one or more mobile devices to generate a mobile device-compatible task sequence corresponding to the mobile device.
  • the task management unit includes: The information processing device according to (1) or (2), which generates a mobile device-compatible task sequence with a minimum processing cost.
  • the task management unit includes: The information processing apparatus according to any one of (1) to (3), which generates a task that distinguishes a transfer process, a process of loading a package or a person, a process of unloading a package or a person, and a standby process.
  • the task management unit includes: In the mobile device corresponding task sequence update process, The moving process is deleted from the new additional task sequence generated based on the request that is the process execution request, the execution node position of other processes, and the node of each task in the mobile device corresponding task sequence being executed on the mobile device.
  • the information processing apparatus according to any one of (1) to (4), wherein a task other than the movement processing in the additional task sequence is inserted into a position adjacent to a task having a matching node position by comparing the position with the position.
  • the task management unit includes: In the mobile device corresponding task sequence update process, The information processing apparatus according to (5), wherein a movement task for moving between a node position of the insertion task and a node position of a task adjacent to the insertion task is inserted.
  • the task management unit includes: A matching cost corresponding to each mobile device is calculated according to a predetermined cost calculation algorithm, and a mobile device to which a task sequence is to be assigned is determined based on the calculated matching cost corresponding to each mobile device (1) to (6).
  • An information processing device according to any one of claims 1 to 3.
  • the task management unit includes: (A) cost add , which is an increase in processing time caused by adding a task sequence to each mobile device, (B) cost dis , which is the load handling cost in the mobile device handling task at the present time, (C) the current task cost cost now corresponding to the time until the current mobile device task sequence ends,
  • cost add which is an increase in processing time caused by adding a task sequence to each mobile device
  • cost dis which is the load handling cost in the mobile device handling task at the present time
  • C the current task cost cost now corresponding to the time until the current mobile device task sequence ends
  • the information processing apparatus according to (7), wherein the matching cost is calculated by an arithmetic process based on each of the costs (a), (b), and (c).
  • the task management unit includes: The information processing apparatus according to (8), wherein the matching cost is calculated by multiplying each of the costs (a), (b), and (c) by a predetermined weighting factor and adding each multiplication result.
  • the task management unit includes: The information processing device according to any one of (1) to (10), wherein a mobile device to which a task sequence is assigned is determined based on task priority.
  • the task management unit includes: The information processing apparatus according to any one of (1) to (11), which generates a task in which priority information is recorded for each task.
  • a mobile device that executes processing according to a mobile device-compatible task sequence that is a task sequence corresponding to the mobile device,
  • the mobile device corresponding task sequence is a sequence generated in the mobile device or an external server, and for a process of moving between registered nodes set on a moving route of the mobile device and a process of the registered node, A task sequence in which tasks including identifiers and processing types are arranged in chronological order.
  • the moving device A mobile device that executes an updated mobile device corresponding task sequence in which a task included in the new additional task sequence is inserted into the mobile device corresponding task sequence when a new additional task sequence occurs.
  • the mobile device corresponding task sequence includes: The mobile device according to (13), wherein the mobile device is a sequence generated according to a processing cost or a task priority based on one or more task sequences generated to execute a request that is a process execution request.
  • An information processing system including a terminal that transmits a request that is a processing execution request, a task management server that receives a request from the terminal, and a mobile device that performs processing.
  • the task management server In response to the request, the process of moving between registered nodes set on the moving route of the mobile device and the process of the registered node are described as tasks which are data including a node identifier and a process type, and each task is described.
  • a task included in the new additional task sequence generated based on the request that is the processing execution request is inserted into the mobile device corresponding task sequence being executed in the mobile device to generate an updated mobile device corresponding task sequence,
  • the moving device An information processing system that performs processing according to a task sequence for an updated mobile device having a task included in the additional task sequence.
  • the task management department A task sequence in which the movement process between registered nodes set on the movement route of the mobile device and the process at the registered node are described as tasks which are data including a node identifier and a process type, and each task is arranged in time series.
  • a mobile device corresponding task sequence generating step An information processing method for executing a mobile device corresponding task sequence update process of inserting a task included in a new additional task sequence generated based on a request as a process execution request into a mobile device corresponding task sequence being executed in the mobile device.
  • a program for causing an information processing device to execute information processing In the task management department, A task sequence in which the movement process between registered nodes set on the movement route of the mobile device and the process at the registered node are described as tasks which are data including a node identifier and a process type, and each task is arranged in time series.
  • a mobile device corresponding task sequence generating step of generating a mobile device corresponding task sequence that is a task sequence corresponding to each mobile device In the mobile device corresponding task sequence generating step, A program for executing a mobile device corresponding task sequence update process for inserting a task included in a new additional task sequence generated based on a request as a process execution request into a mobile device corresponding task sequence being executed in the mobile device.
  • the series of processes described in the specification can be executed by hardware, software, or a combination of both.
  • the program recording the processing sequence is installed in a memory of a computer built in dedicated hardware and executed, or the program is stored in a general-purpose computer capable of executing various processing. It can be installed and run.
  • the program can be recorded in a recording medium in advance.
  • the program can be received via a network such as a LAN (Local Area Network) or the Internet and installed on a recording medium such as a built-in hard disk.
  • a system is a logical set configuration of a plurality of devices, and is not limited to a device having each configuration in the same housing.
  • the task sequence in which the node identifier and the processing type of the node are recorded is generated, and the task sequence is dynamically updated according to the occurrence of the additional task.
  • the mobile device By causing the mobile device to execute the task sequence, a configuration that enables generation of a task sequence and task processing without waste is realized.
  • a task sequence in which tasks including a node identifier and a processing type are arranged in time series with respect to a movement process between registered nodes and a process at a registered node is generated. Generate the corresponding task sequence.
  • a mobile device corresponding task sequence update process for inserting a task included therein into the existing mobile device corresponding task sequence is executed.
  • a task sequence in which the node identifier and the processing type of the node are recorded is generated, and the task sequence is dynamically updated according to the occurrence of an additional task and the mobile device executes the task sequence.

Abstract

ノードのノード識別子と処理種類を記録したタスクシーケンスを生成し、さらに追加タスクの発生に応じて動的にタスクシーケンスを更新して移動装置に実行させることで、無駄のないタスクシーケンスの生成とタスク処理を可能とする。登録ノード間の移動処理と登録ノードでの処理について、ノード識別子と処理種類を含むタスクを時系列に並べたタスクシーケンスを生成し、さらに、各移動装置対応の移動装置対応タスクシーケンスを生成する。新たな追加タスクシーケンスが発生した場合、そこに含まれるタスクを既存の移動装置対応タスクシーケンスに挿入する移動装置対応タスクシーケンス更新処理を実行する。

Description

情報処理装置、移動装置、情報処理システム、および方法、並びにプログラム
 本開示は、情報処理装置、移動装置、情報処理システム、および方法、並びにプログラムに関する。さらに詳細には、荷物の配送行う車両やタクシー、あるいは配送ロボット等、移動を伴う様々な処理、例えば荷物の集荷や配送、人の乗車や降車等の処理を効率的に行うことを実現する情報処理装置、移動装置、情報処理システム、および方法、並びにプログラムに関する。
 荷物や人を運ぶ車両やタクシー、あるいは、工場やオフィス等で自動走行する配送ロボット等は、様々な位置に移動して移動先で荷物や人、その他の物品の上げ下ろしを行う。このような処理を行う場合、移動経路の設定や、移動とその他の処理、例えば荷物や人の上げ下ろし等の処理のシーケンスをどのように設定するかによって効率が大きく異なってくる。
 例えば、経路探索を伴う処理の最適化システムとして、車両等の移動装置の移動範囲に複数の拠点(ノード)と各ノードを接続する経路(アーク)を設定し、荷物の上げ下ろし等の処理を行うノード間を結ぶ最短経路を算出するシステムがある。
 例えば特許文献1(特開2008-230816号公報)には、出発地点ノード
と到着地点ノードとノード間の距離、各ノード間の移動時間等を格納したデータベースを用いて最適な処理シーケンスを決定する構成を開示している。
 しかし、例えば、荷物の配送を行う車両が、ある一つの処理シーケンスに従った処理、例えば荷物配送処理を実行中に新たな荷物の配送リクエストが発生することがある。このような場合、実行中の処理シーケンスを完了した後、新たな荷物の配送を開始すると、処理効率が著しく低下する場合がある。
特開2008-230816号公報
 本開示は、例えば上記問題点に鑑みてなされたものであり、荷物配送車等の車両が予め決定された処理シーケンスに従った処理を実行中に新たな処理が発生した場合でも、実行中のシーケンスに新たな処理を組み入れた最適な処理シーケンスを、随時、生成して実行可能とした情報処理装置、移動装置、情報処理システム、および方法、並びにプログラムを提供することを目的とする。
 本開示の第1の側面は、
 移動装置の移動経路上に設定された登録ノード間の移動処理と、登録ノードでの処理について、ノード識別子と処理種類を含むデータであるタスクとして記述し、各タスクを時系列に並べたタスクシーケンスを生成し、さらに、
 生成したタスクシーケンスに基づいて、各移動装置対応のタスクシーケンスである移動装置対応タスクシーケンスを生成するタスク管理部を有し、
 前記タスク管理部は、
 処理実行要求であるリクエストに基づいて生成した新たな追加タスクシーケンスに含まれるタスクを、移動装置において実行中の移動装置対応タスクシーケンスに挿入する移動装置対応タスクシーケンス更新処理を実行する情報処理装置にある。
 さらに、本開示の第2の側面は、
 移動装置対応のタスクシーケンスである移動装置対応タスクシーケンスに従った処理を実行する移動装置であり、
 前記移動装置対応タスクシーケンスは、前記移動装置、または外部サーバにおいて生成されたシーケンスであり、前記移動装置の移動経路上に設定された登録ノード間の移動処理と、登録ノードでの処理について、ノード識別子と処理種類を含むタスクを時系列に並べたタスクシーケンスであり、
 前記移動装置は、
 新たな追加タスクシーケンスが発生した場合、該追加タスクシーケンスに含まれるタスクを前記移動装置対応タスクシーケンスに挿入した更新移動装置対応タスクシーケンスを実行する移動装置にある。
 さらに、本開示の第3の側面は、
 処理実行要求であるリクエストを送信する端末と、前記端末からリクエストを受信するタスク管理サーバと、処理を実行する移動装置を有する情報処理システムであり、
 前記タスク管理サーバは、
 前記リクエストに応じて、前記移動装置の移動経路上に設定された登録ノード間の移動処理と、登録ノードでの処理について、ノード識別子と処理種類を含むデータであるタスクとして記述し、各タスクを時系列に並べた各移動装置対応のタスクシーケンスである移動装置対応タスクシーケンスを生成するとともに、
 処理実行要求であるリクエストに基づいて生成した新たな追加タスクシーケンスに含まれるタスクを移動装置において実行中の移動装置対応タスクシーケンスに挿入して更新移動装置対応タスクシーケンスを生成し、
 前記移動装置は、
 前記追加タスクシーケンスに含まれるタスクを有する更新移動装置対応タスクシーケンスに従って処理を実行する情報処理システムにある。
 さらに、本開示の第4の側面は、
 情報処理装置において実行する情報処理方法であり、
 タスク管理部が、
 移動装置の移動経路上に設定された登録ノード間の移動処理と、登録ノードでの処理について、ノード識別子と処理種類を含むデータであるタスクとして記述し、各タスクを時系列に並べたタスクシーケンスを生成するタスクシーケンス生成ステップと、
 生成したタスクシーケンスに基づいて、各移動装置対応のタスクシーケンスである移動装置対応タスクシーケンスを生成する移動装置対応タスクシーケンス生成ステップを実行し、
 前記移動装置対応タスクシーケンス生成ステップにおいて、
 処理実行要求であるリクエストに基づいて生成した新たな追加タスクシーケンスに含まれるタスクを、移動装置において実行中の移動装置対応タスクシーケンスに挿入する移動装置対応タスクシーケンス更新処理を実行する情報処理方法にある。
 さらに、本開示の第5の側面は、
 情報処理装置において情報処理を実行させるプログラムであり、
 タスク管理部に、
 移動装置の移動経路上に設定された登録ノード間の移動処理と、登録ノードでの処理について、ノード識別子と処理種類を含むデータであるタスクとして記述し、各タスクを時系列に並べたタスクシーケンスを生成させるタスクシーケンス生成ステップと、
 生成したタスクシーケンスに基づいて、各移動装置対応のタスクシーケンスである移動装置対応タスクシーケンスを生成させる移動装置対応タスクシーケンス生成ステップを実行させ、
 前記移動装置対応タスクシーケンス生成ステップにおいて、
 処理実行要求であるリクエストに基づいて生成した新たな追加タスクシーケンスに含まれるタスクを、移動装置において実行中の移動装置対応タスクシーケンスに挿入する移動装置対応タスクシーケンス更新処理を実行させるプログラムにある。
 なお、本開示のプログラムは、例えば、様々なプログラム・コードを実行可能な情報処理装置やコンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、情報処理装置やコンピュータ・システム上でプログラムに応じた処理が実現される。
 本開示のさらに他の目的、特徴や利点は、後述する本開示の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
 本開示の一実施例の構成によれば、ノードのノード識別子と処理種類を記録したタスクシーケンスを生成し、さらに追加タスクの発生に応じて動的にタスクシーケンスを更新して移動装置に実行させることで、無駄のないタスクシーケンスの生成とタスク処理を可能とする構成が実現される。
 具体的には、例えば、登録ノード間の移動処理と登録ノードでの処理について、ノード識別子と処理種類を含むタスクを時系列に並べたタスクシーケンスを生成し、さらに、各移動装置対応の移動装置対応タスクシーケンスを生成する。新たな追加タスクシーケンスが発生した場合、そこに含まれるタスクを既存の移動装置対応タスクシーケンスに挿入する移動装置対応タスクシーケンス更新処理を実行する。
 本構成により、ノードのノード識別子と処理種類を記録したタスクシーケンスを生成し、さらに追加タスクの発生に応じて動的にタスクシーケンスを更新して移動装置に実行させることで、無駄のないタスクシーケンスの生成とタスク処理を可能とする構成が実現される。
 なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、また付加的な効果があってもよい。
ノードとノード間経路を用いた最適シーケンスの算出処理構成について説明する図である。 ノードとノード間経路を用いた最適シーケンスの算出処理構成について説明する図である。 ノードとノード間経路を用いた最適シーケンスの算出処理構成について説明する図である。 ノードとノード間経路を用いた最適シーケンスの算出処理構成について説明する図である。 本開示の情報処理システムの一構成例を示す図である。 最適タスクシーケンスの算出を行うタスク管理サーバの構成例について説明する図である。 タスク管理サーバがユーザ端末等のリクエスト送信装置からタスクリクエストを受信した際の処理シーケンスを説明するフローチャートを示す図である。 タスク管理部が生成するタスクシーケンスの具体例について説明する図である。 タスク管理部が生成する車両対応タスクシーケンスの具体例について明する図である。 図7に示すフローチャートのステップS103の処理の詳細シーケンスについて説明する図である。 車両対応タスクシーケンスを実行する車両からのタスク完了通知を受信した際のタスク管理サーバの処理シーケンスを説明するフローチャートを示す図である。 タスク管理サーバの表示部の表示例について説明する図である。 荷物配送車両を利用した荷物配送例におけるリクエストおよびタスクシーケンスついて説明する図である。 タクシーを利用した例におけるリクエストおよびタスクシーケンスついて説明する図である。 タクシーを利用した例における車両対応タスクシーケンスついて説明する図である。 オフィス等のフロア内を巡回する商品販売ロボットの例におけるリクエストおよびタスクシーケンスついて説明する図である。 オフィス等のフロア内を巡回する商品販売ロボットの例における車両対応タスクシーケンスついて説明する図である。 車両で実行中の車両対応タスクシーケンスに新規リクエストに基づく新規タスクシーケンスを追加して車両対応タスクシーケンスを更新する処理の具体例について説明する図である。 (1)既存車両対応タスクシーケンスに、(2)追加タスクシーケンスを追加する処理手順について説明する図である。 (1)既存車両対応タスクシーケンスに、(2)追加タスクシーケンスを追加する処理手順について説明する図である。 (1)既存車両対応タスクシーケンスに、(2)追加タスクシーケンスを追加する処理手順について説明する図である。 (1)既存車両対応タスクシーケンスに、(2)追加タスクシーケンスを追加する処理手順について説明する図である。 既存の車両対応タスクシーケンスに新たなリクエストに基づく追加タスクシーケンスを挿入する処理手順について説明するフローチャートを示す図である。 タスクの優先度を考慮して車両対応タスクシーケンスを更新する処理の具体例について説明する図である。 タスク優先度を考慮して(1)既存車両対応タスクシーケンスに、(2)追加タスクシーケンスを追加する処理手順について説明する図である。 タスク優先度を考慮して(1)既存車両対応タスクシーケンスに、(2)追加タスクシーケンスを追加する処理手順について説明する図である。 タスク優先度を考慮して(1)既存車両対応タスクシーケンスに、(2)追加タスクシーケンスを追加する処理手順について説明する図である。 タスク優先度を考慮して(1)既存車両対応タスクシーケンスに、(2)追加タスクシーケンスを追加する処理手順について説明する図である。 タスクの優先度を考慮して、既存の車両対応タスクシーケンスに新たなリクエストに基づく追加タスクシーケンスを挿入する処理手順について説明するフローチャートを示す図である。 タスク管理サーバのタスク管理部が実行するコストマッチング処理の具体的シーケンスについて説明する図である。 コストマッチング処理の具体例について説明する図である。 コストマッチング処理の具体例について説明する図である。 コストマッチング処理の具体例について説明する図である。 コストマッチング処理の具体例について説明する図である。 コストマッチング処理の具体例について説明する図である。 コストマッチング処理の具体例について説明する図である。 情報処理装置のハードウェア構成例について説明する図である。
 以下、図面を参照しながら本開示の情報処理装置、移動装置、情報処理システム、および方法、並びにプログラムの詳細について説明する。なお、説明は以下の項目に従って行なう。
 1.ノードとノード間経路を用いた最適シーケンスの算出と問題点について
 2.本開示の情報処理システムと情報処理装置の構成例について
 3.タスク管理サーバの実行するタスク管理処理について
 4.リクエストに基づくタスクシーケンス、および車両対応タスクシーケンスの具体例について
 5.車両で実行中の車両対応タスクシーケンスに新規リクエストに基づく新規タスクシーケンスを追加して車両対応タスクシーケンスを更新する処理の具体例について
 6.タスクの優先度を考慮した車両対応タスクシーケンスの更新処理の具体例について
 7.どの車両対応タスクシーケンスに新規タスクシーケンスを追加挿入するかを決定するためのコストマッチング処理の詳細について
 8.情報処理装置の構成例について
 9.本開示の構成のまとめ
  [1.ノードとノード間経路を用いた最適シーケンスの算出と問題点について]
 まず、図1以下を参照して、ノードとノード間経路を用いた最適シーケンスの算出と問題点について説明する。
 先に説明したように経路探索を伴う処理の最適化システムとして、車両等の移動装置の移動範囲に複数の拠点(ノード)と各ノードを接続する経路(アーク)を設定したデータをデータベース等の記憶部に格納し、このデータ(登録データ)を用いて、例えば人や荷物の上げ下ろし等の処理を行うノードを結ぶ最短経路を算出するシステムが知られている。
 しかし、例えば、荷物の配送を行う車両が、ある一つの処理シーケンスに従った処理、例えば荷物配送処理を実行中に新たな荷物の配送リクエストが発生することがある。このような場合、実行中の処理シーケンスを完了した後、新たな荷物の配送を開始すると、処理効率が著しく低下する場合がある。
 具体例について図1以下を参照して説明する。図1には、予めデータベース(DB)に登録された複数のノード(P1,P2,・・・P9)と、これら各ノード間を接続する経路(アーク)を示している。ノードP1~P9は位置情報がDBに登録されている既存の登録ノードである。
 荷物を配送する配送車両10が、ノードP1において荷物aを車両に載せて、荷物配送先であるノードP9の目的地A,11に運ぶタスクが発生した場合、例えばタスク管理処理を実行するタスク管理サーバは、ノードP1からノードP9までの最短ルートを計算し、荷物の上げ下ろし処理と移動処理等の複数のタスクからなるタスクシーケンスを設定する。配送車両10は、このタスクシーケンスを実行する。
 タスク管理サーバは、最も短時間で処理が完了するようなタスクシーケンスを算出する。例えば、図2に示すように、ノードP1で荷物aを載せて、ノードP4,P7,P8,P9と移動して、ノードP9の目的地A,11で荷物を降ろすといったタスクシーケンスである。
 しかし、配送車両10がこのタスクシーケンスを実行中に、新たな荷物の配送リクエストが発生することがある。このような場合、実行中の処理シーケンスを完了した後、新たな荷物の配送を開始すると、処理効率が著しく低下する場合がある。
 具体例を図3に示す。
 図3は、配送車両10が荷物aをノードP1で載せて、既にノードP4に移動した状態である。この状態で、新たな荷物の配送リクエストが発生する。ノードP3で、荷物bを載せて、ノードP6の目的地B,12に届けるというリクエストである。
 ここで、配送車両10が、既に設定済みのタスクシーケンス、すなわち、図2を参照して説明したルートに従ってノードP4,P7,P8,P9と移動して、ノードP9の目的地A,11で荷物aを降ろすというタスクシーケンスを終了させた後、ノードP9からノードP6,P3と移動して、ノードP3で荷物bを載せて、ノードP6へ移動してノードP6の目的地B,12で荷物bを降ろすという処理を行うと、全体の処理効率が大きく低下してしまう。
 本開示の処理では、このような場合、配送車両10が実行中のタスクシーケンスに、追加タスクシーケンスを挿入するタスクシーケンス更新処理を実行して、更新後のタスクシーケンスを配送車両10に実行させる。
 具体的には、例えば図4に示すような新たな更新タスクシーケンスを生成して配送車両10に実行させる。
 図4に示すタスクシーケンスは、ノードP4にいる配送車両10がノードP5,P2,P3と移動し、ノードP3で荷物bを載せて、ノードP6に移動し、ノードP6の目的地B,12で荷物bを降ろし、さらに、ノード9へ移動してノードP9の目的地A,11で荷物aを降ろすというシーケンスである。
 本開示の処理では、このように車両が所定のタスクシーケンスを実行中であっても、随時、新たなリクエストに応じた新規タスクが発生した場合、その新規タスクを実行中のタスクシーケンスに組み込んだ新たな更新タスクシーケンスを生成して車両に実行させる。このような処理を行うことで無駄のない処理を行うことが可能となる。
  [2.本開示の情報処理システムと情報処理装置の構成例について]
 次に、本開示の情報処理システムと情報処理装置の構成例について説明する。
 図5は、本開示の情報処理システムの一構成例を示す図である。
 情報処理システムは、最適タスクシーケンスの算出処理等を実行するタスク管理サーバ101と、様々なタスクのリクエスト、例えばタクシーの利用等を行うユーザのユーザ端末102、さらに実際にタスクを実行、例えばユーザを載せて移動するタクシー等の車両103がネットワーク105によって接続された構成を持つ。
 なお、以下において説明する実施例では、移動装置としての車両103を主にタクシー、あるいは荷物配送車両とした例について説明するが、本開示の移動装置は、これらタクシーや荷物配送車に限らず、例えば工場やオフィスを移動する自走式ロボット、運転手付きロボット等、様々な移動手段が含まれる。
 また、図5には、タスクのリクエストを入力し、タスク管理サーバ101に送信する装置の一例としてスマホによって構成されるユーザ端末102を示しているが、タスクリクエストの送信装置は、タスクリクエストの入力処理や送信が可能な端末であればよく、パソコンやタブレット、さらに、工場やオフィスに備え付けられた管理システム等の情報処理装置であってもよい。
 また、以下において説明する例では、タスク管理サーバ101がタスクシーケンスの最適化処理、すなわち最適タスクシーケンスを決定する処理を行うものとして説明するが、移動装置である車両103がこの最適タスクシーケンスの算出を行う構成としてもよい。
 次に、図6を参照して、最適タスクシーケンスの算出を行う情報処理装置、すなわち本実施例ではタスク管理サーバ101の構成例について説明する。
 図6に示すように、タスク管理サーバ101は、リクエスト処理部121、タスク管理部122、車両管理部123、通信部124、リクエストDB(データベース)131、タスクDB132、車両DB133、地図DB134を有する。
 タスク管理サーバ101は、ユーザ端末から様々なタスクリクエストを、通信部124を介して受信する。
 リクエスト処理部121は、ユーザ端末から受信したタスクリクエストのリクエスト内容をリクエスト送信端末の端末IDやリクエスト受信時間等のリクエスト属性情報とともにリクエストDB131に登録する。なお、ユーザ端末からは、リクエストの具体的内容、例えば、「現在位置からのタクシー乗車」等のタスクリクエストに併せてユーザ端末の位置情報や時間情報が送信される。これらの処理は、ユーザ端末で実行中のアプリケーションが実行する。すなわちアプリケーションは、タスク内容や時間情報、位置情報等をペイロードとして格納したパケットを生成してタスク管理サーバ101に送信する。
 タスク管理サーバ101のタスク管理部122は、リクエストDB131に格納されたリクエストに基づいて、そのリクエストを実行するためのタスクシーケンスを生成する。
 ここで生成する最終的なタスクシーケンスは、どの車両がどのような順番で処理を実行するかを規定した車両単位のタスクシーケンス、すなわち車両対応タスクシーケンスである。このタスクシーケンスの生成処理の具体例については、後段で詳細に説明する。
 なお、以下では車両を利用した実施例について説明するため、「車両対応タスクシーケンス」として説明するが、本開示の処理は、車両以外のロボット等、様々な移動装置に適用可能であり、移動装置単位のタスクシーケンスを「移動装置対応タスクシーケンス」と呼ぶ。
 タスク管理部122の生成したタスクシーケンスはタスクDB132に格納される。
 車両管理部123は、タスクの実行主体となる車両を管理する。例えば各車両の位置の他、各車両で実行中のタスク状況等を各車両から通信部124を介して受信し、これらの情報を車両DB133に格納する。さらにこれらの情報は、タスク管理部122も提供され、タスク管理部122は、これらの情報に基づいて、各車両に対するタスク割り当て等の処理を行う。
 地図DB134には、位置情報が対応付けられた地図データの他、さらに、先に図1~図4を参照して説明したノード、経路(アーク)等の登録情報が格納されている。
 タスク管理部132は、この地図DB134に格納されたノード情報、さらに必要に応じて追加したノードを利用して最適タスクシーケンスを生成する。
 タスク管理部132の生成した最適タスクシーケンスは、このタスクシーケンスを実行する車両に通知され、車両はそのタスクシーケンスに従った処理を実行する。なお、前述したようにタスクシーケンスには、ノード間の移動(move)処理の他、人や荷物の搭載処理や乗車処理(load),荷物の降ろし処理や人の降車処理(unload)、さらに待機(wait)等の各処理も規定される。具体的なタスクシーケンスについては後段で詳細に説明する。
 車両はタスクの実行状況、完了情報、位置情報等をタスク管理サーバ101に送信する。
 タスク管理部122は、これらの車両からの受信情報に応じて、タスクの進行状況、完了状況を把握し、完了したタスクやタスクシーケンスをタスクDB132から削除する。
  [3.タスク管理サーバの実行するタスク管理処理について]
 次に、図7以下を参照してタスク管理サーバ101の実行するタスク管理処理について説明する。
 図7に示すフローチャートは、タスク管理サーバ101がユーザ端末等のリクエスト送信装置からタスクリクエストを受信した際の処理シーケンスを説明するフローチャートである。
 なお、以下において説明するフローチャートに従った処理は、例えばタスク管理サーバ101等の情報処理装置の記憶部に格納されたプログラムに従って、プログラム実行機能を有するCPU等を有する制御部(データ処理部)の制御下で実行される。
 以下、図7に示すフローの各ステップの処理について説明する。
  (ステップS101)
 まず、タスク管理サーバ101は、ステップS101において、タスクリクエストを受信する。ユーザ端末等のリクエスト送信装置から通信部124を介してタスクリクエストを受信する。
 タスクリクエストは、リクエスト管理部121に入力され、タスクリクエストのリクエスト内容をリクエスト送信端末の端末IDやリクエスト受信時間等のリクエスト属性情報とともにリクエストDB131に登録される。
  (ステップS102)
 次に、ステップS102において、リクエストに基づく新規のタスクシーケンスを生成する。
 この処理は、タスク管理部122が実行する。
 タスク管理部122は、ステップS102において、ステップS101で受信したタスクリクエストを、例えば最小単位のタスクシーケンスに分割して1つ以上のタスクシーケンスを生成する。
 図8を参照してタスク管理部122が生成するタスクシーケンスの具体例について説明する。
 図8上段の表には、以下の3つのデータを示している。
 (1)リクエスト
 (2)タスクシーケンス
 (3)車両対応タスクシーケンス
 (1)リクエストは、ユーザ端末等のリクエスト送信端末から受信したリクエストである。ここでは、以下のリクエストを例として示している。
 リクエスト=「P1から荷物a,b,cを、それぞれ、aをP2、bをP3、cをP4に送る」
 なお、実際には、例えばユーザ端末から受信するリクエストには、P1~P4等のノード識別子は含まれておらず、このノード識別子は、受信リクエスト等から得られる位置情報に基づいて、リクエスト処理部121、またはタスク管理部122が地図DB134から取得したノード識別子である。
 タスク管理部122は、まずこのリクエストに応じて、図7に示すフローのステップS102においてタスクシーケンスを生成する。ステップS102では、リクエストを実行するための1つ以上のタスクシーケンス、例えば1つ以上の最小単位のタスクシーケンスを生成する。
 タスク管理部122は、
 リクエスト=「P1から荷物a,b,cを、それぞれ、aをP2、bをP3、cをP4に送る」
 このリクエストを実行するための1つ以上の最小単位のタスクシーケンスとして、図8(2)に示す以下の3つのタスクシーケンスを生成する。
 タスクシーケンス1=load(P1,a),move(P2),unload(P2,a)
 タスクシーケンス2=load(P1,b),move(P2),move(P3),unload(P3,b)
 タスクシーケンス3=load(P1,c),move(P4),unload(P4,c)
 各タスクシーケンスは、load(P1,a)やmove(P2)等のタスク要素の列として構成される。
 load(P1,a)は、ノードP1で荷物aを載せる(load)する処理を示すタスク要素である。
 move(P2)は、現ノードからノードP2へ移動(move)する処理を示すタスク要素である。
 unload(P2,a)は、ノードP2で荷物aを降ろす(unload)する処理を示すタスク要素である。
 タスク要素は、[処理種類(ノード識別子、処理対象)]これらの構成からなるデータである。処理種類には、先に説明したように、移動(move)、人や荷物の上げ下ろし(load),(unload)、さらに待機(wait)等の処理種類が設定される。
 ノード識別子は、P1,P2等のノードの識別子である。これらのノード識別子に対応する位置情報は地図DB134に記録されている。予め地図DB134に登録されていない追加ノードについても逐次、地図DB134に登録する処理が可能である。
 図8の下部の図は、図8上段の表の(2)タスクシーケンスに示す3つのタスクシーケンスの具体的な処理例を示した図である。
 この図から理解されるように、タスクシーケンス1=load(P1,a),move(P2),unload(P2,a)は、ノードP1で荷物aを載せて(load)、ノードP2に移動(move)して、ノードP2で荷物aを降ろす(unload)シーケンスである。
 タスクシーケンス2=load(P1,b),move(P2),move(P3),unload(P3,b)は、ノードP1で荷物bを載せて(load)、ノードP2に移動(move)して、さらにノードP3に移動(move)して、ノードP3で荷物bを降ろす(unload)シーケンスである。
 タスクシーケンス3=load(P1,c),move(P4),unload(P4,c)は、ノードP1で荷物cを載せて(load)、ノードP4に移動(move)して、ノードP4で荷物cを降ろす(unload)シーケンスである。
 図7に示すフローのステップS102では、このように、タスク管理部122が、受信リクエストに応じて、リクエストを実行するための1つ以上の最小単位のタスクシーケンスを生成する。
  (ステップS103)
 次に、タスク管理部122は、ステップS103において、ステップS102でリクエストに応じて生成した新規タスクシーケンスを、車両対応シーケンスに変換する。
 これは、ステップS102で生成した新規タスクシーケンスを、実際に実行する車両単位のタスクシーケンス、すなわち車両対応タスクシーケンスに変換する処理である。
 なお、既に車両が他の車両対応タスクシーケンスを実行中の場合もあり、このような場合は、その実行中の車両対応シーケンスに、新規タスクシーケンスに基づく新規の車両対応シーケンスを追加して、既存の車両対応シーケンスを更新する処理を行うことになる。
 この車両対応タスクシーケンスの生成や更新処理に際しては、各車両の現在位置や、各車両において実行中のタスク等を考慮して、最も低コストに新規タスクシーケンスを実行可能な車両を選択して実行する。あるいはタスクの優先度を考慮して実行する。
 このコストに基づく車両対応タスクシーケンスの具体的な処理、すなわちコストマッチング処理や優先度に基づくシーケンス生成処理については後段で詳細に説明する。
 タスク管理部122がステップS103において生成する車両対応タスクシーケンスの具体例について、図9を参照して説明する。
 図9の上段の表は、図8に示すと同様、以下の3つのデータを示している。
 (1)リクエスト
 (2)タスクシーケンス
 (3)車両対応タスクシーケンス
 図9の下部の図は、(3)車両対応タスクシーケンスに示す2つの車両対応タスクシーケンス、すなわち車両1、車両2の車両対応タスクシーケンスの詳細を示した図である。
 図9上段の表に示す(1)リクエストは、図8を参照して説明したリクエストと同じであり、ユーザ端末等のリクエスト送信端末から受信したリクエストである。ここでは、以下のリクエストを例として示している。
 リクエスト=「P1から荷物a,b,cを、それぞれ、aをP2、bをP3、cをP4に送る」
 図9上段の表に示す(2)タスクシーケンスは、先に図8を参照して説明したタスクシーケンスであり、(1)リクエストに基づいて生成された以下の3つのタスクシーケンスである。
 タスクシーケンス1=load(P1,a),move(P2),unload(P2,a)
 タスクシーケンス2=load(P1,b),move(P2),move(P3),unload(P3,b)
 タスクシーケンス3=load(P1,c),move(P4),unload(P4,c)
 図7に示すフローのステップS103では、この3つのタスクシーケンスを例えば最小コストで実行できる車両に割り当てて、その車両が実行すべきタスク列を示す車両対応タスクシーケンスを生成する。
 この結果が、図9(3)車両対応タスクシーケンスに示す2つの車両対応シーケンスである。すなわち以下の2つの車両対応タスクシーケンスである。
 車両1対応タスクシーケンス=move(P1),load(P1,a),load(P1,b),move(P2),unload(P2,a),move(P3),unload(P3,b)
 車両2対応タスクシーケンス=load(P1,c),move(P4),unload(P4,c)
 図9の下部の図は、これらの車両対応タスクシーケンスの具体的な処理例を示した図である。
 この図から理解されるように、車両1対応タスクシーケンス=move(P1),load(P1,a),load(P1,b),move(P2),unload(P2,a),move(P3),unload(P3,b)は、車両1が、まず、ノードP1に移動(move)し、ノードP1で荷物aとbを載せて(load)、ノードP2に移動(move)して、ノードP2で荷物aを降ろし(unload)、さらにノードP3に移動(move)して、ノードP3で荷物bを降ろす(unload)シーケンスである。
 なお車両Aは、タスク依頼時にノードP1にいないため、タスクシーケンスの最初のタスク要素がノードP1への移動[move(P1)]に設定されている。
 車両2対応タスクシーケンス=load(P1,c),move(P4),unload(P4,c)は、ノードP1で荷物cを載せて(load)、ノードP4に移動(move)して、ノードP4で荷物cを降ろす(unload)シーケンスである。
 図7に示すフローのステップS103では、このように、タスク管理部122がステップS102で生成したタスクシーケンスを、車両単位のタスクシーケンス、すなわち車両対応タスクシーケンスに変換する。
 この変換処理に際しては、最も効率的な処理が可能となる車両の選択と処理シーケンスの設定が実行される。具体的にはコストやタスク優先度を考慮したシーケンス生成処理を行う。このコストに基づく車両対応タスクシーケンスの具体的な処理、すなわちコストマッチング処理や優先度に基づくシーケンス生成処理については後段で詳細に説明する。
 次に、図10に示すフローを参照して、先に図7に示すフローチャートを参照して説明したステップS103の処理の詳細シーケンスについて説明する。
 先に図7を参照して説明したように、タスク管理部122は、ステップS103において、ステップS102でリクエストに応じて生成した新規タスクシーケンスを、車両対応シーケンスに変換する。
 これは、ステップS102で生成した新規タスクシーケンスを、実際に実行する車両単位のタスクシーケンス、すなわち車両対応タスクシーケンスに変換する処理である。図10に示すフローは、このステップS103の詳細シーケンスに相当する。図10に示すフローの各ステップの処理について説明する。
  (ステップS121)
 まず、タスク管理部122は、ステップS121において、各車両に設定済みの複数の既存の車両対応タスクシーケンスを取得する。
 各車両に設定済みの既存の車両対応タスクシーケンスは、タスクDB132に格納されており、タスク管理部122はタスクDB132から各車両に設定済みの複数の既存の車両対応タスクシーケンスを取得する。
  (ステップS122)
 次に、タスク管理部122は、ステップS122において、取得した複数の既存車両対応タスクシーケンス各々に新規タスクシーケンスを挿入した場合のコストを算出する。
  (ステップS123)
 次に、タスク管理部122は、ステップS123において、最小コストとなる1つの既存車両対応タスクシーケンスに新規タスクシーケンスを挿入して、既存車両対応タスクシーケンスを更新する。
 なお、場合によっては、既存の車両対応タスクシーケンスに対する新規タスクシーケンスの挿入を行うことなく、新規タスクシーケンスに基づく新規の車両対応タスクシーケンスを生成する場合もある。
 どのような車両対応タスクシーケンスを生成するかについては、コスト、あるいはタスクの優先度に応じて決定する。
 このコストに基づく車両対応タスクシーケンスの具体的な処理、すなわちコストマッチング処理や優先度に基づくシーケンス生成処理については後段で詳細に説明する。
 図11は、車両対応タスクシーケンスを実行する車両からのタスク完了通知を受信した際のタスク管理サーバ101の処理シーケンスを説明するフローチャートである。
 フローに示す各ステップの処理について、順次、説明する。
  (ステップS151)
 まず、タスク管理サーバ101は、ステップS151において、車両対応タスクシーケンスを実行する車両からのタスク完了通知を受信する。
  (ステップS152)
 次に、タスク管理サーバ101のタスク管理部122は、ステップS152において、完了報告のあったタスクをタスクDB132に登録された車両対応タスクシーケンスから削除する。
  (ステップS153)
 次に、タスク管理サーバ101のタスク管理部122は、ステップS153において、新たな車両対応タスクシーケンスの発生に基づいて新たな車両対応タスクシーケンスの実行を車両に通知する。
 このような処理によってタスク管理サーバ101とタスク実行主体である車両間の通信が行われ、リクエストに応じたタスクが順次、実行される。
 なお、タスク管理サーバ101は、オペレータによる操作が可能な入力部や、タスク状況を確認可能な表示部等の出力部を備えている。
 タスク管理サーバ101の表示部の表示例を図12に示す。
 図12に示す例は、タスク管理サーバ101の表示部に表示される表示データの一例である。
 タスク管理サーバ101の表示部には、各車両の現在の情報がリアルタイムで表示される。表示部には、各車両の動きがアニメーションで表示され,現在実行中のタスクが表示される。また、車両を指定する(カーソルを合わせる)と、車両が現在、実行中のタスクシーケンスが確認できる。
  [4.リクエストに基づくタスクシーケンス、および車両対応タスクシーケンスの具体例について]
 次に、タスク管理サーバ101がリクエストに基づいて生成するタスクシーケンス、および車両対応タスクシーケンスの具体例について説明する。
 図13以下を参照して以下の3つの具体例について、順次、説明する。
 (ケース1)荷物配送車両を利用した荷物配送の例
 リクエスト=荷物の配送(集荷位置集中(load集中),配送先散在(unload散在),巡回なし)
 (ケース2)タクシーを利用した例
 リクエスト=巡回と配車(乗車位置散在(load散在),降車位置散在(unload散在),巡回、呼び出しあり)
 (ケース3)オフィス等のフロア内を巡回する商品販売ロボットの例
 リクエスト=巡回と配車(巡回を実行し、呼び出しに対応(load、unloadなし))
 まず、図13を参照して、
 (ケース1)荷物配送車両を利用した荷物配送の例について説明する。
 リクエストは荷物の配送である。
 集荷位置が集中(load集中)し、配送先が散在(unload散在)している例であり、車両は、各ノードを巡回する処理は行っていない場合の処理例である。
 図13には、以下の3つのデータを示している。
 (1)リクエスト
 (2)タスクシーケンス
 (3)車両対応タスクシーケンス
 (1)リクエストは、例えばユーザ端末等のリクエスト送信端末から受信したリクエストである。ここでは、リクエストは以下のリクエストである。
 リクエスト=「P1から荷物a,b,cを、それぞれ、aをP2、bをP3、cをP4に送る」
 なお、前述したように、実際には、例えばユーザ端末から受信するリクエストには、P1~P4等のノード識別子は含まれていない。ノード識別子は、受信リクエスト等から得られる位置情報に基づいて、リクエスト処理部121、またはタスク管理部122が地図DB134から取得したノード識別子である。
 タスク管理サーバ101のタスク管理部122は、このリクエストに応じて、リクエストを実行するための1つ以上の最小単位のタスクシーケンスを生成する。
 図13(2)に示す以下の3つのタスクシーケンスを生成する。
 タスクシーケンス1=load(P1,a),move(P2),unload(P2,a)
 タスクシーケンス2=load(P1,b),move(P2),move(P3),unload(P3,b)
 タスクシーケンス3=load(P1,c),move(P4),unload(P4,c)
 タスクシーケンス1=load(P1,a),move(P2),unload(P2,a)は、ノードP1で荷物aを載せて(load)、ノードP2に移動(move)して、ノードP2で荷物aを降ろす(unload)シーケンスである。
 タスクシーケンス2=load(P1,b),move(P2),move(P3),unload(P3,b)は、ノードP1で荷物bを載せて(load)、ノードP2に移動(move)して、さらにノードP3に移動(move)して、ノードP3で荷物bを降ろす(unload)シーケンスである。
 タスクシーケンス3=load(P1,c),move(P4),unload(P4,c)は、ノードP1で荷物cを載せて(load)、ノードP4に移動(move)して、ノードP4で荷物cを降ろす(unload)シーケンスである。
 さらに、タスク管理サーバ101のタスク管理部122は、この3つのタスクシーケンスを最小コストで実行できる車両に割り当てて、その車両が実行すべきタスク列を示す車両対応タスクシーケンスを生成する。
 この結果が、図13(3)車両対応タスクシーケンスに示す以下の2つの車両対応タスクシーケンスである。
 車両1対応タスクシーケンス=move(P1),load(P1,a),load(P1,b),move(P2),unload(P2,a),move(P3),unload(P3,b)
 車両2対応タスクシーケンス=load(P1,c),move(P4),unload(P4,c)
 車両1対応タスクシーケンス=move(P1),load(P1,a),load(P1,b),move(P2),unload(P2,a),move(P3),unload(P3,b)は、車両1が、まず、ノードP1に移動(move)し、ノードP1で荷物aとbを載せて(load)、ノードP2に移動(move)して、ノードP2で荷物aを降ろし(unload)、さらにノードP3に移動(move)して、ノードP3で荷物bを降ろす(unload)シーケンスである。
 なお車両Aは、タスク依頼時にノードP1にいないため、タスクシーケンスの最初のタスク要素がノードP1への移動[move(P1)]に設定されている。
 車両2対応タスクシーケンス=load(P1,c),move(P4),unload(P4,c)は、ノードP1で荷物cを載せて(load)、ノードP4に移動(move)して、ノードP4で荷物cを降ろす(unload)シーケンスである。
 タスク管理サーバ101は、このように、リクエストに基づいてタスクシーケンスを生成し、さらに生成したタスクシーケンスに基づいて、各車両に実行させるタスクシーケンスである車両対応タスクシーケンスを生成する。
 次に、図14を参照して、
 (ケース2)タクシーを利用した例について説明する。
 リクエストは巡回と配車である。
 乗車位置が散在(load散在)し、降車位置も散在(unload散在)し、巡回があり、呼び出しもある場合の処理例である。
 図14には、図13と同様、以下の3つのデータを示している。
 (1)リクエスト
 (2)タスクシーケンス
 (3)車両対応タスクシーケンス
 (1)リクエストは、ここでは、予め決められた「巡回」と、例えばユーザ端末等のリクエスト送信端末から受信したリクエストとしての「配車」である。ここでは、「配車」リクエストは以下のリクエストである。
 リクエスト=「P1からaを乗車させて、P2で降車させる」
 なお、前述したように、実際には、例えばユーザ端末から受信するリクエストには、P1等のノード識別子は含まれていない。ノード識別子は、受信リクエスト等から得られる位置情報に基づいて、リクエスト処理部121、またはタスク管理部122が地図DB134から取得したノード識別子である。
 タスク管理サーバ101のタスク管理部122は、このリクエストに応じて、リクエストを実行するための1つ以上の最小単位のタスクシーケンスを生成する。
 図14(2)に示す以下の2つのタスクシーケンスを生成する。
 タスクシーケンス1(巡回対応)=move(P1),move(P2),・・move(P20),move(P1)
 タスクシーケンス2(配車対応)=load(P1,a),move(P2),unload(P2,a)
 タスクシーケンス1(巡回対応)=move(P1),move(P2),・・move(P20),move(P1)は、ノードP1からノードP20までを順番に移動する巡回を行うタスクシーケンスである。
 タスクシーケンス2(配車対応)=load(P1,a),move(P2),unload(P2,a)は、ノードP1でお客さんaを乗車させて(load)、ノードP2に移動(move)して、ノードP2でお客さんaを降車させる(unload)シーケンスである。
 さらに、タスク管理サーバ101のタスク管理部122は、この2つのタスクシーケンスを最小コストで実行できる車両に割り当てて、その車両が実行すべきタスク列を示す車両対応タスクシーケンスを生成する。
 この結果が、図14(3)車両対応タスクシーケンスに示す以下の2つの車両対応タスクシーケンスである。
 車両1対応タスクシーケンス=move(P1),load(P1,a),move(P2),unload(P2,a),move(P3),move(P4),・・・
 車両2対応タスクシーケンス=move(P11),move(P12),・・・
 図15を参照して、この2つの車両対応タスクシーケンスについて説明する。図15の下部に示すように、車両1、車両2が双方とも巡回中であったが、配車タスク(タスクシーケンス2)が発生したため、この、配車タスク(タスクシーケンス2)をいずれかの車両の車両対応タスクシーケンスに挿入することが必要となる。
 車両1は、現在P6におり、巡回タスクに従ってP7に移動を開始する前の状態である。一方、車両2はP11におり、巡回タスクに従ってP12に移動を開始する前の状態である。
 車両1の現在位置P6が、P1でお客さんaを乗せるためには距離が近く、配車タスクの実行に要するコストが低いため、車両1対応タスクシーケンスに、配車対応のタスクシーケンスを挿入する。
 この結果、図15上段の表に示す車両1対応タスクシーケンス=move(P1),load(P1,a),move(P2),unload(P2,a),move(P3),move(P4),・・・が生成される。
 図15下段に示すように、車両1は、巡回タスクの次のタスク要素move(P7)を中止して、配車のタスクシーケンス、すなわち、タスクシーケンス=move(P1),load(P1,a),move(P2),unload(P2,a)を実行する。その後は、P2から巡回タスクに戻り、P3への移動を開始する。
 一方、配車タスクを実行しない車両2は、巡回タスクを継続して実行する。
 このように本処理例は、車両1が、
 車両1対応タスクシーケンス=move(P1),load(P1,a),move(P2),unload(P2,a),move(P3),move(P4),・・・は、車両1が巡回中であったが、ここに、
 タスクシーケンス2(配車対応)=load(P1,a),move(P2),unload(P2,a)
 を挿入して、車両対応タスクシーケンスを更新して生成した新たな車両対応タスクシーケンスを車両1が実行するものである。
 このシーケンスは、車両1が巡回途中にノードP1に移動(move)後、ノードP1でお客さんaを乗車させて(load)、ノードP2に移動(move)して、ノードP2でお客さんaを降車させて(unload)、その後は巡回処理に復帰するシーケンスである。
 タスク管理サーバ101は、このように、リクエストに基づいてタスクシーケンスを生成し、さらに生成したタスクシーケンスに基づいて、各車両に実行させるタスクシーケンスである車両対応タスクシーケンスを生成する。
 次に、図16を参照して、
 (ケース3)オフィス等のフロア内を巡回する商品販売ロボットの例について説明する。
 リクエストは、巡回と配車であり、通常時は巡回を実行し、逐次、発生する呼び出しに対応して呼び出し地点に向かう処理例である。
 図16の上段は、呼び出し発生前の通常巡回処理実行中のデータ、下段は、呼び出し発生後のデータであり、各々、以下の3つのデータを示している。
 (1)リクエスト
 (2)タスクシーケンス
 (3)車両対応タスクシーケンス
 図16の上段の表に示す呼び出し発生前の通常巡回処理実行中の(1)リクエストは、「すべての地点の平等に巡回」であり、タスク管理サーバ101のタスク管理部122は、このリクエストに応じて、図16上段の表の(2)に示す以下のタスクシーケンスを生成する。
 タスクシーケンス1(巡回対応)=move(P1),move(P2),・・move(P20),move(P1)
 タスクシーケンス1(巡回対応)=move(P1),move(P2),・・move(P20),move(P1)は、ノードP1からノードP20までを順番に移動する巡回を行うタスクシーケンスである。
 さらに、タスク管理サーバ101のタスク管理部122は、このタスクシーケンスを車両に割り当てて、その車両が実行すべきタスク列を示す車両対応タスクシーケンスを生成する。
 この結果が、図16上段の表の(3)車両対応タスクシーケンスに示す以下の車両対応タスクシーケンスである。
 車両1対応タスクシーケンス=move(P2),move(P3),move(P4),・・・
 車両1がこの車両1対応タスクシーケンスを実行中に、タスク管理サーバは以下のリクエストを受信する。
 リクエスト=地点P13からの呼び出し
 タスク管理サーバ101のタスク管理部122は、このリクエストに応じて、図16下段の表の(2)に示す以下のタスクシーケンスを生成する。
 タスクシーケンス2(呼び出し対応)=move(P13)
 さらに、タスク管理サーバ101のタスク管理部122は、このタスクシーケンス2を車両に割り当てて、その車両が実行すべきタスク列を示す車両対応タスクシーケンスを生成する。
 この結果が、図16下段の表の(3)車両対応タスクシーケンスに示す以下の車両対応タスクシーケンスである。
 車両1対応タスクシーケンス=move(Px),move(Py),・・・,move(P13),・・・
 Px,Py、巡回実行中の車両1の現在地に基づいて決定される位置であり、車両1の現在地からP13までの最短ルートの移動経路に基づいて決定される。
 図17を参照して、この車両対応タスクシーケンスについて説明する。図17の下部に示すように、車両12が巡回中であり、現在地がP1であり、P2~P3~P4の順に巡回予定であったとする。
 この時点の車両対応タスクシーケンスは、図17の上段(3a)に示すように、
 車両1対応タスクシーケンス=move(P2),move(P3),move(P4),・・・
 この車両1対応タスクシーケンスである。
 車両1がこの車両1対応タスクシーケンスを実行中に、タスク管理サーバは以下のリクエストを受信する。
 リクエスト=地点P13からの呼び出し
 タスク管理サーバ101のタスク管理部122は、このリクエストに応じて、上記の車両1対応タスクシーケンスに、上記の呼び出し処理のタスクを実行するためのタスクシーケンスを挿入して更新された車両1対応タスクシーケンスを生成する。
 この結果が、図17上段の(3b)車両対応タスクシーケンスに示す以下の車両対応タスクシーケンスである。
 車両1対応タスクシーケンス=move(P2),move(P7),move(P8),move(P13),move(P14),・・・
 この車両対応タスクシーケンス中のmove(P2),move(P7),move(P8),move(P13)は、巡回実行中の車両1の現在地(P1)からP13までの最短ルートの経路の移動を行うための要素である。
 このように、タスク管理サーバ101は、新たなリクエストに応じて、即座にタスクシーケンスを生成し、さらに生成したタスクシーケンスに基づいて、各車両に実行させるタスクシーケンスである車両対応タスクシーケンスを生成する。
  [5.車両で実行中の車両対応タスクシーケンスに新規リクエストに基づく新規タスクシーケンスを追加して車両対応タスクシーケンスを更新する処理の具体例について]
 次に、図18以下を参照して、車両で実行中の車両対応タスクシーケンスに新規リクエストに基づく新規タスクシーケンスを追加して車両対応タスクシーケンスを更新する処理の具体例について説明する。
 図18には、以下の各データを示している。
 (1)既存車両対応タスクシーケンス
 (2)追加タスクシーケンス
 (1)既存車両対応タスクシーケンスは、車両1が現在実行中の車両対応弼シーケンスである。
 (2)追加タスクシーケンスは、新たなリクエストに基づいて生成されたタスクシーケンスであり、タスク管理サーバ101のタスク管理部122は、この(2)追加タスクシーケンスを(1)既存車両対応タスクシーケンスに挿入する処理を行う。
 図18以下を参照して、既存車両対応タスクシーケンスに追加タスクシーケンスを追加する処理、すなわち車両対応タスクシーケンスの更新処理手順について説明するる。なお、更新過程において、既存車両対応タスクシーケンスと、追加タスクシーケンスのタスク要素は、順次変更される。ここでは、各シーケンスの更新過程のデータも含め、図に示すように、
 (1)既存車両対応タスクシーケンス=タスクシーケンスA
 (2)追加タスクシーケンス=タスクシーケンスB
 上記設定として説明する。
 各タスクシーケンスは、図18に示すように以下のシーケンスである。
 (1)既存車両対応タスクシーケンス=load(P1,荷物1),move(P6),move(P7),move(P8),move(P13),unload(P13,荷物1)
 (2)追加タスクシーケンス=load(P1,荷物2),move(P2).move(P3).move(P4),move(P9),move(P10),unload(P10,荷物2)
 (1)既存車両対応タスクシーケンスは、P1で荷物1を載せて(load)、P6,P7,P8,P13と移動して、P13で荷物1を降ろす(unload)するタスクシーケンスである。
 (2)追加タスクシーケンスは、P1で荷物2を載せて(load)、P2,P3,P4,P9,P10と移動して、P10で荷物2を降ろす(unload)するタスクシーケンスである。
 この(1)既存車両対応タスクシーケンスに、(2)追加タスクシーケンスを追加する処理手順について、図19以下を参照して説明する。
 まず、図19のステップS201に示すように、追加タスクシーケンスから、moveタスク要素(移動タスク要素)を削除する。この処理により、(2)追加タスクシーケンスは、以下のように変更される。
 (2)追加タスクシーケンス=load(P1,荷物2),unload(P10,荷物2)
 次に、図20のステップS202に示すように、追加タスクシーケンスの先頭要素から順に、要素の位置(Pn)と一致する位置を持つ要素を、既存車両タスクシーケンスの先頭要素から順に検索し、位置が一致する要素の後に追加タスクシーケンスの要素を挿入する。
 なお、挿入したタスク要素は、(2)追加タスクシーケンスから削除する。
 まず、追加タスクシーケンスの先頭要素load(P1,荷物2)の位置(P1)と一致する位置を持つ既存車両タスクシーケンスの要素は、既存車両タスクシーケンスの先頭要素load(P1,荷物1)である。
 従って、追加タスクシーケンスの先頭要素load(P1,荷物2)を、既存車両タスクシーケンスの先頭要素load(P1,荷物1)の後に挿入する。
 この処理の結果、図20の下段の表に示すように、(1)既存車両対応タスクシーケンスと、(2)追加タスクシーケンスは、以下のように変更される。
 (1)既存車両対応タスクシーケンス=load(P1,荷物1),load(P1,荷物2),move(P6),move(P7),move(P8),move(P13),unload(P13,荷物1)
 (2)追加タスクシーケンス=unload(P10,荷物2)
 なお、このステップS202の処理は、追加タスクシーケンスに含まれるタスク要素の全てについて、順次、実行する。この処理において、追加タスクシーケンスに含まれる要素がなくなった場合は処理を終了する。タスク要素が残っている場合は、図21に示すステップS203の処理を実行する。
 追加タスクシーケンスにタスク要素が残っている場合、次に、図21のステップS203に示す処理を行う。すなわち、追加タスクシーケンスの要素の位置(Pn)と一致する位置を持つ要素が既存車両タスクシーケンス中に無い場合、既存車両タスクシーケンスの最終要素の後に、必要経路を追加して、追加タスクシーケンスの要素を挿入する。
 追加タスクシーケンスの先頭要素unload(P10,荷物2)の位置(P10)と一致する位置を持つ既存車両タスクシーケンスの要素はない。従って、この追加タスクシーケンスの先頭要素unload(P10,荷物2)を、既存車両タスクシーケンスの最終要素の後に、必要経路を追加して最後にこのタスク要素を挿入する。
 この処理の結果、図21の下段の表に示すように、(1)既存車両対応タスクシーケンスと、(2)追加タスクシーケンスは、以下のように変更される。
 (1)既存車両対応タスクシーケンス(更新完了)=load(P1,荷物1), load(P1,荷物2),move(P6),move(P7),move(P8),move(P13),unload(P13,荷物1),move(P14),move(P15),move(P10),unload(P10,荷物2)
 (2)追加タスクシーケンス=なし
 なお、上記の更新完了後の両対応タスクシーケンス中、
 タスク要素=unload(P13,荷物1)
 この後のタスク要素=move(P14),move(P15), move(P10),unload(P10,荷物2)
 これらが追加された要素であり、この要素中、move(P14),move(P15),move(P10),これらが必要経路として追加された要素であり、unload(P10,荷物2)が、元の追加タスクシーケンス中に残っていた要素である。
 この結果として、図22に示すように最終的な更新された車両対応タスクシーケンスが完成する。この更新された車両対応タスクシーケンスは、図22の下段のマップに示すように、P1で荷物1,2を載せてP6,P7,P8,P13と移動して、P13で荷物1を降ろし(unload)、さらにP14,P15,P10と移動して、P10で荷物2を降ろす(unload)というタスクシーケンスとなる。
 この更新タスクシーケンスは、元の既存の車両対応タスクシーケンスと新規の追加タスクシーケンスを併せて実行することが可能なタスクシーケンスである。
 図18~図22を参照して説明した処理、すなわち既存の車両対応タスクシーケンスに新たなリクエストに基づく追加タスクシーケンスを挿入する処理手順について、図23に示すフローチャートを参照して説明する。
 図23に示すフローチャートは、タスク管理サーバ101のタスク管理部122において実行される。
 なお、図23に示すフローにおいて、
 A=既存車両対応タスクシーケンス、
 B=追加タスクシーケンス
 であり、A=既存車両対応タスクシーケンスのタスク要素を先頭からa1,a2,a3,・・・an、B=追加タスクシーケンスのタスク要素を先頭からb1,b2,b3,・・・bmとする。
 以下、フローの各ステップの処理について説明する。
  (ステップS301)
 まず、ステップS301において、追加タスクシーケンスBのタスク要素からmoveタスク要素(移動タスク要素)を全て削除する。
 この削除後のタスクシーケンスBのタスク要素をb1,b2,・・・blとする。
 この処理は、先に図19を参照して説明した処理に相当する。
  (ステップS302~S303)
 次に、ステップS302において、
 i=1,j=1、
 ステップS303において、
 t=aとする。すなわち、tをA=既存車両対応タスクシーケンスの先頭から順に選択するタスク要素とする。
 これらの処理は、パラメータの初期設定である。
  (ステップS304)
 次に、ステップS304において、
 既存車両対応タスクシーケンスAの先頭から順に選択したタスク要素t(=a)の位置(locate)と、moveタスク要素(移動タスク要素)を削除したタスクシーケンスBのタスク要素(b)の位置(locate)が一致するか否かを判定する。
 一致する場合は、ステップS305に進む。
 一致しない場合は、ステップS311に進む。
  (ステップS305)
 ステップS304において、既存車両対応タスクシーケンスAの先頭から順に選択したタスク要素t(=a)の位置(locate)と、moveタスク要素(移動タスク要素)を削除したタスクシーケンスBのタスク要素(b)の位置(locate)が一致すると判定した場合、ステップS305の処理を実行する。
 ステップS305では、既存車両対応タスクシーケンスAのタスク要素t(=a)の直後に、タスクシーケンスBのタスク要素(b)を挿入する。
 この処理は、先に図20を参照して説明した処理に相当する。
  (ステップS306~S307)
 次に、ステップS306において、
 t=b
 ステップS307において、
 j=j+1とする。
 すなわち、moveタスク要素削除後の追加タスクシーケンスBから選択する要素を次の要素にするパラメータ更新を行う。
  (ステップS308)
 次に、ステップS308で、
 j>l
 上記判定式に従った判定処理を行う。これは、moveタスク要素削除後の追加タスクシーケンスBに未処理要素が残っているか否かの判定処理である。
 上記判定式が成立しない場合は、未処理タスク要素が残っていると判定し、ステップS304に戻る。上記判定式が成立した場合は、未処理タスク要素が残っていないと判定し、処理を終了する。
  (ステップS311)
 一方、ステップS304において、既存車両対応タスクシーケンスAの先頭から順に選択したタスク要素t(=a)の位置(locate)と、moveタスク要素(移動タスク要素)を削除したタスクシーケンスBのタスク要素(b)の位置(locate)が一致しないと判定した場合、ステップS311の処理を実行する。
 ステップS311では、既存車両対応タスクシーケンスAのタスク要素t(=a)を次の要素とするパラメータiの更新処理、すなわち、
 i=i+1
 とする処理を実行する。
  (ステップS312)
 次に、ステップS312で、
 i=n
 上記判定式に従った判定処理を行う。これは、既存車両対応タスクシーケンスAに後続タスク要素が残っているか否かの判定処理である。
 上記判定式が成立しない場合は、後続タスク要素が残っていると判定し、ステップS303に戻る。上記判定式が成立した場合は、後続タスク要素が残っていないと判定し、ステップS313に進む。
  (ステップS313)
 ステップS312の判定式が成立し、既存車両対応タスクシーケンスAに後続タスク要素が残っていないと判定した場合、ステップS313の処理を実行する。
 ステップS313では、既存車両対応タスクシーケンスAの末尾のタスク要素に続けて、タスクシーケンスAの末尾のタスク要素の位置(locate)から、タスクシーケンスBのタスク要素(b)の位置(locate)までのmoveタスク要素(移動タスク要素)(=m,m,・・・m)を追加して、その最後にタスクシーケンスBのタスク要素(b)を追加する。
 この処理は、先に図21を参照して説明した処理に相当する。
  (ステップS314)
 次に、ステップS314において、
 j=j+1とする。
 すなわち、moveタスク要素削除後の追加タスクシーケンスBから選択する要素を次の要素にするパラメータ更新を行う。
  (ステップS315)
 次に、ステップS315で、
 j>l
 上記判定式に従った判定処理を行う。これは、moveタスク要素削除後の追加タスクシーケンスBに未処理要素が残っているか否かの判定処理である。
 上記判定式が成立しない場合は、未処理タスク要素が残っていると判定し、ステップS304に戻る。上記判定式が成立した場合は、未処理タスク要素が残っていないと判定し、処理を終了する。
 このフローに従った処理を実行することで、既存の車両対応タスクシーケンスに新たな追加タスクシーケンスを追加して1つの更新された車両対応タスクシーケンスを生成することが可能となる。
  [6.タスクの優先度を考慮した車両対応タスクシーケンスの更新処理の具体例について]
 次に、図24以下を参照して、車両で実行中の車両対応タスクシーケンスに新規リクエストに基づく新規タスクシーケンスを追加して車両対応タスクシーケンスを更新する場合に、タスクの優先度を考慮して車両対応タスクシーケンスを更新する処理の具体例について説明する。
 図24には、以下の各データを示している。
 (1)既存車両対応タスクシーケンス
 (2)追加タスクシーケンス
 (1)既存車両対応タスクシーケンスは、車両1が現在実行中の車両対応弼シーケンスである。
 (2)追加タスクシーケンスは、新たなリクエストに基づいて生成されたタスクシーケンスであり、タスク管理サーバ101のタスク管理部122は、この(2)追加タスクシーケンスを(1)既存車両対応タスクシーケンスに挿入する処理を行う。
 図24に示す
 (1)既存車両対応タスクシーケンス=タスクシーケンスA
 (2)追加タスクシーケンス=タスクシーケンスB
 これらの2つのタスクシーケンスのタスク要素の並びは、先に図18を参照して説明したと同様のものである。ただし、本実施例では、荷物の上げ下ろしのタスク要素(load,unload)に優先度情報(pri)が設定されている。
 本実施例で示す既存車両対応タスクシーケンス=タスクシーケンスAには、タスク要素として、
 load(P1,荷物1,pri=1)
 unload(P13,荷物1,pri=1)
 これらのタスク要素は、荷物1をP1で載せる処理とP13で降ろす処理を意味し、さらに、これらのタスクの優先度(priority)が1であることを示している。
 一方、追加タスクシーケンス=タスクシーケンスBには、タスク要素として、
 load(P1,荷物2,pri=10)
 unload(P10,荷物2,pri=10)
 これらのタスク要素は、荷物2をP1で載せる処理とP10で降ろす処理を意味し、さらに、これらのタスクの優先度(priority)が10であることを示している。
 優先度(pri)は大きな値ほど高優先度であることを意味する。すなわち、本例では、追加タスクである荷物2の上げ下ろしの方が、優先度が高い設定である。
 各タスクシーケンスは、図24に示すように以下のシーケンスである。
 (1)既存車両対応タスクシーケンス=load(P1,荷物1,pri=1),move(P6),move(P7),move(P8),move(P13),unload(P13,荷物1,pri=1)
 (2)追加タスクシーケンス=load(P1,荷物2,pri=10),move(P2).move(P3).move(P4),move(P9),move(P10),unload(P10,荷物2,pri=10)
 (1)既存車両対応タスクシーケンスは、P1で荷物1を載せて(load)、P6,P7,P8,P13と移動して、P13で荷物1を降ろす(unload)するタスクシーケンスである。
 (2)追加タスクシーケンスは、P1で荷物2を載せて(load)、P2,P3,P4,P9,P10と移動して、P10で荷物2を降ろす(unload)するタスクシーケンスである。
 ただし、追加タスクシーケンスの荷物2の上げ下ろしが、既存車両対応タスクシーケンスの荷物1の上げ下ろしより、高優先度である。
 優先度を考慮して(1)既存車両対応タスクシーケンスに、(2)追加タスクシーケンスを追加する処理手順について、図25以下を参照して説明する。
 まず、図25のステップS401に示すように、追加タスクシーケンスから、moveタスク要素(移動タスク要素)を削除する。この処理により、(2)追加タスクシーケンスは、以下のように変更される。
 (2)追加タスクシーケンス=load(P1,荷物2,pri=10),unload(P10,荷物2,pri=10)
 次に、図26のステップS402に示すように、追加タスクシーケンスの先頭要素から順に、その要素の優先度(pri)未満の優先度を持つ要素を、既存車両タスクシーケンスの先頭要素から順に検索し、検出された要素の前に追加タスクの要素を挿入する。さらに必要な経路も挿入する。
 なお、挿入したタスク要素は、(2)追加タスクシーケンスから削除する。
 まず、追加タスクシーケンスの先頭要素load(P1,荷物2,pri=10)の優先度(pri)未満の優先度を持つ既存車両タスクシーケンスの要素は、既存車両タスクシーケンスの先頭要素load(P1,荷物1,pri=1)である。
 従って、追加タスクシーケンスの先頭要素load(P1,荷物2,pri=10)を、既存車両タスクシーケンスの先頭要素load(P1,荷物1,pri=10)の前に挿入する。さらに必要な経路も挿入する。
 この処理の結果、図26の下段の表に示すように、(1)既存車両対応タスクシーケンスと、(2)追加タスクシーケンスは、以下のように変更される。
 (1)既存車両対応タスクシーケンス=load(P1,荷物2,pri=10),move(P2).move(P3).move(P4),move(P9),move(P10),unload(P10,荷物2,pri=10),load(P1,荷物1,pri=1),move(P6),move(P7),move(P8),move(P13),unload(P13,荷物1,pri=1)
 (2)追加タスクシーケンス=unload(P10,荷物2,pri=10)
 次に、図27のステップS403に示す処理を行う。すなわち、更新中の車両対応タスクシーケンスの要素と、挿入した追加タスクシーケンスの要素の隣接要素間の経路要素を追加挿入する。
 この処理の結果、図27の下段の表に示すように、(1)既存車両対応タスクシーケンスと、(2)追加タスクシーケンスは、以下のように変更される。
 (1)既存車両対応タスクシーケンス(更新完了)=load(P1,荷物2,pri=10),move(P2).move(P3).move(P4),move(P9),move(P10),unload(P10,荷物2,pri=10),move(P5).move(P4).move(P3),move(P2),move(P1),load(P1,荷物1,pri=1),move(P6),move(P7),move(P8),move(P13),unload(P13,荷物1,pri=1)
 (2)追加タスクシーケンス=なし
 なお、ステップS402~S403の処理は、追加タスクシーケンスに含まれるタスク要素の全てについて、順次、実行する。
 なお、上記の更新完了後の両対応タスクシーケンス中、
 タスク要素=load(P1,荷物2,pri=10),move(P2).move(P3).move(P4),move(P9),move(P10),unload(P10,荷物2,pri=10),
 これらのタスク要素が、ステップS402において、高優先度タスクを含む追加タスクシーケンスによって追加されたタスクである。さらに、その後の、
 タスク要素=move(P5).move(P4).move(P3),move(P2),move(P1),
 これらのタスク要素が、ステップS403において追加挿入された経路要素である。すなわち、更新中の車両対応タスクシーケンスの要素と、挿入した追加タスクシーケンスの要素の隣接要素間の経路要素である。
 この結果として、図28に示すように最終的な更新された車両対応タスクシーケンスが完成する。この更新された車両対応タスクシーケンスは、図28の下段のマップに示すように、P1で荷物2を載せてP2,P3,P4,P9,P10と移動して、P10で荷物2を降ろし(unload)、さらにP5,P4,P3,P2,P1と移動して、P1で荷物1を載せてP6,P7,P8,P13と移動して、P13で荷物1を降ろす(unload)というタスクシーケンスとなる。
 この更新タスクシーケンスは、元の既存の車両対応タスクシーケンスと新規の追加タスクシーケンスを併せて実行することが可能なタスクシーケンスである。
 図24~図28を参照して説明した処理、すなわちタスクの優先度を考慮して、既存の車両対応タスクシーケンスに新たなリクエストに基づく追加タスクシーケンスを挿入する処理手順について、図29に示すフローチャートを参照して説明する。
 図29に示すフローチャートは、タスク管理サーバ101のタスク管理部122において実行される。
 なお、図29に示すフローにおいて、
 A=既存車両対応タスクシーケンス、
 B=追加タスクシーケンス
 であり、A=既存車両対応タスクシーケンスのタスク要素を先頭からa1,a2,a3,・・・an、B=追加タスクシーケンスのタスク要素を先頭からb1,b2,b3,・・・bmとする。
 以下、フローの各ステップの処理について説明する。
  (ステップS501)
 まず、ステップS501において、追加タスクシーケンスBのタスク要素からmoveタスク要素(移動タスク要素)を全て削除する。
 この削除後のタスクシーケンスBのタスク要素をb1,b2,・・・blとする。
 この処理は、先に図25を参照して説明した処理に相当する。
  (ステップS502~S503)
 次に、ステップS502において、
 i=0,j=0、
 ステップS503において、
 t=aとする。すなわち、tをA=既存車両対応タスクシーケンスの先頭から順に選択するタスク要素とする。
 これらの処理は、パラメータの初期設定である。
  (ステップS504)
 次に、ステップS504において、
 既存車両対応タスクシーケンスAの先頭から順に選択したタスク要素tの次(=aの次)の優先度(pri)より、moveタスク要素(移動タスク要素)を削除したタスクシーケンスBのタスク要素(b)の優先度(pri)が高いか否かを判定する。
 高い場合は、ステップS511に進む。
 高くない場合は、ステップS505に進む。
  (ステップS505)
 ステップS504において、既存車両対応タスクシーケンスAの先頭から順に選択したタスク要素tの次(=aの次)の優先度(pri)より、moveタスク要素(移動タスク要素)を削除したタスクシーケンスBのタスク要素(b)の優先度(pri)が高くないと判定した場合は、ステップS505に進む。
 ステップS505では、既存車両対応タスクシーケンスAの先頭から順に選択したタスク要素t(=a)の位置(locate)と、moveタスク要素(移動タスク要素)を削除したタスクシーケンスBのタスク要素(b)の位置(locate)が一致するか否かを判定する。
 一致する場合は、ステップS506に進む。
 一致しない場合は、ステップS521に進む。
  (ステップS506)
 ステップS505において、既存車両対応タスクシーケンスAの先頭から順に選択したタスク要素t(=a)の位置(locate)と、moveタスク要素(移動タスク要素)を削除したタスクシーケンスBのタスク要素(b)の位置(locate)が一致すると判定した場合、ステップS506の処理を実行する。
 ステップS506では、既存車両対応タスクシーケンスAのタスク要素t(=a)の直後に、タスクシーケンスBのタスク要素(b)を挿入する。
  (ステップS507~S508)
 次に、ステップS507において、
 t=b
 ステップS508において、
 j=j+1とする。
 すなわち、moveタスク要素削除後の追加タスクシーケンスBから選択する要素を次の要素にするパラメータ更新を行う。
  (ステップS509)
 次に、ステップS509で、
 j>l
 上記判定式に従った判定処理を行う。これは、moveタスク要素削除後の追加タスクシーケンスBに未処理要素が残っているか否かの判定処理である。
 上記判定式が成立しない場合は、未処理タスク要素が残っていると判定し、ステップS504に戻る。上記判定式が成立した場合は、未処理タスク要素が残っていないと判定し、処理を終了する。
  (ステップS511)
 一方、ステップS504において、既存車両対応タスクシーケンスAの先頭から順に選択したタスク要素tの次(=aの次)の優先度(pri)より、moveタスク要素(移動タスク要素)を削除したタスクシーケンスBのタスク要素(b)の優先度(pri)が高いと判定した場合は、ステップS511に進む。
 ステップS511では、既存車両対応タスクシーケンスAのタスク要素t(=a)の位置(locate)から、moveタスク要素(移動タスク要素)を削除したタスクシーケンスBのタスク要素(b)の位置(locate)までのmoveタスク要素(移動タスク要素)(=m,m,・・・m)を、既存車両対応タスクシーケンスAのタスク要素t(=a)の直後に追加して、その最後にタスクシーケンスBのタスク要素(b)を追加する。
 この処理は、先に図26を参照して説明した処理である。
  (ステップS512~S513)
 次に、ステップS512において、
 t=b
 ステップS513において、
 j=j+1とする。
 すなわち、moveタスク要素削除後の追加タスクシーケンスBから選択する要素を次の要素にするパラメータ更新を行う。
  (ステップS514)
 次に、ステップS514で、
 j>l
 上記判定式に従った判定処理を行う。これは、moveタスク要素削除後の追加タスクシーケンスBに未処理要素が残っているか否かの判定処理である。
 上記判定式が成立しない場合は、未処理タスク要素が残っていると判定し、ステップS504に戻る。上記判定式が成立した場合は、未処理タスク要素が残っていないと判定し、ステップS515に進む。
  (ステップS515)
 ステップS515では、既存車両対応タスクシーケンスAに追加したタスク要素t(=b)の位置(locate)から、その後のタスク要素aの位置(locate)までのmoveタスク要素(移動タスク要素)列を追加して処理を終了する。
 この処理は、先に図27を参照して説明した処理である。
  (ステップS521)
 一方、ステップS505において、既存車両対応タスクシーケンスAの先頭から順に選択したタスク要素t(=a)の位置(locate)と、moveタスク要素(移動タスク要素)を削除したタスクシーケンスBのタスク要素(b)の位置(locate)が一致しないと判定した場合、ステップS521の処理を実行する。
 ステップS521では、既存車両対応タスクシーケンスAのタスク要素t(=a)を次の要素とするパラメータiの更新処理、すなわち、
 i=i+1
 とする処理を実行する。
  (ステップS522)
 次に、ステップS522で、
 i=n
 上記判定式に従った判定処理を行う。これは、既存車両対応タスクシーケンスAに後続タスク要素が残っているか否かの判定処理である。
 上記判定式が成立しない場合は、後続タスク要素が残っていると判定し、ステップS505に戻る。上記判定式が成立した場合は、後続タスク要素が残っていないと判定し、ステップS523に進む。
  (ステップS523)
 ステップS522の判定式が成立し、既存車両対応タスクシーケンスAに後続タスク要素が残っていないと判定した場合、ステップS523の処理を実行する。
 ステップS523では、既存車両対応タスクシーケンスAの末尾のタスク要素に続けて、タスクシーケンスAの末尾のタスク要素の位置(locate)から、タスクシーケンスBのタスク要素(b)の位置(locate)までのmoveタスク要素(移動タスク要素)(=m,m,・・・m)を追加して、その最後にタスクシーケンスBのタスク要素(b)を追加する。
  (ステップS524)
 次に、ステップS524において、
 j=j+1とする。
 すなわち、moveタスク要素削除後の追加タスクシーケンスBから選択する要素を次の要素にするパラメータ更新を行う。
  (ステップS525)
 次に、ステップS525で、
 j>l
 上記判定式に従った判定処理を行う。これは、moveタスク要素削除後の追加タスクシーケンスBに未処理要素が残っているか否かの判定処理である。
 上記判定式が成立しない場合は、未処理タスク要素が残っていると判定し、ステップS523に戻る。上記判定式が成立した場合は、未処理タスク要素が残っていないと判定し、処理を終了する。
 このフローに従った処理を実行することで、優先度の高いタスクを先行して実行するというルールに従って、既存の車両対応タスクシーケンスに新たな追加タスクシーケンスを追加して1つの更新された車両対応タスクシーケンスを生成することが可能となる。
  [7.どの車両対応タスクシーケンスに新規タスクシーケンスを追加挿入するかを決定するためのコストマッチング処理の詳細について]
 次に、どの車両対応タスクシーケンスに新規タスクシーケンスを追加挿入するかを決定するためのコストマッチング処理の詳細について説明する。
 先に図7に示すフローを参照して説明したように、タスク管理サーバ101のタスク管理部122は、例えば新たなリクエストが発生した際、そのリクエストに基づいて、図7のフローのステップS102において、最小単位のタスクシーケンスを生成した後、ステップS103において、このタスクシーケンス最小コストで実行できる車両に割り当てて、その車両が実行すべきタスク列を示す車両対応タスクシーケンスを生成する。
 図7に示すフローのステップS103では、このように、タスク管理部122がステップS102で生成したタスクシーケンスを、車両単位のタスクシーケンス、すなわち車両対応タスクシーケンスに変換する。
 この変換処理に際しては、最も効率的な処理が可能となる車両の選択と処理シーケンスの設定が実行される。具体的にはコストやタスク優先度を考慮したシーケンス生成処理を行う。このコストに基づく車両対応タスクシーケンスの具体的な処理、すなわちコストマッチング処理の具体例について説明する。
 図30を参照して、タスク管理サーバ101のタスク管理部122が実行するコストマッチング処理の具体的シーケンスについて説明する。
 タスク管理部122は、図30に示すステップS601~S603の順に、処理を行い、タスクシーケンス最小コストで実行できる車両の決定を行い、その車両が実行すべき車両対応タスクシーケンスを生成する。
 ステップS601は、新たなリクエストに基づく新たなタスクシーケンスを生成した際に提起される問題を示している。すなわち、
 どの車両対応タスクシーケンスに、新規タスクシーケンスを追加するかという問題である。
 この問題を解決する具体的方法が、ステップS602に示すマッチングコスト算出処理である。
 マッチングコスト算出処理は、図30のステップS602に示すように以下の手順で実行される。
 マッチングコストを以下の3つのコスト値の重み付け線形結合で算出する。
 (1)costadd:増加コスト=現車両対応タスクシーケンスに対する新規タスクシーケンス挿入による増分(移動)時間コスト
 (2)costdis:現積載物対応コスト=(現在抱えているタスクのload,unload地点の重心と,追加するload,unloadの地点の距離平均)÷(車両の平均速度)
 (3)costnow:現タスク対応コスト=現在抱えているタスクシーケンスが終了するまでの総時間コスト
 マッチングコストは、上記3つのコスト値の重み付け線形結合で算出する。
 すなわち、マッチングコスト(cost)を以下の(式1)によって算出する。
 cost=wadd×costadd+wdis×costdis+wnow×costnow
 ・・・(式1)
 なお、
 waddは、costaddに対する重み(乗算パラメータ)、
 wdisは、costdisに対する重み(乗算パラメータ)、
 wnowは、costnowに対する重み(乗算パラメータ)、
 である。
 ステップS602において上記(式1)に従って、現時点の各車両に設定済みの車両対応タスクシーケンスに追加タスクシーケンスを追加挿入した場合のマッチングコスト(cost)、すなわち各車両対応のマッチングコストを算出する。
 ステップS103では、マッチングコストが最小となる車両を新規追加タスクシーケンスの追加対象として選択する。
 タスク管理サーバ101のタスク管理部122は、このようなコストマッチング処理により、新たなタスクシーケンスを割り当てる車両や、追加対象となる車両対応タスクシーケンスを決定する。
 図31以下を参照して、具体的な処理例について説明する。
 図31には、以下の各データを示している。
 (1)追加タスクシーケンス
 (A)A車の車両対応タスクシーケンス
 (B)B車の車両対応タスクシーケンス
 (1)追加タスクシーケンスは新たなリクエストに基づいて発生した追加タスクシーケンスである。この追加タスクシーケンスをA車、またはB車に割り当てることが必要であり、タスク管理サーバ101のタスク管理部122は、図30を参照して説明したマッチングコスト算出を行い、A車とB車のどちらに追加タスクシーケンスを割り当てた方が、コストが抑えられるかを判定して、よりコストの低い車両の車両対応タスクシーケンスに追加タスクシーケンスを挿入する。
 なお、A車は現在、図31(2)に示す車両対応タスクシーケンスを実行しており、B車は図31(3)に示す車両対応タスクシーケンスを実行している。
 図31の下部には、
 (1)追加タスクシーケンス
 (A)A車の車両対応タスクシーケンス
 (B)B車の車両対応タスクシーケンス
 これら3つのタスクシーケンスの具体的な処理シーケンスを示している。なお、各ノードに記載している(0,0)~(40,20)等の記載は、地点Pからのx方向とy方向の距離(km)を示している。例えばP8に示された(20,10)は、P8の位置がP1からx方向に20km、y方向に10kmであることを示している。
 (1)追加タスクシーケンス=load(P1,荷物X),move(P2).move(P3).move(P4),move(P9),move(P10),unload(P10,荷物X)は、
 P1で荷物Xを搭載し、P2,P3,P4,P9,P10と移動して、P10で荷物Xを降ろすタスクシーケンスである。
 (A)A車の車両対応タスクシーケンス=move(P3),move(P4),move(P5),unload(P5,荷物A)は、P3,P4,P5と移動して、P5で荷物Aを降ろすタスクシーケンスである。
 (B)B車の車両対応タスクシーケンス=move(P12),unload(P12,荷物B),move(P11),load(P11,荷物C),move(P6),unload(P6,荷物C)は、P12へ移動して、P12で荷物Bをおろし、P11へ移動して、P11で荷物Cを降ろして、P6へ移動して、P6で荷物Cを降ろすタスクシーケンスである。
 まず、A車についてのマッチングコスト算出処理について、図32、図33を参照して説明する。
 図32の上段の表には、
 (1)追加タスクシーケンス
 (A)A車の車両対応タスクシーケンス
 (a1)A車のcostadd(増加コスト)
 これらのデータを示している。
 (1)追加タスクシーケンスは、図31を参照して説明した追加タカクシーケンスである。すなわち、
 (1)追加タスクシーケンス=load(P1,荷物X),move(P2).move(P3).move(P4),move(P9),move(P10),unload(P10,荷物X)であり、P1で荷物Xを搭載し、P2,P3,P4,P9,P10と移動して、P10で荷物Xを降ろすタスクシーケンスである。
 (A)A車の車両対応タスクシーケンスも、図31を参照して説明したA車の車両対応タスクシーケンスである。A車は、図32下部に示すようにP2の位置にいる。この時点のA車の車両対応タスクシーケンスは以下の通りである。すなわち、
 (A)A車の車両対応タスクシーケンス=move(P3),move(P4),move(P5),unload(P5,荷物A)は、P3,P4,P5と移動して、P5で荷物Aを降ろすタスクシーケンスである。
 (a1)A車のcostadd(増加コスト)は、先に図30を参照して説明したように、増加コスト=現車両対応タスクシーケンスに対する新規タスクシーケンス挿入による増分(移動)時間コストである。
 A車の現車両対応タスクシーケンス、すなわち、図32の表の(A)に示すA車の車両対応タスクシーケンスに、追加タスクシーケンス、すなわち図32の表の(1)に示す追加タスクシーケンスを追加すると、図32表の(a1)に示すように、A車の車両対応タスクシーケンスは以下のように更新される。
 (a1)更新後のA車の車両対応タスクシーケンス=move(P3),move(P4),move(P5),unload(P5,荷物A),move(P4),move(P3),move(P2),move(P1),load(P1,荷物X),move(P2).move(P3).move(P4),move(P9),move(P10),unload(P10,荷物X)
 このシーケンスは、図32の下段のマップに示すように、P2からP3,P4,P5と移動して、P5で荷物Aを降ろし、その後、P4,P3,P2、P1と移動して、P1で荷物Xを載せて、その後、P2,P3,P4、P9、P10と移動して、P10で荷物Xを降ろすタスクシーケンスである。
 図32の表中の
 (A)に示す、A車の現車両対応タスクシーケンスと、
 (a1)に示す、A車の更新後の車両対応タスクシーケンス
 これらのデータを用いて、A車のcostadd(増加コスト)を算出する。
 この処理について説明する。
 A車の速度を40kmとする。
 (A)に示すA車の現車両対応タスクシーケンスから、(a1)に示すA車の更新後の車両対応タスクシーケンスに変更することで増加したタスクは以下の通りである。
 (1)増加した移動(move)タスク=move(P4),move(P3),move(P2),move(P1)と,move(P2).move(P3).move(P4),move(P9),move(P10),
 (2)増加した荷物上げ下ろし(load,unload)タスク=load(P1,荷物X)、unload(P10,荷物X)
 図32に示す2つの隣接ノード間の距離はいずれも10kmであり、またA車の速度は40kmであるので、A車による隣接ノード間の移動時間は10/40=0.25h(hour)となる。
 上記の「(1)増加した移動(move)タスク」には9つの隣接ノード間移動が含まれるので、総移動時間は、
 0.25×9=2.25h
 となる。
 また、荷物の搭載処理(load)と降ろす処理(unload)に要する時間をそれぞれ0.2hとする。
 結果として、図32(A)に示すA車の現車両対応タスクシーケンスから、(a1)に示すA車の更新後の車両対応タスクシーケンスに変更することで、タスク処理に必要な時間の増加分(=costadd(増加コスト))は以下の式によって算出できる。
 A車のcostadd(増加コスト)=移動(move)タスク増加時間+荷物搭載処理(load)タスク増加時間+荷物降ろし処理(unload)タスク増加時間
 =0.25×9+0.2+0.2
 =2.65
 次に、A車のcostdis(現積載物対応コスト)の算出処理について説明する。先に図30を参照して説明したように、
 costdis(現積載物対応コスト)=(現在抱えているタスクのload,unload地点の重心と,追加するload,unloadの地点の距離平均)÷(車両の平均速度)
 である。
 (現在抱えているタスクのload,unload地点の重心)について説明する。
 (A)A車の車両対応タスクシーケンス=move(P3),move(P4),move(P5),unload(P5,荷物A)は、P3,P4,P5と移動して、P5で荷物Aを降ろすタスクシーケンス、このタスクシーケンスにおいて、load,unloadタスクは、unload(P5,荷物A)のみである。従って、
 (現在抱えているタスクのload,unload地点の重心)はP5の位置であり、(40,0)となる。
 (追加するload地点)は、P1位置であり(0,0)
 (追加するunload地点)は、P10位置であり(40,10)
 となる。
 (現在抱えているタスクのload,unload地点の重心(40,0)と,追加するload地点P1(0,0)の距離)は、40km、
 (現在抱えているタスクのload,unload地点の重心(40,0)と,追加するunload地点P10(40,10)の距離)は、10km、
 となる。従って、A車のcostdis(現積載物対応コスト)は、図33(a2)に示すように、以下の式に従って計算することができる。
 A車のcostdis(現積載物対応コスト)=(現在抱えているタスクのload,unload地点の重心と,追加するload,unloadの地点の距離平均)÷(車両の平均速度)
 =((40+10)/2)/40=0.625
 次に、A車のcostnow(現タスク対応コスト)について説明する。
 先に図30を参照して説明したように、
 costnow(現タスク対応コスト)=現在抱えているタスクシーケンスが終了するまでの総時間コスト
 である。
 現在抱えているタスクシーケンスは、図32、図33に示す(A)A車の車両対応タスクシーケンスであり、
 A車の車両対応タスクシーケンス=move(P3),move(P4),move(P5),unload(P5,荷物A)である。すなわち、P3,P4,P5と移動して、P5で荷物Aを降ろすタスクシーケンスである。
 この現在抱えているタスクシーケンスは移動(move)タスクが10kmの隣接ノード間の移動が3つ、荷物上げ下ろし(loadまたはunload)が1回である。10kmの隣接ノード間の移動が3つ実行するための時間器走行速度=40kmの場合、
 (3×10)/40=0.75hである。
 また、荷物上げ下ろし(loadまたはunload)1回の所要時間は0.2hである。
 従って、A車が現在抱えている車両対応タスクシーケンスのタスクが終了するまでの総時間コスト、すなわち、costnow(現タスク対応コスト)は、図33(a3)に示すように、以下の式によって算出することができる。
 costnow(現タスク対応コスト)=(3×10)/40+0.2=0.95
 先に図30を参照して説明したように、マッチングコストは、上記3つのコスト値の重み付け線形結合で算出する。
 すなわち、マッチングコスト(cost)は以下の(式1)によって算出される。
 cost=wadd×costadd+wdis×costdis+wnow×costnow
 ・・・(式1)
 なお、
 waddは、costaddに対する重み(乗算パラメータ)、
 wdisは、costdisに対する重み(乗算パラメータ)、
 wnowは、costnowに対する重み(乗算パラメータ)、
 である。
 ここで、図33(a4)に示すように、各コスト対応の重み係数を全て1、すなわち、
 wadd=wdis=wnow=1
 とする。この設定とすると、A車のマッチングコスト(cost)は以下の式(によって算出される。
 cost=wadd×costadd+wdis×costdis+wnow×costnow
 =1×2.65+1×0.625+1×0.95
 =4.225・・・(式A)
 図33(A)に示す現在のA車の車両対応タスクシーケンスに、図33(1)に示す追加タスクシーケンスを追加した場合のA車のマッチングコスト(cost)は、上記(式A)に従って算出される値、4.225となる。
 次に、B車についてのマッチングコスト算出処理について、図34、図35を参照して説明する。
 図34の上段の表には、
 (1)追加タスクシーケンス
 (B)B車の車両対応タスクシーケンス
 (b1)B車のcostadd(増加コスト)
 これらのデータを示している。
 (1)追加タスクシーケンスは、図31を参照して説明した追加タカクシーケンスである。すなわち、
 (1)追加タスクシーケンス=load(P1,荷物X),move(P2).move(P3).move(P4),move(P9),move(P10),unload(P10,荷物X)であり、P1で荷物Xを搭載し、P2,P3,P4,P9,P10と移動して、P10で荷物Xを降ろすタスクシーケンスである。
 (B)B車の車両対応タスクシーケンスも、図31を参照して説明したB車の車両対応タスクシーケンスである。B車は、図34下部に示すようにP13の位置にいる。この時点のB車の車両対応タスクシーケンスは以下の通りである。すなわち、
 (B)B車の車両対応タスクシーケンス=move(P12),unload(P12,荷物B),move(P11),load(P11,荷物C),move(P6),unload(P6,荷物C)は、P12へ移動して、P12で荷物Bをおろし、P11へ移動して、P11で荷物Cを降ろして、P6へ移動して、P6で荷物Cを降ろすタスクシーケンスである。
 (b1)B車のcostadd(増加コスト)は、先に図30を参照して説明したように、増加コスト=現車両対応タスクシーケンスに対する新規タスクシーケンス挿入による増分(移動)時間コストである。
 B車の現車両対応タスクシーケンス、すなわち、図34の表の(B)に示すB車の車両対応タスクシーケンスに、追加タスクシーケンス、すなわち図34の表の(1)に示す追加タスクシーケンスを追加すると、図34表の(b1)に示すように、B車の車両対応タスクシーケンスは以下のように更新される。
 (b1)更新後のB車の車両対応タスクシーケンス=move(P12),unload(P12,荷物B),move(P11),load(P11,荷物C),move(P6),unload(P6,荷物C)move(P1),load(P1,荷物X),move(P2).move(P3).move(P4),move(P9),move(P10),unload(P10,荷物X)
 このシーケンスは、図34の下段のマップに示すように、P13からP12,P11と移動して、P11で荷物Cを降ろし、その後、P6,P1と移動して、P1で荷物Xを載せて、その後、P2,P3,P4、P9、P10と移動して、P10で荷物Xを降ろすタスクシーケンスである。
 図34の表中の
 (B)に示す、B車の現車両対応タスクシーケンスと、
 (b1)に示す、B車の更新後の車両対応タスクシーケンス
 これらのデータを用いて、B車のcostadd(増加コスト)を算出する。
 この処理について説明する。
 B車の速度を40kmとする。
 (B)に示すB車の現車両対応タスクシーケンスから、(b1)に示すB車の更新後の車両対応タスクシーケンスに変更することで増加したタスクは以下の通りである。
 (1)増加した移動(move)タスク=move(P1)と,move(P2).move(P3).move(P4),move(P9),move(P10),
 (2)増加した荷物上げ下ろし(load,unload)タスク=load(P1,荷物X)、unload(P10,荷物X)
 図34に示す2つの隣接ノード間の距離はいずれも10kmであり、またB車の速度は40kmであるので、B車による隣接ノード間の移動時間は10/40=0.25h(hour)となる。
 上記の「(1)増加した移動(move)タスク」には6つの隣接ノード間移動が含まれるので、総移動時間は、
 0.25×6=1.5h
 となる。
 また、荷物の搭載処理(load)と降ろす処理(unload)に要する時間をそれぞれ0.2hとする。
 結果として、図34(B)に示すB車の現車両対応タスクシーケンスから、(b1)に示すB車の更新後の車両対応タスクシーケンスに変更することで、タスク処理に必要な時間の増加分(=costadd(増加コスト))は以下の式によって算出できる。
 B車のcostadd(増加コスト)=移動(move)タスク増加時間+荷物搭載処理(load)タスク増加時間+荷物降ろし処理(unload)タスク増加時間
 =0.25×6+0.2+0.2
 =1.9
 次に、B車のcostdis(現積載物対応コスト)の算出処理について説明する。先に図30を参照して説明したように、
 costdis(現積載物対応コスト)=(現在抱えているタスクのload,unload地点の重心と,追加するload,unloadの地点の距離平均)÷(車両の平均速度)
 である。
 (現在抱えているタスクのload,unload地点の重心)について説明する。
 (B)B車の車両対応タスクシーケンス=move(P12),unload(P12,荷物B),move(P11),load(P11,荷物C),move(P6),unload(P6,荷物C)は、P12へ移動して、P12で荷物Bをおろし、P11へ移動して、P11で荷物Cを降ろして、P6へ移動して、P6で荷物Cを降ろすタスクシーケンス、このタスクシーケンスにおいて、load,unloadタスクは、unload(P12,荷物B),load(P11,荷物C),unload(P6,荷物C)、これらの3つのタスクである。
 従って、(現在抱えているタスクのload,unload地点の重心)は、図34の下部のマップに示すように、P12とP11と、P6の3点の重心位置であり、(3.33,16.67)となる。
 (追加するload地点)は、P1位置であり(0,0)
 (追加するunload地点)は、P10位置であり(40,10)
 となる。
 (現在抱えているタスクのload,unload地点の重心(3.33,16.67)と,追加するload地点P1(0,0)の距離)は、約17km、
 (現在抱えているタスクのload,unload地点の重心(3.33,16.67)と,追加するunload地点P10(40,10)の距離)は、約37km、
 となる。従って、B車のcostdis(現積載物対応コスト)は、図35(b2)に示すように、以下の式に従って計算することができる。
 B車のcostdis(現積載物対応コスト)=(現在抱えているタスクのload,unload地点の重心と,追加するload,unloadの地点の距離平均)÷(車両の平均速度)
 =((17+37)/2)/40=27
 次に、B車のcostnow(現タスク対応コスト)について説明する。
 先に図30を参照して説明したように、
 costnow(現タスク対応コスト)=現在抱えているタスクシーケンスが終了するまでの総時間コスト
 である。
 現在抱えているタスクシーケンスは、図34、図35に示す(B)B車の車両対応タスクシーケンスであり、
 B車の車両対応タスクシーケンス=move(P12),unload(P12,荷物B),move(P11),load(P11,荷物C),move(P6),unload(P6,荷物C)は、P12へ移動して、P12で荷物Bをおろし、P11へ移動して、P11で荷物Cを降ろして、P6へ移動して、P6で荷物Cを降ろすタスクシーケンスである。
 この現在抱えているタスクシーケンスは移動(move)タスクが10kmの隣接ノード間の移動が3つ、荷物上げ下ろし(loadまたはunload)が3回である。10kmの隣接ノード間の移動が3つ実行するための時間器走行速度=40kmの場合、
 (3×10)/40=0.75hである。
 また、荷物上げ下ろし(loadまたはunload)1回の所要時間は0.2hである。
 従って、B車が現在抱えている車両対応タスクシーケンスのタスクが終了するまでの総時間コスト、すなわち、costnow(現タスク対応コスト)は、図35(b3)に示すように、以下の式によって算出することができる。
 costnow(現タスク対応コスト)=(3×10)/40+0.2×3=1.35
 先に図30を参照して説明したように、マッチングコストは、上記3つのコスト値の重み付け線形結合で算出する。
 すなわち、マッチングコスト(cost)は以下の(式1)によって算出される。
 cost=wadd×costadd+wdis×costdis+wnow×costnow
 ・・・(式1)
 なお、
 waddは、costaddに対する重み(乗算パラメータ)、
 wdisは、costdisに対する重み(乗算パラメータ)、
 wnowは、costnowに対する重み(乗算パラメータ)、
 である。
 ここで、図35(b4)に示すように、各コスト対応の重み係数を全て1、すなわち、
 wadd=wdis=wnow=1
 とする。この設定とすると、B車のマッチングコスト(cost)は以下の式(によって算出される。
 cost=wadd×costadd+wdis×costdis+wnow×costnow
 =1×1.9+1×0.68+1×1.35
 =3.93・・・(式B)
 図35(B)に示す現在のB車の車両対応タスクシーケンスに、図35(1)に示す追加タスクシーケンスを追加した場合のB車のマッチングコスト(cost)は、上記(式B)に従って算出される値、3.93となる。
 先に、図32、図33を参照して説明したマッチングコスト(cost)は、先に説明した(式A)に従って算出される値、4.225であり、B車のマッチングコスト(cost)が、A車のマッチングコスト(cost)より小さい値となる。
 タスク管理サーバ101のたすく管理部122は、この結果に基づいて、マッチングコストの低いB車に、追加タスクシーケンスが割り当てる処理を実行する。
 なお、図31~図35を参照して説明した実施例では、各コスト対応の重み係数を全て1、すなわち、
 wadd=wdis=wnow=1
 このような設定でマッチングコストの算出処理を行った。
 これらの重み係数は、状況に応じて様々な設定が可能である。
 例えば天候や、交通状況などのデータに基づく学習処理を行い、学習結果に基づいて最適なパラメータ(重み係数)の設定を行うことが好ましい。
 重み係数の設定によって、A車とB車のマッチングコストは様々な値に変化する。この具体例を図36に示す。
 図36には、各コスト対応の重み係数の5種類の設定例、すなわち、以下の各設定例を示している。
 (1)wadd=wdis=wnow=1
 (2)wadd=2、wdis=wnow=1
 (3)wadd=1、wdis=2、wnow=1
 (4)wadd=wdis=1、wnow=1
 (5)wadd=1、wdis=wnow=2
 図31に示す追加タスクシーケンスを、図31に示すA車、B車に追加した場合のマッチングコストの算出に際して、上記(1)~(5)の設定を適用した場合のA車、B車のマッチングコストは図36に示すように以下のようになる。
 (1)wadd=wdis=wnow=1
 A車のマッチングコスト=4.225、B車のマッチングコスト=3.93、
 (2)wadd=2、wdis=wnow=1
 A車のマッチングコスト=6.875、B車のマッチングコスト=5.83、
 (3)wadd=1、wdis=2、wnow=1
 A車のマッチングコスト=4.85、B車のマッチングコスト=4.61、
 (4)wadd=wdis=1、wnow=1
 A車のマッチングコスト=5.175、B車のマッチングコスト=5.28、
 (5)wadd=1、wdis=wnow=2
 A車のマッチングコスト=5.8、B車のマッチングコスト=5.96、
 このように、パラメータ(重み係数)の設定により、各車対応のマッチングコストは様々な値に変化する。
 従って、前述したように、例えば天候や、交通状況などのデータに基づく学習処理を行い、学習結果に基づいて最適なパラメータ(重み係数)の設定を行うことが好ましい。
 また、上述した例では、荷物の搭載処理(load)と降ろす処理(unload)に要するコストとして算出している時間を一律0.2hとしているが、例えば荷物の重さ等を反映させた時間コストを設定するようにしてもよい。
  [8.情報処理装置の構成例について]
 次に、上述した処理を実行する情報処理装置、すなわち例えばタスク管理サーバ101、あるいは車両等の移動装置内に装着可能な情報処理装置の具体的なハードウェア構成例について、図37を参照して説明する。
 図37は情報処理装置のハードウェア構成例を示す図である。
 CPU(Central Processing Unit)301は、ROM(Read Only Memory)302、または記憶部308に記憶されているプログラムに従って各種の処理を実行するデータ処理部として機能する。例えば、上述した実施例において説明したシーケンスに従った処理を実行する。RAM(Random Access Memory)303には、CPU301が実行するプログラムやデータなどが記憶される。これらのCPU301、ROM302、およびRAM303は、バス304により相互に接続されている。
 CPU301はバス304を介して入出力インタフェース305に接続され、入出力インタフェース305には、各種スイッチ、キーボード、タッチパネル、マウス、マイクロフォン、さらに、センサ、カメラ、GPS等の状況データ取得部などよりなる入力部306、ディスプレイ、スピーカなどよりなる出力部307が接続されている。
 CPU301は、入力部306から入力される指令や状況データ等を入力し、各種の処理を実行し、処理結果を例えば出力部307に出力する。
 入出力インタフェース305に接続されている記憶部308は、例えばハードディスク等からなり、CPU301が実行するプログラムや各種のデータを記憶する。通信部309は、インターネットやローカルエリアネットワークなどのネットワークを介したデータ通信の送受信部として機能し、外部の装置と通信する。
 入出力インタフェース305に接続されているドライブ310は、磁気ディスク、光ディスク、光磁気ディスク、あるいはメモリカード等の半導体メモリなどのリムーバブルメディア311を駆動し、データの記録あるいは読み取りを実行する。
  [9.本開示の構成のまとめ]
 以上、特定の実施例を参照しながら、本開示の実施例について詳解してきた。しかしながら、本開示の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本開示の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
 なお、本明細書において開示した技術は、以下のような構成をとることができる。
 (1) 移動装置の移動経路上に設定された登録ノード間の移動処理と、登録ノードでの処理について、ノード識別子と処理種類を含むデータであるタスクとして記述し、各タスクを時系列に並べたタスクシーケンスを生成し、さらに、
 生成したタスクシーケンスに基づいて、各移動装置対応のタスクシーケンスである移動装置対応タスクシーケンスを生成するタスク管理部を有し、
 前記タスク管理部は、
 処理実行要求であるリクエストに基づいて生成した新たな追加タスクシーケンスに含まれるタスクを、移動装置において実行中の移動装置対応タスクシーケンスに挿入する移動装置対応タスクシーケンス更新処理を実行する情報処理装置。
 (2) 前記タスク管理部は、
 処理実行要求であるリクエストに基づいて、該リクエストを実行するための1つ以上のタスクシーケンスを生成し、
 生成したタスクシーケンスを、1つ以上の移動装置に割り当てて、移動装置対応の移動装置対応タスクシーケンスを生成する(1)に記載の情報処理装置。
 (3) 前記タスク管理部は、
 処理コストが最小となる移動装置対応タスクシーケンスを生成する(1)または(2)に記載の情報処理装置。
 (4) 前記タスク管理部は、
 移動処理と、荷物または人を乗せる処理と、荷物または人を降ろす処理と、待機処理とを区別したタスクを生成する(1)~(3)いずれかに記載の情報処理装置。
 (5) 前記タスク管理部は、
 前記移動装置対応タスクシーケンス更新処理において、
 処理実行要求であるリクエストに基づいて生成した新たな追加タスクシーケンスから移動処理を削除して、その他の処理の実行ノード位置と、移動装置において実行中の移動装置対応タスクシーケンス中の各タスクのノード位置とを比較して、一致するノード位置を持つタスクの隣接位置に、前記追加タスクシーケンス中の移動処理以外のタスクを挿入する(1)~(4)いずれかに記載の情報処理装置。
 (6) 前記タスク管理部は、
 前記移動装置対応タスクシーケンス更新処理において、
 挿入タスクのノード位置と、該挿入タスクに隣接するタスクのノード位置間を移動させるための移動タスクを挿入する(5)に記載の情報処理装置。
 (7) 前記タスク管理部は、
 予め規定されたコスト算出アルゴリズムに従って、各移動装置対応のマッチングコストを算出し、算出した各移動装置対応のマッチングコストに基づいて、タスクシーケンスを割り当てる移動装置を決定する(1)~(6)いずれかに記載の情報処理装置。
 (8) 前記タスク管理部は、
 (a)各移動装置に対するタスクシーケンスの追加によって発生する処理時間の増加コストであるcostadd
 (b)現時点の移動装置対応タスク中の積載物対応コストであるcostdis
 (c)現時点の移動装置対応タスクシーケンスが終了するまでの時間に相当する現タスク対応コストcostnow
 上記(a),(b),(c)の各コストに基づく演算処理により、前記マッチングコストを算出する(7)に記載の情報処理装置。
 (9) 前記タスク管理部は、
 前記(a),(b),(c)の各コストに予め規定した重み係数を乗算し、各乗算結果を加算することで、前記マッチングコストを算出する(8)に記載の情報処理装置。
 (10) 前記重み係数は、予め実行された学習処理によって決定される係数である(9)に記載の情報処理装置。
 (11) 前記タスク管理部は、
 タスクの優先度に基づいて、タスクシーケンスを割り当てる移動装置を決定する(1)~(10)いずれかに記載の情報処理装置。
 (12) 前記タスク管理部は、
 各タスクに優先度情報を記録したタスクを生成する(1)~(11)いずれかに記載の情報処理装置。
 (13) 移動装置対応のタスクシーケンスである移動装置対応タスクシーケンスに従った処理を実行する移動装置であり、
 前記移動装置対応タスクシーケンスは、前記移動装置、または外部サーバにおいて生成されたシーケンスであり、前記移動装置の移動経路上に設定された登録ノード間の移動処理と、登録ノードでの処理について、ノード識別子と処理種類を含むタスクを時系列に並べたタスクシーケンスであり、
 前記移動装置は、
 新たな追加タスクシーケンスが発生した場合、該追加タスクシーケンスに含まれるタスクを前記移動装置対応タスクシーケンスに挿入した更新移動装置対応タスクシーケンスを実行する移動装置。
 (14) 前記移動装置対応タスクシーケンスは、
 処理実行要求であるリクエストを実行するために生成された1つ以上のタスクシーケンスに基づいて、処理コスト、またはタスク優先度に従って生成されたシーケンスである(13)に記載の移動装置。
 (15) 処理実行要求であるリクエストを送信する端末と、前記端末からリクエストを受信するタスク管理サーバと、処理を実行する移動装置を有する情報処理システムであり、
 前記タスク管理サーバは、
 前記リクエストに応じて、前記移動装置の移動経路上に設定された登録ノード間の移動処理と、登録ノードでの処理について、ノード識別子と処理種類を含むデータであるタスクとして記述し、各タスクを時系列に並べた各移動装置対応のタスクシーケンスである移動装置対応タスクシーケンスを生成するとともに、
 処理実行要求であるリクエストに基づいて生成した新たな追加タスクシーケンスに含まれるタスクを移動装置において実行中の移動装置対応タスクシーケンスに挿入して更新移動装置対応タスクシーケンスを生成し、
 前記移動装置は、
 前記追加タスクシーケンスに含まれるタスクを有する更新移動装置対応タスクシーケンスに従って処理を実行する情報処理システム。
 (16) 情報処理装置において実行する情報処理方法であり、
 タスク管理部が、
 移動装置の移動経路上に設定された登録ノード間の移動処理と、登録ノードでの処理について、ノード識別子と処理種類を含むデータであるタスクとして記述し、各タスクを時系列に並べたタスクシーケンスを生成するタスクシーケンス生成ステップと、
 生成したタスクシーケンスに基づいて、各移動装置対応のタスクシーケンスである移動装置対応タスクシーケンスを生成する移動装置対応タスクシーケンス生成ステップを実行し、
 前記移動装置対応タスクシーケンス生成ステップにおいて、
 処理実行要求であるリクエストに基づいて生成した新たな追加タスクシーケンスに含まれるタスクを、移動装置において実行中の移動装置対応タスクシーケンスに挿入する移動装置対応タスクシーケンス更新処理を実行する情報処理方法。
 (17) 情報処理装置において情報処理を実行させるプログラムであり、
 タスク管理部に、
 移動装置の移動経路上に設定された登録ノード間の移動処理と、登録ノードでの処理について、ノード識別子と処理種類を含むデータであるタスクとして記述し、各タスクを時系列に並べたタスクシーケンスを生成させるタスクシーケンス生成ステップと、
 生成したタスクシーケンスに基づいて、各移動装置対応のタスクシーケンスである移動装置対応タスクシーケンスを生成させる移動装置対応タスクシーケンス生成ステップを実行させ、
 前記移動装置対応タスクシーケンス生成ステップにおいて、
 処理実行要求であるリクエストに基づいて生成した新たな追加タスクシーケンスに含まれるタスクを、移動装置において実行中の移動装置対応タスクシーケンスに挿入する移動装置対応タスクシーケンス更新処理を実行させるプログラム。
 また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、LAN(Local Area Network)、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
 なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
 以上、説明したように、本開示の一実施例の構成によれば、ノードのノード識別子と処理種類を記録したタスクシーケンスを生成し、さらに追加タスクの発生に応じて動的にタスクシーケンスを更新して移動装置に実行させることで、無駄のないタスクシーケンスの生成とタスク処理を可能とする構成が実現される。
 具体的には、例えば、登録ノード間の移動処理と登録ノードでの処理について、ノード識別子と処理種類を含むタスクを時系列に並べたタスクシーケンスを生成し、さらに、各移動装置対応の移動装置対応タスクシーケンスを生成する。新たな追加タスクシーケンスが発生した場合、そこに含まれるタスクを既存の移動装置対応タスクシーケンスに挿入する移動装置対応タスクシーケンス更新処理を実行する。
 本構成により、ノードのノード識別子と処理種類を記録したタスクシーケンスを生成し、さらに追加タスクの発生に応じて動的にタスクシーケンスを更新して移動装置に実行させることで、無駄のないタスクシーケンスの生成とタスク処理を可能とする構成が実現される。
  10 配送車両
  11,12 目的地
 101 タスク管理サーバ
 102 ユーザ端末
 103 車両
 105 ネットワーク
 121 リクエスト処理部
 122 タスク管理部
 123 車両管理部
 124 通信部
 131 リクエストDB(データベース)
 132 タスクDB(データベース)
 133 車両DB(データベース)
 134 地図DB(データベース)
 301 CPU
 302 ROM
 303 RAM
 304 バス
 305 入出力インタフェース
 306 入力部
 307 出力部
 308 記憶部
 309 通信部
 310 ドライブ
 311 リムーバブルメディア

Claims (17)

  1.  移動装置の移動経路上に設定された登録ノード間の移動処理と、登録ノードでの処理について、ノード識別子と処理種類を含むデータであるタスクとして記述し、各タスクを時系列に並べたタスクシーケンスを生成し、さらに、
     生成したタスクシーケンスに基づいて、各移動装置対応のタスクシーケンスである移動装置対応タスクシーケンスを生成するタスク管理部を有し、
     前記タスク管理部は、
     処理実行要求であるリクエストに基づいて生成した新たな追加タスクシーケンスに含まれるタスクを、移動装置において実行中の移動装置対応タスクシーケンスに挿入する移動装置対応タスクシーケンス更新処理を実行する情報処理装置。
  2.  前記タスク管理部は、
     処理実行要求であるリクエストに基づいて、該リクエストを実行するための1つ以上のタスクシーケンスを生成し、
     生成したタスクシーケンスを、1つ以上の移動装置に割り当てて、移動装置対応の移動装置対応タスクシーケンスを生成する請求項1に記載の情報処理装置。
  3.  前記タスク管理部は、
     処理コストが最小となる移動装置対応タスクシーケンスを生成する請求項1に記載の情報処理装置。
  4.  前記タスク管理部は、
     移動処理と、荷物または人を乗せる処理と、荷物または人を降ろす処理と、待機処理とを区別したタスクを生成する請求項1に記載の情報処理装置。
  5.  前記タスク管理部は、
     前記移動装置対応タスクシーケンス更新処理において、
     処理実行要求であるリクエストに基づいて生成した新たな追加タスクシーケンスから移動処理を削除して、その他の処理の実行ノード位置と、移動装置において実行中の移動装置対応タスクシーケンス中の各タスクのノード位置とを比較して、一致するノード位置を持つタスクの隣接位置に、前記追加タスクシーケンス中の移動処理以外のタスクを挿入する請求項1に記載の情報処理装置。
  6.  前記タスク管理部は、
     前記移動装置対応タスクシーケンス更新処理において、
     挿入タスクのノード位置と、該挿入タスクに隣接するタスクのノード位置間を移動させるための移動タスクを挿入する請求項5に記載の情報処理装置。
  7.  前記タスク管理部は、
     予め規定されたコスト算出アルゴリズムに従って、各移動装置対応のマッチングコストを算出し、算出した各移動装置対応のマッチングコストに基づいて、タスクシーケンスを割り当てる移動装置を決定する請求項1に記載の情報処理装置。
  8.  前記タスク管理部は、
     (a)各移動装置に対するタスクシーケンスの追加によって発生する処理時間の増加コストであるcostadd
     (b)現時点の移動装置対応タスク中の積載物対応コストであるcostdis
     (c)現時点の移動装置対応タスクシーケンスが終了するまでの時間に相当する現タスク対応コストcostnow
     上記(a),(b),(c)の各コストに基づく演算処理により、前記マッチングコストを算出する請求項7に記載の情報処理装置。
  9.  前記タスク管理部は、
     前記(a),(b),(c)の各コストに予め規定した重み係数を乗算し、各乗算結果を加算することで、前記マッチングコストを算出する請求項8に記載の情報処理装置。
  10.  前記重み係数は、予め実行された学習処理によって決定される係数である請求項9に記載の情報処理装置。
  11.  前記タスク管理部は、
     タスクの優先度に基づいて、タスクシーケンスを割り当てる移動装置を決定する請求項1に記載の情報処理装置。
  12.  前記タスク管理部は、
     各タスクに優先度情報を記録したタスクを生成する請求項1に記載の情報処理装置。
  13.  移動装置対応のタスクシーケンスである移動装置対応タスクシーケンスに従った処理を実行する移動装置であり、
     前記移動装置対応タスクシーケンスは、前記移動装置、または外部サーバにおいて生成されたシーケンスであり、前記移動装置の移動経路上に設定された登録ノード間の移動処理と、登録ノードでの処理について、ノード識別子と処理種類を含むタスクを時系列に並べたタスクシーケンスであり、
     前記移動装置は、
     新たな追加タスクシーケンスが発生した場合、該追加タスクシーケンスに含まれるタスクを前記移動装置対応タスクシーケンスに挿入した更新移動装置対応タスクシーケンスを実行する移動装置。
  14.  前記移動装置対応タスクシーケンスは、
     処理実行要求であるリクエストを実行するために生成された1つ以上のタスクシーケンスに基づいて、処理コスト、またはタスク優先度に従って生成されたシーケンスである請求項13に記載の移動装置。
  15.  処理実行要求であるリクエストを送信する端末と、前記端末からリクエストを受信するタスク管理サーバと、処理を実行する移動装置を有する情報処理システムであり、
     前記タスク管理サーバは、
     前記リクエストに応じて、前記移動装置の移動経路上に設定された登録ノード間の移動処理と、登録ノードでの処理について、ノード識別子と処理種類を含むデータであるタスクとして記述し、各タスクを時系列に並べた各移動装置対応のタスクシーケンスである移動装置対応タスクシーケンスを生成するとともに、
     処理実行要求であるリクエストに基づいて生成した新たな追加タスクシーケンスに含まれるタスクを移動装置において実行中の移動装置対応タスクシーケンスに挿入して更新移動装置対応タスクシーケンスを生成し、
     前記移動装置は、
     前記追加タスクシーケンスに含まれるタスクを有する更新移動装置対応タスクシーケンスに従って処理を実行する情報処理システム。
  16.  情報処理装置において実行する情報処理方法であり、
     タスク管理部が、
     移動装置の移動経路上に設定された登録ノード間の移動処理と、登録ノードでの処理について、ノード識別子と処理種類を含むデータであるタスクとして記述し、各タスクを時系列に並べたタスクシーケンスを生成するタスクシーケンス生成ステップと、
     生成したタスクシーケンスに基づいて、各移動装置対応のタスクシーケンスである移動装置対応タスクシーケンスを生成する移動装置対応タスクシーケンス生成ステップを実行し、
     前記移動装置対応タスクシーケンス生成ステップにおいて、
     処理実行要求であるリクエストに基づいて生成した新たな追加タスクシーケンスに含まれるタスクを、移動装置において実行中の移動装置対応タスクシーケンスに挿入する移動装置対応タスクシーケンス更新処理を実行する情報処理方法。
  17.  情報処理装置において情報処理を実行させるプログラムであり、
     タスク管理部に、
     移動装置の移動経路上に設定された登録ノード間の移動処理と、登録ノードでの処理について、ノード識別子と処理種類を含むデータであるタスクとして記述し、各タスクを時系列に並べたタスクシーケンスを生成させるタスクシーケンス生成ステップと、
     生成したタスクシーケンスに基づいて、各移動装置対応のタスクシーケンスである移動装置対応タスクシーケンスを生成させる移動装置対応タスクシーケンス生成ステップを実行させ、
     前記移動装置対応タスクシーケンス生成ステップにおいて、
     処理実行要求であるリクエストに基づいて生成した新たな追加タスクシーケンスに含まれるタスクを、移動装置において実行中の移動装置対応タスクシーケンスに挿入する移動装置対応タスクシーケンス更新処理を実行させるプログラム。
PCT/JP2019/022880 2018-06-29 2019-06-10 情報処理装置、移動装置、情報処理システム、および方法、並びにプログラム WO2020003988A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201980042037.1A CN112334925A (zh) 2018-06-29 2019-06-10 信息处理装置、移动装置、信息处理系统、方法以及程序
EP19824787.6A EP3816887A4 (en) 2018-06-29 2019-06-10 INFORMATION PROCESSING DEVICE, MOVABLE DEVICE, INFORMATION PROCESSING SYSTEM, METHOD AND PROGRAM
KR1020207037311A KR20210023892A (ko) 2018-06-29 2019-06-10 정보 처리 장치, 이동 장치, 정보 처리 시스템, 및 방법, 그리고 프로그램
US17/253,619 US20210166186A1 (en) 2018-06-29 2019-06-10 Information processing device, moving device, information processing system, method, and program
JP2020527356A JPWO2020003988A1 (ja) 2018-06-29 2019-06-10 情報処理装置、移動装置、情報処理システム、および方法、並びにプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-124323 2018-06-29
JP2018124323 2018-06-29

Publications (1)

Publication Number Publication Date
WO2020003988A1 true WO2020003988A1 (ja) 2020-01-02

Family

ID=68986502

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/022880 WO2020003988A1 (ja) 2018-06-29 2019-06-10 情報処理装置、移動装置、情報処理システム、および方法、並びにプログラム

Country Status (6)

Country Link
US (1) US20210166186A1 (ja)
EP (1) EP3816887A4 (ja)
JP (1) JPWO2020003988A1 (ja)
KR (1) KR20210023892A (ja)
CN (1) CN112334925A (ja)
WO (1) WO2020003988A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3816963A4 (en) * 2018-06-29 2021-08-04 Sony Group Corporation INFORMATION PROCESSING DEVICE, MOBILE DEVICE, INFORMATION PROCESSING SYSTEM, PROCESS AND PROGRAM

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000259979A (ja) * 1999-03-04 2000-09-22 Fujitsu Ltd 運行管理システムおよび方法
JP2002183265A (ja) * 2000-12-18 2002-06-28 Sumitomo Electric Ind Ltd 配車計画立案支援装置および方法、ならびに配車計画立案支援プログラムを記録した記録媒体
JP2006018443A (ja) * 2004-06-30 2006-01-19 Sumitomo Electric Ind Ltd 車両巡回計画立案装置、車両巡回計画立案方法、車両巡回計画立案方法をコンピュータに実行させるためのプログラムおよびそのプログラムを記録したコンピュータ読取り可能な記録媒体
JP2008230816A (ja) 2007-03-22 2008-10-02 Hitachi Software Eng Co Ltd 調達物流スケジュール作成システム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8886453B2 (en) * 2008-12-11 2014-11-11 Telogis, Inc. System and method for efficient routing on a network in the presence of multiple-edge restrictions and other constraints
US10783466B2 (en) * 2016-07-07 2020-09-22 Sap Se Integrated system for optimizing vehicle utilization

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000259979A (ja) * 1999-03-04 2000-09-22 Fujitsu Ltd 運行管理システムおよび方法
JP2002183265A (ja) * 2000-12-18 2002-06-28 Sumitomo Electric Ind Ltd 配車計画立案支援装置および方法、ならびに配車計画立案支援プログラムを記録した記録媒体
JP2006018443A (ja) * 2004-06-30 2006-01-19 Sumitomo Electric Ind Ltd 車両巡回計画立案装置、車両巡回計画立案方法、車両巡回計画立案方法をコンピュータに実行させるためのプログラムおよびそのプログラムを記録したコンピュータ読取り可能な記録媒体
JP2008230816A (ja) 2007-03-22 2008-10-02 Hitachi Software Eng Co Ltd 調達物流スケジュール作成システム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3816887A4

Also Published As

Publication number Publication date
KR20210023892A (ko) 2021-03-04
CN112334925A (zh) 2021-02-05
EP3816887A4 (en) 2021-06-16
JPWO2020003988A1 (ja) 2021-07-08
EP3816887A1 (en) 2021-05-05
US20210166186A1 (en) 2021-06-03

Similar Documents

Publication Publication Date Title
JP2021519473A (ja) Gtpシステムの管理方法と装置、システム、サーバーならびにコンピュータ記憶媒体
JP6082074B1 (ja) 配車方法及び配車システム
US20180349850A1 (en) Transport Plan Generating Method and Transport Plan Generating System
KR20200134747A (ko) 컨테이너 터미널에서 복수 운송장비의 배차 전략 다원화를 위한 운영 관리 방법
US11367126B2 (en) Out-of-store purchase routing systems, methods, and media
US20230040347A1 (en) Dynamic control panel interface mechanics for real-time delivery operation management system
JP5443647B2 (ja) 住宅情報グローバル・システム
WO2020003988A1 (ja) 情報処理装置、移動装置、情報処理システム、および方法、並びにプログラム
CN113033971B (zh) 一种服务器及递送机器人的运单调度方法、介质和装置
WO2020003987A1 (ja) 情報処理装置、移動装置、情報処理システム、および方法、並びにプログラム
Hao et al. Introduction to the dynamic pickup and delivery problem benchmark--ICAPS 2021 competition
CN115829451A (zh) 物流路径规划方法、装置、计算机设备和存储介质
WO2019037368A1 (zh) 配送任务处理方法、装置、电子设备及计算机存储介质
KR20230098111A (ko) 폐기물 수거 운송차 배차 방법, 장치 및 시스템
JP2006107167A (ja) スケジューリングシステム,スケジューリングプログラム及びスケジューリング方法
CN110956384A (zh) 配送任务的处理方法、装置、电子设备及可读存储介质
JP7082531B2 (ja) 輸送業務管理装置及び輸送業務管理方法
CN111445053B (zh) 用工需求信息处理方法、装置及电子设备
CN113222310B (zh) 一种拣货生产力调度方法和装置
JP7363697B2 (ja) 情報処理装置、情報処理方法、およびプログラム
CN116586312B (zh) 货物分拣方法、装置、电子设备及可读存储介质
JP4945794B2 (ja) 配車支援システム
Parragh et al. A survey on pickup and delivery problems
CN116787415A (zh) 利用机器人在仓库中执行任务的方法和装置
CN113837660A (zh) 行车调度方法、介质和电子设备

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020527356

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2019824787

Country of ref document: EP