Methods, apparatuses, devices, medium and product of controlling virtual robot on robot training platform
The virtual robot training platform using extended reality devices and AI agents addresses the challenges of high costs and safety risks, offering immersive and interactive training experiences, enhancing accessibility and reducing geographical barriers.
Patent Information
- Application Number
- PCT/CN2024/124521
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-10-12
- Publication Date
- 2026-04-16
AI Technical Summary
Existing online training platforms for robotics face challenges such as high costs, geographical barriers, logistical difficulties, and safety risks in providing immersive and interactive training experiences.
A virtual robot training platform utilizing extended reality devices, a WebXR platform, and AI agents for controlling virtual robots, enabling immersive training through a web-based control module and ML models for interactive learning.
Reduces training costs, enhances accessibility, and provides immersive and interactive experiences, overcoming geographical and logistical barriers while ensuring user safety.
Smart Images

Figure CN2024124521_16042026_PF_FP_ABST
Abstract
Description
METHODS, APPARATUSES, DEVICES, MEDIUM AND PRODUCT OF CONTROLLING VIRTUAL ROBOT ON ROBOT TRAINING PLATFORMFIELD
[0001] Embodiments of the present disclosure generally relate to the field of computer technology and in particular, to a method, an apparatus, an electronic device, a computer-readable medium and a computer program product of controlling a virtual robot on a robot training platform.BACKGROUND
[0002] An online training platform is a software system which leverages the internet to offer remote training and learning services. It enables trainers and trainees to connect and interact despite geographical and time constraints. These platforms cater to various educational sectors, enhancing learning flexibility and convenience. They contribute to online training's popularization and quality improvement. With technological advancements, their functions and performance are continually enhanced, offering learners a superior, efficient experience.
[0003] Augmented reality (AR) and virtual reality (VR) are two advanced technologies in the field of computer graphics and simulation. VR technology creates a fully immersive, computer-generated three-dimensional environment. Users interact with this virtual world using head-mounted displays (HMDs) and other devices. They feel as if they are physically present in a different space. AR technology enhances the real world by overlaying computer-generated information, such as images, sounds, and videos, onto it. AR devices capture real-world environments and integrate virtual content in real-time and provide users with enriched visual experiences. Both technologies have wide applications across various industries, and they transform the way people interact with digital content and the real world.SUMMARY
[0004] In general, various example embodiments of the present disclosure relates to a solution of controlling a virtual robot on a robot training platform.
[0005] In a first aspect, there is provided a method of controlling a virtual robot on a robot training platform. The method comprises receiving, from an extended reality (XR) device, a user operation for controlling the virtual robot on an XR platform. The method further comprises determining, by the XR platform, a control result for the user operation based on the user operation and information associated with the virtual robot. The method further comprises transmitting, to the XR device, the control result to cause the XR device to present a rendered control result of the virtual robot.
[0006] In a second aspect, there is provided an apparatus of controlling a virtual robot on a robot training platform. The apparatus comprises a receiving module configured to receive, from an XR device, a user operation for controlling the virtual robot on an XR platform. The apparatus further comprises a determining module configured to determine, by the XR platform, a control result for the user operation based on the user operation and information associated with the virtual robot. The apparatus further comprises a transmitting module configured to transmit, to the XR device, the control result to cause the XR device to present a rendered control result of the virtual robot.
[0007] In a third aspect, there is provided an electronics device. The electronics device comprises a processor; and a memory coupled to the processor, wherein the memory has instructions stored therein, and the instructions, when executed by the processor, cause the device to execute actions of the first aspect.
[0008] In a fourth aspect, there is provided a computer-readable medium. The computer-readable medium comprises instructions stored therein, which when executed by a processor, cause the processor to perform methods of the first aspect.
[0009] In a fifth aspect, there is provided a computer program product. The computer program product comprises instructions stored therein, which when executed by a processor, cause the processor to perform methods of the first aspect.
[0010] It is to be understood that the Summary is not intended to identify key or essential features of embodiments of the present disclosure, nor is it intended to be used to limit the scope of the present disclosure. Other features of the present disclosure will become readily comprehensible through the description below.DESCRIPTION OF DRAWINGS
[0011] Through the following detailed descriptions with reference to the accompanying drawings, the above and other objectives, features and advantages of the example embodiments disclosed herein will become more comprehensible. In the drawings, several example embodiments disclosed herein will be illustrated in an example and in a non-limiting manner, wherein:
[0012] FIG. 1 illustrates a schematic diagram of an example environment in which a plurality of embodiments of the present disclosure can be implemented;
[0013] FIG. 2 illustrates a block diagram of example modules of controlling a virtual robot on a robot training platform in accordance with some embodiments of the present disclosure;
[0014] FIG. 3 illustrates an example user interface of a web-based control module for controlling the robot in accordance with some embodiments of the present disclosure;
[0015] FIG. 4 illustrates an example architecture of a machine learning (ML) model in accordance with some embodiments of the present disclosure;
[0016] FIG. 5 illustrates a flowchart of an example method of controlling a virtual robot on a robot training platform in accordance with some embodiments of the present disclosure;
[0017] FIG. 6 illustrates a block diagram of an example apparatus of controlling a virtual robot on a robot training platform in accordance with some embodiments of the present disclosure; and
[0018] FIG. 7 illustrates a block diagram illustrating an electronic device in accordance with some embodiments of the present disclosure.
[0019] Throughout all the drawings, the same or similar reference numerals represent the same or similar elements.DETAILED DESCRIPTION OF EMBODIMENTS
[0020] Principles of the present disclosure will now be described with reference to several example embodiments shown in the drawings. Though example embodiments of the present disclosure are illustrated in the drawings, it is to be understood that the embodiments are described only to facilitate those skilled in the art in better understanding and thereby achieving the present disclosure, rather than to limit the scope of the disclosure in any manner.
[0021] The term comprises "or" includes "and" its variants are to be read as open terms that mean "includes, but is not limited to" . The term "or" is to be read as "and / or" unless the context clearly indicates otherwise. The term "based on" is to be read as "based at least in part on" . The term "being operable to" is to mean a function, an action, a motion or a state can be achieved by an operation induced by a user or an external mechanism. The term "one embodiment" and "an embodiment" are to be read as "at least one embodiment" . The term "another embodiment" is to be read as "at least one other embodiment" . The terms "first" , "second" , and the like may refer to different or same objects. Other definitions, explicit and implicit, may be included below. A definition of a term is consistent throughout the description unless the context clearly indicates otherwise.
[0022] The functions or algorithms described herein may be implemented in software in one embodiment. The software may consist of computer executable instructions stored on computer readable media or computer readable storage device such as one or more non-transitory memories or other type of hardware-based storage devices, either local or networked. Further, such functions correspond to modules, which may be software, hardware, firmware or any combination thereof. Multiple functions may be performed in one or more modules as desired, and the embodiments described are merely examples. The software may be executed on a digital signal processor, ASIC, microprocessor, or other type of processor operating on a computer system, such as a personal computer, server or other computer system, turning such computer system into a specifically programmed machine.
[0023] The functionality can be configured to perform an operation using, for instance, software, hardware, firmware, or the like. For example, the phrase "configured to" can refer to a logic circuit structure of a hardware element that is to implement the associated functionality. The phrase "configured to" can also refer to a logic circuit structure of a hardware element that is to implement the coding design of associated functionality of firmware or software. The term "module" refers to a structural element that can be implemented using any suitable hardware (e.g., a processor, among others) , software (e.g., an application, among others) , firmware, or any combination of hardware, software, and firmware. The term "logic" encompasses any functionality for performing a task. For instance, each operation illustrated in the flowcharts corresponds to logic for performing that operation. An operation can be performed using, software, hardware, firmware, or the like. The terms, "component" , "system" , and the like may refer to computer-related entities, hardware, and software in execution, firmware, or combination thereof. A component may be a process running on a processor, an object, an executable, a program, a function, a subroutine, a computer, or a combination of software and hardware. The term, "processor" may refer to a hardware component, such as a processing unit of a computer system.
[0024] The terms "a" or "an" as used herein, are defined as one or more than one. Also, the use of introductory phrases such as "at least one" and "one or more" in the claims should not be construed to imply that the introduction of another claim element by the indefinite articles "a" or "an" limits any particular claim containing such introduced claim element to disclosures containing only one such element, even when the same claim includes the introductory phrases "one or more" or "at least one" and indefinite articles such as "a" or "an" . The same holds true for the use of definite articles.
[0025] Furthermore, the claimed subject matter may be implemented as a method, apparatus, or article of manufacture using standard programming and engineering techniques to produce software, firmware, hardware, or any combination thereof to control a computing device to implement the disclosed subject matter. Computer-readable storage media can include, but are not limited to, magnetic storage devices, e.g., hard disk, floppy disk, magnetic strips, optical disk, compact disk (CD) , digital versatile disk (DVD) , smart cards, flash memory devices, among others. In contrast, computer-readable media, i.e., not storage media, may additionally include communication media such as transmission media for wireless signals and the like.
[0026] As discussed above, online training platform enables trainers and trainees to connect and interact despite geographical and time constraints. For example, the online training platform can be used for robot training. It can foster robotics expertise and addresses knowledge disparities among enterprises and robotics enthusiasts. The challenges posed by the high costs associated with acquiring robots and accessing training centers, as well as the environmental impact of transportation and accommodation, are indeed significant. Moreover, the safety risks inherent in unfamiliarity with robotic systems further complicate the training process.
[0027] Therefore, there is a need to provide robot training through mobile devices. The present disclosure proposed a solution of controlling a virtual robot on a robot training platform. By implementing the proposed solution, an online training platform for robots can reduce costs of providing training and enhance accessibility. In some example embodiments, it can allow for immersive and interactive training experiences which can be accessed anytime, anywhere, thereby overcoming geographical and logistical barriers.
[0028] FIG. 1 illustrates a schematic diagram of an example environment 100 in which a plurality of embodiments of the present disclosure can be implemented. The example environment 100 is only illustrated and is not intended to suggest any limitations as to scope of use or functionality of embodiments of the disclosure described herein.
[0029] As shown in FIG. 1, the example environment 100 comprises a user device 102 and a computing device 104. An example of the user device 102 may be an XR device. For example, the XR devices may be one or more of VR headsets, AR glasses, mixed reality (MR) device, Cardboard + smartphone for an immersive experience, and mobile devices like tablets and laptops. Each device offers unique advantages, such as immersion (VR / AR) , cost-effectiveness (Cardboard + smartphone) , and accessibility (iPads / computers) , allowing for tailored training experiences. Compatibility, usability, scalability, and performance are key factors to consider when deploying this technology. By leveraging these devices, robot training becomes more accessible, engaging, and effective, fostering expertise and driving innovation in robotics. Whether for immersive 3D experiences or more cost-conscious solutions, the right device can significantly enhance the training process.
[0030] An example of the computing device 104 may be a server, for example, a server for online training. It undertakes tasks such as data storage, transmission, management, and the provision of educational resources, supporting functions like real-time video instruction, remote teaching, and the operation of online learning platforms. Through the server, trainers and trainees can conveniently access and share educational resources, engage in real-time interaction and communication.
[0031] The computing device 104 may be deployed with an ML model 106 for answering questions from the users. The computing device 104 may be deployed with a control module 108 for controlling a virtual robot (virtual robot and robot will be used interchangeably thereafter) on a robot training platform via the user device 102. The ML model 106 and the control module 108 may be implemented in a software, a hardware or a firmware.
[0032] The user device 102 may send a user operation 110 to the computing device 104. For example, the user operation 110 may be a robot operation for controlling the robot. The robot operation for controlling the robot may be an operation which controls the robot to move a distance, rotate some degrees, pick up a working object or the like. For another example, the user operation 110 may be a question associated with the robot. The question associated with the robot may be: "what is the purpose of the red button on the control cabinet" .
[0033] The computing device 104 may receive the user operation 110. Specifically, the control module 108 may receive the user operation 110 if the user operation 110 is a robot operation for controlling the robot, and the ML model 106 may receive the user operation 110 if the user operation 110 is a question associated with the robot and / or the control cabinet. When the control module 108 receives the user operation 110, the control module 108 may determine a corresponding result of the robot operation as a control result 112. For example, the corresponding result may be a status and a position after the robot moved a distance. When the ML model 106 receives the user operation 110, the ML model 106 may determine a corresponding answer to the question. For example, the corresponding answer may be: "the red button on the control cabinet is the emergency stop button. When an emergency occurs, you can press this button to stop all controlled dangerous. The restore step is to rotate the emergency stop button and press the motor-on button" . The corresponding result or the corresponding answer may be sent to the user device 102 as the control result 112.
[0034] The information in the control result 112 may be changed to be compatible with VR / AR / MR for display. The response information may be integrated into a VR / AR / MR environment. Users may view the robot's status, position, or obtain answers to their questions. Interactive elements may be added to enhance engagement. The VR experience may be ensured to be smooth and user-friendly. Users may be provided with a guide to help them navigate the VR / AR / MR setting. Testing and feedback collection may be conducted to ensure its proper functioning. This can facilitate users' understanding of the robot's status or the provided answers.
[0035] Reference is made to FIG. 2, which illustrates a block diagram of example modules 200 of controlling a virtual robot on a robot training platform in accordance with some embodiments of the present disclosure. The example modules 200 may comprise a WebXR platform 202 (also referred to as an XR platform 202) which be deployed in a computing device as described with reference to FIG. 1. The WebXR platform 202 may act as a robot training platform. The WebXR platform 202 may be an open technology standard. It may unite VR and AR development on the web. It may combine VR and AR. Developers can create cross-browser and cross-hardware immersive Web apps. Users of XR device 210 can experience VR and AR content on compatible devices like VR headsets or mobile phones without downloading extra applications. WebXR can support many interaction ways such as gesture recognition and voice control. It may offer a natural experience. It may have wide applications in education, entertainment, collaboration, and meetings. It can focus on user privacy and security. Contents may be encrypted with HTTPS. It may need user interaction to start. The WebXR platform 202 may be a powerful tool for developers and brings users of XR device 210 an immersive experience. It is to be understood that other VR / AR platform may be used herein without limitations.
[0036] A robot control mate (RCM) 208 (an example of the control module 108 in FIG. 1) may be deployed in the WebXR platform 202. The RCM 208 may be used for robot control and management. The RCM 208 may allow users of XR device 210 to move the robot, power on / off, and record positions through a specific plug-in or web interface when the robot is in automatic mode. The RCM 208 may provide an intuitive and easy-to-operate control platform for the robot, and the RCM 208 may allow users of XR device 210 to more conveniently manage and monitor the robot's operating status. In the fields of industrial automation and intelligent manufacturing, the RCM 208 can help a user complete robot control tasks more efficiently and improve production efficiency.
[0037] The use of the RCM 208 is simple. For example, a user may use the RCM plug-in to control the robot. Further, the RCM 208 may be a web-based version. The web-based RCM 208 may greatly improve ease of use. Users of XR device 210 only need to enter the corresponding address in the browser to remotely control and monitor the robot. The RCM 208 may provide an intuitive operation interface and rich control functions, and thus allowing users of XR device 210 to easily get started and quickly master the control methods of the robot. Through the RCM 208, users of XR device 210 can achieve real-time monitoring and remote control of the robot, and thus work efficiency and safety can be improved.
[0038] The three-dimensional (3D) models 204, for example, 3D models of the robots, factories, working objects and / or controllers may be imported into the WebXR platform 202 from a robot database 214 (for example, from a ) . In some example embodiments, the robot database 214 may be comprised in a computer programming and / or simulation software specifically designed for robot programming, simulation, and offline file processing. The robot database 214 may offer an intuitive user interface and powerful graphical programming tools. Engineers can easily create, edit, and optimize complex robot applications with it. Within the robot database 214, users of XR device 210 can perform accurate 3D simulations in a virtual environment, identify and resolve potential issues in advance, optimize robot trajectories, and enhance motion efficiency. The robot database 214 can support offline programming, minimizing downtime on production lines and boosting productivity. Based on the 3D models 204 and the robot operation for controlling the robot, the RCM 208 may determine the correct result when receiving the robot operation and present it to the users of XR device 210 in a manner of VR / AR. Users of XR device 210 can also build a virtual control cabinet model to familiarize the operation of the control cabinet.
[0039] An artificial intelligence (AI) agent 206 (an example of the ML model 106 in FIG. 1) for online training for robots may be a specialized software designed to enhance the learning experience of users of XR device 210. It may act as an intelligent assistant that interacts with users of XR device 210, track their performance, and provide personalized learning recommendations. The AI agent 206 can answer questions, offer guidance, and customize the training content based on the user's abilities and learning pace. This ensures a more engaging and effective training process. The benefits of using the AI agent 206 for online training include enhanced learning efficiency, as the agent provides real-time feedback and tailors the content to suit individual needs. It also supports scalability, and thus allowing a large number of users of XR device 210 to receive training simultaneously.
[0040] The AI agent 206 may be trained using reinforcement learning. To train the AI agent 206 using reinforcement learning, the robots' user manuals or handbooks can be used as training materials 212. The robots' user manuals or handbooks tells about the robots' functions, operations, sensor data, and action space. A reinforcement learning simulation environment can be built. This simulation environment may simulate the robots' working setting. The state space, action space, and reward function can also be defined in this simulation environment. During training, a reinforcement learning algorithm may be chosen and the AI agent 206's neural network structure can be designed.
[0041] For example, the training of the AI agent 206 may involve three steps: (1) pre-training the language model; (2) training the reward model, and (3) fine-tuning with reinforcement learning. During the training process, the language model is first trained using the classic pre-training objective, and then the reward model is trained based on the data generated by the model. The model is able to receive a series of texts and return a scalar reward corresponding to human preferences. Finally, the reward output by the reward model is used to optimize the language model through reinforcement learning fine-tuning.
[0042] Once the training of the AI agent 206 is done, the AI agent 206 can work autonomously in complex environments. Based on the question associated with the robot, the RCM 208 may determine the correct answer when receiving the question associated with the robot and present it to the users of XR device 210 in a manner of VR / AR. The questions and answers can be in the form of voice. The AI agent 206 can also tell some knowledge about the robots in advance. It is also to be understood that the number of the virtual robots can be more than one. The virtual robots in the WebXR platform 202 can be controlled at the same time by the users.
[0043] In this way, by leveraging the scalability of WebXR platform 202, the 3D models of robots, controller and even factories in the robot database 214 can be imported into the WebXR platform 202. With the help of the RCM 208 (for example, web-based) , control of the robot can be achieved. By combining this with the AI agent 206 may be created to help answer simple questions. These modules may be easy to deploy and may be applied to various hardware platforms. For instance, it could be deployed in VR headset or AR glasses, as well as in Cardboard + smartphone for an immersive experience. Or it may be deployed in tablets, computers and other mobile devices for a 2.5D (naked-eye 3D) experience.
[0044] By deploying the training course in a virtual environment, participants can explore the robot's operation as much as possible without causing damage. This can reduce the cost of robots training and the burden on the environment and also highly avoid the risk of injuries that arise during training which allowing more customers to purchase robot training courses. As the robotics course expands to new users, these users have more exposure to and understanding of the application of robots, which opens up a wider potential customer base.
[0045] Reference is made to FIG. 3, which illustrates an example user interface 300 of a web-based control module for controlling the robot in accordance with some embodiments of the present disclosure. On the left side of the user interface 300, there is a robot name icon 302, which means that the user select a robot with the displayed name to control. Under the robot name icon 302, there are three options, which are a control icon 304, a move icon 306 and an execution icon 308.
[0046] The user interface 300 also shows the parameter settings related to the movement of the robot. For example, a move speed icon 310, a move mode icon 314, a define position icon 312 and a joint degree icon 316. A user can use a controller 320 like a gamepad to adjust these parameters. The user may also use keyboard or touchscreen to input these parameters. It is to be understood that the user may need to define the target position of the robot, select the movement mode of the robot, adjust the robot's posture or position during training. When the robot has done corresponding command, the user interface 300 may display the updated status of the robot.
[0047] Reference is made to FIG. 4, which illustrates an example architecture of an ML model 400 in accordance with some embodiments of the present disclosure. The ML model 400 is a natural language processing technology that combines robot usage and control information retrieval with generative models to improve the accuracy and relevance of text generation tasks. The ML model 400 may receive a query 402 and use a retrieval model to quickly find the most relevant documents to the user's query 402 from a data store 404 (for example, a large-scale document library) . Then a retrieval context 406 may be sent to a generator 408. The generator 408 may generate a high-quality answers as a response 410 based on these retrieved context 406 and the query 402.
[0048] The advantage of the ML model 400 is that it can use external knowledge bases to enhance the answering ability of the generative model and reduce the deviation and errors of the generated content. This combination enables the ML model 400 to perform well in application scenarios such as question-answering systems, natural language generation, text summarization, and knowledge graph construction. By introducing the ML model 400, it can generate more accurate, relevant, and coherent text, thereby improving user experience and satisfaction.
[0049] Reference is made to FIG. 5, which illustrates a flowchart of an example method 500 of controlling a virtual robot on a robot training platform in accordance with some embodiments of the present disclosure. FIG. 5 will be described with reference to FIG. 1.
[0050] At 502, the computing device 104 receives the user operation 110 for controlling a virtual robot on an XR platform (for example, a robot training platform) from the user device 102. In some example embodiments, before the computing device 104 receives the user operation 110 from the user device 102, the computing device 104 may obtain the information associated with the virtual robot form a database storing a plurality of virtual robots comprising the virtual robot.
[0051] In some example embodiments, the information may comprise a 3D model of the robot. In some example embodiments, the information may comprise a 3D model of a factory where the robot is located. In some example embodiments, the information may comprise a 3D model of a working object. In some example embodiments, the information may comprise a 3D model of a controller of the robot. In some example embodiments, the information may comprise one or more of the above items.
[0052] At 504, the computing device 104 determines the control result 112 for the user operation 110 based on the user operation 110 and information associated with the virtual robot. In some example embodiments, the computing device 104 may determine (for example, by the control module 108) the control result of the robot operation based on the information if the user operation 110 comprises the robot operation for controlling the robot. In some example embodiments, the computing device 104 may obtain, by a web-based control module for controlling the robot (for example, by the control module 108) the robot operation 110. The control module 108 may determine an action to be performed by the robot based on at least one of the 3D model of the robot, the 3D model of the factory and the 3D model of the working object. The control module 108 may determine the action as the control result of the robot operation.
[0053] At 506, the computing device 104 may transmit, to the user device 102, the control result 112 to cause the user device 102 to present a rendered control result of the virtual robot. In some example embodiments, the computing device 104 may determine an ML model (for example, the ML model 106) based on a plurality of training manuals of a plurality of robots. In some example embodiments, the ML model 106 may receive, from the user device 102, a question associated with the virtual robot, and the ML model 106 may determine the answer to the question based on second information associated with a training manual of a robot corresponding to the virtual robots, and the ML model 106 may transmit the answer to the question to the user device 102.
[0054] In some example embodiments, the ML model 106 may determine the question associated with the virtual robot as a user query; retrieve, based on the user query, a context of the user query; generate, based on the user query and the context, the answer to the question; and outputting, to the user device 102, the answer to the question in a predetermined style and format.
[0055] In some example embodiments, the user device 102 may be a virtual reality (VR) device; an augmented reality (AR) device; a mixed reality (MR) device; or a computing device. In some example embodiments, the XR platform may be a WebXR platform, the control module may be a web-based control module, and at least one web-based control module and at least one ML model may be deployed in the WebXR platform.
[0056] In some example embodiments, if the user operation 110 for controlling the virtual robot causing an emergency for a real robot corresponding to the virtual robot, the computing device 104 may transmit an alert to the user device 102. In some example embodiments, the computing device 104 may obtain, from the user device 102, a second user operation for controlling a second virtual robot on the XR platform; and control the virtual robot based on the user operation and the second virtual robot based on the second user operation simultaneously.
[0057] By implementing the embodiments of the method 500, an online training platform for robots can reduce costs of providing training and enhance accessibility. In some example embodiments, it can allow for immersive and interactive training experiences which can be accessed in a friendly way, thereby overcoming geographical and logistical barriers.
[0058] Reference is made to FIG. 6, which illustrates a block diagram of an example apparatus 600 of controlling a virtual robot on a robot training platform in accordance with some embodiments of the present disclosure. The apparatus 600 comprises a receiving module 602 configured to receive, from an XR device, a user operation for controlling the virtual robot on an XR platform. The apparatus 600 further comprises a determining module 604 configured to determine, by the XR platform, a control result for the user operation based on the user operation and information associated with the virtual robot. The apparatus 600 further comprises a transmitting module 606 configured to transmit, to the XR device, the control result to cause the XR device to present a rendered control result of the virtual robot.
[0059] In some example embodiments, the apparatus 600 further comprises a first module configured to prior to receiving the user operation, obtain the information associated with the virtual robot form a database storing a plurality of virtual robots comprising the virtual robot.
[0060] In some example embodiments, the second module may further comprise a second module configured to obtain the robot operation; a third module configured to determine an action to be performed by the robot based on at least one of the 3D model of the robot, the 3D model of the factory and the 3D model of the working object; and a fourth module configured to determine the action as the control result of the user operation.
[0061] In some example embodiments, the determining module 604 may further comprise a fifth module configured to determine an ML model based on a plurality of training manuals of a plurality of robots.
[0062] In some example embodiments, the apparatus 600 further comprises a sixth module configured to receive, from the XR device, a question associated with the virtual robot; a seventh module configured to determine the answer to the question based on second information associated with a training manual of a robot corresponding to the virtual robots; an eighth module configured to transmit the answer to the question to the XR device.
[0063] In some example embodiments, the seventh module may further comprise a ninth module configured to determine the question associated with the robot as a user query; a tenth module configured to retrieve, based on the user query, a context of the user query; a eleventh module configured to generate, based on the user query and the context, the answer to the question; and an twelfth module configured to output by the ML model and to the user device, the answer to the question in a predetermined style and format.
[0064] In some example embodiments, the apparatus 600 further comprises a thirteenth module configured to transmit an alert to the user device 102 if the user operation 110 for controlling the virtual robot causing an emergency for a real robot corresponding to the virtual robot.
[0065] In some example embodiments, the apparatus 600 further comprises a fourteenth module configured to obtain, from the XR device, a second user operation for controlling a second virtual robot on the XR platform; and a fifteenth module configured to control the virtual robot based on the user operation and the second virtual robot based on the second user operation simultaneously.
[0066] By implementing the example embodiments of FIG. 6, similarly, it can provide an online training platform for robots which can reduce costs of providing training and enhance accessibility. In some example embodiments, it can allow for immersive and interactive training experiences which can be accessed friendly and easily, and thus removing geographical and logistical barriers.
[0067] Reference is made to FIG. 7, which illustrates a block diagram illustrating an electronic device 700 in accordance with some embodiments of the present disclosure. As indicated, the device 700 includes a central processing unit (CPU) 701, which can execute various appropriate actions and processing based on the computer program instructions stored in a read-only memory (ROM) 702 or the computer program instructions loaded into a random-access memory (RAM) 703 from a storage unit 708. The RAM 703 also stores all kinds of programs and data required by operating the electronics device 700. CPU 701, ROM 702 and RAM 703 are connected to each other via a bus 704, to which an input / output (I / O) interface 705 is also connected.
[0068] A plurality of components in the device 700 are connected to the I / O interface 705, comprising: an input unit 706, such as a keyboard, a mouse and the like; an output unit 707, such as various types of displays, loudspeakers and the like; a storage unit 708, such as a storage disk, an optical disk and the like; and a communication unit 709, such as a network card, a modem, a wireless communication transceiver and the like. The communication unit 709 allows the device 700 to exchange information / data with other devices through computer networks such as Internet and / or various telecommunication networks.
[0069] Each procedure and processing described above, such as the method 500, can be executed by a processing unit 701. For example, in some embodiments, the method 700 can be implemented as computer software programs, which are tangibly included in a computer-readable medium, such as a storage unit 708. In some embodiments, the computer-readable medium is a non-transitory computer-readable medium. In some embodiments, the computer program can be partially or completely loaded and / or installed to the device 700 via the ROM 702 and / or the communication unit 709. When the computer program is loaded to the RAM 703 and executed by the CPU 701, one or more steps of the above described method 500 are implemented. Alternatively, in other embodiments, the CPU 701 may also be configured in any proper manner to implement the above process / method.
[0070] The present disclosure may be a method, a device, a system and / or a computer program product. The computer program product can include a computer-readable storage medium loaded with computer-readable program instructions thereon for executing various aspects of the present disclosure.
[0071] The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination thereof. More specific examples (anon-exhaustive list) of the computer readable storage medium would include: a portable computer diskette, a hard disk, a random access memory (RAM) , a read-only memory (ROM) , an erasable programmable read-only memory (EPROM or Flash memory) , a static random access memory (SRAM) , a portable compact disc read-only memory (CD-ROM) , a digital versatile disk (DVD) , a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination thereof. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable) , or electrical signals transmitted through a wire.
[0072] Computer readable program instructions described herein can be downloaded to respective computing / processing devices from a computer readable storage medium, or downloaded to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and / or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and / or edge servers. A network adapter card or network interface in each computing / processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing / processing device.
[0073] Computer readable program instructions for carrying out operations of the present disclosure may be assembly instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN) , or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider) . In some embodiments, by means of state information of the computer readable program instructions, an electronic circuitry including, for example, programmable logic circuitry (PLC) , field-programmable gate arrays (FPGA) , or programmable logic arrays (PLA) can be personalized to execute the computer readable program instructions, thereby implementing various aspects of the present disclosure.
[0074] Aspects of the present disclosure are described herein with reference to flowchart and / or block diagrams of methods, apparatus (systems) , and computer program products according to embodiments of the present disclosure. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer readable program instructions.
[0075] These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which are executed via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and / or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function / act specified in the flowchart and / or block diagram block or blocks.
[0076] The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which are executed on the computer, other programmable apparatus, or other device implement the functions / acts specified in the flowchart and / or block diagram block or blocks.
[0077] The flowchart and block diagrams illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, snippet, or portion of codes, which comprises one or more executable instructions for implementing the specified logical function (s) . In some alternative implementations, the functions noted in the block may be implemented in an order different from those illustrated in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and / or flowchart illustration, and combinations of blocks in the block diagrams and / or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or by combinations of special purpose hardware and computer instructions.
[0078] Further, while operations are depicted in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Likewise, while several specific implementation details are contained in the above discussions, these should not be construed as limitations on the scope of the present disclosure, but rather as descriptions of features that may be specific to particular embodiments. Certain features that are described in the context of separate embodiments may also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment may also be implemented in multiple embodiments separately or in any suitable sub-combination.
[0079] A person of ordinary skill in the art may be aware that, in combination with the examples described in the embodiments disclosed in this specification, units and algorithm steps can be implemented by electronic hardware or a combination of computer software and electronic hardware. Whether the functions are performed by hardware or software depends on particular applications and design constraints of the technical solutions. A person skilled in the art may use different methods to implement the described functions for each particular application, but it should not be considered that the implementation goes beyond the scope of this application.
[0080] It may be clearly understood by a person skilled in the art that, for the purpose of convenient and brief description, for a detailed working process of the foregoing system, apparatus, and unit, refer to a corresponding process in the foregoing method embodiment. Details are not described herein again.
[0081] In the several embodiments provided in this application, it should be understood that the disclosed system, apparatus, and method may be implemented in other manners. For example, the described apparatus embodiment is merely an example. For example, the unit division is merely logical function division and may be other division in actual implementation. For example, a plurality of units or components may be combined or integrated into another system, or some features may be ignored or not performed. In addition, the displayed or discussed mutual couplings or direct couplings or communication connections may be implemented through some interfaces. The indirect couplings or communication connections between the apparatuses or units may be implemented in electronic, mechanical, or other forms.
[0082] The units described as separate parts may be or may not be physically separate, and parts displayed as units may be or may not be physical units, may be located in one position, or may be distributed on a plurality of network units. Some or all of the units may be selected based on actual requirements to achieve the objectives of the solutions of the embodiments.
[0083] In addition, functional units in the embodiments of this application may be integrated into one processing unit, or each of the units may exist alone physically, or two or more units are integrated into one unit.
[0084] When the functions are implemented in a form of a software functional unit and sold or used as an independent product, the functions may be stored in a computer readable storage medium. Based on such an understanding, the technical solutions in this application essentially, or the part contributing to the prior art, or some of the technical solutions may be implemented in a form of a software product. The computer software product is stored in a storage medium, and includes several instructions for instructing a computer device (which may be a personal computer, a server, a network device, or the like) to perform all or some of the steps of the methods described in the embodiments of this application. The foregoing storage medium includes: any medium that can store program code, such as a USB flash drive, a removable hard disk, a read-only memory (Read-Only Memory, ROM) , a random access memory (Random Access Memory, RAM) , a magnetic disk, or an optical disc.
[0085] The foregoing descriptions are merely specific implementations of this application, but are not intended to limit the protection scope of this application. Any variation or replacement readily figured out by a person skilled in the art within the technical scope disclosed in this application shall fall within the protection scope of this application. Therefore, the protection scope of this application shall be subject to the protection scope of the claims.
Claims
1.A method of controlling a virtual robot on a robot training platform, comprising:receiving, from an extended reality (XR) device, a user operation for controlling the virtual robot on an XR platform;determining, by the XR platform, a control result for the user operation based on the user operation and information associated with the virtual robot; andtransmitting, to the XR device, the control result to cause the XR device to present a rendered control result of the virtual robot.2.The method of claim 1, wherein prior to receiving the user operation for controlling the virtual robot, the method further comprises:obtaining the information associated with the virtual robot form a database storing a plurality of virtual robots comprising the virtual robot.3.The method of claim 2, wherein the information comprises at least one of the following:a three-dimensional (3D) model of the virtual robot;a 3D model of a factory where the virtual robot is located;a 3D model of a working object; ora 3D model of a controller of the virtual robot.4.The method of claim 3, wherein determining, by the XR platform, the control result for the user operation based on the user operation and the information associated with the virtual robot comprises:obtaining, by a control module on the XR platform, the user operation;determining, by the control module, an action to be performed by the virtual robot based on at least one of the 3D model of the virtual robot, the 3D model of the factory and the 3D model of the working object; anddetermining, by the control module, the action as the control result of the user operation.5.The method of claim 1, further comprising:determining a machine learning (ML) model based on a plurality of training manuals of a plurality of robots.6.The method of claim 5, further comprising:receiving, by the ML model and from the XR device, a question associated with the virtual robot;determining, by the ML model, the answer to the question based on second information associated with a training manual of a robot corresponding to the virtual robots; andtransmitting the answer to the question to the XR device.7.The method of claim 6, wherein determining, by the ML model, the answer to the question comprises:determining, by the ML model, the question associated with the virtual robot as a user query;retrieving, by the ML model and based on the user query, a context of the user query;generating, by the ML model and based on the user query and the context, the answer to the question; andoutputting by the ML model and to the XR device, the answer to the question in a predetermined style and format.8.The method of claim 1, further comprising:in response to the user operation for controlling the virtual robot causing an emergency for a real robot corresponding to the virtual robot, transmitting an alert to the XR device.9.The method of claim 1, further comprising:obtaining, from the XR device, a second user operation for controlling a second virtual robot on the XR platform; andand method further comprises:controlling the virtual robot based on the user operation and the second virtual robot based on the second user operation simultaneously.10.The method of claim 1, wherein the XR device comprises at least one of the following:a virtual reality (VR) device;an augmented reality (AR) device;a mixed reality (MR) device; ora computing device.11.The method of claim 1, wherein the XR platform is a WebXR platform, the control module is a web-based control module, and wherein at least one web-based control module and at least one ML model are deployed in the WebXR platform.12.An apparatus of controlling a virtual robot on a robot training platform, comprising:a receiving module configured to receive, from an extended reality (XR) device, a user operation for controlling the virtual robot on an XR platform;a determining module configured to determine, by the XR platform, a control result for the user operation based on the user operation and information associated with the virtual robot; anda transmitting module configured to transmit, to the XR device, the control result to cause the XR device to present a rendered control result of the virtual robot.13.An electronic device, comprising:a processor; anda memory coupled to the processor, wherein the memory has instructions stored therein, and the instructions, when executed by the processor, cause the device to execute actions of any of claims 1-11.14.A computer-readable medium having instructions stored therein, which when executed by a processor, cause the processor to perform a method of any of claims 1-11.15.A computer program product having instructions stored therein, which when executed by a processor, cause the processor to perform a method of any of claims 1-11.
Citation Information
Patent Citations
Human-computer interaction method and system applied to intelligent robot
CN107870994A
Augmented reality based robot demonstration representation method and device
CN108161882A
Robot online teaching device, system, method and equipment base on reality enhancing
CN108161904A
Cloud management system based on chatbot and operating method thereof
CN109760041A
Robot teaching method, device and equipment and computer readable storage medium
CN116079703A