Method, system and device for developing a robot motion trajectory

By generating runtime code based on robot type and operation type through the server, the problem of low efficiency in robot motion trajectory development in existing technologies is solved, enabling rapid generation and optimization of runtime code and improving agile development efficiency.

CN115904330BActive Publication Date: 2026-01-16ANHUI PEITIAN ROBOT GRP CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211699703.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-28
Publication Date
2026-01-16
Estimated Expiration
2042-12-28

AI Technical Summary

Technical Problem

In existing technologies, the development efficiency of robot motion trajectories is low, and it is impossible to quickly generate basic trajectories that can adapt to different scenarios, resulting in low efficiency in agile development.

Method used

The server determines multiple sets of preset trajectory codes based on the robot type and operation type, assembles the running code based on the code template, and sends it to the robot. The robot stores and marks the corresponding relationship, thus realizing the rapid generation of running code.

Benefits of technology

It improves the efficiency of robot motion trajectory development, enables agile development, reduces development costs and time, and increases the development speed for operators.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115904330B_ABST
    Figure CN115904330B_ABST
Patent Text Reader

Abstract

The embodiment of the application discloses a robot motion trajectory development method, system and device, which is used for improving the development efficiency of the robot motion trajectory and realizing the agile development of the motion trajectory. The method comprises the following steps: in response to a trajectory development instruction of a robot, determining a plurality of groups of preset trajectory codes corresponding to the robot type and operation type of the robot in the trajectory development instruction; assembling the plurality of groups of preset trajectory codes based on a preset code template to obtain a running code; and sending the running code to the robot, so that the robot stores the running code and marks the corresponding relationship between the running code and the robot type and the operation type.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] Embodiments of the present application relate to the field of agile development, and in particular to a method, system and device for developing a robot motion trajectory. BACKGROUND

[0002] Currently, intelligent robots on the market are all designed with an interface for interaction to perform program writing, running, and various instructions for interaction between an operator and the robot. Usually, a developer defines various function points of a system and instructions to be executed in a development process, so that an operator can only execute functions according to the function points or can only operate the robot through the related instructions, and cannot autonomously generate a basic motion trajectory, and the agile development efficiency is not high.

[0003] For a system for such interaction, since the core is to control the motion trajectory of the robot, and different modes of trajectories are different in different application scenarios, the rapid generation of a basic trajectory in different scenarios so that an operator can quickly use the generated basic trajectory to further optimize the motion trajectory is particularly important due to the consideration of agile development. SUMMARY

[0004] Embodiments of the present application provide a method, system and device for developing a robot motion trajectory, for improving the development efficiency of the robot motion trajectory and realizing agile development of the motion trajectory.

[0005] A first aspect of embodiments of the present application provides a method for developing a robot motion trajectory, applied to a server, and the method comprises:

[0006] In response to a trajectory development instruction of a robot, determining a plurality of groups of preset trajectory codes corresponding to the robot type and the operation type of the robot in the trajectory development instruction;

[0007] Assembling the plurality of groups of preset trajectory codes based on a preset code template to obtain a running code;

[0008] Sending the running code to the robot, so that the robot stores the running code and marks the corresponding relationship between the running code and the robot type and the operation type.

[0009] In a specific implementation manner, the method further comprises:

[0010] Obtaining trajectory data constraints of the robot, and determining trajectory data of the robot performing the operation according to the trajectory data constraints and the running code;

[0011] Sending the trajectory data to the robot, and the robot supports display of the trajectory data.

[0012] In a specific implementation, the trajectory data constraint includes data granularity, data structure, data attribute, and / or connection template.

[0013] The second aspect of the embodiments of the present application provides a method for developing a robot motion trajectory, applied to a robot, and the method comprises:

[0014] In response to a trajectory development request, determining an operation type and a robot type of the robot;

[0015] Sending a trajectory development instruction containing the robot type and the operation type to a server, so that the server determines a running code according to the trajectory development instruction;

[0016] Storing the running code sent by the server and marking the correspondence between the running code and the robot type and the operation type.

[0017] In a specific implementation, the method further comprises:

[0018] Sending a trajectory data constraint to the server, so that the server determines trajectory data according to the trajectory data constraint and the running code, the trajectory data including pose data of different nodes in the operation process of the robot;

[0019] Receiving the trajectory data sent by the server, and the robot supports the display of the trajectory data.

[0020] In a specific implementation, the operation type and the robot type of the robot are determined in response to a trajectory development request, comprising:

[0021] Determining the operation type selected by a user through a menu interface and the robot type of the robot.

