WO2022095653A1 - Robot ability debugging method, apparatus, storage medium, and electronic device - Google Patents

Robot ability debugging method, apparatus, storage medium, and electronic device Download PDF

Info

Publication number
WO2022095653A1
WO2022095653A1 PCT/CN2021/122361 CN2021122361W WO2022095653A1 WO 2022095653 A1 WO2022095653 A1 WO 2022095653A1 CN 2021122361 W CN2021122361 W CN 2021122361W WO 2022095653 A1 WO2022095653 A1 WO 2022095653A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
skill
debugging
virtual object
virtual
Prior art date
Application number
PCT/CN2021/122361
Other languages
French (fr)
Chinese (zh)
Inventor
曹晓康
马世奎
Original Assignee
达闼机器人股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 达闼机器人股份有限公司 filed Critical 达闼机器人股份有限公司
Publication of WO2022095653A1 publication Critical patent/WO2022095653A1/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/0095Means or methods for testing manipulators

Definitions

  • the present application relates to the field of robot skill development, and in particular, to a robot skill debugging method, device, storage medium and electronic device.
  • robot applications are also becoming more mature and gradually extended to industrial production and home life neighborhoods.
  • a real robot is used to test and verify that the robotic skill performs the intended function or achieves the intended goal.
  • using the real robot for testing will interfere with skill debugging due to the instability of the robot hardware itself or the complexity of the test environment, making it difficult for developers to focus on skill development itself, thus spending more debugging time, which in turn affects Development efficiency of robotic skills.
  • embodiments of the present application provide a method, device, storage medium, and electronic device for debugging robot skills.
  • a method for debugging a robot skill includes: acquiring a robot skill; loading the robot skill into a pre-established robot virtual object; starting a virtual simulation environment corresponding to the robot skill; In the simulation environment, the robot virtual object is used to perform the robot skills, and the debugging results corresponding to the robot skills are obtained.
  • starting the virtual simulation environment corresponding to the robot skill includes: obtaining an environment variable value corresponding to the robot skill; setting the virtual simulation environment according to the environment variable value; and starting the set virtual simulation environment.
  • using a robot virtual object to perform a robot skill, and obtaining a debugging result corresponding to the robot skill includes: loading a robot virtual object in the virtual simulation environment; using the robot virtual object to perform a robot skill Obtain the first result; obtain the expected result corresponding to the robot skill; compare the first result and the expected result to obtain the debugging result corresponding to the robot skill.
  • using a robot virtual object to perform a robot skill to obtain a first result includes: when a first virtual object performs a first operation, in response to the first operation, using the robot virtual object to perform all the robot skill to obtain the first result corresponding to the first operation.
  • the method when the robot virtual object executes the robot skill, the method further includes: performing a second operation to pause or continue executing the robot skill.
  • the method before the robot virtual object executes the robot skill, the method further includes: setting target variables required for executing the robot skill.
  • a robot-based debugging device comprising: a robot skill acquisition module configured to acquire robot skills; a robot skills loading module configured to load robot skills into a pre-established robot virtual machine In the object; the virtual simulation environment startup module is configured to start the virtual simulation environment corresponding to the robot skills; the robot skills debugging module is configured to use the robot virtual object to execute the robot skills in the virtual simulation environment, and obtain the debugging results corresponding to the robot skills.
  • the virtual simulation environment startup module includes: an environment variable value acquisition sub-module, configured to obtain an environment variable value corresponding to the robot skill; an environment variable value setting sub-module, configured to The simulation environment is set; the virtual simulation environment starts the sub-module and is configured to start the virtual simulation environment after the setting.
  • the robot skill debugging module includes: a robot virtual object loading submodule, configured to load a robot virtual object in a virtual simulation environment; a robot skill execution submodule, configured to use the robot virtual object to execute the robot skill to obtain The first result; the expected result obtaining sub-module is configured to obtain the expected result corresponding to the robot skill; the debugging result obtaining sub-module is configured to compare the first result and the expected result to obtain the debugging result corresponding to the robot skill.
  • the robot skill execution sub-module is configured to: when a first virtual object performs a first operation, in response to the first operation, use the robot virtual object to perform the robot skill to obtain the first result corresponding to the first operation.
  • the robot skill execution sub-module further includes: a second operation execution unit configured to execute a second operation to pause or continue executing the robot skill.
  • the robot skill execution sub-module further includes: a target variable setting unit configured to set target variables required for executing the robot skill.
  • a computer storage medium is provided, and program instructions are stored on the computer storage medium, wherein the program instructions implement any one of the above-mentioned methods for debugging robot skills when running.
  • an electronic device including a processor and a memory storing execution instructions.
  • the processor executes the execution instructions stored in the memory, the processor executes the above-mentioned execution instructions.
  • the robot skill debugging method of any one.
  • Embodiments of the present application provide a method, device, storage medium, and electronic device for debugging a robot skill.
  • the method includes: first, acquiring a robot skill; next, loading the robot skill into a pre-established robot virtual object; then, starting the robot The virtual simulation environment corresponding to the skills; then, in the virtual simulation environment, the robot skills are executed by using the robot virtual objects, and the debugging results corresponding to the robot skills are obtained.
  • the robot skills are debugged by using the robot virtual objects to perform the robot skills in the virtual simulation environment without using the real robot and the real environment, thereby greatly reducing the interference of external factors such as the real robot and the real environment on the debugging of the robot skills. , allowing developers to focus more on the development of robot skills, greatly shortening development and debugging time, reducing development costs and improving development efficiency.
  • Fig. 1 is the basic realization flow schematic diagram of the robot skill debugging method of the embodiment of the application
  • FIG. 2 is a schematic diagram of a specific implementation flow of the first application of the robot skill debugging method according to the embodiment of the present application;
  • FIG. 3 is a schematic diagram of a specific implementation flow of another application of the robot skill debugging method according to the embodiment of the present application;
  • FIG. 4 is a schematic structural diagram of a robot skill debugging device according to an embodiment of the present application.
  • first and second are only used for descriptive purposes, and should not be construed as indicating or implying relative importance or implying the number of indicated technical features. Thus, a feature delimited with “first”, “second” may expressly or implicitly include at least one of that feature.
  • plurality means two or more, unless otherwise expressly and specifically defined.
  • FIG. 1 shows a schematic diagram of a basic implementation flow of a robot skill debugging method according to an embodiment of the present application.
  • an embodiment of the present application provides a method for debugging robot skills. The method includes: operation 110, acquiring robot skills; operation 120, loading robot skills into a pre-established robot virtual object; operation 130, starting the robot A virtual simulation environment corresponding to the skill; in operation 140, in the virtual simulation environment, the robot skill is executed by using the robot virtual object, and a debugging result corresponding to the robot skill is obtained.
  • the robot skills mainly refer to skills that the robot can perform to realize a specific function, such as face recognition skills, greeting skills, indoor navigation skills, and the like.
  • it mainly refers to a piece of computer program code that implements robotic skills.
  • the code can be a piece of code embedded in a computer program run by the robot, or an automated script program that can be executed independently, or a plug-and-play functional module implemented by computer program code.
  • the robot skill obtained here is the object to be debugged by the robot skill debugging method of the embodiment of the present application, and the robot skill debugging method of the embodiment of the present application is to verify whether the robot skill has achieved the target of the expected design, and realized the user's needs. .
  • the pre-established robot virtual object generally refers to a digital model that can load the robot skill to be debugged and simulate the real robot to perform the robot skill in digital form.
  • the robot virtual object is similar to a virtual character in a computer, and various behaviors of the robot in the real world are simulated through a computer program, including the behavior pattern and specific actions of the robot.
  • it can be implemented based on the 3D engine provided by a third party as a development tool and development platform, such as unreal engine and unity. Taking the unreal engine as an example, it can be realized by programming a spawn character or actor.
  • the main process of building a robot virtual object includes:
  • these pre-built entity models are digital models constructed according to the appearance characteristics and physical properties of a certain type of entity in the real world.
  • a skill library corresponding to these entity models is also set up.
  • the skills in the skill library can be used to simulate some basic skills possessed by such entities, and the robot skills to be tested can also be used as a skill in the skill library.
  • a solid model such as a robot, it not only has the appearance of a robot, such as human-like facial features and limbs, but also has basic skills such as vision, hearing, language, movement, and waving.
  • the basic skills selected here do not need to include all the skills of the real robot, but only the skills required for debugging. In this way, other irrelevant skills loaded in the real robot can be greatly reduced. Possible interference from the skill to be debugged.
  • the specific implementation method of loading the robot skills into the pre-established robot virtual objects mainly depends on the specific implementation methods of the robot skills and the robot virtual objects. For example, if the robot skill is a piece of code in a computer program run by the robot virtual object, it is enough to update the computer program run by the robot virtual object to the latest program that includes this piece of code; if the robot skill is a piece of code that can be executed independently If the robot skill is a plug-and-play function module, you can recompile and load the module.
  • This operation is similar to installing or updating the robot skill program to be debugged on the real robot.
  • the robot virtual object is used to replace the real robot for debugging, which can save the resources of the real robot, avoid some physical faults in the real robot or other unrelated skills problems that may arise from the skills debugging to be carried out. Interference can greatly simplify the debugging process, shorten the debugging time, and correspondingly, greatly shorten the development cycle and operation and maintenance cost of robot skills. In addition, you can also use the robot virtual object to perform debugging in extreme scenarios without worrying about robot damage caused by debugging.
  • the virtual simulation environment corresponding to the robot skill is a virtual environment for simulating a certain scene of the robot performing the robot skill in the real world. For example, the lobby where the robot is placed, the interior of a building where the robot is used to navigate, etc.
  • the virtual simulation environment can also usually be implemented based on development tools and development platforms provided by third parties, such as, for example, unreal engine and unity. Taking the unreal engine as an example, you can start the virtual simulation environment by running the unreal engine and simulate a scene through a certain Blueprints Level.
  • the virtual simulation environment is used to replace the real scene in which the robot is placed to perform debugging, which reduces the link of arranging and selecting the real environment, and greatly reduces the possible interference of various complex factors in the real environment on debugging, so that it can greatly
  • the debugging process is simplified, the debugging time is shortened, and accordingly, the development cycle and operation and maintenance cost of robot skills are greatly shortened.
  • debugging of some extreme scenarios can also be performed in a virtual environment without worrying about the damage to the scene due to debugging skills.
  • the principle and process of using the robot virtual object to perform robot skills are very similar to the principle and process of the game character controller controlling the game character to use various skills to perform corresponding operations in the game scene, All through an action, for example, by using a certain skill corresponding to an action on a button in a gamepad.
  • the process of executing the robot skills may not trigger a physical key or button, but by sending an instruction representing an intention or a signal simulating a certain ray detection result to trigger the robot virtual Objects perform robotic skills, and in this way, it is even possible to automate the debug process directly to debug results without human intervention or interaction.
  • starting the virtual simulation environment corresponding to the robot skill includes: obtaining an environment variable value corresponding to the robot skill; setting the virtual simulation environment according to the environment variable value; and starting the set virtual simulation environment.
  • some robot skills also need to specify a specific geographic location or a specified time for debugging.
  • a specific geographic location or a specified time in the real world can be simulated by setting the environment variable value corresponding to the robot skill, for example, virtual location, virtual time, etc., and then the set virtual simulation environment is started.
  • using a robot virtual object to perform a robot skill, and obtaining a debugging result corresponding to the robot skill includes: loading a robot virtual object in the virtual simulation environment; using the robot virtual object to perform a robot skill Obtain the first result; obtain the expected result corresponding to the robot skill; compare the first result and the expected result to obtain the debugging result corresponding to the robot skill.
  • the loading of the robot virtual object in the virtual simulation environment is similar to adding a game character to the computer, which can usually be realized by loading the robot virtual object in the virtual simulation environment.
  • the loading method may be to add the robot virtual object to the virtual simulation environment corresponding to the robot skill during development, so that when the virtual simulation environment is started, the robot virtual object will be automatically loaded;
  • the loading of the robot virtual object is associated with a certain event or a certain operation, so that after starting the virtual simulation environment, the loading of the robot virtual object can be triggered by a certain event or a certain operation.
  • the first result is the actual result obtained by the robot virtual object performing the robot skill in the virtual simulation environment, and the debugging result is usually obtained by comparing this actual result with the expected result that should be achieved by executing the robot skill. If the actual results obtained by the robot virtual object executing the robot skills are consistent with the expected results that should be achieved by executing the robot skills, it means that the computer program for realizing the robot skills has achieved the expected goals, and the debugging result is passed; if the robot virtual object executes the robot skills If the actual results are inconsistent with the expected results that should be achieved by executing the robot skills, it means that there is a problem with the computer program of the robot skills, and the debugging result is not passed. It is also necessary to find the specific cause of the problem and solve the problem by modifying the program or related configuration.
  • using a robot virtual object to perform a robot skill to obtain a first result includes: when a first virtual object performs a first operation, in response to the first operation, using the robot virtual object to perform all the robot skill to obtain the first result corresponding to the first operation.
  • the first virtual object is used to simulate a person or thing in the real world in a virtual simulation environment, and simulates the specific behavior of the person or thing in the real world by causing the first virtual object to perform a first operation.
  • the first virtual object may be pre-created or dynamically created as required. For example, if the robot to be debugged is a greeting skill, a guest virtual object is required to approach the robot virtual object, and the robot virtual object responds to the operation of the virtual object approaching the robot virtual object and judges based on the distance to the guest virtual object. Are you going to say hello?
  • the method when the robot virtual object executes the robot skill, the method further includes: performing a second operation to pause or continue executing the robot skill.
  • the programmer can set breakpoints in the program for realizing robotic skills to track variables.
  • the computer program executes to the breakpoint, it will automatically pause for the programmer to check the value of each variable in order to understand the execution state, find the trigger the corresponding cause of the problem.
  • the method before the robot virtual object executes the robot skill, the method further includes: setting target variables required for executing the robot skill.
  • robotic skills need to achieve a specified goal, such as navigating to a specific location.
  • the above requirements can be met by specifying a target variable, for example, a virtual position specified according to virtual coordinates. Compared with using a real robot to determine a specific position in the real world and place it in a real field, it is easier to simulate various complex terrain structures and position navigation in various extreme scenarios in a virtual simulation environment .
  • the skill to be tested is the skill to greet people in the right place when they appear. If you use the test robot to test this skill, you usually need to place the test robot in the welcome area, wait for the guests to approach the test robot, and monitor the distance between the guests and the test robot, so as to determine whether the robot is actively moving within the expected distance. Make a gesture of hello to the guests.
  • the welcome places in the real world are usually complex, there will be many people and objects, which will not only trigger the robot's greeting skills, but also may trigger other skills such as robot dialogue and guidance, which will obviously lead to debugging. The time is prolonged, and a lot of irrelevant data is generated, which increases the workload of filtering relevant information from it for debugging.
  • Step 2020 acquiring the greeting skill and loading it onto the robot virtual object
  • Step 2030 start the welcome virtual environment and load the robot virtual object
  • Step 2040 using the ray detection mechanism to trigger the face recognition intention of the skill
  • This step can trigger the robot virtual object to start performing the greeting skill.
  • Step 2050 creating a guest virtual object in the welcoming virtual environment, and making the guest virtual object close to the robot virtual object;
  • Step 2060 detect the distance between the virtual object of the guest and the virtual object of the robot, and determine whether the robot makes a corresponding behavior according to the distance of the guest, if so, continue to step 2070, if not, continue to step 2080;
  • Step 2070 determine whether to continue debugging, if so, go back to step 2050, create a new guest virtual object and perform debugging again, if not, end this execution;
  • Step 2080 modify the computer program and related configuration for implementing the greeting skill, and then return to step 2020 to reload the modified greeting skill, and perform debugging again.
  • the robot skill to be tuned is the navigation skill that gets the robot to the target location. If the test robot is used to test the skill, it is usually necessary to place the test robot in a specific area, specify a position in this area, and then monitor the travel path of the test robot, and after reaching the end point, judge whether the robot reaches the specified position. s position. In this process, a real navigation area is needed, and there will be many people and objects in the navigation area in the real world, which will not only trigger the skills of the robot to say hello, but also may trigger other skills such as robot dialogue and guidance. Obviously It will prolong the debugging time and generate a lot of irrelevant data, increasing the workload of filtering relevant information from it. If these interference factors are to be removed, a dedicated test site is required, which not only limits the adjustable scenarios, but also introduces additional overhead.
  • Step 3010 create a robot virtual object
  • Step 3020 obtain the navigation skill and load it onto the robot virtual object
  • Step 3030 setting the specific area information of the virtual environment and setting the initial position information of the robot through virtual coordinates;
  • Step 3040 start the navigation virtual environment and load the robot virtual object
  • Step 3050 setting the target position of the navigation through virtual coordinates, and sending the navigation intention including the target position to the robot;
  • This step can trigger the robot avatar to begin performing navigation skills.
  • Step 3060 determine whether the position reached by the virtual object of the robot is consistent with the target position, if so, proceed to step 3070, if not, proceed to step 3080;
  • Step 3070 judge whether to continue debugging, if so, go back to step 3050, set a new target position and carry out debugging again, if not, end this execution;
  • Step 3080 modify the computer program and related configuration for realizing the navigation skill, then go back to step 3020 to reload the modified navigation skill, and perform debugging again.
  • a robot-based debugging device includes: a robot skill acquisition module 401 configured to acquire robot skills; a robot skills loading module 402 configured to The robot skills are loaded into the pre-established robot virtual objects; the virtual simulation environment startup module 403 is configured to start the virtual simulation environment corresponding to the robot skills; the robot skills debugging module 404 is configured to use the robot virtual objects to execute the robot in the virtual simulation environment skills, and get the debugging results corresponding to the robot skills.
  • the virtual simulation environment startup module 403 includes: an environment variable value acquisition sub-module, configured to acquire an environment variable value corresponding to the robot skill; an environment variable value setting sub-module, configured to pair according to the environment variable value The virtual simulation environment is set; the virtual simulation environment starts the sub-module and is configured to start the virtual simulation environment after the setting.
  • the robot skill debugging module 404 includes: a robot virtual object loading submodule, configured to load a robot virtual object in a virtual simulation environment; a robot skill execution submodule, configured to use the robot virtual object to execute robot skills The first result is obtained; the expected result obtaining sub-module is configured to obtain the expected result corresponding to the robot skill; the debugging result obtaining sub-module is configured to compare the first result and the expected result to obtain the debugging result corresponding to the robot skill.
  • the robot skill execution sub-module is configured to: when a first virtual object performs a first operation, in response to the first operation, use the robot virtual object to perform the robot skill to obtain the first result corresponding to the first operation.
  • the robot skill execution sub-module further includes: a second operation execution unit configured to execute a second operation to pause or continue executing the robot skill.
  • the robot skill execution sub-module further includes: a target variable setting unit configured to set target variables required for executing the robot skill.
  • a computer storage medium is provided, and program instructions are stored on the computer storage medium, wherein the program instructions implement any one of the above-mentioned methods for debugging robot skills when running.
  • an electronic device including a processor and a memory storing execution instructions.
  • the processor executes the execution instructions stored in the memory, the processor executes the above-mentioned execution instructions.
  • the robot skill debugging method of any one.
  • the disclosed apparatus and method may be implemented in other manners.
  • the device embodiments described above are only illustrative.
  • the division of units is only a logical function division. In actual implementation, there may be other division methods.
  • multiple units or components may be combined or integrated. to another device, or some features can be ignored, or not implemented.
  • the coupling, or direct coupling, or communication connection between the components shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or units may be electrical, mechanical or other forms. of.
  • the unit described above as a separate component may or may not be physically separated, and the component displayed as a unit may or may not be a physical unit; it may be located in one place or distributed to multiple network units; Some or all of the units may be selected according to actual needs to achieve the purpose of the solution in this embodiment.
  • each functional unit in each embodiment of the present application may all be integrated into one processing unit, or each unit may be separately used as a unit, or two or more units may be integrated into one unit; the above integration
  • the unit can be implemented either in the form of hardware or in the form of hardware plus software functional units.
  • the aforementioned program can be stored in a computer-readable storage medium, and when the program is executed, the execution includes: The steps of the above method embodiments; and the aforementioned storage medium includes: a removable storage medium, a read only memory (Read Only Memory, ROM), a magnetic disk or an optical disk and other media that can store program codes.
  • ROM Read Only Memory
  • the above-mentioned integrated units of the present application are implemented in the form of software function modules and sold or used as independent products, they may also be stored in a computer-readable storage medium.
  • the computer software products are stored in a storage medium and include several instructions for A computer device (which may be a personal computer, a server, or a network device, etc.) is caused to execute all or part of the methods of the various embodiments of the present application.
  • the aforementioned storage medium includes: a removable storage medium, a ROM, a magnetic disk, or an optical disk, and other media that can store program codes.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Debugging And Monitoring (AREA)

