Master-slave control method and related device
The acquisition and conversion of the motion information of the slave robot arm through the pose mapping scheme solves the problem of insufficient flexibility and expansion of the existing master-slave control method, and realizes flexible control of different types of robot arms.
Patent Information
- Application Number
- CN202510480809.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-16
- Publication Date
- 2025-07-22
AI Technical Summary
The existing master-slave control methods are not flexible and scalable, and cannot adapt to different types of master-control equipment and slave robotic arms.
By obtaining the original current position representation information of the master control device, the motion information of each motion axes from the robotic arm is obtained based on the position mapping scheme, and converting it into the information format corresponding to the slave mechanical arm, thereby realizing control of the slave mechanical arm.
Improves the flexibility and expansion of master-slave control, can adapt to different types of slave robot arms, and reduces the limitations on configuration parameters.
Smart Images

Figure CN120347736A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of robot control, and in particular, to a master-slave control method, a master-slave control system, a master-slave control device, an electronic device, and a computer-readable storage medium. Background Art
[0002] Master-Slave Control technology refers to establishing a master-slave mapping relationship between a master device and a slave robotic arm, and based on the master-slave mapping relationship, using the master device to remotely control the slave robotic arm in real time, so that the slave robotic arm follows the movement of the master device.
[0003] Master-Slave Control technology can be applied to fields such as industry and medical treatment. For example, in the industrial field, based on the master device, remotely control the slave robotic arm to perform operations such as operating in a dangerous environment, precision assembly, spraying, handling, grasping, and fault handling, and based on the master device, remotely control the slave robotic arm to achieve teaching and imitation learning.
[0004] However, the existing master-slave control methods lack flexibility and scalability. Summary of the Invention
[0005] The present application provides a master-slave control method, a master-slave control system, a master-slave control device, an electronic device, and a computer-readable storage medium, which can solve the problem that the existing master-slave control methods lack flexibility and scalability.
[0006] The present application provides a master-slave control method, including: obtaining the original current pose representation information of the master device, where the original current pose representation information is used to represent the current pose of the master device; obtaining the motion information of each motion axis of the slave robotic arm based on the original current pose representation information; converting the motion information of each motion axis of the slave robotic arm into the corresponding information format of the slave robotic arm, and sending the converted motion information of each motion axis of the slave robotic arm to the slave robotic arm to control the movement of each motion axis of the slave robotic arm. The above solution can improve the flexibility and scalability of master-slave control.
[0007] The present application provides a master-slave control system, including: a master device, a slave robotic arm, and a computing device, where the computing device is respectively communicatively connected to the master device and the slave robotic arm to execute the foregoing method.
[0008] The present application provides a master-slave control device, including: a first acquisition module, a second acquisition module, and a format conversion module. The first acquisition module is configured to acquire the original current pose characterization information of the master device, and the original current pose characterization information is used to characterize the current pose of the master device. The second acquisition module is configured to acquire the motion information of each motion axis of the slave robotic arm based on the original current pose characterization information. The format conversion module is configured to convert the motion information of each motion axis of the slave robotic arm into the corresponding information format of the slave robotic arm, and send the converted motion information of each motion axis of the slave robotic arm to the slave robotic arm to control the motion of each motion axis of the slave robotic arm.
[0009] The present application provides an electronic device, including a memory and a processor, and the processor is configured to execute program instructions stored in the memory to implement the above method.
[0010] The present application provides a computer-readable storage medium, on which program instructions are stored, and when the program instructions are executed by a processor, the above method is implemented.
[0011] In the above solution, the original current pose characterization information of the master device is acquired, the motion information of each motion axis of the slave robotic arm is acquired based on the original current pose characterization information (pose mapping solution), and the motion information of each motion axis of the slave robotic arm is converted into the corresponding information format of the slave robotic arm to control the motion of the slave robotic arm. On the one hand, since it will be converted into the corresponding information format of the slave robotic arm, it can be extended to different types of slave robotic arms. On the other hand, since the pose mapping solution is adopted, it is more flexible than the axis mapping solution and is not limited to the master device and the slave robotic arm with the same or similar configuration parameters. Thus, the flexibility and expandability are improved.
[0012] It should be understood that the above general description and the following detailed description are only exemplary and explanatory, and do not limit the present application. BRIEF DESCRIPTION OF THE DRAWINGS
[0013] The accompanying drawings herein are incorporated into the specification and constitute a part of this specification. These drawings illustrate embodiments consistent with the present application and, together with the specification, are used to explain the technical solutions of the present application.
[0014] Figure 1 is a schematic structural diagram of an embodiment of the master-slave control system provided by the present application;
[0015] Figure 2 is a schematic flowchart of another embodiment of the master-slave control method provided by the present application;
[0016] Figure 3 is a schematic flowchart of still another embodiment of the master-slave control method provided by the present application;
[0017] Figure 4It is a schematic structural diagram of an embodiment of the computing device and software architecture of the present application;
[0018] Figure 5 It is a schematic flowchart of a specific example of the master-slave control method of the present application;
[0019] Figure 6 It is a schematic structural diagram of a specific example of the master-slave control device of the present application;
[0020] Figure 7 It is a schematic structural diagram of an embodiment of the electronic device of the present application;
[0021] Figure 8 It is a schematic structural diagram of an embodiment of the computer-readable storage medium of the present application. Detailed implementation manners
[0022] The following will combine with the accompanying drawings of the specification to elaborate in detail on the solutions of the embodiments of the present application.
[0023] In the following description, specific details such as specific system structures, interfaces, and technologies are presented for the purpose of illustration rather than limitation, so as to thoroughly understand the present application.
[0024] The term "and / or" in this article is merely a description of the association relationship of associated objects, indicating that three relationships can exist. For example, A and / or B can represent: A exists alone, A and B exist simultaneously, and B exists alone. In addition, the character " / " in this article generally represents an "or" relationship between the associated objects before and after. In addition, "multiple" in this article means two or more than two. In addition, the term "at least one" in this article represents any one of multiple types or any combination of at least two of multiple types. For example, including at least one of A, B, and C can represent including any one or more elements selected from the set composed of A, B, and C.
[0025] Through long-term research by the inventors of the present application, it is found that the master-slave control method in the related technology has at least the following technical problems:
[0026] In the first aspect, using the axis mapping scheme to map between the motion axes of the master control device and the motion axes of the slave manipulator requires that the master control device and the slave manipulator have the same or similar configuration parameters to meet sufficient control accuracy. This limits the control of the slave manipulator to the master control device with the same or similar configuration parameters.
[0027] In the second aspect, different types of master control devices support different information formats, and different types of slave manipulators support different information formats. The master-slave control method in the related technology cannot adapt to different types of master control devices and different types of slave manipulators.
[0028] Therefore, the master-slave control method in the related art lacks flexibility and scalability.
[0029] To solve at least part of the above technical problems, the present application provides a master-slave control method. The master-slave control method provided by the present application is implemented based on a master-slave control system.
[0030] Figure 1 It is a schematic structural diagram of an embodiment of the master-slave control system provided by the present application. As Figure 1 shown, the master-slave control system 10 includes a master control device 11, a computing device 12, and a slave robotic arm 13.
[0031] The master control device 11 may be a master robotic arm. The master control device 11 may also be a force feedback handle (Haptic Device) with high precision, such as 3D Systems Touch. The master control device 11 may also be a consumer-grade optical motion tracking device with medium and low precision, such as HTC Vive Tracker. The master control device 11 may also be a VR / AR device, such as Meta QuestPro, etc. The master robotic arm includes a plurality of motion axes and an end effector (not shown in the figure). The adjacent motion axes and the end effector are connected by connecting rods. The motion axis may be a rotating axis or a translation axis.
[0032] The master control device 11 may also have an official or third-party ROS2 driver node. Running this ROS2 driver node can track the control start signal, pose control signal, and control end signal of the master control device 11 in real time and publish them in a certain format. For example, the 3D system Touch device has a third-party Geomagic_Touch_ROS2 driver, which can publish the control start signal, pose control signal, and control end signal of the master control device 11 in real time in the information format of omni_msgs / msg / OmniState. The HTC vive tracker device has a third-party libsurvive_ros2 driver, which publishes the pose control signal of the device in real time in the information format of tf2_msgs / msg / TFMessage, and publishes the control start signal and control end signal in real time in the information format of sensor_msgs / msg / Joy.
[0033] The slave robotic arm 13 includes a plurality of motion axes and an end effector (not shown in the figure). The adjacent motion axes and the end effector are connected by connecting rods. The motion axis may be a rotating axis or a translation axis. For example, the slave robotic arm 13 includes 6 motion axes, where 3 motion axes are rotating axes and the other 3 motion axes are translation axes.
[0034] The master control device 11 and the slave robotic arm 13 can be arranged in the same environment or in different environments. For example, in an application scenario of performing operations in a dangerous environment, the master control device 11 is arranged in a safe environment and the slave robotic arm 13 is arranged in a dangerous environment. Another example is in the application scenario of a surgical robot, where the master control device 11 and the slave robotic arm 13 are arranged in the same room. The movement spaces of the master control device 11 and the slave robotic arm 13 can be the same or different. The types of the master control device 11 and the slave robotic arm 13 are not limited. The master control device 11 can send a control start signal and a control end signal to the computing device 12 in response to a user's hand or head operation. The master control device 11 can also move in response to a user's hand or head operation to generate a pose change, and generate a pose control signal based on the pose change and send it to the computing device 12.
[0035] The computing device 12 is any electronic device with computing capabilities. The computing device 12 can be independent of the master control device 11 and the slave robotic arm 13, or the computing device 12 can be integrated into the master control device 11, or the computing device 12 can be integrated into the slave robotic arm 13.
[0036] The computing device 12 establishes communication connections with the master control device 11 and the slave robotic arm 13 respectively to execute the master-slave control method provided by this application. Specifically, the computing device 12 can receive a control start signal, a control end signal, and a pose control signal from the master control device 11; place the slave robotic arm 13 in a controllable state in response to the control start signal to start the motion control of the slave robotic arm 13; control the slave robotic arm 13 to follow the movement of the master control device 11 in response to the pose control signal; place the slave robotic arm 13 in an uncontrollable state in response to the control end signal to end the motion control of the slave robotic arm 13. The slave robotic arm 13 obtains a control signal from the pose control signal to execute the master-slave control method.
[0037] For other detailed descriptions of the master-slave control system 10, please refer to the following embodiments and will not be elaborated here.
[0038] The master-slave control method provided by this application is introduced below.
[0039] Figure 2 is a schematic flowchart of another embodiment of the master-slave control method provided by this application. As Figure 2 shown, in this embodiment, the master-slave control method may include the following steps:
[0040] S110: Obtain the original current pose characterization information of the master control device.
[0041] The original current pose characterization information is used to characterize the current pose of the master control device.
[0042] The execution subject of the method embodiment of this application is the computing device.
[0043] The pose representation information mentioned in this application can be pose, velocity, acceleration, etc.
[0044] S120: Obtain the motion information of each motion axis of the slave robot arm based on the original current pose representation information.
[0045] The motion parameters of the motion axis can include position, velocity, acceleration, torque, etc.
[0046] In some embodiments, S120 includes: performing a forward mapping on the original current pose representation information to obtain the current expected pose representation information of the slave robot arm; performing an inverse mapping on the current expected pose representation information of the slave robot arm to obtain the motion information of each motion axis of the slave robot arm. In this case, the motion information of each motion axis of the slave robot arm is in the information format corresponding to the master control device. Different forward mapping schemes need to be set for different types of master control devices.
[0047] In some embodiments, S120 includes: converting the original current pose representation information into a standard information format to obtain the standard current pose representation information; performing a forward mapping on the standard current pose representation information to obtain the current expected pose representation information of the slave robot arm; performing an inverse mapping on the current expected pose representation information to obtain the motion information of each motion axis of the slave robot arm. In this case, the information format of the motion information of each motion axis of the slave robot arm is the standard information format. The information format supported by any master control device / slave robot arm can be defined as the standard format. Different types of master control devices only need to adopt the standard forward mapping scheme, which can reduce the complexity of the master-slave control method.
[0048] S130: Convert the motion information of each motion axis of the slave robot arm into the information format corresponding to the slave robot arm, and send the converted motion information of each motion axis of the slave robot arm to the slave robot arm to control the motion of each motion axis of the slave robot arm.
[0049] Different types of slave robot arms correspond to different information formats.
[0050] In some embodiments, S130 includes: determining the type of the slave robot arm; determining the information format corresponding to the type of the slave robot arm; converting the motion information of each motion axis of the slave robot arm from the information format corresponding to the master control device into the information format corresponding to the type of the slave robot arm.
[0051] In some embodiments, S130 includes: determining the type of the slave robot arm; determining the information format corresponding to the type of the slave robot arm; converting the motion information of each motion axis of the slave robot arm from the standard information format into the information format corresponding to the type of the slave robot arm.
[0052] Through the implementation of this embodiment, the original current pose representation information of the master device is obtained, and the motion information (pose mapping scheme) of each motion axis of the slave robotic arm is obtained based on the original current pose representation information. Then, the motion information of each motion axis of the slave robotic arm is converted into the corresponding information format of the slave robotic arm to control the motion of the slave robotic arm. On the one hand, since it will be converted into the corresponding information format of the slave robotic arm, it can be extended to different types of slave robotic arms. On the other hand, since the pose mapping scheme is adopted, it is more flexible than the axis mapping scheme and is not limited to the master device and the slave robotic arm with the same or similar configuration parameters. Thus, the flexibility and expandability are improved.
[0053] Figure 3 It is a schematic flowchart of another embodiment of the master-slave control method provided by this application. This embodiment is a further extension of the foregoing embodiment. As Figure 3 shown, in this embodiment, S120 may include the following steps:
[0054] S121: Convert the original current pose representation information into a standard information format to obtain the standard current pose representation information.
[0055] The format conversion relationship between the information format corresponding to the type of the master device and the standard information format can be preset. In S121, the original current pose representation information can be converted into the standard information format according to the format conversion relationship.
[0056] S122: Perform a forward mapping on the standard current pose representation information to obtain the current expected pose representation information of the slave robotic arm.
[0057] In some embodiments, S122 includes S1221 - S1222. S1221: Obtain the change amount of the standard current pose representation information relative to the standard initial pose representation information of the master device. S1222: Apply the change amount to the standard initial pose representation information of the slave robotic arm to obtain the current expected pose representation information of the slave robotic arm. The change amount includes a translation change amount and / or a rotation change amount, and the standard initial pose representation information of the slave robotic arm includes the initial rotation parameter and / or the initial translation parameter of the slave robotic arm. The current expected pose representation information of the slave robotic arm includes the current expected rotation parameter and / or the current expected translation parameter of the slave robotic arm.
[0058] The standard initial pose representation information of the master device represents the initial pose of the end effector of the master device. The standard initial pose representation information of the slave robotic arm represents the initial pose of the end effector of the slave robotic arm. The current expected pose representation information of the slave robotic arm represents the pose that the end effector of the slave robotic arm is currently expected to reach.
[0059] In some embodiments, S1222 includes S12221. S12221: Apply the rotation change amount to the initial rotation parameters of the slave robotic arm to obtain the current desired rotation parameters of the slave robotic arm. Specifically, the rotation change amount can be multiplied by the initial rotation parameters of the slave robotic arm to obtain the current desired rotation parameters of the slave robotic arm. Alternatively, the rotation change amount can be added to the initial rotation parameters of the slave robotic arm to obtain the current desired rotation parameters of the slave robotic arm.
[0060] In some embodiments, S1222 includes S12222. S12222: Apply the translation change amount to the initial translation parameters of the slave robotic arm to obtain the current desired translation parameters of the slave robotic arm. Specifically, the translation change amount can be added to the initial translation parameters of the slave robotic arm to obtain the current desired translation parameters of the slave robotic arm. Alternatively, the translation change amount can be multiplied by a preset translation ratio coefficient to obtain the multiplied translation change amount; the multiplied translation parameter change amount and the initial translation parameters of the slave robotic arm are added to obtain the current desired translation parameters of the slave robotic arm.
[0061] It can be understood that the translation ratio coefficient can be set according to the motion space ratio of the slave robotic arm and the master control device. For example, if the motion space of the slave robotic arm is larger than that of the master control device, the translation ratio coefficient is greater than 1 to increase the control range of the slave robotic arm. If the motion space of the slave robotic arm is equal to that of the master control device, the translation ratio coefficient is equal to 1. If the motion space of the slave robotic arm is smaller than that of the master control device, the translation ratio coefficient is less than 1 to reduce the control range of the slave robotic arm.
[0062] In some embodiments, there is a pose mapping formula between the standard current pose characterization information of the master control device and the current desired pose characterization information of the slave robotic arm. S122 includes: Mapping the standard current pose standard information according to the pose mapping formula to obtain the current desired pose standard information.
[0063] In some embodiments, S122 includes: Obtain the change amount of the standard current pose characterization information relative to the historical standard pose characterization information of the master control device; Apply the change amount to the historical standard pose characterization information of the slave robotic arm to obtain the current desired pose characterization information of the slave robotic arm. The historical standard pose characterization information of the master control device refers to the information obtained after the standard initial pose characterization information of the master control device and before the standard current pose characterization information of the master control device, such as the previous standard pose characterization information of the master control device. The historical pose characterization information of the slave robotic arm can be the historical desired pose characterization information obtained from the historical standard pose characterization information of the master control device, or the historical actual pose characterization information of the end effector of the slave robotic arm after controlling the motion of the slave robotic arm based on the historical desired pose characterization information.
[0064] The following gives an example of S122:
[0065] Standard initial pose characterization information T of the master device a0 , and the standard initial pose characterization information T of the slave manipulator r0 =(R r0 , P r0 ). Among them, R r0 , P r0 respectively represent the initial rotation parameter and the initial translation parameter of the slave manipulator.
[0066] Obtain the current pose characterization information T of the master device ai ;
[0067] Obtain the change amount of the current pose characterization information T of the master device ai relative to the standard initial pose characterization information T of the master device a0 T rel_i =(R rel_i , P rel_i ). Among them, R rel_i , P rel_i respectively represent the rotation change amount and the translation change amount.
[0068] Apply the change amount T rel_i to the standard initial pose characterization information T of the slave manipulator r0 , to obtain the current desired pose characterization information T of the slave manipulator ri =(R ri , P ri ). Specifically, apply the rotation change amount R rel_i to the initial rotation parameter R of the slave manipulator r0 , to obtain the current desired rotation parameter R of the slave manipulator ri =R rel_i R r0 ; Apply the translation change amount P ri to the initial translation parameter P of the slave manipulator r0 , to obtain the current translation rotation parameter P of the slave manipulator ri =αP rel_i +P r0 .
[0069] S123: Perform inverse mapping on the current desired pose characterization information to obtain the motion information of each motion axis of the slave manipulator.
[0070] The slave manipulator has configuration parameters. The configuration parameters of different types of slave manipulators may be the same or different. The configuration parameters of the slave manipulator can include the number of motion axes, the number of linkages, the linkage length, the linkage ratio, etc.
[0071] In some embodiments, a standard reverse mapping scheme is configured for the slave robotic arms with different configuration parameters. S123 includes: performing reverse mapping on the current desired pose representation information according to the standard reverse mapping scheme to obtain standard motion information; and converting the standard motion information into the motion information of each motion axis of the slave robotic arm. It can be understood that the standard reverse mapping scheme is for standard configuration parameters, and the difference between the configuration parameters of the slave robotic arm and the standard configuration parameters can be determined to generate a motion information conversion scheme corresponding to the difference; and the standard motion information is converted into the motion information of each motion axis of the slave robotic arm according to the motion information conversion scheme.
[0072] In some embodiments, after obtaining the standard motion information, it is further possible to determine whether the configuration parameters of the controlled slave robotic arm are standard configuration parameters; in response to being standard configuration parameters, the standard motion information is used as the motion information of each motion axis of the slave robotic arm; in response to not being standard configuration parameters, the standard motion information is converted into the motion information of each motion axis of the slave robotic arm.
[0073] In some embodiments, different personalized reverse mapping schemes are configured for the slave robotic arms with different configuration parameters. S123 includes: obtaining the configuration parameters of the slave robotic arm; obtaining the target reverse mapping scheme corresponding to the configuration parameters of the slave robotic arm; and performing reverse mapping on the current desired pose representation information according to the target reverse mapping scheme to obtain the motion information of each motion axis of the slave robotic arm.
[0074] Different from the foregoing embodiments, through the implementation of this embodiment, the original current pose representation information of different types of master control devices is converted into a standard information format, and the same forward mapping logic can be adopted for different types of master control devices, reducing the complexity of the master-slave control method.
[0075] Before some embodiments execute S122, it further includes: performing filtering processing on the standard current pose representation information to update the standard current pose representation information. The filtering processing method can be at least one of smoothing filtering and amplitude-limiting filtering. Smoothing filtering is used to eliminate noise and make the change of pose representation information smoother. Amplitude-limiting filtering is to limit the change range of pose representation information by setting a threshold to suppress mutations or outliers. The method of smoothing filtering can be moving average filtering, exponential smoothing filtering, low-pass filtering, Gaussian filtering, second-order section filtering (SOS filter), etc. The method of amplitude-limiting filtering can be speed-limiting filtering, online filtering, etc. Through filtering, the smoothness of the control of the slave robotic arm can be improved.
[0076] In some embodiments, smoothing filtering may be performed first and then clipping filtering. Specifically, perform smoothing filtering on the standard current pose representation information to obtain the smoothed standard current pose representation information; perform clipping filtering on the smoothed standard current pose representation information to obtain the clipped standard current pose representation information.
[0077] In some embodiments, in different application scenarios, or for different types of master devices, or for different types of slave robotic arms, the filtering parameters for the filtering process may be different.
[0078] In some embodiments, before S1221 / S1222, it further includes: in response to receiving a control start signal, obtaining the standard initial pose representation information of the master device and the standard initial pose representation information of the slave robotic arm.
[0079] In some embodiments, in response to receiving a control start signal from the master device, obtain the original initial pose representation information of the master device / slave robotic arm, and convert the original initial pose representation information of the master device / slave robotic arm into the standard information format to obtain the standard initial pose representation information of the master device / slave robotic arm.
[0080] In some embodiments, in response to receiving a control start signal from the master device, obtain one standard initial pose representation information of the master device and one standard initial pose representation information of the slave robotic arm. Alternatively, in response to receiving a control start signal from the master device, obtain several standard initial pose representation information of the master device within a preset time range, and calculate the average of the several standard initial pose representation information of the master device to obtain the final standard initial pose representation information of the master device; and obtain several standard initial pose representation information of the slave robotic arm within a preset time range, and calculate the average of the several standard initial pose representation information of the slave robotic arm to obtain the final standard initial pose representation information of the slave robotic arm. The preset time range may be a period of time after receiving the control start signal, such as several ms. It can be understood that the method of calculating the average can reduce the influence of noise.
[0081] In some embodiments, the master-slave control method further includes: in response to receiving a control start signal, placing the slave robotic arm in a controllable state.
[0082] In some embodiments, before placing the slave robotic arm in a controllable state, it further includes: determining whether the slave robotic arm meets the control conditions; in response to meeting the control conditions, performing the step of placing the slave robotic arm in a controllable state; in response to not meeting the control conditions, not performing the step of placing the slave robotic arm in a controllable state. The controlled conditions include at least one of not being in a non-movable state, an alarm state, and the standard initial pose representation information of the slave robotic arm not being in the neighborhood of a singularity point, etc.
[0083] In some embodiments, when the standard initial pose characterization information of the slave robotic arm is in the neighborhood of a singularity, the slave robotic arm can be controlled automatically or manually to move away from the neighborhood of the singularity to meet the control conditions.
[0084] In some embodiments, it further includes: setting the parameters of the filter in response to receiving a control start signal. The filter is used to filter the standard current pose characterization information to update the standard current pose characterization information.
[0085] In some embodiments, a circular buffer is set up. The initial motion information of each motion axis of the slave robotic arm is obtained by inverse mapping the standard initial pose characterization information of the slave robotic arm. The initial motion information of each motion axis of the slave robotic arm is copied n times to obtain n groups of initial motion information, which are then put into the circular buffer to prevent insufficient data in the circular buffer due to insufficient real-time performance, thereby preventing the control failure of the slave robotic arm.
[0086] For ease of understanding, the master-slave control method provided in this application is described below in the form of a specific example:
[0087] Figure 4 It is a schematic structural diagram of an embodiment of the computing device and software architecture of this application. As Figure 4 shown, the software architecture of the master-slave control method includes a master device connection layer, a data central control layer, and a slave robotic arm connection layer. The computing device includes a master device connection module, a data central control module, and a slave robotic arm connection module. The master device connection module, the data central control module, and the slave robotic arm connection module are respectively used to run the master device connection layer, the data central control layer, and the slave robotic arm connection layer. The master device connection layer is used to interface with different types of master devices, and the slave robotic arm connection layer is used to interface with different types of slave robotic arms.
[0088] Figure 5 It is a schematic flowchart of a specific example of the master-slave control method of this application. As Figure 5 shown, the master-slave control method implemented according to the Figure 4 software architecture shown includes:
[0089] The master-slave control method is divided into a control start link, a control execution link, and a control end link.
[0090] In the control start link:
[0091] 1. The master device connection layer receives a control start signal from the master device.
[0092] 2. In response to the control start signal, the data central control layer performs the following initialization steps.
[0093] (1) Determine whether the slave manipulator meets the control conditions. In response to meeting the control conditions, execute other steps; in response to not meeting the control conditions, end.
[0094] (2) Obtain a number of standard initial pose characterization information of the master control device within a number of milliseconds, and average the number of standard initial pose characterization information to obtain the final standard initial pose characterization information T of the master control device a0 .
[0095] (3) Obtain the standard initial pose characterization information T of the slave manipulator r0 , and extract the initial rotation parameter R r0 and the initial translation parameter P r0 , T r0 = (R r0 , P r0 ); Determine whether T r0 = (R r0 , P r0 ) is in the neighborhood of the singular point; in response to being in the neighborhood of the singular point, end; in response to not being in the neighborhood of the singular point, execute other steps.
[0096] (4) Perform inverse mapping on the standard initial pose characterization information T r0 = (R r0 , P r0 ) of the slave manipulator to obtain the initial motion information of each motion axis of the slave manipulator, copy it n times to obtain n groups of standard initial pose characterization information, and put the n groups of standard initial pose characterization information into the circular buffer to prevent insufficient data in the circular buffer due to insufficient real-time performance during actual control, which may lead to failure of controlling the slave manipulator.
[0097] (5) Set the parameters of the filters (SOSfilter, onlinefilter).
[0098] During the control process:
[0099] 3. The master control device connection layer receives the pose control signal (including the original current pose characterization information) from the master control device at the set pose update frequency f1 (such as 1000 Hz); in response to the pose control signal, convert the original current pose characterization information into the standard information format to obtain the standard current pose characterization information.
[0100] 4. The data central control layer executes the following steps.
[0101] (6) Filter the standard current pose characterization information to update the standard current pose characterization information T aiAmong them, first use the SOSfilter for filtering to make the standard current pose representation information smoother. Then use the onlinefilter filter for filtering to limit the amplitude of the standard current pose representation information.
[0102] (7) Perform a forward mapping on the standard current pose representation information T ai to obtain the current desired pose representation information T of the robotic arm ri .
[0103] ① Obtain the change amount ai of the standard current pose representation information T a0 relative to the standard initial pose representation information T of the master control device and extract the rotation change amount R rel_i and the translation change amount P rel_i in the change amount T rel_i , T rel_i =(R rel_i , P rel_i ).
[0104] ② Apply the rotation change amount R rel_i and the translation change amount P rel_i to the standard initial pose representation information of the slave robotic arm to obtain the current desired pose representation information R of the slave robotic arm ri =R rel_i R r0 , P ri =αP rel_i +P r0 , T ri =(R ri , P ri ).
[0105] (8) According to the target inverse mapping scheme corresponding to the configuration parameters of the slave robotic arm, perform an inverse mapping on the current desired pose representation information of the slave robotic arm to obtain the motion information of each motion axis of the slave robotic arm. If the solution obtained by the inverse mapping is found in the neighborhood of the singular point, it is necessary to use the damping reciprocal method to avoid the singular point.
[0106] (9) Insert the motion information of each motion axis of the slave robotic arm at the end of the circular buffer.
[0107] (10) According to the set control frequency f2 (such as 50Hz, f1 = mf2), obtain the motion information sequence from the circular buffer. The motion information sequence includes several groups of the motion information of each motion axis of the slave robotic arm inserted into the circular buffer earliest. It can be understood that taking multiple groups can avoid the influence on the control of the slave robotic arm caused by low communication efficiency.
[0108] (11) During the above process, monitor the number of groups of motion information of each moving axis of the slave robotic arm in the circular buffer, and end the control of the slave robotic arm when the number of groups is less than the group threshold. In addition, monitor whether the latest pose characterization information of the master device has not been received for a continuous period of time (such as 100 ms), and end the control of the slave robotic arm if not received.
[0109] 5. The slave robotic arm connection layer converts the motion information of each moving axis in the motion information sequence into the corresponding information format of the slave robotic arm and sends it to the slave robotic arm to control the movement of the slave robotic arm.
[0110] In the control end link:
[0111] 6. The master device connection layer receives the end control signal from the master device.
[0112] 7. In response to the control end signal, the data central control layer places the slave robotic arm in an uncontrollable state and ends the control.
[0113] Figure 6 is a schematic structural diagram of a specific example of the master-slave control device of the present application. As Figure 6 shown, the master-slave control device 20 includes a first acquisition module 21, a second acquisition module 22, and a format conversion module 23. Among them:
[0114] The first acquisition module 21 is used to acquire the original current pose characterization information of the master device, and the original current pose characterization information is used to characterize the current pose of the master device.
[0115] The second acquisition module 22 is used to acquire the motion information of each moving axis of the slave robotic arm based on the original current pose characterization information.
[0116] The format conversion module 23 is used to convert the motion information of each moving axis of the slave robotic arm into the corresponding information format of the slave robotic arm, and send the converted motion information of each moving axis of the slave robotic arm to the slave robotic arm to control the movement of each moving axis of the slave robotic arm.
[0117] For other detailed descriptions of the master-slave control device 20 in this embodiment, please refer to the previous embodiments and will not be elaborated here.
[0118] Figure 7 is a schematic structural diagram of an embodiment of the electronic device of the present application. As Figure 7 shown, the electronic device 30 includes a memory 31 and a processor 32. The processor 32 is used to execute the program instructions stored in the memory 31 to implement the steps in any of the above method embodiments. In a specific implementation scenario, the electronic device 30 may include, but is not limited to: a microcomputer, a server. In addition, the electronic device 30 may also include a carrying device such as a laptop computer, a tablet computer, etc., which will not be limited here.
[0119] Specifically, the processor 33 is used to control itself and the memory 31 to implement the steps in any of the above method embodiments. The processor 33 may also be referred to as a CPU (Central Processing Unit). The processor 33 may be an integrated circuit chip with signal processing capabilities. The processor 33 may also be a general-purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components. The general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc. Additionally, the processor 33 may be implemented jointly by integrated circuit chips.
[0120] Please refer to Figure 8 , Figure 8 which is a schematic structural diagram of an embodiment of the computer-readable storage medium of the present application. The computer-readable storage medium 40 stores program instructions 41 thereon, and when the program instructions 41 are executed by the processor, the steps in any of the above method embodiments are implemented.
[0121] In some embodiments, the functions or modules included in the device provided by the embodiments of the present disclosure can be used to execute the methods described in the above method embodiments. The specific implementation can refer to the description of the above method embodiments. For the sake of brevity, it will not be repeated here.
[0122] The above descriptions of the various embodiments tend to emphasize the differences between the various embodiments. Their similarities or similarities can be referred to each other. For the sake of brevity, they will not be repeated in this article.
[0123] In several embodiments provided by the present application, it should be understood that the disclosed methods and devices can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of modules or units is only a logical function division. In actual implementation, there may be other division methods. For example, units or components can be combined or integrated into another system, or some features can be ignored or not executed. In another image position, the displayed or discussed coupling or direct coupling or communication connection between each other can be through some interfaces. The indirect coupling or communication connection of the device or unit can be in electrical, mechanical or other forms.
[0124] In addition, in each embodiment of the present application, each functional unit can be integrated into one processing unit, or each unit can exist physically alone, or two or more units can be integrated into one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of a software functional unit. If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on such an understanding, the technical solution of the present application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) or a processor to execute all or part of the steps of the methods of various embodiments of the present application. The aforementioned storage medium includes: various media that can store program codes, such as USB flash drives, mobile hard disks, read-only memories (ROMs), random access memories (RAMs), magnetic disks, or optical discs.
Claims
1. A master-slave control method, characterized in that Including: Obtaining the original current pose representation information of the master device, where the original current pose representation information is used to represent the current pose of the master device; Obtaining the motion information of each motion axis of the slave robotic arm based on the original current pose representation information; Converting the motion information of each motion axis of the slave robotic arm into the corresponding information format of the slave robotic arm, and sending the converted motion information of each motion axis of the slave robotic arm to the slave robotic arm to control the motion of each motion axis of the slave robotic arm.
2. The method according to claim 1, characterized in that The obtaining the motion information of each motion axis of the slave robotic arm based on the original current pose representation information includes: Converting the original current pose representation information into a standard information format to obtain standard current pose representation information; Performing a forward mapping on the standard current pose representation information to obtain the current expected pose representation information of the slave robotic arm; Performing an inverse mapping on the current expected pose representation information to obtain the motion information of each motion axis of the slave robotic arm.
3. The method according to claim 2, wherein The performing an inverse mapping on the current expected pose representation information to obtain the motion information of each motion axis of the slave robotic arm includes: Obtaining the configuration parameters of the slave robotic arm; Obtaining the target inverse mapping scheme corresponding to the configuration parameters of the slave robotic arm; Performing an inverse mapping on the current expected pose representation information according to the target inverse mapping scheme to obtain the motion information of each motion axis of the slave robotic arm; And / or, the performing a forward mapping on the standard current pose representation information to obtain the current expected pose representation information of the slave robotic arm includes: Obtaining the change amount of the standard current pose representation information relative to the standard initial pose representation information of the master device; Applying the change amount to the standard initial pose representation information of the slave robotic arm to obtain the current expected pose representation information of the slave robotic arm.
4. The method according to claim 3, characterized in that The method further includes: In response to receiving a control start signal, obtaining the standard initial pose representation information of the master device and the standard initial pose representation information of the slave robotic arm.
5. The method according to claim 3, wherein The change amount includes a translation change amount and a rotation change amount. The standard initial pose representation information of the slave robotic arm includes the initial rotation parameters and initial translation parameters of the slave robotic arm. The current expected pose representation information of the slave robotic arm includes the current expected rotation parameters and current expected translation parameters of the slave robotic arm; The applying the change amount to the standard initial pose representation information of the slave robotic arm to obtain the current expected pose representation information of the slave robotic arm includes: Applying the rotation change amount to the initial rotation parameters of the slave robotic arm to obtain the current expected rotation parameters of the slave robotic arm; And Applying the translation change amount to the initial translation parameters of the slave robotic arm to obtain the current expected translation parameters of the slave robotic arm.
6. The method according to claim 5, wherein The applying the rotation change amount to the initial rotation parameters of the slave robotic arm to obtain the current expected rotation parameters of the slave robotic arm includes: Multiplying the rotation change amount by the initial rotation parameters of the slave robotic arm to obtain the current expected rotation parameters of the slave robotic arm; And / or, applying the translation variation amount to the initial translation parameters of the slave robotic arm to obtain the current desired translation parameters of the slave robotic arm includes: Multiplying the translation variation amount by a preset translation proportionality coefficient to obtain a multiplied translation variation amount; Adding the multiplied translation parameter variation amount and the initial translation parameters of the slave robotic arm to obtain the current desired translation parameters of the slave robotic arm.
7. The method according to claim 2, wherein Before forward mapping the standard current pose representation information to obtain the current desired pose representation information of the slave robotic arm, it further includes: Performing a filtering process on the standard current pose representation information to update the standard current pose representation information.
8. The method according to claim 7, wherein The performing a filtering process on the standard current pose representation information to update the standard current pose representation information includes: Performing a smoothing filtering process on the standard current pose representation information to obtain a smoothed filtered standard current pose representation information; Performing a limiting filtering process on the smoothed filtered standard current pose representation information to obtain a limited filtered standard current pose representation information.
9. A master-slave control system, characterized in that, It includes: A master control device, a slave robotic arm, and a computing device. The computing device respectively establishes communication connections with the master control device and the slave robotic arm to execute the method according to any one of claims 1-8.
10. A master-slave control device, characterized in that, It includes: A first acquisition module, configured to acquire the original current pose representation information of the master control device, where the original current pose representation information is used to represent the current pose of the master control device; A second acquisition module, configured to acquire the motion information of each motion axis of the slave robotic arm based on the original current pose representation information; A format conversion module, configured to convert the motion information of each motion axis of the slave robotic arm into the corresponding information format of the slave robotic arm, and send the converted motion information of each motion axis of the slave robotic arm to the slave robotic arm to control the motion of each motion axis of the slave robotic arm.
11. An electronic device, characterized in that, It includes a memory and a processor. The processor is configured to execute program instructions stored in the memory to implement the method according to any one of claims 1 to 8.
12. A computer-readable storage medium having program instructions stored thereon, characterized in that, When the program instructions are executed by the processor, the method according to any one of claims 1 to 8 is implemented.