[0022] In a specific implementation, the robot type includes a structure coordinate system type, a control mode, a number of joints, and a work mode of the robot.

[0023] The third aspect of the embodiments of the present application provides a server, comprising:

[0024] A determining unit is configured to determine a plurality of groups of preset trajectory codes corresponding to an operation type and a robot type of a robot in a trajectory development instruction according to the trajectory development instruction in response to the trajectory development instruction of the robot;

[0025] An assembling unit is configured to assemble the plurality of groups of preset trajectory codes to obtain a running code based on a preset code template.

[0026] The sending unit is configured to send the running code to the robot, so that the robot stores the running code and marks a correspondence between the running code and the robot type and the operation type.

[0027] In an implementation manner, the server further includes an obtaining unit;

[0028] The obtaining unit is configured to obtain trajectory data constraints of the robot, and determine trajectory data of the robot performing the operation according to the trajectory data constraints and the running code.

[0029] The sending unit is further configured to send the trajectory data to the robot, and the robot supports display of the trajectory data.

[0030] In an implementation manner, the trajectory data constraints include data granularity, data structure, data attribute and / or connection template.

[0031] The fourth aspect of the embodiment of the present application provides a robot, which comprises:

[0032] The determining unit is configured to determine an operation type and a robot type of the robot in response to a trajectory development request.

[0033] The sending unit is configured to send a trajectory development instruction containing the robot type and the operation type to a server, so that the server determines a running code according to the trajectory development instruction.

[0034] The storage unit is configured to store the running code sent by the server, and mark a correspondence between the running code and the robot type and the operation type.

[0035] In an implementation manner, the robot further includes a receiving unit.

[0036] The sending unit is further configured to send trajectory data constraints to the server, so that the server determines trajectory data according to the trajectory data constraints and the running code, and the trajectory data includes pose data of different nodes in the operation process of the robot.

[0037] The receiving unit is further configured to receive the trajectory data sent by the server, and the robot supports display of the trajectory data.

[0038] In an implementation manner, the determining unit is specifically configured to determine an operation type and a robot type of the robot selected by a user through a menu interface.

[0039] In a specific implementation, the robot type includes a structure coordinate system type, a control mode, a number of joints, and a working mode of the robot.

[0040] The embodiment of the present application provides a robot motion trajectory development system, including a server and a robot.

[0041] The server is configured to determine a plurality of groups of preset trajectory codes corresponding to the robot type and the operation type of the robot according to a trajectory development instruction of the robot in response to the trajectory development instruction; assemble the plurality of groups of preset trajectory codes based on a preset code template to obtain a running code; and send the running code to the robot, so that the robot stores the running code and marks a corresponding relationship between the running code and the robot type and the operation type.

[0042] The robot is configured to determine an operation type and a robot type of the robot in response to a trajectory development request; send a trajectory development instruction containing the robot type and the operation type to the server, so that the server determines a running code according to the trajectory development instruction; and store the running code sent by the server and mark a corresponding relationship between the running code and the robot type and the operation type.

[0043] The embodiment of the present application provides a robot motion trajectory development system, including:

[0044] A central processing unit, a memory and an input and output interface;

[0045] The memory is a transitory storage memory or a persistent storage memory.

[0046] The central processing unit is configured to communicate with the memory and perform instruction operation in the memory to execute the method in the first aspect or the second aspect.

[0047] The embodiment of the present application provides a computer program product containing instructions, when the computer program product is executed on a computer, so that the computer executes the method in the first aspect or the second aspect.

[0048] The embodiment of the present application provides a computer storage medium, the computer storage medium stores instructions, when the instructions are executed on a computer, so that the computer executes the method in the first aspect or the second aspect.

[0049] From the above technical solution can be seen, the embodiment of the application has the following advantages: the robot type and operation type included in the trajectory development instruction can be determined, and then the determined multiple sets of preset trajectory codes are assembled based on the preset code template to obtain running code, and the running code is sent to the robot, so that the robot executes the operation corresponding to the operation type included in the trajectory development instruction according to the running code. Only the robot type and operation type need to be obtained, and the running code can be generated, so that the robot executes the corresponding operation according to the running code, improves the trajectory development efficiency, and realizes agile development. BRIEF DESCRIPTION OF DRAWINGS

[0050] Figure 1 A system architecture diagram of the robot motion trajectory development method disclosed by the embodiment of the application is provided.

[0051] Figure 2 A flowchart of the robot motion trajectory development method disclosed by the embodiment of the application is provided.