Abstract

A robot ability debugging method, an apparatus, a storage medium, and an electronic device. The robot ability debugging method comprises: first, acquiring a robot ability (110); then, loading the robot ability into a pre-established robot virtual object (120); subsequently, starting a virtual simulation environment corresponding to the robot ability (130); next, using the robot virtual object to execute the robot ability in the virtual simulation environment, and obtaining a debugging result corresponding to the robot ability (140).

Description

一种机器人技能调试方法、装置、存储介质及电子设备A robot skill debugging method, device, storage medium and electronic device
相关申请的交叉引用CROSS-REFERENCE TO RELATED APPLICATIONS
本申请基于申请号为202011223675.4、申请日为2020年11月05日的中国专利申请提出,并要求中国专利申请的优先权,该中国专利申请的全部内容在此引入本申请作为参考。This application is based on the Chinese patent application with the application number of 202011223675.4 and the filing date of November 05, 2020, and claims the priority of the Chinese patent application. The entire content of the Chinese patent application is incorporated herein by reference.
技术领域technical field
本申请涉及机器人技能开发领域,尤其涉及一种机器人技能调试方法、装置、存储介质及电子设备。The present application relates to the field of robot skill development, and in particular, to a robot skill debugging method, device, storage medium and electronic device.
背景技术Background technique
目前,随着图像识别、语音识别和自然语言理解等人工智能科技的不断发展和进步,机器人应用也日趋成熟并逐步推广到工业生产和家居生活邻域。At present, with the continuous development and progress of artificial intelligence technologies such as image recognition, speech recognition, and natural language understanding, robot applications are also becoming more mature and gradually extended to industrial production and home life neighborhoods.
通常在对新开发的机器人技能进行调试时,会使用机器人真机来测试和验证该机器人技能是否实现了预期的功能或达到了预期的目标。但使用机器人真机进行测试会因为机器人硬件本身存在的不稳定性、或测试环境的复杂性对技能调试产生干扰,使开发人员难于聚焦技能开发本身,从而花费较多的调试时间,进而影响到机器人技能的开发效率。Typically, when debugging a newly developed robotic skill, a real robot is used to test and verify that the robotic skill performs the intended function or achieves the intended goal. However, using the real robot for testing will interfere with skill debugging due to the instability of the robot hardware itself or the complexity of the test environment, making it difficult for developers to focus on skill development itself, thus spending more debugging time, which in turn affects Development efficiency of robotic skills.
因此,如何降低机器人真机及真实环境等外部因素对机器人技能调试的干扰,使机器人技能开发人更为聚焦技能本身的开发和调试,是机器人技能开发过程中亟需解决的一个技术问题。Therefore, how to reduce the interference of external factors such as the real robot and the real environment on the debugging of robot skills, so that the developers of robot skills can focus more on the development and debugging of the skills themselves, is a technical problem that needs to be solved urgently in the process of robot skills development.
发明内容SUMMARY OF THE INVENTION
针对以上问题,本申请实施例提供了一种机器人技能调试方法、装置、存储介质及电子设备。In view of the above problems, embodiments of the present application provide a method, device, storage medium, and electronic device for debugging robot skills.
根据本申请实施例的第一方面,提供一种机器人技能调试方法,该方法包 括:获取机器人技能;将机器人技能加载到预先建立的机器人虚拟对象中;启动机器人技能对应的虚拟仿真环境;在虚拟仿真环境中,利用机器人虚拟对象执行机器人技能,得到机器人技能对应的调试结果。According to a first aspect of the embodiments of the present application, a method for debugging a robot skill is provided, the method includes: acquiring a robot skill; loading the robot skill into a pre-established robot virtual object; starting a virtual simulation environment corresponding to the robot skill; In the simulation environment, the robot virtual object is used to perform the robot skills, and the debugging results corresponding to the robot skills are obtained.
根据本申请实施例一实施方式,启动机器人技能对应的虚拟仿真环境,包括:获取与机器人技能对应的环境变量值;根据环境变量值对虚拟仿真环境进行设置;启动设置后的虚拟仿真环境。According to an embodiment of the embodiment of the present application, starting the virtual simulation environment corresponding to the robot skill includes: obtaining an environment variable value corresponding to the robot skill; setting the virtual simulation environment according to the environment variable value; and starting the set virtual simulation environment.
根据本申请实施例一实施方式,在虚拟仿真环境中,利用机器人虚拟对象执行机器人技能,得到机器人技能对应的调试结果,包括:在虚拟仿真环境中加载机器人虚拟对象;利用机器人虚拟对象执行机器人技能得到第一结果;获取机器人技能对应的预期结果;比较第一结果和预期结果得到机器人技能对应的调试结果。According to an implementation manner of the embodiment of the present application, in a virtual simulation environment, using a robot virtual object to perform a robot skill, and obtaining a debugging result corresponding to the robot skill, includes: loading a robot virtual object in the virtual simulation environment; using the robot virtual object to perform a robot skill Obtain the first result; obtain the expected result corresponding to the robot skill; compare the first result and the expected result to obtain the debugging result corresponding to the robot skill.
根据本申请实施例一实施方式,利用机器人虚拟对象执行机器人技能得到第一结果,包括:当第一虚拟对象执行第一操作时,响应于所述第一操作,利用所述机器人虚拟对象执行所述机器人技能,以得到所述第一操作对应的第一结果。According to an embodiment of the embodiment of the present application, using a robot virtual object to perform a robot skill to obtain a first result includes: when a first virtual object performs a first operation, in response to the first operation, using the robot virtual object to perform all the robot skill to obtain the first result corresponding to the first operation.
根据本申请实施例一实施方式,在机器人虚拟对象执行机器人技能时,该方法还包括:执行第二操作,以暂停或继续执行机器人技能。According to an implementation manner of the embodiment of the present application, when the robot virtual object executes the robot skill, the method further includes: performing a second operation to pause or continue executing the robot skill.
根据本申请实施例一实施方式,在机器人虚拟对象执行机器人技能之前,该方法还包括:设置执行机器人技能所需的目标变量。According to an embodiment of the embodiment of the present application, before the robot virtual object executes the robot skill, the method further includes: setting target variables required for executing the robot skill.
根据本申请实施例的第二方面,提供一种基于机器人调试装置,该装置包括:机器人技能获取模块,配置为获取机器人技能;机器人技能加载模块,配置为将机器人技能加载到预先建立的机器人虚拟对象中;虚拟仿真环境启动模块,配置为启动机器人技能对应的虚拟仿真环境;机器人技能调试模块,配置为在虚拟仿真环境中,利用机器人虚拟对象执行机器人技能,得到机器人技能对应的调试结果。According to a second aspect of the embodiments of the present application, there is provided a robot-based debugging device, the device comprising: a robot skill acquisition module configured to acquire robot skills; a robot skills loading module configured to load robot skills into a pre-established robot virtual machine In the object; the virtual simulation environment startup module is configured to start the virtual simulation environment corresponding to the robot skills; the robot skills debugging module is configured to use the robot virtual object to execute the robot skills in the virtual simulation environment, and obtain the debugging results corresponding to the robot skills.
根据本申请实施例一实施方式,虚拟仿真环境启动模块包括:环境变量值获取子模块,配置为获取与机器人技能对应的环境变量值;环境变量值设置子 模块,配置为根据环境变量值对虚拟仿真环境进行设置;虚拟仿真环境启动子模块,配置为启动设置后的虚拟仿真环境。According to an embodiment of the embodiment of the present application, the virtual simulation environment startup module includes: an environment variable value acquisition sub-module, configured to obtain an environment variable value corresponding to the robot skill; an environment variable value setting sub-module, configured to The simulation environment is set; the virtual simulation environment starts the sub-module and is configured to start the virtual simulation environment after the setting.
根据本申请实施例一实施方式,机器人技能调试模块包括:机器人虚拟对象加载子模块,配置为在虚拟仿真环境中加载机器人虚拟对象;机器人技能执行子模块,配置为利用机器人虚拟对象执行机器人技能得到第一结果;预期结果获取子模块,配置为获取机器人技能对应的预期结果;调试结果获取子模块,配置为比较第一结果和预期结果得到机器人技能对应的调试结果。According to an embodiment of the embodiment of the present application, the robot skill debugging module includes: a robot virtual object loading submodule, configured to load a robot virtual object in a virtual simulation environment; a robot skill execution submodule, configured to use the robot virtual object to execute the robot skill to obtain The first result; the expected result obtaining sub-module is configured to obtain the expected result corresponding to the robot skill; the debugging result obtaining sub-module is configured to compare the first result and the expected result to obtain the debugging result corresponding to the robot skill.
根据本申请实施例一实施方式,机器人技能执行子模块配置为:当第一虚拟对象执行第一操作时,响应于所述第一操作,利用所述机器人虚拟对象执行所述机器人技能,以得到所述第一操作对应的第一结果。According to an embodiment of the embodiment of the present application, the robot skill execution sub-module is configured to: when a first virtual object performs a first operation, in response to the first operation, use the robot virtual object to perform the robot skill to obtain the first result corresponding to the first operation.
根据本申请实施例一实施方式,机器人技能执行子模块还包括:第二操作执行单元,配置为执行第二操作,以暂停或继续执行机器人技能。According to an embodiment of the embodiment of the present application, the robot skill execution sub-module further includes: a second operation execution unit configured to execute a second operation to pause or continue executing the robot skill.
根据本申请实施例一实施方式,机器人技能执行子模块还包括:目标变量设置单元,配置为设置执行机器人技能所需的目标变量。According to an embodiment of the embodiment of the present application, the robot skill execution sub-module further includes: a target variable setting unit configured to set target variables required for executing the robot skill.
根据本申请实施例的第三方面,提供一种计算机存储介质,在计算机存储介质上存储了程序指令,其中,程序指令在运行时实现上述任一项的机器人技能调试方法。According to a third aspect of the embodiments of the present application, a computer storage medium is provided, and program instructions are stored on the computer storage medium, wherein the program instructions implement any one of the above-mentioned methods for debugging robot skills when running.
根据本申请实施例的第四方面,提供一种电子设备,包括处理器以及存储有执行指令的存储器,当所述处理器执行所述存储器存储的所述执行指令时,所述处理器执行上述任一项所述的机器人技能调试方法。According to a fourth aspect of the embodiments of the present application, an electronic device is provided, including a processor and a memory storing execution instructions. When the processor executes the execution instructions stored in the memory, the processor executes the above-mentioned execution instructions. The robot skill debugging method of any one.
本申请实施例提供一种机器人技能调试方法、装置、存储介质及电子设备,该方法包括:首先,获取机器人技能;接下来,将机器人技能加载到预先建立的机器人虚拟对象中;之后,启动机器人技能对应的虚拟仿真环境;然后,在虚拟仿真环境中,利用机器人虚拟对象执行机器人技能,得到机器人技能对应的调试结果。如此,通过利用机器人虚拟对象在虚拟仿真环境下执行机器人技能的方式调试机器人技能,而无需使用机器人真机和真实环境,从而大大减少了机器人真机及真实环境等外部因素对机器人技能调试的干扰,使开发人员更 加聚焦机器人技能开发本身,大幅缩短了开发和调试时间,降低了开发成本,提高了开发效率。Embodiments of the present application provide a method, device, storage medium, and electronic device for debugging a robot skill. The method includes: first, acquiring a robot skill; next, loading the robot skill into a pre-established robot virtual object; then, starting the robot The virtual simulation environment corresponding to the skills; then, in the virtual simulation environment, the robot skills are executed by using the robot virtual objects, and the debugging results corresponding to the robot skills are obtained. In this way, the robot skills are debugged by using the robot virtual objects to perform the robot skills in the virtual simulation environment without using the real robot and the real environment, thereby greatly reducing the interference of external factors such as the real robot and the real environment on the debugging of the robot skills. , allowing developers to focus more on the development of robot skills, greatly shortening development and debugging time, reducing development costs and improving development efficiency.
需要理解的是,本申请的教导并不需要实现上面所述的全部有益效果,而是特定的技术方案可以实现特定的技术效果,并且本申请的其他实施方式还能够实现上面未提到的有益效果。It should be understood that the teachings of the present application do not need to achieve all the above-mentioned beneficial effects, but specific technical solutions can achieve specific technical effects, and other embodiments of the present application can also achieve the beneficial effects not mentioned above. Effect.
附图说明Description of drawings
通过参考附图阅读下文的详细描述,本申请示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本申请的若干实施方式,其中:The above and other objects, features and advantages of exemplary embodiments of the present application will become readily understood by reading the following detailed description with reference to the accompanying drawings. In the accompanying drawings, several embodiments of the present application are shown by way of example and not limitation, wherein:
在附图中,相同或对应的标号表示相同或对应的部分。In the drawings, the same or corresponding reference numerals denote the same or corresponding parts.
图1为本申请实施例机器人技能调试方法的基本实现流程示意图;Fig. 1 is the basic realization flow schematic diagram of the robot skill debugging method of the embodiment of the application;
图2为本申请实施例机器人技能调试方法一应用的具体实现流程示意图;2 is a schematic diagram of a specific implementation flow of the first application of the robot skill debugging method according to the embodiment of the present application;
图3为本申请实施例机器人技能调试方法另一应用的具体实现流程示意图;3 is a schematic diagram of a specific implementation flow of another application of the robot skill debugging method according to the embodiment of the present application;
图4为本申请实施例机器人技能调试装置的组成结构示意图。FIG. 4 is a schematic structural diagram of a robot skill debugging device according to an embodiment of the present application.
具体实施方式Detailed ways
为使本申请的目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而非全部实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。In order to make the purpose, features and advantages of the present application more obvious and understandable, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present application. Obviously, the described The embodiments are only a part of the embodiments of the present application, but not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative efforts shall fall within the protection scope of this application.
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中 以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。In the description of this specification, description with reference to the terms "one embodiment," "some embodiments," "example," "specific example," or "some examples", etc., mean specific features described in connection with the embodiment or example , structure, material or feature is included in at least one embodiment or example of the present application. Furthermore, the particular features, structures, materials or characteristics described may be combined in any suitable manner in any one or more embodiments or examples. Furthermore, those skilled in the art may combine and combine the different embodiments or examples described in this specification, as well as the features of the different embodiments or examples, without conflicting each other.
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。In addition, the terms "first" and "second" are only used for descriptive purposes, and should not be construed as indicating or implying relative importance or implying the number of indicated technical features. Thus, a feature delimited with "first", "second" may expressly or implicitly include at least one of that feature. In the description of the present application, "plurality" means two or more, unless otherwise expressly and specifically defined.
图1示出了本申请实施例机器人技能调试方法的基本实现流程示意图。如图1所述,本申请实施例提供一种机器人技能调试方法,该方法包括:操作110,获取机器人技能;操作120,将机器人技能加载到预先建立的机器人虚拟对象中;操作130,启动机器人技能对应的虚拟仿真环境;操作140,在虚拟仿真环境中,利用机器人虚拟对象执行机器人技能,得到机器人技能对应的调试结果。FIG. 1 shows a schematic diagram of a basic implementation flow of a robot skill debugging method according to an embodiment of the present application. As shown in FIG. 1 , an embodiment of the present application provides a method for debugging robot skills. The method includes: operation 110, acquiring robot skills; operation 120, loading robot skills into a pre-established robot virtual object; operation 130, starting the robot A virtual simulation environment corresponding to the skill; in operation 140, in the virtual simulation environment, the robot skill is executed by using the robot virtual object, and a debugging result corresponding to the robot skill is obtained.
在操作110中,机器人技能主要指机器人可以执行的、实现某一具体功能的技能,例如:人脸识别技能、打招呼技能、室内导航技能等。此处,主要指实现机器人技能的一段计算机程序代码。该代码可以是嵌入在机器人运行的某一计算机程序中的一段代码,也可以是一个可以独立执行的自动化脚本程序,还可以是通过计算机程序代码实现的一个即插即用的功能模块等。In operation 110, the robot skills mainly refer to skills that the robot can perform to realize a specific function, such as face recognition skills, greeting skills, indoor navigation skills, and the like. Here, it mainly refers to a piece of computer program code that implements robotic skills. The code can be a piece of code embedded in a computer program run by the robot, or an automated script program that can be executed independently, or a plug-and-play functional module implemented by computer program code.
此处获取的机器人技能就是本申请实施例机器人技能调试方法要调试的对象,而本申请实施例机器人技能调试方法就是为了验证这一机器人技能是否实现了达到了预期设计的目标,实现了用户需求。The robot skill obtained here is the object to be debugged by the robot skill debugging method of the embodiment of the present application, and the robot skill debugging method of the embodiment of the present application is to verify whether the robot skill has achieved the target of the expected design, and realized the user's needs. .
在操作120中,预先建立的机器人虚拟对象,通常指可以加载要调试的机器人技能并以数字形式模拟机器人真机执行该机器人技能的数字模型。In operation 120, the pre-established robot virtual object generally refers to a digital model that can load the robot skill to be debugged and simulate the real robot to perform the robot skill in digital form.
该机器人虚拟对象类似于计算机中的虚拟角色,通过计算机程序实现模拟现实世界中机器人的各种行为,包括机器人的行为模式和具体动作。在具体实现该机器人虚拟对象时,可以基于第三方提供的3D引擎作为开发工具和开发平台来实现,例如,unreal engine和unity等。以unreal engine为例可 以通过编程实现一个spawn character或actor来实现。The robot virtual object is similar to a virtual character in a computer, and various behaviors of the robot in the real world are simulated through a computer program, including the behavior pattern and specific actions of the robot. When specifically implementing the robot virtual object, it can be implemented based on the 3D engine provided by a third party as a development tool and development platform, such as unreal engine and unity. Taking the unreal engine as an example, it can be realized by programming a spawn character or actor.
建立机器人虚拟对象的主要过程包括:The main process of building a robot virtual object includes:
1)从预先建立的实体模型库中选取适用的实体模型;1) Select the applicable entity model from the pre-established entity model library;
通常,这些预先建立的实体模型是根据现实世界的某一类实体的外观特点和物理性质所构建的数字模型。此外,还设置有与这些实体模型对应的技能库,技能库中的技能可用来模拟该类实体所具有的一些基本技能,而要测试的机器人技能也可以作为该技能库中的一项技能。例如,对于机器人这样的实体模型,不仅具有机器人的外观,比如类似人的五官和四肢,还可具有视觉、听觉、语言、移动、挥手等基本技能。Usually, these pre-built entity models are digital models constructed according to the appearance characteristics and physical properties of a certain type of entity in the real world. In addition, a skill library corresponding to these entity models is also set up. The skills in the skill library can be used to simulate some basic skills possessed by such entities, and the robot skills to be tested can also be used as a skill in the skill library. For example, for a solid model such as a robot, it not only has the appearance of a robot, such as human-like facial features and limbs, but also has basic skills such as vision, hearing, language, movement, and waving.
2)创建一个基于机器人实体模型的机器人虚拟对象,并从预先建立的、与实体模型对应的技能库中选取该机器人虚拟对象执行要调试的机器人技能所需的相关技能;2) Create a robot virtual object based on the robot entity model, and select the relevant skills required by the robot virtual object to perform the robot skills to be debugged from the pre-established skill library corresponding to the entity model;
需要说明的是,这里选取的基本技能可以不用包含机器人真机所具有的全部技能,而只需选取执行调试所需的技能,如此,还可以大大减少机器人真机中加载的其他不相关技能对要调试的技能可能产生的干扰。It should be noted that the basic skills selected here do not need to include all the skills of the real robot, but only the skills required for debugging. In this way, other irrelevant skills loaded in the real robot can be greatly reduced. Possible interference from the skill to be debugged.
将机器人技能加载到预先建立的机器人虚拟对象中的具体实现方法主要取决于机器人技能和机器人虚拟对象的具体实现方法。例如,如果机器人技能是机器人虚拟对象运行的某一计算机程序中的一段代码,则将机器人虚拟对象运行的该计算机程序更新为包含这一段代码的最新程序即可;如果机器人技能是一个可以独立执行的自动化脚本程序,则重新编译并加载该自动化脚本程序即可;如果机器人技能是一个即插即用的功能模块,则可以重新编译并加载该模块即可。The specific implementation method of loading the robot skills into the pre-established robot virtual objects mainly depends on the specific implementation methods of the robot skills and the robot virtual objects. For example, if the robot skill is a piece of code in a computer program run by the robot virtual object, it is enough to update the computer program run by the robot virtual object to the latest program that includes this piece of code; if the robot skill is a piece of code that can be executed independently If the robot skill is a plug-and-play function module, you can recompile and load the module.
这一操作类似于在机器人真机上安装或更新要调试的机器人技能程序。This operation is similar to installing or updating the robot skill program to be debugged on the real robot.
在这一操作中,使用机器人虚拟对象取代了机器人真机进行调试,可以节省机器人真机资源、避免机器人真机中某些物理故障或其他不相关技能的问题对要进行的技能调试可能产生的干扰,可大大简化调试过程,缩短调试时间,相应地,也大大缩短了机器人技能的开发周期和运维成本。此外,还 可以利用机器人虚拟对象去执行一些极端情景下的调试,而不必担心因为调试而造成的机器人损坏等。In this operation, the robot virtual object is used to replace the real robot for debugging, which can save the resources of the real robot, avoid some physical faults in the real robot or other unrelated skills problems that may arise from the skills debugging to be carried out. Interference can greatly simplify the debugging process, shorten the debugging time, and correspondingly, greatly shorten the development cycle and operation and maintenance cost of robot skills. In addition, you can also use the robot virtual object to perform debugging in extreme scenarios without worrying about robot damage caused by debugging.
在操作130中,机器人技能对应的虚拟仿真环境是一个用于模拟真实世界中机器人执行机器人技能的某一场景的虚拟环境。例如,放置机器人的大厅,使用机器人进行导航的某个建筑物的内景等等。In operation 130, the virtual simulation environment corresponding to the robot skill is a virtual environment for simulating a certain scene of the robot performing the robot skill in the real world. For example, the lobby where the robot is placed, the interior of a building where the robot is used to navigate, etc.
该虚拟仿真环境通常也可以基于第三方提供的开发工具和开发平台来实现,例如:例如,unreal engine和unity等。以unreal engine为例,可以通过运行unreal engine来启动虚拟仿真环境并通过某个蓝图级别(Blueprints Level)来模拟某个场景。The virtual simulation environment can also usually be implemented based on development tools and development platforms provided by third parties, such as, for example, unreal engine and unity. Taking the unreal engine as an example, you can start the virtual simulation environment by running the unreal engine and simulate a scene through a certain Blueprints Level.
在这一操作中,使用虚拟仿真环境取代了放置机器人执行调试的真实场景,减免了布置和选取真实环境的环节,也大大降低了真实环境各种复杂因素对调试可能产生的干扰,从而可大大简化调试过程,缩短调试时间,相应地,也大大缩短了机器人技能的开发周期和运维成本。此外,在虚拟环境下还可以执行一些极端情景的调试,而不必担心因为调试技能而对场景的产生破坏等。In this operation, the virtual simulation environment is used to replace the real scene in which the robot is placed to perform debugging, which reduces the link of arranging and selecting the real environment, and greatly reduces the possible interference of various complex factors in the real environment on debugging, so that it can greatly The debugging process is simplified, the debugging time is shortened, and accordingly, the development cycle and operation and maintenance cost of robot skills are greatly shortened. In addition, debugging of some extreme scenarios can also be performed in a virtual environment without worrying about the damage to the scene due to debugging skills.
在操作140中,在虚拟仿真环境中,利用机器人虚拟对象执行机器人技能的原理和过程,与游戏角色操控者控制游戏角色在游戏场景下使用各种技能进行相应的操作的原理和过程非常相近,都是通过某一操作,例如,通过对游戏手柄中某个按钮的某个操作使用某个与该操作对应的技能。In operation 140, in the virtual simulation environment, the principle and process of using the robot virtual object to perform robot skills are very similar to the principle and process of the game character controller controlling the game character to use various skills to perform corresponding operations in the game scene, All through an action, for example, by using a certain skill corresponding to an action on a button in a gamepad.
在实际调试过程中,执行机器人技能的过程,也可能并不通过物理上的某个按键或按钮,而是通过发送代表某一意图的指令或是模拟某一射线检测结果的信号来触发机器人虚拟对象执行机器人技能,通过这一方式,甚至可以自动化调试过程直接得到调试结果,而无需人工干预或交互过程。In the actual debugging process, the process of executing the robot skills may not trigger a physical key or button, but by sending an instruction representing an intention or a signal simulating a certain ray detection result to trigger the robot virtual Objects perform robotic skills, and in this way, it is even possible to automate the debug process directly to debug results without human intervention or interaction.
根据本申请实施例一实施方式,启动机器人技能对应的虚拟仿真环境,包括:获取与机器人技能对应的环境变量值;根据环境变量值对虚拟仿真环境进行设置;启动设置后的虚拟仿真环境。According to an embodiment of the embodiment of the present application, starting the virtual simulation environment corresponding to the robot skill includes: obtaining an environment variable value corresponding to the robot skill; setting the virtual simulation environment according to the environment variable value; and starting the set virtual simulation environment.
除了机器人技能所应用的场景之外,有些机器人技能还需要指定某个具 体的地理位置、或指定的时间进行调试等。在本实施方式中,可以通过设置机器人技能对应的环境变量值,例如,虚拟位置、虚拟时间等来模拟真实世界某个具体的地理位置或指定的时间等,然后启动设置后的虚拟仿真环境。In addition to the application scenarios of robot skills, some robot skills also need to specify a specific geographic location or a specified time for debugging. In this embodiment, a specific geographic location or a specified time in the real world can be simulated by setting the environment variable value corresponding to the robot skill, for example, virtual location, virtual time, etc., and then the set virtual simulation environment is started.
根据本申请实施例一实施方式,在虚拟仿真环境中,利用机器人虚拟对象执行机器人技能,得到机器人技能对应的调试结果,包括:在虚拟仿真环境中加载机器人虚拟对象;利用机器人虚拟对象执行机器人技能得到第一结果;获取机器人技能对应的预期结果;比较第一结果和预期结果得到机器人技能对应的调试结果。According to an implementation manner of the embodiment of the present application, in a virtual simulation environment, using a robot virtual object to perform a robot skill, and obtaining a debugging result corresponding to the robot skill, includes: loading a robot virtual object in the virtual simulation environment; using the robot virtual object to perform a robot skill Obtain the first result; obtain the expected result corresponding to the robot skill; compare the first result and the expected result to obtain the debugging result corresponding to the robot skill.
其中,在虚拟仿真环境中加载机器人虚拟对象,类似于在计算机中加入一个游戏角色,通常可以通过在虚拟仿真环境中加载机器人虚拟对象来实现。具体地,加载的方式可以是在开发时就将机器人虚拟对象添加到机器人技能对应的虚拟仿真环境中,这样在启动该虚拟仿真环境时,机器人虚拟对象就会自动加载进来;也可以是通过将机器人虚拟对象的加载与某一事件或某一操作关联起来,这样在启动虚拟仿真环境后,可以通过某一事件或某一操作触发加载机器人虚拟对象。The loading of the robot virtual object in the virtual simulation environment is similar to adding a game character to the computer, which can usually be realized by loading the robot virtual object in the virtual simulation environment. Specifically, the loading method may be to add the robot virtual object to the virtual simulation environment corresponding to the robot skill during development, so that when the virtual simulation environment is started, the robot virtual object will be automatically loaded; The loading of the robot virtual object is associated with a certain event or a certain operation, so that after starting the virtual simulation environment, the loading of the robot virtual object can be triggered by a certain event or a certain operation.
第一结果是在虚拟仿真环境中,机器人虚拟对象执行机器人技能得到的实际结果,而调试结果通常是通过比较这一实际结果与执行机器人技能应实现的预期结果而得到的。如果机器人虚拟对象执行机器人技能得到的实际结果与执行机器人技能应实现的预期结果一致,则说明实现机器人技能的计算机程序达到了预期的目标,调试结果为通过;如果机器人虚拟对象执行机器人技能得到的实际结果与执行机器人技能应实现的预期结果不一致,则说明机器人技能的计算机程序存在问题,调试结果为不通过,还需要寻找引起问题的具体原因并通过修改程序或相关配置来解决问题。The first result is the actual result obtained by the robot virtual object performing the robot skill in the virtual simulation environment, and the debugging result is usually obtained by comparing this actual result with the expected result that should be achieved by executing the robot skill. If the actual results obtained by the robot virtual object executing the robot skills are consistent with the expected results that should be achieved by executing the robot skills, it means that the computer program for realizing the robot skills has achieved the expected goals, and the debugging result is passed; if the robot virtual object executes the robot skills If the actual results are inconsistent with the expected results that should be achieved by executing the robot skills, it means that there is a problem with the computer program of the robot skills, and the debugging result is not passed. It is also necessary to find the specific cause of the problem and solve the problem by modifying the program or related configuration.
需要说明的是,如果调试结果为不通过,则可以反复执行上述过程,直至调试结果通过。It should be noted that, if the debugging result is not passed, the above process can be repeatedly performed until the debugging result is passed.
根据本申请实施例一实施方式,利用机器人虚拟对象执行机器人技能得到第一结果,包括:当第一虚拟对象执行第一操作时,响应于所述第一操作, 利用所述机器人虚拟对象执行所述机器人技能,以得到所述第一操作对应的第一结果。According to an embodiment of the embodiment of the present application, using a robot virtual object to perform a robot skill to obtain a first result includes: when a first virtual object performs a first operation, in response to the first operation, using the robot virtual object to perform all the robot skill to obtain the first result corresponding to the first operation.
在本实施方式中,对于某些需要与其他的人或物进行交互,或针对其他的人或物实施的技能,还需要其他虚拟对象来模拟真实世界中的人或物。第一虚拟对象就是虚拟仿真环境下,用于模拟真实世界的人或物,并通过使第一虚拟对象执行第一操作来模拟真实世界中的人或物的具体行为。第一虚拟对象可以是预先创建好的,也可以根据需要动态创建。例如,要调试的机器人是一个打招呼的技能,则需要有宾客虚拟对象来接近机器人虚拟对象,而机器人虚拟对象则响应于虚拟对象接近机器人虚拟对象这一操作,并根据与宾客虚拟对象的距离判断是否上前去打招呼。In this embodiment, for certain skills that need to interact with other people or things, or perform on other people or things, other virtual objects are also required to simulate people or things in the real world. The first virtual object is used to simulate a person or thing in the real world in a virtual simulation environment, and simulates the specific behavior of the person or thing in the real world by causing the first virtual object to perform a first operation. The first virtual object may be pre-created or dynamically created as required. For example, if the robot to be debugged is a greeting skill, a guest virtual object is required to approach the robot virtual object, and the robot virtual object responds to the operation of the virtual object approaching the robot virtual object and judges based on the distance to the guest virtual object. Are you going to say hello?
在本实施方式中,无需请求真实世界的人或物来协助调试,只需利用虚拟对象即可,还进一步节约了人员和物资成本,简化了调试过程。In this embodiment, there is no need to request people or objects in the real world to assist in debugging, and only virtual objects are needed, which further saves personnel and material costs, and simplifies the debugging process.
根据本申请实施例一实施方式,在机器人虚拟对象执行机器人技能时,该方法还包括:执行第二操作,以暂停或继续执行机器人技能。According to an implementation manner of the embodiment of the present application, when the robot virtual object executes the robot skill, the method further includes: performing a second operation to pause or continue executing the robot skill.
在本实施方式中,程序员可以在实现机器人技能的程序中设置断点来跟踪变量,当计算机程序执行到断点时,会自动暂停以供程序员查看各个变量值以便了解执行状态、查找引发问题的相应原因。In this embodiment, the programmer can set breakpoints in the program for realizing robotic skills to track variables. When the computer program executes to the breakpoint, it will automatically pause for the programmer to check the value of each variable in order to understand the execution state, find the trigger the corresponding cause of the problem.
根据本申请实施例一实施方式,在机器人虚拟对象执行机器人技能之前,该方法还包括:设置执行机器人技能所需的目标变量。According to an embodiment of the embodiment of the present application, before the robot virtual object executes the robot skill, the method further includes: setting target variables required for executing the robot skill.
在某些场景下,机器人技能需要达到一个指定的目标,例如导航到某一具***置。在本实施方式中,可通过指定一个目标变量,例如根据虚拟坐标指定的一个虚拟位置,即可满足上述需求。比起使用机器人真机在真实世界确定一个具体的位置,并放置到真实的一个场地中相比,在虚拟仿真环境下,更容易模拟各种复杂的地形结构和各种极端场景下的位置导航。In some scenarios, robotic skills need to achieve a specified goal, such as navigating to a specific location. In this embodiment, the above requirements can be met by specifying a target variable, for example, a virtual position specified according to virtual coordinates. Compared with using a real robot to determine a specific position in the real world and place it in a real field, it is easier to simulate various complex terrain structures and position navigation in various extreme scenarios in a virtual simulation environment .
下面结合图2说明本申请实施例机器人技能调试方法一应用的具体实现流程。The following describes a specific implementation process of the first application of the robot skill debugging method according to the embodiment of the present application with reference to FIG. 2 .
在这一应用中,要测试的技能是遇有人出现时,在合适的位置和人打招 呼的技能。如果使用测试机器人真机测试该技能时,通常需要将测试机器人放置到迎宾场所,等待宾客靠近该测试机器人,并监测宾客与测试机器人的距离,从而判断机器人是否在期望的距离范围内主动上前做出与宾客打招呼的动作。在这一过程中,由于真实世界中的迎宾场所通常都较为复杂,会有很多人和物,不仅会触发机器人打招呼的技能,还有可能触发机器人对话、引导等其他技能,明显会使调试时间加长,并产生很多非相关数据,加大了从中筛选相关信息进行调试的工作量。为了克服上述问题,也可将测试机器人真机放置到一个相对简单、清净的测试迎宾场所并请人假扮宾客来访的情景,但这样会需要安排额外的测试场所和测试人员。In this application, the skill to be tested is the skill to greet people in the right place when they appear. If you use the test robot to test this skill, you usually need to place the test robot in the welcome area, wait for the guests to approach the test robot, and monitor the distance between the guests and the test robot, so as to determine whether the robot is actively moving within the expected distance. Make a gesture of hello to the guests. In this process, since the welcome places in the real world are usually complex, there will be many people and objects, which will not only trigger the robot's greeting skills, but also may trigger other skills such as robot dialogue and guidance, which will obviously lead to debugging. The time is prolonged, and a lot of irrelevant data is generated, which increases the workload of filtering relevant information from it for debugging. In order to overcome the above problems, it is also possible to place the real test robot in a relatively simple and clean test welcome place and invite people to pretend to be guests to visit, but this will require additional test places and testers.
使用本申请实施例机器人技能调试方法来测试机器人打招呼的技能,则可以通过如图2所示的如下步骤来实现:Using the robot skill debugging method of the embodiment of the present application to test the skill of the robot to say hello, it can be achieved through the following steps as shown in Figure 2:
步骤2010,创建机器人虚拟对象; Step 2010, creating a robot virtual object;
在这一步骤中,可以仅加载移动、语音和打招呼的需要肢体动作等相关的基本技能,而无需加载其他不相关的技能。In this step, you can only load basic skills related to movement, speech, and greeting that require physical actions, without loading other irrelevant skills.
步骤2020,获得打招呼技能并加载到机器人虚拟对象上; Step 2020, acquiring the greeting skill and loading it onto the robot virtual object;
步骤2030,启动迎宾虚拟环境并加载机器人虚拟对象; Step 2030, start the welcome virtual environment and load the robot virtual object;
步骤2040,利用射线检测机制触发该技能人脸识别意图; Step 2040, using the ray detection mechanism to trigger the face recognition intention of the skill;
这一步骤可以触发机器人虚拟对象开始执行打招呼技能。This step can trigger the robot virtual object to start performing the greeting skill.
步骤2050,在迎宾虚拟环境中创建一个宾客虚拟对象,并使宾客虚拟对象靠近机器人虚拟对象; Step 2050, creating a guest virtual object in the welcoming virtual environment, and making the guest virtual object close to the robot virtual object;
步骤2060,检测宾客虚拟对象与机器人虚拟对象的距离,判定机器人是否根据宾客的距离做出相应的行为,如果是,则继续步骤2070,如果否,则继续步骤2080; Step 2060, detect the distance between the virtual object of the guest and the virtual object of the robot, and determine whether the robot makes a corresponding behavior according to the distance of the guest, if so, continue to step 2070, if not, continue to step 2080;
步骤2070,判断是否还要继续调试,如果是,则回到步骤2050,创建新的宾客虚拟对象并再次进行调试,如果否,则结束本次执行; Step 2070, determine whether to continue debugging, if so, go back to step 2050, create a new guest virtual object and perform debugging again, if not, end this execution;
步骤2080,修改实现打招呼技能的计算机程序和相关配置,然后回到步骤2020重新加载修改后的打招呼技能,再次进行调试。 Step 2080, modify the computer program and related configuration for implementing the greeting skill, and then return to step 2020 to reload the modified greeting skill, and perform debugging again.
由此可见,通过使用本申请实施例机器人技能调试方法,无需使用测试机器人真机,也无需安排额外的测试场地和测试人员,就可以将可能对调试打招呼技能产生干扰的因素降到最少,使研发人员可以更为专注在技能本身的开发上,而大大缩减了开发和调试的时间。It can be seen that, by using the robot skill debugging method of the embodiment of the present application, it is possible to minimize the factors that may interfere with the debugging of the greeting skill without using a real test robot, and without arranging additional test sites and test personnel, so that the R&D personnel can focus more on the development of the skills themselves, and greatly reduce the development and debugging time.
下面结合图3给出本申请实施例机器人技能调试方法另一应用的具体实现流程。A specific implementation process of another application of the robot skill debugging method according to the embodiment of the present application is given below with reference to FIG. 3 .
在这一场景中,要调试的机器人技能是使机器人到达目标地点的导航技能。如果使用测试机器人真机测试该技能时,通常需要将测试机器人放置到一个具体的区域,指定这一区域的一个位置,然后监测测试机器人的行进路径,并在达到终点后,判断机器人是否达到指定的位置。在这一过程中,需要一个真实存在的导航区域,且真实世界中的导航区域中会有很多人和物,不仅会触发机器人打招呼的技能,还有可能触发机器人对话、引导等其他技能,明显会使调试时间加长,并产生很多非相关数据,加大了从中筛选相关信息的工作量。如果要清除这些干扰因素,则需要一个专用的测试场所,这样,不仅会限制可调式的场景,还会带来额外的开销。In this scenario, the robot skill to be tuned is the navigation skill that gets the robot to the target location. If the test robot is used to test the skill, it is usually necessary to place the test robot in a specific area, specify a position in this area, and then monitor the travel path of the test robot, and after reaching the end point, judge whether the robot reaches the specified position. s position. In this process, a real navigation area is needed, and there will be many people and objects in the navigation area in the real world, which will not only trigger the skills of the robot to say hello, but also may trigger other skills such as robot dialogue and guidance. Obviously It will prolong the debugging time and generate a lot of irrelevant data, increasing the workload of filtering relevant information from it. If these interference factors are to be removed, a dedicated test site is required, which not only limits the adjustable scenarios, but also introduces additional overhead.
使用本申请实施例机器人技能调试方法来测试机器人打招呼的技能,则可以通过如图3所示的如下步骤来实现:Use the robot skill debugging method of the embodiment of the present application to test the skill of the robot to say hello, then it can be realized by the following steps as shown in Figure 3:
步骤3010,创建机器人虚拟对象; Step 3010, create a robot virtual object;
在这一步骤中,可以仅加载移动和语音相关的基本技能,而无需加载其他不相关的技能。In this step, it is possible to load only basic skills related to movement and voice without loading other unrelated skills.
步骤3020,获得导航技能并加载到机器人虚拟对象上; Step 3020, obtain the navigation skill and load it onto the robot virtual object;
步骤3030,通过虚拟坐标设置虚拟环境的具体区域信息、设置机器人的初始位置信息; Step 3030, setting the specific area information of the virtual environment and setting the initial position information of the robot through virtual coordinates;
步骤3040,启动导航虚拟环境并加载机器人虚拟对象; Step 3040, start the navigation virtual environment and load the robot virtual object;
步骤3050,通过虚拟坐标设置导航的目标位置,并向机器人发送包含目标位置的导航意图; Step 3050, setting the target position of the navigation through virtual coordinates, and sending the navigation intention including the target position to the robot;
这一步骤可以触发机器人虚拟对象开始执行导航技能。This step can trigger the robot avatar to begin performing navigation skills.
步骤3060,判断判断机器人虚拟对象所到达的位置是否与目标位置一致,如果是,则继续步骤3070,如果否,则继续步骤3080; Step 3060, determine whether the position reached by the virtual object of the robot is consistent with the target position, if so, proceed to step 3070, if not, proceed to step 3080;
步骤3070,判断是否还要继续调试,如果是,则回到步骤3050,设置新的目标位置并再次进行调试,如果否,则结束本次执行; Step 3070, judge whether to continue debugging, if so, go back to step 3050, set a new target position and carry out debugging again, if not, end this execution;
步骤3080,修改实现导航技能的计算机程序和相关配置,然后回到步骤3020重新加载修改后的导航技能,再次进行调试。 Step 3080, modify the computer program and related configuration for realizing the navigation skill, then go back to step 3020 to reload the modified navigation skill, and perform debugging again.
由此可见,通过使用本申请实施例机器人技能调试方法,无需使用测试机器人真机,也无需安排额外的测试场地,就可以将可能对调试导航技能产生干扰的因素降到最少,使研发人员可以更为专注在技能本身的开发上,而大大缩减了开发和调试的时间。此外,由于虚拟仿真环境更容易模拟出不同地形或极端场景,对导航技能在各种场景下的使用的鲁棒性也可以加以调试,从而使产品质量更高。It can be seen that, by using the robot skill debugging method according to the embodiment of the present application, it is possible to minimize the factors that may interfere with the debugging of navigation skills without using the real test robot and without arranging additional testing sites, so that the R&D personnel can More focus on the development of the skills themselves, and greatly reduce the development and debugging time. In addition, since the virtual simulation environment makes it easier to simulate different terrains or extreme scenarios, the robustness of the use of navigation skills in various scenarios can also be debugged, resulting in higher quality products.
需要说明的是,上述对本申请实施例机器人技能调试方法应用具体实施流程的说明仅为示例性说明,并非对本申请实施例机器人技能调试方法实施方式或应用场景的限定,实施者可以根据需要适用任意适用的实施方式应用到任意适用的更多应用场景中。It should be noted that the above description of the specific implementation process of the application of the robot skill debugging method in the embodiment of the present application is only an exemplary description, and is not a limitation on the implementation or application scenarios of the robot skill debugging method in the embodiment of the present application. Applicable implementations apply to any applicable further application scenarios.
根据本申请实施例的第二方面,提供一种基于机器人调试装置,如图4所示,该装置40包括:机器人技能获取模块401,配置为获取机器人技能;机器人技能加载模块402,配置为将机器人技能加载到预先建立的机器人虚拟对象中;虚拟仿真环境启动模块403,配置为启动机器人技能对应的虚拟仿真环境;机器人技能调试模块404,配置为在虚拟仿真环境中,利用机器人虚拟对象执行机器人技能,得到机器人技能对应的调试结果。According to a second aspect of the embodiments of the present application, a robot-based debugging device is provided. As shown in FIG. 4 , the device 40 includes: a robot skill acquisition module 401 configured to acquire robot skills; a robot skills loading module 402 configured to The robot skills are loaded into the pre-established robot virtual objects; the virtual simulation environment startup module 403 is configured to start the virtual simulation environment corresponding to the robot skills; the robot skills debugging module 404 is configured to use the robot virtual objects to execute the robot in the virtual simulation environment skills, and get the debugging results corresponding to the robot skills.
根据本申请实施例一实施方式,虚拟仿真环境启动模块403包括:环境变量值获取子模块,配置为获取与机器人技能对应的环境变量值;环境变量值设置子模块,配置为根据环境变量值对虚拟仿真环境进行设置;虚拟仿真环境启动子模块,配置为启动设置后的虚拟仿真环境。According to an embodiment of the embodiment of the present application, the virtual simulation environment startup module 403 includes: an environment variable value acquisition sub-module, configured to acquire an environment variable value corresponding to the robot skill; an environment variable value setting sub-module, configured to pair according to the environment variable value The virtual simulation environment is set; the virtual simulation environment starts the sub-module and is configured to start the virtual simulation environment after the setting.
根据本申请实施例一实施方式,机器人技能调试模块404包括:机器人 虚拟对象加载子模块,配置为在虚拟仿真环境中加载机器人虚拟对象;机器人技能执行子模块,配置为利用机器人虚拟对象执行机器人技能得到第一结果;预期结果获取子模块,配置为获取机器人技能对应的预期结果;调试结果获取子模块,配置为比较第一结果和预期结果得到机器人技能对应的调试结果。According to an embodiment of the embodiment of the present application, the robot skill debugging module 404 includes: a robot virtual object loading submodule, configured to load a robot virtual object in a virtual simulation environment; a robot skill execution submodule, configured to use the robot virtual object to execute robot skills The first result is obtained; the expected result obtaining sub-module is configured to obtain the expected result corresponding to the robot skill; the debugging result obtaining sub-module is configured to compare the first result and the expected result to obtain the debugging result corresponding to the robot skill.
根据本申请实施例一实施方式,机器人技能执行子模块配置为:当第一虚拟对象执行第一操作时,响应于所述第一操作,利用所述机器人虚拟对象执行所述机器人技能,以得到所述第一操作对应的第一结果。According to an embodiment of the embodiment of the present application, the robot skill execution sub-module is configured to: when a first virtual object performs a first operation, in response to the first operation, use the robot virtual object to perform the robot skill to obtain the first result corresponding to the first operation.
根据本申请实施例一实施方式,机器人技能执行子模块还包括:第二操作执行单元,配置为执行第二操作,以暂停或继续执行机器人技能。According to an embodiment of the embodiment of the present application, the robot skill execution sub-module further includes: a second operation execution unit configured to execute a second operation to pause or continue executing the robot skill.
根据本申请实施例一实施方式,机器人技能执行子模块还包括:目标变量设置单元,配置为设置执行机器人技能所需的目标变量。According to an embodiment of the embodiment of the present application, the robot skill execution sub-module further includes: a target variable setting unit configured to set target variables required for executing the robot skill.
根据本申请实施例的第三方面,提供一种计算机存储介质,在计算机存储介质上存储了程序指令,其中,程序指令在运行时实现上述任一项的机器人技能调试方法。According to a third aspect of the embodiments of the present application, a computer storage medium is provided, and program instructions are stored on the computer storage medium, wherein the program instructions implement any one of the above-mentioned methods for debugging robot skills when running.
根据本申请实施例的第四方面,提供一种电子设备,包括处理器以及存储有执行指令的存储器,当所述处理器执行所述存储器存储的所述执行指令时,所述处理器执行上述任一项所述的机器人技能调试方法。According to a fourth aspect of the embodiments of the present application, an electronic device is provided, including a processor and a memory storing execution instructions. When the processor executes the execution instructions stored in the memory, the processor executes the above-mentioned execution instructions. The robot skill debugging method of any one.
这里需要指出的是:以上针对机器人技能调试装置实施例的描述、以上针对计算机存储介质实施例的描述和以上针对电子设备的描述,与前述方法实施例的描述是类似的,具有同前述方法实施例相似的有益效果,因此不做赘述。对于本申请对机器人技能调试装置实施例的描述、对计算机存储介质实施例的描述和对电子设备的描述尚未披露的技术细节,请参照本申请前述方法实施例的描述而理解,为节约篇幅,因此不再赘述。It should be pointed out here that the above descriptions of the embodiments of the robot skill debugging apparatus, the above descriptions of the computer storage medium embodiments, and the above descriptions of the electronic devices are similar to the descriptions of the foregoing method embodiments, and have the same implementation as the foregoing method embodiments. The beneficial effects are similar to those of other examples, so they are not repeated here. For the technical details that have not been disclosed in the description of the embodiments of the robot skill debugging apparatus, the description of the embodiment of the computer storage medium, and the description of the electronic device, please refer to the description of the foregoing method embodiments of the present application for understanding. In order to save space, Therefore, no further description will be given.
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还 包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。It should be noted that, herein, the terms "comprising", "comprising" or any other variation thereof are intended to encompass non-exclusive inclusion, such that a process, method, article or device comprising a series of elements includes not only those elements, It also includes other elements not expressly listed or inherent to such a process, method, article or apparatus. Without further limitation, an element qualified by the phrase "comprising a..." does not preclude the presence of additional identical elements in a process, method, article or apparatus that includes the element.
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个装置,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。In the several embodiments provided in this application, it should be understood that the disclosed apparatus and method may be implemented in other manners. The device embodiments described above are only illustrative. For example, the division of units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated. to another device, or some features can be ignored, or not implemented. In addition, the coupling, or direct coupling, or communication connection between the components shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or units may be electrical, mechanical or other forms. of.
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。The unit described above as a separate component may or may not be physically separated, and the component displayed as a unit may or may not be a physical unit; it may be located in one place or distributed to multiple network units; Some or all of the units may be selected according to actual needs to achieve the purpose of the solution in this embodiment.
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以利用硬件的形式实现,也可以利用硬件加软件功能单元的形式实现。In addition, each functional unit in each embodiment of the present application may all be integrated into one processing unit, or each unit may be separately used as a unit, or two or more units may be integrated into one unit; the above integration The unit can be implemented either in the form of hardware or in the form of hardware plus software functional units.
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储介质、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。Those of ordinary skill in the art can understand that all or part of the steps of implementing the above method embodiments can be completed by program instructions related to hardware, the aforementioned program can be stored in a computer-readable storage medium, and when the program is executed, the execution includes: The steps of the above method embodiments; and the aforementioned storage medium includes: a removable storage medium, a read only memory (Read Only Memory, ROM), a magnetic disk or an optical disk and other media that can store program codes.
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介 质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例方法的全部或部分。而前述的存储介质包括:移动存储介质、ROM、磁碟或者光盘等各种可以存储程序代码的介质。Alternatively, if the above-mentioned integrated units of the present application are implemented in the form of software function modules and sold or used as independent products, they may also be stored in a computer-readable storage medium. Based on such understanding, the technical solutions of the embodiments of the present application can be embodied in the form of software products in essence or in the parts that make contributions to the prior art. The computer software products are stored in a storage medium and include several instructions for A computer device (which may be a personal computer, a server, or a network device, etc.) is caused to execute all or part of the methods of the various embodiments of the present application. The aforementioned storage medium includes: a removable storage medium, a ROM, a magnetic disk, or an optical disk, and other media that can store program codes.
以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。The above are only specific embodiments of the present application, but the protection scope of the present application is not limited to this. Any person skilled in the art can easily think of changes or replacements within the technical scope disclosed in the present application, and should cover within the scope of protection of this application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims (10)

  1. 一种机器人技能调试方法,所述方法包括:A robot skill debugging method, comprising:
    获取机器人技能;acquire robotics skills;
    将所述机器人技能加载到预先建立的机器人虚拟对象中;loading the robotic skills into a pre-established robotic virtual object;
    启动所述机器人技能对应的虚拟仿真环境;Start the virtual simulation environment corresponding to the robot skill;
    在所述虚拟仿真环境中,利用所述机器人虚拟对象执行所述机器人技能,得到所述机器人技能对应的调试结果。In the virtual simulation environment, the robot skill is executed by using the robot virtual object, and a debugging result corresponding to the robot skill is obtained.
  2. 根据权利要求1所述的方法,其中,所述启动所述机器人技能对应的虚拟仿真环境,包括:The method according to claim 1, wherein the starting the virtual simulation environment corresponding to the robot skill comprises:
    获取与所述机器人技能对应的环境变量值;obtaining an environment variable value corresponding to the robot skill;
    根据所述环境变量值对所述虚拟仿真环境进行设置;setting the virtual simulation environment according to the value of the environment variable;
    启动所述设置后的虚拟仿真环境。The virtual simulation environment after the setting is started.
  3. 根据权利要求1所述的方法,其中,所述在所述虚拟仿真环境中,利用所述机器人虚拟对象执行所述机器人技能,得到所述机器人技能对应的调试结果,包括:The method according to claim 1, wherein, in the virtual simulation environment, using the robot virtual object to execute the robot skill to obtain a debugging result corresponding to the robot skill, comprising:
    在所述虚拟仿真环境中加载所述机器人虚拟对象;Loading the robot virtual object in the virtual simulation environment;
    利用所述机器人虚拟对象执行所述机器人技能得到第一结果;Using the robot virtual object to perform the robot skill to obtain a first result;
    获取所述机器人技能对应的预期结果;Obtain the expected result corresponding to the robot skill;
    比较所述第一结果和所述预期结果得到所述机器人技能对应的调试结果。Comparing the first result with the expected result, a debugging result corresponding to the robot skill is obtained.
  4. 根据权利要求3所述的方法,其中,所述利用所述机器人虚拟对象执行所述机器人技能得到第一结果,包括:The method of claim 3, wherein the performing the robotic skill using the robotic virtual object to obtain the first result comprises:
    当第一虚拟对象执行第一操作时,响应于所述第一操作,利用所述机器人虚拟对象执行所述机器人技能,以得到所述第一操作对应的第一结果。When the first virtual object performs a first operation, in response to the first operation, the robot skill is performed by using the robot virtual object, so as to obtain a first result corresponding to the first operation.
  5. 根据权利要求3所述的方法,其中,在所述机器人虚拟对象执行所述机器人技能时,所述方法还包括:The method of claim 3, wherein, when the robotic virtual object performs the robotic skill, the method further comprises:
    执行第二操作,以暂停或继续执行所述机器人技能。A second action is performed to pause or resume execution of the robotic skill.
  6. 根据权利要求3所述的方法,其中,在所述机器人虚拟对象执行所述机器人技能之前,所述方法还包括:The method of claim 3, wherein before the robotic virtual object performs the robotic skill, the method further comprises:
    设置执行所述机器人技能所需的目标变量。Set the target variables needed to execute the robot skill.
  7. 一种基于机器人调试装置,其中,所述装置包括:A robot-based debugging device, wherein the device includes:
    机器人技能获取模块,配置为获取机器人技能;Robot skill acquisition module, configured to acquire robot skills;
    机器人技能加载模块,配置为将所述机器人技能加载到预先建立的机器人虚拟对象中;a robot skill loading module, configured to load the robot skill into a pre-established robot virtual object;
    虚拟仿真环境启动模块,配置为启动所述机器人技能对应的虚拟仿真环境;a virtual simulation environment startup module, configured to start the virtual simulation environment corresponding to the robot skills;
    机器人技能调试模块,配置为在所述虚拟仿真环境中,利用所述机器人虚拟对象执行所述机器人技能,得到所述机器人技能对应的调试结果。The robot skill debugging module is configured to use the robot virtual object to execute the robot skill in the virtual simulation environment to obtain a debugging result corresponding to the robot skill.
  8. 根据权利要求7所述的装置,其中,所述机器人技能调试模块包括:The apparatus of claim 7, wherein the robotics skill debugging module comprises:
    机器人虚拟对象加载子模块,配置为在所述虚拟仿真环境中加载所述机器人虚拟对象;a robot virtual object loading submodule, configured to load the robot virtual object in the virtual simulation environment;
    机器人技能执行子模块,配置为利用所述机器人虚拟对象执行所述机器人技能得到第一结果;a robot skill execution sub-module, configured to use the robot virtual object to execute the robot skill to obtain a first result;
    预期结果获取子模块,配置为获取所述机器人技能对应的预期结果;an expected result obtaining sub-module, configured to obtain the expected result corresponding to the robot skill;
    调试结果获取子模块,配置为比较所述第一结果和所述预期结果得到所述机器人技能对应的调试结果。A debugging result obtaining sub-module is configured to compare the first result with the expected result to obtain a debugging result corresponding to the robot skill.
  9. 一种计算机存储介质,在所述计算机存储介质上存储了程序指令,所述程序指令在运行时实现如权利要求1至6任一项所述的机器人技能调试方法。A computer storage medium storing program instructions on the computer storage medium, the program instructions implementing the robotic skill debugging method according to any one of claims 1 to 6 when running.
  10. 一种电子设备,包括处理器以及存储有执行指令的存储器,当所述处理器执行所述存储器存储的所述执行指令时,所述处理器执行如权利要求1至6任一项所述的机器人技能调试方法。An electronic device, comprising a processor and a memory storing execution instructions, when the processor executes the execution instructions stored in the memory, the processor executes the execution instructions according to any one of claims 1 to 6 Robot skill debugging method.
