Movement control method, device and system, robot and storage medium
Through the main robot sending the main trajectory equation and trajectory parameters, efficient coordination and cooperation between the main robot and the slave robot is solved, solving the problem of large burden on the transmission bus between the robots and reducing the amount of data transmission.
Patent Information
- Application Number
- CN202410096401.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-01-23
- Publication Date
- 2025-07-25
AI Technical Summary
In the coordinated cooperation between robots, due to the large data of Cartesian coordinate system and joint coordinates, the transmission bus between different robots is burdened with heavier burden, which increases the requirements of the transmission bus.
The main trajectory equation and trajectory parameters are sent by the main robot. The main robot determines the main trajectory parameters based on the main position information, and determines the slave position information through the slave trajectory equation of the slave robot, thereby reducing the data transmission burden between the robots.
It effectively reduces the data transmission burden between robots, reduces the requirements of the transmission bus, and realizes efficient coordinated cooperation between robots.
Smart Images

Figure CN120363170A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of robot control, and more specifically, to a movement control method, device, system, robot, and storage medium. Background Art
[0002] With the development of artificial intelligence, robots have emerged. In the collaborative cooperation between different robots, the movement trajectories between different robots are usually coupled with each other. In the related art, by obtaining the real-time Cartesian coordinate system of a certain robot, the moving position of itself is determined according to the real-time Cartesian coordinate system of the robot, so as to realize the coupling of the movement trajectories between different robots. However, due to the large amount of data in the Cartesian coordinate system, the transmission bus burden between different robots is relatively large. Summary of the Invention
[0003] In view of the above problems, the present application provides a movement control method, device, system, robot, and storage medium, which can effectively reduce the burden on the transmission bus between different robots.
[0004] In a first aspect, the present application provides a movement control method, which is applied to a slave robot. The method includes: receiving a main trajectory equation from a master robot; receiving trajectory parameters from the master robot; determining main position information of the master robot according to the main trajectory equation and the trajectory parameters, where the main position information includes multiple position information in the main trajectory equation; determining slave position information according to the main position information and the slave trajectory equation of the slave robot, where the slave position information includes multiple position information in the slave trajectory equation of the slave robot; and moving according to the slave position information.
[0005] In a second aspect, the present application further provides a movement control method, which is applied to a master robot. The method includes: sending a main trajectory equation to a slave robot according to a trajectory coupling synchronization instruction; determining main position information, where the main position information includes multiple position information in the main trajectory equation; determining trajectory parameters in the main trajectory equation according to the main position information; sending the trajectory parameters to the slave robot; and moving according to the main position information.
[0006] In a third aspect, the present application also provides a movement control method, which is applied to a robot structure. The robot structure includes a master robot and a slave robot, and the master robot and the slave robot are controlled by different controllers. The method includes: the master robot sends a master trajectory equation to the slave robot according to a trajectory coupling synchronization instruction; the master robot determines master position information, where the master position information includes multiple position information in the master trajectory equation; the master robot determines trajectory parameters in the master trajectory equation according to the master position information; the master robot sends the trajectory parameters to the slave robot; the slave robot determines the master position information of the master robot according to the master trajectory equation and the trajectory parameters; the slave robot determines slave position information according to the master position information and the slave trajectory equation of the slave robot, where the slave position information includes multiple position information in the slave trajectory equation of the slave robot; the master robot moves according to the master position information; and the slave robot moves according to the slave position information.
[0007] In a fourth aspect, the present application also provides a movement control device, which is applied to the slave robot. The device includes: a first receiving module, configured to receive the master trajectory equation from the master robot; a second receiving module, configured to receive the trajectory parameters from the master robot; a first determining module, configured to determine the master position information of the master robot according to the master trajectory equation and the trajectory parameters, where the master position information includes multiple position information in the master trajectory equation; a second determining module, configured to determine slave position information according to the master position information and the slave trajectory equation of the slave robot, where the slave position information includes multiple position information in the slave trajectory equation of the slave robot; and a movement module, configured to move according to the slave position information.
[0008] In a fifth aspect, the present application also provides a movement control device, which is applied to the master robot. The device includes: a first sending unit, configured to send the master trajectory equation to the slave robot according to a trajectory coupling synchronization instruction; a first determining unit, configured to determine master position information, where the master position information includes multiple position information in the master trajectory equation; a second determining unit, configured to determine the trajectory parameters in the master trajectory equation according to the master position information; a second sending unit, configured to send the trajectory parameters to the slave robot; and a movement unit, configured to move according to the master position information.
[0009] Sixth aspect, the present application further provides a mobile control system, which is applied to a robot structure. The robot structure includes a master robot and a slave robot, and the master robot and the slave robot are controlled by different controllers. The system includes: the master robot is configured to send a master trajectory equation to the slave robot according to a trajectory coupling synchronization instruction; the master robot is configured to determine master position information, where the master position information includes multiple position information in the master trajectory equation; the master robot is configured to determine trajectory parameters in the master trajectory equation according to the master position information; the master robot is configured to send the trajectory parameters to the slave robot; the slave robot is configured to determine the master position information of the master robot according to the master trajectory equation and the trajectory parameters; the slave robot is configured to determine slave position information according to the master position information and the slave trajectory equation of the slave robot, where the slave position information includes multiple position information in the slave trajectory equation of the slave robot; the master robot is configured to move according to the master position information; the slave robot is configured to move according to the slave position information.
[0010] Seventh aspect, the present application further provides a robot, including a processor, a memory, and one or more application programs; the one or more application programs are stored in the memory and are configured to be executed by the processor to implement the above-mentioned mobile control method.
[0011] Eighth aspect, the present application further provides a computer-readable storage medium, in which program code is stored. When the program code is run by a processor, the above-mentioned mobile control method is executed.
[0012] The technical solution provided by the present application, when applied to the slave robot, includes: receiving a master trajectory equation from the master robot; receiving trajectory parameters from the master robot; determining the master position information of the master robot according to the master trajectory equation and the trajectory parameters, where the master position information includes multiple position information in the master trajectory equation; determining slave position information according to the master position information and the slave trajectory equation of the slave robot, where the slave position information includes multiple position information in the slave trajectory equation of the slave robot; moving according to the slave position information. Thus, the slave robot can determine the master position information of the master robot according to the master trajectory equation and the trajectory parameters sent by the master robot, and then determine the slave position information, so as to realize the cooperation between the master robot and the slave robot and reduce the data transmission burden between the master robot and the slave robot. Description of the Drawings
[0013] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following will briefly introduce the drawings required for the description of the embodiments. Obviously, the drawings in the following description are only some embodiments of the present application, rather than all embodiments. Based on the embodiments of the present application, all other embodiments and drawings obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present invention.
[0014] Figure 1 It is a scene structure diagram of a master robot and a slave robot provided by an embodiment of the present application.
[0015] Figure 2 It is a schematic flowchart of a mobile control method provided by an embodiment of the present application.
[0016] Figure 3 It is another scene structure diagram of a master robot and a slave robot provided by an embodiment of the present application.
[0017] Figure 4 It is a schematic structural diagram of a mobile control device provided by an embodiment of the present application.
[0018] Figure 5 It is a schematic structural diagram of another mobile control device provided by an embodiment of the present application.
[0019] Figure 6 It is a schematic structural diagram of a mobile control system provided by an embodiment of the present application.
[0020] Figure 7 It is a schematic structural diagram of a robot provided by an embodiment of the present application.
[0021] Figure 8 It is a schematic structural diagram of a computer-readable storage medium provided by an embodiment of the present application. Detailed implementation manners
[0022] In order to make the objectives, technical solutions, and advantages of the present application clearer, the present application will be further described in detail below with reference to the accompanying drawings. The described embodiments should not be construed as limitations on the present application. All other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the scope of protection of the present application.
[0023] In the following description, reference is made to "some embodiments", which describe a subset of all possible embodiments. However, it can be understood that "some embodiments" can be the same subset or different subsets of all possible embodiments, and can be combined with each other without conflict. In the following description, the term "a plurality" refers to at least two.
[0024] In the following description, the terms "first / second" are only used to distinguish similar objects and do not represent a specific order for the objects. It can be understood that "first / second" can be interchanged with a specific order or sequence when allowed, so that the embodiments of the present application described herein can be implemented in an order other than that illustrated or described herein.
[0025] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the technical field to which this application belongs. The terms used herein are for the purpose of describing embodiments of this application only and are not intended to limit this application.
[0026] With the development of artificial intelligence, robots have emerged. In the collaborative cooperation between different robots, the motion trajectories of different robots are usually coupled with each other. For example, in the collaborative cooperation between robot A and robot B, the motion trajectory of robot A is coupled with the motion trajectory of robot B to achieve the cooperation between robot A and robot B.
[0027] In order to couple the motion trajectories between different robots. In the related art, robot A sends the real-time Cartesian coordinate system to robot B that needs to be coupled with it, so that robot B determines the position of robot A according to the real-time Cartesian coordinate system of robot A, and then superimposes the moving position of robot B itself according to the position of robot A, so as to determine the final moving position of robot B. Among them, the center of the Cartesian coordinate system is the center of the robot.
[0028] In other technologies, robot A sends joint coordinates to robot B that needs to be coupled with it. Robot B converts the joint coordinates into a Cartesian coordinate system, then determines the position of robot A, and then superimposes the moving position of robot B itself according to the position of robot A, so as to determine the final moving position of robot B.
[0029] However, due to the large amount of data of the Cartesian coordinate system and joint coordinates, the burden on the transmission bus between different robots is large, resulting in higher requirements for the transmission bus.
[0030] To improve the above problems, this application provides a motion control method, device, system, robot and storage medium. The motion control method is applied to a slave robot and includes: receiving a master trajectory equation from a master robot; receiving trajectory parameters from the master robot; determining master position information of the master robot according to the master trajectory equation and the trajectory parameters, where the master position information includes multiple position information in the master trajectory equation; determining slave position information according to the master position information and the slave trajectory equation of the slave robot, where the slave position information includes multiple position information in the slave trajectory equation of the slave robot; and moving according to the slave position information.
[0031] Thus, the slave robot can determine the master position information of the master robot according to the master trajectory equation and the trajectory parameters sent by the master robot, and then determine the slave position information, so as to achieve the cooperation between the master robot and the slave robot and reduce the data transmission burden between the master robot and the slave robot.
[0032] Next, the technical solutions in the embodiments of the present application will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of the present application.
[0033] Please refer to Figure 1 , Figure 1 which is a scene structure diagram of a master robot and a slave robot provided by an embodiment of the present application. As Figure 1 shown, it includes a master robot 110 and a slave robot 120, where:
[0034] The master robot 110 and the slave robot 120 are intelligent machines capable of semi-autonomous or fully autonomous work. The robot (master robot 110 or slave robot 120) can perform tasks such as operations or movements through programming and automatic control.
[0035] The robot (master robot 110 or slave robot 120) includes at least one joint. A joint is a connection between two linkages, and relative movement can occur between the two linkages. Each joint can give the robot one degree of freedom of movement. The movement provided by each joint can co-locate the structure of the robot to a specific position.
[0036] Among them, the master robot 110 includes a master controller and a master manipulator. The user writes a corresponding program according to actual needs and stores the program in the master controller, and the master controller controls the work of the master manipulator according to the program stored internally.
[0037] The slave robot 120 includes a slave controller and a slave manipulator. The user writes a corresponding program according to actual needs and stores the program in the slave controller, and the slave controller controls the work of the slave manipulator according to the program stored internally.
[0038] It should be noted that the master robot 110 and the slave robot 120 are defined by the user according to the actual application scenario. That is to say, when the user programs the master robot 110 and the slave robot 120, which robot is the master robot 110 and which is the slave robot 120 will be defined in advance.
[0039] In some embodiments, the master robot 110 and the slave robot 120 belong to one device. In some embodiments, the master robot 110 and the slave robot 120 belong to different devices respectively. Among them, the number of slave robots 120 can be one or more.
[0040] For the convenience of description, the present application takes the master robot 110 and the slave robot 120 belonging to different devices respectively, and the number of slave robots 120 being one as an example for corresponding description.
[0041] When the master robot 110 and the slave robot 120 need to cooperate, the slave robot 120 adjusts its own movement according to the movement of the master robot 110, so as to achieve the cooperation between the master robot 110 and the slave robot 120. Specifically:
[0042] Please refer to Figure 2 , Figure 2 which is a schematic flow chart of a movement control method provided by an embodiment of the present application. As Figure 2 shown, the movement control method includes steps 210 to 280, where:
[0043] In step 210, the master robot sends the master trajectory equation to the slave robot according to the trajectory coupling synchronization instruction.
[0044] Correspondingly, the slave robot receives the master trajectory equation from the master robot.
[0045] During the execution of the program stored in the master robot, if the master robot executes the trajectory coupling synchronization instruction, it means that the program to be executed by the master robot next needs to be synchronized and cooperate with the slave robot to achieve the mutual coupling of the movement paths between the master robot and the slave robot.
[0046] For example, the master robot holds a picture frame and the slave robot holds a paintbrush. By realizing the mutual coupling of the movement paths between the master robot and the slave robot, the slave robot holding the paintbrush can draw corresponding patterns on the picture frame held by the master robot.
[0047] Among them, the master trajectory equation is the movement trajectory information of the master robot. For example, the user can program the movement path of the master robot according to actual needs and store the corresponding program in the master robot. For example, the user determines the position coordinate information that the master robot needs to move to according to actual needs, and the slave robot fits according to these position coordinate information to determine the master trajectory equation.
[0048] It should be noted that the number of master trajectory equations can be one or more. When there are multiple master trajectory equations, the master robot sends all the master trajectory equations to the slave robot at one time. In one embodiment, the master robot transmits the master trajectory equation to the slave robot in the way of Service Data Objects (SDO).
[0049] Exemplarily, the main trajectory equation includes a linear movement trajectory. The starting coordinates of the linear movement trajectory are P0, and the ending coordinates are P1. The expression of the linear movement trajectory is: P(s) = P0 + (P1 - P0) * S. When it is determined that both the master robot and the slave robot have executed the trajectory coupling synchronization instruction, the master robot sends the main trajectory equation (P(s) = P0 + (P1 - P0) * S) to the slave robot.
[0050] Further, in order to ensure that the master robot and the slave robot enter the synchronous state, in some embodiments, before the master robot sends the main trajectory equation to the slave robot according to the trajectory coupling synchronization instruction, the movement control method further includes the following steps:
[0051] (1) When the master robot executes the trajectory coupling synchronization instruction, it sends a main confirmation signal to the slave robot;
[0052] (2) The master robot receives a slave feedback signal sent by the slave robot.
[0053] In some embodiments, the movement control method further includes the following steps:
[0054] (1) The slave robot receives the main confirmation signal sent by the master robot;
[0055] (2) When the slave robot executes the trajectory coupling synchronization instruction, the slave robot generates a slave feedback signal according to the main confirmation signal;
[0056] (3) The slave robot sends the slave feedback signal to the master robot.
[0057] During the process that the master robot executes the operations corresponding to the program according to the program stored internally, if the master robot executes the trajectory coupling synchronization instruction earlier than the slave robot, the master robot sends a main confirmation signal to the slave robot. In the case that the slave robot receives the main confirmation signal and the slave robot also executes the trajectory coupling synchronization instruction, the slave robot will generate a slave feedback signal according to the main confirmation signal and send the slave feedback signal to the master robot.
[0058] When the master robot receives the slave feedback signal sent by the slave robot, it indicates that the slave robot has also executed the trajectory coupling synchronization instruction, and the master robot and the slave robot respectively execute the programs below the trajectory coupling synchronization instruction.
[0059] That is to say, when the master robot executes the trajectory coupling synchronization instruction first, it will enter the waiting state until the master robot receives the slave feedback signal sent by the slave robot. The master robot determines that the slave robot has also executed the trajectory coupling synchronization instruction based on this. At this time, triggered by the slave feedback signal, the master robot sends the main trajectory equation to the slave robot, and the slave robot receives the main trajectory equation.
[0060] In some embodiments, when the master robot executes the trajectory coupling synchronization instruction, the master robot sends a master confirmation signal to the slave robot. Due to reasons such as environmental interference, when the slave robot does not receive the master confirmation signal sent by the master robot, when the slave robot executes the trajectory coupling synchronization instruction, it triggers the generation of a slave feedback signal and sends the slave feedback signal to the master robot. When the master robot receives the slave feedback signal sent by the slave robot, it sends the master trajectory equation to the slave robot.
[0061] The above is that when the master robot first executes the trajectory coupling synchronization instruction, the master robot will enter a waiting state to wait for the feedback signal sent by the slave robot. If the slave robot is working according to the internally stored program, when the slave robot first executes the trajectory coupling synchronization instruction, the slave robot will also enter a waiting state until it receives the master feedback signal sent by the master robot. Specifically:
[0062] The user writes the working program of the slave robot according to actual needs (for example, the movement path information of the slave robot) and stores the written program in the slave robot. The slave robot executes the internally stored program to control the slave robot to perform corresponding operations. When the slave robot executes the trajectory coupling synchronization instruction, it means that the program to be executed by the slave robot next needs to be synchronized with the master robot to achieve the mutual coupling of the movement paths between the master robot and the slave robot.
[0063] Further, in some embodiments, the movement control method further includes the following steps:
[0064] (1) When the slave robot executes the trajectory coupling synchronization instruction, the slave robot sends a slave confirmation signal to the master robot.
[0065] (2) The slave robot receives the master feedback signal sent by the master robot.
[0066] The slave robot controls the slave robot to perform the operations corresponding to the program according to the internally stored program. When the slave robot executes the trajectory coupling synchronization instruction, the slave robot sends a slave confirmation signal to the master robot. Correspondingly, the master robot receives the slave confirmation signal sent by the slave robot.
[0067] If the master robot receives the slave confirmation signal and the master robot also executes the trajectory coupling synchronization instruction, the master robot will generate a master feedback signal according to the slave confirmation signal and send the master feedback signal to the slave robot.
[0068] That is to say, whether the master robot or the slave robot first executes the trajectory coupling synchronization instruction, it will send a confirmation signal (master confirmation signal or slave confirmation signal) to each other until it receives the feedback signal (master feedback signal or slave feedback signal) sent by each other to determine that both the master robot and the slave robot have executed the trajectory coupling synchronization instruction. Only then will the master robot and the slave robot continue to execute the following programs respectively, that is, the master robot will send the master trajectory equation to the slave robot. Correspondingly, the slave robot receives the master trajectory equation sent by the master robot.
[0069] In step 220, the master robot determines the master position information.
[0070] Among them, the master position information includes multiple position information in the master trajectory equation. Any one of these multiple position information corresponds to the position coordinate information corresponding to the center of the master robot. In some embodiments, the movement trajectory of the master robot is set in advance by the user. For example, the user first sets multiple position information, and then the slave robot or the user performs fitting processing according to the multiple position information to determine the master trajectory equation.
[0071] Further, in some embodiments, the step of the master robot determining the master position information includes the steps of: the master robot performs conventional interpolation according to the master trajectory equation to determine the master position information.
[0072] Among them, the master position information is the trajectory coordinate information output in each interpolation period. After the master robot determines the master trajectory equation, the planner of the master robot performs conventional interpolation according to the master trajectory equation. The master robot determines the trajectory coordinate information output in each interpolation period as the master position information, and then inputs the determined master position information into the master trajectory equation to obtain the trajectory parameters corresponding to the master position information in the master trajectory equation.
[0073] That is to say, after the master robot determines the master position information, in order to facilitate the subsequent steps, the master robot substitutes the master position information into the master trajectory equation, and can obtain the trajectory parameters corresponding to the master position information in the master trajectory equation. Then, the trajectory parameters are sent to the slave robot, and the slave robot can obtain the master position information according to the trajectory parameters and the master trajectory equation, so that there is no need for the master robot to directly send the master position information (Cartesian coordinate system) to the slave robot. The slave robot can know the master position information of the master robot through the trajectory parameters and the master trajectory equation, so as to reduce the data transmission volume of the transmission bus between the master robot and the slave robot.
[0074] In step 230, the master robot determines the trajectory parameters in the master trajectory equation according to the master position information.
[0075] Correspondingly, the master robot sends the trajectory parameters to the slave robot. The slave robot receives the trajectory parameters sent by the master robot.
[0076] Among them, the trajectory parameters are the unknowns in the main trajectory equation. For example, the main trajectory equation can be expressed as P(s). For example, if the main trajectory equation starts from P(Smin) and ends at P(Smax), then the main trajectory equation P(s) = P([Smin, Smax]), and s is the trajectory parameter in the main trajectory equation.
[0077] Based on the determined main position information, the master robot can determine the trajectory parameters in the main trajectory equation corresponding to the main position information. Exemplarily, the main trajectory equation includes a linear movement trajectory, and the expression of the linear movement trajectory is: P(s) = P0 + (P1 - P0) * S; where P(s) is the main position information; P0 is the starting coordinate of the linear movement trajectory; P1 is the ending coordinate of the linear movement trajectory; S is the trajectory parameter of the linear movement trajectory; and the value range of S is between 0 and 1.
[0078] It can be understood that when the main trajectory equation corresponding to the master robot is different motion instructions, the trajectory parameters in the main trajectory equation have different definitions. For example, when the main trajectory equation is a joint motion instruction, the trajectory parameters in the main trajectory equation can be the change amounts corresponding to each axis. For example, P(s) == P([Smin, Smax]), where Smin = 0, Smax = sqrt(j1^2 + j2^2 + …… + jn^2), and jn represents the change amount corresponding to the nth joint. In some embodiments, the trajectory parameters in the main trajectory equation can be preset values (such as 0 or 1, etc.), that is to say, the trajectory parameters in the main trajectory equation may not have physical meanings.
[0079] The master robot determines the trajectory parameters in the main trajectory equation corresponding to the main position information according to the main position information and the main trajectory equation, and sends the trajectory parameters to the slave robot. The slave robot can calculate the position coordinate information (main position information) that the master robot is about to reach according to the received trajectory parameters and the main trajectory equation.
[0080] It should be noted that since the reference coordinate system of the master robot and the reference coordinate system of the slave robot are not the same coordinate system. And the main trajectory equation and trajectory parameters determined by the master robot are both corresponding to the reference coordinate system of the master robot. Therefore, when the slave robot receives the main trajectory equation and trajectory parameters sent by the master robot, it needs to convert the main trajectory equation and trajectory parameters based on the reference coordinate system of the master robot to the reference coordinate system based on the slave robot, and then the slave robot can determine the main position information based on its own reference coordinate system.
[0081] That is to say, the slave robot needs to frequently convert the trajectory parameters based on the reference coordinate system of the slave robot to its own reference coordinate system. To reduce the conversion between coordinate systems, in some embodiments, the master robot and the slave robot correspond to the same coordinate system.
[0082] As Figure 3 shown, Figure 3 FIG. is another scene structure diagram of the master robot and the slave robot provided by the embodiment of the present application. A world coordinate system is defined based on the base of the slave robot 120, and the world coordinate system is mapped to the master robot 110. When the master robot 110 performs offline or teaching programming, the reference coordinate system corresponding to the programming (for example, a movement instruction) is defined as the world coordinate system. So that the slave robot 120 can directly obtain the trajectory parameters and the main trajectory equation based on the world coordinate system, thereby obtaining the main position information based on the world coordinate system, thus avoiding frequent coordinate conversions.
[0083] In addition, when the slave robot 120 cooperates with other mechanisms 130, the reference coordinate system of the other mechanisms 130 can also be defined as the world coordinate system of the slave robot 120, so as to avoid frequent coordinate conversions when the slave robot 120 cooperates with other mechanisms 130.
[0084] In the subsequent steps, the master robot sends the main trajectory equation under the world coordinate system, and also sends the trajectory parameters to the slave robot through the use interface (PHP Data Objects, PDO) for connecting to the database in the computer programming language, so that the slave robot can determine the main position information of the master robot according to the trajectory parameters and the main trajectory equation. Specifically:
[0085] In step 240, the slave robot determines the main position information of the master robot according to the main trajectory equation and the trajectory parameters.
[0086] Compared with the prior art in which the master robot sends the Cartesian coordinate system or the joint coordinate to the slave robot in real time so that the slave robot determines the main position information of the master robot, the master robot effectively reduces the data transmission burden and the amount of information interaction between the master robot and the slave robot by sending the main trajectory equation once and adopting the method of sending the trajectory parameters in real time, so as to use a low-performance bus when multiple robots interact, thereby reducing the application cost.
[0087] For example, the Cartesian coordinate system is 12 double-type data, and the trajectory parameter is 1 double-type data. Obviously, by the method of the master robot sending the main trajectory equation and the trajectory parameters to the slave robot, the data transmission burden and the amount of information interaction between the master robot and the slave robot are significantly reduced.
[0088] In step 250, the slave robot determines the slave position information according to the master position information and the slave trajectory equation of the slave robot.
[0089] Among them, the slave trajectory equation is the movement trajectory information of the slave robot. For example, the user can determine multiple position coordinate information that the slave robot needs to move according to the actual situation. The slave robot or the user determines the corresponding slave trajectory equation of the slave robot by fitting the multiple position coordinate information and saves it in the slave robot.
[0090] When the slave robot determines that the master robot also executes the trajectory coupling synchronization instruction, the slave robot determines the slave position information of the slave robot according to the determined master position information and the slave trajectory equation, and controls the master robot and the slave robot to move according to the corresponding slave position information and master position information, so as to realize the mutual coupling of the movement paths of the master robot and the slave robot.
[0091] Further, in some embodiments, the step that the slave robot determines the slave position information according to the master position information and the slave trajectory equation of the slave robot includes the following steps:
[0092] (1) The slave robot performs conventional interpolation according to the slave trajectory equation to determine the target position information;
[0093] (3) The slave robot determines the slave position information according to the target position information and the master position information.
[0094] Among them, the target position information is the trajectory coordinate information output in each interpolation cycle.
[0095] Exemplarily, the slave robot performs conventional interpolation according to the slave trajectory equation to determine the target position information Pc output in each interpolation cycle (converting the target position information Pc into matrix form Mc). The slave robot also determines the master position information Pm in the world coordinate system according to the master trajectory equation and trajectory parameters sent by the master robot (converting the master position information Pm into matrix form Mm), and determines the slave position information Mf = Mc * Mm according to the target position information and the master position information.
[0096] That is to say, the slave robot superimposes the movement situation of the master robot onto its own corresponding motion instruction (slave trajectory equation) to realize the linked interpolation of the trajectory coupling between the master robot and the slave robot.
[0097] In step 260, the master robot moves according to the master position information.
[0098] The master robot performs backward deduction according to the master position information and kinematics, and can determine the coordinates of each joint on the master robot, and then control the motors corresponding to each joint to execute the corresponding instructions, so that the master robot moves to the corresponding position under the action of each joint.
[0099] In step 270, the slave robot moves according to the received position information.
[0100] Based on the received position information and kinematics of the slave robot, the coordinates of each joint on the slave robot can be determined by inverse deduction. Then, the motors corresponding to each joint can be controlled to execute corresponding instructions, so that under the action of each joint, the slave robot moves to the corresponding position.
[0101] That is to say, any position information in the master position information has a corresponding position information in the slave position information. For example, the master position information includes the first master position information and the second master position information. The slave position information includes the first slave position information and the second slave position information. The first slave position information is determined according to the main trajectory equation and the trajectory parameters corresponding to the first master position information, and the first slave position information and the first master position information are in a corresponding relationship. The second slave position information is determined according to the main trajectory equation and the trajectory parameters corresponding to the second slave position information, and the second slave position information and the second master position information are in a corresponding relationship.
[0102] Since the master robot and the slave robot are triggered to move simultaneously when executing the trajectory coupling synchronization instruction, the master robot and the slave robot move synchronously. For example, when the master robot moves from the first master position information to the second master position information, the slave robot moves from the first slave position information to the second slave position information.
[0103] That is to say, when the master robot and the slave robot determine that both have executed the trajectory coupling synchronization instruction, the master robot sends the main trajectory equation to the slave robot at one time and sends the trajectory parameters obtained by real-time calculation to the slave robot. The slave robot calculates the master position information according to the main trajectory equation and the trajectory parameters, and determines the slave position information according to the master position information and the slave trajectory equation. The master robot controls each joint on the master robot according to the master position information to make the master robot reach the master position information, while the slave robot controls each joint on the slave robot according to the slave position information to make the slave robot reach the slave position information, so as to realize that the movement paths between the master robot and the slave robot are mutually coupled.
[0104] During the movement of the master robot and the slave robot, the master robot or the slave robot will judge whether a collision occurs between the robots or whether a collision occurs between the robot and other tools according to the predicted torque and feedback torque of the robot.
[0105] Alternatively, the controller (master robot or slave robot) will judge whether a collision occurs between the robots or whether a collision occurs between the robot and other tools according to the comparison between the movement speed of the robot and the speed obtained by conventional interpolation.
[0106] When it is determined that a collision event has occurred to the robot, the robot will be triggered to stop working. However, when using the above detection method to determine whether a collision event has occurred to the robot, it is usually determined after the fact that the robot has already collided, and at this time, the robot body or other tools have already been damaged. To reduce the damage to the robot and other tools due to collisions, in some embodiments, the movement control method further includes the following steps:
[0107] (1) The slave robot determines the main movement path of the master robot according to the trajectory parameters and the main trajectory equation;
[0108] (2) The slave robot determines the slave movement path according to the slave position information;
[0109] (3) If the slave robot determines that there is an overlapping situation between the main movement path and the slave movement path, it stops working;
[0110] (4) The slave robot sends a stop instruction to the master robot.
[0111] The slave robot determines the main position information of the master robot according to the main trajectory equation and trajectory parameters sent by the master robot. The slave robot can determine the main movement path of the master robot according to this main position information. In addition, the slave robot determines the slave movement path of the slave robot according to the slave position information.
[0112] The slave robot determines whether there is an overlapping or intersecting area between the main movement path and the slave movement path according to the main movement path and the slave movement path. If there is an overlapping or intersecting area between the main movement path and the slave movement path, it means that there may be a collision between the master robot and the slave robot. To avoid irreparable damage to the robot, when the slave robot determines that there is an overlapping or intersecting area between the main movement path and the slave movement path, the slave robot controls the slave robot to stop working and sends a stop instruction to the master robot to control the master robot to stop working, so as to avoid collisions between robots and achieve an early warning effect.
[0113] In addition, in some embodiments, the slave robot controls the warning light to turn on to remind the user of the possibility of a collision between the master robot and the slave robot. In other embodiments, the slave robot controls the alarm device on the slave robot to work to emit a prompt sound through the alarm device to remind the user of the possibility of a collision between the master robot and the slave robot.
[0114] It can be understood that when there is an overlapping or intersecting area between the main movement path and the slave movement path, if the master robot and the slave robot do not pass through the overlapping or intersecting area at the same time, the master robot and the slave robot will not collide. Therefore, in some embodiments, the movement control method further includes the following steps:
[0115] (1) The slave robot determines the main movement path of the master robot according to the trajectory parameters received within a preset time period and the main trajectory equation;
[0116] (2) The slave robot determines the slave movement path according to the slave position information within a preset time period;
[0117] (3) If the slave robot determines that there is an overlapping situation between the main movement path and the slave movement path, it stops working.
[0118] (4) The slave robot sends a stop command to the master robot.
[0119] The master robot sends the real-time determined trajectory parameters to the slave robot. The slave robot determines the main movement path of the master robot according to the trajectory parameters received within the preset time. That is to say, the slave robot determines the main movement path of the master robot within the preset time period, rather than determining the entire main movement path corresponding to the main trajectory equation. For example, the slave robot determines the main movement path of the master robot within 100 ms. The slave robot also determines the corresponding slave movement path of the slave robot within this preset time period.
[0120] If the slave robot determines that there is an overlapping or crossing situation between the main movement path and the slave movement path, it means that there is a high possibility of collision between the master robot and the slave robot. It is necessary to immediately control the master robot and the slave robot to stop working to avoid irreparable damage to the master robot and the slave robot.
[0121] By detecting whether the master robot and the slave robot pass through the overlapping or crossing area at the same time, it effectively avoids misjudgment of whether the master robot and the slave robot will collide, and improves the accuracy of the slave robot's judgment on whether a collision occurs.
[0122] As can be seen from the above description, the slave robot determines the main movement path of the master robot according to the trajectory parameters sent by the master robot and the main trajectory equation, and then avoids colliding with the master robot according to the main movement path and the slave movement path. However, if there are multiple slave robots moving and coupling with the master robot at the same time, there may be a collision between different slave robots. To avoid the above situation, in some embodiments, the movement control method further includes the following steps:
[0123] (1) Determine the slave robot with the best communication quality among the multiple slave robots as the first slave robot;
[0124] (2) The first slave robot receives the slave movement paths sent by other slave robots;
[0125] (3) The slave robot determines whether there is a collision event according to the slave movement path and the main movement path;
[0126] (4) If a collision event occurs, control the master robot and the slave robots to stop working.
[0127] That is, each slave robot determines whether a collision will occur between the master robot and the slave robot according to the determined master movement path and its own slave movement path. In addition, the slave robot with the best communication quality among the multiple slave robots also determines whether a collision will occur between different slave robots according to the slave movement paths corresponding to other slave robots and its own corresponding slave movement path.
[0128] If the first slave robot determines that there is a possibility of collision between different slave robots, it determines that a collision event exists. The first slave robot sends a stop instruction to other slave robots and the master robot to control all robots to stop working, so as to avoid collisions between different robots.
[0129] Please refer to Figure 4 , Figure 4 FIG. is a schematic structural diagram of a mobile control device provided in an embodiment of the present application, which is applied to the above-mentioned slave robot. The mobile control device 300 includes: a first receiving module 310, a second receiving module 320, a first determining module 330, a second determining module 340, and a moving module 350. Specifically:
[0130] The first receiving module 310 is configured to receive the master trajectory equation from the master robot;
[0131] The second receiving module 320 is configured to receive the trajectory parameters from the master robot;
[0132] The first determining module 330 is configured to determine the master position information of the master robot according to the master trajectory equation and the trajectory parameters; the master position information includes multiple position information in the master trajectory equation;
[0133] The second determining module 340 is configured to determine the slave position information according to the master position information and the slave trajectory equation of the slave robot; the slave position information includes multiple position information in the slave trajectory equation of the slave robot;
[0134] The moving module 350 is configured to move according to the slave position information.
[0135] Those skilled in the art can clearly understand that for the convenience and brevity of description, the specific working processes of the above-described devices and modules can refer to the corresponding processes in the foregoing method embodiments, and will not be described herein again.
[0136] In several embodiments provided in the present application, the coupling or direct coupling or communication connection between the modules shown or discussed with each other may be through some interfaces. The indirect coupling or communication connection of the devices or modules may be in electrical, mechanical or other forms.
[0137] In addition, in each embodiment of the present application, each functional module can be integrated into a processing module, or each module can exist physically alone, or two or more modules can be integrated into one module. The above integrated module can be implemented in the form of hardware or in the form of a software functional module.
[0138] Please refer to Figure 5 , Figure 5 FIG. is a schematic structural diagram of another mobile control device provided by an embodiment of the present application, which is applied to the above-mentioned main robot. The mobile control device 400 includes: a first sending unit 410, a first determining unit 420, a second determining unit 430, a second sending unit 440, and a moving unit 450. Specifically:
[0139] The first sending unit 410 is configured to send a main trajectory equation to the slave robot according to a trajectory coupling synchronization instruction;
[0140] The first determining unit 420 is configured to determine main position information, where the main position information includes multiple position information in the main trajectory equation;
[0141] The second determining unit 430 is configured to determine trajectory parameters in the main trajectory equation according to the main position information;
[0142] The second sending unit 440 is configured to send the trajectory parameters to the slave robot;
[0143] The moving unit 450 is configured to move according to the main position information.
[0144] Those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working processes of the above-described devices and modules can refer to the corresponding processes in the foregoing method embodiments, and will not be described herein again.
[0145] In several embodiments provided by the present application, the coupling or direct coupling or communication connection between the modules shown or discussed with each other can be through some interfaces. The indirect coupling or communication connection of the devices or modules can be in an electrical, mechanical or other form.
[0146] In addition, in each embodiment of the present application, each functional module can be integrated into a processing module, or each module can exist physically alone, or two or more modules can be integrated into one module. The above integrated module can be implemented in the form of hardware or in the form of a software functional module.
[0147] Please refer to Figure 6 , Figure 6It is a schematic structural diagram of a mobile control system provided by an embodiment of the present application, which is applied to a robot structure. The mobile control system 500 of the robot structure includes the above-mentioned master robot 110 and the above-mentioned slave robot 120. The master robot 110 and the slave robot 120 are controlled by different controllers, where:
[0148] The master robot 110 is configured to send a master trajectory equation to the slave robot 120 according to a trajectory coupling synchronization instruction;
[0149] The master robot 110 is configured to determine master position information, where the master position information includes multiple position information in the master trajectory equation;
[0150] The master robot 110 is configured to determine trajectory parameters in the master trajectory equation according to the master position information;
[0151] The master robot 110 is configured to send the trajectory parameters to the slave robot 120;
[0152] The slave robot 120 is configured to determine the master position information of the master robot 110 according to the master trajectory equation and the trajectory parameters;
[0153] The slave robot 120 is configured to determine slave position information according to the master position information and the slave trajectory equation of the slave robot 120; the slave position information includes multiple position information in the slave trajectory equation of the slave robot 120;
[0154] The master robot 110 is configured to move according to the master position information;
[0155] The slave robot 120 is configured to move according to the slave position information.
[0156] Those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working processes of the above-mentioned master robot 110 and slave robot 120 can refer to the corresponding processes in the foregoing method embodiments, and will not be elaborated herein.
[0157] Please refer to Figure 7 , Figure 7 It is a schematic structural diagram of a robot provided by an embodiment of the present application. The robot 600 in the present application may include one or more of the following components: a processor 610, a memory 620, and one or more application programs, where one or more application programs may be stored in the memory 620 and configured to be executed by one or more processors 610, and one or more programs are configured to execute the mobile control method described in the foregoing method embodiments.
[0158] The processor 610 may include one or more processing cores. The processor 610 connects various parts within the entire robot 600 through various interfaces and lines. By running or executing instructions, programs, code sets, or instruction sets stored in the memory 620, and by invoking data stored in the memory 620, it performs various functions of the robot 600 and processes data. Optionally, the processor 610 may be implemented in at least one hardware form of digital signal processing (DSP), field-programmable gate array (FPGA), or programmable logic array (PLA). The processor 610 may integrate a combination of one or several of a central processing unit (CPU), a graphics processing unit (GPU), and a modem, etc. Among them, the CPU mainly processes the operating system, user interface, application programs, etc.; the GPU is responsible for rendering and drawing display content; the modem is used to process wireless communication. It can be understood that the above modem may not be integrated into the processor 610 and may be implemented separately through a communication chip.
[0159] The memory 620 may include random access memory (RAM) and may also include read-only memory. The memory 620 can be used to store instructions, programs, code, code sets, or instruction sets. The memory 620 may include a program storage area and a data storage area. Among them, the program storage area can store instructions for implementing the operating system, instructions for implementing at least one function, instructions for implementing each of the following method embodiments, etc. The data storage area can also store data created during the use of the robot 600.
[0160] Please refer to Figure 8 , Figure 8 which is a schematic structural diagram of a computer-readable storage medium provided by an embodiment of the present application. Program code is stored in the computer-readable medium 700, and the program code can be called by a processor to execute the movement control method described in the above method embodiments.
[0161] The computer-readable storage medium 700 can be an electronic memory such as a flash memory, an EEPROM (electrically erasable programmable read-only memory), an EPROM, a hard disk, or a ROM. Optionally, the computer-readable storage medium 700 includes a non-transitory computer-readable storage medium. The computer-readable storage medium 700 has a storage space for program code 710 that executes any method step in the above-described method. These program codes can be read out from or written into one or more computer program devices. The program code 710 can be compressed in an appropriate form, for example.
[0162] A mobile control method, apparatus, system, robot, and storage medium provided by an embodiment of the present application. The mobile control method is applied to a slave robot and includes: receiving a master trajectory equation from a master robot; receiving trajectory parameters from the master robot; determining master position information of the master robot according to the master trajectory equation and the trajectory parameters, where the master position information includes a plurality of position information in the master trajectory equation; determining slave position information according to the master position information and a slave trajectory equation of the slave robot, where the slave position information includes a plurality of position information in the slave trajectory equation of the slave robot; and moving according to the slave position information. Thus, the slave robot can determine the master position information of the master robot according to the master trajectory equation and the trajectory parameters sent by the master robot, and further determine the slave position information, so as to realize the cooperation between the master robot and the slave robot and reduce the data transmission burden between the master robot and the slave robot.
[0163] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application and are not intended to limit them. Although the present application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that they can still modify the technical solutions described in the foregoing embodiments, or perform equivalent replacements for some of the technical features. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present application.
Claims
1. A mobile control method, characterized in that, Applied to a slave robot, the method includes: Receiving a master trajectory equation from a master robot; Receiving trajectory parameters from the master robot; Determining master position information of the master robot according to the master trajectory equation and the trajectory parameters, where the master position information includes multiple position information in the master trajectory equation; Determining slave position information according to the master position information and a slave trajectory equation of the slave robot, where the slave position information includes multiple position information in the slave trajectory equation of the slave robot; Moving according to the slave position information.
2. The mobile control method according to claim 1, wherein The determining the slave position information according to the master position information and the slave trajectory equation of the slave robot includes: Performing conventional interpolation according to the slave trajectory equation to determine target position information; the target position information is trajectory coordinate information output in each interpolation period; Determining the slave position information according to the target position information and the master position information.
3. The mobile control method according to claim 1, characterized in that Before receiving the master trajectory equation from the master robot, the method further includes: When a trajectory coupling synchronization instruction is executed, sending a slave confirmation signal to the master robot; Receiving a master feedback signal sent by the master robot; the master feedback signal is generated by the master robot according to the slave confirmation signal.
4. The mobile control method according to claim 1, wherein, Before receiving the master trajectory equation from the master robot, the method further includes: Receiving a master confirmation signal from the master robot; When a trajectory coupling synchronization instruction is executed, generating a slave feedback signal according to the master confirmation signal; Sending the slave feedback signal to the master robot.
5. The mobile control method according to any one of claims 1-4, characterized in that, The method further includes: Determining a master movement path of the master robot according to the trajectory parameters and the master trajectory equation; Determining a slave movement path according to the slave position information; If there is an overlapping situation between the master movement path and the slave movement path, stop working; Sending a stop instruction to the master robot.
6. A mobile control method, characterized in that, Applied to a master robot, the method includes: Sending a master trajectory equation to a slave robot according to a trajectory coupling synchronization instruction; Determining master position information, where the master position information includes multiple position information in the master trajectory equation; Determining trajectory parameters in the master trajectory equation according to the master position information; Sending the trajectory parameters to the slave robot; Moving according to the master position information.
7. The mobile control method according to claim 6, wherein The determining the master position information includes: Performing conventional interpolation according to the master trajectory equation to determine master position information; the master position information is trajectory coordinate information output in each interpolation period.
8. The mobile control method according to any one of claims 6-7, characterized in that, The master robot and the slave robot correspond to the same coordinate system.
9. The mobile control method according to any one of claims 6-7, characterized in that, Before sending the master trajectory equation to the slave robot according to the trajectory coupling synchronization instruction, the method further includes: When a trajectory coupling synchronization instruction is executed, sending a master confirmation signal to the slave robot; Receiving a slave feedback signal sent by the slave robot, where the slave feedback signal is generated by the slave robot according to the master confirmation signal.
10. The mobile control method according to any one of claims 6-7, characterized in that, Before sending the master trajectory equation to the slave robot according to the trajectory coupling synchronization instruction, the method further includes: Receiving a slave confirmation signal from the slave robot; The sending the master trajectory equation to the slave robot according to the trajectory coupling synchronization instruction includes: When the trajectory coupling synchronization instruction is executed, a main feedback signal is generated according to the slave confirmation signal; The main feedback signal is sent to the slave robot.
11. The mobile control method according to any one of claims 6-7, characterized in that, The method further includes: Receiving a stop instruction from the slave robot; Stopping working according to the stop instruction.
12. A mobile control method, characterized in that, Applied to a robot structure, the robot structure includes a master robot and a slave robot, and the master robot and the slave robot are controlled by different controllers. The method includes: The master robot sends a main trajectory equation to the slave robot according to the trajectory coupling synchronization instruction; The master robot determines main position information, and the main position information includes multiple position information in the main trajectory equation; The master robot determines trajectory parameters in the main trajectory equation according to the main position information; The master robot sends the trajectory parameters to the slave robot; The slave robot determines the main position information of the master robot according to the main trajectory equation and the trajectory parameters; The slave robot determines slave position information according to the main position information and the slave trajectory equation of the slave robot; the slave position information includes multiple position information in the slave trajectory equation of the slave robot; The master robot moves according to the main position information; The slave robot moves according to the slave position information.
13. A mobile control device, characterized in that, Applied to a slave robot, the device includes: A first receiving module, configured to receive a main trajectory equation from a master robot; A second receiving module, configured to receive trajectory parameters from the master robot; A first determining module, configured to determine the main position information of the master robot according to the main trajectory equation and the trajectory parameters; the main position information includes multiple position information in the main trajectory equation; A second determining module, configured to determine slave position information according to the main position information and the slave trajectory equation of the slave robot; the slave position information includes multiple position information in the slave trajectory equation of the slave robot; A moving module, configured to move according to the slave position information.
14. A mobile control device, characterized in that, Applied to a master robot, the device includes: A first sending unit, configured to send a main trajectory equation to a slave robot according to a trajectory coupling synchronization instruction; A first determining unit, configured to determine main position information, and the main position information includes multiple position information in the main trajectory equation; A second determining unit, configured to determine trajectory parameters in the main trajectory equation according to the main position information; A second sending unit, configured to send the trajectory parameters to the slave robot; A moving unit, configured to move according to the main position information.
15. A mobile control system, characterized in that, Applied to a robot structure, the robot structure includes a master robot and a slave robot, and the master robot and the slave robot are controlled by different controllers. The system includes The master robot is configured to send a main trajectory equation to the slave robot according to a trajectory coupling synchronization instruction; The master robot is configured to determine main position information, and the main position information includes multiple position information in the main trajectory equation; The master robot is configured to determine trajectory parameters in the main trajectory equation according to the main position information; The master robot is configured to send the trajectory parameters to the slave robot; The slave robot is used to determine the main position information of the master robot according to the main trajectory equation and the trajectory parameters; The slave robot is used to determine the slave position information according to the main position information and the slave trajectory equation of the slave robot; the slave position information includes a plurality of position information in the slave trajectory equation of the slave robot; The master robot is used to move according to the main position information; The slave robot is used to move according to the slave position information.
16. A robot, characterized in that, Comprising: One or more processors; A memory; One or more applications, wherein the one or more applications are stored in the memory and are configured to be executed by the one or more processors to perform the movement control method according to any one of claims 1-5 or 6-11.
17. A computer-readable storage medium, characterized in that, Program code is stored in the computer-readable storage medium, and the program code can be called by the processor to execute the movement control method according to any one of claims 1-5 or 6-11.
Citation Information
Patent Citations
Operating method on basis of master-slave industrial robot collaboration
CN105751196A
Trajectory control system and method for multiple robots
CN109834714A
Master-slave robot control method and system and storage medium
CN113814951A
Double-mechanical-arm cooperative motion control method and system
CN114347045A
Double-robot anti-collision control method and system and multi-robot system
CN114851207A