[0052] Figure 3 An example diagram of the robot type distribution disclosed by the embodiment of the application is provided.

[0053] Figure 4 Another flowchart of the robot motion trajectory development method disclosed by the embodiment of the application is provided.

[0054] Figure 5 A structural diagram of the server disclosed by the embodiment of the application is provided.

[0055] Figure 6 A structural diagram of the robot disclosed by the embodiment of the application is provided.

[0056] Figure 7 A structural diagram of the robot motion trajectory development device disclosed by the embodiment of the application is provided. DETAILED DESCRIPTION

[0057] The technical solutions in the embodiments of the application will be described clearly and completely below with reference to the drawings in the embodiments of the application. Obviously, the described embodiments are only part of the embodiments of the application, not all the embodiments. Based on the embodiments in the application, all other embodiments obtained by those skilled in the art without creative labor are within the scope of protection of the application.

[0058] In order to better describe the technical solutions of the embodiments of the application, the following explains some basic concepts mentioned in the embodiments of the application:

[0059] The human-computer interaction system refers to the interface software system for communication between human and robot.

[0060] The origin and coordinate axes of the world coordinate system remain unchanged. The world coordinate system is composed of three mutually perpendicular and intersecting coordinate axes X-axis, Y-axis and Z-axis; the base coordinate system is transformed relative to the world coordinate system and is used for calibrating the robot; the flange coordinate system is calibrated relative to the flange (referring to the flange flange plate of the last axis of the robot end, which can be the flange flange plate of the end sixth axis in some embodiments).

[0061] The basic trajectory refers to a known simple motion trajectory obtained by the robot through communication with the bus; the trajectory planning refers to determining the path of each node (hand or joint) of the robot between the starting point and the ending point, the speed at each path point and the acceleration at each path point; the joint space planning refers to planning the motion of each joint; the Cartesian space trajectory planning refers to planning the pose trajectory of the robot end hand.

[0062] The velocity feedback is the feedback of the velocity and angular velocity of each joint; the position feedback is the feedback of the pose trajectory of each joint.

[0063] The trajectory conversion refers to determining the trajectory data such as the velocity and pose information of each node from the running code.

[0064] The data structure is the way of computer storage and organization of data. The data structure refers to a collection of data elements that have one or more specific relationships with each other. Generally, higher running efficiency or storage efficiency can be achieved by selecting a data structure.

[0065] The human-computer interaction refers to the information exchange process between the human and the computer using a certain dialogue language and in a certain interactive manner for completing a certain task. The agility and ease of use of the existing human-computer interaction system in the robot motion trajectory development scene still need to be improved.

[0066] The current robot motion trajectory development method is as follows: the developer uses software and feedback data in the production environment to model in the development environment according to the trajectory development request of the operator; after modeling, the operator generates a preliminary motion trajectory through trajectory planning, and in the second step, the preliminary motion trajectory is simulated in the simulation environment obtained by modeling; after simulation, the motion trajectory is deployed together with the software of the human-computer interaction system to the actual production environment, and in the fourth step, the operator makes small-range corrections to the motion trajectory based on the production environment, and finally obtains the actual motion trajectory, which is used for subsequent implementation of robot functions. That is, the development of the motion trajectory is completed in the simulation environment, and after the development is completed, the determined motion trajectory is imported into the human-computer interaction system used in the production environment, and then the determined motion trajectory is compared with the actual motion trajectory of the robot to correct the errors.

[0067] Through the above description of the existing robot motion trajectory development method, it can be found that the existing robot motion trajectory development method has the following problems: first, the development environment needs to deploy a simulation environment, and when building the simulation environment, a computer device and a robot device consistent with the production site are needed, and the hardware cost and the labor cost are both high; second, the reaction speed is slow, because the developer develops the code based on the simulation environment, and the developer needs to communicate with the robot user technical personnel (i.e. the operator) multiple times to obtain the device parameters (including but not limited to the robot type and the operation type) in the production environment, which slows down the development progress. First, the operator proposes the trajectory development requirements, then the developer develops and runs the code in the simulation environment, and the operator needs to calibrate based on the production environment based on the running code developed by the developer. Under this development process, a lot of time is spent on the development of the developer to establish the simulation environment and develop the running code.

