Motion control method and system of mechanical arm and mechanical arm
By mapping the master arm pose parameters to a normalized coordinate space and scaling them in teleoperation technology, the problem of size differences between heterogeneous master and slave arms is solved, adaptive motion mapping across body configurations is realized, the system's generalization ability is improved and development costs are reduced.
Patent Information
- Application Number
- CN202511446051.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-10-10
- Publication Date
- 2026-01-30
AI Technical Summary
Existing teleoperation technologies have weak generalization capabilities when dealing with heterogeneous systems with significant differences in the size or configuration of the master and slave arms. This results in high development costs and difficulty in reusing them across robot platforms. There is a lack of universal mapping and control methods that enable cross-body adaptive scaling and efficient handling of kinematic constraints.
By mapping the pose parameters of the master arm to a normalized coordinate space, scaling the scale based on the master-slave arm span ratio, and then mapping the scaled parameters to the slave arm coordinate space for inverse kinematics processing, adaptive motion mapping across body configurations is achieved.
It significantly improves the generalization capability of the master-slave teleoperation system, reduces data acquisition and development costs, avoids the repetitive design process for different slave arms, and ensures motion accuracy and adaptability.
Smart Images

Figure CN121424344A_ABST
Abstract
Description
Technical Field
[0001] This specification relates to the field of robotics, and in particular to a motion control method, system, and robotic arm for a robotic arm. Background Technology
[0002] As robots enter the intelligent era, the basic behavioral models of the brain require the collection of diverse behavioral and perceptual data. By introducing teleoperation of robots, it is possible to collect behavioral data at low cost and across configurations.
[0003] Currently, most mainstream teleoperation solutions adopt isomorphic design, that is, the number of joints of the master arm and slave arm are similar to or the same as the mechanical configuration, and motion mapping is achieved through simple joint angle replication or Cartesian space servoing.
[0004] However, this isomorphic design severely limits the system's versatility. When the size and configuration of the slave arm differ significantly from those of the master arm, the heterogeneous design requires tedious parameter tuning and data acquisition for each different slave arm, resulting in weak generalization ability, high development costs, and difficulty in cross-robot platform reuse. Therefore, there is an urgent need for a universal teleoperation method that is cross-body, adaptively scalable, and can efficiently handle kinematic constraints, along with a corresponding teleoperation mapping and control framework, to enable the widespread application of heterogeneous master-slave robotic arm teleoperation technology. Summary of the Invention In view of this, embodiments of this specification provide a motion control method for a robotic arm. One or more embodiments of this specification also relate to a motion control system for a robotic arm, a robotic arm, a computer-readable storage medium, and a computer program product, to address the technical deficiencies existing in the prior art.
[0005] According to a first aspect of the embodiments of this specification, a motion control method for a robotic arm is provided, the method comprising: Obtain the main arm pose parameters; The pose parameters of the main arm are mapped to the normalized coordinate space to obtain the normalized pose parameters. Based on the arm span ratio of the master arm and slave arm, the normalized pose parameters are scaled to obtain scaled pose parameters. The scaling pose parameters are mapped to the coordinate space of the slave arm to obtain the slave arm pose parameters. The pose parameters of the slave arm are processed by inverse kinematics to obtain the target motion parameters of each joint for motion control of the slave arm.
[0006] According to a second aspect of the embodiments of this specification, a motion control system for a robotic arm is provided. The motion control system includes a simulation thread, and the simulation thread includes a kinematics engine. The simulation thread is used to run the kinematics engine to perform the following steps: Obtain the main arm pose parameters; The pose parameters of the main arm are mapped to the normalized coordinate space to obtain the normalized pose parameters. Based on the arm span ratio of the master arm and slave arm, the normalized pose parameters are scaled to obtain scaled pose parameters. The scaling pose parameters are mapped to the coordinate space of the slave arm to obtain the slave arm pose parameters. The pose parameters of the slave arm are processed by inverse kinematics to obtain the target motion parameters of each joint for motion control of the slave arm.
[0007] According to a third aspect of the embodiments of this specification, a robotic arm is provided, including a master arm, a slave arm, and a motion control system for the robotic arm; The motion control system controls the movement of the master arm and slave arm according to the motion control method of the robotic arm described above.
[0008] According to a fourth aspect of the embodiments of this specification, a computer-readable storage medium is provided that stores a computer program / instructions, which, when executed by a processor, implement the steps of the motion control method for the robotic arm described above.
[0009] According to a fifth aspect of the embodiments of this specification, a computer program product is provided, including a computer program / instructions that, when executed by a processor, implement the steps of the motion control method for the robotic arm described above.
[0010] In one embodiment of this specification, by mapping the master arm pose parameters to a normalized coordinate space, a unified abstract description of the motion of master arms with different configurations is achieved, breaking through the dependence of traditional isomorphic mapping on mechanical configuration. Based on the master-slave arm span ratio, the normalized pose parameters are scaled, enabling motion commands to adaptively match the actual size of the slave arm, solving the problem of size differences between heterogeneous master and slave arms. By mapping the scaled pose parameters to the slave arm coordinate space and performing inverse kinematics processing, the kinematic constraints of the slave arm are automatically satisfied while ensuring motion accuracy. Overall, this method, through normalized coordinate space transformation, scaling, and inverse kinematics solving, achieves adaptive motion mapping across body configurations, significantly improving the generalization capability of the master-slave teleoperation system, avoiding the process of repeatedly designing the master arm for different slave arms, and reducing data acquisition costs, development costs, and reuse difficulty. Attached Figure Description
[0011] Figure 1 This is a flowchart of a motion control method for a robotic arm provided in one embodiment of this specification; Figure 2 This is a schematic diagram of the projection and inverse kinematics processing algorithm in a motion control method for a robotic arm provided in one embodiment of this specification; Figure 3 This is a software architecture diagram of a motion control method for a robotic arm provided in one embodiment of this specification; Figure 4 This is a schematic diagram of the motion control system of a robotic arm provided in one embodiment of this specification; Figure 5 This is a system flowchart of a motion control system for a robotic arm provided in one embodiment of this specification; Figure 6 This is a schematic diagram of the scheduling of a motion control system for a robotic arm according to one embodiment of this specification; Figure 7 This is a schematic diagram of the structure of a robotic arm provided in one embodiment of this specification. Detailed Implementation
[0012] Many specific details are set forth in the following description to provide a full understanding of this specification. However, this specification can be implemented in many other ways than those described herein, and those skilled in the art can make similar extensions without departing from the spirit of this specification. Therefore, this specification is not limited to the specific implementations disclosed below.
[0013] The terminology used in one or more embodiments of this specification is for the purpose of describing particular embodiments only and is not intended to be limiting of the one or more embodiments of this specification. The singular forms “a,” “described,” and “the” as used in one or more embodiments of this specification and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used in one or more embodiments of this specification refers to and includes any or all possible combinations of one or more associated listed items.
[0014] It should be understood that although the terms first, second, etc., may be used to describe various information in one or more embodiments of this specification, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another. For example, first may also be referred to as second without departing from the scope of one or more embodiments of this specification, and similarly, second may also be referred to as first. Depending on the context, the word "if" as used herein may be interpreted as "when," "when," or "in response to a determination."
[0015] Furthermore, it should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in one or more embodiments of this specification are all information and data authorized by the user or fully authorized by all parties. Moreover, the collection, use and processing of related data must comply with the relevant laws, regulations and standards of the relevant countries and regions, and corresponding operation entry points are provided for users to choose to authorize or refuse.
[0016] First, the terms and concepts used in one or more embodiments of this specification will be explained.
[0017] Heterogeneous teleoperation: refers to a teleoperation method in which the master arm and slave arm differ in degrees of freedom, size, or structure.
[0018] Kinematic relationships: Establish the mathematical relationships between the joints and distal poses of the master arm and the slave arm.
[0019] Kinematics engine: A dedicated software module or hardware accelerator for calculating the kinematic relationships of a robotic arm. The kinematics engine integrates core algorithms such as forward kinematics, inverse kinematics, and Jacobian matrix calculation. It can process the pose transformation and motion mapping relationships of the robotic arm in real time and is the core computing unit of the teleoperation system.
[0020] Forward Kinematics (FK) is a deterministic computational process from local to global. Its core is to calculate the unique pose of the robot's end effector in Cartesian space based on a series of fixed geometric transformations based on the known motion parameters of each joint of the robot.
[0021] Inverse Kinematics (IK) is an uncertainty-based solution process that moves from the global to the local level. Its core is to solve for one or more possible combinations of joint motion parameters that can achieve a desired pose of a robot end effector in Cartesian space by solving complex mathematical equations.
[0022] Differential inverse kinematics solution: The joint velocities corresponding to the end-effector motion of the target are calculated in real time using the Jacobian matrix.
[0023] Scale scaling: Keeping the end effector posture unchanged, the position is scaled proportionally to the length of the robotic arm, so as to achieve consistent movements between robotic arms of different sizes.
[0024] Existing teleoperation technologies mostly adopt a homogeneous master-slave design, which requires the master arm and slave arm to have similar or the same number of joints and mechanical configuration. Motion control is usually achieved through direct joint angle mapping or Cartesian space servoing.
[0025] These methods suffer from insufficient generalization ability when dealing with heterogeneous systems with significant differences in the size or configuration of the master and slave arms. The cumbersome parameter settings and data acquisition required for each different slave arm lead to high development costs and difficulty in cross-platform reuse. Although some methods based on motion redirection or imitation learning have attempted to handle configuration differences, their implementation often relies on near-ergonomic exoskeletons or specific hardware assumptions, limiting their real-time performance, versatility, and handling of the robot's own kinematic constraints, resulting in high barriers to engineering implementation. Commercial solutions focus more on human operation or wearable sensor-based mobile control, lacking a universal mapping architecture capable of simultaneously coordinating motion scaling and attitude maintenance for heterogeneous multi-arm systems. Existing mainstream robot software frameworks also tend to focus on data acquisition toolchains within homogeneous systems or closed ecosystems. Therefore, there is an urgent need for a universal teleoperation mapping and control method that can achieve cross-body adaptive scaling and efficiently handle kinematic constraints to fill this technological gap.
[0026] To address the aforementioned problems, this specification provides a motion control method for a robotic arm. This specification also relates to a motion control system for a robotic arm, a robotic arm itself, a computer-readable storage medium, and a computer program product, which will be described in detail in the following embodiments.
[0027] See Figure 1 , Figure 1 A flowchart of a motion control method for a robotic arm according to an embodiment of this specification is shown. The method includes the following specific steps: Step 102: Obtain the main arm pose parameters.
[0028] Motion control units used in robot teleoperation systems, such as high-level motion control systems for robotic arms, can specifically be simulation threads (simulation engines) running on real-time computing platforms or dedicated kinematic engines.
[0029] The embodiments in this specification are applied to fields and scenarios requiring high precision and cross-platform human-machine collaboration, including but not limited to: remote assembly and maintenance in industrial automation, remote surgical operations of medical robots, teleoperation of heterogeneous robots in space and deep-sea exploration, and human teaching and learning and skill reproduction of service robots.
[0030] The main arm is a directly controlled robotic arm. As an input device in the robot's teleoperation system, it is typically a lightweight and highly flexible device, including but not limited to: general-purpose robotic arms, dedicated joysticks, or wearable exoskeletons. Its specific form does not constitute a limitation on this method.
[0031] The pose parameters of the main arm are physical quantities describing the position and orientation of the end effector in the coordinate space of the main arm. These parameters include, but are not limited to, main arm position parameters and main arm orientation parameters. Main arm position parameters are typically in three-dimensional coordinates, while main arm orientation parameters can be represented using Euler angles, quaternions, or rotation matrices. The main arm pose parameters can be represented by the pose parameters of the end effector.
[0032] One possible way to obtain the main arm pose parameters is to receive the main arm pose parameters output by the main arm encoder / main arm interface. Another possible way is to determine the main arm pose parameters through forward kinematics. Yet another possible way is to obtain the main arm pose parameters through a vision acquisition device. No specific method is specified here.
[0033] Obtaining the main arm's pose parameters can be achieved by acquiring the main arm's configuration kinematic tree parameters, which are a set of parameters describing the main arm's mechanical structure and kinematic relationships. These parameters define the dimensions, joint types, and connection relationships of each link in the main arm. For example, the configuration kinematic tree parameters for a six-DOF robot arm include the lengths of the six links from the base to the end effector, the rotation axis directions of the six joints, and the limit angle ranges of each joint. Predefined URDF (Unified Robot Description Format) model parameters can also be read from the robot arm's configuration file.
[0034] For example, in a remote operation scenario of a medical robot, the master arm is a force feedback hand controller, and the slave arm is a dedicated surgical robotic arm. The end-effector pose is calculated in real time by a built-in encoder and a forward kinematics model to obtain the master arm pose parameter T_master, which includes the master arm position parameters: three-dimensional coordinates (x_master, y_master, z_master) and the master arm posture parameters: quaternions (qx_master, qy_master, qz_master, qw_master), and then transmitted to the motion control system. In step 102, the main arm pose parameters are obtained, providing a data foundation for subsequent mapping to the normalized coordinate space.
[0035] Step 104: Map the main arm pose parameters to the normalized coordinate space to obtain the normalized pose parameters.
[0036] Normalized coordinate space is an abstract mathematical space that is independent of the scale of the robotic arm. It is used to uniformly represent the spatial pose of robotic arms with different configurations. The workspace of the robotic arm is linearly or nonlinearly mapped in the abstract mathematical space. The normalized coordinate space eliminates the influence of the specific size and configuration of the main arm through normalization processing, providing a unified reference framework for subsequent scale scaling.
[0037] Normalized pose parameters are physical quantities that describe the position and orientation of the end effector in normalized coordinate space. Normalized pose parameters include, but are not limited to, normalized position parameters and normalized attitude parameters. Normalized position parameters are typically normalized coordinates in three-dimensional space, while normalized attitude parameters can be represented using Euler angles, quaternions, or rotation matrices. Since the end effector's pose parameters can be represented by the end effector's pose parameters, normalized pose parameters can be understood as normalized end effector pose parameters.
[0038] To obtain normalized pose parameters, the main arm pose parameters are mapped to a normalized coordinate space. One possible method is to convert the main arm pose parameters into parameters in a unit spherical coordinate space through a scaling transformation. Another possible method is to normalize the maximum inscribed sphere of the main arm pose parameters. Yet another possible method is to map the main arm pose parameters to a normalized coordinate space through a normalization transformation matrix. No particular method is specified here.
[0039] Mapping the main arm pose parameters to a normalized coordinate space yields normalized pose parameters. This can be achieved by mapping the main arm pose parameters to a normalized workspace, where the normalized workspace is a mathematically transformed coordinate space that uniformly maps the workspaces of robotic arms of different sizes and configurations. This normalized workspace is size-independent and configuration-independent. For example, a robotic arm workspace with a maximum radius of 1.2 meters and a robotic arm workspace with a maximum radius of 0.8 meters can both be mapped to a unit sphere space with a radius of 1 through a normalization transformation.
[0040] For example, the main arm position parameters are (0.5, 0.3, 0.2), and the main arm attitude parameters are (0.707, 0, 0, 0.707). The magnitude of the position vector is calculated. Normalization is performed to obtain normalized position parameters. Meanwhile, keeping the attitude quaternion unchanged, we obtain the complete normalized pose parameters: normalized position parameters (0.812, 0.487, 0.325) and normalized attitude parameters (0.707, 0, 0, 0.707).
[0041] In step 104, by mapping the pose parameters of the main arm to the normalized coordinate space, a unified abstract description of the motion of the main arm with different configurations is achieved, breaking through the dependence of traditional isomorphic mapping on mechanical configuration.
[0042] Step 106: Based on the arm span ratio of the master arm and slave arm, scale the normalized pose parameters to obtain scaled pose parameters.
[0043] The slave arm is an indirectly controlled robotic arm that serves as an output device in a robot teleoperation system, receiving motion commands and executing specific tasks. It is typically a lightweight, highly flexible device, including but not limited to: general-purpose robotic arms, dedicated joysticks, or wearable exoskeletons. Its specific form does not constitute a limitation of this method. As the controlled object, the slave arm's configuration, size, and degrees of freedom can differ from the master arm, achieving cooperative operation with the master arm through kinematic mapping.
[0044] The arm span ratio of the master arm and slave arm is the ratio between the maximum reachable radii of the master arm and slave arm, respectively. This ratio is a key parameter for motion scaling, ensuring that motion commands can adaptively match the actual working range of the slave arm. For example, if the maximum working radius of the master arm is 1 meter and the maximum working radius of the slave arm is 2 meters, then the arm span ratio is 1:2.
[0045] Scaling pose parameters are physical quantities that describe the position and orientation of the end effector in a normalized coordinate space after scaling. Scaling pose parameters include, but are not limited to, scaling position parameters and scaling attitude parameters. Scaling position parameters are typically scaling coordinates in three-dimensional space, while scaling attitude parameters can be represented using Euler angles, quaternions, or rotation matrices. Since the end effector's pose parameters can be represented by the end effector's pose parameters, scaling pose parameters can be understood as scaled end effector pose parameters.
[0046] Based on the arm span ratio of the master arm and slave arm, the normalized pose parameters are scaled to obtain the scaled pose parameters. One possible method is to multiply the normalized pose parameters by the arm span ratio coefficient to obtain the scaled pose parameters. Another possible method is to process the normalized pose parameters using a nonlinear scaling function to obtain the scaled pose parameters. No limitation is made here.
[0047] Based on the arm span ratio of the primary and secondary arms, the normalized pose parameters are scaled to obtain scaled pose parameters. This can be achieved by scaling the normalized pose parameters according to the shoulder-wrist arm span ratio of the primary and secondary arms. The shoulder-wrist arm span ratio is the ratio between the straight-line distances from the shoulder joint to the wrist joint of the primary and secondary arms. For example, if the shoulder-wrist distance of the primary arm is 0.8 meters and that of the secondary arm is 1.6 meters, then the shoulder-wrist arm span ratio is 1:2.
[0048] For example, the shoulder-wrist distance of the main arm is 0.8 meters, and the shoulder-wrist distance of the secondary arm is 1.6 meters, with a ratio of 1:2. The normalized position parameters (0.812, 0.487, 0.325) are scaled proportionally to obtain the scaled position parameters (1.624, 0.974, 0.65), while the attitude parameters (0.707, 0, 0, 0.707) remain unchanged, resulting in the scaled pose parameters: scaled position parameters (1.624, 0.974, 0.65) and scaled attitude parameters (0.707, 0, 0, 0.707).
[0049] In step 106, the normalized pose parameters are scaled based on the master-slave arm span ratio, so that the motion commands can adaptively match the actual size of the slave arm, thus solving the problem of size difference between heterogeneous master and slave arms.
[0050] Step 108: Map the scaling pose parameters to the coordinate space of the slave arm to obtain the slave arm pose parameters.
[0051] The slave arm's coordinate space is a Cartesian space derived from its task coordinate space. The slave arm's coordinate space serves as the reference coordinate space for kinematic calculations and control of the slave arm itself, defining the reference frame for the position and orientation of the slave arm's end effector. For example, the coordinate space formed by taking the slave arm's mounting base as the origin, or the coordinate space containing the workspace, can be considered the slave arm's coordinate space.
[0052] The slave arm pose parameters are physical quantities describing the position and orientation of the slave arm's end effector in the slave arm's coordinate space. Slave arm pose parameters include, but are not limited to, slave arm position parameters and slave arm orientation parameters. Slave arm position parameters are typically three-dimensional coordinates, while slave arm orientation parameters can be represented using Euler angles, quaternions, or rotation matrices. Slave arm pose parameters can be represented by the pose parameters of the slave arm's end effector.
[0053] To obtain the slave arm pose parameters, the scaling pose parameters are mapped to the slave arm's coordinate space. One possible approach is to transform the scaling pose parameters into parameters in the slave arm's coordinate space using a scaling transformation. Another possible approach is to perform an inverse mapping from the normalized coordinate space of the maximum inscribed sphere of the scaling pose parameters to the slave arm's coordinate space. Yet another possible approach is to map the scaling pose parameters to the slave arm's coordinate space using an inverse normalization transformation matrix. No particular method is specified here.
[0054] The scaled pose parameters are mapped to the slave arm's coordinate space to obtain the slave arm's pose parameters. This can be achieved by mapping the scaled end-effector pose to the slave arm's workspace to obtain the slave arm's end-effector pose parameters. The shoulder-wrist span ratio is the ratio between the straight-line distances from the shoulder joint to the wrist joint of the master arm and slave arm. For example, if the master arm's shoulder-wrist distance is 0.8 meters and the slave arm's shoulder-wrist distance is 1.6 meters, then the shoulder-wrist span ratio is 1:2.
[0055] For example, based on the origin of the slave arm base coordinate system (1.0, 0.5, 0.2), the scaling pose parameters (1.624, 0.974, 0.65) are mapped to the slave arm workspace through coordinate transformation to obtain the slave arm end pose (2.624, 1.474, 0.85).
[0056] In step 108, by mapping the scaled pose parameters to the slave arm coordinate space, the general pose command adapted to the slave arm size is transformed into a specific target in the slave arm's own coordinate space, laying the data foundation for subsequent processing.
[0057] Step 110: Perform inverse kinematics processing on the slave arm pose parameters to obtain the target motion parameters of each joint used for motion control of the slave arm.
[0058] The target motion parameters for each joint of the slave arm are the specific motion command values that each joint of the slave arm needs to achieve, obtained through inverse kinematics. These target motion parameters are the final output commands of the motion control system, directly driving the movement of each joint of the slave arm to ensure that the end effector accurately reaches the desired pose. Parameter types include target joint angles (position control) or target joint velocities (velocity control). For example, for a six-axis robotic arm, the target motion parameters might be the target angle values of the six joints (…). ), in radians; for a seven-DOF redundant robotic arm, it may also include the target angular velocity of each joint ( (), the unit is radians per second.
[0059] Perform inverse kinematics processing on the slave arm pose parameters to obtain the target motion parameters of each joint used for motion control of the slave arm. One possible approach is to solve the inverse kinematics of the slave arm pose parameters to obtain the target motion parameters of each joint used for motion control of the slave arm. Specifically, run the kinematics engine to solve the inverse kinematics of the slave arm pose parameters to obtain the target motion parameters of each joint used for motion control of the slave arm.
[0060] Inverse kinematics processing is performed on the pose parameters of the slave arm to obtain the target motion parameters of each joint for motion control of the slave arm. This can be achieved by performing inverse kinematics and control processing on the end-effector pose of the slave arm to obtain the target motion parameters of each joint for motion control of the slave arm. The inverse kinematics and control processing includes solving the motion parameters of each joint of the slave arm using mathematical methods and generating the final motion command by combining the control algorithm.
[0061] For example, through inverse kinematics processing, the target angles of the six joints on the arm are calculated in radians: (0.12, 0.45, 1.23, 0.67, 0.89, 0.31). These target motion parameters are sent to the actuators of each joint of the arm through a real-time control bus, and motion control commands for each joint are generated by a PID controller to achieve precise motion control.
[0062] In step 110, by performing inverse kinematics processing on the slave arm pose parameters, the target motion parameters of each joint that conform to the slave arm's own configuration and joint constraints are automatically calculated. This effectively avoids problems such as joint over-limits or singularities that may occur due to the different mechanical configurations of the master and slave arms, ensuring the executability of motion commands on the slave arm. Furthermore, it makes heterogeneous mapping no longer dependent on tedious manual parameter adjustments, but automatically adapts to the physical constraints of the slave arm itself, achieving precise, stable, and natural motion control of the slave arm.
[0063] In the embodiments described in this specification, adaptive motion mapping across body configurations is achieved through normalized coordinate space transformation, scaling, and inverse kinematics solving. This significantly improves the generalization capability of the master-slave teleoperation system, avoids the process of repeatedly designing the master operator for different slaves, and reduces data acquisition costs, development costs, and reuse difficulty.
[0064] In one optional embodiment of this specification, step 102 includes the following specific steps: Obtain the target motion parameters of each joint on the main arm; The target motion parameters of each joint on the main arm are processed by forward kinematics to obtain the main arm pose parameters.
[0065] The target motion parameters of each joint on the main arm are the ideal motion state values that each joint needs to achieve. These parameters reflect the operator's control intent and are the direct control commands for the main arm's movement, determining the trajectory and posture of the end effector. Parameter types include target joint angles (position control) or target joint velocities (velocity control). For example, when the operator manipulates a seven-DOF force feedback main arm, the target motion parameters might be the target angle values of the seven joints (…). ), in radians; when using a Delta configuration main arm, the target motion parameters may include the target angular velocity of each active joint ( (), the unit is radians per second.
[0066] One possible way to acquire the target motion parameters of each joint on the main arm is to receive the main arm pose parameters output from the main arm encoder / main arm interface. Another possible way is to acquire the target motion parameters of each joint on the main arm through a vision acquisition device. The target motion parameters of each joint on the main arm are processed by forward kinematics to obtain the main arm pose parameters. One possible method is to solve the target motion parameters of each joint on the main arm by forward kinematics to obtain the main arm pose parameters. Specifically, the kinematics engine is run to solve the target motion parameters of each joint on the main arm by forward kinematics to obtain the main arm pose parameters.
[0067] For example, in a remote operation scenario of a medical robot, the main arm is a seven-degree-of-freedom force feedback device, and the operator performs surgical operations by manipulating the main arm. The system collects the target angles (0.12, 0.45, 1.23, 0.67, 0.89, 0.31, 0.56 radians) of the seven joints of the main arm in real time. These target motion parameters are used to control the motion of the main arm itself and also serve as reference inputs for the motion of the slave arm. Through subsequent normalization mapping and scaling processing, precise motion synchronization between the main and slave arms is achieved.
[0068] In the embodiments described in this specification, the operator's original control intent is directly captured by obtaining the target motion parameters of each joint of the main arm, ensuring the directness and accuracy of human-computer interaction. Subsequently, through forward kinematics processing, these discrete joint parameters are converted into a unified end-effector pose description. Joint motions based on specific configurations are converted into standardized pose descriptions independent of mechanical configurations, providing standardized data input for subsequent heterogeneous mapping.
[0069] In one optional embodiment of this specification, step 104 includes the following specific steps: The pose parameters of the main arm are transformed in a normalized coordinate space to obtain the first transformed pose parameters. The first transformed pose parameters are aligned with the base in the normalized coordinate space to obtain the normalized pose parameters.
[0070] Coordinate transformation refers to the mathematical process of converting pose parameters from one coordinate space to another. Normalized coordinate transformation, through position scaling and rotation operations, achieves the data conversion from the main arm's coordinate space to the normalized coordinate space, and is a fundamental operation in kinematic mapping.
[0071] Base alignment is the process of uniformly aligning the origins of the coordinate spaces of different robotic arms. Base alignment in the normalized coordinate space ensures the consistency of the reference between the coordinate space of the main arm and the normalized coordinate space for robotic arms of different configurations, providing a unified reference framework for subsequent motion mapping.
[0072] The first transformed pose parameters are intermediate pose parameters that have undergone coordinate transformation but have not yet been aligned with the base. These parameters are intermediate results in the normalization process, preserving the original motion characteristics while initially eliminating the influence of coordinate space differences. The first transformed pose parameters include, but are not limited to, the first transformed position parameters and the first transformed attitude parameters. The first transformed position parameters are typically the first transformed coordinates in three-dimensional space, while the first transformed attitude parameters can be represented using Euler angles, quaternions, or rotation matrices. For example, the first transformed pose parameters (0.8, 0.5, 0.3) are obtained after coordinate transformation from the end effector's pose (0.5, 0.3, 0.2).
[0073] The pose parameters of the main arm are transformed by a coordinate transformation in a normalized coordinate space to obtain the first transformed pose parameters. One possible method is to use a homogeneous transformation matrix to perform coordinate space transformation to obtain the first transformed pose parameters. Another possible method is to use rotation and translation transformation to achieve coordinate transformation to obtain the first transformed pose parameters. Yet another possible method is to use quaternion transformation to perform coordinate space transformation to obtain the first transformed pose parameters. No particular method is specified here.
[0074] The first transformed pose parameters are aligned with the base in the normalized coordinate space to obtain the normalized pose parameters. One possible method is to transform the first transformed pose parameters to the origin of the normalized coordinate space through translation transformation to obtain the normalized pose parameters. Another possible method is to use a coordinate space remapping algorithm to achieve base alignment and obtain the normalized pose parameters. Yet another possible method is to use the base calibration parameters to perform coordinate correction and obtain the normalized pose parameters. No limitation is made here.
[0075] For example, the main arm pose parameters are position (0.5, 0.3, 0.2) and orientation (0.707, 0, 0, 0.707). First, the first transformed pose parameters are obtained through coordinate transformation: the first transformed position parameters are (0.8, 0.5, 0.3), while the orientation remains unchanged. Then, base alignment is performed, translating the position to near the origin of the normalized coordinate space, resulting in the normalized pose parameters: position (0.812, 0.487, 0.325) and orientation (0.707, 0, 0, 0.707).
[0076] In the embodiments described in this specification, a smooth transition from a specific coordinate space to an abstract normalized coordinate space is achieved through step-by-step coordinate transformation and base alignment processing. This maintains the integrity of the motion intention and ensures the consistency of different configurations of robotic arms in the normalized coordinate space, providing accurate input data for subsequent scaling and motion mapping.
[0077] In one optional embodiment of this specification, the normalized pose parameters include normalized position parameters and normalized attitude parameters; Step 106 includes the following specific steps: Under the constraint of unchanged normalized pose parameters, the normalized position parameters are scaled based on the arm span ratio of the master arm and slave arm to obtain scaled pose parameters.
[0078] Normalized position parameters are physical quantities that describe the position of the end effector of the main arm in a normalized coordinate space. Normalized position parameters are typically normalized coordinates in three-dimensional space.
[0079] Normalized attitude parameters are physical quantities that describe the orientation of the end effector of the main arm in normalized coordinate space. Normalized attitude parameters can be represented using Euler angles, quaternions, or rotation matrices.
[0080] The constraint of normalized attitude parameter invariance is a mathematical constraint that keeps the attitude parameters constant during scaling. This constraint ensures that the orientation of the robotic arm's end effector remains unchanged during scaling, with only the position parameters being scaled proportionally, thus maintaining the original attitude characteristics of the intended motion.
[0081] It should be noted that different robotic arms have different initial zero-position attitudes and different kinematic tree configurations. For example, when a zero-angle command is sent to each joint, different robotic arms will exhibit different configurations: some will be upright, some will remain horizontal, and others will exhibit other specific configurations. The difference in kinematic tree configuration is mainly reflected in the arrangement order of the joint axes. For example, some robotic arms use a rotation-pitch-yaw-rotation axis sequence, while others use a rotation-yaw-pitch-pitch-rotation axis sequence. To achieve heterogeneous one-to-many teleoperation kinematic mapping, the inner kinematic algorithm needs to perform normalized coordinate space mapping processing on the joint angles and zero-position attitude of each robot. Through this processing, when a zero-angle command is sent to all robotic arms, it can be ensured that each robotic arm presents a consistent reference configuration, such as maintaining a horizontal attitude, thereby establishing a normalized coordinate space reference framework for subsequent motion mapping.
[0082] For example, the main boom has a reach of 1 meter, and the slave boom has a reach of 2 meters, with a reach ratio of 1:2. The normalized pose parameters are: normalized position parameters (0.812, 0.487, 0.325), and normalized attitude parameters (0.707, 0, 0, 0.707). Under the constraint that the normalized attitude parameters remain unchanged, only the normalized position parameters are scaled proportionally to obtain the scaled pose parameters: scaled position parameters (1.624, 0.974, 0.65), and scaled attitude parameters (0.707, 0, 0, 0.707).
[0083] In the embodiments of this specification, normalized position scaling is performed without changing the normalized attitude parameters, which unifies the control targets of slave arms of different sizes and configurations, simplifies the computational complexity of the scaling process, improves the real-time performance of the system, and avoids motion distortion caused by attitude changes, achieving the effect of multiple robotic arms reusing a single data acquisition. In one optional embodiment of this specification, step 108 includes the following specific steps: The pose parameters of the main arm are transformed by coordinate transformation in the coordinate space of the arm to obtain the second transformed pose parameters. Align the second transformation pose parameters with the base in the coordinate space of the slave arm to obtain the slave arm pose parameters.
[0084] Coordinate transformation refers to the mathematical process of converting pose parameters from one coordinate space to another. Coordinate transformation from the arm's coordinate space, through position scaling and rotation operations, achieves data conversion from a normalized coordinate space to the arm's coordinate space, and is a fundamental operation in kinematic mapping.
[0085] Base alignment is the process of uniformly aligning the origins of the coordinate spaces of different robotic arms. Base alignment in the coordinate space of the slave arm ensures the consistency of the reference between the normalized coordinate space and the slave arm's coordinate space for robotic arms of different configurations, providing an accurate reference frame for motion mapping.
[0086] The second transformation pose parameters are intermediate pose parameters that have undergone coordinate transformation but have not yet been aligned with the base. These parameters represent an intermediate result in the coordinate space transformation process, preserving the characteristics of the normalized space while initially adapting to the requirements of the follower's coordinate space. The second transformation pose parameters include, but are not limited to, second transformation position parameters and second transformation attitude parameters. The second transformation position parameters are typically second transformation coordinates in three-dimensional space, while the second transformation attitude parameters can be represented using Euler angles, quaternions, or rotation matrices. For example, the normalized pose parameters (0.812, 0.487, 0.325) are transformed to obtain the second transformation pose parameters (1.5, 0.9, 0.6).
[0087] The pose parameters of the master arm are transformed in the coordinate space of the slave arm to obtain the second transformed pose parameters. One possible method is to use a homogeneous transformation matrix to perform coordinate space transformation to obtain the second transformed pose parameters. Another possible method is to use rotation and translation transformation to achieve coordinate transformation to obtain the second transformed pose parameters. Yet another possible method is to use quaternion transformation to perform coordinate space transformation to obtain the second transformed pose parameters. No particular method is specified here.
[0088] Align the second transformed pose parameters with the base in the coordinate space of the slave arm to obtain the slave arm pose parameters. One possible method is to transform the second transformed pose parameters to the origin of the coordinate space of the slave arm through translation transformation to obtain the slave arm pose parameters. Another possible method is to use a coordinate space remapping algorithm to achieve base alignment and obtain the slave arm pose parameters. Yet another possible method is to use the base calibration parameters to perform coordinate correction and obtain the slave arm pose parameters. No limitation is imposed here.
[0089] For example, the scaling pose parameters are scaling position parameters (1.624, 0.974, 0.65) and scaling attitude parameters (0.707, 0, 0, 0.707). First, the second transformed pose parameters are obtained through coordinate transformation: the second position parameters (2.9, 1.8, 1.2), while the attitude remains unchanged. Then, base alignment is performed, transforming the position to the slave arm base coordinate system to obtain the slave arm pose parameters: slave arm position parameters (2.624, 1.474, 0.85) and slave arm attitude parameters (0.707, 0, 0, 0.707).
[0090] In the embodiments described in this specification, a precise conversion from the normalized space to the specific coordinate space of the arm is achieved through step-by-step coordinate transformation and base alignment. This not only ensures the accurate transmission of motion commands but also effectively handles coordinate system differences between robotic arms of different configurations, improving the system's adaptability and robustness. Simultaneously, the step-by-step processing of intermediate parameters reduces the complexity of a single transformation, enhances the system's real-time performance, provides high-quality input data for subsequent inverse kinematics solutions, and enables precise control of the heterogeneous teleoperation system.
[0091] In one optional embodiment of this specification, the target motion parameters include the target joint angle and the target joint velocity; step 110 includes the following specific steps: Based on the slave arm's pose parameters, the kinematic relationship between the slave arm's velocity and the joint velocities of each joint on the slave arm is constructed. Based on kinematic relationships, determine the target joint velocities from each joint in the arm; The target joint angles of each joint in the arm are determined based on the target joint velocities of each joint in the arm.
[0092] The target joint angle is a specific angular position value that each joint of the arm needs to achieve, obtained through inverse kinematics. The target joint angle is a core parameter in position control mode, directly determining the configuration of the robotic arm and the spatial position of the end effector. For example, the six target joint angles of a six-axis robotic arm are (0.12, 0.45, 1.23, 0.67, 0.89, 0.31) radians.
[0093] The target joint velocity is the instantaneous angular velocity value that each joint of the arm needs to achieve, obtained through inverse kinematics. The target joint velocity is a key parameter in the speed control mode, determining the motion speed and dynamic characteristics of the robotic arm. For example, the seven target joint velocities of a seven-DOF robotic arm (0.5, 0.3, 0.8, 0.2, 0.6, 0.4, 0.7 radians per second.
[0094] The velocity of the slave arm is the motion velocity of the end effector in Cartesian space. The velocity of the slave arm includes linear velocity and angular velocity components, describing the spatial motion state of the end effector. For example, the linear velocity of the end effector is (0.1, 0.2, 0.3) m / s and the angular velocity is (0.05, 0.1, 0.15) radians / s.
[0095] The joint velocities of each joint on the arm are the instantaneous angular velocities of each joint. Joint velocities serve as a bridge between Cartesian motion and joint space motion, and can be correlated with end-effector velocities using a Jacobian matrix. For example, the six joint velocities of a six-axis robotic arm are (0.2, 0.3, 0.1, 0.4, 0.2, 0.3) radians per second.
[0096] The kinematic relationship between the velocity of the slave arm and the joint velocities of each joint on the slave arm is a mathematical relationship established through differential kinematic matrices between the master arm and the joints on the slave arm, and between the end-effectors of the master arm and the slave arm. This relationship describes a linear mapping between the end-effector velocity and the joint velocities, and is the theoretical basis of velocity-level control. For example, the relationship can be established through the Jacobian matrix J: v = J·q̇, where v is the end-effector velocity and q̇ is the joint velocity.
[0097] Based on the slave arm's pose parameters, the kinematic relationship between the slave arm's velocity and the joint velocities of each joint on the slave arm is constructed. One possible approach is to construct the Jacobian matrix between the slave arm's velocity and the joint velocities of each joint on the slave arm, based on the slave arm's pose parameters. The specific calculation formula is as follows:
[0098] in, The velocity spinor from the end of the arm in Cartesian space, including linear velocity. and angular velocity . Let be the geometric Jacobian matrix of the arm at the current joint angle q. Let be the joint velocity vector of each joint of the slave arm. n is the number of degrees of freedom of the slave arm.
[0099] Based on kinematic relationships, the target joint velocities of each joint in the arm can be determined. One possible approach is to perform convex optimization quadratic programming based on kinematic relationships to determine the target joint velocities of each joint in the arm. The specific calculation formula is as follows:
[0100] in, Let be the objective function for the smoothness of joint velocities. This is a regularization term used to ensure the uniqueness and smoothness of the solution; α is the regularization coefficient. and This sets the upper and lower bounds for joint velocities. Characterize joint constraint.
[0101] Based on the target joint velocities of each joint in the arm, the target joint angles of each joint in the arm can be determined. One possible method is to use the forward Euler method to integrate the target joint velocities in the discrete-time system to obtain the target joint angles. The specific calculation formula is as follows:
[0102] in, Let K be the target joint angle at time k. The target joint velocity calculated at time k. To control the step size of the cycle.
[0103] Optionally, filtering techniques, such as first-order low-pass filtering, are often used to suppress noise or overshoot.
[0104] in, The filter coefficients are between 0 and 1.
[0105] For example, given the target pose parameters of the arm, the Jacobian matrix J is first constructed. Then, using the relationship v = J·q̇, the target joint velocity (0.2, 0.3, 0.1, 0.4, 0.2, 0.3) radians / second is obtained through pseudo-inverse method. Finally, the target joint angle (0.12, 0.45, 1.23, 0.67, 0.89, 0.31) radians is obtained through numerical integration.
[0106] In the embodiments described in this specification, the uncertainties, singularities, and multiple solutions in traditional inverse kinematics solutions are effectively avoided through optimized calculations at the differential kinematics level, thereby improving the accuracy of the target joint angle and enhancing the control precision of the slave arm.
[0107] In one optional embodiment of this specification, determining the target joint velocity from each joint of the arm based on kinematic relationships includes the following specific steps: Using the smoothness of joint velocities as the objective function, the target joint velocities of each joint in the arm are determined based on kinematic relationships.
[0108] The smoothness of joint velocity refers to the degree of change in joint velocity within adjacent control cycles. Joint velocity smoothness is an important indicator for evaluating motion quality; high smoothness means continuous and abrupt velocity changes, which helps reduce mechanical vibration, extend equipment life, and improve motion accuracy.
[0109] The objective function is a mathematical expression that needs to be minimized or maximized in an optimization problem. It defines the objective of the optimization, mapping decision variables (such as joint velocities) to a scalar value used to evaluate the quality of the solution.
[0110] Using the smoothness of joint velocities as the objective function, and based on the slave arm's pose parameters, a kinematic relationship between the slave arm's velocity and the joint velocities of each joint on the slave arm is constructed. One possible approach is to use the smoothness of joint velocities as the objective function, and based on the kinematic relationship, perform convex optimization quadratic programming to determine the target joint velocities of each joint on the slave arm. The specific calculation formula is as follows:
[0111] in, Let be the objective function for the smoothness of joint velocities. This is a regularization term used to ensure the uniqueness and smoothness of the solution; α is the regularization coefficient. and This sets the upper and lower bounds for joint velocities. Characterize joint constraint.
[0112] In the embodiments described in this specification, by optimizing the smoothness of joint speed, the continuity and stability of the arm movement are significantly improved, effectively suppressing mechanical vibration and impact caused by sudden changes in speed commands. This not only protects the hardware but also makes the end-effector trajectory smoother, improving operational accuracy and user experience.
[0113] In one optional embodiment of this specification, determining the target joint velocity from each joint of the arm based on kinematic relationships includes the following specific steps: Under at least one joint constraint, the target joint velocities of each joint on the slave arm are determined based on kinematic relationships. The joint constraint includes joint position constraints, joint velocity constraints, joint acceleration constraints, and the maximum velocity constraint of the slave arm. Joint constraints are the physical limitations that each joint of a robotic arm must adhere to during movement. Joint constraints are crucial for ensuring the safe and stable operation of the robotic arm, preventing joints from exceeding the limits allowed by the mechanical structure, and avoiding equipment damage or loss of control.
[0114] Joint position constraints are the allowable ranges for the angles of each joint of the robotic arm. These constraints are determined by the physical structure of the robotic arm and ensure that the joints do not experience mechanical interference or exceed their range of motion. For example, the angle range of a certain joint may be limited to [-170°, 170°]; exceeding this range will trigger limit protection.
[0115] Joint speed constraints are the maximum allowable values for the movement speed of each joint of the robotic arm. These constraints are determined by motor performance and system stability requirements to prevent increased tracking errors or system instability due to excessive speed. For example, the speed of a certain joint may be limited to ±1.5 radians / second to ensure smooth movement and positioning accuracy.
[0116] Joint acceleration constraints are the maximum allowable values for the motion acceleration of each joint of the robotic arm. These constraints are determined by motor torque and system inertia to prevent torque saturation or mechanical vibration due to excessive acceleration. For example, the acceleration of a certain joint may be limited to ±3 radians / second² to avoid excessive inertial shock.
[0117] The maximum speed constraint of the end effector is the maximum permissible speed of the end effector in Cartesian space. This constraint is determined by task requirements and system performance to ensure that the end effector's speed remains within a safe and controllable range. For example, the maximum speed of the end effector of a surgical robot is limited to 0.1 m / s to ensure operational safety.
[0118] Under at least one joint constraint, the target joint velocities of each joint on the arm are determined based on kinematic relationships. One possible approach is to perform convex optimization quadratic programming based on kinematic relationships under at least one joint constraint to determine the target joint velocities of each joint on the arm. The specific calculation formula is as follows:
[0119]
[0120]
[0121]
[0122]
[0123] in, For joint velocity constraints, Joint position constraints (approximated by Euler integral). For joint acceleration constraints, Maximum end speed constraint ( (This represents the linear velocity part of the Jacobian matrix).
[0124] In the embodiments described in this specification, by integrating various joint constraints into a convex optimization framework in the form of linear inequalities, optimized motion planning is achieved under strict physical constraints. This not only ensures the safety and stability of the robotic arm's operation and avoids equipment damage or performance degradation caused by excessive movement, but also finds an optimal solution under multiple constraints through optimization algorithms, balancing motion accuracy and system constraints. Furthermore, the solution to the convex optimization problem has good real-time performance, meeting the high-frequency control requirements of teleoperation systems and providing safe and efficient motion control for heterogeneous teleoperation.
[0125] In one optional embodiment of this specification, step 110 includes the following specific steps: The initial motion parameters of each joint on the arm are obtained by performing inverse kinematics processing on the arm pose parameters. The initial motion parameters of each joint on the arm are sent to the front end so that the front end can render the expected motion state of the arm based on the initial motion parameters of each joint on the arm. Receive user control commands from the front end, where user control commands are confirmation or correction commands issued by the user after previewing the expected motion state on the front end; Based on user control commands, the initial motion parameters of each joint on the slave arm are adjusted to obtain the target motion parameters of each joint for motion control of the slave arm.
[0126] The initial motion parameters of each joint on the arm are the joint motion command values obtained through inverse kinematics, before user confirmation or correction. These initial motion parameters are preliminary calculation results automatically generated by the system based on pose mapping, providing the user with a basis for previewing and adjustment. Parameter types include initial joint angles (position control) or initial joint velocities (velocity control). For example, the initial joint angles of a six-axis slave arm are (0.12, 0.45, 1.23, 0.67, 0.89, 0.31) radians or the initial joint velocities are (0.2, 0.3, 0.1, 0.4, 0.2, 0.3) radians per second.
[0127] The expected motion state of the arm is calculated based on initial motion parameters, representing the predicted motion trajectory and posture of the arm's end effector and individual joints over a future period. This expected motion state is displayed graphically to the user, helping them intuitively understand the effect of the current motion command. For example, the 3D simulation interface might show the arm's end effector moving along a straight path while each joint moves along a curved path at specific angles.
[0128] The front end is a visual software module that runs on the human-computer interaction interface. It is specifically designed to receive motion parameters, render motion states, provide a user interface, and relay user commands to the control system.
[0129] User control commands are control commands issued by the user after previewing the expected motion state on the front-end interface. User control commands reflect the user's confirmation or modification opinions on the initial motion plan and are an important basis for the system's final execution.
[0130] A confirmation command is a control command that indicates the user's approval of the initial motion plan. The confirmation command indicates that the user believes the current motion parameters meet expectations, and the system can execute accordingly. For example, if the user clicks the "Confirm" button, the system receives the command and immediately begins executing the motion.
[0131] Correction commands are control instructions from users requesting modifications to the initial motion scheme. These commands include adjustments to specific joint or end-effector poses, requiring the system to recalculate motion parameters accordingly. For example, a user might adjust the angle of the third joint from 1.23 radians to 1.15 radians using a slider and then click the "Apply" button.
[0132] For example, the initial angles (0.12, 0.45, 1.23, 0.67, 0.89, 0.31 radians) of the six joints of the arm are obtained through inverse kinematics processing, and these parameters are sent to the front-end 3D simulation interface. Based on these parameters, the front-end renders and displays the expected motion trajectory of the arm: the end effector moves along a straight line from point (2.624, 1.474, 0.85) to point (2.724, 1.574, 0.95), while each joint rotates smoothly. After observing the preview, the operator believes that the angle of the third joint (1.23 radians) may be close to the limit, adjusts it to 1.15 radians using the interface slider, and clicks "Confirm Correction." After receiving the correction instruction, the system recalculates the motion parameters, finally obtaining the target joint angles (0.12, 0.45, 1.15, 0.67, 0.89, 0.31 radians).
[0133] In the embodiments described in this specification, a human-machine collaborative decision-making mechanism is constructed by introducing a user preview and confirmation process, significantly improving the system's security and reliability. This technical feature allows operators to intuitively verify the feasibility of the motion plan before actual execution, promptly identify and correct potential kinematic problems, and effectively avoid equipment damage or task failure caused by improper automatically generated motion commands. Simultaneously, this interactive method enhances the precise grasp of operational intentions, retaining the efficiency of automated processing while incorporating the experience and judgment of human experts, achieving a complementary advantage between artificial intelligence and human intelligence.
[0134] In one optional embodiment of this specification, before sending the target motion parameters from each joint of the arm to the front end, the following specific steps are further included: Acquire the physical motion state of the slave arm as captured by the multi-camera system; Based on the physical motion state of the follower arm, the initial motion parameters of each joint on the follower arm are corrected to obtain the corrected initial motion parameters of each joint on the follower arm.
[0135] A multi-camera system is a spatial pose measurement system composed of multiple vision sensors. By simultaneously acquiring image data from different perspectives, the multi-camera system reconstructs the three-dimensional motion state of the target object using the principles of stereo vision, providing high-precision visual feedback information for motion control.
[0136] The physical motion state of the follower arm refers to its actual motion posture and position information in the real world. This physical motion state reflects the true performance of the follower arm actuator in the actual environment and may deviate from simulation data due to factors such as mechanical errors and load variations. For example, the actual position (2.621, 1.471, 0.848) and actual posture quaternions (0.706, 0.001, 0.001, 0.708) of the follower arm end-effector obtained through visual marker measurements.
[0137] For example, the multi-camera system consists of three high-speed cameras arranged around the workspace, with a frame rate of 100Hz. The system acquires image data from six optical markers mounted on the arm in real time and calculates the actual pose of the arm's end effector using triangulation: position (2.621, 1.471, 0.848) meters, attitude (0.706, 0.001, 0.001, 0.708). Compared to the theoretical pose (2.624, 1.474, 0.85) meters corresponding to the initial motion parameters, there is a 3 mm positional deviation. Based on this deviation, the system uses a control algorithm to correct the initial joint angles, adjusting the second joint angle from 0.45 radians to 0.452 radians and the fourth joint angle from 0.67 radians to 0.669 radians, thus obtaining the corrected target motion parameters.
[0138] In the embodiments described in this specification, a vision-motion closed-loop control system is constructed by introducing a multi-camera system to monitor the physical motion state of the slave arm in real time, significantly improving the accuracy and adaptability of motion control. This technical feature effectively compensates for the model-to-actual discrepancy caused by factors such as machining errors, transmission backlash, and load variations, enabling the system to adaptively adjust motion parameters and ensure that the slave arm end-effector ultimately achieves the desired pose accuracy. Simultaneously, the introduction of visual feedback enhances adaptability to environmental changes, maintaining stable motion control even in the presence of external disturbances or slow time-varying system parameters.
[0139] Corresponding to the above-mentioned embodiments in the specification, Figure 2 This document illustrates a schematic diagram of the projection and inverse kinematics processing algorithm in a motion control method for a robotic arm according to an embodiment of this specification: Solving for forward kinematics: Starting from the arm joint angle q, a joint angle constraint check is performed to ensure that each joint angle is within the allowable range. Then, the forward kinematics solver function is called to update the coordinate system transformation, extract the end effector pose, and finally determine the current position T_current of the arm.
[0140] Pose mapping: Receive the target pose parameter T_main_arm of the main arm, calculate the workspace scaling ratio (scaling ratio = r_slave_arm / r_main_arm) and the base orientation deviation (R_deviation = q_slave_arm * q_main_arm^-1). Then perform position scaling and rotation transformation: t_slave_arm = R_deviation * (r_main_arm * scaling ratio), and attitude rotation transformation to finally obtain the target pose parameter T_target of the slave arm.
[0141] Inverse kinematics of difference: Calculate the pose error: ΔT = T_current^-1 * T_target. Convert the pose error to Lie algebra form: δ = log(ΔT). Calculate the Jacobian matrix: J = computeFrameJacobian(), establishing the differential relationship between the end effector motion and the joint motion. Calculate the main task joint velocity: dq_main_task = J^T * Kp * δ, where Kp is the proportional gain coefficient. Determine if a reference configuration exists: If a reference configuration exists, perform null-space projection: N = I - J * J^T, then solve for the sub-task joint velocity: dq_sub-task = N * (qreference - qcurrent). Combine primary and sub-tasks: dq = dqprimarytask + kq * dqsub-task, where kq is the sub-task weight coefficient. Update joint angle: qnew = qcurrent + dq * dt, where dt is the control period.
[0142] If there is no reference configuration, update the joint angle directly: q new = q current + dq * dt.
[0143] After performing joint constraint processing, the final control command q_command is output to complete the heterogeneous teleoperation motion control.
[0144] The core three-stage linkage of kinematic mapping, motion scaling, and differential inverse kinematics is used to complete the motion control of the robotic arm.
[0145] Corresponding to the above-mentioned embodiments in the specification, Figure 3 This specification illustrates a software architecture diagram of a motion control method for a robotic arm according to one embodiment: The architecture adopts a layered design, specifically including the following components and data flow: 1. The main boom equipment layer includes: Main arm encoder interface: Real-time acquisition of motion data of each joint of the main arm; Main arm positive kinematics module: Calculates end-effector pose based on joint data; Data output: Master arm pose parameters T_master.
[0146] 2. The kinematic processing layer includes: Normalization mapping module: maps the main arm pose to a normalized coordinate space; Scale module: Scaling motion based on arm span ratio; Coordinate transformation module: Implements the transformation from normalized space to the arm coordinate space; Inverse kinematics solver: calculates motion parameters from the arm joint.
[0147] 3. The system management layer includes: Status monitoring module: Monitors the system's operating status in real time; Configuration management module: manages system parameters and configuration files; Exception handling module: Handles exceptions during operation.
[0148] 4. The core of control and scheduling includes: Real-time scheduler: coordinates the execution timing of various modules; Data bus: Provides a data exchange channel between modules; Constraint processing unit: handles kinematic constraints and physical limitations.
[0149] 5. The arm equipment layer includes: From the arm inverse kinematics module: calculates control commands from the arm joints; From the arm driver interface: output control signals to the actuator; Status feedback module: collects the actual movement status of the arm.
[0150] The data flow is as follows: The pose parameters collected by the main arm device layer are transmitted to the kinematics processing layer via the data bus; after completing the pose mapping and scaling calculation, the kinematics processing layer sends the processing results to the control and scheduling core; the control and scheduling core coordinates the system management layer to perform status monitoring and configuration management; after constraint processing, the control commands are output from the arm device layer to the actuator; the arm status feedback information is returned to the system management layer via the data bus, forming a closed-loop control.
[0151] Corresponding to the above method embodiments, this specification also provides embodiments of a motion control system for a robotic arm. Figure 4 A schematic diagram of the motion control system of a robotic arm according to one embodiment of this specification is shown. Figure 4As shown, the motion control system 400 of the robotic arm includes a simulation thread 410, which includes a kinematics engine 4110. The simulation thread 410 is used to run the kinematics engine 4110 to perform the following steps: Obtain the main arm pose parameters; The pose parameters of the main arm are mapped to the normalized coordinate space to obtain the normalized pose parameters. Based on the arm span ratio of the master arm and slave arm, the normalized pose parameters are scaled to obtain scaled pose parameters. The scaling pose parameters are mapped to the coordinate space of the slave arm to obtain the slave arm pose parameters. The pose parameters of the slave arm are processed by inverse kinematics to obtain the target motion parameters of each joint for motion control of the slave arm.
[0152] The motion control system 400 of the robotic arm is a complete hardware and software system architecture for implementing the aforementioned robotic arm motion control method. Through multi-threaded collaborative operation, the motion control system 400 integrates kinematic calculation, status display, and human-machine interaction functions, providing a unified control framework for heterogeneous teleoperation.
[0153] Simulation thread 410 is a computation thread running in the real-time system, dedicated to the execution of core kinematic algorithms. Simulation thread 410 ensures real-time computation through high-priority scheduling, completing the entire computation process from pose acquisition to motion parameter generation.
[0154] The Kinematics Engine 4110 is a software module that implements kinematic calculations. It encapsulates algorithms for forward and inverse kinematics solving, coordinate transformation, and constraint handling, providing the system with basic motion calculation capabilities.
[0155] In the embodiments described in this specification, a layered architecture for the control system is achieved through the collaborative design of simulation threads and a kinematics engine: the simulation threads ensure real-time performance, while the kinematics engine provides algorithmic support. This design enables the system to meet the high real-time requirements of heterogeneous teleoperation while maintaining the versatility and reusability of the algorithm modules, providing a unified control foundation for robotic arms of different configurations.
[0156] In one optional embodiment of this specification, the motion control system 400 of the robotic arm further includes a front end 420; the motion control system 400 of the robotic arm further includes a display thread 430; the display thread 430 is used for: The initial motion parameters of each joint on the arm are obtained by performing inverse kinematics processing on the arm pose parameters. The initial motion parameters of each joint on the arm are sent to the front end 420 so that the front end 420 can render the expected motion state of the arm based on the initial motion parameters of each joint on the arm. Receive user control commands from the front end 420, wherein the user control commands are confirmation commands or correction commands issued by the user after previewing the expected motion state on the front end 420; Simulation thread 410 is specifically used to adjust the initial motion parameters of each joint on the slave arm based on user control commands, so as to obtain the target motion parameters of each joint for motion control of the slave arm.
[0157] Front-end 420 is a visualization software module running on the human-computer interaction terminal. Front-end 420 is dedicated to 3D rendering of motion states, user interface display, and interactive command processing, providing operators with intuitive visual feedback.
[0158] Display thread 430 is a dedicated computational thread for handling status display and human-computer interaction. Display thread 430 is dedicated to the visualization of motion parameters, receiving user commands, and displaying status information, ensuring smooth human-computer interaction.
[0159] In the embodiments described in this specification, the decoupling of control and display is achieved through a separation design between the front-end and the display thread: the display thread focuses on state rendering and interaction processing, while the front-end provides rich visual displays. This architecture ensures both the real-time performance of the control system and provides a user-friendly human-computer interaction experience, making it particularly suitable for teleoperation scenarios requiring high-precision visual feedback.
[0160] In one optional embodiment of this specification, display thread 430 includes a multi-camera system 4310; display thread 430 is further configured to: Acquire the physical motion state of the slave arm as captured by the multi-camera system 4310; Based on the physical motion state of the follower arm, the initial motion parameters of each joint on the follower arm are corrected to obtain the corrected initial motion parameters of each joint on the follower arm.
[0161] The multi-camera system 4310 is a spatial measurement system composed of multiple vision sensors. The multi-camera system 4310 acquires real-time motion data of the robotic arm using stereo vision principles, providing high-precision visual feedback information to the motion control system 400 of the robotic arm.
[0162] In the embodiments described in this specification, a vision-motion closed-loop control mechanism is constructed by integrating a multi-camera system: the multi-camera system acquires the physical motion state in real time, and the display thread corrects the motion parameters based on the visual data. This design effectively compensates for the deviation between the theoretical model and actual execution, significantly improves the control accuracy and adaptability of the system in real environments, and provides a reliable guarantee for high-precision tasks.
[0163] Corresponding to the above-mentioned embodiments in the specification, Figure 5A system flowchart of a motion control system for a robotic arm according to one embodiment of this specification is shown: System initialization phase: After the system starts up, it completes the initialization of each module, including parameter configuration, hardware detection, and communication connection establishment.
[0164] Main arm data acquisition phase: The main arm device collects target motion parameters for each joint, and the data is transmitted to simulation thread 410 via an interface. For example, create_robot_interface(..., mode="teleop") → get_joint_positions().
[0165] Simulation thread processing stage: After receiving the target motion parameters of each joint of the main arm, simulation thread 410 performs the following processing: Perform forward kinematics calculations to obtain the pose parameters of the main arm. For example, master_pin_kine.compute_fk_SE3(q_master) yields T_master.
[0166] The main arm pose parameters are sent to the kinematics engine 4110, and the target motion parameters are forwarded to the display thread 430.
[0167] Kinematics engine calculation phase: Based on the received main arm pose parameters, the kinematics engine 4110 executes: Normalized coordinate space mapping, scale calculation, for example, PoseMapper.pose_mapping(T_master) → T_slave_ref.
[0168] Update the expected state of the arm, for example, slaves_pin_kine.update_state(q_slave).
[0169] Inverse kinematics solution, for example, slaves_pin_kine.compute_ik(T_slave_ref) → u_joint (including end gripper scaling / limiting).
[0170] Generate slave arm control commands.
[0171] Slave control execution phase: The kinematics engine 4110 sends control commands from the slave arm to the slave arm actuator. The slave arm completes the movement according to the commands and achieves the expected movement state, for example, writing self.data.ctrl, MuJoCo step.
[0172] Status monitoring and feedback phase: Thread 430 is shown to perform the following operations: The system receives target motion parameters from simulation thread 410, sends control commands to multi-camera system 4310, acquires the physical motion state of the slave arm, and feeds back the acquired physical motion state data to front-end 420 (user interface). Human-computer interaction stage: The front end 420 (user interface) receives and displays the physical motion status of the slave arm, provides a user operation and monitoring interface, and supports users to perform interactive control based on real-time status.
[0173] The entire system achieves complete closed-loop control from master arm operation to slave arm execution through the coordinated work of simulation thread 410, kinematic engine 4110, display thread 430 and multi-camera system 4310, ensuring the accuracy and reliability of the heterogeneous teleoperation system.
[0174] Corresponding to the above-mentioned embodiments in the specification, Figure 6 This specification illustrates a scheduling diagram of a motion control system for a robotic arm according to one embodiment: The front-end 420 triggers the system startup command, and the state machine coordinates the system startup process. The main arm device performs the main arm initialization operation, and the slave arm device synchronously performs the slave arm initialization operation and completes the scene loading task.
[0175] For example, the main program Unified Mujoco GLFW starts, loads the multi-camera scene configuration (MuJoCo), initializes the multi-camera split-screen system (GLFW), and establishes the main arm / slave arm device interface connection.
[0176] Control cycle (100Hz): The system enters a high-speed control loop and executes the following sequence of operations: The main arm device acquires the joint position, calculates the end pose through the pose mapping module, performs transformation processing on the pose mapping, generates slave arm commands, the slave arm device executes motion control, and simulation thread 410 executes physical simulation stepping.
[0177] For example, the control loop runs at a frequency of 100Hz. The main arm acquires data using `get_joint_positions()`, the state machine processes the main arm's input states, and performs pose mapping calculations using `PoseMapper.pose_mapping()` to perform coordinate transformations and generate slave arm control commands in a unified format using `data.ctrl`. The physics engine runs independently at a frequency of 500Hz, performing slave arm motion control using `MuJoCo` physics stepping, real-time state updates using `slaves_pin_kine.update_state()`, and collision detection and constraint handling.
[0178] Rendering loop (60Hz): Display thread 430 runs the rendering loop independently: Process display tasks and update more scene data.
[0179] For example, the rendering loop runs at a frequency of 60Hz, multi-camera split-screen rendering: GLFW display processing, scene data updates: more scene data synchronization, user interface refresh: front-end 420 status display.
[0180] Among them, the simulation thread 410 and the display thread 430 are synchronized by a mutex lock, the data bus realizes safe communication between threads, and real-time priority scheduling ensures control timing.
[0181] Automatic index segmentation: get_index_info() enables multi-arm recognition and channelized control: supports parallel and independent control of multiple slave arms, dual master arms optional: the --dual parameter supports dual master arm operation mode.
[0182] Real-time monitoring of system status, detection and handling of abnormal states, and automatic recovery mechanisms ensure continuous system operation.
[0183] Without changing the end effector's attitude, the position can be scaled based on the workspace radius / arm span to unify the control targets of slave arms of different sizes and configurations, thus achieving "one-time data acquisition, multiple body reuse".
[0184] Pose mapping completes the registration and alignment of base / tool coordinates at the SE (3) level, reducing dependence on specific hardware (exoskeleton / isomorphic arm).
[0185] The online inverse kinematics pipeline based on Pinocchio supports constraints such as joint / velocity / attitude errors; the advanced version introduces convex optimization with multi-configuration constraints (which can be implemented confidentially), balancing real-time performance and feasibility.
[0186] Automatically scan the joint / actuator index range of the MuJoCo model to achieve a consistent interface and batch control encapsulation for multiple slave arms (including dual arms).
[0187] The MuJoCo framework unifies the scene, multi-camera split-screen, interface layer (master arm / slave arm), and algorithm layer (mapping + IK), supporting deployment on different operating systems and reducing the engineering complexity and cost of heterogeneous acquisition systems.
[0188] The entire scheduling system, through precise timing and multi-threaded collaboration, achieved stable operation of 100Hz control frequency, 500Hz physical simulation, and 60Hz rendering display, ensuring the real-time performance and reliability of the heterogeneous remote operating system.
[0189] The above is a schematic scheme of a motion control system for a robotic arm according to this embodiment. It should be noted that the technical solution of the motion control system of this robotic arm and the technical solution of the motion control method of the robotic arm described above belong to the same concept. For details not described in detail in the technical solution of the motion control system of the robotic arm, please refer to the description of the technical solution of the motion control method of the robotic arm described above.
[0190] Figure 7 This specification illustrates a structural block diagram of a robotic arm according to one embodiment. The robotic arm 700 includes a master arm 710, a slave arm 720, and a motion control system 400 for the robotic arm. The motion control system 400 of the robotic arm controls the movement of the master arm 710 and the slave arm 720 according to the above-mentioned motion control method of the robotic arm.
[0191] In one embodiment of this specification, the aforementioned components of the robotic arm 700 and Figure 7 Other components, not shown, can also be connected to each other, for example, via a bus. It should be understood that... Figure 7 The block diagram of the robotic arm shown is for illustrative purposes only and is not intended to limit the scope of this specification. Those skilled in the art can add or replace other components as needed.
[0192] The above is a schematic representation of a robotic arm according to this embodiment. It should be noted that the technical solution of this robotic arm and the technical solution of the motion control method of the robotic arm described above belong to the same concept. For details not described in detail in the technical solution of the robotic arm, please refer to the description of the technical solution of the motion control method of the robotic arm described above.
[0193] An embodiment of this specification also provides a computer-readable storage medium storing a computer program / instructions that, when executed by a processor, implement the steps of the motion control method for the robotic arm described above.
[0194] The above is an illustrative scheme of a computer-readable storage medium according to this embodiment. It should be noted that the technical solution of this storage medium and the technical solution of the above-described motion control method for the robotic arm belong to the same concept. For details not described in detail in the technical solution of the storage medium, please refer to the description of the technical solution of the above-described motion control method for the robotic arm.
[0195] An embodiment of this specification also provides a computer program product, including a computer program / instructions that, when executed by a processor, implement the steps of the motion control method for the robotic arm described above.
[0196] The above is an illustrative scheme of a computer program product according to this embodiment. It should be noted that the technical solution of this computer program product and the technical solution of the above-described motion control method for a robotic arm belong to the same concept. For details not described in detail in the technical solution of the computer program product, please refer to the description of the technical solution of the above-described motion control method for a robotic arm.
[0197] The foregoing has described specific embodiments of this specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims may be performed in a different order than that shown in the embodiments and may still achieve the desired result. Furthermore, the processes depicted in the drawings do not necessarily require the specific or sequential order shown to achieve the desired result. In some embodiments, multitasking and parallel processing are possible or may be advantageous.
[0198] The computer instructions include computer program code, which may be in the form of source code, object code, executable file, or certain intermediate forms. The computer-readable medium may include: any entity or device capable of carrying the computer program code, recording media, USB flash drive, portable hard drive, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signals, telecommunication signals, and software distribution media, etc. It should be noted that the content included in the computer-readable medium may be appropriately added or removed according to the requirements of patent practice. For example, in some regions, according to patent practice, computer-readable media may not include electrical carrier signals and telecommunication signals.
[0199] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that the embodiments in this specification are not limited to the described order of actions, because according to the embodiments in this specification, some steps can be performed in other orders or simultaneously. Furthermore, those skilled in the art should also understand that the embodiments described in this specification are all preferred embodiments, and the actions and modules involved are not necessarily those described in the embodiments in this specification.
[0200] In the above embodiments, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.
[0201] The preferred embodiments disclosed above are merely illustrative of this specification. The optional embodiments do not exhaustively describe all details, nor do they limit the invention to the specific implementations described. Clearly, many modifications and variations can be made based on the embodiments described herein. These embodiments are selected and specifically described in this specification to better explain the principles and practical applications of the embodiments, thereby enabling those skilled in the art to better understand and utilize this specification. This specification is limited only by the claims and their full scope and equivalents.
Claims
1. A method for motion control of a robot arm, comprising: obtaining a master arm pose parameter of a master arm; mapping the master arm pose parameter to a normalized coordinate space to obtain a normalized pose parameter; scaling the normalized pose parameter based on a span ratio of the master arm and a slave arm to obtain a scaled pose parameter; mapping the scaled pose parameter to a coordinate space of the slave arm to obtain a slave arm pose parameter of the slave arm; performing inverse kinematics on the slave arm pose parameter to obtain target motion parameters of joints of the slave arm for motion control of the slave arm. 2.The method of claim 1, wherein the obtaining a master arm pose parameter of a master arm comprises: obtaining target motion parameters of joints of the master arm; performing forward kinematics on the target motion parameters of joints of the master arm to obtain the master arm pose parameter of the master arm. 3.The method of claim 1, wherein the mapping the master arm pose parameter to a normalized coordinate space to obtain a normalized pose parameter comprises: performing coordinate transformation of the master arm pose parameter to a normalized coordinate space to obtain a first transformed pose parameter; performing base alignment of the first transformed pose parameter to the normalized coordinate space to obtain the normalized pose parameter. 4.The method of claim 1, wherein the normalized pose parameter comprises a normalized position parameter and a normalized attitude parameter; the scaling the normalized pose parameter based on a span ratio of the master arm and a slave arm to obtain a scaled pose parameter comprises: scaling the normalized position parameter based on a span ratio of the master arm and a slave arm under a constraint that the normalized attitude parameter is invariant to obtain the scaled pose parameter. 5.The method of claim 1, wherein the mapping the scaled pose parameter to a coordinate space of the slave arm to obtain a slave arm pose parameter of the slave arm comprises: performing coordinate transformation of the master arm pose parameter to the coordinate space of the slave arm to obtain a second transformed pose parameter; performing base alignment of the second transformed pose parameter to the coordinate space of the slave arm to obtain the slave arm pose parameter of the slave arm. 6.The method of any one of claims 1-5, wherein the target motion parameter comprises a target joint angle and a target joint velocity; the performing inverse kinematics on the slave arm pose parameter to obtain target motion parameters of joints of the slave arm for motion control of the slave arm comprises: constructing a kinematic relationship between a velocity of the slave arm and joint velocities of joints of the slave arm based on the slave arm pose parameter of the slave arm; determining the target joint velocities of the joints of the slave arm based on the kinematic relationship; determining the target joint angles of the joints of the slave arm based on the target joint velocities of the joints of the slave arm. 7.The method of claim 6, wherein the determining the target joint velocities of the joints of the slave arm based on the kinematic relationship comprises: determining the target joint velocities of the joints of the slave arm based on the kinematic relationship with a smoothness of the joint velocities as an objective function. 8.The method of claim 6, wherein the determining the target joint velocities of the joints of the slave arm based on the kinematic relationship comprises: Determine target joint velocities of joints on the slave arm based on the kinematic relationship under at least one joint limit constraint, wherein the joint limit constraint comprises a joint position constraint, a joint velocity constraint, a joint acceleration constraint, and a maximum velocity constraint of the slave arm. 9.The method of claim 1, wherein the inverse kinematic processing of the slave arm pose parameter to obtain target motion parameters of joints for motion control of the slave arm comprises: performing inverse kinematic processing of the slave arm pose parameter to obtain initial motion parameters of joints on the slave arm; sending the initial motion parameters of joints on the slave arm to a front end to cause the front end to render an expected motion state of the slave arm based on the initial motion parameters of joints on the slave arm; receiving a user control instruction fed back by the front end, wherein the user control instruction is a confirmation instruction or a correction instruction issued by a user after previewing the expected motion state at the front end; and adjusting the initial motion parameters of joints on the slave arm based on the user control instruction to obtain target motion parameters of joints for motion control of the slave arm. 10.The method of claim 9, wherein before the sending of the target motion parameters of joints on the slave arm to the front end, the method further comprises: acquiring a physical motion state of the slave arm captured by a multi-camera system; and correcting the initial motion parameters of joints on the slave arm based on the physical motion state of the slave arm to obtain corrected initial motion parameters of joints on the slave arm. 11.A motion control system of a robotic arm, comprising a simulation thread, wherein the simulation thread comprises a kinematic engine; and the simulation thread is configured to run the kinematic engine to perform the following steps: acquiring a master arm pose parameter of a master arm; mapping the master arm pose parameter to a normalized coordinate space to obtain a normalized pose parameter; performing scale on the normalized pose parameter based on a span ratio of the master arm and a slave arm to obtain a scaled pose parameter; mapping the scaled pose parameter to a coordinate space of the slave arm to obtain a slave arm pose parameter of the slave arm; and performing inverse kinematic processing of the slave arm pose parameter to obtain target motion parameters of joints for motion control of the slave arm. 12.The motion control system of claim 11, further comprising a front end; and further comprising a display thread; wherein the display thread is configured to: perform inverse kinematic processing of the slave arm pose parameter to obtain initial motion parameters of joints on the slave arm; send the initial motion parameters of joints on the slave arm to the front end to cause the front end to render an expected motion state of the slave arm based on the initial motion parameters of joints on the slave arm; receive a user control instruction fed back by the front end, wherein the user control instruction is a confirmation instruction or a correction instruction issued by a user after previewing the expected motion state at the front end; and adjust the initial motion parameters of joints on the slave arm based on the user control instruction to obtain target motion parameters of joints for motion control of the slave arm. receiving the user control instruction of the front-end feedback, wherein, 13. The motion control system of claim 12, wherein the display thread comprises a multi-camera system; and wherein the display thread is further configured to: obtain the physical motion state of the slave arm captured by the multi-camera system; and correct the initial motion parameters of the joints of the slave arm based on the physical motion state of the slave arm to obtain corrected initial motion parameters of the joints of the slave arm.
14. A robotic arm comprising a master arm, a slave arm, and a motion control system of the robotic arm; wherein the motion control system is configured to control the motion of the master arm and the slave arm according to any one of the methods of claims 1-10.
Citation Information
Patent Citations
Mobile mechanical arm teleoperation method based on self-adaptive switching
CN116394239A
Mobile robot distributed Leader-Follower formation method based on cyclic SAC
CN118348989A
Heterogeneous double-mechanical-arm tail end pose mapping method, system and device and storage medium
CN119839864A
Operational data management system, operational data management method, and storage medium
US20240302900A1