PCT/CN2021/122361 2020-11-05 2021-09-30 Robot ability debugging method, apparatus, storage medium, and electronic device WO2022095653A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202011223675.4 2020-11-05
CN202011223675.4A CN112318513A (en) 2020-11-05 2020-11-05 Robot skill debugging method and device, storage medium and electronic equipment

Publications (1)

Publication Number Publication Date
WO2022095653A1 true WO2022095653A1 (en) 2022-05-12

Family

ID=74317162

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/122361 WO2022095653A1 (en) 2020-11-05 2021-09-30 Robot ability debugging method, apparatus, storage medium, and electronic device

Country Status (2)

Country Link
CN (1) CN112318513A (en)
WO (1) WO2022095653A1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112318513A (en) * 2020-11-05 2021-02-05 达闼机器人有限公司 Robot skill debugging method and device, storage medium and electronic equipment
CN113110176B (en) * 2021-04-15 2022-11-15 北京云迹科技股份有限公司 Robot-based running state control method and related equipment
CN113918196B (en) * 2021-12-10 2022-03-04 北京云迹科技有限公司 Data processing method, upgrading method, device, server and mobile robot
CN117234935B (en) * 2023-09-28 2024-05-14 重庆赛力斯新能源汽车设计院有限公司 Test method and device based on illusion engine, electronic equipment and storage medium

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105700385A (en) * 2016-04-21 2016-06-22 奇弩(北京)科技有限公司 Robot adjusting simulation platform
CN105911986A (en) * 2016-04-25 2016-08-31 百度在线网络技术(北京)有限公司 Unmanned vehicle perception test system and test method
CN109782737A (en) * 2019-01-28 2019-05-21 平安科技(深圳)有限公司 Unmanned vehicle analog detection method and system
US20190278698A1 (en) * 2018-03-07 2019-09-12 RightHook, Inc. Autonomous Vehicle Simulation And Testing
CN110489828A (en) * 2019-07-31 2019-11-22 武汉理工大学 A kind of pilotless automobile virtual measurement platform
CN112001050A (en) * 2020-08-24 2020-11-27 上海电机***节能工程技术研究中心有限公司 Equipment debugging control method and device, electronic equipment and readable storage medium
CN112318513A (en) * 2020-11-05 2021-02-05 达闼机器人有限公司 Robot skill debugging method and device, storage medium and electronic equipment

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101920233A (en) * 2010-07-09 2010-12-22 广东工业大学 System and method for comprehensively controlling spraying industrial robot based on virtual reality technology
WO2012009817A1 (en) * 2010-07-22 2012-01-26 Cogmation Robotics Inc. A non-programmer method for creating simulation-enabled 3d robotic models for immediate robotic simulation, without programming intervention
JP6950347B2 (en) * 2017-08-10 2021-10-13 オムロン株式会社 Information processing equipment, information processing methods and programs
CN110334030B (en) * 2019-07-11 2024-03-29 深圳市腾讯信息技术有限公司 Application testing method, device, terminal and computer readable storage medium
CN111265872B (en) * 2020-01-15 2021-08-10 腾讯科技(深圳)有限公司 Virtual object control method, device, terminal and storage medium
CN111589131B (en) * 2020-04-24 2022-02-22 腾讯科技(深圳)有限公司 Control method, device, equipment and medium of virtual role

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105700385A (en) * 2016-04-21 2016-06-22 奇弩(北京)科技有限公司 Robot adjusting simulation platform
CN105911986A (en) * 2016-04-25 2016-08-31 百度在线网络技术(北京)有限公司 Unmanned vehicle perception test system and test method
US20190278698A1 (en) * 2018-03-07 2019-09-12 RightHook, Inc. Autonomous Vehicle Simulation And Testing
CN109782737A (en) * 2019-01-28 2019-05-21 平安科技(深圳)有限公司 Unmanned vehicle analog detection method and system
CN110489828A (en) * 2019-07-31 2019-11-22 武汉理工大学 A kind of pilotless automobile virtual measurement platform
CN112001050A (en) * 2020-08-24 2020-11-27 上海电机***节能工程技术研究中心有限公司 Equipment debugging control method and device, electronic equipment and readable storage medium
CN112318513A (en) * 2020-11-05 2021-02-05 达闼机器人有限公司 Robot skill debugging method and device, storage medium and electronic equipment