[0068] The development system of the robot motion trajectory is the core of the running code of the robot (the running code of the robot determines the motion trajectory of the robot), and different robot types need different running codes to perform the same operation type operation. Therefore, based on the consideration of agile development, it is particularly important to quickly generate the running code of different robots performing different operation types. At the same time, considering the problem of low development efficiency of the existing robot motion trajectory, the present application provides a robot motion trajectory development method and related equipment, and the robot motion trajectory development method provided by the present application can quickly generate the running code. The quick generation of the running code enables the operator to quickly obtain the running code, and optimizes the obtained running code based on the generation environment to obtain the final actual use running code, which can quickly improve the trajectory development efficiency.

[0069] Please refer to Figure 1The application provides a robot motion trajectory development system, which comprises a server 101 and robots 102 (at least one). The server 101 and different robots 102 exchange data through a bus. The different robots 102 inform the server 101 of the robot type and the operation type to be performed through a trajectory development instruction. The server 101 can generate a motion trajectory suitable for each robot 102 according to the robot motion trajectory development method provided in the embodiments of the application, thereby improving the efficiency of agile development. In actual application, the robot 102 sends the robot type and the operation type to the server 101 in the form of a trajectory development instruction. The server 101 can determine a plurality of groups of preset trajectory codes according to the robot type and the operation type. Then, the server 101 assembles trajectory codes according to a preset trajectory code template to obtain running codes. Finally, the robot 102 saves the running codes required for performing the operation of the aforementioned operation type in the local and records the correspondence between the running codes and the robot type and the operation type, thereby completing the development of the robot motion trajectory. In the embodiments of the application, the server 101 can be a physical server, a server cluster or a distributed system composed of a plurality of physical servers, a cloud server providing cloud database, cloud service, cloud computing, cloud function, cloud storage, network service, cloud communication, middleware service, domain name service, security service, CDN, and basic cloud computing services such as big data and artificial intelligence platform.

[0070] In addition, in actual application, the robot motion trajectory development system further comprises a man-machine interface loaded on the server 101 and / or the robot 102, so as to perform the programming, running and various instructions of the interaction between the operator and the robot.

[0071] Please refer to Figure 2 On the basis of the aforementioned robot motion trajectory development system, the application provides a robot motion trajectory development method. The method provided in the embodiments of the application can be executed by the server 101 as shown in the figure, executed by the robot 102, or executed by the server 101 and the robot 102 together. The specific execution can be determined according to the actual application scene, which is not limited here. The method provided in the embodiments of the application comprises the following steps: Figure 1

[0072] 201. The robot determines the operation type and the robot type of the robot in response to a trajectory development request.

[0073] ​When the trajectory development request is acquired, the robot can determine its robot type and the operation type corresponding to the motion trajectory (i.e., the running code) to be developed according to the trajectory development request. The operation type includes but is not limited to grasping or placing. It can be understood that when the required motion trajectory is not completed by one operation (for example, it is required to pick up from A and place at B), the operation type at this time includes multiple operation types arranged in sequence (such as operation types including picking up and placing), which is not limited here.

[0074] In addition, the robot type contains at least one robot sub-type, please refer to Figure 3 In some specific embodiments, the robot type can contain four robot sub-types, including a structure coordinate system type (including but not limited to a Cartesian coordinate structure diagram, a cylindrical coordinate structure diagram, a polar coordinate structure diagram, and a spherical coordinate structure diagram), a control mode (including but not limited to servo control and non-servo control), a number of joints (including but not limited to four-axis and six-axis), and a work mode (including but not limited to fixed and mobile, i.e., whether the robot is movable (fixed) or movable (mobile) during work). Figure 3 The robot sub-types of the robot type shown are only examples, and the robot type of the embodiments of the present application can contain any number of robot sub-types. Each robot sub-type can also have a corresponding robot sub-type, and the robot sub-type is not limited to Figure 3 the type shown in the above, which is specifically set by the developer according to the needs, which is not limited here. The structure of the above operation type is similar to Figure 3 and Figure 3 The menu structure of the robot type in the above embodiments is similar, which is not repeated here.

[0075] In some specific implementations, the trajectory development request can be selected by the user through a menu interface. The operation type selected by the user through the menu interface and the robot type of the robot, or the operation type selected by the robot through the menu interface, can be obtained by the robot mobilization system parameter, which is not limited here.

[0076] Further, the menu interface contains several menus, including but not limited to a robot type menu and an operation type menu. In some specific embodiments, each menu can be implemented by a tree structure to facilitate the derivation of subsequent child nodes (sub-types). Specifically, the menu structure of the robot type menu can be as Figure 3 shown, and the following uses a multi-node tree structure to illustrate Figure 3The menu structure of the robot type menu: the first column is the parent node, and there are several child trees, like several families of offspring, the first family is the coordinate structure family, and the following is other different families, and each family has different members, such as the Cartesian coordinate structure member in the coordinate structure family, different members of different families can be selected according to the menu, that is, the robot type is selected. It can be understood that the menu structure can also be a linked list or any structure that can realize node design, and the present embodiment is not limited.

