Teleoperated robot pose compensation method, apparatus, device, and storage medium
Patent Information
- Application Number
- CN202611497892.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-09-24
- Publication Date
- 2026-10-30
AI Technical Summary
[0004]本申请实施例提供了一种遥操作机器人的位姿补偿方法、装置、设备及存储介质,以解决现有技术中按照固定超前量进行时间补偿,导致机器人末端匀速时滞后、变向时过冲的技术问题
本申请实施例提供了一种遥操作机器人的位姿补偿方法、装置、设备及存储介质。本申请实施例通过逐帧执行运动辨识与超前外推,输出补偿后的位姿设定点,形成“延迟估计、外推时长计算、补偿输出”的延迟自适应闭环,使预测时刻与预计执行时刻相匹配,补偿量随端到端实测延迟动态调整,解决了固定超前量在延迟波动下“补多过冲、补少滞后”的技术问题,提升了遥操作机器人的安全性、操作精度与作业效率。
Smart Images

Figure CN123000869A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of robot teleoperation technology, and more specifically, to a pose compensation method, apparatus, device, and storage medium for a teleoperated robot. Background Technology
[0002] Teleoperated robots have been widely used in extreme and hazardous environments (such as deep space exploration, deep-sea exploration, nuclear power plant maintenance, and explosive ordnance disposal) to replace humans in on-site operations, thereby reducing labor costs and mission risks. With the rapid development of Virtual Reality (VR) technology, a completely new experience is being brought to robot teleoperation, providing operators with a direct and immersive visual experience.
[0003] In existing technologies, the hand trajectory is linearly extrapolated according to a fixed lead amount, that is, the current position superimposed speed multiplied by a fixed lead time is used as the prediction target. However, the fixed lead amount cannot be adapted to both uniform speed and direction change conditions at the same time. In uniform speed translation, the fixed lead amount is insufficient and the robot is still lagging behind. At the moment of direction change (reversal, inflection point), the same lead amount will cause the predicted target to overshoot the actual landing point, resulting in overshoot, which will directly cause collision or misalignment in delicate operations such as grasping and assembly. Summary of the Invention
[0004] This application provides a method, apparatus, device, and storage medium for pose compensation of a teleoperated robot, in order to solve the technical problem in the prior art that time compensation based on a fixed lead amount results in time lag at the robot end effector during uniform speed change and overshoot during direction change.
[0005] According to a first aspect of the embodiments of this application, a pose compensation method for a teleoperated robot is provided, the method comprising: Acquire pose data frames collected by the pose acquisition terminal, and update the pose observation sliding window based on the pose data frames. The pose data frames include the operator's position data and pose data. Based on the pose data frames in the pose observation sliding window, the motion parameters are identified online frame by frame to obtain the updated motion parameters corresponding to each pose data frame. Based on each pose data frame and the corresponding updated motion parameters, the target pose is obtained by extrapolating the advance prediction time starting from the acquisition time of the pose data frame; the advance prediction time corresponds to the pose data frame, and the advance prediction time is determined according to at least one of a preset value, a calibration value, and an online estimated value; the target pose includes the operator's target position data and target posture data. The target pose is compensated to obtain the compensated pose setpoint, and the pose setpoint is sent to the robot control terminal. The pose compensation includes independently configurable lead gain compensation, overshoot suppression compensation, and output smoothing compensation. The target position data and the target posture data are compensated respectively.
[0006] As an optional implementation, the step of identifying motion parameters frame by frame online based on the pose data frames in the pose observation sliding window to obtain the updated motion parameters corresponding to each pose data frame includes: Determine the acquisition timing of the pose data frames in the pose observation sliding window; Based on the acquisition timing, motion parameters are identified online using the position and attitude data of each pose data frame to obtain the updated motion parameters corresponding to each pose data frame.
[0007] As an optional implementation, the method further includes: The upper and lower limits of the motion parameters are set, and the compensation parameters are dynamically adjusted according to the motion parameters; the compensation parameters include at least one of the lead gain compensation parameters, overshoot suppression compensation parameters, and smoothing compensation parameters; and, Set soft boundary constraints for the workspace of the compensated pose setting point.
[0008] As an optional implementation, the lead gain compensation includes: The position data of each pose data frame is linearly interpolated with the target position data of the target pose corresponding to the pose data frame using the lead gain compensation parameter; and the attitude data of each pose data frame is spherically linearly interpolated with the target attitude data of the target pose corresponding to the pose data frame using the lead gain compensation parameter.
[0009] As an optional implementation, the overshoot suppression compensation includes: Critical damping tracking is applied to the position and attitude data after gain compensation, and the limit of the motion parameters is tightened when a reversal of motion direction or crossing of the landing point is detected.
[0010] As an optional implementation, the output smoothing compensation includes: The pose setpoint after overshoot suppression compensation is smoothed and filtered using the smoothing compensation parameters.
[0011] As an optional implementation, the method further includes: The target position data and the target attitude data are respectively compensated by independent parameters, and the compensation parameters include at least one of the lead gain compensation parameter, overshoot suppression compensation parameter and smoothing compensation parameter.
[0012] As an optional implementation, the online identification employs at least one of the following methods: recursive least squares method, Kalman filtering method, adaptive Kalman filtering method, and least squares sliding window fitting method.
[0013] According to a second aspect of the embodiments of this application, a pose compensation device for a teleoperated robot is provided, the device comprising: The first processing module is used to acquire pose data frames collected by the pose acquisition terminal and update the pose observation sliding window based on the pose data frames. The pose data frames include the operator's position data and pose data. The second processing module is used to identify motion parameters frame by frame based on the pose data frames in the pose observation sliding window, and obtain the updated motion parameters corresponding to each pose data frame. The third processing module is used to extrapolate the advance prediction time based on each pose data frame and the corresponding updated motion parameters, taking the acquisition time of the pose data frame as the starting time, to obtain the target pose; the advance prediction time corresponds to the pose data frame, and the advance prediction time is determined according to at least one of a preset value, a calibration value, and an online estimated value; the target pose includes the operator's target position data and target posture data; The fourth processing module is used to perform pose compensation on the target pose to obtain the compensated pose setpoint, and send the pose setpoint to the robot control terminal; the pose compensation includes independently configurable lead gain compensation, overshoot suppression compensation and output smoothing compensation, and the target position data and the target posture data are compensated respectively.
[0014] According to a third aspect of the present application, an electronic device is provided, comprising: a memory, a processor, and a computer program stored in the memory, wherein the processor executes the computer program to implement the method described in any one of the first aspects.
[0015] According to a fourth aspect of the embodiments of this application, a computer-readable storage medium is provided having a computer program stored thereon that, when executed by a processor, implements the method as described in any one of the first aspects.
[0016] According to a fifth aspect of the embodiments of this application, a computer program product is provided, including a computer program that, when executed by a processor, implements the method as described in any one of the first aspects.
[0017] The beneficial effects of the technical solutions provided in this application are: This application provides a method, apparatus, device, and storage medium for pose compensation of a teleoperated robot. This application's embodiments perform motion recognition and lead extrapolation frame by frame, outputting the compensated pose setpoint, forming a delay adaptive closed loop of "delay estimation, extrapolation duration calculation, and compensation output." This ensures that the predicted time matches the expected execution time, and the compensation amount is dynamically adjusted according to the end-to-end measured delay. This solves the technical problem of "over-compensation and under-compensation" under delay fluctuations with a fixed lead amount, improving the safety, operational accuracy, and work efficiency of the teleoperated robot. Attached Figure Description
[0018] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments of this application will be briefly introduced below.
[0019] Figure 1 A frame structure diagram of a pose compensation system for a teleoperated robot provided in an embodiment of this application; Figure 2 A flowchart illustrating a pose compensation method for a teleoperated robot provided in an embodiment of this application; Figure 3 A schematic diagram illustrating the process of online identification of motion parameters and advance extrapolation of pose data frames provided in an embodiment of this application; Figure 4 A schematic diagram of a three-dimensional orthogonal divide-and-conquer process with advance-overshoot-smoothing provided in an embodiment of this application; Figure 5 A schematic diagram illustrating a process for decoupling compensation of position data and attitude data provided in an embodiment of this application; Figure 6 A schematic diagram of the structure of a pose compensation device for a teleoperated robot provided in an embodiment of this application; Figure 7 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation
[0020] The embodiments of this application are described below with reference to the accompanying drawings. It should be understood that the embodiments described below with reference to the accompanying drawings are exemplary descriptions for explaining the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions of the embodiments of this application.
[0021] Those skilled in the art will understand that, unless otherwise stated, the singular forms “a,” “an,” and “the” used herein may also include the plural forms. It should be further understood that the terms “comprising” and “including” as used in embodiments of this application mean that the corresponding feature can be implemented as the presented feature, information, data, step, operation, element, and / or component, but do not exclude implementation as other features, information, data, step, operation, element, component, and / or combinations thereof supported by the art. It should be understood that when we say that an element is “connected” or “coupled” to another element, the one element can be directly connected or coupled to the other element, or it can mean that the one element and the other element establish a connection relationship through an intermediate element. Furthermore, “connected” or “coupled” as used herein can include wireless connection or wireless coupling. The term “and / or” as used herein indicates at least one of the items defined by the term; for example, “A and / or B” can be implemented as “A,” or as “B,” or as “A and B.”
[0022] In the embodiments of this application, the terms "module" or "unit" refer to a computer program or part of a computer program that has a predetermined function and works with other related parts to achieve a predetermined goal, and can be implemented wholly or partially using software, hardware (such as processing circuitry or memory), or a combination thereof. Similarly, a processor (or multiple processors or memory) can be used to implement one or more modules or units. Furthermore, each module or unit can be part of an overall module or unit that includes the functionality of that module or unit.
[0023] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings.
[0024] First, the technical terms used in this disclosure will be introduced and explained: Remote operation: A human-robot collaborative operation paradigm in which the operator collects hand movements through a master device such as a VR controller or motion-sensing device, and transmits them to a remote robot (slave device) via a communication link for execution. It is widely used in high-risk or remote precision operation scenarios such as nuclear radiation disposal, hazardous materials handling, remote surgical assistance, disaster relief, and deep-sea and space operations.
[0025] End-to-end latency: The cumulative latency of the entire link from the operator's hand movements being collected from the master end, transmitted through the wireless network, data filtering and noise reduction, inverse kinematics calculation, to the robot's slave end servo execution is generally 70~100 milliseconds.
[0026] Pose: The position of the robot's end effector or the operator's hand in three-dimensional space. ) and posture ( The collective term for (i.e., three-dimensional rotations), forming a special Euclidean group. Element.
[0027] Quaternions: Four-dimensional unit vectors that represent three-dimensional rotations. , , used to represent attitude data.
[0028] Kalman filter: A recursive state estimator based on a state-space model that estimates motion state (position, velocity, acceleration) under noisy observations through a two-step prediction-update process.
[0029] Uniform velocity model / uniform acceleration model: Local motion state assumptions. The uniform velocity model assumes that the velocity is approximately constant within the window, and the state quantities are position and velocity; the uniform acceleration model further assumes that the acceleration is approximately constant, and the state quantities are position, velocity, and acceleration.
[0030] Universal Lock: Euler angles represent a peculiar phenomenon where the degree of freedom degenerates and the direction of rotation becomes indistinguishable at specific angles (such as pitch ±90°) during rotation.
[0031] Angular winding: Angle represents a numerical jump that occurs at ±180° (e.g., from +179° to...). (179°), if the angle is directly extrapolated, it will diverge or produce violent jumps at the transition point. Quaternion extrapolation can avoid this problem.
[0032] This disclosure proposes a pose compensation method for a teleoperated robot. Before describing the optional embodiments of this disclosure, in order to better understand the inventive concept and the inventiveness of this solution, the relevant technologies are first explained: Teleoperated robots have been widely used in extreme and hazardous environments (such as deep space exploration, deep-sea exploration, nuclear power plant maintenance, and explosive ordnance disposal) to replace humans in on-site operations, thereby reducing labor costs and mission risks. With the rapid development of Virtual Reality (VR) technology, a completely new experience is being brought to robot teleoperation, providing operators with a direct and immersive visual experience.
[0033] In existing technologies, the hand trajectory is linearly extrapolated according to a fixed lead amount, that is, the current position superimposed speed multiplied by a fixed lead time is used as the prediction target. However, the fixed lead amount cannot be adapted to both uniform speed and direction change conditions at the same time. When running at uniform speed, the fixed lead amount is insufficient and the robot is still lagging behind. At the moment of direction change (reversal, inflection point), the same lead amount will cause the predicted target to overshoot the actual landing point, resulting in overshoot, which will directly cause collision or misalignment in fine operations such as grasping and assembly.
[0034] The pose compensation method, apparatus, device, and storage medium for teleoperated robots provided in this application aim to solve the above-mentioned technical problems in the prior art.
[0035] The technical solutions of this application and their effects are described below through several exemplary embodiments. It should be noted that the following embodiments can be referenced, borrowed from, or combined with each other. Identical terms, similar features, and similar implementation steps in different embodiments will not be repeated.
[0036] Figure 1 A framework diagram of a pose compensation system for a teleoperated robot provided in this application embodiment; as shown. Figure 1 As shown, the pose compensation system of the teleoperated robot includes a pose acquisition terminal 101, a pose compensation module 102, a robot control terminal 103, and a delay calibration unit 104.
[0037] In some embodiments, the pose acquisition terminal 101 is electrically connected to the pose compensation module 102 and the delay calibration unit 104, respectively. The pose acquisition terminal 101 is used to acquire the operator's real-time operation pose, generate a pose data frame carrying a acquisition timestamp, and send the pose data frame to the pose compensation module 102; and output the acquisition timestamp to the delay calibration unit 104 to provide a time reference for calculating the end-to-end measured delay.
[0038] In some embodiments, the pose compensation module 102 is electrically connected to the pose acquisition terminal 101, the robot control terminal 103, and the delay calibration unit 104, respectively. The pose compensation module 102 receives the pose data frame output by the pose acquisition terminal 101; and receives the advance prediction duration output by the delay calibration unit 104, and performs pose advance prediction compensation calculation on the received pose data based on the advance prediction duration to obtain the compensated pose setpoint, and outputs the pose setpoint to the robot control terminal 103 to offset the time lag introduced by the teleoperation transmission link.
[0039] In some embodiments, the pose compensation module 102 runs on the robot main control or edge computing unit without modifying the existing hardware of the pose acquisition terminal and the robot control terminal.
[0040] In some embodiments, the robot control terminal 103 is the execution controller of the robot body, and is electrically connected to the pose compensation module 102 and the delay calibration unit 104 respectively. The robot control terminal 103 receives the pose setpoint issued by the pose compensation module 102, drives the robot to complete the corresponding movement according to the pose setpoint, collects the actual movement state of the robot to generate an execution feedback signal, and transmits the execution feedback signal to the delay calibration unit 104.
[0041] In some embodiments, the delay calibration unit 104 is electrically connected to the pose acquisition terminal 101, the pose compensation module 102, and the robot control terminal 103. The delay calibration unit 104 receives the acquisition timestamp sent by the pose acquisition terminal 101 and the execution feedback signal output by the robot control terminal 103. By comparing the time difference between the original pose acquisition time and the actual execution time of the robot, the system end-to-end measured delay is calculated, and the advance prediction time is determined based on the end-to-end measured delay. The advance prediction time is then fed back to the pose compensation module 102 to realize the dynamic update of the compensation prediction time, thus forming a complete time delay compensation closed loop.
[0042] Figure 2 A flowchart illustrating a pose compensation method for a teleoperated robot provided in this application embodiment; as shown Figure 2 As shown, the method includes: S201. Obtain the pose data frame collected by the pose acquisition terminal, and update the pose observation sliding window based on the pose data frame. The pose data frame includes the operator's position data and posture data.
[0043] Specifically, in this embodiment of the application, the pose acquisition end is a VR controller or a motion sensing device, which acquires pose data frames at a fixed frame rate (such as 60Hz). The pose data frames include the position data and posture data of the operator's hands.
[0044] Specifically, in this embodiment of the application, the pose observation sliding window can store pose data frames of several lengths. Each time the pose acquisition end acquires a pose data frame, it transmits the pose data frame to the pose observation sliding window. The pose observation sliding window removes the pose data frame with the earliest timestamp and stores the pose data frame transmitted from the pose acquisition end.
[0045] S202. Based on the pose data frames in the pose observation sliding window, the motion parameters are identified online frame by frame to obtain the updated motion parameters corresponding to each pose data frame.
[0046] Specifically, in this embodiment, each time a pose observation sliding window stores a pose data frame, motion parameters are identified online based on that pose data frame. This can be understood as the pose acquisition end acquiring a pose data frame, storing that frame in the pose observation sliding window, and identifying the motion parameters based on that frame to obtain updated motion parameters.
[0047] In teleoperation scenarios, the movements of the operator's hands and head correspond to control commands from mechanisms such as the robot's end effector and gimbal. Different body parts exhibit significantly different motion characteristics; hand movements frequently involve rapid directional changes and slight tremors, while head movements are relatively smooth. By establishing motion models for each corresponding body part and identifying their motion parameters, pose extrapolation and compensation processing can be performed based on the individual motion patterns of the hands and head. In other words, in this embodiment, the motion parameters are the parameters of a motion model for a specific part of the operator's body.
[0048] S203. Based on each pose data frame and the corresponding updated motion parameters, extrapolate the advance prediction duration starting from the acquisition time of the pose data frame to obtain the target pose; the advance prediction duration corresponds to the pose data frame, and the advance prediction duration is determined according to at least one of a preset value, a calibration value, and an online estimation value; the target pose includes the operator's target position data and target posture data.
[0049] Specifically, in this embodiment of the application, for a pose data frame, the advance prediction duration corresponding to the pose data frame can be determined according to at least one of a preset value, a calibration value, and an online estimated value. The preset value is a static fixed parameter that, once set, will not change with real-time factors such as device operating status, environmental changes, or pose fluctuations unless manually modified. The calibration value is a value calibrated using a loopback measurement method. The online estimated value is estimated online using the timestamp carried by the pose data frame.
[0050] For example, when the pose acquisition end acquires pose data frames, it adds a timestamp and sends the timestamp to the delay calibration unit. At the same time, the robot control end drives the robot to complete the corresponding action according to the issued pose setpoint, acquires the execution feedback signal generated by the robot and sends it to the delay calibration unit. The execution feedback signal carries a timestamp. The delay calibration unit determines the end-to-end measured delay based on the timestamp sent by the pose acquisition end and the timestamp carried by the execution feedback signal, and uses the end-to-end measured delay as the advance prediction duration.
[0051] Specifically, in this embodiment, each time a pose observation sliding window receives a pose data frame, based on the pose data frame and the updated motion parameters, the position data and attitude data of the pose data frame are extrapolated by an advance prediction time to obtain the target pose. It can be understood that due to the limitations of physical bandwidth, computing power and control cycle, there is an end-to-end delay between the pose acquisition end and the robot control end. In order to offset the end-to-end delay, the position data and attitude data of the pose data frame need to be extrapolated forward (the extrapolation time is the advance prediction time) to obtain the target pose that the operator's hand should reach, and send it to the robot control end as the pose set point so that the robot end is aligned with the operator's hand in real time, overcoming the robot's "half-beat" lag.
[0052] S204. Perform pose compensation on the target pose to obtain the compensated pose setpoint, and send the pose setpoint to the robot control terminal; the pose compensation includes independently configurable lead gain compensation, overshoot suppression compensation and output smoothing compensation, and the target position data and the target posture data are compensated respectively.
[0053] Specifically, in the embodiments of this application, after determining the target pose, it is also necessary to perform attitude compensation on the target pose. The attitude compensation includes three independently configurable stages: lead gain compensation, overshoot suppression compensation, and output smoothing compensation. Each stage corresponds to an orthogonal physical adjustment dimension (e.g., lead amount, overshoot suppression intensity, and smoothing intensity), so that the following performance and stability change from "one increasing while the other decreases" to "being controllable separately".
[0054] In some embodiments, lead gain compensation is the first compensation step, used to adjust the lead amount of the target pose obtained after extrapolation, and to determine the following performance.
[0055] In some embodiments, overshoot suppression compensation is a second compensation step, which applies critical damping tracking and velocity / acceleration amplitude limiting constraints to the setpoint after advance gain compensation. When a reversal of motion direction is detected or the target crosses the reasonable landing point, overshoot is suppressed, specifically to manage change-of-direction overshoot.
[0056] In some embodiments, output smoothing compensation is the third compensation stage, which performs first-order low-pass smoothing on the setpoint after overshoot suppression to suppress high-frequency jitter caused by lead extrapolation amplification, and optionally includes look-ahead lag compensation to reduce phase lag introduced by smoothing.
[0057] It should be noted that, due to the different dynamic characteristics of position data and attitude data, it is difficult to simultaneously achieve a unified compensation parameter. Therefore, the target position data and target attitude data are compensated separately; that is, the compensation for target position data and target attitude data is independent of each other.
[0058] In this embodiment, motion recognition and extrapolation are performed frame by frame to output the compensated pose setpoint, forming a delay adaptive closed loop of "delay estimation, extrapolation duration calculation, and compensation output". This makes the predicted time match the expected execution time, and the compensation amount is dynamically adjusted according to the end-to-end measured delay. This solves the technical problem of "over-compensation and under-compensation" under delay fluctuations with a fixed advance amount, and improves the safety, operation accuracy and work efficiency of the teleoperated robot.
[0059] Based on the above embodiments, as an optional embodiment, the step of identifying motion parameters frame by frame online based on the pose data frames in the pose observation sliding window to obtain the updated motion parameters corresponding to each pose data frame includes: Determine the acquisition timing of the pose data frames in the pose observation sliding window; Based on the acquisition timing, motion parameters are identified online using the position and attitude data of each pose data frame to obtain the updated motion parameters corresponding to each pose data frame.
[0060] In existing technologies, predictors are trained offline based on historical data of a specific operator or task, and the future motion trajectory of the operator is output based on the trained predictor. However, the above method relies heavily on historical data. Once the operator is changed or the task is switched, the original trained motion model is prone to failure, and the model has poor generalization ability. At the same time, this solution requires data collection and model training to be completed in advance, and cannot be dynamically adjusted according to the real-time changes in network latency at the VR remote operation site, making it difficult to meet the application requirements of online real-time compensation.
[0061] Specifically, in this embodiment of the application, the motion parameters of the pose data frames in the pose observation sliding window are identified online frame by frame to obtain the updated motion parameters corresponding to each pose data frame. In other words, every time a new pose data frame arrives in the pose observation sliding window, the motion parameters of the motion model are identified online based on the position data and attitude data of the pose data frame to obtain the updated motion parameters.
[0062] In some embodiments, the motion characteristics of position data and attitude data are different, and the motion parameters can be divided into position motion parameters and attitude motion parameters; wherein, position motion parameters include, but are not limited to, velocity and / or acceleration; attitude motion parameters include, but are not limited to, angular velocity and / or angular acceleration.
[0063] In some embodiments, a control cycle is set. ,like If the frequency is 60Hz, the control cycle is approximately 16.7ms; Let H represent the prediction steps, and the corresponding lead prediction time is... The acquisition time of the new pose data frame is... Location data Attitude data in unit quaternions This is indicated below. The online identification of motion parameters will be explained using location data as an example: For location data, recursive least-squares (RLS) with a forgetting factor λ is used to estimate the linear mapping from the current motion feature to the displacement increment within the predicted steps H frame by frame. Let the feature vector... Composed of local motion quantities such as velocity and acceleration, predicting the target The prediction target is formed after the arrival of data in the (k+H)th subsequent frame and is used for subsequent parameter updates. The RLS recursive update formula is shown below:
[0064]
[0065]
[0066] in, For the gain vector, Let covariance matrix be the variance matrix. The increment of uniaxial displacement is H corresponding to the number of prediction steps, and λ∈(0,1] is the forgetting factor.
[0067] In some embodiments, the trace of the covariance matrix of the recursive least squares algorithm can be used. An upper limit clamp is applied. The trace of the covariance matrix is used to characterize the uncertainty of the identification parameters. When its value exceeds a preset upper limit threshold, the trace of the covariance matrix is forcibly limited to the upper limit value to suppress the divergence of the covariance matrix, avoid drastic changes in the pose prediction output, and improve the stability of system operation.
[0068] In some embodiments, the identification of position and motion parameters can be achieved by using a Kalman filter to estimate position, velocity, and acceleration in the CV / CA state space, and by fusing multiple frame observations in the time dimension to suppress single-frame noise.
[0069] It should be noted that position data can be processed in three-dimensional Euclidean space; attitude data should not be directly calculated as independent ordinary linear variables using the four components of a unit quaternion. For attitude data, angular motion characteristics can be obtained from the local representation of the rotating manifold based on the relative rotation relationship between adjacent attitude data within the pose observation sliding window, and attitude motion parameters can be identified accordingly.
[0070] In some embodiments, attitude motion features are obtained based on the relative rotation of adjacent attitudes. For adjacent unit quaternions... and First, perform symbol continuation; when At that time, Replace with Then define relative rotation. Generally, relative rotations are mapped to local rotation increments, i.e.: When the relative rotation approaches a unit rotation, a small angle approximation is used. .
[0071] in, The three-dimensional local tangent space corresponding to so(3) represents the local angular increment of adjacent attitudes; Log is the logarithmic mapping from SO(3) to so(3). After the angular increments of adjacent frames are calculated under the same coordinate system, angular velocity and angular acceleration constraints are then applied.
[0072] In some embodiments, the attitude motion parameters can be updated online using recursive least squares, Kalman filtering, adaptive Kalman filtering, or sliding window fitting based on at least one of the relative rotation, angular velocity, and angular acceleration of the attitude data frames within the attitude observation sliding window; the state, features, and update method used for attitude identification can be determined independently of position identification.
[0073] In this embodiment, motion parameters are updated through online recursive identification, which can quickly converge and lock the current motion trend within a few frames. For different operators and different tasks, there is no need to collect additional offline training data, which overcomes the shortcomings of poor generalization ability and insufficient real-time performance of offline motion models, and effectively improves the adaptive and dynamic following capabilities of the pose compensation of the teleoperated robot.
[0074] Figure 3 The flowchart illustrates an online identification of motion parameters and advance extrapolation of pose data frames provided in this application embodiment. As shown in the figure, the pose acquisition end acquires pose data frames, updating the pose observation sliding window for each new frame acquired. Motion parameters of the local motion model are estimated online, including but not limited to position motion parameters and posture motion parameters. Then, the delay calibration unit calculates the end-to-end measured delay from the pose acquisition end to the robot control end and uses this end-to-end measured delay as the advance prediction duration. Based on the pose data frames and the updated motion parameters, the advance prediction duration is extrapolated to obtain the target pose, which includes the operator's target position data and target posture data. Finally, advance gain compensation, overshoot suppression compensation, and output smoothing compensation are performed on the target pose to obtain the compensated pose setpoint, which is then sent to the robot control end.
[0075] To help those skilled in the art better understand the extrapolation process of pose data frames, the following explanation uses position data and pose data as examples: For location data, assuming the number of prediction steps is H, the corresponding lead prediction time is... The extrapolation formula for the target location data is as follows:
[0076] in, This is the target position data. Similarly, the target attitude data can be obtained based on the formula above.
[0077] It should be noted that in this embodiment, when the end-to-end measured latency changes with network fluctuations, the advance prediction duration is also adjusted accordingly to match the extrapolated time with the expected execution time, avoiding "overshooting with too much and lag with too little". This embodiment binds the "end-to-end measured latency" and the "advance prediction duration" in a closed loop, overcoming the problem that traditional open-loop extrapolation schemes cannot adapt to dynamic latency.
[0078] Based on the above embodiments, as an optional embodiment, the method further includes: The upper and lower limits of the motion parameters are set, and the compensation parameters are dynamically adjusted according to the motion parameters; the compensation parameters include at least one of the lead gain compensation parameters, overshoot suppression compensation parameters, and smoothing compensation parameters; and, Set soft boundary constraints for the workspace of the compensated pose setting point.
[0079] Specifically, in the embodiments of this application, the lead gain compensation parameter, overshoot suppression compensation parameter, and output smoothing compensation parameter can be dynamically adjusted based on at least one of velocity, acceleration, angular velocity, angular acceleration, direction change, and estimated confidence level. The adjustment direction and magnitude of the parameters can be determined according to the position channel, attitude channel, parameter definitions, and operational requirements.
[0080] In some embodiments, reasonable upper and lower limits are set for motion parameters to avoid abnormal divergence of the identified parameters and ensure the stability of the algorithm output. At the same time, soft boundary constraints of the workspace are applied to the compensated pose set point. When the set point approaches the robot's working boundary, the position data and attitude data of the pose set point are automatically restricted to prevent the output pose set point from exceeding the robot's executable range.
[0081] In this embodiment, by dynamically adjusting the compensation parameters according to the intensity of motion, it is possible to effectively balance stability under high-speed motion and tracking performance during fine operation; by setting upper and lower limits for motion parameters, abnormal divergence of identification parameters is prevented; at the same time, soft boundary constraints of the workspace are set to prevent the set point from exceeding the working range, effectively improving the adaptive capability and operational safety of teleoperation.
[0082] Based on the above embodiments, as an optional embodiment, the lead gain compensation includes: The position data of each pose data frame is linearly interpolated with the target position data of the target pose corresponding to the pose data frame using the lead gain compensation parameter; and the attitude data of each pose data frame is spherically linearly interpolated with the target attitude data of the target pose corresponding to the pose data frame using the lead gain compensation parameter.
[0083] Specifically, in the embodiments of this application, the position data of each pose data frame is linearly interpolated between "no current observation with lead" and "complete lead prediction" using the lead gain compensation parameter. This can be understood as follows: for a new pose data frame in the pose observation sliding window, after determining the target pose corresponding to the pose data frame, the pose data frame and the target pose are interpolated using the lead gain compensation parameter.
[0084] In some embodiments, linear interpolation is used for location data, and the interpolation formula is as follows:
[0085] in, The position data is after interpolation; This refers to the position data within the pose data frame; For target location data; This is the lead gain compensation parameter; the larger the value, the stronger the tracking performance.
[0086] Euler angles are commonly used in related technologies for attitude extrapolation calculations. However, Euler angles themselves have inherent drawbacks: gimbal lock singularities can occur under certain specific angular configurations. The surrounding area is prone to angular entanglement and jumps; when the teleoperation attitude compensation algorithm runs to the above special pose, it is easy to encounter problems such as attitude calculation divergence and violent output jumps, which seriously affect the stability of robot teleoperation and may even cause risks such as attitude misalignment, jitter and collision at the execution end.
[0087] In some embodiments of this application, the attitude data is obtained from adjacent pose data frames. Estimate the local angular velocity and map it to an incremental rotation with a lead time of prediction. Continuous attitude output is generated using spherical linear interpolation, and the spherical linear interpolation formula is shown below:
[0088] in, The interpolated attitude data; This is spherical linear interpolation, that is, interpolation is performed on a quaternion manifold; The pose data (pose quaternion) is the pose data frame. The incremental rotational quaternion calculated for the local angular velocity; This is quaternion multiplication. For target attitude data (target attitude quaternion); These are independent lead gain compensation parameters for the attitude channel.
[0089] In this embodiment, the compensation intensity is flexibly adjusted by the lead gain compensation parameter to achieve a smooth transition between the observed pose and the target pose, improve the teleoperation following performance, and avoid the risk of jump caused by attitude interpolation singularities.
[0090] Based on the above embodiments, as an optional embodiment, the overshoot suppression compensation includes: Critical damping tracking is applied to the position and attitude data after gain compensation, and the limit of the motion parameters is tightened when a reversal of motion direction or crossing of the landing point is detected.
[0091] Specifically, in this embodiment, pose overshoot and overadjustment issues are prone to occur during operator reversals, sudden stops, and motion completion. To avoid the limitation of single lead gain compensation being unable to adapt to sudden motion changes, continuous monitoring of the robot's real-time motion state and target landing point is required throughout the process. This involves accurately identifying key situations that are prone to overshoot, such as motion direction reversal and predicted pose exceeding the actual landing point. For example, under normal uniform motion conditions, the algorithm maintains a loose amplitude limit threshold, preserving the following advantage of lead compensation while ensuring the response speed and tracking accuracy of teleoperation. Only when sudden motion conditions are detected is the amplitude limit actively tightened to suppress overshoot oscillations caused by excessive instantaneous motion increments. Simultaneously, the pose output characteristics are optimized through critical damping tracking, allowing the robot's pose to converge smoothly to the target landing point.
[0092] In some embodiments, the position data after lead gain compensation is ,right Apply critical damping tracking and velocity / acceleration limiting. Assume the output position data after lead gain compensation from the previous pose data frame is... Speed limit is Acceleration limit is It applies velocity and acceleration limiting to the incremental difference between two adjacent frames; when a reversal of motion direction is detected or the target crosses the reasonable landing point, the limiting is tightened to suppress overshoot, thus obtaining the setpoint after clamping. .
[0093] In some embodiments, for uniform motion, the speed limit can be determined. Allowable displacement increment in this frame after calculation of clipping limit , The formula is shown below:
[0094] in, The time interval between adjacent pose data frames; This is a clipping function; values greater than the upper limit are taken from the upper limit, values less than the lower limit are taken from the lower limit, and values in between are kept unchanged. This can be understood as... Greater than The value is Less than The value is Between and Between, it remains unchanged.
[0095] In some embodiments, for uniformly accelerated motion, an acceleration limit is applied based on the difference in displacement increments between adjacent frames, and the displacement increment of the current frame after the limit is calculated using the following formula:
[0096]
[0097]
[0098]
[0099] in, This represents the displacement increment from the previous frame. For maximum acceleration, The time interval between adjacent pose data frames. and These are the position data of the current frame and the previous frame after lead gain compensation, respectively. This is the current frame offset increment after clipping.
[0100] In some embodiments, for attitude data, the relative rotation amount or rotation increment between adjacent attitudes can be obtained based on the relative rotation relationship between adjacent attitudes, and at least one of angular displacement, angular velocity and angular acceleration is constrained in the local representation of the rotating manifold; the constraint operation is performed in a local space suitable for the attitude representation, and the attitude data in the form of a unit quaternion is obtained again after the constraint is completed as the output after attitude overshoot suppression.
[0101] In some embodiments, for uniform motion, the angular velocity is calculated based on the relative rotation increment of adjacent attitudes, and an angular velocity limit is applied; wherein, the relative rotation increment... angular velocity ; angular velocity Applying an upper limit to angular velocity yields and take ; and then through Restore the unit quaternion posture after the amplitude limit.
[0102] in, The current attitude after gain compensation. The pose of the previous frame; The relative rotation increment between adjacent poses; Log( ) is a logarithmic mapping that maps relative rotations to local rotation vectors; Exp( () is an exponential mapping that maps a local rotation vector to a unit quaternion; for The conjugate of. According to During calculation, This means that in the previous frame's body coordinate system, before performing cross-frame differential, adjacent angular increments are mapped to the same reference coordinate system through the corresponding attitude rotation matrix.
[0103] In some embodiments, rotation increment is obtained Then, for the rotation increment An upper limit is applied to the angular velocity; where, For rotation increment The corresponding angular velocity.
[0104] In some embodiments, for uniformly accelerated operation, angular acceleration is calculated based on the difference between adjacent angular increments, and an angular acceleration limit is applied:
[0105] in, and For adjacent angular increments mapped to the same reference coordinate system, ;right Applying the upper limit of angular acceleration yields , and according to = Obtain the reference coordinate system angular increment after the frame is limited; map it back to the body coordinate system of the previous frame to obtain... Then through Restore the pose of the unit quaternion.
[0106] In some embodiments, when angular acceleration is obtained Afterwards, Apply a preset upper limit to angular acceleration, and restore the angular increment and unit quaternion attitude after the amplitude limit is set according to the above relationship.
[0107] In this embodiment, by performing critical damping tracking on the pose set point and limiting the position motion parameters and attitude motion parameters, the pain points of traditional fixed limiting schemes, which either follow with lag or overshoot during reversal, are effectively solved, significantly improving the smoothness and safety of robot teleoperation.
[0108] Based on the above embodiments, as an optional embodiment, the output smoothing compensation includes: The pose setpoint after overshoot suppression compensation is smoothed and filtered using the smoothing compensation parameters.
[0109] Specifically, in this embodiment, in the complete pose compensation chain, output smoothing compensation serves as the final compensation stage. It receives the output results of pre-advance gain compensation and overshoot suppression compensation, eliminating minor output fluctuations caused by computational iteration, dynamic parameter adjustment, and device sampling noise, further optimizing the output continuity and stability of the pose setpoint. Specifically, for position data, the three-dimensional position components after clamping constraints undergo linear smoothing filtering, with the filtering intensity adaptively adjusted based on dynamic smoothing compensation parameters. For attitude data, the erroneous method of directly filtering quaternion components is abandoned; smoothing operations are performed in the rotation vector space, and then mapped to unit quaternions, effectively avoiding pose distortion and modulus shift. Simultaneously, the smoothing compensation parameters can be adaptively and dynamically adjusted according to the identified operator's motion state. When the system detects large, rapid movements, the smoothing weight is automatically reduced, preserving the dynamic response capability of advance compensation while avoiding over-filtering that leads to tracking lag. When low-speed, fine-tuning operations are detected, the smoothing weight is appropriately increased to filter out high-frequency jitter and minor jumps.
[0110] In some embodiments, the smoothing filter can employ a first-order / second-order low-pass filter, a moving average filter, or a smoothing filter with look-ahead lag compensation. Among these, the first-order and second-order low-pass filters can attenuate high-frequency noise to varying degrees; the moving average filter suppresses instantaneous jitter by averaging multiple frames of data within a window; and the smoother with look-ahead lag compensation can, while filtering and suppressing jitter, also offset the phase lag introduced by smoothing to a certain extent, thus alleviating the following lag problem caused by filtering.
[0111] In some embodiments, when selecting a first-order low-pass filter for smoothing filtering, an exponential moving average (EMA) filter may be preferred.
[0112] In this embodiment, output smoothing compensation smooths out subtle fluctuations in pose output, solving the drawback that traditional fixed filtering parameters cannot adapt to multiple working conditions, effectively improving the motion smoothness and operational stability of the robot during remote operation, and ensuring the accurate implementation of precision tasks.
[0113] Figure 4This is a schematic diagram of a three-dimensional orthogonal divide-and-conquer processing framework provided in an embodiment of this application. As shown in the figure, after extrapolating the pose data frame to predict the lead time, the target pose is obtained. The target pose is then subjected to three-dimensional orthogonal divide-and-conquer processing to obtain the compensated pose setpoint. The three-dimensional orthogonal divide-and-conquer processing decomposes the pose compensation of the target pose into three independent and separately tuned series links: lead gain compensation, overshoot suppression compensation, and output smoothing compensation. Each link corresponds to an orthogonal physical adjustment dimension. The lead gain compensation corresponds to the first adjustment dimension: lead amount; the overshoot suppression compensation corresponds to the second adjustment dimension: overshoot suppression intensity; and the output smoothing compensation corresponds to the third adjustment dimension: smoothing intensity. Through the above three independent and separately tuned series links, the robot's following performance and stability are changed from "one increasing while the other decreases" to "separately controllable".
[0114] In some embodiments, the target pose input advance gain compensation stage has a first adjustment dimension of advance amount, which adjusts the system's tracking performance through the advance gain compensation coefficient; the output of the advance gain compensation is sent to the overshoot suppression compensation stage, with the second adjustment dimension of overshoot suppression, which applies critical damping tracking and limits motion parameters to adjust the overshoot suppression intensity; the output of the overshoot suppression compensation is sent to the output smoothing compensation stage, with the third adjustment dimension of smoothing intensity, which uses smoothing filtering to control the smoothing intensity and finally outputs the compensated pose setpoint; wherein, the three adjustment dimensions of advance amount, overshoot suppression, and smoothing intensity are independent of each other and can be tuned separately, thereby realizing a three-dimensional orthogonal divide-and-conquer pose compensation of "advance-overshoot-smoothing".
[0115] Based on the above embodiments, as an optional embodiment, the method further includes: The target position data and the target attitude data are respectively compensated by independent parameters, and the compensation parameters include at least one of the lead gain compensation parameter, overshoot suppression compensation parameter and smoothing compensation parameter.
[0116] Specifically, in this embodiment, the robot's translational motion is in Euclidean linear space, with continuous and intuitive motion changes. Parameter tuning mainly focuses on balancing the response improvement brought by lead compensation with the small oscillations caused by overcompensation. However, attitude rotation belongs to manifold space motion, which is affected by quaternion interpolation, rotation vector transformation, and sampling noise, making it more prone to subtle jitter. If the parameters of the position data are directly reused, it is easy to cause serious attitude lag or aggravated rotational jitter. Therefore, this embodiment decouples the lead gain compensation parameters and smoothing compensation parameters of the position data and attitude data, and performs targeted tuning of the lead gain and smoothing intensity of the position data and attitude data respectively. Among them, the position data prioritizes ensuring the sensitivity of teleoperation translational tracking, while the attitude data focuses on suppressing high-frequency jitter of rotational output, taking into account both translational dynamic response and attitude motion smoothness. This avoids the situation where a single set of parameters cannot simultaneously meet the control requirements of both types of motion, and better adapts to the dual requirements of position accuracy and attitude stability for precise teleoperation tasks such as grasping and assembly.
[0117] This application embodiment, through the independent configuration of the position channel and the attitude channel, can adjust the compensation degree and output stability of the two types of motion according to the working scenario.
[0118] Figure 5 This application provides a schematic flowchart for decoupling compensation of position data and attitude data in an embodiment; as shown in the figure, the input is a special Euclidean group. The pose data frame contains position data and attitude data; where the attitude data is a unit quaternion; the pose data frame is decoupled to obtain position data and attitude data.
[0119] In some embodiments, position data undergoes motion identification, pose extrapolation, and lead-overshoot-smoothing three-dimensional orthogonal divide-and-conquer processing sequentially in three-dimensional Euclidean space; attitude data undergoes motion identification, attitude extrapolation, and lead-overshoot-smoothing three-dimensional orthogonal divide-and-conquer processing in the quaternion domain of the SO(3) rotation group. It should be noted that position data and attitude data are configured with independent parameters when performing three-dimensional orthogonal divide-and-conquer processing.
[0120] In some embodiments, after the two channels have completed the compensation process, the pose set point of SE(3) is resynthesized and the synthesized pose set point is sent to the robot.
[0121] This application embodiment uses a decoupled architecture to separately tune the parameters of position data and attitude data, avoiding the Euler angle gimbal singularity problem and ensuring continuous and smooth output attitude.
[0122] Based on the above embodiments, as an optional embodiment, the online identification adopts at least one of the following methods: recursive least squares method, Kalman filtering method, adaptive Kalman filtering method, and least squares sliding window fitting method.
[0123] Specifically, in this embodiment, the identification method is flexibly adapted according to the noise level, motion speed, and time-varying characteristics of different teleoperation conditions. Among them, the recursive least squares method has low computational cost and fast convergence speed, and is suitable for parameter iterative updates under normal stable motion conditions. The standard Kalman filter method can effectively suppress Gaussian sampling noise and improve the smoothness of the identification results. The adaptive Kalman filter method can correct the covariance of system noise and observation noise in real time, and adapt to the time-varying parameter identification requirements under complex variable conditions. The least squares sliding window fitting method effectively avoids interference from old and invalid data by limiting the historical data window, and improves the real-time performance and accuracy of identification in dynamic motion scenarios.
[0124] In this embodiment, the identification method is flexibly adapted according to the noise level, motion speed and time-varying characteristics of different teleoperation conditions, which can accurately and in real time complete the online identification of motion parameters, providing reliable parameter support for subsequent pose advance compensation, overshoot suppression compensation and output smoothing compensation.
[0125] Figure 6 This is a schematic diagram of the structure of a pose compensation device for a teleoperated robot provided in an embodiment of this application; as shown. Figure 6 As shown, the device includes: a first processing module 6001, a second processing module 6002, a third processing module 6003, and a fourth processing module 6004; wherein, The first processing module 6001 is used to acquire pose data frames acquired by the pose acquisition terminal and update the pose observation sliding window based on the pose data frames. The pose data frames include the operator's position data and pose data. The second processing module 6002 is used to identify motion parameters frame by frame based on the pose data frames in the pose observation sliding window, and obtain the updated motion parameters corresponding to each pose data frame. The third processing module 6003 is used to extrapolate the advance prediction time based on each pose data frame and the corresponding updated motion parameters, taking the acquisition time of the pose data frame as the starting time, to obtain the target pose; the advance prediction time corresponds to the pose data frame, and the advance prediction time is determined according to at least one of a preset value, a calibration value, and an online estimated value; the target pose includes the operator's target position data and target posture data; The fourth processing module 6004 is used to perform pose compensation on the target pose to obtain the compensated pose setpoint, and send the pose setpoint to the robot control terminal; the pose compensation includes independently configurable lead gain compensation, overshoot suppression compensation and output smoothing compensation, and the target position data and the target posture data are compensated respectively.
[0126] The pose compensation device for the teleoperated robot provided in this application embodiment can execute the pose compensation method for the teleoperated robot provided in this application embodiment. The implementation principle is similar. The actions performed by each module in the pose compensation device for the teleoperated robot provided in each embodiment of this application correspond to each step in the pose compensation method for the teleoperated robot provided in each embodiment of this application. For detailed functional descriptions of each module of the pose compensation device for the teleoperated robot, please refer to the descriptions in the corresponding methods shown above, which will not be repeated here.
[0127] This application embodiment performs motion recognition and advance extrapolation frame by frame, outputs the compensated pose setpoint, and forms a delay adaptive closed loop of "delay estimation, extrapolation duration calculation, and compensation output". This makes the predicted time match the expected execution time, and the compensation amount is dynamically adjusted according to the end-to-end measured delay. This solves the technical problem of "over-compensation and under-compensation" under delay fluctuations with a fixed advance amount, and improves the safety, operation accuracy and work efficiency of the teleoperated robot.
[0128] Figure 7 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application, such as... Figure 7 As shown, the electronic device 7000 includes a processor 7001 and a memory 7003. The processor 7001 and the memory 7003 are connected, for example, via a bus 7002. Optionally, the electronic device 7000 may further include a transceiver 7004, which can be used for data interaction between the electronic device and other electronic devices, such as sending and / or receiving data. It should be noted that in practical applications, the transceiver 7004 is not limited to one type, and the structure of the electronic device 7000 does not constitute a limitation on the embodiments of this application.
[0129] Processor 7001 may be a CPU (Central Processing Unit), a general-purpose processor, a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It can implement or execute the various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of this application. Processor 7001 may also be a combination that implements computing functions, such as including one or more microprocessor combinations, a combination of a DSP and a microprocessor, etc.
[0130] Bus 7002 may include a pathway for transmitting information between the aforementioned components. Bus 7002 may be a PCI (Peripheral Component Interconnect) bus or an EISA (Extended Industry Standard Architecture) bus, etc. Bus 7002 can be divided into address bus, data bus, control bus, etc. For ease of representation, Figure 7 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.
[0131] The memory 7003 may be ROM (Read Only Memory) or other types of static storage devices capable of storing static information and instructions, RAM (Random Access Memory) or other types of dynamic storage devices capable of storing information and instructions, or EEPROM (Electrically Erasable Programmable Read Only Memory), CD-ROM (Compact Disc-Read Only Memory) or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, digital universal optical discs, Blu-ray discs, etc.), magnetic disk storage media, other magnetic storage devices, or any other medium capable of carrying or storing computer programs and capable of being read by a computer, without limitation herein.
[0132] The memory 7003 is used to store computer programs that execute the embodiments of this application, and its execution is controlled by the processor 7001. The processor 7001 is used to execute the computer programs stored in the memory 7003 to implement the steps shown in the foregoing method embodiments.
[0133] Among them, electronic devices may include, but are not limited to, mobile terminals such as mobile phones, laptops, digital radio receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), and in-vehicle terminals (such as in-vehicle navigation terminals), as well as fixed terminals such as digital TVs and desktop computers. Figure 7 The electronic device shown is merely an example and should not be construed as limiting the functionality and scope of use of the embodiments disclosed herein.
[0134] This application provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, it can implement the steps and corresponding content of the aforementioned method embodiments.
[0135] It should be noted that the computer-readable medium described in this disclosure can be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this disclosure, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. In this disclosure, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium can be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wires, optical fibers, RF (radio frequency), etc., or any suitable combination thereof.
[0136] This application also provides a computer program product, including a computer program that, when executed by a processor, can implement the steps and corresponding content of the aforementioned method embodiments.
[0137] The terms "first," "second," "third," "fourth," "1," "2," etc. (if present) in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in a sequence other than that shown in the illustrations or text descriptions.
[0138] It should be understood that although arrows indicate various operation steps in the flowcharts of this application's embodiments, the order in which these steps are implemented is not limited to the order indicated by the arrows. Unless explicitly stated herein, in some implementation scenarios of this application's embodiments, the implementation steps in each flowchart can be executed in other orders as required. Furthermore, some or all steps in each flowchart, based on the actual implementation scenario, may include multiple sub-steps or multiple stages. Some or all of these sub-steps or stages can be executed at the same time, and each sub-step or stage can also be executed at different times. In scenarios where execution times differ, the execution order of these sub-steps or stages can be flexibly configured according to requirements, and this application's embodiments do not limit this.
[0139] The above are only optional implementation methods for some implementation scenarios of this application. It should be noted that for those skilled in the art, other similar implementation methods based on the technical concept of this application, without departing from the technical concept of this application, also fall within the protection scope of the embodiments of this application.
Claims
1. A pose compensation method for a teleoperated robot, characterized in that, The method includes: Acquire pose data frames collected by the pose acquisition terminal, and update the pose observation sliding window based on the pose data frames. The pose data frames include the operator's position data and pose data. Based on the pose data frames in the pose observation sliding window, the motion parameters are identified online frame by frame to obtain the updated motion parameters corresponding to each pose data frame. Based on each pose data frame and the corresponding updated motion parameters, the target pose is obtained by extrapolating the advance prediction time starting from the acquisition time of the pose data frame; the advance prediction time corresponds to the pose data frame, and the advance prediction time is determined according to at least one of a preset value, a calibration value, and an online estimated value; the target pose includes the operator's target position data and target posture data. The target pose is compensated to obtain the compensated pose setpoint, and the pose setpoint is sent to the robot control terminal. The pose compensation includes independently configurable lead gain compensation, overshoot suppression compensation, and output smoothing compensation. The target position data and the target posture data are compensated respectively.
2. The pose compensation method for a teleoperated robot according to claim 1, characterized in that, The motion parameters are identified frame by frame online based on the pose data frames in the pose observation sliding window to obtain the updated motion parameters corresponding to each pose data frame, including: Determine the acquisition timing of the pose data frames in the pose observation sliding window; Based on the acquisition timing, motion parameters are identified online using the position and attitude data of each pose data frame to obtain the updated motion parameters corresponding to each pose data frame.
3. The pose compensation method for a teleoperated robot according to claim 2, characterized in that, The method further includes: The upper and lower limits of the motion parameters are set, and the compensation parameters are dynamically adjusted according to the motion parameters; the compensation parameters include at least one of the lead gain compensation parameters, overshoot suppression compensation parameters, and smoothing compensation parameters; and, Set soft boundary constraints for the workspace of the compensated pose setting point.
4. The pose compensation method for a teleoperated robot according to claim 3, characterized in that, The lead gain compensation includes: The position data of each pose data frame is linearly interpolated with the target position data of the target pose corresponding to the pose data frame using the lead gain compensation parameter; and the attitude data of each pose data frame is spherically linearly interpolated with the target attitude data of the target pose corresponding to the pose data frame using the lead gain compensation parameter.
5. The pose compensation method for a teleoperated robot according to claim 4, characterized in that, The overshoot suppression compensation includes: Critical damping tracking is applied to the position and attitude data after gain compensation, and the limit of the motion parameters is tightened when a reversal of motion direction or crossing of the landing point is detected.
6. The pose compensation method for a teleoperated robot according to claim 5, characterized in that, The output smoothing compensation includes: The pose setpoint after overshoot suppression compensation is smoothed and filtered using the smoothing compensation parameters.
7. The pose compensation method for a teleoperated robot according to claim 6, characterized in that, The method further includes: The target position data and the target attitude data are respectively compensated by independent parameters, and the compensation parameters include at least one of the lead gain compensation parameter, overshoot suppression compensation parameter and smoothing compensation parameter.
8. The pose compensation method for a teleoperated robot according to any one of claims 1 to 7, characterized in that, The online identification employs at least one of the following methods: recursive least squares method, Kalman filtering method, adaptive Kalman filtering method, and least squares sliding window fitting method.
9. A pose compensation device for a teleoperated robot, characterized in that, The device includes: The first processing module is used to acquire pose data frames collected by the pose acquisition terminal and update the pose observation sliding window based on the pose data frames. The pose data frames include the operator's position data and pose data. The second processing module is used to identify motion parameters frame by frame based on the pose data frames in the pose observation sliding window, and obtain the updated motion parameters corresponding to each pose data frame. The third processing module is used to extrapolate the advance prediction time based on each pose data frame and the corresponding updated motion parameters, taking the acquisition time of the pose data frame as the starting time, to obtain the target pose; the advance prediction time corresponds to the pose data frame, and the advance prediction time is determined according to at least one of a preset value, a calibration value, and an online estimated value; the target pose includes the operator's target position data and target posture data; The fourth processing module is used to perform pose compensation on the target pose to obtain the compensated pose setpoint, and send the pose setpoint to the robot control terminal; the pose compensation includes independently configurable lead gain compensation, overshoot suppression compensation and output smoothing compensation, and the target position data and the target posture data are compensated respectively.
10. An electronic device comprising a memory, a processor, and a computer program stored in the memory, characterized in that, The processor executes the computer program to implement the method of any one of claims 1 to 8.
11. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the method of any one of claims 1 to 8.
12. A computer program product, characterized in that, Includes a computer program that, when executed by a processor, implements the method of any one of claims 1 to 8.
