Task execution method and device, robot
By dynamically updating the robot's task sequence based on user intent information, the problem of inflexible robot task execution is solved, enabling real-time task updates and improved efficiency.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- GUANGZHOU XIAOPENG MOTORS TECH CO LTD
- Filing Date
- 2026-04-15
- Publication Date
- 2026-07-21
AI Technical Summary
The robot cannot flexibly adjust the order and number of tasks in the tour guiding scenario, resulting in low task execution efficiency and failure to meet the actual needs of users.
By acquiring the intent information of the target user, the robot's target task sequence is dynamically updated, and the number and execution order of tasks are adjusted, including inserting, deleting or adjusting the execution order of tasks. The large language model is used to identify the user's intent and map it to the robot's executable tasks.
It enables real-time updates and flexibility of robot tasks, improves task execution efficiency and real-time user interaction, and better meets user needs.
Smart Images

Figure CN122425667A_ABST
Abstract
Description
Technical Field
[0001] This application relates to task scheduling technology, including but not limited to a task execution method and apparatus, and a robot. Background Technology
[0002] In guided tour scenarios, robots typically need to introduce exhibits in different locations within the scene to users and interact with users via voice. Therefore, robots will perform a variety of different tasks.
[0003] In related technologies, robots typically perform multiple tasks in a fixed order, such as introducing exhibit A first, followed by exhibit B.
[0004] However, in actual implementation, users may view other exhibits based on their actual needs, which makes the robot's ability to introduce exhibits less flexible and unable to expand and arrange multiple tasks, thus reducing the robot's efficiency in performing tasks. Summary of the Invention
[0005] In view of this, the task execution method, apparatus, and robot provided in the embodiments of this application can realize real-time updates of the executed tasks, maintain the real-time communication between the robot and the user, and improve the task execution efficiency and flexibility of the robot. The task execution method, apparatus, and robot provided in the embodiments of this application are implemented as follows: One aspect of this application provides a task execution method applied to a robot, including: Obtain the target user's intent information; Based on the intent information of the target user, the target task sequence of the robot is updated. The target task sequence is used to instruct the robot to perform at least one task within a preset time period. The target parameters of the updated target task sequence change, including the number of tasks and / or the execution order of the tasks. Execute the updated target task sequence.
[0006] In one embodiment, updating the robot's target task sequence based on the target user's intent information includes: Based on the target user's intent information and the mapping relationship between the intent information and the robot's executable tasks, the target task corresponding to the intent information is determined from the robot's multiple executable tasks; The robot's target task sequence is updated based on the target task corresponding to the intent information.
[0007] In one embodiment, updating the robot's target task sequence based on the target task corresponding to the intent information includes: If the robot's target task sequence does not include a task, add the target task to the robot's target task sequence; If the robot's target task sequence includes tasks, adjust the execution order of each task in the target task sequence.
[0008] In one embodiment, adjusting the execution order of tasks in the target task sequence includes: If the target task is an existing task in the target task sequence, adjust the execution order of the target tasks in the target task sequence.
[0009] In one embodiment, adjusting the execution order of tasks in the target task sequence includes: If the target task is not an existing task in the target task sequence, the target task is inserted into the corresponding position in the target task sequence according to its priority. The priority of the target task is determined based on the target user's intent information.
[0010] In one embodiment, the target task includes one or more tasks. When the target task includes multiple tasks, before inserting the target task into the corresponding position in the target task sequence according to the priority of the target task, the method further includes: Determine the execution order of multiple target tasks based on the task type of each target task; Based on the priority of the target task, insert the target task into the corresponding position in the target task sequence, including: Based on the priority of the target tasks, each target task is inserted into its corresponding position in the target task sequence according to the task execution order.
[0011] In one embodiment, obtaining the intent information of the target user includes: The target user's intent information is determined based on the target user's input information, which includes at least one of the following: voice information and action information.
[0012] In one embodiment, determining the target user's intent information based on the target user's input information includes: The target user's input information is fed into the large language model to obtain the target user's intent information. The large language model is a neural network model obtained after training based on the sample input information and sample intent information.
[0013] Another aspect of this application embodiment also provides a task execution device applied to a robot, including: an acquisition module, an update module, and an execution module; The acquisition module is used to acquire the intent information of the target user; The update module is used to update the robot's target task sequence based on the target user's intent information. The target task sequence is used to instruct the robot to perform at least one task within a preset time period. The target parameters of the updated target task sequence change, including the number of tasks and / or the execution order of the tasks. The execution module is used to execute the updated target task sequence.
[0014] The robot provided in this application includes a memory and a processor. The memory stores a computer program that can run on the processor, and the processor executes the program to implement the method of this application.
[0015] The computer-readable storage medium provided in this application embodiment stores a computer program thereon, which, when executed by a processor, implements the method provided in this application embodiment.
[0016] The task execution method, apparatus, and robot provided in this application embodiment can acquire the intent information of the target user; based on the intent information of the target user, update the target task sequence of the robot. The target task sequence is used to instruct the robot to execute at least one task within a preset time period. The target parameters of the updated target task sequence change, including the number of tasks and / or the execution order of the tasks; the updated target task sequence is then executed. The update of the target task sequence can be achieved through the intent information of the target user, thereby allowing for the replanning of tasks to be executed by the target robot. This enables real-time updates of task execution, maintains real-time communication between the robot and the target user, improves the robot's task execution efficiency and flexibility, and allows the robot to more flexibly execute the tasks required by the target user. Attached Figure Description
[0017] To more clearly illustrate the technical solutions in the embodiments of this application, the drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0018] Figure 1 This is a schematic diagram illustrating the application scenario provided in the embodiments of this application; Figure 2 This is a flowchart illustrating the task execution method provided in the embodiments of this application; Figure 3 This is a flowchart illustrating the process of updating the target task sequence provided in the embodiments of this application; Figure 4 This is another flowchart illustrating the update target task sequence provided in the embodiments of this application; Figure 5 This is another flowchart illustrating the updating target task sequence provided in the embodiments of this application; Figure 6 This is a schematic diagram of the behaviors included in each target task provided in the embodiments of this application; Figure 7 This is a schematic diagram of the process of inserting multiple target tasks into a target task sequence provided in the embodiments of this application; Figure 8 This is a schematic diagram of the structure of the large language model provided in the embodiments of this application; Figure 9 This is a schematic diagram of the structure of the task execution device provided in the embodiments of this application; Figure 10 This is a schematic diagram of the robot provided in the embodiments of this application. Detailed Implementation
[0019] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the specific technical solutions of this application will be further described in detail below with reference to the accompanying drawings of the embodiments of this application. The following embodiments are used to illustrate this application, but are not intended to limit the scope of this application.
[0020] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing embodiments of this application only and is not intended to limit this application.
[0021] In the following description, references are made to “some embodiments,” which describe a subset of all possible embodiments. However, it is understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.
[0022] It should be noted that the terms "first, second, third" used in the embodiments of this application are used to distinguish similar or different objects and do not represent a specific order of objects. It can be understood that "first, second, third" can be interchanged in a specific order or sequence where permitted, so that the embodiments of this application described herein can be implemented in an order other than that illustrated or described herein.
[0023] To more accurately illustrate the task execution method provided in the embodiments of this application, a practical application scenario of the method will be explained below.
[0024] Figure 1 This is a schematic diagram of the application scenario provided in the embodiments of this application. Please refer to it. Figure 1 This scenario may include: robot 110 and user 120.
[0025] It should be noted that robot 110 and user 120 can be in the same scene, such as a museum, exhibition hall, factory, or any scene where robot 110 needs to provide guidance and introduction; no specific restrictions are imposed here.
[0026] Robot 110 can be a humanoid robot, a robot of a specific shape, or a robot without a physical form. For example, it can be artificial intelligence integrated into electronic devices, without any specific restrictions.
[0027] If robot 110 is artificial intelligence integrated into an electronic device, the electronic device may include, but is not limited to, mobile phones, wearable devices (such as smartwatches, smart bracelets, smart glasses, etc.), tablets, laptops, in-vehicle terminals, PCs (Personal Computers), etc. The functions implemented by this method can be achieved by the processor in the electronic device calling program code. Of course, the program code can be stored in computer storage media. It can be seen that the electronic device includes at least a processor and a storage medium.
[0028] It should be noted that the robot 110 may have the ability to interact with the user 120, such as voice interaction.
[0029] User 120 can be a specific person, such as a tourist visiting a museum or an inspector checking work in a factory, etc., without any specific restrictions.
[0030] The type of robot 110 can be matched with the type of user 120. For example, if user 120 is a visitor in a museum, then robot 110 can be a robot that introduces the exhibits in the museum; if user 120 is an inspector who checks work in a factory, then robot 110 can be a robot that reports on the working conditions of the factory.
[0031] In the aforementioned scenarios, robot 110 will interact with user 120. The robot can be a robot with intelligent response capabilities, such as outputting preset voice messages to the user and collecting the user's questions to provide corresponding answers.
[0032] Among them, robot 110 can perform a variety of different tasks, such as: visual recognition tasks: the robot can recognize objects and actions in images through VLM (Vision-Language Model); voice interaction tasks: the robot can understand and generate speech and conduct dialogue; walking and navigation tasks: the robot can autonomously navigate to a designated location; VLA (Vision-Language-Action) operation tasks: the robot can deliver exhibit samples in front of it to users for viewing.
[0033] In performing different tasks, robot 110 can take one or more actions. For example, the robot can turn to a specific page of the exhibition hall PPT to assist the explanation; the robot can make gestures to point left or right, etc., without specific restrictions.
[0034] In related technologies, robots can typically only perform one task, or perform multiple tasks according to a pre-set task sequence. These tasks are set before the robot performs them, and the robot will perform these tasks sequentially according to the pre-set task sequence.
[0035] However, in actual implementation, since robots usually need to engage in dialogue with target users, and target users may react to exhibits after engaging in dialogue with robots, the subsequent tasks may not match the actual needs of users. This results in poor flexibility for robots to introduce exhibits, making it impossible to expand and arrange multiple tasks, thus leading to a decrease in the efficiency of robots in performing tasks.
[0036] To address the aforementioned problems in related technologies, this application provides a task execution method, and one feasible implementation process of this method will be explained below.
[0037] Figure 2 This is a flowchart illustrating the task execution method provided in the embodiments of this application. Please refer to it. Figure 2 One aspect of this application provides a task execution method applied to a robot, comprising: S210: Obtain the target user's intent information.
[0038] It should be noted that the robot mentioned above can be the subject of this method.
[0039] The target user is Figure 1 In the scenario depicted, the robot can obtain the target user's intent information through various methods.
[0040] For example, the intent of a target user can be obtained through various types of information such as user input instructions, user actions, and user language.
[0041] In one embodiment, the user input can be achieved through a device such as a robot's remote control or control unit. For example, the remote control has multiple preset commands, and the user can input the command by clicking the corresponding command button.
[0042] A user's action can be a specific action performed by the user, such as a gesture or body posture, and there are no specific restrictions here.
[0043] The user's language can be what the user says. For example, a robot can record what the user says and convert it into a corresponding audio signal for analysis, thereby obtaining the target user's intent information.
[0044] It should be noted that regardless of which of the above methods is used, the intent information of the target user can be obtained. This can be achieved by recognizing the user's input instructions, actions, and language.
[0045] S220: Update the robot's target task sequence based on the target user's intent information.
[0046] The target task sequence is used to instruct the robot to perform at least one task within a preset time period.
[0047] It should be noted that the target task sequence can be a sequence of tasks that the robot is about to execute. A certain number of tasks can be inserted into this sequence in a certain order, and the robot can execute the corresponding tasks in the order of the tasks in the target task sequence.
[0048] The target parameters of the updated target task sequence have changed, including the number of tasks and / or the execution order of the tasks.
[0049] The number of tasks may change because new tasks have been added or existing tasks have been deleted; the execution order of tasks may change because the execution order of existing tasks has been adjusted, for example, the execution order of the first task to be executed may be moved to the second task.
[0050] Specifically, the robot's target task sequence can be updated using corresponding methods based on the specific intent information of the target user.
[0051] For example: if the target user's intention is not to see a certain exhibit, and the target task sequence includes a task to display that exhibit, then that task can be deleted; if the target user's intention is to receive a detailed introduction to the exhibit, and the target task sequence does not include a task to provide a detailed introduction, then a corresponding introduction task can be added; if the target user's intention is to be interested in a certain exhibit, and the target task sequence includes a task to display that exhibit, and that task is executed later in the order, then the execution order of that task can be moved forward.
[0052] It should be noted that in actual implementation, different methods can be used to update the target task sequence based on different intentions.
[0053] S230: Execute the updated target task sequence.
[0054] In one embodiment, after the target task sequence is updated, the robot can be made to perform the corresponding task according to the updated target task sequence.
[0055] This can be achieved by executing the corresponding tasks sequentially according to the execution order of multiple tasks in the target task sequence.
[0056] For example, if the updated target task sequence includes tasks 1, 2, and 3 to be executed in sequence, then tasks 1, 2, and 3 can be executed in the corresponding order.
[0057] The task execution method provided in this application embodiment can obtain the intent information of the target user; based on the intent information of the target user, update the target task sequence of the robot. The target task sequence is used to instruct the robot to execute at least one task within a preset time period. The target parameters of the updated target task sequence change, including the number of tasks and / or the execution order of the tasks; the updated target task sequence is then executed. The update of the target task sequence can be achieved through the intent information of the target user, thereby allowing for the replanning of tasks to be executed by the target robot. This enables real-time updates of task execution, maintains real-time communication between the robot and the target user, improves the robot's task execution efficiency and flexibility, and allows the robot to more flexibly execute the tasks required by the target user.
[0058] As explained above, updating the target task sequence can be done by adding / deleting tasks, or by adjusting the execution order of tasks in the sequence. The target task sequence can be updated in the corresponding way. The following explains one possible implementation process of updating the target task sequence provided in the embodiments of this application.
[0059] Figure 3This is a flowchart illustrating the update target task sequence provided in the embodiments of this application. Please refer to... Figure 3 In one embodiment, updating the robot's target task sequence based on the target user's intent information includes: S310: Based on the target user's intent information and the mapping relationship between the intent information and the robot's executable tasks, determine the target task corresponding to the intent information from the robot's multiple executable tasks.
[0060] It should be noted that the robot can be pre-configured with a mapping relationship between intent information and the robot's executable tasks, where any one intent information can correspond to one or more target tasks.
[0061] In one embodiment, after obtaining the intent information of the target user, the target task corresponding to the intent information can be determined based on the intent information and the above mapping relationship. The target task can be one task or multiple tasks.
[0062] If the mapping relationship includes the intent information obtained in the above manner, one or more target tasks can be determined through the mapping relationship; if the mapping relationship does not include the intent information obtained in the above manner, it can be determined that the intent information does not have a corresponding target task.
[0063] It should be noted that the robot has multiple preset executable tasks. In the above mapping relationship, all the recorded tasks are tasks that the robot can execute. After obtaining the intent information, the robot can filter from all its executable tasks through the above mapping relationship to obtain the target task corresponding to the intent information.
[0064] Example: Suppose the user's intent is to view exhibit A. Through the above mapping relationship, the corresponding target task can be obtained, which could be to bring exhibit A to the user for viewing.
[0065] S320: Update the robot's target task sequence based on the target task corresponding to the intent information.
[0066] It should be noted that after determining the target task corresponding to the intent information, the robot's target task sequence can be updated based on that target task.
[0067] Updating the robot's target task sequence can include various methods, such as deleting target tasks from the target task sequence, adding target tasks to the target task sequence, and adjusting the order of target tasks in the target task sequence. No specific restrictions are imposed here.
[0068] In practice, the appropriate method can be selected to update the target task sequence based on the actual tasks included in the target task sequence.
[0069] The task execution method provided in this application embodiment can determine the target task corresponding to the intent information from multiple executable tasks of the robot based on the target user's intent information and the mapping relationship between the intent information and the robot's executable tasks; and update the robot's target task sequence based on the target task corresponding to the intent information. By determining the target task first and then updating the target task sequence, the accuracy of updating the target task sequence can be improved, thereby enabling more flexible and efficient adjustment of tasks within the target task sequence.
[0070] It should be noted that when deleting a target task, the target task in the target task sequence can be directly deleted, and the execution order of other tasks remains unchanged. When adding a target task or adjusting the execution order of target tasks, it may involve adjusting the specific task order. The following explains another feasible implementation process for updating the target task sequence when adding a target task or adjusting the execution order of target tasks.
[0071] Figure 4 This is another flowchart illustrating the update target task sequence provided in the embodiments of this application. Please refer to... Figure 4 In one embodiment, updating the robot's target task sequence based on the target task corresponding to the intent information includes: S410: Determine whether the robot's target task sequence includes a task.
[0072] Optionally, the number of tasks included in the target task sequence can be obtained. If the number of tasks is 0, it can be determined that the target task sequence does not include any tasks. If the number of tasks is greater than or equal to 1, it can be determined that the target sequence includes any tasks.
[0073] In one embodiment, in addition to determining based on the number of tasks, a query command can also be used to determine whether there are any tasks in the target task sequence, thereby achieving the above determination process.
[0074] If the robot's target task sequence does not include a task, S420: Add the target task to the robot's target task sequence.
[0075] It should be noted that if the robot's target task sequence does not include any tasks, it can be determined that the target task sequence is an empty task sequence. In this case, there is no need to adjust the order of the target tasks that need to be added; simply add the target task to the target task sequence.
[0076] Therefore, the target task can be added to the robot's target task sequence, and in the subsequent execution of the target task sequence by the robot, only the target task mentioned above can be executed.
[0077] It should be noted that in some scenarios, the robot may have already completed all tasks, or it may only be able to execute one task. In this case, there are no other tasks besides the currently executing task, so the target task sequence does not include other tasks. The target task can be added to the robot's target task sequence as the next task that the robot will execute.
[0078] If the robot's target task sequence includes tasks, S430: Adjust the execution order of each task in the target task sequence.
[0079] It should be noted that if the robot's target task sequence includes tasks, it can be determined that the target task sequence is not an empty task sequence. Therefore, for target tasks that need to be added, it may be necessary to adjust the task execution order or add tasks.
[0080] In one embodiment, the task execution order can be adjusted or tasks can be added based on whether the target task sequence includes the target task. Alternatively, the task execution order can be adjusted after adding tasks, etc. No specific limitations are made here.
[0081] The task execution method provided in this application embodiment can determine whether the robot's target task sequence includes a task; if the robot's target task sequence does not include a task, the target task is added to the robot's target task sequence. If the robot's target task sequence includes a task, the execution order of each task in the target task sequence is adjusted. By determining whether the target task sequence includes a task, the method for updating the target task sequence can be flexibly determined, thereby improving the efficiency of adjusting the target task sequence.
[0082] The following is a detailed explanation of another feasible implementation process for updating the target task sequence provided in the embodiments of this application.
[0083] Figure 5 This is another flowchart illustrating the update target task sequence provided in the embodiments of this application. Please refer to... Figure 5 In one embodiment, adjusting the execution order of tasks in the target task sequence includes: S510: Determine whether the target task is an existing task in the target task sequence.
[0084] It should be noted that in the process of determining whether the target task is an existing task in the target task sequence, it can be determined whether the target task is included in the target task sequence. Since all executable tasks are pre-set tasks in the robot, a corresponding task identifier can be set for each task. The task identifiers of all tasks in the target task sequence can be obtained and compared based on the task identifier of the target task, thereby determining whether the target task is an existing task in the target task sequence.
[0085] If the target task is an existing task in the target task sequence, S520: Adjust the execution order of the target tasks in the target task sequence.
[0086] It should be noted that if the target task is an existing task in the target task sequence, then it is certain that the target task does not need to be added to the target task sequence. The execution order of the target task in the target task sequence can be adjusted, for example, the execution order of the target task can be brought forward.
[0087] If the target task is to be executed second, then the execution order of the target task can be adjusted to be first.
[0088] In a specific scenario, if the target user is very interested in exhibit B, after obtaining the target user's intent information, the target task of introducing exhibit B can be obtained. If the target task sequence includes this target task, the execution order of the target task can be advanced. For example, the preset order is to introduce exhibit C to the target user, but after obtaining the target user's intent information, it is found that the target user is more interested in exhibit B, so the execution order of exhibit B can be adjusted, and exhibit B can be introduced earlier.
[0089] If the target task is not an existing task in the target task sequence, S530: Insert the target task into the corresponding position in the target task sequence according to the priority of the target task.
[0090] It should be noted that if the target task is not an existing task in the target task sequence, it can be inserted into the corresponding position in the target task sequence according to its priority.
[0091] The priority of the target task is determined based on the intent information of the target user.
[0092] Based on the intent information of the target user, the user's expectation of the target task can be determined. Based on the specific expectation value, the execution order can be determined. For example, if the expectation value is high, the target task can be inserted at the beginning of the target task sequence; if the expectation value is average, the target task can be inserted at the end of the target task sequence.
[0093] The task execution method provided in this application embodiment can determine whether the target task is an existing task in the target task sequence. If the target task is an existing task in the target task sequence, the execution order of the target tasks in the target task sequence is adjusted. If the target task is not an existing task in the target task sequence, the target task is inserted into the corresponding position in the target task sequence according to its priority. By determining whether the target task is an existing task in the target task sequence, the method for updating the target task sequence can be flexibly determined, thereby improving the efficiency of adjusting the target task sequence.
[0094] The following is a detailed explanation of the content included in the target task provided in the embodiments of this application.
[0095] Figure 6 For a schematic diagram of the behaviors included in each target task provided in the embodiments of this application, please refer to... Figure 6 It should be noted that for a target task, the robot needs to perform one or more actions to complete the task. The robot can perform different actions in a certain order. During the execution, there may be a sequential order or there may be actions that need to be performed in parallel. No specific restrictions are made here.
[0096] like Figure 6 As shown, assuming the target task is a navigation and walking task, in this process, action 1 can be executed first, followed by parallel actions 2.1 and 2.2, then action 3, and then action 4, thereby completing the target task. Other tasks are executed according to the target task sequence.
[0097] The following example illustrates the target task and the behaviors it includes.
[0098] Task 1: Navigate to point 1; Actions: Parallel Action 1: Turn to the specified page in the PPT; Parallel Action 2.1: Explain the exhibit; Parallel Action 2.2: Point to the exhibit; Action 3: Wait for answers to user questions (voice interaction).
[0099] Task 2: Navigate to point 2; Behavior: Parallel behavior 1.1: Explain the exhibit; Parallel behavior 1.2: Pick up the exhibit; Behavior 2: Wait for the user's question to be answered (voice interaction).
[0100] Task (n-1): Navigate to point (n-1); Behavior: Behavior 1: Recognize the need for a group photo (voice recognition); Behavior 2: Perform the "like" action.
[0101] Task n: Navigate to the destination; Behavior: Behavior 1: Say goodbye to the target user.
[0102] The tasks 1-n mentioned above can be 1-n tasks executed sequentially in the target task sequence. For each task, there is a corresponding behavior. For example, in the process of reaching point 1, task 1 can have a parallel behavior 1, which is to turn the PPT to the specified page; then two parallel behaviors can be executed, namely explaining the product and pointing to the product, and then the user's questions and interactions can be obtained.
[0103] In addition to the fact that behaviors can include multiple ones, the target task can be a single task or multiple tasks. The implementation method for a single task has been explained above; however, the implementation methods for multiple tasks can differ to some extent.
[0104] Figure 7 This is a flowchart illustrating the process of inserting multiple target tasks into a target task sequence, as provided in the embodiments of this application. Please refer to... Figure 7 In one embodiment, the target task includes one or more tasks. When the target task includes multiple tasks, before inserting the target task into its corresponding position in the target task sequence according to its priority, the method further includes: S710: Determine the task execution order of multiple target tasks based on the task type of each target task.
[0105] It should be noted that when the target task includes multiple tasks, the type of each target task can be determined, such as: walking tasks, picking tasks, etc.
[0106] Different types of tasks may have different execution orders. For example, if task 1 is to walk to the vicinity of exhibit C and task 2 is to pick up exhibit C, then there is a clear logical order between the two. The robot needs to walk to the vicinity of exhibit C first before it can pick up exhibit C. Therefore, based on the task type of each target task, we can determine whether task 1 needs to be executed first and then task 2, thus obtaining the task execution order of the above multiple target tasks.
[0107] Based on the priority of the target task, insert the target task into the corresponding position in the target task sequence, including: S720: Based on the priority of the target tasks, insert each target task into the corresponding position in the target task sequence according to the task execution order.
[0108] In the process of inserting the target task into the task execution queue, the task insertion can be performed while maintaining the above task execution order. That is to say, if the execution order of task 1 in the target task is before that of task 2, then it will be inserted after the target task sequence. The execution order of task 1 will also be before that of task 2, thus ensuring the logicality of task execution.
[0109] In other words, when there are multiple tasks in the target task, the execution order of these multiple tasks must ensure the correctness of the execution logic. This can be achieved by inserting each target task into the corresponding position in the target task sequence according to the task execution order.
[0110] The following is a detailed explanation of one feasible implementation process for obtaining the intent information of the target user provided in the embodiments of this application.
[0111] In one embodiment, obtaining the intent information of a target user includes: determining the intent information of the target user based on the input information of the target user, wherein the input information includes at least one of the following: voice information and action information.
[0112] It should be noted that the target user's intent can be determined based on the target user's input information. The input information can be voice information collected by the robot's audio acquisition device, or action information of the target user collected by the robot's video acquisition device, etc., without specific limitations.
[0113] Target users can input their intentions into the robot through voice or gestures, allowing the robot to obtain the target user's intentions.
[0114] The determination of intent information can be achieved based on a large language model.
[0115] In one embodiment, determining the target user's intent information based on the target user's input information includes: inputting the target user's input information into a large language model to obtain the target user's intent information, wherein the large language model is a neural network model obtained after training based on sample input information and sample intent information.
[0116] Specifically, the target user's intent information can be obtained by inputting the above input information into a large language model.
[0117] Figure 8 This is a schematic diagram of the structure of the large language model provided in the embodiments of this application. Please refer to... Figure 8 A large language model can be a type of artificial intelligence (AI) model. An AI model is a concrete implementation of AI technology functions, and it represents the mapping relationship between the model's input and output. AI models can be neural networks, linear regression models, decision tree models, support vector machines (SVM), Bayesian networks, Q-learning models, or other machine learning (ML) models.
[0118] Neural networks are a specific implementation of AI or machine learning techniques. According to the general approximation theorem, neural networks can theoretically approximate any continuous function, thus enabling them to learn arbitrary mappings.
[0119] Training a large language model can be achieved using a training dataset. This dataset is used for model training and can include the model's input data, or both input and target output data. Specifically, a training dataset includes one or more training data sets, which can be either input data to the model or the model's target output data. The target output data can also be referred to as labels, output label data, or output label samples. The training dataset is a crucial part of machine learning; model training essentially involves learning certain features from the training data to make the model's output data as close as possible to the target output data, minimizing the difference between them. The composition and selection of the training dataset can, to a certain extent, determine the performance of the trained model.
[0120] In one embodiment, the sample input information and sample intent information can be used as the training dataset described above.
[0121] Furthermore, a loss function can be defined during the training process of a model (such as a neural network). The loss function describes the difference or discrepancy between the model's output value and the target output value. This application does not limit the specific form of the loss function. The model training process involves adjusting the model parameters to make the loss function value less than a threshold, or to make the loss function value meet the target requirements.
[0122] The model parameters can include one or more of the following: structural parameters of the model (e.g., the number of layers, and / or weights), for example, if the model is a neural network, the structural parameters of the neural network include at least one of the following: the number of layers, width, weights of neurons, or parameters in the activation function of neurons; input parameters of the model (e.g., input dimension, number of input ports); and output parameters of the model (e.g., output dimension, number of output ports). It can be understood that the input dimension refers to the size of an input data set; for example, when the input data is a sequence, the input dimension corresponding to that sequence can indicate the length of the sequence. The number of input ports can refer to the quantity of input data. Similarly, the output dimension can refer to the size of an output data set; for example, when the output data is a sequence, the output dimension corresponding to that sequence can indicate the length of the sequence. The number of output ports can refer to the quantity of output data.
[0123] Furthermore, neural networks can process data in batches, enabling parallel computation to accelerate training. For example, multiple training data sets can be selected to form a batch, which is then input into the neural network to obtain output data. The output data and output label data are then input into a loss function to calculate the loss for this round. This loss is then matched with the step size parameter to update each structural parameter of the neural network, completing one iteration of the training process.
[0124] Inference data can be used as input to a trained model for inference, validation, or monitoring of model performance. During model inference, inputting inference data into the model yields the corresponding output, which is the inference result. Optionally, the model's input data, included in the training dataset, can also be used as inference data for model inference, validation, or monitoring of model performance.
[0125] Figure 8 The model structure shown is that of a large language model. In the aforementioned data collection phase, the data source provides training and inference data. In the model training phase, the AI model is obtained by analyzing or training the training data provided by the data source. The AI model represents the mapping relationship between the model's input and output. Learning the AI model through model training nodes is equivalent to learning the mapping relationship between the model's input and output using the training data. In the model inference phase, the AI model trained in the model training phase is used to perform inference based on the inference data provided by the data source, obtaining the inference result. This phase can also be understood as: inputting inference data into the AI model, obtaining output data through the AI model, which is the inference result. This inference result can indicate the configuration parameters used (executed) by the execution object, and / or the operations performed by the execution object. In the inference result application phase, the inference result is published. For example, the inference result can be uniformly planned by the actor entity, which can send the inference result to one or more execution objects (e.g., core network devices, access network devices, terminal devices, or network management systems) for execution. For example, the execution entity can also provide feedback on the model's performance to the data source, facilitating subsequent model updates.
[0126] It is understood that, in the embodiments of this application, the large language model can be deployed on a robot or on a server. If deployed on a robot, the robot can call the large language model according to actual usage needs; if deployed on a server, the robot can interact with the server, sending the data that needs to be input into the model to the server, and receiving the corresponding result after the large language model on the server outputs the result.
[0127] The robot or server equipped with the large language model may include network elements with artificial intelligence capabilities. The AI model design-related steps described above can be performed by one or more network elements with artificial intelligence capabilities. In one possible design, AI functions (such as AI modules or AI entities) can be configured within existing network elements in the robot or server equipped with the large language model to implement AI-related operations, such as AI model training and / or inference. For example, these existing network elements could be access network devices (such as gNBs), terminal devices, core network devices, or network management systems. Operations mainly involve daily network and service analysis, prediction, planning, and configuration; maintenance mainly involves daily operational activities such as testing and fault management of the network and its services. Network management systems can detect network operating status, optimize network connectivity and performance, improve network stability, and reduce network maintenance costs. Alternatively, in another possible design, an independent network element can be introduced into the robot or server equipped with the large language model to perform AI-related operations, such as training the AI model. This independent network element can be called an AI network element or an AI node, etc., and this application embodiment does not limit this name. This AI network element can connect directly to devices in robots or servers that have the large language model deployed, or it can connect indirectly through third-party network elements. These third-party network elements can be core network devices such as authentication management function (AMF) network elements and user plane function (UPF) network elements, network management systems, cloud servers, or other network elements; there are no restrictions.
[0128] It should be understood that although the steps in the above flowcharts are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the above flowcharts may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the sub-steps or stages of other steps.
[0129] Based on the foregoing embodiments, this application provides a task execution device, which includes the included modules and the units included in each module, which can be implemented by a processor; of course, it can also be implemented by specific logic circuits; in the implementation process, the processor can be a central processing unit (CPU), microprocessor (MPU), digital signal processor (DSP) or field programmable gate array (FPGA), etc.
[0130] Figure 9 This is a schematic diagram of the task execution device provided in the embodiments of this application. Please refer to... Figure 9 In another aspect of the embodiments of this application, a task execution device is also provided, applied to a robot, including: an acquisition module 910, an update module 920 and an execution module 930; Module 910 is used to acquire the intent information of the target user; The update module 920 is used to update the robot's target task sequence based on the target user's intent information. The target task sequence is used to instruct the robot to perform at least one task within a preset time period. The target parameters of the updated target task sequence change, including the number of tasks and / or the execution order of the tasks. Execution module 930 is used to execute the updated target task sequence.
[0131] In one embodiment, the update module 920 is specifically used to determine the target task corresponding to the intent information from multiple executable tasks of the robot based on the intent information of the target user and the mapping relationship between the intent information and the executable tasks of the robot; and update the target task sequence of the robot based on the target task corresponding to the intent information.
[0132] In one embodiment, the update module 920 is specifically used to add a target task to the robot's target task sequence when the robot's target task sequence does not include a task; and to adjust the execution order of each task in the target task sequence when the robot's target task sequence includes a task.
[0133] In one embodiment, the update module 920 is specifically used to adjust the execution order of target tasks in the target task sequence if the target task is an existing task in the target task sequence.
[0134] In one embodiment, the update module 920 is specifically used to insert the target task into the corresponding position in the target task sequence according to the priority of the target task if the target task is not an existing task in the target task sequence, wherein the priority of the target task is determined according to the intent information of the target user.
[0135] In one embodiment, the target task includes one or more. In the case where the target task includes multiple tasks, in one embodiment, the update module 920 is specifically used to determine the task execution order of the multiple target tasks according to the task type of each target task; and to insert each target task into the corresponding position in the target task sequence according to the priority of the target tasks.
[0136] In one embodiment, the acquisition module 910 is specifically used to determine the target user's intent information based on the target user's input information, the input information including at least one of the following: voice information and action information.
[0137] In one embodiment, the acquisition module 910 is specifically used to input the target user's input information into the large language model to obtain the target user's intent information. The large language model is a neural network model obtained after training based on the sample input information and the sample intent information.
[0138] The task execution device provided in this application embodiment can acquire the intent information of the target user; based on the intent information of the target user, update the target task sequence of the robot. The target task sequence is used to instruct the robot to perform at least one task within a preset time period. The target parameters of the updated target task sequence change, including the number of tasks and / or the execution order of the tasks; the updated target task sequence is then executed. The update of the target task sequence can be achieved through the intent information of the target user, thereby allowing for the replanning of tasks to be performed by the target robot. This enables real-time updates of task execution, maintaining real-time communication between the robot and the target user, improving the robot's task execution efficiency and flexibility, and allowing the robot to more flexibly perform the tasks required by the target user.
[0139] The descriptions of the above device embodiments are similar to those of the above method embodiments, and have similar beneficial effects. For technical details not disclosed in the device embodiments of this application, please refer to the descriptions of the method embodiments of this application for understanding.
[0140] It should be noted that, in the embodiments of this application... Figure 9 The module division of the task execution device shown is illustrative and represents only one logical functional division; in actual implementation, other division methods may be used. Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, exist as separate physical units, or be integrated into one unit by two or more units. The integrated units can be implemented in hardware, as software functional units, or a combination of both.
[0141] It should be noted that, in the embodiments of this application, if the above-described methods are implemented as software functional modules and sold or used as independent products, they can also be stored in a computer-readable storage medium. Based on this understanding, the technical solutions of the embodiments of this application, or the parts that contribute to related technologies, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause an electronic device to execute all or part of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), magnetic disks, or optical disks. Thus, the embodiments of this application are not limited to any specific hardware and software combination.
[0142] Figure 10 This is a schematic diagram of the robot structure provided in the embodiments of this application. Please refer to... Figure 10 This application provides a robot whose internal structure diagram can be as follows: Figure 10 As shown. The computer device includes a processor 1020, memory, and a network interface 1040 connected via a system bus 1010. The processor 1020 provides computing and control capabilities. The memory includes a non-volatile storage medium 1031 and internal memory 1032. The non-volatile storage medium 1031 stores an operating system, computer programs, and a database. The internal memory 1032 provides an environment for the operation of the operating system and computer programs in the non-volatile storage medium 1031. The database is used to store data. The network interface 1040 is used to communicate with external terminals via a network connection. When the computer program is executed by the processor 1020, it implements the aforementioned methods.
[0143] This application provides a computer-readable storage medium storing a computer program thereon, which, when executed by a processor, implements the steps of the method provided in the above embodiments.
[0144] This application provides a computer program product containing instructions that, when run on a computer, cause the computer to perform the steps in the method provided in the above-described method embodiments.
[0145] Those skilled in the art will understand that Figure 10 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.
[0146] In one embodiment, the voice interaction recovery device provided in this application can be implemented as a computer program, which can be implemented in the form of, for example... Figure 10 The device operates on the computer device shown. The memory of the computer device can store the various program modules that make up the above-described apparatus. The computer program, composed of the various program modules, causes the processor to execute the steps of the methods in the various embodiments of this application described in this specification.
[0147] It should be noted that the descriptions of the storage medium and device embodiments above are similar to the descriptions of the method embodiments above, and have similar beneficial effects. For technical details not disclosed in the storage medium, storage medium, and device embodiments of this application, please refer to the descriptions of the method embodiments of this application for understanding.
[0148] It should be understood that the phrases "one embodiment," "an embodiment," or "some embodiments" mentioned throughout the specification mean that a specific feature, structure, or characteristic related to an embodiment is included in at least one embodiment of this application. Therefore, "in one embodiment," "in one embodiment," or "in some embodiments" appearing throughout the specification do not necessarily refer to the same embodiment. Furthermore, these specific features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. It should be understood that in the various embodiments of this application, the sequence numbers of the above-described processes do not imply a sequential order of execution; the execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application. The sequence numbers of the above-described embodiments are merely for descriptive purposes and do not represent the superiority or inferiority of the embodiments. The descriptions of the various embodiments above tend to emphasize the differences between the various embodiments; their similarities or commonalities can be referred to mutually, and for the sake of brevity, they will not be repeated here.
[0149] In this article, the term "and / or" is merely a description of the relationship between related objects, indicating that there can be three kinds of relationships. For example, object A and / or object B can represent three situations: object A exists alone, object A and object B exist simultaneously, and object B exists alone.
[0150] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.
[0151] In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. The embodiments described above are merely illustrative. For example, the division of modules is only a logical functional division, and in actual implementation, there may be other division methods, such as: multiple modules or components can be combined, or integrated into another system, or some features can be ignored or not executed. In addition, the coupling, direct coupling, or communication connection between the various components shown or discussed can be through some interfaces, and the indirect coupling or communication connection between devices or modules can be electrical, mechanical, or other forms.
[0152] The modules described above as separate components may or may not be physically separate. The components shown as modules may or may not be physical modules. They may be located in one place or distributed across multiple network units. Some or all of the modules may be selected to achieve the purpose of this embodiment according to actual needs.
[0153] In addition, each functional module in the various embodiments of this application can be integrated into one processing unit, or each module can be a separate unit, or two or more modules can be integrated into one unit; the integrated modules can be implemented in hardware or in the form of hardware plus software functional units.
[0154] Those skilled in the art will understand that all or part of the steps of the above method embodiments can be implemented by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When the program is executed, it performs the steps of the above method embodiments. The aforementioned storage medium includes various media that can store program code, such as mobile storage devices, read-only memory (ROM), magnetic disks, or optical disks.
[0155] Alternatively, if the integrated units described above are implemented as software functional modules and sold or used as independent products, they can also be stored in a computer-readable storage medium. Based on this understanding, the technical solutions of the embodiments of this application, or the parts that contribute to related technologies, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause an electronic device to execute all or part of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as mobile storage devices, ROMs, magnetic disks, or optical disks.
[0156] The methods disclosed in the several method embodiments provided in this application can be arbitrarily combined without conflict to obtain new method embodiments.
[0157] The features disclosed in the several product embodiments provided in this application can be arbitrarily combined without conflict to obtain new product embodiments.
[0158] The features disclosed in the several method or device embodiments provided in this application can be arbitrarily combined without conflict to obtain new method or device embodiments.
[0159] The above description is merely an embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A task execution method, characterized in that, Applications in robots, including: Obtain the target user's intent information; Based on the intent information of the target user, the target task sequence of the robot is updated. The target task sequence is used to instruct the robot to perform at least one task within a preset time period. The target parameters of the updated target task sequence change, and the target parameters include: the number of tasks and / or the execution order of the tasks. Execute the updated target task sequence.
2. The method according to claim 1, characterized in that, The step of updating the robot's target task sequence based on the target user's intent information includes: Based on the intent information of the target user and the mapping relationship between the intent information and the robot's executable tasks, the target task corresponding to the intent information is determined from the robot's multiple executable tasks; The robot's target task sequence is updated based on the target task corresponding to the intent information.
3. The method according to claim 2, characterized in that, The step of updating the robot's target task sequence based on the target task corresponding to the intent information includes: If the target task is not included in the robot's target task sequence, the target task is added to the robot's target task sequence. If the target task sequence of the robot includes tasks, adjust the execution order of each task in the target task sequence.
4. The method according to claim 3, characterized in that, Adjusting the execution order of each task in the target task sequence includes: If the target task is an existing task in the target task sequence, adjust the execution order of the target tasks in the target task sequence.
5. The method according to claim 3, characterized in that, Adjusting the execution order of each task in the target task sequence includes: If the target task is not an existing task in the target task sequence, the target task is inserted into the corresponding position in the target task sequence according to its priority, wherein the priority of the target task is determined based on the intent information of the target user.
6. The method according to claim 5, characterized in that, The target task includes one or more tasks. When the target task includes multiple tasks, before inserting the target task into the corresponding position in the target task sequence according to its priority, the method further includes: Determine the execution order of multiple target tasks based on the task type of each target task; The step of inserting the target task into the corresponding position in the target task sequence according to the priority of the target task includes: Based on the priority of the target tasks, each target task is inserted into its corresponding position in the target task sequence according to the task execution order.
7. The method according to claim 1, characterized in that, The acquisition of the target user's intent information includes: The intent information of the target user is determined based on the input information of the target user, wherein the input information includes at least one of the following: voice information and action information.
8. The method according to claim 7, characterized in that, Determining the target user's intent information based on the target user's input information includes: The target user's input information is input into a large language model to obtain the target user's intent information. The large language model is a neural network model obtained after training based on sample input information and sample intent information.
9. A task execution device, characterized in that, Applied to robots, including: acquisition module, update module, and execution module; The acquisition module is used to acquire the intent information of the target user; The update module is used to update the target task sequence of the robot based on the intent information of the target user. The target task sequence is used to instruct the robot to perform at least one task within a preset time period. The target parameters of the updated target task sequence change, and the target parameters include: the number of tasks and / or the execution order of the tasks. The execution module is used to execute the updated target task sequence.
10. A robot comprising a memory and a processor, the memory storing a computer program executable on the processor, characterized in that, When the processor executes the program, it implements the steps of the method according to any one of claims 1 to 8.