[0077] In practical applications, the menu interface can be displayed to the user through the display screen of the robot, or through the display screen of the terminal device. The terminal device can be a smart phone, a tablet computer, a notebook computer, a desktop computer, a palm computer, a mobile internet device (MID), a wearable device (such as a smart watch, a smart bracelet, etc.), a smart computer, a smart vehicle, and the like. The terminal device can establish a communication connection with the robot and / or the server, and the communication connection is not limited to the connection method, which can be directly or indirectly connected through wired communication, or directly or indirectly connected through wireless communication, and the like. The specific application scenario can be determined, which is not limited here.

[0078] 202. The robot sends a trajectory development instruction containing the robot type and the operation type to the server.

[0079] The robot generates a trajectory development instruction according to the determined robot type and operation type, and then sends the trajectory development instruction to the server, so that the server determines the running code required for the robot to perform the operation corresponding to the operation type according to the trajectory development instruction.

[0080] 203. The server determines a plurality of groups of preset trajectory codes corresponding to the robot type and the operation type in the trajectory development instruction.

[0081] After the server receives the trajectory development instruction sent by the robot, the server determines a plurality of groups of preset trajectory codes corresponding to the robot type and the operation type in the trajectory development instruction.

[0082] Specifically, before the server determines the corresponding multiple sets of trajectory codes, the developer presets multiple sets of trajectory codes in the server (here, the preset trajectory codes are written by the developer according to the robot types that are likely to occur in the actual use of the robot and the operation types that are likely to occur), each set of trajectory codes corresponds to an operation type (here, the corresponding operation type only includes one operation and does not include two operations) or a robot type (or a robot sub-type), that is, according to the robot type and the operation type in the trajectory development instruction, the multiple sets of preset trajectory codes can be determined correspondingly. For example, the robot type includes two robot sub-types (six-axis and servo control), and the operation type includes one operation sub-type (grabbing), and the server can determine one set of trajectory codes corresponding to the six-axis, one set of trajectory codes corresponding to the servo control, and one set of trajectory codes corresponding to the grabbing according to the robot type and the operation type.

[0083] 204. The server assembles the corresponding multiple sets of preset trajectory codes based on the preset code template to obtain a running code.

[0084] After the server determines the corresponding multiple sets of preset trajectory codes, the server assembles the multiple sets of trajectory codes based on the preset code template to obtain a running code. The code template is determined by the developer according to the actual running code rule and the development requirement, and the server assembles the determined multiple sets of trajectory codes based on the code template and the actual requirement of the running code to obtain a running code for the robot to run.

[0085] In some specific implementations, the code template generally specifies the position of each or each set of preset trajectory code in the complete running code structure framework, and the structure framework of the overall running code. Based on the preset code template, the corresponding multiple sets of preset trajectory codes are assembled, that is, each set of preset trajectory code is placed in the code template including the running code structure framework, and the running code can be obtained.

[0086] 205. The server sends the running code to the robot.

[0087] 206. The robot stores the running code sent by the server and marks the corresponding relationship between the running code and the robot type and the operation type.

[0088] After the robot receives the running code sent by the server, the running code needs to be stored for use. At the same time, in order to quickly find the running code when the running code is needed in the corresponding use scenario (i.e., the robot type and the operation type corresponding to the running code), the corresponding relationship between the running code and the corresponding use scenario needs to be marked. Specifically, the running code can be stored in the storage unit corresponding to the corresponding use scenario of the robot, so as to facilitate the robot to perform the operation corresponding to the operation type according to the running code.

[0089] It can be known that the foregoing and subsequent embodiments of the present application are not limited to the types of software systems of the robot and the types of software systems of the server, and the determination of the running code can be completed in different development environments (here, referring to software systems).

[0090] In the embodiments of the present application, the plurality of groups of preset trajectory codes can be determined according to the type of the robot and the type of operation included in the trajectory development instruction, and then the plurality of groups of preset trajectory codes determined are assembled based on the preset code template to obtain the running code, and the running code is sent to the robot, so that the robot executes the operation corresponding to the type of operation included in the trajectory development instruction according to the running code. Only the type of the robot and the type of operation need to be obtained, and the running code can be generated, so that the robot executes the corresponding operation according to the running code, improves the trajectory development efficiency, and realizes agile development.