Also Published As

Publication number Publication date
CN112318513A (en) 2021-02-05

Similar Documents

Publication Publication Date Title
WO2022095653A1 (en) Robot ability debugging method, apparatus, storage medium, and electronic device
Huang et al. Code3: A system for end-to-end programming of mobile manipulator robots for novices and experts
JP6144845B2 (en) System and method for defining movements of multiple robots performing a show cooperatively
JP6950347B2 (en) Information processing equipment, information processing methods and programs
Iftikhar et al. An automated model based testing approach for platform games
Hohl et al. Aibo and Webots: Simulation, wireless remote control and controller transfer
US20130275091A1 (en) Non-programmer method for creating simulation-enabled 3d robotic models for immediate robotic simulation, without programming intervention
US9262299B1 (en) Simulation observability and control of all hardware and software components of a virtual platform model of an electronics system
Lamberti et al. Virtual character animation based on affordable motion capture and reconfigurable tangible interfaces
US9262305B1 (en) Simulation observability and control of all hardware and software components of a virtual platform model of an electronics system
CN107423049A (en) Realize method, browser and the terminal device of online programming
CN103838563A (en) Program developing method for automatic device
WO2019097793A1 (en) Information processing device and information processing method, computer program, and program production method
Pérez-Colado et al. UAdventure: Simplifying narrative serious games development
CN112973130B (en) Playback model construction method, device, equipment and storage medium of virtual scene
KR102391593B1 (en) Robot's simulator device and the simulation execution method thereof
Ramli et al. An overview of simulation software for non-experts to perform multi-robot experiments
Englhardt et al. Exploring and characterizing large language models for embedded system development and debugging
Nagy et al. VPDSL: a DSL for software in the loop simulations covering material flow
Lier et al. Continuous integration for iterative validation of simulated robot models
Estivill-Castro et al. Continuous Integration for Testing Full Robotic Behaviours in a GUI-stripped Simulation.
Amigoni et al. Good experimental methodologies and simulation in autonomous mobile robotics
Munich et al. Integration for Complex Consumer Robotic Systems: Case Studies and Analysis
Szaj et al. New Trends In Industry 4.0–Voice Control
Zidianakis et al. ACTIVITY ANALYSIS (ACTA): EMPOWERING SMART GAME DESIGN WITH A GENERAL PURPOSE FSM DESCRIPTION LANGUAGE.

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21888350

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 28-09-2023)

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 28/09/2023)

122 Ep: pct application non-entry in european phase

Ref document number: 21888350

Country of ref document: EP

Kind code of ref document: A1