Task scheduling method and device for multi-brand robots and storage medium
By comprehensively considering the instruction type and robot state, and generating and converting it into target robots proprietary instructions, the problem of instruction incompatibility between different brands of robots is solved, and unified scheduling and control of multi-brand robot scheduling systems is realized.
Patent Information
- Application Number
- CN202510407609.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-02
- Publication Date
- 2025-05-02
- Estimated Expiration
- 2045-04-02
AI Technical Summary
Due to differences in communication protocols, instruction formats and control logic, robots of different brands are difficult to achieve unified scheduling and control in multi-brand robot scheduling systems, and instructions are incompatible.
By comprehensively considering the instruction type and robot status, the target robot that executes the instructions to be allocated is determined, and a proprietary instruction is generated based on the general instruction template, and the general instruction is converted into a proprietary instruction of the target robot using the instruction conversion rules.
It solves the problem of incompatibility of instruction between robots of different brands, realizes unified scheduling and control of multi-brand robots in the same scene map, and reduces system maintenance costs.
Smart Images

Figure CN119916811A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of data processing technology, and in particular to a task scheduling method, device and storage medium for multi-brand robots. Background Art
[0002] The Automated Dispatching System (ADS) for multi-brand robots is a system used to achieve mixed dispatching of multi-form robots. It can provide a unified dispatching interface for open mobile robots, and accurately control the robots according to the instructions of the upper system, so as to achieve mixed running of multi-brand robots in the same scene map. In actual applications, robots of different brands often use different communication protocols, instruction formats, and control logic. As a result, the multi-brand robot dispatching system faces the problem of incompatible instructions when integrating multi-brand robots, making it difficult to achieve unified dispatching and control.
[0003] At present, a unified communication interface is generally developed for different types of robots to ensure that different types of robots can effectively exchange information with multi-brand robot scheduling systems. However, since the communication interface is often closely related to the hardware characteristics and software architecture of the robot, once the hardware or software changes, the original communication interface may no longer meet the communication needs. Therefore, when the robot hardware or software is updated, the unified communication interface may need to be adjusted accordingly, increasing the maintenance cost of the system.
[0004] The above contents are only used to assist in understanding the technical solution of the present application and do not constitute an admission that the above contents are prior art. Summary of the invention
[0005] The main purpose of this application is to provide a task scheduling method, device and storage medium for multi-brand robots, aiming to solve the technical problem of how to solve the incompatibility of instructions between robots of different brands.
[0006] To achieve the above objectives, the present application proposes a task scheduling method for multi-brand robots, the method comprising: Determine a target robot for executing the instruction to be assigned according to the state of the robot and the instruction type of the instruction to be assigned; Filling in a general instruction template corresponding to the instruction type according to the parsing result of the instruction to be assigned, and generating a general instruction corresponding to the instruction to be assigned; Acquire the instruction conversion rule associated with the target robot, and convert the general instruction into a proprietary instruction according to the instruction conversion rule; The proprietary instruction is sent to the target robot, so that the operation of the target robot is controlled by the proprietary instruction.
[0007] In one embodiment, before the step of obtaining the instruction conversion rule associated with the target robot and converting the general instruction into a proprietary instruction according to the instruction conversion rule, the step further includes: Matching the general instruction and the brand identifier of the target robot in an instruction conversion rule library to determine whether the instruction conversion rule exists; If it does not exist, training the decision tree model according to the feature data and target label of the instruction to be assigned to obtain a target decision tree model; The branches and nodes of the decision tree in the target decision tree model are confirmed as the instruction conversion rules.
[0008] In one embodiment, the step of confirming the branches and nodes of the decision tree in the target decision tree model as the instruction conversion rules includes: Starting from the root node of the decision tree, traversing the nodes along the branches of the decision tree; The instruction conversion rule is obtained by combining the conditional judgment statements of the internal nodes and the output statements of the leaf nodes.
[0009] In one embodiment, the step of matching the general instruction and the brand identifier of the target robot in an instruction conversion rule library to determine whether the instruction conversion rule exists includes: Parsing the general instruction according to the syntax analyzer to obtain the action type and parameter range; Matching is performed according to the action type and the brand identifier, and if the match fails, the action type is decomposed into actions to obtain atomic actions; Determine whether the atomic action has a sub-conversion rule, and if so, combine the sub-conversion rules to obtain the instruction conversion rule; If the sub-conversion rule does not exist, it is determined that the match fails.
[0010] In one embodiment, the step of obtaining the instruction conversion rule associated with the target robot and converting the general instruction into a proprietary instruction according to the instruction conversion rule comprises: Replacing the execution action of the general instruction according to the instruction conversion rule, and performing parameter value conversion and / or unit conversion on the parameters of the general instruction; The converted execution action and the parameters are reorganized according to the instruction conversion rule to obtain the target-specific instruction.
[0011] In one embodiment, the step of determining a target robot to execute the instruction to be assigned according to the state of the robot and the instruction type of the instruction to be assigned comprises: Determine the number of dispatchable robots according to the instruction type and the status of the robot; If the number of dispatchable robots is less than or equal to a preset dispatchable number threshold, traverse the dispatchable robot list to obtain the path distance from the current position of the dispatchable robot to the task starting point; The dispatchable robot with the smallest path distance is determined as the target robot.
[0012] In one embodiment, after the step of determining the number of dispatchable robots according to the instruction type and the status of the robot, the method further includes: If the number of dispatchable robots is greater than the preset dispatchable number threshold, a comprehensive score of the task allocation scheme is obtained according to the congestion coefficient of the shipping port, the path distance and the priority level; The target task allocation scheme corresponding to the highest comprehensive score is obtained, and the target robot is determined according to the target task allocation scheme.
[0013] In one embodiment, the step of determining the number of dispatchable robots according to the instruction type and the status of the robot comprises: Determining, according to the instruction type, a first robot that can execute the instruction to be assigned; According to the identifier of the first robot, obtain the current power of the first robot and the remaining power after the task is completed; The first robots whose current power is less than a preset power threshold, or whose remaining power is less than the sum of the task energy consumption and the energy consumption of returning to the charging station are filtered to obtain the dispatchable robots and the number of the dispatchable robots.
[0014] In addition, to achieve the above-mentioned objectives, the present application also proposes a task scheduling device for a multi-brand robot, the device comprising: a memory, a processor, and a computer program stored on the memory and executable on the processor, the computer program being configured to implement the steps of the task scheduling method for a multi-brand robot as described above.
[0015] In addition, to achieve the above-mentioned purpose, the present application also proposes a storage medium, which is a computer-readable storage medium, and a computer program is stored on the storage medium. When the computer program is executed by the processor, the steps of the task scheduling method for multi-brand robots as described above are implemented.
[0016] This application proposes a task scheduling method for multi-brand robots, which can ensure that tasks can be assigned to the most suitable robot for execution by comprehensively considering the instruction type and robot status. The corresponding general instruction template is called according to the instruction type, and the parameters are filled in according to the requirements of the specific instruction, so that the generated instruction can accurately reflect the specific requirements of the task to be executed. The general instruction mapping rules corresponding to the brand robot are obtained according to the brand logo of the target robot. The obtained mapping rules are used to convert the general instructions into the proprietary instructions of the target robot, which solves the problem of incompatibility of instructions between robots of different brands. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.
[0018] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0019] Figure 1 A flowchart diagram of a first embodiment of a task scheduling method for a multi-brand robot of the present application; Figure 2 A flowchart diagram of a second embodiment of the task scheduling method for multi-brand robots of this application; Figure 3 A flowchart diagram of the third embodiment of the task scheduling method for multi-brand robots of this application; Figure 4 Another flowchart diagram provided for the third embodiment of the task scheduling method for multi-brand robots of the present application; Figure 5 Schematic diagram of the device structure of the hardware operating environment involved in the task scheduling method for multi-brand robots in the embodiment of the present application.
[0020] The purpose, features and advantages of this application will be further described in conjunction with the embodiments and with reference to the accompanying drawings. DETAILED DESCRIPTION
[0021] It should be understood that the specific embodiments described herein are only used to explain the technical solutions of the present application and are not used to limit the present application.
[0022] In order to better understand the technical solution of the present application, a detailed description will be given below in conjunction with the accompanying drawings and specific implementation methods.
[0023] The main solution of the embodiment of the present application is: according to the instruction type of the instruction to be assigned and the state of the robot, the task to be assigned corresponding to the instruction to be assigned is assigned, and the target robot to execute the task to be assigned is determined; according to the instruction type, the corresponding general instruction template is called, and parameters are filled in the general instruction template to generate a general instruction; according to the brand logo of the target robot, the instruction conversion rule corresponding to the general instruction is obtained, and the general instruction is converted into a target-specific instruction according to the mapping rule; the target instruction is sent to the corresponding target robot.
[0024] In this embodiment, for ease of description, the following description is made taking the task scheduling of multi-brand robots as the execution subject.
[0025] The Multi-brand Robot Dispatching System (ADS) is a system used to implement mixed dispatching of multi-modal robots. It can provide an open unified dispatching interface for mobile robots, control robots at the instruction level according to the strategy requirements of the upper system, and realize mixed running of multi-brand robots in the same scene map. In actual applications, robots of different brands often use different communication protocols, instruction formats, and control logic. As a result, the multi-brand robot dispatching system faces the problem of incompatible instructions when integrating multi-brand robots, making it difficult to achieve unified dispatching and control.
[0026] At present, a unified communication interface is generally developed for different types of robots to ensure that different types of robots can effectively exchange information with multi-brand robot scheduling systems. However, since the communication interface is often closely related to the hardware characteristics and software architecture of the robot, once the hardware or software changes, the original communication interface may no longer meet the communication needs. Therefore, when the robot hardware or software is updated, the unified communication interface may need to be adjusted accordingly, increasing the maintenance cost of the system.
[0027] The present application provides a solution that ensures that tasks can be assigned to the most suitable robot for execution by comprehensively considering the instruction type and the robot status. The corresponding general instruction template is called according to the instruction type, and the parameters are filled in according to the requirements of the specific instruction, so that the generated instruction can accurately reflect the specific requirements of the task to be executed. The general instruction mapping rules corresponding to the brand robot are obtained according to the brand logo of the target robot. The general instructions are converted into proprietary instructions of the target robot using the obtained mapping rules, solving the problem of incompatible instructions between robots of different brands.
[0028] It should be noted that the execution subject of this embodiment can be a computing service device with network communication and program running functions, such as a tablet computer, a personal computer, a mobile phone, etc., or an electronic device, a device, etc. that can realize the above functions. The following takes the task scheduling device of multi-brand robots as an example to illustrate this embodiment and the following embodiments.
[0029] Based on this, the embodiment of the present application provides a task scheduling method for multi-brand robots, referring to Figure 1 , Figure 1 This is a flow chart of the first embodiment of the task scheduling method for multi-brand robots of the present application.
[0030] In this embodiment, the task scheduling method of the multi-brand robot includes steps S10 to S40: Step S10, determining a target robot to execute the instruction to be assigned according to the state of the robot and the instruction type of the instruction to be assigned.
[0031] It is understandable that different types of robots can execute different types of instructions according to their design purposes and functional characteristics. For example, pallet AGVs (Automated Guided Vehicles) are mainly used to carry pallet goods, while lurking AGVs are suitable for shuttle transportation under shelves.
[0032] In this embodiment, after receiving a task request from an upper management system (such as an enterprise resource planning system, a warehouse management system, etc.), the multi-brand robot scheduling system determines the target robot that can execute the instruction according to the instruction type corresponding to the task and the status of the robot. Among them, the instruction type may include movement instructions: such as forward, backward, turn, move to a specified coordinate position, etc.; operation instructions: such as grabbing an object, putting down an object, etc. The robot status may include idle state: the robot is not currently performing any task and can accept new instructions at any time; busy state: the robot is performing a task and cannot respond to new instructions immediately; fault state: the robot fails and some or all functions cannot operate normally; charging state: the robot is charging and may only be able to execute specific instructions related to charging or urgent.
[0033] In this embodiment, a message queue (such as RabbitMQ, Kafka, etc.) is used to store and manage instructions to be assigned. A detection mechanism is used to detect whether there are new tasks in the task queue that have not been assigned for execution. When it is detected that there are tasks to be assigned, the tasks to be assigned are extracted from the task queue, and the format of the tasks to be assigned is verified to ensure that they meet the expected format requirements. If the task format is incorrect, error handling is performed, such as logging, discarding tasks, etc. After verification, decoding and structured parsing are performed. The parsed task content may include information such as task type (such as handling, assembly, inspection, stacking, etc.), task starting point (such as shipping port A and shipping port B, etc.), target location (such as shipping port A and production line B), and weight and size of the goods. After the parsing is completed, the obtained task type is matched with the preset instruction type to filter out robots that can execute the instructions to be assigned. When determining the target robot, first determine the list of robots that can execute the instruction type based on the matching relationship between the pre-established instruction type and the robot type. Secondly, query the robot that is currently in a state where the instruction can be executed (such as an idle state). Traverse all robots that meet the instruction type requirements, and exclude robots that are in non-executable states such as busy, faulty, or charging based on the robot status information obtained in real time.
[0034] Optionally, the detection trigger condition can be set according to the real-time requirements of the task to be assigned and the system performance. For tasks with high real-time requirements, an event trigger mechanism can be used, that is, when a new message arrives in the queue, a prompt is triggered immediately. For batch processing tasks, the queue can be polled regularly to pull a batch of messages to the local for processing.
[0035] In this embodiment, when a target robot that meets the instruction type is not obtained, first, multiple aspects such as the task description, robot status, and matching rules are checked to determine the cause of the matching failure.
[0036] Exemplarily, the task description can be checked first to ensure that the task type, requirements, priority and other information are accurate, so as to confirm that the matching failure is caused by missing or incorrect information. Check the status of all available robots, including whether they are idle, power, location, load capacity, etc., to confirm whether any robot is unable to perform the task due to maintenance, failure or other reasons. Evaluate whether the matching conditions are up-to-date and accurately reflect the capabilities of the robot and the requirements of the task. Secondly, determine the adjustment plan based on the reason for the matching failure, and re-match the matching tasks. The adjustment plan can be to adjust the requirements of the task to match the available robots, for example, reducing the load, changing the handling path or adjusting the task priority; or requesting a human operator or technician to intervene and manually select the target robot.
[0037] In this embodiment, if there are multiple target robots that meet the conditions, further screening can be performed according to the preset target robot determination rules. The target robot can be determined based on the position of the robot, and the robot closer to the instruction execution location is preferentially selected to perform the task. It can also be determined based on the remaining power of the robot, and the robot with high power is preferentially selected.
[0038] Step S20: filling in a general instruction template corresponding to the instruction type according to the parsing result of the instruction to be assigned, and generating a general instruction corresponding to the instruction to be assigned.
[0039] In this embodiment, the corresponding general instruction template is determined in a preset general instruction template library according to the instruction type, and the template includes the basic structure and format of the instruction, as well as parameter placeholders to be filled, such as cargo weight parameters, etc. The corresponding general instruction template is obtained through the identifier or name of the instruction type, and after the call is completed, the parameter value is extracted from the instruction request for filling to obtain the general instruction.
[0040] Step S30, obtaining the instruction conversion rule associated with the target robot, and converting the general instruction into a proprietary instruction according to the instruction conversion rule.
[0041] Step S40: sending the proprietary instruction to the target robot, thereby controlling the operation of the target robot through the proprietary instruction.
[0042] In this embodiment, the corresponding mapping rules are queried in the preset mapping rule library according to the brand and model of the target robot. After obtaining the mapping rules, the general instructions are parsed and converted into target-specific instructions. The target-specific instructions are sent to the target robot through the communication system. After the target robot executes the instructions, the execution results are fed back. According to the feedback results, the task completion status is recorded, the robot status is updated, etc.
[0043] In a feasible implementation manner, step S30 may include the following steps: Replacing the execution action of the general instruction according to the instruction conversion rule, and performing parameter value conversion and / or unit conversion on the parameters of the general instruction; The converted execution action and the parameters are reorganized according to the instruction conversion rule to obtain the target-specific instruction.
[0044] In this embodiment, according to the execution action of the general instruction, in the proprietary instruction set of the target robot, the action types related or similar to it are screened out by comparing the name, description, and parameters of the action type. The screened action types are compared in detail, including their key parameters such as motion trajectory, speed, acceleration, positioning accuracy, etc. If the general instruction action type cannot be directly implemented by a single action type in the proprietary instruction set, it is implemented by combining multiple action types. The action types in the general instructions are analyzed to determine the functions and characteristics required. The action types that partially match or are related to the general instruction action types are searched in the proprietary instruction set. Based on the matching results, it is determined which proprietary instruction action types can be combined to realize the functions of the general instructions. The execution order of these proprietary instruction action types is determined to ensure that they can work together in the expected manner. According to the determined order and parameter settings, the combined proprietary instructions are generated.
[0045] Based on the first embodiment of the present application, in the second embodiment of the present application, the same or similar contents as those in the above-mentioned embodiment 1 can be referred to the above introduction, and will not be repeated in the following. Figure 2 Before step S30, the task scheduling method for multi-brand robots further includes steps A10 to A30: Step A10, matching the general instruction and the brand identifier of the target robot in a rule library to determine whether the instruction conversion rule exists.
[0046] In this embodiment, the brand identifier of the target robot is accurately matched in the preset rule library to find out whether there is a corresponding instruction conversion rule. The action type is accurately matched in the rule library, and on the basis of the action type matching, the brand identifier is further selected.
[0047] In one feasible manner, if the exact match fails to find a completely matching conversion rule, a fuzzy match is attempted using a similarity algorithm. The parameter structure of the general instruction and the parameter structure of the candidate conversion rule are represented as vectors respectively. Each dimension of the vector can represent a parameter or feature, such as the number, type, relationship, etc. of the parameters. The similarity between the two vectors is calculated using the cosine similarity formula. Among all the candidate conversion rules, the conversion rule with the highest cosine similarity to the general instruction parameter structure is selected as the match.
[0048] In a feasible implementation manner, step A10 may further include the following steps: Parsing the general instruction according to the syntax analyzer to obtain the action type and parameter range; Matching is performed according to the action type and the brand identifier, and if the match fails, the action type is decomposed into actions to obtain atomic actions; Determine whether the atomic action has a sub-conversion rule, and if so, combine the sub-conversion rules to obtain the instruction conversion rule; If the sub-conversion rule does not exist, it is determined that the match fails.
[0049] In this embodiment, a syntax analyzer is used to parse the general instructions and generate the corresponding abstract syntax tree. The abstract syntax tree can clearly show the syntax structure of the instruction, including the relationship and hierarchy between each part. On the basis of the abstract syntax tree, the semantic information of the instruction is further extracted, including the action type (such as moving, grabbing, placing, etc.), parameter range (such as position coordinates, speed, etc.) and the objects or tools that may be involved. And the extracted key fields are standardized by unifying the data format, converting the measurement unit or making necessary numerical range adjustments. First, according to the brand identifier of the target robot, an accurate match is performed in the preset rule library. If the match fails, the composite action is decomposed into atomic actions, which are the smallest indivisible operation units. For example, the "pick_and_place" action is decomposed into two atomic actions, "move" and "grasp". After the action is decomposed, each atomic action is matched. The rule library is queried separately to find the conversion rules corresponding to each atomic action. According to the relationship between the atomic actions, it is determined how to combine the conversion rules. Possible combinations include sequential execution, parallel execution, conditional selection, etc.
[0050] Step A20: If it does not exist, the decision tree model is trained according to the feature data and target label of the instruction to be assigned to obtain a target decision tree model.
[0051] In this embodiment, when the matching fails, indicating a lack of conversion rules for a specific brand, conversion rules are generated based on a supervised learning algorithm, such as a decision tree, a random forest, a gradient boosting tree, or a neural network.
[0052] Optionally, conversion rules are generated based on the decision tree. Feature data is extracted from the existing instruction data set. The feature data is the input information used to train the decision tree model, which can help the model distinguish different categories of instructions or data. The feature data includes: instruction type, instruction content, instruction format, and brand name or identifier, etc. The target label is the output result that the decision tree model needs to predict or classify. The target label may include: converted instructions and conversion categories representing the converted instruction type or format, etc. The decision tree model is trained using the preprocessed feature data and target labels. During the training process, the decision tree algorithm tries to find the best splitting points and splitting features to divide the input data into different categories or intervals and predict the target label for each category.
[0053] Step A30, confirming the branches and nodes of the decision tree in the target decision tree model as the instruction conversion rules.
[0054] In this embodiment, after training is completed, the conversion rules are extracted from the target decision tree model. The conversion rules are a series of conditional judgment statements, each condition corresponds to a split point in the decision tree, starting from the root node, judging in turn according to the characteristic values of the input data and traversing down the tree until reaching the leaf node. The output value corresponding to the leaf node is the result after conversion.
[0055] In a feasible implementation manner, step A30 may include the following steps: Starting from the root node of the decision tree, traversing the nodes along the branches of the decision tree; The instruction conversion rule is obtained by combining the conditional judgment statements of the internal nodes and the output statements of the leaf nodes.
[0056] In this embodiment, the split feature and split threshold of the current internal node are obtained from the target decision tree model. The split feature is usually a field or attribute in the input data, which is used to compare with the feature value. Using the split feature and the split threshold, a conditional judgment statement is constructed. For each leaf node of the decision tree, an output value or category label is obtained from the decision tree model. The output value can be a specific numerical value, string or other data type, used to represent the classification result. Using the output value or category label, an output statement is constructed. The conditional judgment statements of all internal nodes and the output statements of the leaf nodes are combined to form a complete set of conversion rules. Each rule consists of a series of conditional judgment statements and an output statement, which represents the complete path from the root node to a leaf node. Rules with similar conditions and outputs are merged to obtain instruction conversion rules.
[0057] Based on the first embodiment of the present application, in the third embodiment of the present application, the same or similar contents as those in the above-mentioned embodiment 1 can be referred to the above introduction, and will not be repeated in the following. Figure 3 , step S30 may include steps S31 to S33: Step S31, determining the number of dispatchable robots according to the instruction type and the status of the robot; In this embodiment, the number of dispatchable robots can be the number of robots in an idle state, or the sum of the number of robots in an idle state and the number of robots that are about to be idle. The robots that are about to be idle can be predicted based on the remaining time of the current task. The current task information of the robot is obtained, including the task start time, the estimated task completion time, etc. The prediction model is constructed using time series analysis, machine learning and other methods, and the task start time and the estimated task completion time are input into the prediction model to obtain the estimated idle time of the robot, thereby determining the number of robots that are about to be idle.
[0058] Optionally, presetting a filtering condition to further filter the robots determined according to the instruction type and the status of the robots specifically includes the following steps: Determining, according to the instruction type, a first robot that can execute the instruction to be assigned; According to the identifier of the first robot, obtain the current power of the first robot and the remaining power after the task is completed; The first robots whose current power is less than a preset power threshold, or whose remaining power is less than the sum of the task energy consumption and the energy consumption of returning to the charging station are filtered to obtain the dispatchable robots and the number of the dispatchable robots.
[0059] In the above steps, after determining the first robot that meets the instruction type conditions, the current state information of the first robot, including power, load, position, etc., is obtained according to the identifier of the first robot. The preset power threshold is reasonably set according to the battery capacity, task characteristics and system requirements of the first robot. For each first robot, check whether its current power is less than the preset power threshold, or whether the remaining power meets the energy consumption required to perform the current task, including the energy consumption during the task execution, the energy consumption during the return trip, and the energy consumption when returning to the charging station, so as to ensure that the robot will not be interrupted due to insufficient power when performing the task. The first robot that meets any of the above conditions is deleted from the list of dispatchable robots to obtain the final dispatchable list, and the number of robots in the dispatchable robot list is counted. By filtering out the first robots that do not meet the conditions, the search space during task allocation is reduced, and a suitable target robot can be found more quickly to perform the task. In addition, it is ensured that the target robot will not fail due to insufficient power or overload when performing the task, and the target robot is prevented from being damaged due to overload or frequent low power operation.
[0060] Step S32: if the number of dispatchable robots is less than or equal to a preset dispatchable number threshold, traverse the dispatchable robot list to obtain the path distance from the current position of the dispatchable robot to the task starting point; Step S33: determine the dispatchable robot with the smallest path distance as the target robot.
[0061] In this embodiment, the type of task instruction is analyzed, such as handling, picking, and transportation. According to the type of task instruction, the required robot type is determined, such as a picking robot, a traction robot, a roller robot, etc. The robots that meet the instruction type requirements are screened out to obtain a list of dispatchable robots that can execute the task. The target robot determination rule is determined according to the number of dispatchable robots in the list. When the number of dispatchable robots is less than or equal to the preset dispatchable number threshold, the dispatchable robot list is traversed, and the dispatchable robot list at least includes the identifiers of all dispatchable robots, the current position coordinates, and other information. For each robot, the path planning algorithm is used to obtain the path distance from its current position to the starting point of the task, and the robot with the smallest path distance is selected as the target robot. According to the coordinates of the starting position of the task obtained from the parsing result of the task to be assigned, for the robot currently traversed, the current position coordinates of the robot are obtained. Call the path planning algorithm (such as A algorithm, Dijkstra algorithm, A and heuristic method, etc.), take the current position of the robot as the starting point, the task starting point as the end point, and calculate the path distance. The calculated path distance is stored in a pre-created path distance dictionary, the key is the robot identifier, and the value is the path distance. Initialize the minimum path distance to infinity and initialize the target robot identifier. Traverse the path distance dictionary, and if the current path distance is less than the minimum path distance, update the minimum path distance to the currently traversed path distance.
[0062] Please refer to Figure 4 In a feasible implementation manner, step S31 may further include steps S34 to S35: Step S34: If the number of dispatchable robots is greater than a preset dispatchable number threshold, a comprehensive score of the task allocation scheme is obtained according to the congestion coefficient of the shipping port, the path distance and the priority level.
[0063] Step S35, obtaining the target task allocation scheme corresponding to the highest comprehensive score, and determining the target robot according to the target task allocation scheme.
[0064] In this embodiment, a comprehensive scoring model is defined, including dimensions such as the congestion coefficient of the shipping port, the path distance, and the priority level. Different weights can be set for each dimension to reflect its importance in the actual task allocation. Traverse the list of dispatchable robots, combine each robot and task, and calculate its comprehensive score according to the comprehensive scoring model. Comprehensive score = shipping port congestion coefficient score * congestion weight + path distance score * distance weight + priority score * priority weight, where the shipping port congestion coefficient score is calculated according to the congestion coefficient of the shipping port where the task end point is located. The higher the congestion coefficient, the lower the score; the path distance score is calculated according to the path distance from the current position of the robot to the starting point of the task. The longer the path distance, the lower the score; the priority score is calculated according to the priority level of the robot. The higher the priority level, the higher the score. The higher the comprehensive score, the better the solution. From all the calculated comprehensive scores, the task allocation solution with the highest score is selected as the optimal solution. Determine the corresponding target robot according to the optimal solution. By comprehensively considering multiple dimensions, the task load between robots can be more effectively balanced to avoid overloading some robots and idling other robots.
[0065] Based on the first embodiment of the present application, in the fourth embodiment of the present application, the same or similar contents as those in the first embodiment can be referred to the above description, and will not be repeated hereafter. On this basis, before step S10, the task scheduling method of the multi-brand robot further includes the following steps: Determine executable actions of each type of robot according to a preset robot capability map, and create corresponding general instruction templates according to the executable actions; It should be noted that the instruction template is a standardized instruction framework that provides a standardized instruction format for controlling the robot to perform specific actions.
[0066] In this embodiment, the preset robot capability map contains the functional description, operating range, physical limitations and specific actions that can be performed by different types of robots. All possible action types are identified from the map, including: moving, navigating to the target position along the specified path or node, supporting parameter adjustment such as speed and acceleration; pausing, temporarily stopping the current task; fork lifting, suitable for forklift AGV, controlling the height of the fork to complete loading and unloading operations; pallet grabbing / releasing, used for handling robots to clamp or release pallets or goods; rotating, adjusting the direction of the carrier, such as rotating shelves or adjusting the posture of goods, etc. According to the standards defined by the VDA5050 protocol, the basic format of the general instruction template is determined, including the action type identification, the necessary parameter list and possible additional information (such as execution conditions, priority, etc.). For each action type, a corresponding general instruction template is created. By following the standards of the VDA5050 protocol, automated guided vehicles (AGVs) and mobile robots from different manufacturers can communicate using a unified instruction format. The interoperability of the system is improved, enabling vehicles of different brands to work together under the same control system.
[0067] Optionally, after the general instruction template is completed, use the simulation environment to verify the created general instruction template. Ensure that the template can correctly express the robot's action intention. And collect feedback based on the test results, make necessary adjustments and optimizations to the template, modify parameter definitions, adjust the template structure, or add additional information fields, etc.
[0068] A mapping rule and an association relationship are established between the general instruction template and the brand-specific instruction, and the mapping rule is used to convert the general instruction into the brand-specific instruction.
[0069] It should be noted that brand-specific instructions are the instruction formats used by robots of a specific brand, which contain parameters, command structures and grammatical rules unique to the brand.
[0070] In this embodiment, one or more corresponding brand-specific instructions are defined for each instruction type in the general instruction template. A mapping table or database is established to store the mapping relationship between the general instruction template and the brand-specific instructions. The mapping table can be a database or a configuration file, which contains task types, instruction types, and robot type information that matches them. The mapping rules are implemented in the robot control system or middleware. When a general instruction is received, it can be automatically converted into a corresponding brand-specific instruction and sent to the target robot.
[0071] For example, a general instruction template includes a "MOVE" instruction, which is used to control the movement of a robot. The instruction contains two parameters: "direction" and "distance". The mapping rule for a certain brand of robot is: map the "MOVE" instruction to the "MOVE_CMD" instruction of the brand of robot. Map the "direction" parameter to "direction_param" and determine its value range. Map the "distance" parameter to "distance_param" and determine its data type and unit (such as floating point number, in meters).
[0072] In this embodiment, when the robot hardware or software is updated, the mapping rules are dynamically adjusted to adapt to the new hardware or software features. To ensure that it can continue to adapt to robots of different brands and models. When it is detected that the hardware and software status of the robot has been updated, the update log of the robot is obtained and analyzed to understand the specific content of the update, including new functions, bug fixes, performance improvements, etc. For hardware updates, new hardware components, interface changes, etc. are identified in order to adjust the mapping rules. According to the updated content obtained by analysis, the mapping rule library is updated, including mapping rules from general instructions to proprietary instructions, parameter conversion rules, etc. For new hardware components or software functions, new mapping rules are set to ensure that new functions can be correctly identified and utilized. By dynamically adjusting the mapping rules, there is no need to modify or rewrite the communication interface on a large scale, thereby reducing the maintenance cost of the system and ensuring the stability and reliability of the system.
[0073] Based on the first embodiment of the present application, in the fifth embodiment of the present application, the same or similar content as the above-mentioned embodiment 1 can be referred to the above introduction, and will not be repeated later. On this basis, after step S40, the task scheduling method of the multi-brand robot may also include: when the target robot is detected to have a fault, obtaining the fault type of the faulty robot. Obtain the corresponding fault resolution instruction from the instruction library according to the fault type, and send the fault resolution instruction to the faulty robot.
[0074] In this embodiment, the running state of the target robot is detected to obtain sensor data, motor state, actuator position, etc. When an abnormal or unexpected state is detected, it is considered that there is a fault and the fault type is identified. The fault type can be predefined, such as "fork stuck", "motor failure", "sensor failure", etc.
[0075] The preset instruction library contains instructions for solving different fault types. When the fault type is identified and the error code corresponding to the fault type is triggered, the fault solving instruction matching the error code is obtained from the instruction library and sent to the faulty robot. The fault solving mechanism can automatically identify and handle the robot's faults, thereby improving the robot's task execution efficiency.
[0076] For example, when the target robot is performing a task and the battery level is lower than a critical value, the ERROR_LOW_BATTERY error code is triggered. The instruction library is queried to find a fault resolution instruction that matches ERROR_LOW_BATTERY. After receiving the instruction, the faulty robot interrupts the current task and navigates to the charging station for charging.
[0077] It should be noted that the above examples are only used to understand the present application and do not constitute a limitation on the task scheduling method of the multi-brand robot of the present application. More forms of simple transformations based on this technical concept are all within the scope of protection of the present application.
[0078] The present application provides a task scheduling device for a multi-brand robot, and the task scheduling device for the multi-brand robot includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the task scheduling method for the multi-brand robot in the above-mentioned embodiment one.
[0079] Reference below Figure 4 , which shows a schematic diagram of a structure of a task scheduling device for a multi-brand robot suitable for implementing an embodiment of the present application. The task scheduling device for a multi-brand robot in the embodiment of the present application may include but is not limited to mobile terminals such as a laptop computer, a personal digital assistant (PDA), a tablet computer (PAD, Portable Android Device), a vehicle-mounted terminal (such as a vehicle-mounted navigation terminal), etc., and fixed terminals such as a digital TV, a desktop computer, etc. Figure 4 The task scheduling device for multi-brand robots shown is merely an example and should not bring any limitation to the functions and scope of use of the embodiments of the present application.
[0080] like Figure 4As shown, the task scheduling device of the multi-brand robot may include a processing device 1001 (such as a central processing unit, a graphics processor, etc.), which can perform various appropriate actions and processes according to the program stored in the read-only memory (ROM) 1002 or the program loaded from the storage device 1003 to the random access memory (RAM) 1004. In the random access memory 1004, various programs and data required for the operation of the task scheduling device of the multi-brand robot are also stored. The processing device 1001, the read-only memory 1002, and the random access memory 1004 are connected to each other through a bus 1005. The input / output (I / O) interface 1006 is also connected to the bus. Typically, the following systems can be connected to the I / O interface 1006: input devices 1007 including, for example, a touch screen, a touchpad, a keyboard, a mouse, an image sensor, a microphone, an accelerometer, a gyroscope, etc.; output devices 1008 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; storage devices 1003 including, for example, a magnetic tape, a hard disk, etc.; and communication devices 1009. The communication device 1009 can allow the task scheduling device of a multi-brand robot to communicate wirelessly or wired with other devices to exchange data. Although the figure shows a task scheduling device of a multi-brand robot with various systems, it should be understood that it is not required to implement or have all the systems shown. More or fewer systems may be implemented or have alternatively.
[0081] In particular, according to the embodiments disclosed in the present application, the process described above with reference to the flowchart can be implemented as a computer software program. For example, the embodiments disclosed in the present application include a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network through a communication device, or installed from a storage device 1003, or installed from a read-only memory 1002. When the computer program is executed by the processing device 1001, the above-mentioned functions defined in the method of the embodiment disclosed in the present application are executed.
[0082] The task scheduling device for multi-brand robots provided by the present application adopts the task scheduling method for multi-brand robots in the above embodiment, which can solve the technical problem of how to solve the incompatibility of instructions between robots of different brands. Compared with the prior art, the beneficial effects of the task scheduling device for multi-brand robots provided by the present application are the same as the beneficial effects of the task scheduling method for multi-brand robots provided by the above embodiment, and the other technical features in the task scheduling device for multi-brand robots are the same as the features disclosed in the method of the previous embodiment, which will not be repeated here.
[0083] It should be understood that the various parts disclosed in this application can be implemented by hardware, software, firmware or a combination thereof. In the description of the above embodiments, specific features, structures, materials or characteristics can be combined in any one or more embodiments or examples in a suitable manner.
[0084] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.
[0085] The present application provides a computer-readable storage medium having computer-readable program instructions (i.e., computer programs) stored thereon, and the computer-readable program instructions are used to execute the task scheduling method for multi-brand robots in the above-mentioned embodiment.
[0086] The computer-readable storage medium provided in the present application may be, for example, a USB flash drive, but is not limited to electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems or devices, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM, Erasable Programmable Read Only Memory or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM, CD-Read Only Memory), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present embodiment, the computer-readable storage medium may be any tangible medium containing or storing a program, which may be used by or in combination with an instruction execution system or device. The program code contained on the computer-readable storage medium may be transmitted using any appropriate medium, including but not limited to: wires, optical cables, radio frequencies (RF, Radio Frequency), etc., or any suitable combination of the above.
[0087] The above-mentioned computer-readable storage medium may be included in the task scheduling device of the multi-brand robot; or it may exist independently without being assembled into the task scheduling device of the multi-brand robot.
[0088] The above-mentioned computer-readable storage medium carries one or more programs. When the above-mentioned one or more programs are executed by the task scheduling device of the multi-brand robot, the task scheduling device of the multi-brand robot: determines the target robot that executes the instruction to be assigned according to the state of the robot and the instruction type of the instruction to be assigned; fills in the general instruction template corresponding to the instruction type according to the parsing result of the instruction to be assigned, and generates a general instruction corresponding to the instruction to be assigned; obtains the instruction conversion rule associated with the target robot, and converts the general instruction into a proprietary instruction according to the instruction conversion rule; sends the proprietary instruction to the target robot, so as to control the operation of the target robot through the proprietary instruction.
[0089] Computer program code for performing the operations of the present application may be written in one or more programming languages or a combination thereof, including object-oriented programming languages, such as Java, Smalltalk, C++, and conventional procedural programming languages, such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0090] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present application. In this regard, each square box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two square boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0091] The modules involved in the embodiments described in this application may be implemented by software or hardware, wherein the name of the module does not constitute a limitation on the unit itself in some cases.
[0092] The readable storage medium provided in the present application is a computer-readable storage medium, which stores computer-readable program instructions (i.e., computer programs) for executing the above-mentioned task scheduling method for multi-brand robots, and can solve the technical problem of how to solve the incompatibility of instructions between robots of different brands. Compared with the prior art, the beneficial effects of the computer-readable storage medium provided in the present application are the same as the beneficial effects of the task scheduling method for multi-brand robots provided in the above-mentioned embodiment, and will not be repeated here.
[0093] The present application also provides a computer program product, including a computer program, which, when executed by a processor, implements the steps of the task scheduling method for multi-brand robots as described above.
[0094] The computer program product provided by this application can solve the technical problem of how to solve the incompatibility of instructions between robots of different brands. Compared with the prior art, the beneficial effects of the computer program product provided by this application are the same as the beneficial effects of the task scheduling method for multi-brand robots provided by the above embodiment, which will not be repeated here.
[0095] The above descriptions are only some embodiments of the present application, and are not intended to limit the patent scope of the present application. All equivalent structural changes made using the contents of the present application specification and drawings under the technical concept of the present application, or direct / indirect applications in other related technical fields are included in the patent protection scope of the present application.
Claims
1. A task scheduling method for multi-brand robots, characterized in that: The task scheduling method of the multi-brand robot includes: Determine a target robot for executing the instruction to be assigned according to the state of the robot and the instruction type of the instruction to be assigned; Filling in a general instruction template corresponding to the instruction type according to the parsing result of the instruction to be assigned, and generating a general instruction corresponding to the instruction to be assigned; Acquire the instruction conversion rule associated with the target robot, and convert the general instruction into a proprietary instruction according to the instruction conversion rule; The proprietary instruction is sent to the target robot, so that the operation of the target robot is controlled by the proprietary instruction.
2. The task scheduling method for multi-brand robots according to claim 1, characterized in that: Before the step of obtaining the instruction conversion rule associated with the target robot and converting the general instruction into a proprietary instruction according to the instruction conversion rule, the method further includes: Matching the general instruction and the brand identifier of the target robot in an instruction conversion rule library to determine whether the instruction conversion rule exists; If it does not exist, training the decision tree model according to the feature data and target label of the instruction to be assigned to obtain a target decision tree model; The branches and nodes of the decision tree in the target decision tree model are confirmed as the instruction conversion rules.
3. The task scheduling method for multi-brand robots according to claim 2, characterized in that: The step of confirming the branches and nodes of the decision tree in the target decision tree model as the instruction conversion rules comprises: Starting from the root node of the decision tree, traversing the nodes along the branches of the decision tree; The instruction conversion rule is obtained by combining the conditional judgment statements of the internal nodes and the output statements of the leaf nodes.
4. The task scheduling method for multi-brand robots according to claim 2, characterized in that: The step of matching the general instruction and the brand identifier of the target robot in the instruction conversion rule library to determine whether the instruction conversion rule exists comprises: Parsing the general instruction according to the syntax analyzer to obtain the action type and parameter range; Matching is performed according to the action type and the brand identifier, and if the match fails, the action type is decomposed into actions to obtain atomic actions; Determine whether the atomic action has a sub-conversion rule, and if so, combine the sub-conversion rules to obtain the instruction conversion rule; If the sub-conversion rule does not exist, it is determined that the match fails.
5. The task scheduling method for multi-brand robots according to claim 1, characterized in that: The step of obtaining the instruction conversion rule associated with the target robot and converting the general instruction into a proprietary instruction according to the instruction conversion rule comprises: Replacing the execution action of the general instruction according to the instruction conversion rule, and performing parameter value conversion and / or unit conversion on the parameters of the general instruction; The converted execution action and the parameters are reorganized according to the instruction conversion rule to obtain the target-specific instruction.
6. The task scheduling method for multi-brand robots according to claim 1, characterized in that: The step of determining a target robot to execute the instruction to be assigned according to the state of the robot and the instruction type of the instruction to be assigned comprises: Determine the number of dispatchable robots according to the instruction type and the status of the robot; If the number of dispatchable robots is less than or equal to a preset dispatchable number threshold, traverse the dispatchable robot list to obtain the path distance from the current position of the dispatchable robot to the task starting point; The dispatchable robot with the smallest path distance is determined as the target robot.
7. The task scheduling method for multi-brand robots according to claim 6, characterized in that: After the step of determining the number of dispatchable robots according to the instruction type and the status of the robot, the method further includes: If the number of dispatchable robots is greater than the preset dispatchable number threshold, a comprehensive score of the task allocation scheme is obtained according to the congestion coefficient of the shipping port, the path distance and the priority level; The target task allocation scheme corresponding to the highest comprehensive score is obtained, and the target robot is determined according to the target task allocation scheme.
8. The task scheduling method for multi-brand robots according to claim 6, characterized in that: The step of determining the number of dispatchable robots according to the instruction type and the status of the robot comprises: Determining, according to the instruction type, a first robot that can execute the instruction to be assigned; According to the identifier of the first robot, obtain the current power of the first robot and the remaining power after the task is completed; The first robots whose current power is less than a preset power threshold, or whose remaining power is less than the sum of the task energy consumption and the energy consumption of returning to the charging station are filtered to obtain the dispatchable robots and the number of the dispatchable robots.
9. A task scheduling device for multi-brand robots, characterized in that: The device comprises: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the computer program is configured to implement the steps of the task scheduling method for a multi-brand robot as claimed in any one of claims 1 to 8.
10. A storage medium, characterized in that: The storage medium is a computer-readable storage medium, and a computer program is stored on the storage medium. When the computer program is executed by a processor, the steps of the task scheduling method for multi-brand robots according to any one of claims 1 to 8 are implemented.
Citation Information
Patent Citations
Multi-heterogeneous movable robot control system
CN109471435A
AGV intelligent storage simulation method, system and device and computer-readable storage medium
CN111142490A
Robot scheduling method, device, equipment and system, and storage medium
CN111798133A
Software robot control method and device, electronic equipment and storage medium
CN115794345A
Multi-robot joint scheduling method and scheduling system
CN117148808A
Cited By
Cross-brand robot rapid access and control method based on RUAPL
CN121262262A
A method for rapid integration and management of cross-brand robots based on RUAPL
CN121262262B