[0091] Considering that the operator can only observe the running state of the robot by naked eye when the robot executes the running code, and then make certain adjustment and optimization on the running code of the robot to obtain the final actual running code, in some specific implementation manners, the robot can send trajectory data constraints of the trajectory data to the server, the server can determine the pose data of each node of the robot at different time according to the trajectory data constraints and the running code when the robot executes the motion code, and display the trajectory data to the operator, so as to facilitate the operator to optimize and adjust the running code. Specifically, the display of the trajectory data can be realized by marking.

[0092] Specifically, the trajectory data constraints include but are not limited to data granularity, data structure, data attribute and or connection template, the server calculates the pose data of each node of the robot at different time (determined according to the data granularity) based on the running code, and assembles the pose data of different nodes at different time according to the connection template to obtain the trajectory data in the prescribed data attribute and data structure. Among them, the data granularity specifies how much time each node is calculated at the current time, the data structure specifies the structure body defined by the packaging of the pose data, the data attribute specifies the type of the pose data (such as integer data or floating point data), the connection template specifies the way in which the trajectory position data of each point displayed to the user is packaged into a plurality of structure bodies, and the data output mode, such as forward output from start to end, can also be output in reverse order, which is not limited here. It can be known that the foregoing examples of trajectory data constraints and different constraint contents are only for description, and are not specific limitations on the trajectory data constraints of the embodiments of the present application.

[0093] Further, the robot can display the pose data of each node of the robot at different time points through the display screen of the robot or the display screen of the terminal device in communication connection with the robot, and can also display the trajectory data corresponding to the motion code when the robot executes the motion code, which is not limited here.

[0094] The embodiment of the present application can display the pose data of each node of the robot to the operator when the robot executes the motion code through the display screen, and roll display the pose data of each node at different time points based on the data granularity, which is also an embodiment of agile development.

[0095] The foregoing describes different embodiments and implementation manners of the robot motion trajectory development method of the present application. Please refer to Figure 4 , and the following introduces the flow of the robot motion trajectory development method of the present application from the implementation perspective.

[0096] First, before the robot executes the robot motion trajectory development method of the present application, the operator needs to define the robot type, define the operation type, define the trajectory code, and define the way of displaying the menu interface of the interface expression tool. The display of the menu interface can be adjusted by the operator or the developer according to the development requirements, and the menu interface can include multiple menus, which are not limited here. In some specific embodiments, the operator can define the robot type and the operation type displayed on the menu interface on the basis of the robot type and the operation type defined by the developer, and each menu includes several levels of directories (how many levels of subtypes the robot type and the operation type include respectively).

[0097] Next, when the operator needs to develop the motion trajectory, the interface expression tool can display different menus to the operator through the menu interface according to the definition, and the operator selects the use scene (motion trajectory) on the menu interface, wherein the use scene refers to the operation type and the operation type corresponding to the operation on which the motion trajectory runs, that is, the selection of the robot type and the operation type.

[0098] Then, the running code is obtained through the trajectory conversion tool, that is, the running code is determined through the server. The determination manner of the running code is similar to the foregoing embodiments, and is not described herein.

[0099] Finally, through the selection of the trajectory data, the trajectory data is displayed through the display screen of the robot or the display screen of the terminal device in communication connection with the robot when the robot executes the corresponding motion code. The determination manner of the trajectory data is similar to the foregoing embodiments, and is not described herein.

[0100] The core of the embodiment of the present application is that the original development process of separate developers developing running code is directly embedded into the real production environment (determined by the robot type and operation type) through a free and flexible selection method (robot type and operation type), without the need for developers to spend a lot of time deploying a simulation environment to develop and run code, and truly achieving rapid and agile development in the actual production link.

[0101] In the embodiment of the present application, the robot type, operation type and corresponding trajectory code of each type have been deployed by the developer before the operation personnel develops the trajectory, so that the developer does not have to spend time and effort to build a simulation environment when the operation personnel develops the trajectory, and the server can directly return the determined motion code, thereby reducing the development cost. In addition, the server can quickly determine the running code and return it to the robot according to the change of the robot use scene (robot type and operation type), thereby improving the efficiency of trajectory development.

[0102] Please refer to Figure 5 The embodiment of the present application provides a server, comprising:

[0103] The determining unit 501 is configured to determine a plurality of groups of preset trajectory codes corresponding to the robot type and operation type of the robot according to the trajectory development instruction of the robot in response to the trajectory development instruction of the robot;

