Carrier movement service orchestration method and apparatus, and device
By providing active nodes and event nodes in vehicle mobile services and orchestrating business process files, the lack of effective task orchestration and scheduling in the existing technology is solved, and flexible orchestration and efficient control of complex scenarios are achieved.
Patent Information
- Application Number
- PCT/CN2024/124356
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-10-16
- Filing Date
- 2024-10-12
- Publication Date
- 2025-04-24
AI Technical Summary
The prior art lacks effective task orchestration and scheduling methods to adapt to complex in-plant mobile robot operation processes, especially when facing a variety of unknown business scenarios.
By providing active nodes and event nodes, the vehicle mobile service orchestration information input by the user, and the business process files are arranged in combination with these nodes to control vehicle movement. The active node includes orchestration objects and their configuration parameters, and the event node includes message objects and their configuration parameters.
The task scenario arrangement of robots in the factory is realized, and any composite scenarios can be obtained through arrangement and combination, which improves the flexibility of the scheduling system, reduces the development workload of R&D personnel, and reduces the operating and maintenance costs.
Smart Images

Figure CN2024124356_24042025_PF_FP_ABST
Abstract
Description
Method, system and device for orchestrating vehicle mobile services Technical Field
[0001] The present application relates to the field of robot control technology, and in particular to a method, system, and device for orchestrating vehicle mobility services. Background Art
[0002] Warehouse management is the management of materials (such as goods) stored in warehouses. Warehouses are buildings and spaces where materials are stored and protected. To achieve this, mobile robots (such as forklifts, automated guided vehicles, and bin robots) automatically transport materials (such as bins, shelves, and pallets). These materials are carried by these vehicles.
[0003] As business expands, the operational processes of mobile robots within factories are becoming increasingly complex, requiring adaptation to a variety of unknown business scenarios. However, no reasonable control method for task orchestration and scheduling of mobile robots within factories has been established in related technologies.
[0004] Summary of the Invention
[0005] The present application provides a method for orchestrating vehicle mobility services, the method comprising:
[0006] Provide activity nodes and event nodes, wherein the activity node includes an orchestration object and its configuration parameters, the configuration parameters of the orchestration object including the input parameters, output parameters, and functions of the orchestration object, and the orchestration object is a resource used during the vehicle movement process; the event node includes a message object and its configuration parameters, the configuration parameters of the message object including the function of the message object, and the message object is a message that triggers the continuation of the process during the vehicle movement process;
[0007] Based on the vehicle movement service arrangement information input by the user, a service process file is arranged in combination with the activity node and the event node; wherein the service process file is used to control the vehicle movement.
[0008] The present application provides a vehicle mobility service orchestration system, the system comprising:
[0009] An acquisition module is configured to provide activity nodes and event nodes. The activity nodes include orchestration objects and their configuration parameters. The configuration parameters of the orchestration objects include their input parameters, output parameters, and functions. The orchestration objects are resources used during vehicle movement. The event nodes include message objects and their configuration parameters. The configuration parameters of the message objects include their functions. The message objects are messages that trigger the continuation of a process during vehicle movement.
[0010] A processing module, configured to compose a business process file based on the vehicle mobility business choreography information input by the user and in combination with the activity node and the event node;
[0011] The business process file is used to control the movement of the vehicle.
[0012] The present application provides an electronic device, comprising: a processor and a machine-readable storage medium, wherein the machine-readable storage medium stores machine-executable instructions that can be executed by the processor; the processor is used to execute the machine-executable instructions to implement the vehicle mobile service orchestration method of the above-mentioned example of the present application.
[0013] It can be seen from the above technical solutions that in the embodiment of the present application, by providing active nodes and event nodes, it is possible to orchestrate business process files based on the vehicle movement business orchestration information input by the user, in combination with the active nodes and event nodes, and the business process files are used to control the movement of the vehicle. In this way, various task scenarios of robots in the factory can be orchestrated, and any composite scenario can be obtained by arranging and combining a variety of task scenarios. The business is highly flexible and saves project development costs. In addition, the target vehicle is moved from the initial position point to the target position point based on the orchestrated task, making the robot's task execution more reasonable, improving on-site maintenance efficiency, reducing operating and maintenance costs, and improving task implementation efficiency and user experience. It can improve the flexibility of the scheduling system and reduce the development workload of R&D personnel. It can solve the problems of large customization of the scheduling system, many businesses involved, and frequent R&D introduced due to code modifications. BRIEF DESCRIPTION OF THE DRAWINGS
[0014] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments of the present application or the description of the prior art. Obviously, the drawings described below are only some embodiments recorded in this application. For ordinary technicians in this field, other drawings can also be obtained based on these drawings of the embodiments of the present application.
[0015] FIG1 is a flow chart of a method for orchestrating vehicle mobility services in one embodiment of the present application.
[0016] FIG2 is a schematic diagram of a system structure in one embodiment of the present application.
[0017] FIG3 is a flowchart of a method for executing a task of a vehicle mobile service in one embodiment of the present application.
[0018] FIG4 is a schematic diagram of a cross-map movement process in one embodiment of the present application.
[0019] FIG5 is a schematic diagram of a cross-map movement process in one embodiment of the present application.
[0020] FIG6 is a schematic structural diagram of a vehicle mobility service orchestration system in one embodiment of the present application.
[0021] FIG7 is a hardware structure diagram of an electronic device in one embodiment of the present application. DETAILED DESCRIPTION
[0022] The terms used in the embodiments of this application are only for the purpose of describing specific embodiments and are not intended to limit this application. The singular forms "a," "the," and "the" used in this application and claims are also intended to include plural forms unless the context clearly indicates otherwise. It should also be understood that the term "and / or" used herein refers to any or all possible combinations of one or more associated listed items.
[0023] It should be understood that although the terms first, second, third, etc. may be used to describe various information in the embodiments of the present application, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from each other. For example, without departing from the scope of the present application, the first information may also be referred to as the second information, and similarly, the second information may also be referred to as the first information. Depending on the context, the word "if" used may also be interpreted as "at the time of" or "when" or "in response to determining".
[0024] In an embodiment of the present application, a method for orchestrating vehicle mobile services is proposed. The method can be applied to electronic devices, and the electronic devices can be any type of devices, such as a host, a management platform, a server, a personal computer, a laptop computer, a smart phone, etc. As shown in Figure 1, the method may include steps 101 to 102.
[0025] Step 101: Provide an activity node and an event node. The activity node includes an orchestration object and its configuration parameters. The configuration parameters of the orchestration object include its input parameters, output parameters, and functions. The orchestration object is a resource used during vehicle movement. The event node includes a message object and its configuration parameters. The configuration parameters of the message object include its functions. The message object is a message that triggers the continuation of the process during vehicle movement.
[0026] Exemplarily, the orchestration objects in the active node may include, but are not limited to, at least one of the following:
[0027] A vehicle object represents a vehicle to be moved in a vehicle movement service, such as a bin, shelf, or pallet. The configuration parameters of a vehicle object may include its input parameters (such as the region where the vehicle object is located and its identifier, though these are not restricted; it only requires that the input parameters be sufficient to locate the vehicle object), its output parameters (such as finding a vehicle object that meets the input parameters), and its function (such as whether the vehicle object is used to transport materials). These configuration parameters are not restricted.
[0028] A storage node object represents a location for placing a vehicle in a vehicle mobile service. A storage node may be a site (a location on the ground for placing a vehicle may be referred to as a site), a location (a location at a certain height for placing a vehicle may be referred to as a location), or a lane (an area / channel for placing a vehicle may be referred to as a lane, and a lane may include multiple locations and / or multiple sites). The configuration parameters of the storage node object may include input parameters of the storage node object (such as searching for a storage node object from a site, searching for a storage node object from a location, searching for a storage node object from a lane, etc., and there is no restriction on this, as long as the storage node object can be found through the input parameters), output parameters of the storage node object (such as finding a storage node object that meets the input parameters), and functions of the storage node object (such as whether the storage node object is used to place a vehicle, such as an initial location point, a target location point, etc.). There is no restriction on this configuration parameter.
[0029] Vehicle object, which represents the type of robot used to place vehicles in the vehicle mobility service, such as forklifts, automated guided vehicles, and container robots. The configuration parameters of a vehicle object can include its input parameters (such as its type, which is not restricted; it only needs to be able to find the vehicle object based on the input parameters), its output parameters (such as finding a vehicle object that meets the input parameters), and its functionality (such as whether the vehicle object corresponds to a certain type of robot). These configuration parameters are not restricted.
[0030] A route object represents the robot's movement route in the vehicle mobility service. Its configuration parameters may include its input parameters (e.g., the algorithm used to calculate the movement route (e.g., A* algorithm, etc.), which are not restricted; as long as the input parameters can be used to find a route object), its output parameters (e.g., finding a route object that meets the input parameters), and its function (e.g., the route the route corresponds to). These configuration parameters are not restricted.
[0031] A robot object represents a robot in the vehicle movement service. Its configuration parameters include its input parameters (e.g., the type of task it performs, such as empty vehicle movement or loaded vehicle movement), its output parameters (e.g., finding a robot object that meets the input parameters), and its functionality. These configuration parameters are not restricted.
[0032] Peripheral resource objects represent peripheral resources in the vehicle mobility service. Configuration parameters for peripheral resource objects may include input parameters (such as the type of the peripheral resource object), output parameters (such as finding a peripheral resource object that meets the input parameters), and the function of the peripheral resource object (such as an elevator function). There are no restrictions on these configuration parameters.
[0033] Of course, the above are just a few examples of orchestration objects in an activity node and are not limited thereto.
[0034] Exemplarily, the message object in the event node may include but is not limited to at least one of the following:
[0035] Resource change message object, which is a message that triggers the continuation of the process during the vehicle movement. The configuration parameters of the resource change message object indicate that the resources of the orchestration object have changed.
[0036] The task continues to execute the message object. The task continues to execute the message object is the message that triggers the process to continue executing during the vehicle movement. The configuration parameters of the resource change message object indicate that the task continues to execute.
[0037] Peripheral notification message object, which is a message that triggers the process to continue executing during the movement of the vehicle. The peripheral notification message object may include a resource request message and a resource in place message. The configuration parameters of the resource request message indicate a request for peripheral resources (which can trigger the process to continue executing), and the configuration parameters of the resource in place message indicate that the peripheral resources are ready (which can trigger the process to continue executing).
[0038] The robot executes the message object, which is the message that triggers the process to continue executing during the movement of the vehicle. The configuration parameters of the robot execute the message object represent the message during the execution process.
[0039] Of course, the above are just a few examples of message objects in event nodes, and there is no limitation to this.
[0040] Step 102: Based on the vehicle movement service arrangement information input by the user, a service process file is arranged in combination with the activity nodes and event nodes; wherein the service process file is used to control the vehicle movement.
[0041] Exemplarily, the business process file may include multiple task nodes that are executed in sequence. Based on the vehicle mobility service orchestration information input by the user, the business process file is orchestrated in combination with the activity nodes and event nodes. This may include, but is not limited to: for each task node in the business process file, if the task node is for an orchestration object, then: based on the orchestration object selection instruction input by the user (the orchestration object selection instruction is used to indicate one or more orchestration objects in the activity node), select the target orchestration object corresponding to the orchestration object selection instruction, display the configuration parameters of the target orchestration object, and the user enters the input conditions for the target orchestration object based on the configuration parameters. On this basis, a task node can be created in the business process file, which includes the target orchestration object and the input conditions entered by the user based on the configuration parameters.
[0042] If the task node is for a message object, then: based on the message object selection instruction input by the user (the message object selection instruction is used to indicate one or more message objects in the event node), the target message object corresponding to the message object selection instruction is selected. Based on this, a task node can be created in the business process file, and the task node can include the target message object.
[0043] In summary, multiple task nodes can be created in a business process file. These task nodes constitute the business process file, that is, the business process file includes multiple task nodes. For each task node, the task node includes a target orchestration object and input conditions, or the task node includes a target message object.
[0044] It can be seen from the above technical solutions that in the embodiment of the present application, by providing active nodes and event nodes, it is possible to orchestrate business process files based on the vehicle movement business orchestration information input by the user in combination with the active nodes and event nodes, and the business process files are used to control the movement of the vehicle. It is possible to orchestrate the robot's task scenarios (such as orchestrating various task scenarios for robots in the factory, and being able to arrange and combine multiple task scenarios to obtain any composite scenario), with strong business flexibility and saving project development costs. The target vehicle is moved from the initial position point to the target position point based on the orchestrated task, making the robot's task execution more reasonable, improving on-site maintenance efficiency, reducing operating and maintenance costs, and improving task implementation efficiency and user experience. It can improve the flexibility of the scheduling system and reduce the development workload of R&D personnel. It can solve the problems of large customization of the scheduling system, many business involvements, and frequent R&D introduced due to code modifications.
[0045] The following describes the technical solutions of the embodiments of the present application in conjunction with specific application scenarios.
[0046] See Figure 2, which is a schematic diagram of the system structure of an embodiment of the present application. The task scheduling and following system can also be a task scheduling and following device, that is, the electronic device of the above embodiment, which is used to implement the orchestration method of vehicle mobile services. The model building system (also known as CMS, Central Management System) can also be a model building device, and the model building system is a central management system. The peripheral control system (for example, WCS, Warehouse Control System) can also be a peripheral control device. The robot control system (RCS, Robot Control System) can also be a robot control device. The upper platform is a platform for managing task scheduling and following devices, which can be a workstation, etc., and can issue tasks to the task scheduling and following devices.
[0047] First, the node management function for task scheduling and follow-up devices.
[0048] Exemplarily, the task scheduling and following device can support node management functions. Based on the node management functions, the task scheduling and following device can design active nodes, that is, provide active nodes. The active nodes may include but are not limited to orchestration objects and their configuration parameters. The configuration parameters of the orchestration objects may include the input parameters, output parameters and functions of the orchestration objects. The orchestration objects can be resources used during the movement of the vehicle.
[0049] For example, based on interactions with model-building equipment, you can design activity nodes for requesting vehicles, requesting storage nodes, searching for vehicle models, searching for routes, and searching for elevators. Based on interactions with upper-level platforms, you can design activity nodes for requesting external resources. Based on interactions with peripheral control devices, you can design activity nodes for peripheral control. Based on interactions with robot control devices, you can design activity nodes for empty vehicle movement, loaded vehicle movement, handling tasks, pre-scheduling tasks, actuator actions, and map switching.
[0050] For example, the model building device is used to maintain storage object information, and the storage object is a storage node. The storage node is a location for placing a vehicle. The storage node can be a site (the location on the ground for placing a vehicle can be called a site), a warehouse (the location with a certain height for placing a vehicle can be called a warehouse), and an alley (the area / channel for placing a vehicle can be called an alley, and the alley can include multiple warehouses and / or multiple sites). The task scheduling and following device can apply for a storage node from the model building device by interacting with the model building device, thereby designing the activity node "Apply for a storage node". For this activity node, the orchestration object of the activity node is a storage node object, which represents the location for placing a vehicle in the vehicle mobile service. The configuration parameters of the storage node object can include the input parameters of the storage node object, the output parameters of the storage node object, and the functions of the storage node object.
[0051] For example, the model building device is used to maintain information about transported objects, which can be vehicles, such as bins, shelves, pallets, and other types of vehicles. By interacting with the model building device, the task scheduling and following device can request vehicles from the model building device, thereby designing the activity node "Request Vehicle". For this activity node, the orchestration object of the activity node is the vehicle object, which represents the vehicle to be moved in the vehicle movement service, such as bins, shelves, and pallets. The configuration parameters of the vehicle object may include the input parameters of the vehicle object, the output parameters of the vehicle object, and the functions of the vehicle object.
[0052] For example, the model-building device maintains robot information. Task scheduling and following devices interact with the model-building device to query the model-building device for each robot type, such as forklift, automated guided vehicle, or container robot. This allows the design of a "Search Vehicle Type" activity node. The orchestration object for this activity node is the vehicle type object, which represents the type of robot used to position vehicles in the vehicle movement service, such as forklift, automated guided vehicle, or container robot. The configuration parameters of the vehicle type object may include its input parameters, output parameters, and functions.
[0053] For example, the model-building device maintains all route information. Task scheduling and following devices interact with the model-building device to search for available routes (such as the shortest travel route) from the model-building device, thereby designing a "Find Route" activity node. For this activity node, the orchestration object is a route object, which represents the robot's movement route in the vehicle mobility service. The configuration parameters of the route object may include its input parameters, output parameters, and functionality.
[0054] For example, the model building device is used to maintain elevator information. The task scheduling and following devices can interact with the model building device to find the elevator from the model building device, thereby designing the "Find Elevator" activity node. The content of this "Find Elevator" activity node will not be described in detail.
[0055] For example, the upper-level platform is used to maintain external resources, such as warehouse storage resources, etc. This embodiment does not limit the type of these external resources. Task scheduling and following devices can apply for external resources from the upper-level platform by interacting with the upper-level platform, thereby designing the activity node "Apply for External Resources".
[0056] For example, the peripheral control device is used to maintain peripheral resources, such as elevator resources. In this embodiment, there is no restriction on the type of peripheral resources. The task scheduling and following devices can apply for peripheral resources from the peripheral control device by interacting with the peripheral control device, thereby designing the activity node "Peripheral Control". For this activity node, the orchestration object of the activity node is the peripheral resource object, which represents the peripheral resources in the vehicle mobility service. The configuration parameters of the peripheral resource object may include the input parameters of the peripheral resource object, the output parameters of the peripheral resource object, and the function of the peripheral resource object.
[0057] For example, the robot control device can control the robot to perform operations such as empty vehicle movement (i.e., movement without a carrier), loaded movement (i.e., movement with a carrier), handling tasks (i.e., movement in two directions, such as going and coming), pre-scheduling tasks (i.e., movement to a certain location in advance), actuator actions, map switching (such as moving from one floor to another). Therefore, the task scheduling and following device can design activity nodes such as "empty vehicle movement, loaded movement, handling tasks, pre-scheduling tasks, actuator actions, map switching" by interacting with the robot control device. These activity nodes are called robot activity nodes. For this activity node, the orchestration object of the activity node is the robot object, and the robot object represents the robot in the vehicle movement business. The configuration parameters of the robot object may include the input parameters of the robot object, the output parameters of the robot object, and the functions of the robot object.
[0058] In one possible embodiment, the arrangement object in the activity node includes a vehicle object, and the configuration parameters of the vehicle object may include but are not limited to at least one of the following: querying vehicles according to input conditions; supporting vehicle search from warehouses, stations, and lanes; supporting temporary vehicle search; supporting unbound vehicle search (unbound vehicle information has not yet been associated or bound to the user's account); adding a lock mark for the vehicle after finding the vehicle; triggering the vehicle through a timer or area status update when searching for the vehicle in a loop; if the target location point has been entered, based on Search for a vehicle based on the vehicle type of the target location. If the target location has been entered, search for a vehicle based on the distance between the vehicle and the target location. If vehicle multitasking is supported, ignore the vehicle lock status (even if a vehicle is locked (with an outbound lock flag added), you can still apply for it). If empty vehicle search is not selected, search for both empty and full vehicles is allowed. If uncoded vehicles are supported (uncoded vehicles are vehicles without barcodes or RFID tags, used for temporary storage or short-distance transportation), search for temporary vehicles is allowed. Check whether vehicle stacking is supported.
[0059] In one possible embodiment, the orchestration object in the active node includes a storage node object, and the configuration parameters of the storage node object may include but are not limited to at least one of the following: querying storage objects based on input conditions; supporting the search for storage objects from locations, sites, and lanes; if the storage object is located in an inner storage location, returning the storage object in the outer storage location; after finding the storage object, adding a storage lock mark for the storage object; when cyclically searching for storage objects, triggering by a timer or area status update; whether the storage object is queued, and if so, ignoring the storage object lock status (that is, ignoring the storage lock mark, that is, even if a storage object has a storage lock mark, the storage object can be applied for).
[0060] In one possible implementation, the orchestration object in the active node includes a vehicle model object, and the configuration parameters of the vehicle model object may include at least one of the following: finding the intersection of various vehicle model information; if the vehicle model is not configured, assuming that all vehicle models are available; if the vehicle model is configured, taking the intersection of the configured vehicle models; reporting an exception if the intersection is empty; and reporting an exception if the vehicle model and the vehicle number are inconsistent.
[0061] In one possible implementation, the orchestration object in the active node includes a route object, and the configuration parameters of the route object may include at least one of the following: cross-map use, including a combination of elevator and map intersection points; obtaining all routes leading to the target location point (such as using an A* algorithm or other algorithm); updating the number of entry and exit tasks of the elevators in the route; disabled elevators or elevators with abnormal status are filtered out; before re-searching the route in the event of an elevator anomaly, the route needs to be released first; if a route spans multiple maps, the cross-map nodes are executed multiple times; when the cross-elevator task is completed, the number of entry and exit tasks of the elevator is updated.
[0062] In one possible implementation, the orchestration object in the active node includes a robot object, and the configuration parameters of the robot object may include at least one of the following: executing an empty vehicle movement task; executing a loaded vehicle movement task; executing a transport task; executing a pre-scheduling task; executing an actuator movement task; or executing a map switching task. Of course, the above are just a few examples of robot tasks and are not intended to be limiting.
[0063] In one possible implementation, the orchestration object in the active node includes a peripheral resource object, and the configuration parameters of the peripheral resource object may include at least one of the following: continuing the message and sending it to the peripheral control device according to the input conditions; waiting for the feedback message from the peripheral control device; returning directly when the peripheral resource is disabled without calling the peripheral control device interface; and cyclically applying for the peripheral resource when the peripheral resource is disabled.
[0064] Exemplarily, the task scheduling and following device can support node management functions. Based on the node management functions, the task scheduling and following device can design event nodes, that is, provide event nodes. The event nodes may include but are not limited to message objects and their configuration parameters. The configuration parameters may include the functions of the message objects, and the message object is a message that triggers the continuation of the process during the movement of the vehicle.
[0065] For example, based on interactions with model-building devices, you can design event nodes such as resource changes. Based on interactions with upper-level platforms, you can design event nodes such as task continuation. Based on interactions with peripheral control devices, you can design event nodes such as peripheral notifications. Based on interactions with robot control devices, you can design event nodes such as message reporting during robot execution. There are no restrictions on these event nodes.
[0066] For example, the task scheduling and following device can exchange resource change messages with the model building device. For example, when a storage node is occupied, the model building device sends a resource change message indicating the storage node is occupied to the task scheduling and following device. When a storage node is released, the model building device sends a resource change message indicating the storage node is released to the task scheduling and following device. There are no restrictions on resource changes, such as changes to storage node resources, vehicle resources, elevator resources, and robot resources. Based on the interaction with the model building device, event nodes such as resource changes can be designed. For this event node, the message object can be a resource change message object. This resource change message object is a message that triggers the continuation of the process during vehicle movement. The configuration parameters indicate that the resources of the orchestration object have changed.
[0067] For example, the task scheduling and following device can exchange task continuation messages with the upper-level platform. For example, if a vehicle is executing Task 1 and Task 2, after completing Task 1, the upper-level platform sends a task continuation message to the task scheduling and following device to continue executing Task 2 on the vehicle. Based on this interaction with the upper-level platform, event nodes such as task continuation can be designed. For this event node, the message object is a task continuation message object, which triggers the continuation of process execution during vehicle movement and is configured with parameters indicating task continuation.
[0068] For example, the task scheduling and following device can exchange peripheral notification messages with the peripheral control device, such as the task scheduling and following device sending a resource request message to the peripheral control device (indicating the need to request peripheral resources, such as requesting elevator resources), and the peripheral control device sending a resource in place message to the task scheduling and following device (indicating that the peripheral resources are ready and can be used). There is no restriction on these peripheral notification messages. According to the interaction with the peripheral control device, event nodes such as peripheral notifications can be designed. For this event node, the message object in the event node can be a peripheral notification message object. The peripheral notification message object is a message that triggers the continuation of the process during the movement of the vehicle. The peripheral notification message object can include a resource request message and a resource in place message. The configuration parameters of the resource request message indicate the request for peripheral resources, and the configuration parameters of the resource in place message indicate that the peripheral resources are ready.
[0069] For example, the task scheduling and following device can exchange messages with the robot control device (i.e., messages during the robot's execution process). For example, if a robot fails, the robot control device sends a failure message to the task scheduling and following device. When the robot completes the task, the robot control device sends a task completion message to the task scheduling and following device. There are no restrictions on messages during the robot's execution process. Based on the interaction with the robot control device, event nodes such as message reporting during the robot's execution process can be designed. For this event node, the message object is the robot execution message object, which is the message that triggers the continuation of the process during the vehicle's movement. The configuration parameters represent the messages during the execution process.
[0070] Second, the task scheduling and task arrangement function for following devices.
[0071] For example, the task scheduling and following device can support the task choreography function. Based on the task choreography function, the task scheduling and following device can choreograph the scheduling tasks of robots (such as logistics robots, etc.). For example, based on the design of activity nodes and event nodes, combined with the standard nodes of the business process engine (such as start nodes, end nodes, logic judgment nodes, timer nodes, message event nodes, script nodes, etc.), the scheduling tasks of the robot in various operating scenarios can be choreographed, and then the scheduling tasks can be executed. By executing the scheduling task (see the subsequent process), the vehicle can be moved from one position point (which will be recorded as the initial position point later) to another position point (which will be recorded as the target position point later).
[0072] For example, based on the vehicle mobile business orchestration information input by the user, combined with the activity nodes and event nodes, a business process file can be orchestrated, and the business process file may include multiple task nodes executed in sequence. For each task node in the business process file, if the task node is for an orchestration object, then: based on the orchestration object selection instruction input by the user, select the target orchestration object corresponding to the orchestration object selection instruction, and display the configuration parameters of the target orchestration object, and the user inputs the input conditions of the target orchestration object based on the configuration parameters. A task node can be created in the business process file, and the task node includes the target orchestration object and the input conditions input by the user based on the configuration parameters. If the task node is for a message object, then: based on the message object selection instruction input by the user, select the target message object corresponding to the message object selection instruction. A task node can be created in the business process file, and the task node may include a target message object. In summary, multiple task nodes can be created in the business process file, and these task nodes constitute the business process file, that is, the business process file includes multiple task nodes.
[0073] Regarding how to arrange the business process file, there is no restriction in this embodiment. As long as the activity nodes and event nodes can be combined, the user can select the activity nodes and event nodes, and arrange and combine the order of the activity nodes and event nodes to obtain the business process file. There is no restriction on this arrangement method.
[0074] For example, after arranging the business process file based on the vehicle movement business orchestration information input by the user and combining the activity nodes and event nodes, the business process file can be stored in a designated storage medium. In this way, during the task execution process, the business process file in the designated storage medium can be scheduled. By executing the business process file, the vehicle movement can be controlled to realize the scheduling tasks in various operation scenarios.
[0075] For example, operating scenarios may include, but are not limited to, aisle scenarios, dense storage scenarios, elevator scenarios, stacking scenarios, peripheral automation scenarios, high-bay racking and double-deep scenarios, multi-vehicle docking scenarios, progressive exchange scenarios, and cache progressive scenarios, among others. Of course, operating scenarios can be permutations and combinations of the above scenarios, i.e., any composite scenario can be combined as an operating scenario. For example, an operating scenario could be a combination of an aisle scenario and a stacking scenario, or a combination of a dense storage scenario and an elevator scenario.
[0076] In summary, the business process files stored in the designated storage medium may include but are not limited to at least one of the following: business process files for the aisle scenario, the aisle scenario indicates that the vehicle passes through the aisle during movement. Business process files for the dense storage scenario, the dense storage scenario indicates that the storage node has inner storage locations and outer storage locations, and the storage node is the location for placing the vehicle. Business process files for the elevator scenario, the elevator scenario indicates that the vehicle passes through the elevator during movement. Business process files for the stacking scenario, the stacking scenario indicates that the robot carries multiple vehicles, or the storage node (such as a site, aisle, warehouse, etc.) carries multiple vehicles. Business process files for the peripheral automation scenario, the peripheral automation scenario indicates that the robot needs to be docked with the peripheral. Business process files for the high-bay and double-deep scenarios, the high-bay and double-deep scenarios indicate that the robot is a double-deep robot and the vehicle is a high-bay. Business process files for the multi-vehicle docking scenario, the multi-vehicle docking scenario indicates that the vehicle needs to be transported by robots of at least two models. For business process files in a progressive exchange scenario, this scenario involves a primary workstation and a backup workstation. After the carrier on the primary workstation is removed, the carrier on the backup workstation is moved to the primary workstation. For business process files in a cached progressive scenario, this scenario involves a carrier moving incrementally toward the closest cache point at the target location when multiple cache points are available. These are just a few examples of business process files and are not intended to be limiting.
[0077] Third, the task execution function for task scheduling and following devices.
[0078] Exemplarily, the task scheduling and following device can support the task execution function. Based on the task execution function, the task scheduling and following device can execute the tasks arranged in the task arrangement process. For example, by issuing tasks or automatic operation tasks or task execution instructions input by the user (the task execution instructions are used to trigger tasks) through the upper platform, the arranged task process is started, the task process is instantiated, and the task process is driven to execute. When arriving at the resource application node, apply for the required resources from the model building device. When arriving at the peripheral control node, request peripheral control from the peripheral control device. When arriving at the robot task node, send the robot task to the robot control device and wait for the robot task to be completed. When the task process is waiting for the event node triggered by the message, it can trigger the task process to continue executing through the trigger mechanism of the business process engine through resource change messages, peripheral notification messages, and robot execution phase messages until the process ends.
[0079] When executing this scheduling task, if the initial location is a workbench and the target location is a warehouse (i.e., a certain location within the warehouse), then when moving the vehicle from the initial location to the target location, the material is moved from the workbench to the warehouse by moving the vehicle, thus achieving material entry. If the initial location is a warehouse (i.e., a certain location within the warehouse) and the target location is a workbench, then when moving the vehicle from the initial location to the target location, the material is moved from the warehouse to the workbench by moving the vehicle, thus achieving material exit.
[0080] In one possible implementation, after storing the business process file in a designated storage medium, the business process file in the designated storage medium can be scheduled during the task execution process. Since the business process file is used to control the movement of the vehicle, the movement of the vehicle can be controlled by executing the business process file. For example, after receiving the task execution instruction input by the user, the task execution instruction includes an initial position point, a target position point, and a file identifier, then the business process file corresponding to the file identifier is read from the designated storage medium, and the initial position point and the target position point are substituted into the business process file. On this basis, the movement of the vehicle can be controlled by executing the business process file.
[0081] When the business process file is executed to control the movement of the vehicle, the task process of the business process file can be started, the task process can be instantiated, and the task process execution can be driven. During the execution of the task process, when the resource application node is reached, the required resources are applied to the model building device; when the peripheral control node is reached, the peripheral control device is requested to control the peripherals; when the robot task node is reached, the robot task is sent to the robot control device and the robot task is executed and completed. When the task process is waiting for the event node triggered by the message, the task process is triggered by the trigger mechanism of the business process engine through resource change messages, peripheral notification messages, and robot execution phase messages to continue execution until the process ends.
[0082] In a possible implementation, based on the business process file arranged during the task arrangement process, when the business process file is executed to control the movement of the vehicle, an example of task execution may include steps 11 to 15.
[0083] Step S11: Apply for a target vehicle. The target vehicle needs to move from an initial position to a target position.
[0084] Step S12: If the initial location point and the target location point are location points across maps, determine a first intersection point on the same map as the initial location point and a second intersection point on the same map as the target location point.
[0085] Step S13: If the target vehicle moves in a cross-device mode, determine a first target type corresponding to the initial position point and a second target type corresponding to the target position point.
[0086] Step S14: Move the target vehicle from the initial position point to the first junction point by using the robot of the first target type, and send a resource request message to the peripheral control device, so that the peripheral control device moves the target vehicle from the first junction point to the second junction point and returns a resource in place message.
[0087] Step S15: After receiving the resource arrival message returned by the peripheral control device, the target vehicle is moved from the second handover point to the target location point by the robot of the second target type.
[0088] Exemplarily, after determining a first intersection point that is on the same map as the initial position point and a second intersection point that is on the same map as the target position point, if the target vehicle moves in a follow-up mode, the first target type corresponding to the initial position point is determined; the target vehicle is moved from the initial position point to the first intersection point by a robot of the first target type, and a resource request message is sent to the peripheral control device so that the peripheral control device moves the robot and the target vehicle from the first intersection point to the second intersection point and returns a resource in place message. After receiving the resource in place message returned by the peripheral control device, the target vehicle is moved from the second intersection point to the target position point by the robot of the first target type.
[0089] For example, if the first intersection point and the second intersection point are located on different floors, the peripheral control device is used to control the target elevator to move from the floor where the first intersection point is located to the floor where the second intersection point is located. Based on this, moving the target vehicle from the initial position point to the first intersection point by using a robot of the first target type may include, but is not limited to: if there is no idle position in the target elevator, selecting the first idle cache point from multiple cache points outside the target elevator as the target cache point, and moving the target vehicle from the initial position point to the target cache point by the robot of the first target type; wherein the multiple cache points are sorted in ascending order of distance, and the distance is the distance between the cache point and the target elevator.
[0090] If a new free cache point appears in front of the target cache point, the target vehicle can be moved to the free cache point by the robot of the first target type. If there is a free position in the target elevator, the target vehicle can be moved to the first handover point in the target elevator by the robot of the first target type.
[0091] Exemplarily, before the target vehicle is moved from the second intersection point to the target position point by the robot of the second target type, then: during the process of moving the target vehicle from the initial position point to the first intersection point by the robot of the first target type, the robot of the second target type is synchronously moved to the associated position point corresponding to the second intersection point; or, during the process of the peripheral control device moving the target vehicle from the first intersection point to the second intersection point, the robot of the second target type is synchronously moved to the associated position point corresponding to the second intersection point; wherein the distance between the associated position point and the second intersection point is less than a threshold value.
[0092] For example, if the first intersection and the second intersection are located on different floors, the peripheral control device is used to control the target elevator to move from the floor where the first intersection is located to the floor where the second intersection is located. Based on this, a resource request message is sent to the peripheral control device so that before the peripheral control device moves the target vehicle from the first intersection to the second intersection, if a new task for the target vehicle is received, and the new task is used to move the target vehicle to a candidate location point on the floor where the first intersection is located, then the movement task from the first intersection to the second intersection is canceled, and the target vehicle is moved to the candidate location point by a robot of the first target type.
[0093] Exemplarily, after applying for the target vehicle, if the initial position point and the target position point are position points on the same map, a third target type corresponding to the initial position point and the target position point is determined; and the target vehicle is moved from the initial position point to the target position point by a robot of the third target type.
[0094] Exemplarily, if the business process file is a business process file for a dense storage scenario, before the target carrier is moved from the initial position point to the first intersection point by a robot of the first target type, the following method can be adopted: if there are other carriers in the outer layer of the target carrier, and there is a storage area for placing other carriers, then the other carriers can be moved to the storage area. After there are no other carriers in the outer layer of the target carrier, the target carrier can be moved to the robot of the first target type (that is, the target carrier is moved to the robot of the first target type). After the target carrier is moved to the robot of the first target type, the other carriers can be moved to the placement position of the target carrier, or the other carriers can be moved to the original position of the other carriers, or the other carriers can be kept in the storage area.
[0095] For example, for the business process file in the above process, the business process file is a business process file for the aisle scenario, or a business process file for the dense storage scenario, or a business process file for the elevator scenario, or a business process file for the stacking scenario, or a business process file for the peripheral automation scenario, or a business process file for the high-rise shelf and double-depth scenario, or a business process file for the progressive exchange scenario, or a business process file for the cache progressive scenario, and there is no restriction on this.
[0096] In a possible implementation, based on a business process file compiled during task orchestration, when executing the business process file to control the movement of a vehicle, an example of task execution may include:
[0097] If the business process file is for a multi-vehicle docking scenario, then: you can apply for the first vehicle, the docking storage node, and the storage node of the target location point to find the first vehicle model.
[0098] If there is no cross-map task for the first vehicle, the robot of the first vehicle model will perform the transport task to move the first vehicle from the initial position to the connected storage node; after the transport task is completed, apply for the second vehicle, and the second vehicle will be located on the first vehicle; find the second vehicle model, and perform the transport task by the robot of the second vehicle model to move the second vehicle from the connected storage node to the target position.
[0099] If the first vehicle has a cross-map task, determine the first intersection point that is in the same map as the initial position point and the second intersection point that is in the same map as the connected storage node; move the first vehicle from the initial position point to the first intersection point by the robot of the first vehicle model, and send a resource request message to the peripheral control device, so that the peripheral control device moves the first vehicle from the first intersection point to the second intersection point and returns a resource in place message; after receiving the resource in place message returned by the peripheral control device, move the first vehicle from the second intersection point to the connected storage node by the robot of the first vehicle model; after the handling task is completed, apply for the second vehicle, and the second vehicle is located on the first vehicle; find the second vehicle model, and perform the handling task by the robot of the second vehicle model to move the second vehicle from the connected storage node to the target position point.
[0100] In one possible implementation, in order to realize the task execution function, for the business process files of the aisle scenario, the business process files of the dense storage scenario, the business process files of the elevator scenario, the business process files of the stacking scenario, the business process files of the peripheral automation scenario, the business process files of the high-rise shelf and double-depth scenario, the business process files of the progressive exchange scenario, and the business process files of the cache progressive scenario, Figure 3 is a flowchart of the task execution method. As shown in Figure 3, the method may include steps 301 to 310.
[0101] Step 301: Apply for a target vehicle, which is a vehicle that needs to be moved. The target vehicle needs to move from an initial position (the current position of the target vehicle is referred to as the initial position) to a target position (the position to which the target vehicle will eventually move is referred to as the target position).
[0102] For example, the target vehicle can be queried based on the input conditions. For example, the user can enter the information of the target vehicle (such as the unique identifier or type of the target vehicle, which is used as the input condition). Therefore, the target vehicle corresponding to this information can be found and applied for.
[0103] When applying for the target vehicle, it supports searching for vehicles from warehouses, stations, and lanes. That is, the target vehicle can be a vehicle in a warehouse, a vehicle in a station, or a vehicle in a lane.
[0104] When applying for the target carrier, the search for temporary carriers and unbound carriers is supported. That is, the target carrier can be a temporary carrier that is not maintained by the model building device, or an unbound carrier.
[0105] For example, after applying for the target vehicle, you can also add an outbound lock mark for the target vehicle, indicating that the target vehicle is locked by the current task and the current task needs to be executed for the target vehicle. After the current task is completed, the outbound lock mark is canceled so that it can be applied for by other tasks.
[0106] For example, when applying for a target vehicle, if the target vehicle already has a lock mark for delivery, that is, the target vehicle is occupied by other tasks, then the current task cannot apply for the target vehicle and needs to apply for the target vehicle again. When repeatedly applying for the target vehicle, that is, searching for the target vehicle in a loop, it can be triggered by a timer or an area status update. For example, each time the timer expires, the target vehicle is re-applied until the target vehicle is successfully applied for. Or, each time the area status is updated (the target vehicle can be any vehicle in the area), the target vehicle is re-applied until the target vehicle is successfully applied for.
[0107] For example, when applying for a target vehicle, if there are multiple vehicles that meet the input conditions (such as the input condition is the type of the target vehicle, and there are multiple vehicles that meet the type), then the distance between each vehicle and the target position point can also be calculated, and the vehicle with the smallest distance can be used as the target vehicle.
[0108] For example, when applying for a target vehicle, if the target vehicle supports multiple tasks (i.e., multiple tasks can be performed on the target vehicle at the same time), then even if the target vehicle already has an outbound lock mark, that is, the target vehicle is occupied by other tasks, the current task can also apply for the target vehicle.
[0109] For example, when applying for a target vehicle, if the target vehicle supports empty vehicle missions (i.e., the empty vehicle mission option is selected), then the target vehicle can be applied for regardless of whether the target vehicle is empty or full. If the target vehicle does not support empty vehicle missions, then if the target vehicle is empty, it cannot be applied for, and it can only be applied for if the target vehicle is full.
[0110] For example, if the target vehicle is successfully applied for, step 302 can be executed. If the target vehicle is not applied for, the process ends without a vehicle, and in the subsequent process, the target vehicle needs to be applied for repeatedly.
[0111] Exemplarily, when the target vehicle is successfully applied for, it is also possible to determine whether the target vehicle supports multi-tasking. If not, step 302 is executed. If yes, that is, the target vehicle supports multi-tasking, it is also possible to determine whether the target vehicle has a cross-map task. If there is no cross-map task, step 302 is executed. If there is a cross-map task, the target vehicle is released (that is, the target vehicle is released for the current task) and the current task is not processed. After a preset interval (such as 10 seconds), the target vehicle is re-applied, and it is continued to be determined whether the target vehicle has a cross-map task. If not, it means that the cross-map task has been processed and step 302 is executed. If it exists, the target vehicle is released, and so on.
[0112] For example, assuming that a target vehicle has been requested for Task A and that the target vehicle is already occupied by Task B, then if Task A and Task B are cross-map tasks, the target vehicle is released. If Task A and Task B are not cross-map tasks, step 302 is executed. If the target location of Task A and Task B are on different maps, it is a cross-map task. If the target location of Task A and Task B are on the same map, it is not a cross-map task. Different maps can be understood as different warehouses, different factory areas, or different floors, without limitation.
[0113] Step 302: Apply for a storage node (ie, a storage object). A storage node is a location for placing a vehicle.
[0114] For example, the current location of the target vehicle is the initial location, and it is necessary to apply for the initial location (the initial location is a storage node), indicating that the current task needs to occupy the initial location. The initial location can be a site, warehouse, lane, workstation, etc. The location to which the target vehicle is finally moved is the target location, and it is necessary to apply for the target location (the target location is a storage node), indicating that the current task needs to occupy the target location. The target location can be a site, warehouse, lane, workstation, etc. During the movement of the target vehicle, the target vehicle can be placed at a certain location / locations between the initial location and the target location (such as a junction point, a cache point, etc.). This / these location / locations can also be called storage nodes, and it is necessary to apply for the storage node, indicating that the current task needs to occupy the storage node. The storage node can be a site, warehouse, lane, etc. For example, a junction can be a site, and a cache point can be a site, warehouse, etc.
[0115] For example, you can query storage nodes based on input conditions. For example, a user can enter storage node information (such as the storage node's region, storage node identifier, etc.). The corresponding storage node can then be searched and applied for. When applying for a storage node, you can search for storage nodes by location, site, or lane. That is, a storage node can be located within a location, a site, or a lane.
[0116] For example, when applying for the storage node, for the initial location point, if the storage node is an inner storage node, you can first apply for the outer storage node of the storage node, and after moving the carrier of the outer storage node, re-apply for the storage node, and then move the target carrier of the storage node.
[0117] For example, after applying for a storage node, you can also add a storage lock flag for the storage node, indicating that the storage node is locked by the current task and the current task needs to be executed for the storage node. After the current task is completed, the storage lock flag is canceled so that it can be applied for by other tasks.
[0118] For example, when applying for a storage node, if the storage node already has a storage lock mark, that is, the storage node is occupied by other tasks, then the current task cannot apply for the storage node and needs to apply for the storage node again. When repeatedly applying for the storage node, that is, cyclically searching for the storage node, it can be triggered by a timer or regional status update. For example, each time the timer expires, the storage node is re-applied until the storage node is successfully applied for. Or, each time the regional status is updated (the storage node can be any node in the region), the storage node is re-applied until the storage node is successfully applied for.
[0119] For example, when applying for a storage node, if there is a queue for the storage node, such as the workstation storage node, then even if the storage node already has a storage lock mark, that is, the storage node is occupied by other tasks, the current task can also apply for the storage node.
[0120] In one possible implementation, when applying for a storage node, the following method can be used: first parse the parameters (i.e., the storage node information, such as the storage node region, the storage node identifier, etc.). Then, increase the number of retries (i.e., increase the number of retries by 1). Then, search for a site that matches the parameters from all sites, apply to the site, and use the site as a storage node; alternatively, search for a location that matches the parameters from all locations, apply to the location, and use the location as a storage node; alternatively, search for a lane that matches the parameters from all lanes, apply to the lane, and use the lane as a storage node.
[0121] Then, it is determined whether the application for a storage node (such as a site, location, lane, etc.) is successful. If so, that is, the application for the storage node is successful, and step 303 can be executed. If not, it is determined whether the number of retries reaches a preset threshold (such as 3 times, 5 times, etc.). If the number of retries has reached the preset threshold, it means that the application for the storage node is unsuccessful, and no storage node is found. In the subsequent process, step 301 is re-executed.
[0122] If the number of retries does not reach the preset threshold, you need to re-apply for the storage node, that is, loop to search for storage nodes. This can be triggered by a timer or regional status update. When the re-application of the storage node is triggered, return to the "Parsing Parameters" operation and repeat the above steps.
[0123] Step 303: Determine whether the target vehicle has a cross-map mission. If no cross-map mission exists, proceed to step 304; if yes, proceed to step 306.
[0124] For example, assuming a target vehicle has been requested for Task A, it is necessary to determine whether Task A involves a cross-map task. For example, if the target vehicle's initial position and target position are across different maps, then a cross-map task exists. If the target vehicle's initial position and target position are on the same map, then a cross-map task does not exist.
[0125] Among them, different maps can be understood as different warehouses, different factory areas, and different floors. Taking different floors as an example, if the initial position point and the target position point are on different floors, they are cross-map position points. If the initial position point and the target position point are on the same floor, they are position points on the same map.
[0126] Step 304: If the initial position point and the target position point are position points of the same map (i.e., there is no cross-map task), determine the third target type corresponding to the initial position point and the target position point. The third target type is the type of robot, such as a forklift, an automatic guided vehicle, a material box robot, etc.
[0127] For example, the target vehicle's supported vehicle types (i.e., robot types, indicating that robots of this type are allowed to move the target vehicle), the initial position's supported vehicle types (indicating that robots of this type are allowed to reach the initial position), and the target position's supported vehicle types (indicating that robots of this type are allowed to reach the target position) can be obtained. The intersection of these vehicle types can be used as the third target type.
[0128] For example, if the intersection of the above models is one, then the one model will be used as the third target type. If the intersection of the above models is multiple, then one model will be selected from the multiple models as the third target type. If the intersection of the above models is empty, the third target type cannot be determined and an exception can be reported.
[0129] For example, after taking the intersection of the above-mentioned vehicle models as the third target type, if the model of the robot of the third target type is inconsistent with the model entered by the user (also called the vehicle number, indicating that the user needs to use a robot of this model), it means that the third target type is wrong and the exception can be reported.
[0130] For example, if the vehicle type that supports the target vehicle is not configured (that is, robots of all vehicle types are allowed to move the target vehicle), the vehicle type that supports the initial position point is not configured (that is, robots of all vehicle types are allowed to reach the initial position point), and the vehicle type that supports the target position point is not configured (that is, robots of all vehicle types are allowed to reach the target position point), then any vehicle type will be used as the third target type.
[0131] Step 305: Use a robot of the third target type to move the target carrier from the initial position to the target position. For example, a robot of the third target type is selected to perform a transport task, and the robot moves the target carrier from the initial position to the target position. There are no restrictions on this transport process.
[0132] For example, the robot is first controlled to move to the initial position, the target vehicle is then placed on the robot, and then the target vehicle is moved from the initial position to the target position by the robot.
[0133] For example, in a dense storage scenario (i.e., a scenario where there are inner and outer carriers, and the inner carrier can only be placed on the robot after the outer carrier is moved away), if there are other carriers on the outer layer of the target carrier, then after controlling the robot to move to the initial position, the other carriers on the outer layer are first moved to other areas, and then the target carrier can be placed on the robot.
[0134] Step 306: If the initial location point and the target location point are cross-map location points (ie, there is a cross-map task), determine whether there are other tasks besides the cross-map task.
[0135] If yes, step 307 may be executed, and if no, step 308 may be executed.
[0136] Step 307: Release the requested storage node and the requested target carrier.
[0137] For example, assuming that a target vehicle is applied for the current task A, there is a cross-map task for task A, and the target vehicle is already occupied by task B (this situation exists in the scenario where the target vehicle supports multiple tasks), then if task A needs to move from the first floor to the second floor, and task B needs to move from a certain position on the first floor to another position, task B will be executed first, and task A will be executed after task B is completed. Based on this, if there are other tasks B besides the cross-map task A, the applied storage node (the storage node applied for task A) and the applied target vehicle (the storage vehicle applied for task A) can be released. After a preset interval (such as 10 seconds), the target vehicle is applied for task A again, and the process returns to step 301, and so on, until task B is completed and there are no other tasks besides the cross-map task A.
[0138] Step 308: If the initial position point and the target position point are position points across the map, determine the target type, which is the type of robot, such as a forklift, an automatic guided vehicle, a container robot, etc.
[0139] For example, the target vehicle can be moved in a cross-device mode (i.e., different robots are used to carry the target vehicle across maps), or it can be moved in a follow-up mode (i.e., the same robot is used to carry the target vehicle across maps). Based on this, if the target vehicle is moved in a cross-device mode, the first target type corresponding to the initial position point and the second target type corresponding to the target position point are determined. If the target vehicle is moved in a follow-up mode, the first target type corresponding to the initial position point is determined.
[0140] For example, when determining the first target type corresponding to the initial position point, the vehicle types supported by the target vehicle (indicating that a robot of this vehicle type is allowed to move the target vehicle) and the vehicle types supported by the initial position point (indicating that a robot of this vehicle type is allowed to reach the initial position point) can be obtained, and the intersection of the above vehicle types can be used as the first target type. For example, if the intersection of the above vehicle types is one, then the one vehicle type is used as the first target type. If the intersection of the above vehicle types is multiple, then one vehicle type is selected from the multiple vehicle types as the first target type. If the intersection of the above vehicle types is empty, then the first target type cannot be determined.
[0141] For example, when determining the second target type corresponding to the target location point, the vehicle types supported by the target vehicle and the vehicle types supported by the target location point (indicating that robots of this type of vehicle are allowed to reach the target location point) can be obtained, and then the intersection of the above vehicle types can be used as the second target type.
[0142] Step 309: Determine the driving route. For example, a first intersection point on the same map as the initial location and a second intersection point on the same map as the target location can be determined. The driving route between the initial location and the first intersection point can be determined, and the driving route between the second intersection point and the target location can be determined.
[0143] Exemplarily, the first handover point is the starting point for handing over the target vehicle to the external control device, and the second handover point is the ending point for handing over the target vehicle to the external control device, that is, the external control device controls the target vehicle to move from the first handover point to the second handover point. For example, taking the initial position point and the target position point being on different floors as an example, the first handover point and the initial position point are on the same floor A, and the first handover point is any position point of floor A in the target elevator. If the target elevator is on floor A, a certain position point in the target elevator is used as the first handover point. In addition, the second handover point and the target position point are on the same floor B, and the second handover point is any position point of floor B in the target elevator. If the target elevator is on floor B, a certain position point in the target elevator is used as the second handover point.
[0144] For example, after determining the first intersection point, a driving route between the initial location and the first intersection point can be determined. For example, the driving route can be determined using an A* algorithm or a certain strategy, without limitation. Furthermore, after determining the second intersection point, a driving route between the second intersection point and the target location can be determined. For example, the driving route can be determined using an A* algorithm or a certain strategy, without limitation.
[0145] For example, if the driving route between the initial location and the first intersection point is successfully obtained, and the driving route between the second intersection point and the target location point is successfully obtained, step 310 is executed. If the driving route between the initial location and the first intersection point and / or the driving route between the second intersection point and the target location point is not obtained, the process ends without a route, and step 301 needs to be repeated in the subsequent process.
[0146] Step 310: Move the target vehicle from the initial position point to the target position point through the target type robot (such as the first target type robot and / or the second target type robot), that is, perform the transportation task through the target type robot to move the target vehicle from the initial position point to the target position point across the map.
[0147] For example, if the target vehicle is moved in cross-device mode, the target vehicle is moved from the initial position to the first intersection by a robot of the first target type. For example, the robot of the first target type is first controlled to move to the initial position, the target vehicle is then placed on the robot, and the robot of the first target type moves the target vehicle from the initial position to the first intersection. Then, the target vehicle is moved from the second intersection to the target position by a robot of the second target type. For example, the robot of the second target type is first controlled to move to the second intersection, the target vehicle is placed on the robot, and the robot of the second target type moves the target vehicle from the second intersection to the target position.
[0148] For another example, if the target vehicle moves in a follow mode, the target vehicle is moved from the initial position to the first intersection by a robot of the first target type. For example, the robot of the first target type is first controlled to move to the initial position, and then the target vehicle is placed on the robot, and the robot of the first target type moves the target vehicle from the initial position to the first intersection. Then, the robot of the first target type (i.e., the robot remains unchanged) moves the target vehicle from the second intersection to the target position. For example, after the robot of the first target type is moved from the first intersection to the second intersection, the robot of the first target type directly moves the target vehicle from the second intersection to the target position.
[0149] For example, in a dense storage scenario, if there are other vehicles in the outer layer of the target vehicle, then after controlling the robot of the first target type to move to the initial position, the other vehicles in the outer layer are first moved to other areas, and then the target vehicle can be placed on the robot of the first target type.
[0150] With respect to step 310 , when moving the target vehicle from the initial position point to the target position point across the map, the target vehicle may be moved in a cross-device mode or in a follow-up mode.
[0151] If the target vehicle moves in cross-device mode, the target vehicle is moved from the initial position to the first junction point by a robot of the first target type, and a resource request message is sent to the peripheral control device. After receiving the resource request message, the peripheral control device moves the target vehicle from the first junction point to the second junction point and returns a resource in place message. After receiving the resource in place message returned by the peripheral control device, the target vehicle is moved from the second junction point to the target position by a robot of the second target type.
[0152] If the target vehicle moves in follow mode, the target vehicle is moved from the initial position point to the first intersection point by the robot of the first target type, and a resource request message is sent to the peripheral control device. After receiving the resource request message, the peripheral control device moves the robot and the target vehicle together from the first intersection point to the second intersection point and returns a resource in place message. After receiving the resource in place message returned by the peripheral control device, since the target vehicle is still located on the robot of the first target type, the target vehicle is directly moved from the second intersection point to the target position point by the robot of the first target type.
[0153] The first and second intersection points can be intersection points on different floors. For example, the first intersection point is any location within the target elevator on floor A, and the second intersection point is any location within the target elevator on floor B. The first and second intersection points can also be other types of intersection points, without limitation, as long as the peripheral control device can move the target vehicle from the first intersection point to the second intersection point. In the following process, we will use intersection points on different floors as an example to explain the process of moving a target vehicle across a map.
[0154] FIG4 is a schematic diagram of moving a target vehicle from an initial position point to a target position point across a map when the target vehicle moves in a follow mode. As shown in FIG4 , the cross-map movement process may include steps 401 to 408 .
[0155] Step 401: Determine whether there is a candidate waiting point for the target vehicle (such as a location outside the target elevator as a candidate waiting point). If so, execute step 402; if not, execute step 403.
[0156] Step 402: Use the candidate waiting point as the target caching point of the target vehicle.
[0157] Step 403: Acquire the target cache point of the target vehicle using a cache progressive method.
[0158] Step 404: The target vehicle is moved from the initial position point to the target cache point by the robot of the first target type. That is, the target vehicle is temporarily queued at the target cache point and has not yet been moved to the first handover point.
[0159] For example, if there is no idle position in the target elevator, steps 401 to 404 can be executed to move the target vehicle from the initial position point to the target cache point. If there is an idle position in the target elevator, the target vehicle can be directly moved from the initial position point to the first handover point without executing steps 401 to 404.
[0160] For example, if a certain location outside the target elevator is configured as a candidate waiting point for the target vehicle, the candidate waiting point is directly used as the target cache point of the target vehicle. If no candidate waiting point is configured for the target vehicle, the target cache point of the target vehicle is obtained using a cache progressive method.
[0161] For example, a target elevator includes multiple cache points, and the cache points are sorted in ascending order of distance, where the distance is the distance between the cache point and the target elevator. For example, cache point a1, cache point a2, and cache point a3 are included in sequence. The distance between cache point a1 and the target elevator is smaller than the distance between cache point a2 and the target elevator, and the distance between cache point a2 and the target elevator is smaller than the distance between cache point a3 and the target elevator.
[0162] The first free cache point among multiple cache points outside the target elevator is selected as the target cache point. A free cache point is a cache point with an empty space (capable of accommodating the target vehicle). For example, first determine whether cache point a1 is free. If so, use cache point a1 as the target cache point. If not, determine whether cache point a2 is free. If so, use cache point a2 as the target cache point. If not, determine whether cache point a3 is free. This process continues until the target cache point is found.
[0163] In order to achieve cache progression, after the target vehicle is moved from the initial position point to the target cache point, it is also possible to detect whether a new idle cache point appears in front of the target cache point. If a new idle cache point appears in front of the target cache point, the target vehicle can be moved to the new idle cache point by a robot of the first target type, so that the distance between the target vehicle and the target elevator becomes closer and closer. In this way, when there is an idle position in the target elevator, the target vehicle can be quickly moved to the first handover point in the target elevator.
[0164] For example, if cache point a3 is the target cache point, then cache point a2 can be periodically checked to see if it is a newly available cache point. If not, the target cache point remains unchanged. If so, cache point a2 is set as the target cache point and the target vehicle is moved from cache point a3 to cache point a2. Then, cache point a1 can be periodically checked to see if it is a newly available cache point, and so on, until the target vehicle moves to the first cache point outside the target elevator. If there is an available position within the target elevator, the target vehicle is moved to the first transfer point.
[0165] Step 405: If there is an empty position in the target elevator, the target vehicle is moved from the target buffer point to the first handover point in the target elevator by a robot of the first target type. For example, if the target vehicle is already located at the first buffer point outside the target elevator, the target vehicle may be moved to the first handover point.
[0166] When the target vehicle moves in the follow mode, the robot of the first target type and the target vehicle move synchronously to the first intersection, and the target vehicle remains on the robot of the first target type.
[0167] For example, before moving the target vehicle from the target cache point to the first handover point in the target elevator, a resource request message can also be sent to the peripheral control device. After receiving the resource request message, the peripheral control device can open the elevator door of the target elevator. In this way, the robot of the first target type can move the target vehicle from the target cache point to the first handover point in the target elevator.
[0168] Step 406: The peripheral control device moves the target vehicle from the first intersection to the second intersection.
[0169] For example, after the target carrier is moved to the first intersection in the target elevator, the control process of the peripheral control device can be executed, that is, the peripheral control device moves the target carrier from the first intersection to the second intersection. For example, the target elevator is controlled to move from the floor where the first intersection is located to the floor where the second intersection is located, thereby moving the target carrier from the first intersection to the second intersection.
[0170] For example, during the control process of the peripheral control device, it is also possible to detect whether the target elevator is abnormal. If the target elevator is abnormal, it is also possible to switch the elevator or output an alarm message indicating that the target elevator is abnormal.
[0171] For example, before moving the target vehicle to the first handover point in the target elevator, a check can be performed to determine whether an interruption event exists. If so, the current task can be canceled without moving the target vehicle to the first handover point in the target elevator. For example, if a new task is requested for the target vehicle, and the destination point of the new task is not on the floor where the second handover point is located, this new task can be an interruption event. When executing the new task, it is not necessary to move the target vehicle to the floor where the second handover point is located, so the current task is canceled.
[0172] For example, before sending a resource request message to the peripheral control device so that the peripheral control device moves the target vehicle from the first handover point to the second handover point, if a new task for the target vehicle is received, and the new task is used to move the target vehicle to a candidate position point on the floor where the first handover point is located (that is, the candidate position point is not the position point on the floor where the second handover point is located), the movement task from the first handover point to the second handover point is canceled, and the target vehicle is moved to the candidate position point by a robot of the first target type.
[0173] Step 407: After moving the target vehicle from the first handover point to the second handover point, the peripheral control device returns a resource in place message, ends the control process of the peripheral control device, and releases the target elevator.
[0174] Step 408: After receiving the resource arrival message returned by the peripheral control device, a new map can be switched, that is, a new map of the floor where the target location point is located can be switched. Under this new map, the target vehicle is moved from the second intersection point to the target location point by a robot of the first target type.
[0175] At this point, the target vehicle has been successfully moved from the initial position to the target position across the map.
[0176] In one possible implementation, each time a vehicle enters a target elevator, the number of vehicles in the target elevator may be increased, and each time a vehicle leaves the target elevator, the number of vehicles in the target elevator may be decreased. Thus, if the number of vehicles in the target elevator is greater than a threshold, it indicates that there are no vacant positions in the target elevator; if the number of vehicles in the target elevator is not greater than the threshold, it indicates that there are vacant positions in the target elevator.
[0177] FIG5 is a schematic diagram of moving a target vehicle from an initial position to a target position across a map when the target vehicle adopts a cross-device mode. As shown in FIG5 , the cross-map movement process may include steps 501 to 509 .
[0178] Step 501: Determine whether there is a candidate waiting point for the target vehicle (such as a location outside the target elevator as a candidate waiting point). If so, execute step 502; if not, execute step 503.
[0179] Step 502: Use the candidate waiting point as the target caching point of the target vehicle.
[0180] Step 503: Acquire the target cache point of the target vehicle using a cache progressive method.
[0181] Step 504: The target vehicle is moved from the initial position point to the target cache point by the robot of the first target type. That is, the target vehicle is temporarily queued at the target cache point and has not yet been moved to the first handover point.
[0182] Step 505: If there is an empty position in the target elevator, the target vehicle is moved from the target buffer point to the first handover point in the target elevator by a robot of the first target type. For example, if the target vehicle is already located at the first buffer point outside the target elevator, the target vehicle may be moved to the first handover point.
[0183] For example, steps 501 to 505 are similar to steps 401 to 405 and are not repeated here. The difference is that when the target vehicle moves in cross-device mode, the robot of the first target type places the target vehicle at the first intersection and then leaves, and does not move synchronously with the target vehicle to the second intersection.
[0184] Step 506: The peripheral control device moves the target vehicle from the first intersection to the second intersection.
[0185] For example, the peripheral control device may control the target elevator to move from the floor where the first handover point is located to the floor where the second handover point is located, thereby moving the target vehicle from the first handover point to the second handover point.
[0186] For example, before sending a resource request message to the peripheral control device so that the peripheral control device moves the target vehicle from the first handover point to the second handover point, if a new task for the target vehicle is received, and the new task is used to move the target vehicle to a candidate position point on the floor where the first handover point is located (that is, the candidate position point is not the position point on the floor where the second handover point is located), the movement task from the first handover point to the second handover point is canceled, and the target vehicle is moved to the candidate position point by a robot of the first target type.
[0187] Step 507: Execute the pre-scheduling process of the robot of the second target type.
[0188] For example, in the process of moving the target vehicle from the initial position point to the first intersection point by the robot of the first target type (steps 501-505), the robot of the second target type is synchronously moved to the associated position point corresponding to the second intersection point. Alternatively, in the process of moving the target vehicle from the first intersection point to the second intersection point by the peripheral control device (step 506), the robot of the second target type is synchronously moved to the associated position point corresponding to the second intersection point. The distance between the associated position point and the second intersection point is less than a threshold value. For example, the associated position point may be a position point outside the target elevator. After the elevator door of the target elevator is opened, the robot of the second target type can directly enter the target elevator from the associated position point.
[0189] Step 508: After moving the target vehicle from the first handover point to the second handover point, the peripheral control device returns a resource in place message, ends the control process of the peripheral control device, and releases the target elevator.
[0190] Step 509: After receiving the resource arrival message from the peripheral control device, a new map may be switched, i.e., a new map corresponding to the floor where the target location is located. In this new map, the target vehicle may be moved from the second intersection to the target location by a robot of the second target type. For example, the robot of the second target type may be controlled to reach the second intersection of the target elevator, and the target vehicle may be placed on the robot of the second target type, which may then move the target vehicle from the second intersection to the target location.
[0191] At this point, the target vehicle has been successfully moved from the initial position to the target position across the map.
[0192] In one possible implementation, for a business process file in a densely stored scenario, a target carrier is moved from an initial position to before a first intersection point by a robot of the first target type. If other carriers exist outside the target carrier and a storage area exists for placing the other carriers, the other carriers can be moved to the storage area. After no other carriers exist outside the target carrier, the target carrier can be moved to the robot of the first target type (i.e., the target carrier is moved onto the robot).
[0193] After moving the target carrier to the robot of the first target type, other carriers can also be moved to the placement position of the target carrier (that is, placed at the inner position where the target carrier is located), or, other carriers can be moved to the original position of other carriers (that is, placed at the outer position where other carriers are located), or, other carriers can be kept in the storage area (that is, the position of other carriers will not be changed).
[0194] In one possible implementation, in order to realize the task execution function, for the business process file of the multi-vehicle docking scenario, that is, in the multi-vehicle docking (such as the docking of a lurking vehicle and a forklift) task scenario, the method may include: you can first apply for the first carrier, such as the shelf to be palletized. If the first carrier is not successfully applied for, the process ends without a carrier. If the first carrier is successfully applied for, then apply for a site (such as a docking site, here taking the storage node as an example). If the docking site is not successfully applied for, the process ends without a docking site. If the site without docking is successfully applied for, then apply for a site (such as a site at the target location point). If the site at the target location point is not successfully applied for, the process ends without a site at the target location point. If the site at the target location point is successfully applied for, then search for the first vehicle model, taking the first vehicle model robot as an example of a lifting vehicle, that is, pick the lifting vehicle.
[0195] If the first vehicle doesn't have a cross-map task, the transport task is performed using a lift truck. After the lift truck's transport task is completed, a second vehicle, such as a pallet on a shelf (i.e., the second vehicle on the first vehicle), is requested. Next, a search is performed for the second vehicle model. For example, if the second vehicle model is a forklift, the forklift is selected. The forklift then performs the transport task, and after the forklift's transport task is completed, the process ends.
[0196] If the first vehicle has a cross-map task, a route is searched. If no route is found, the process ends without a route. If a route is found, the lifting vehicle is used to perform the cross-map handling task. The implementation of the cross-map handling task can be referred to the above embodiment and will not be described in detail here. After the lifting vehicle's handling task is completed, a second vehicle is applied, such as a pallet on a shelf (i.e., the second vehicle on the first vehicle). Then, a second vehicle model is searched. For example, if the second vehicle model is a forklift, the forklift is selected. Then, the handling task is performed by the forklift.
[0197] In one possible implementation, in a lane task scenario, i.e., a business process file for a lane scenario, when a user triggers the execution of the business process file, they can also select whether the starting or ending point is a lane task. In a stacking task scenario, i.e., a business process file for a stacking scenario, when a user triggers the execution of the business process file, they can also select whether to stack, such as selecting "yes stacking". In a peripheral automation task scenario, i.e., a business process file for a peripheral automation scenario, when a user triggers the execution of the business process file, they can also select the transport task node: whether to request a request to the peripheral device for picking up or releasing goods.
[0198] Fourth, the task following function for task scheduling and following equipment.
[0199] For example, a task scheduling and tracking device can support a task tracking function. Based on this function, the task scheduling and tracking device can follow the task during execution, thereby understanding the robot's current task step and the task's execution status. During the execution of the task flow, it can track the current node of the process, which resources are requested, which peripherals are controlled, which tasks the robot is executing, the message exchange process, and any anomalies. During the execution of the task flow, it can track the variables at the current node and whether the variables are correct. Variable values can be modified in real time and take effect immediately.
[0200] If the current task is on a robot task node, you can trigger the robot task to execute immediately. You can view the node the task flow has reached and the variables at that node. You can modify node variables with immediate effect. If the task flow executes abnormally, the abnormal node will be prominently marked. You can view the cause of the abnormal node and, after correcting the error, click Retry to resume the robot task.
[0201] To sum up, during the execution of the task process, check whether there are any abnormalities in the node currently executed by the task process, the resources applied for by the task process, the peripherals controlled by the task process, the tasks executed by the robot, and the message interaction process; among them, when detecting the node currently executed by the task process, check whether the variables existing in the node are correct, and allow modification of the variable values; when detecting the node currently executed by the task process, if the currently executed node is on the robot task node, trigger the robot task to execute immediately.
[0202] In one possible implementation, the ability of secondary development can also be provided. For example, a toolkit (i.e., SDK development kit) can be opened, which may include but is not limited to: handling object SDK, storage object SDK, elevator SDK, robot SDK, peripheral SDK, and task SDK. These toolkits are used for script development of task orchestration. For another example, custom nodes can be opened. When the nodes designed by the system are not enough, such as adding a new robot category, users can customize the development node, write the robot task description of the new node, input and output parameters, policy scripts, and node business logic. The custom node can be packaged into a jar package and placed in the lib directory. After the system is restarted, it can be loaded into the system and used in the robot task process editor.
[0203] To sum up, a toolkit for secondary development can also be provided, which may include but is not limited to at least one of the following: handling object SDK, storage object SDK, elevator SDK, robot SDK, peripheral SDK, and task SDK; if a secondary development instruction based on the toolkit input by the user is received, a task orchestration script is obtained based on the secondary development instruction, and the task orchestration script is used to orchestrate the business process file; and / or, custom node development permissions can also be provided; if custom node information input by the user is received, activity nodes and / or event nodes are generated based on the custom node information.
[0204] In one possible implementation, the business process file is loaded into the business process engine to control the movement of the vehicle, that is, the business process file is first loaded into the business process engine, and then the business process file is executed in the business process engine to control the movement of the vehicle.
[0205] Among them, the business process engine may include but is not limited to: osworkflow business process engine, jbpm business process engine, activiti business process engine based on BPMN standard, flowable business process engine based on BPMN standard, and camunda business process engine based on BPMN standard.
[0206] As can be seen from the above technical solutions, in the embodiments of the present application, a business process file can be orchestrated based on user-entered orchestration instructions, combined with activity nodes and event nodes, and the business process file is used to control vehicle movement. In this way, even if the target vehicle's movement scenario is relatively complex, such as moving across an elevator, the target vehicle can be moved from a workbench to a warehouse to achieve material entry, and from a warehouse to a workbench to achieve material exit, thereby providing a reasonable control method for the target vehicle's movement. The robot's task scenarios can be orchestrated to move the target vehicle from an initial position to a target position, making the robot's task execution more reasonable, improving on-site maintenance efficiency, reducing operating and maintenance costs, improving task implementation efficiency, and enhancing user experience. The robot's node design and task orchestration design can orchestrate complex task scenarios, providing strong business flexibility and reducing project development costs. This can improve the flexibility of the scheduling system and reduce the development workload of R&D personnel. This can address the problems of large scheduling system customization, multiple business operations, and frequent R&D code modifications. The robot's task execution and task following design allows for quick identification of the task's progress, improving on-site maintenance efficiency and reducing operating and maintenance costs. The robot's secondary development and design of business processes allows users to independently develop nodes and business scenarios, reducing the involvement of system developers, lowering R&D costs, and improving implementation efficiency.
[0207] Based on the same application concept as the above method, an embodiment of the present application proposes a vehicle mobile service orchestration system (the vehicle mobile service orchestration system can also be called a vehicle mobile service orchestration device). Figure 6 is a structural diagram of the system. As shown in Figure 6, the system includes: an acquisition module 61, used to provide activity nodes and event nodes, wherein the activity node includes an orchestration object and its configuration parameters, the configuration parameters of the orchestration object include the input parameters, output parameters and functions of the orchestration object, and the orchestration object is a resource used during the vehicle movement process; the event node includes a message object and its configuration parameters, the configuration parameters of the message object include the function of the message object, and the message object is a message that triggers the process to continue execution during the vehicle movement process; a processing module 62, used to orchestrate a business process file based on the vehicle mobile service orchestration information input by the user, in combination with the activity node and the event node; wherein the business process file is used to control the vehicle movement.
[0208] Exemplarily, the orchestration objects in the active node include at least one of the following: a vehicle object, which represents a vehicle to be moved in a vehicle movement service; a storage node object, which represents a location for placing a vehicle in a vehicle movement service; a vehicle type object, which represents a robot type used to place a vehicle in a vehicle movement service; a line object, which represents a moving route of a robot in a vehicle movement service; a robot object, which represents a robot in a vehicle movement service; and a peripheral resource object, which represents a peripheral resource in a vehicle movement service.
[0209] Exemplarily, the orchestration objects in the active node include vehicle objects, and the configuration parameters of the vehicle objects include at least one of the following: querying vehicles according to input conditions; supporting vehicle searches from warehouses, stations, and lanes; supporting searches for temporary vehicles; supporting searches for unbound vehicles; adding an outbound lock mark to the vehicle after finding the vehicle; triggering a timer or area status update when searching for vehicles in a loop; if the target location point has been entered, searching for the vehicle based on the vehicle type of the target location point; if the target location point has been entered, searching for the vehicle based on the distance between the vehicle and the target location point; ignoring the vehicle lock status if vehicle multitasking is supported; allowing searches for empty and full vehicles if empty vehicle search is not selected; allowing searches for temporary vehicles if uncoded vehicles are supported; and whether vehicle stacking is supported.
[0210] Exemplarily, the orchestration objects in the active node include storage node objects, whose configuration parameters include at least one of the following: querying storage objects based on input conditions; supporting searching for storage objects from locations, sites, and lanes; if the storage object is located in an inner storage location, returning the storage object in the outer storage location; after finding the storage object, adding a storage lock mark to the storage object; when cyclically searching for storage objects, triggering by a timer or area status update; whether the storage object is queued, and if so, ignoring the storage object lock status.
[0211] Exemplarily, the orchestration object in the active node includes a vehicle model object, and the configuration parameters of the vehicle model object include at least one of the following: finding the intersection of various vehicle model information; if the vehicle model is not configured, all vehicle models are available by default; if the vehicle model is configured, taking the intersection of the configured vehicle models; if the intersection is empty, reporting an exception; if the vehicle model is inconsistent with the vehicle number, reporting an exception.
[0212] Exemplarily, the arrangement object in the activity node includes a route object, and its configuration parameters include at least one of the following: cross-map use, including a combination of elevator and map intersection points; obtaining all routes leading to the target location point; updating the number of entry and exit tasks of the elevator in the route; disabled elevators or elevators with abnormal status are filtered out; before re-searching the route due to an elevator abnormality, the route needs to be released first; if a route spans multiple maps, the cross-map nodes are executed multiple times; when the cross-elevator task is completed, the number of entry and exit tasks of the elevator is updated.
[0213] Exemplarily, the orchestration object in the active node includes a robot object, and the configuration parameters of the robot object include at least one of the following: executing an empty vehicle moving task; executing a loaded vehicle moving task; executing a handling task; executing a pre-scheduling task; executing an actuator action task; and executing a map switching task.
[0214] Exemplarily, the orchestration object in the active node includes a peripheral resource object, and the configuration parameters of the peripheral resource object include at least one of the following: continuing the message according to the input conditions and sending it to the peripheral control device; waiting for the feedback message from the peripheral control device; returning directly when the peripheral resource is disabled without calling the peripheral control device interface; when the peripheral resource is disabled, cyclically applying for the peripheral resource.
[0215] Exemplarily, the message objects in the event node include at least one of the following: a resource change message object, which indicates that the resources of the orchestration object have changed; a task continuation message object, which indicates that the task continues to be executed; a peripheral notification message object, which includes a resource request message and a resource in place message, the resource request message indicates a request for peripheral resources, and the resource in place message indicates that the peripheral resources are ready; a robot execution message object, which indicates a message during the execution process.
[0216] Exemplarily, the business process file includes multiple task nodes that are executed in sequence, and the processing module 62 is specifically used to compose the business process file based on the vehicle mobile business orchestration information input by the user, in combination with the activity node and the event node: for each task node, if the task node is for an orchestration object, then: based on the orchestration object selection instruction input by the user, select the target orchestration object corresponding to the orchestration object selection instruction, and display the configuration parameters of the target orchestration object; create the task node in the business process file, the task node including the target orchestration object and the input conditions input by the user based on the configuration parameters; if the task node is for a message object, then: based on the message object selection instruction input by the user, select the target message object corresponding to the message object selection instruction; create the task node in the business process file, the task node including the target message object.
[0217] Exemplarily, the processing module 62 is further configured to store the business process file in a designated storage medium after composing the business process file in combination with the activity node and the event node.
[0218] The system also includes: a control module, which is used to, after receiving a task execution instruction input by the user, read the business process file corresponding to the file identifier from a designated storage medium, and substitute the initial position point and the target position point into the business process file; and control the movement of the vehicle by executing the business process file.
[0219] Exemplarily, the business process files stored in the designated storage medium may include but are not limited to at least one of the following: business process files for lane scenarios, where the lane scenario indicates that the vehicle passes through the lane during movement; business process files for dense storage scenarios, where the dense storage scenario indicates that the storage node has inner storage locations and outer storage locations, and the storage node is a storage node for placing vehicles; business process files for elevator scenarios, where the elevator scenario indicates that the vehicle passes through the elevator during movement; business process files for stacking scenarios, where the stacking scenario indicates that the robot carries multiple vehicles, or the storage node carries multiple vehicles; business process files for peripheral automation scenarios, where the peripheral automation scenario indicates that The robot needs to dock with peripherals; for the business process files of high-bay shelves and double-depth scenarios, the high-bay shelves and double-depth scenarios indicate that the robot is a double-depth robot, and the carrier is a high-bay shelf; for the business process files of multi-model docking scenarios, the multi-model docking scenarios indicate that the carrier needs to be transported by robots of at least two models; for the business process files of progressive exchange scenarios, the progressive exchange scenarios indicate that there are a main workbench and a backup workbench, and after the carrier of the main workbench is moved away, the carrier of the backup workbench is moved to the main workbench; for the business process files of cache progressive scenarios, the cache progressive scenarios indicate that when the target position corresponds to multiple cache points, the carrier gradually moves to the nearest cache point of the target position.
[0220] Exemplarily, if the business process file is a business process file for an aisle scenario, or a business process file for a dense storage scenario, or a business process file for an elevator scenario, or a business process file for a stacking scenario, or a business process file for a peripheral automation scenario, or a business process file for a high-rise shelf and double-depth scenario, or a business process file for a progressive exchange scenario, or a business process file for a cache progressive scenario; when the control module controls the movement of the vehicle by executing the business process file, it is specifically used to: apply for a target vehicle; the target vehicle needs to move from an initial position point to a target position point; if the initial position point and the target position point are position points across the map, then determine the position point at the same location as the initial position point. a first intersection point in the same map as the target location point, and a second intersection point in the same map as the target location point; if the target vehicle moves in cross-device mode, determining a first target type corresponding to the initial location point and a second target type corresponding to the target location point; using a robot of the first target type to move the target vehicle from the initial location point to the first intersection point, and sending a resource request message to the peripheral control device, so that the peripheral control device moves the target vehicle from the first intersection point to the second intersection point and returns a resource in place message; after receiving the resource in place message returned by the peripheral control device, using a robot of the second target type to move the target vehicle from the second intersection point to the target location point.
[0221] Exemplarily, the control module is also used to, after determining a first intersection point on the same map as the initial position point and a second intersection point on the same map as the target position point, if the target vehicle moves in a follow-up mode, determine a first target type corresponding to the initial position point; move the target vehicle from the initial position point to the first intersection point by a robot of the first target type, and send a resource request message to the peripheral control device so that the peripheral control device moves the robot and the target vehicle from the first intersection point to the second intersection point; after receiving the resource in place message returned by the peripheral control device, move the target vehicle from the second intersection point to the target position point by the robot of the first target type.
[0222] Exemplarily, if the first intersection point and the second intersection point are located on different floors, the peripheral control device is used to control the target elevator to move from the floor where the first intersection point is located to the floor where the second intersection point is located; when the control module moves the target vehicle from the initial position point to the first intersection point through the robot of the first target type, it is specifically used to: if there is no idle position in the target elevator, select the first idle cache point from multiple cache points outside the target elevator as the target cache point, and move the target vehicle from the initial position point to the target cache point through the robot of the first target type; wherein the multiple cache points are sorted in ascending order of distance, and the distance is the distance between the cache point and the target elevator; if a new idle cache point appears in front of the target cache point, the target vehicle is moved to the new idle cache point by the robot of the first target type; if there is an idle position in the target elevator, the target vehicle is moved to the first intersection point in the target elevator by the robot of the first target type.
[0223] The control module is also used to synchronously move the robot of the second target type to the associated position point corresponding to the second intersection point before the target vehicle is moved from the second intersection point to the target position point by the robot of the second target type, while the target vehicle is moved from the initial position point to the first intersection point by the robot of the first target type; or, synchronously move the robot of the second target type to the associated position point corresponding to the second intersection point while the peripheral control device is moving the target vehicle from the first intersection point to the second intersection point; wherein the distance between the associated position point and the second intersection point is less than a threshold value.
[0224] If the first intersection and the second intersection are located on different floors, the control module is also used to send a resource request message to the peripheral control device so that before the peripheral control device moves the target vehicle from the first intersection to the second intersection, if a new task for the target vehicle is received, and the new task is used to move the target vehicle to a candidate position point on the floor where the first intersection is located, then the movement task from the first intersection to the second intersection is canceled, and the target vehicle is moved to the candidate position point by a robot of the first target type.
[0225] The control module is also used to apply for a target vehicle that needs to be moved from an initial position point to a target position point. If the initial position point and the target position point are position points on the same map, then determine a third target type corresponding to the initial position point and the target position point; and move the target vehicle from the initial position point to the target position point by a robot of the third target type.
[0226] If the business process file is a business process file for a dense storage scenario, the control module is also used to, before the target vehicle is moved from the initial position point to the first intersection point by the robot of the first target type, if there are other vehicles on the outer layer of the target vehicle and there is a storage area for placing the other vehicles, move the other vehicles to the storage area; after there are no other vehicles on the outer layer of the target vehicle, move the target vehicle to the robot of the first target type; after the target vehicle is moved to the robot of the first target type, move the other vehicles to the placement position of the target vehicle, or, move the other vehicles to the original position of the other vehicles, or, keep the other vehicles in the storage area.
[0227] For example, if the business process file is a business process file for a multi-vehicle docking scenario, the control module controls the movement of the vehicle by executing the business process file to:
[0228] Apply for the first vehicle, the connected storage node, the storage node of the target location, and search for the first vehicle model;
[0229] If there is no cross-map task for the first vehicle, the robot of the first vehicle model performs the transport task to move the first vehicle from the initial location to the connected storage node. After the transport task is completed, a second vehicle model is requested, and the second vehicle is placed on the first vehicle. The second vehicle model is searched, and the robot of the second vehicle model performs the transport task to move the second vehicle from the connected storage node to the target location.
[0230] If the first vehicle has a cross-map task, determine the first intersection point that is in the same map as the initial position point and the second intersection point that is in the same map as the connected storage node; move the first vehicle from the initial position point to the first intersection point by the robot of the first vehicle model, and send a resource request message to the peripheral control device, so that the peripheral control device moves the first vehicle from the first intersection point to the second intersection point and returns a resource in place message; after receiving the resource in place message returned by the peripheral control device, move the first vehicle from the second intersection point to the connected storage node by the robot of the first vehicle model; after the handling task is completed, apply for a second vehicle, and the second vehicle is located on the first vehicle; search for the second vehicle model, and perform the handling task by the robot of the second vehicle model to move the second vehicle from the connected storage node to the target position point.
[0231] When the control module controls the movement of the vehicle by executing the business process file, it is specifically used to: start the task process of the business process file, instantiate the task process, and drive the execution of the task process; during the execution of the task process, when reaching the resource application node, apply for the required resources from the model building device; when reaching the peripheral control node, request peripheral control from the peripheral control device; when reaching the robot task node, send the robot task to the robot control device, and wait for the robot task to be completed; wherein, when the task process is waiting for the event node triggered by the message, the task process is triggered to continue execution through the trigger mechanism of the business process engine through resource change messages, peripheral notification messages, and robot execution phase messages.
[0232] The control module is also used to detect whether there are any abnormalities in the node currently executed by the task process, the resources applied for by the task process, the peripherals controlled by the task process, the tasks executed by the robot, and the message interaction process during the execution of the task process; wherein, when detecting the node currently executed by the task process, the variables existing in the node are detected, whether the variables are correct, and the modification of the variable values is allowed; when detecting the node currently executed by the task process, if the currently executed node is on the robot task node, the robot task is triggered to be executed immediately.
[0233] Exemplarily, the acquisition module 61 is also used to provide a toolkit for secondary development, and the toolkit includes at least one of the following: a handling object SDK, a storage object SDK, an elevator SDK, a robot SDK, a peripheral SDK, and a task SDK; if a secondary development instruction input by the user based on the toolkit is received, a task orchestration script is obtained based on the secondary development instruction, and the task orchestration script is used to orchestrate business process files; and / or, custom node development permissions are provided; if custom node information input by the user is received, activity nodes and / or event nodes are generated based on the custom node information.
[0234] Exemplarily, the business process file is loaded into a business process engine to control the movement of the vehicle; wherein, the business process engine is: osworkflow business process engine, jbpm business process engine, activiti business process engine based on BPMN standard, flowable business process engine based on BPMN standard, camunda business process engine based on BPMN standard.
[0235] Based on the same application concept as the above method, an electronic device is proposed in an embodiment of the present application, as shown in Figure 7. The electronic device may include: a processor 71 and a machine-readable storage medium 72, the machine-readable storage medium 72 storing machine-executable instructions that can be executed by the processor 71; the processor 71 is used to execute the machine-executable instructions to implement the vehicle mobile service orchestration method of the above example of the present application.
[0236] Based on the same application concept as the above method, an embodiment of the present application also provides a machine-readable storage medium, on which a number of computer instructions are stored. When the computer instructions are executed by the processor, the method for orchestrating vehicle mobile services disclosed in the above example of the present application can be implemented.
[0237] The machine-readable storage medium may be any electronic, magnetic, optical, or other physical storage device that may contain or store information, such as executable instructions, data, and the like. For example, the machine-readable storage medium may be: RAM (Random Access Memory), volatile memory, non-volatile memory, flash memory, a storage drive (such as a hard disk drive), a solid-state drive, any type of storage disk (such as a CD, DVD, etc.), or similar storage media, or a combination thereof.
[0238] The systems, devices, modules, or units described in the above embodiments may be implemented by a computer entity or by a product having certain functions. A typical implementation device is a computer, which may be in the form of a personal computer, laptop computer, cellular phone, camera phone, smartphone, personal digital assistant, media player, navigation device, email transceiver, game console, tablet computer, wearable device, or any combination of these devices.
[0239] For the convenience of description, the above devices are described as being divided into various units according to their functions. Of course, when implementing this application, the functions of each unit can be implemented in the same or multiple software and / or hardware.
[0240] Those skilled in the art will appreciate that the embodiments of the present application can be provided as methods, systems, or computer program products. Therefore, the present application can adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the embodiments of the present application can adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code.
[0241] The present application is described with reference to the flow chart and / or block diagram of the method, device (system) and computer program product according to the embodiment of the present application. It should be understood that each flow process and / or box in the flow chart and / or block diagram and the combination of the flow process and / or box in the flow chart and / or block diagram can be realized by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, an embedded processing machine or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device produce a device for realizing the function specified in one flow chart flow or multiple flows and / or one box or multiple boxes of the block diagram.
[0242] Moreover, these computer program instructions can also be stored in a computer-readable memory that can guide a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer-readable memory produce a manufactured product including an instruction device, which implements the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.
[0243] The foregoing is merely an embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various changes and variations. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present application should all be included within the scope of the claims of the present application.
Claims
1. A method for arranging a vehicle mobile service, comprising: Provide activity nodes and event nodes, wherein the activity node includes an orchestration object and its configuration parameters, the configuration parameters of the orchestration object include the input parameters, output parameters and functions of the orchestration object, and the orchestration object is a resource used in the vehicle movement process; the event node includes a message object and its configuration parameters, the configuration parameters of the message object include the function of the message object, and the message object is a message that triggers the process to continue execution during the vehicle movement process; Based on the vehicle movement service orchestration information input by the user, a service process file is orchestrated in combination with the activity node and the event node, wherein the service process file is used to control the vehicle movement.
2. The method according to claim 1, characterized in that The orchestration objects in the active node include at least one of the following: A vehicle object, wherein the vehicle object represents a vehicle to be moved in a vehicle movement service; A storage node object, wherein the storage node object represents a location for placing a vehicle in a vehicle movement service; A vehicle model object, which represents the type of robot used to place the vehicle in the vehicle movement service; A route object, which represents a movement route of a robot in a vehicle movement service; A robot object, wherein the robot object represents a robot in a vehicle movement service; Peripheral resource object, wherein the peripheral resource object represents the peripheral resources in the vehicle mobile service.
3. The method according to claim 2, characterized in that The orchestration object in the active node includes a vehicle object, and the configuration parameters of the vehicle object include at least one of the following: Query the vehicle according to the input conditions; Supports searching for vehicles from warehouses, stations, and lanes; Supports searching for temporary carriers; Supports searching for unbound vehicles; After finding the vehicle, add a lock mark for the vehicle; When looping to search for vehicles, it is triggered by a timer or a zone status update; If the target location point has been entered, search for a vehicle based on the vehicle type of the target location point; If the target location point has been entered, find the vehicle based on the distance between the vehicle and the target location point; If vehicle multitasking is supported, the vehicle lock status is ignored; If the empty carrier search is not selected, both empty and full carrier searches are allowed; If uncoded vehicles are supported, temporary vehicles can be found; Whether to support vehicle stacking.
4. The method according to claim 2, characterized in that: The orchestration object in the active node includes a storage node object, and the configuration parameters of the storage node object include at least one of the following: Query storage objects based on input conditions; Supports searching for storage objects by location, site, and lane; If the storage object is located in the inner storage location, the storage object in the outer storage location is returned; After finding the storage object, add a storage lock mark to the storage object; When searching for storage objects in a loop, it is triggered by a timer or region status update; Whether the storage object is queued, if so, the storage object lock status is ignored.
5. The method according to claim 2, characterized in that: The arrangement object in the activity node includes a vehicle model object, and the configuration parameters of the vehicle model object include at least one of the following: Find the intersection of various car model information; If the vehicle model is not configured, all vehicle models are available by default; If the vehicle model has configurations, take the intersection of the configured vehicle models; If the intersection is empty, an exception is reported; If the model and license plate number are inconsistent, an exception will be reported.
6. The method according to claim 2, characterized in that The arrangement object in the active node includes a line object, and the configuration parameters of the line object include at least one of the following: Cross-map use, including the combination of elevators and map intersections; Get all the routes leading to the target location; Update the number of elevator entry and exit tasks in the line; Disabled elevators or elevators in abnormal status are filtered out; Before re-searching the route due to an elevator anomaly, the route needs to be released first; If a route spans multiple maps, it will be executed multiple times across the map nodes; When the cross-elevator task is completed, the number of elevator entry and exit tasks is updated.
7. The method according to claim 2, characterized in that The choreography object in the active node includes a robot object, and the configuration parameters of the robot object include at least one of the following: Perform empty vehicle moving tasks; Perform cargo movement tasks; Performing transport tasks; Execute pre-scheduled tasks; Execute the tasks of actuator action; Execute the map switching task.
8. The method according to claim 2, characterized in that: The orchestration object in the active node includes a peripheral resource object, and the configuration parameters of the peripheral resource object include at least one of the following: Query peripheral resources according to input conditions and send them to peripheral control devices; Wait for feedback from the peripheral control device; When the peripheral resource is disabled, it returns directly without calling the peripheral control device interface; When peripheral resources are disabled, apply for peripheral resources in a loop.
9. The method according to claim 1, characterized in that: The message object in the event node includes at least one of the following: A resource change message object, wherein the resource change message object indicates that a resource of the orchestration object has changed; A task continuation execution message object, wherein the task continuation execution message object indicates that the task continues to be executed; A peripheral notification message object, wherein the peripheral notification message object includes a resource request message and a resource in place message, wherein the resource request message indicates a request for peripheral resources, and the resource in place message indicates that the peripheral resources are ready; The robot executes a message object, wherein the robot executes a message object indicating a message in the execution process.
10. The method according to any one of claims 1 to 9, characterized in that: The business process file includes a plurality of task nodes executed in sequence, and the vehicle mobile business arrangement information inputted by the user is combined with the activity node and the event node to arrange the business process file, including: For each task node, if the task node is for an orchestration object, then: based on an orchestration object selection instruction input by a user, a target orchestration object corresponding to the orchestration object selection instruction is selected, and configuration parameters of the target orchestration object are displayed; the task node is created in the business process file, and the task node includes the target orchestration object and input conditions input by the user based on the configuration parameters; If the task node is for a message object, then: based on a message object selection instruction input by a user, a target message object corresponding to the message object selection instruction is selected; and the task node is created in the business process file, wherein the task node includes the target message object.
11. The method according to any one of claims 1 to 9, characterized in that: The method further comprises: After composing a service process file based on the vehicle mobile service arrangement information input by the user and combining the activity node and the event node, the service process file is stored in a designated storage medium; After receiving a task execution instruction input by a user, the task execution instruction includes an initial position point, a target position point and a file identifier, reading a business process file corresponding to the file identifier from the designated storage medium, and substituting the initial position point and the target position point into the business process file; The movement of the vehicle is controlled by executing the business process file.
12. The method according to claim 11, characterized in that The business process files stored in the designated storage medium include at least one of the following: A business process file for a lane scenario, where the lane scenario means that a vehicle passes through a lane during movement; A business process file for a dense storage scenario, wherein the dense storage scenario indicates that a storage node includes an inner storage location and an outer storage location, and the storage node is a location for placing a carrier; A business process file for an elevator scenario, where the vehicle passes through an elevator during movement; A business process file for a stacking scenario, where the stacking scenario means that a robot carries multiple carriers, or a storage node carries multiple carriers; A business process file for a peripheral automation scenario, where the robot needs to interface with a peripheral; Business process documents for high-bay and double-deep scenarios, where the robot is a double-deep robot and the carrier is a high-bay; Business process documents for multi-model docking scenarios, where the multi-model docking scenario requires at least two types of robot transport vehicles; For a business process file of a progressive exchange scenario, the progressive exchange scenario indicates that there is a main workbench and a standby workbench, and after the carrier of the main workbench is moved away, the carrier of the standby workbench is moved to the main workbench; For the business process file of the cache progressive scenario, the cache progressive scenario means that when the target location corresponds to multiple cache points, the vehicle gradually moves to the nearest cache point of the target location.
13. The method according to claim 12, characterized in that If the business process file is the business process file for the lane scenario, or the business process file for the dense storage scenario, or the business process file for the elevator scenario, or the business process file for the stacking scenario, or the business process file for the peripheral automation scenario, or the business process file for the high shelf and double-deep scenario, or the business process file for the progressive exchange scenario, or the business process file for the cache progressive scenario; The controlling the movement of the vehicle by executing the business process file includes: Applying for a target vehicle; wherein the target vehicle needs to move from the initial position point to the target position point; If the initial location point and the target location point are location points across maps, determining a first intersection point on the same map as the initial location point and a second intersection point on the same map as the target location point; If the target vehicle moves in a cross-device mode, determining a first target type corresponding to the initial position point and a second target type corresponding to the target position point; Move the target carrier from the initial position point to the first handover point by using the robot of the first target type, and send a resource request message to the peripheral control device, so that the peripheral control device moves the target carrier from the first handover point to the second handover point and returns a resource arrival message; After receiving the resource in place message returned by the peripheral control device, the target carrier is moved from the second handover point to the target location point by the robot of the second target type.
14. The method according to claim 13, characterized in that After determining the first intersection point on the same map as the initial location point and the second intersection point on the same map as the target location point, the method further includes: If the target vehicle moves in a follow-up mode, determining a first target type corresponding to the initial position point; Move the target carrier from the initial position point to the first handover point by using the robot of the first target type, and send a resource request message to the peripheral control device so that the peripheral control device moves the robot and the target carrier from the first handover point to the second handover point; After receiving the resource in place message returned by the peripheral control device, the target carrier is moved from the second handover point to the target location point by the robot of the first target type.
15. The method according to claim 13 or 14, characterized in that If the first intersection point and the second intersection point are located at different floors, the peripheral control device is used to control the target elevator to move from the floor where the first intersection point is located to the floor where the second intersection point is located; The moving the target carrier from the initial position point to the first handover point by the robot of the first target type comprises: If there is no free position in the target elevator, a first free cache point is selected from multiple cache points outside the target elevator as the target cache point, and the target vehicle is moved from the initial position point to the target cache point by the robot of the first target type; wherein the multiple cache points are sorted in ascending order of distance, and the distance is the distance between the cache point and the target elevator; If a new free cache point appears in front of the target cache point, the target vehicle is moved to the new free cache point by the robot of the first target type; If there is an empty position in the target elevator, the target load is moved by the robot of the first target type. The tool is moved to the first handover point in the target elevator.
16. The method according to claim 13, characterized in that Before the target carrier is moved from the second handover point to the target position point by the robot of the second target type, the method further includes: In the process of moving the target vehicle from the initial position point to the first intersection point by the robot of the first target type, the robot of the second target type is simultaneously moved to the associated position point corresponding to the second intersection point; or, In the process of the peripheral control device moving the target carrier from the first intersection to the second intersection, synchronously moving the robot of the second target type to an associated position point corresponding to the second intersection; Wherein, the distance between the associated position point and the second intersection point is less than a threshold.
17. The method according to claim 13 or 14, characterized in that If the first handover point and the second handover point are located on different floors, sending a resource request message to the peripheral control device so that the peripheral control device moves the target carrier from the first handover point to the second handover point, the method further includes: If a new task for the target vehicle is received, and the new task is used to move the target vehicle to a candidate position point on the floor where the first handover point is located, the moving task from the first handover point to the second handover point is canceled, and the target vehicle is moved to the candidate position point by a robot of the first target type.
18. The method according to claim 13, characterized in that After the application requires the target vehicle to move from the initial position point to the target position point, the method further includes: If the initial location point and the target location point are location points on the same map, determining a third target type corresponding to the initial location point and the target location point; The target vehicle is moved from the initial position point to the target position point by the robot of the third target type.
19. The method according to claim 13 or 14, characterized in that If the business process file is a business process file for a dense storage scenario, the method further includes: moving the target carrier from the initial position point to before the first handover point by the robot of the first target type; If there are other vehicles in the outer layer of the target vehicle, and there is a storage area for placing the other vehicles, move the other vehicles to the storage area; after there are no other vehicles in the outer layer of the target vehicle, move the target vehicle to the robot of the first target type; After the target carrier is moved to the robot of the first target type, the other carriers are moved to the placement position of the target carrier, or the other carriers are moved to the original positions of the other carriers, or the other carriers are kept in the storage area.
20. The method according to claim 12, characterized in that If the business process file is a business process file for a multi-vehicle docking scenario, the control of the vehicle movement by executing the business process file includes: Apply for the first vehicle, the storage node for connection, the storage node for the target location, and search for the first vehicle model; If the first vehicle does not have a cross-map task, the robot of the first vehicle type performs a transport task to move the first vehicle from the initial position to the connected storage node; After the transport task is completed, applying for a second carrier, the second carrier is located on the first carrier; Find a second vehicle model, and use a robot of the second vehicle model to perform a handling task to move the second carrier from the connected storage node to the target location point.
21. The method according to claim 20, characterized in that After applying for the first vehicle, the storage node for connection, and the storage node for the target location point, and searching for the first vehicle model, the method further includes: If the first vehicle has a cross-map task, determine a first intersection point on the same map as the initial position point and a second intersection point on the same map as the connected storage node; Move the first carrier from the initial position to the first handover point by using the robot of the first vehicle model, and send a resource request message to the peripheral control device, so that the peripheral control device moves the first carrier from the first handover point to the second handover point and returns a resource arrival message; After receiving the resource arrival message returned by the peripheral control device, the first vehicle is moved from the second handover point to the docking storage node by the robot of the first vehicle model; After the transport task is completed, applying for a second carrier, the second carrier is located on the first carrier; Find a second vehicle model, and use a robot of the second vehicle model to perform a handling task to move the second carrier from the connected storage node to the target location point.
22. The method according to claim 11, characterized in that The controlling the movement of the vehicle by executing the business process file includes: Start the task process of the business process file, instantiate the task process, and drive the execution of the task process; wherein, during the execution of the task process, when reaching the resource application node, apply for the required resources from the model building device; When reaching the peripheral control node, requesting peripheral control from the peripheral control device; When the robot task node is reached, the robot task is sent to the robot control device, and the robot task execution is waited for to be completed; wherein, when the task process is waiting for the event node triggered by the message, the task process is triggered by the trigger mechanism of the business process engine through resource change messages, peripheral notification messages, and robot execution phase messages to continue execution until the process ends.
23. The method according to claim 22, characterized in that The method further comprises: During the execution of the task flow, detect whether there are any abnormalities in the node currently executed by the task flow, the resources applied for by the task flow, the peripherals controlled by the task flow, the tasks executed by the robot, and the message interaction process; wherein, when detecting the node currently executed by the task flow, detect the variables existing in the node, whether the variables are correct, and allow modification of the variable values; when detecting the node currently executed by the task flow, if the currently executed node is on the robot task node, trigger the robot task to execute immediately.
24. The method according to any one of claims 1 to 9, characterized in that: The method further comprises: Providing a toolkit for secondary development, wherein the toolkit includes at least one of the following: a handling object SDK, a storage object SDK, an elevator SDK, a robot SDK, a peripheral SDK, and a task SDK; if a secondary development instruction input by a user based on the toolkit is received, obtaining a task scheduling script based on the secondary development instruction, wherein the task scheduling script is used to schedule a business process file; and / or, Provide custom node development permissions; if custom node information input by the user is received, generate activity nodes and / or event nodes based on the custom node information.
25. The method according to any one of claims 1 to 9, characterized in that: The business process file is loaded into the business process engine to control the movement of the vehicle; Among them, the business process engines include: osworkflow business process engine, jbpm business process engine, activiti business process engine based on BPMN standard, flowable business process engine based on BPMN standard, and camunda business process engine based on BPMN standard.
26. A vehicle mobility service scheduling system, comprising: An acquisition module is used to provide an activity node and an event node, wherein the activity node includes an orchestration object and its configuration parameters, the configuration parameters of the orchestration object include the input parameters, output parameters and functions of the orchestration object, and the orchestration object is a resource used in the vehicle movement process; the event node includes a message object and its configuration parameters, the configuration parameters of the message object include the function of the message object, and the message object is a message that triggers the process to continue execution during the vehicle movement process; A processing module is used to compose a business process file based on the vehicle movement business arrangement information input by the user, in combination with the activity node and the event node; wherein the business process file is used to control the vehicle movement.
27. The system according to claim 26, characterized in that The business process file includes a plurality of task nodes that are executed in sequence. The processing module is specifically used to compose the business process file based on the vehicle mobile service arrangement information input by the user and in combination with the activity node and the event node: For each task node, If the task node is for an orchestration object, then: based on an orchestration object selection instruction input by a user, a target orchestration object corresponding to the orchestration object selection instruction is selected, and configuration parameters of the target orchestration object are displayed; the task node is created in the business process file, and the task node includes the target orchestration object and input conditions input by the user based on the configuration parameters; If the task node is for a message object, then: based on a message object selection instruction input by a user, a target message object corresponding to the message object selection instruction is selected; and the task node is created in the business process file, wherein the task node includes the target message object.
28. The system according to claim 26, characterized in that The processing module is further configured to: after arranging a business process file based on the vehicle mobility service arrangement information input by the user and combining the activity node and the event node, store the business process file in a designated storage medium; The system also includes: a control module, which is used to: after receiving a task execution instruction input by a user, the task execution instruction includes an initial position point, a target position point and a file identifier, read a business process file corresponding to the file identifier from a designated storage medium, and substitute the initial position point and the target position point into the business process file; and control the movement of the vehicle by executing the business process file.
29. The system according to claim 28, characterized in that If the business process file is a business process file for aisle scenarios, or a business process file for dense storage scenarios, or a business process file for elevator scenarios, or a business process file for stacking scenarios, or a business process file for peripheral automation scenarios, or a business process file for high-bay shelves and double-depth scenarios, or a business process file for progressive exchange scenarios, or a business process file for cache progressive scenarios; The control module is specifically used to control the movement of the vehicle by executing the business process file: Apply for a target vehicle; wherein the target vehicle needs to move from an initial position point to a target position point; If the initial location point and the target location point are location points across maps, determining a first intersection point on the same map as the initial location point and a second intersection point on the same map as the target location point; If the target vehicle moves in a cross-device mode, determining a first target type corresponding to the initial position point and a second target type corresponding to the target position point; Move the target carrier from the initial position point to the first junction point by using the robot of the first target type, and send a resource request message to the peripheral control device, so that the peripheral control device moves the target carrier from the first junction point to the second junction point and returns a resource arrival message; After receiving the resource in place message returned by the peripheral control device, the target carrier is moved from the second handover point to the target location point by the robot of the second target type.
30. The system according to claim 29, characterized in that The control module is further used for, after determining a first intersection point on the same map as the initial position point and a second intersection point on the same map as the target position point, if the target vehicle moves in a follow-up mode, determining a first target type corresponding to the initial position point; moving the target vehicle from the initial position point to the first intersection point by a robot of the first target type, and sending a resource request message to an external control device so that the external control device moves the robot and the target vehicle from the first intersection point to the second intersection point; After receiving the resource arrival message returned by the peripheral control device, the target carrier is moved from the second handover point to the target position point by the robot of the first target type.
31. The system according to claim 28, characterized in that If the business process document is for a multi-vehicle docking scenario; The control module is specifically used to control the movement of the vehicle by executing the business process file: Apply for the first vehicle, the storage node for connection, the storage node for the target location, and search for the first vehicle model; If the first carrier does not have a cross-map task, the robot of the first vehicle model performs the transport task to move the first carrier from the initial position to the docked storage node; after the transport task is completed, apply for a second carrier, and the second carrier is located on the first carrier; Finding a second vehicle type, and using a robot of the second vehicle type to perform a handling task, to move the second carrier from the connected storage node to the target location point; If the first vehicle has a cross-map task, determine a first intersection point on the same map as the initial position point and a second intersection point on the same map as the connected storage node; move the first vehicle from the initial position point to the first intersection point by using a robot of the first vehicle model, and send a resource request message to the peripheral control device, so that the peripheral control device moves the first vehicle from the first intersection point to the second intersection point and returns a resource arrival message; After receiving the resource arrival message returned by the peripheral control device, the first carrier is moved from the second handover point to the docking storage node by the robot of the first vehicle model; after the handling task is completed, a second carrier is applied, and the second carrier is located on the first carrier; the second vehicle model is searched, and the handling task is performed by the robot of the second vehicle model to move the second carrier from the docking storage node to the target location point.
32. An electronic device comprising: a processor and a machine-readable storage medium storing machine-executable instructions executable by the processor; The processor is used to execute machine executable instructions to implement any method described in claims 1-25.
Citation Information
Patent Citations
Processing method of notification service of service flow management and service flow management engine
CN105809299A
Business processing method and device, electronic equipment and storage medium
CN115564322A
Business process generation method and device, computer equipment and storage medium
CN116737137A
Carrier mobile service arrangement method, system and equipment
CN117371716A