[0104] The assembling unit 502 is configured to assemble the plurality of groups of preset trajectory codes based on a preset code template to obtain a running code;

[0105] The sending unit 503 is configured to send the running code to the robot, so that the robot stores the running code and marks the corresponding relationship between the running code and the robot type and operation type.

[0106] In a specific implementation manner, the server further comprises an obtaining unit;

[0107] The obtaining unit is configured to obtain trajectory data constraints of the robot, and determine trajectory data of the operation of the robot according to the trajectory data constraints and the running code;

[0108] The sending unit 503 is further configured to send the trajectory data to the robot, and the robot supports display of the trajectory data.

[0109] In a specific implementation manner, the trajectory data constraints comprise data granularity, data structure, data attribute and / or connection template.

[0110] Please refer to Figure 6 The embodiment of the present application provides a robot, comprising:

[0111] The determining unit 601 is configured to determine the operation type and the robot type of the robot in response to a trajectory development request.

[0112] The sending unit 602 is configured to send, to a server, a trajectory development instruction containing the robot type and the operation type, so that the server determines a running code according to the trajectory development instruction.

[0113] The storage unit 603 is configured to store the running code sent by the server and mark a corresponding relationship between the running code and the robot type and the operation type.

[0114] In an implementation manner, the robot further includes a receiving unit.

[0115] The sending unit 602 is further configured to send, to the server, trajectory data constraints, so that the server determines trajectory data according to the trajectory data constraints and the running code, the trajectory data including pose data of different nodes in an operation process of the robot.

[0116] The receiving unit is further configured to receive the trajectory data sent by the server, and the robot supports display of the trajectory data.

[0117] In an implementation manner, the determining unit 601 is specifically configured to determine the operation type and the robot type of the robot selected by a user through a menu interface.

[0118] In an implementation manner, the robot type includes a structure coordinate system type, a control mode, a number of joints and a work mode of the robot.

[0119] Figure 7 FIG. 7 is a structural schematic diagram of a robot motion trajectory development device provided by an embodiment of the present application. The robot motion trajectory development device 700 can include one or more central processing units (CPUs) 701 and a memory 705, and the memory 705 stores one or more application programs or data.

[0120] The memory 705 can be volatile storage or persistent storage. The programs stored in the memory 705 can include one or more modules, and each module can include a series of instruction operations in the robot motion trajectory development device. Further, the central processing unit 701 can be configured to communicate with the memory 705 and execute the series of instruction operations in the memory 705 on the robot motion trajectory development device 700.

[0121] The robot motion trajectory development device 700 can also include one or more power supplies 702, one or more wired or wireless network interfaces 703, one or more input / output interfaces 704, and / or one or more operating systems, such as Windows Server™, Mac OS X™, Unix™, Linux™, FreeBSD™, etc.

[0122] The central processing unit 701 can perform the operations of the robot motion trajectory development device in the embodiments described above, which will not be described in detail here. The robot motion trajectory development device can be the server and / or the robot in the embodiments described above. Figures 1 to 6 The central processing unit 701 can perform the operations of the robot motion trajectory development device in the embodiments described above, which will not be described in detail here. The robot motion trajectory development device can be the server and / or the robot in the embodiments described above. Figures 1 to 6 The central processing unit 701 can perform the operations of the robot motion trajectory development device in the embodiments described above, which will not be described in detail here. The robot motion trajectory development device can be the server and / or the robot in the embodiments described above.

[0123] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the method embodiments described above, which will not be described here.

[0124] In several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic, for example, the division of the units is only a logical function division, and actual implementation can have another division manner, for example, a plurality of units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the coupling or direct coupling or communication connection between the units shown or discussed can be indirect coupling or communication connection through some interfaces, devices or units, and can be electrical, mechanical or other forms.

[0125] The units described as separate components can or can not be physically separated, and the components shown as units can or can not be physical units, i.e. they can be located in one place or distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the embodiment scheme.

[0126] In addition, each functional unit in each embodiment of the present application can be integrated in one processing unit, or each unit can exist physically, or two or more units can be integrated in one unit. The integrated unit can be realized in the form of hardware or in the form of a software functional unit.

[0127] The integrated unit, if implemented in the form of a software function unit and sold or used as an independent product, can be stored in a computer readable storage medium. Based on such an understanding, the technical solutions of the present application, essentially or in other words, the part that contributes to the prior art or the whole or part of the technical solutions can be embodied in the form of a software product. The computer software product is stored in a storage medium, and includes a number of instructions to make a computer device (which can be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the method described in various embodiments of the present application. The aforementioned storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM, read-only memory), a random access memory (RAM, random access memory), a magnetic disk or an optical disk, and various media that can store program codes.

[0128] The embodiments of the present application also provide a computer program product containing instructions, which, when the computer program product is run on a computer, enable the computer to execute the method for developing a robot motion trajectory as described above.

Claims

1. A method of developing a robot motion trajectory, characterized by, The method applied to a server comprises: In response to a trajectory development instruction sent by a robot, determining a plurality of groups of preset trajectory codes corresponding to an operation type and a robot type of the robot in the trajectory development instruction; Assembling the plurality of groups of preset trajectory codes corresponding to the operation type and the robot type in the trajectory development instruction based on a position of each group of preset trajectory codes in a complete running code structure framework and a structure framework of the whole running code according to a preset code template, to obtain a running code; Sending the running code to the robot, so that the robot stores the running code and marks a corresponding relationship between the running code and the operation type and the robot type.

2. The method of claim 1, wherein, The method further comprises: Obtaining trajectory data constraints of the robot, and determining trajectory data of the robot performing the operation according to the trajectory data constraints and the running code; Sending the trajectory data to the robot, and the robot supports display of the trajectory data.

3. The method of claim 2, wherein, The trajectory data constraints comprise data granularity, data structure, data attribute and / or a connection template.

4. A method of developing a robot motion trajectory, characterized by, The method applied to a robot comprises: In response to a trajectory development request, determining an operation type and a robot type of the robot; Sending a trajectory development instruction containing the robot type and the operation type to a server, so that the server determines a plurality of groups of preset trajectory codes corresponding to the operation type and the robot type in the trajectory development instruction, assembles the plurality of groups of preset trajectory codes corresponding to the operation type and the robot type based on a position of each group of preset trajectory codes in a complete running code structure framework and a structure framework of the whole running code according to a preset code template, to determine a running code; Storing the running code sent by the server, and marking a corresponding relationship between the running code and the operation type and the robot type.

5. The method of claim 4, wherein, The method further comprises: Sending trajectory data constraints to the server, so that the server determines trajectory data according to the trajectory data constraints and the running code, the trajectory data comprising pose data of different nodes in a process of the robot performing the operation; Receiving the trajectory data sent by the server, and the robot supports display of the trajectory data.

6. The method of claim 4, wherein, The response to the trajectory development request, determining the operation type and the robot type of the robot, comprises: Determining the operation type and the robot type of the robot selected by a user through a menu interface.

7. The method of claim 4, wherein, The robot type comprises a structure coordinate system type, a control mode, a number of joints and a work mode of the robot.

8. A system for developing a robot motion trajectory, characterized by The method comprises: A server and a robot; The server is configured to, in response to a trajectory development instruction sent by a robot, determine a plurality of groups of preset trajectory codes corresponding to an operation type and a robot type of the robot in the trajectory development instruction; Assemble the plurality of groups of preset trajectory codes corresponding to the operation type and the robot type in the trajectory development instruction based on a position of each group of preset trajectory codes in a complete running code structure framework and a structure framework of the whole running code according to a preset code template, to obtain a running code; sending the running code to the robot, so that the robot stores the running code and marks the correspondence between the running code and the robot type and the operation type; the robot is configured to, in response to a trajectory development request, determine an operation type and a robot type of the robot, send a trajectory development instruction containing the robot type and the operation type to a server, so that the server determines a plurality of corresponding groups of preset trajectory codes according to the robot type and the operation type in the trajectory development instruction, assembles the plurality of corresponding groups of preset trajectory codes based on a structure framework and a code position defined by a preset code template to determine a running code; storing the running code sent by the server and marking the correspondence between the running code and the robot type and the operation type.

9. A robot motion trajectory development device characterized by comprising: comprise: a central processing unit, a memory and an input / output interface; the memory is a transitory storage memory or a persistent storage memory; the central processing unit is configured to communicate with the memory and execute instruction operations in the memory to execute the method in any one of claims 1 to 3 or claims 4 to 7.

10. A computer storage medium, characterized in that, the computer storage medium stores instructions, and the instructions, when executed on a computer, cause the computer to execute the method in any one of claims 1 to 3 or claims 4 to 7. the computer storage medium stores instructions, and the instructions, when executed on a computer, cause the computer to execute the method in any one of claims 1 to 3 or claims 4 to 7.

Citation Information

Patent Citations

  • Robot interaction control method, server and robot

    CN106873773A

  • Control method and device of robot

    CN109202882A