Exoskeleton posture measurement method and system
By performing error compensation and dynamic fusion of inertial measurement data at the exoskeleton joints, and combining the kinematic constraints of the exoskeleton's mechanical structure with the geometric parameters of the links, the accuracy and stability issues of exoskeleton posture measurement in construction were solved, achieving high-precision posture measurement results that are adapted to the dynamic requirements of construction scenarios.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- LUOYANG YAHUI EXOSKELETON POWER TECH CO LTD
- Filing Date
- 2026-03-17
- Publication Date
- 2026-06-02
AI Technical Summary
Existing technologies for attitude measurement of exoskeletons used in building construction suffer from low attitude measurement accuracy and large cumulative errors, failing to meet the requirements of high-precision applications. In particular, they are insufficient in data processing in complex environments, failing to effectively deduct angular velocity drift components and correct acceleration installation errors, failing to combine dynamic allocation and fusion weight coefficients with the construction scenario, and lacking a systematic spatial pose transfer mechanism adapted to building construction scenarios.
Error compensation is performed on inertial measurement data at the exoskeleton joints to generate calibrated angular velocity and acceleration data. The fusion weight coefficients are dynamically allocated, and kinematic constraints between adjacent joints are established based on the exoskeleton's mechanical structure. The gyroscope's zero bias error is traced back and corrected. Spatial pose is transferred by combining link geometry parameters to ensure the accuracy and stability of attitude measurement.
It achieves high precision and stability in exoskeleton posture measurement in complex construction environments, provides reliable basic data support, ensures that posture measurement results are accurately adapted to the operational needs of building construction, and provides technical assurance for construction safety and efficiency.
Smart Images

Figure CN121881273B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of posture measurement technology, and in particular to an exoskeleton posture measurement method and system. Background Technology
[0002] Existing technologies have significant shortcomings in the basic data processing stage of posture measurement for exoskeletons used in construction. They fail to address the complex environments of construction sites, such as vibration and dust, by providing targeted error compensation for inertial measurement data at the exoskeleton joints. Furthermore, they fail to effectively deduct angular velocity drift components and correct for acceleration installation errors, resulting in prominent environmental interference and equipment deviations in the raw data. Additionally, they do not dynamically allocate fusion weight coefficients based on the varying intensity of work activities such as handling, climbing, and bricklaying in construction, instead using a fixed ratio to fuse angular velocity and acceleration data. This makes it difficult to adapt to the diverse levels of motion intensity in construction scenarios, thus compromising the accuracy of the initial posture data.
[0003] Existing technologies have significant shortcomings in the constraint optimization and error correction stages of posture measurement for construction exoskeletons. They fail to establish kinematic constraints between adjacent joints based on the load-bearing structure and operational characteristics of the exoskeleton, relying solely on single sensor data to derive posture, which easily leads to inconsistencies between joint postures and actual construction actions. Furthermore, they fail to correct gyroscope bias errors through optimal posture backtracking, ignoring the cumulative bias drift errors caused by prolonged operation during construction. Finally, they lack a systematic spatial pose transfer mechanism adapted to construction scenarios, failing to fully integrate exoskeleton link geometry parameters with construction trajectory for accurate calculations, resulting in significant deviations in the final posture measurement results and failing to meet the requirements for high-precision posture measurement and safe operation of construction exoskeletons. Summary of the Invention
[0004] In view of the shortcomings of the prior art, the purpose of this invention is to provide an exoskeleton posture measurement method and system, which can solve the technical problems of low posture measurement accuracy, large cumulative error and inability to meet the requirements of high-precision applications in the prior art.
[0005] A first aspect of this invention provides a method for measuring exoskeleton posture, comprising:
[0006] S1: Perform error compensation on the inertial measurement data at the joints of the exoskeleton to obtain the calibrated angular velocity data and calibrated acceleration data of the exoskeleton;
[0007] S2: Based on the degree of deviation between the calibration acceleration data and the preset gravity reference value, determine the intensity level of the exoskeleton's movement at the current moment, and dynamically allocate the contribution ratio of the calibration angular velocity data and the calibration acceleration data to obtain the fusion weight coefficient of the exoskeleton;
[0008] S3: Based on the fusion weighting coefficient, the calibration angular velocity data and calibration acceleration data are weighted and fused to obtain the preliminary posture quaternion of the exoskeleton;
[0009] S4: Based on the mechanical structure of the exoskeleton, establish the kinematic constraint relationship between adjacent joints, and map the initial posture quaternion to the kinematic constraint relationship to obtain the optimal joint posture quaternion of the exoskeleton;
[0010] S5: Based on the optimal joint posture quaternion, the gyroscope zero bias error in the inertial measurement data is traced back and corrected to obtain the compensated angular velocity data of the exoskeleton.
[0011] S6: Based on the compensated angular velocity data, spatial pose transfer is performed on the optimal joint pose quaternion and the link geometry parameters of the exoskeleton to obtain the pose measurement results of the exoskeleton.
[0012] A second aspect of the present invention provides an exoskeleton posture measurement system, comprising: a processor and a memory;
[0013] The memory stores programs or instructions that can run on the processor, which, when executed by the processor, implement the steps of the exoskeleton posture measurement method as described in the first aspect.
[0014] The beneficial effects of the technical solutions provided in the embodiments of the present invention include at least the following:
[0015] 1. This invention provides reliable basic data support for posture measurement of exoskeletons used in construction through precise data calibration and dynamic fusion. Error compensation is performed on the inertial measurement data at the exoskeleton joints, deducting angular velocity drift components and correcting acceleration installation errors to obtain high-precision calibration data adapted to the construction environment. Considering different work intensities during construction, the degree of motion intensity is determined based on the deviation of the calibrated acceleration from the preset gravity reference value. A fusion weighting coefficient is dynamically allocated, and the calibrated angular velocity and acceleration data are weighted and fused to generate accurate preliminary posture quaternions, ensuring the accuracy of the basic data for posture measurement in construction scenarios.
[0016] 2. This invention significantly improves the accuracy and stability of posture measurement for exoskeletons used in construction by leveraging constraint optimization and error correction. Based on the exoskeleton's mechanical structure, kinematic constraints between adjacent joints are established to adapt to the specific movement patterns of the exoskeleton during construction, such as load-bearing and flexion / extension. The initial posture quaternions are mapped into these constraints to obtain the optimal joint posture quaternions. By retrospectively tracing and correcting the gyroscope's zero-bias error, and combining link geometry parameters for spatial posture transfer, this invention comprehensively eliminates various error interferences caused by construction vibrations and complex movements, ensuring that the posture measurement results accurately meet the operational requirements of construction, thus providing technical support for construction safety and operational efficiency. Attached Figure Description
[0017] The accompanying drawings are for illustrative purposes only and are not intended to limit the invention. Throughout the drawings, the same reference numerals denote the same parts. Obviously, the drawings described below are merely some embodiments of the present invention, and those skilled in the art can obtain other drawings based on these drawings without any creative effort.
[0018] Figure 1 This is a flowchart illustrating an exoskeleton posture measurement method provided in an embodiment of the present invention.
[0019] Figure 2 This is a schematic diagram of the structure of an exoskeleton posture measurement system provided in an embodiment of the present invention. Detailed Implementation
[0020] To enable those skilled in the art to better understand the technical solutions in the embodiments of the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. It should be understood that these descriptions are merely exemplary and are not intended to limit the scope of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.
[0021] The exoskeleton posture measurement method provided by the present invention will be described in detail below with reference to the accompanying drawings, through specific embodiments and application scenarios.
[0022] Reference manual attached Figure 1 The diagram shows a flowchart of an exoskeleton posture measurement method provided by an embodiment of the present invention.
[0023] This invention provides an exoskeleton posture measurement method, which may include the following steps:
[0024] S1: Perform error compensation on the inertial measurement data at the joints of the exoskeleton to obtain the calibrated angular velocity data and calibrated acceleration data of the exoskeleton.
[0025] In one possible implementation, S1 specifically includes sub-steps S101 to S104:
[0026] S101: Place the exoskeleton in a stationary state and collect inertial measurement data at the joints of the exoskeleton output by the inertial sensor. The inertial measurement data includes raw angular velocity data and raw acceleration data.
[0027] S102: Perform zero-bias stability analysis on the raw angular velocity data and extract the slowly changing drift component from the raw angular velocity data.
[0028] S103: Subtract the slowly changing drift component from the original angular velocity data to obtain the calibrated angular velocity data of the exoskeleton.
[0029] S104: Perform installation error analysis on the original acceleration data to correct the coordinate system alignment of the original acceleration data and obtain the calibration acceleration data of the exoskeleton.
[0030] Specifically, the exoskeleton used in construction is placed on a stable, level platform free from vibration and external interference. This ensures that the joints of the exoskeleton do not move and remain stationary. Inertial sensors pre-installed at the joints are activated, continuously sensing the joint's motion and outputting relevant data. Raw data collected over a preset period of 5 to 30 seconds is used as inertial measurement data. This data is the direct output of the inertial sensors in a stationary state. The raw angular velocity data is the joint angular velocity information detected by the sensors, and the raw acceleration data is the joint acceleration information detected by the sensors. For example, at the elbow joint of the stationary exoskeleton, the angular velocity and acceleration data collected by the sensors are the raw angular velocity and raw acceleration data.
[0031] Furthermore, statistical analysis is performed on the collected raw angular velocity data. Using the theoretical angular velocity of the exoskeleton in a static standby state during construction as a baseline (zero), the average of multiple sets of raw angular velocity data is calculated. This average is taken as the slowly varying drift component of the raw angular velocity data under the current static conditions. Alternatively, low-pass filtering is used, employing a first- or second-order low-pass filter with a cutoff frequency of 0.1Hz to 1Hz to filter out instantaneous noise and high-frequency fluctuations, obtaining a slowly varying offset over time, which is the slowly varying drift component. This component is obtained through static statistical and filtering analysis of the raw angular velocity data.
[0032] Furthermore, based on the extracted slowly changing drift component, the original angular velocity data is corrected point by point. The sampled value at each moment in the original angular velocity data is subtracted from the corresponding slowly changing drift component to eliminate the influence of sensor zero bias drift and slight interference from the construction environment on the original angular velocity data. This makes the corrected angular velocity data approach the theoretical zero value, which can accurately reflect the true angular velocity state of the joint when the exoskeleton is stationary. The data obtained after this correction process is the calibrated angular velocity data of the exoskeleton.
[0033] Furthermore, installation error analysis is performed on the raw acceleration data. Considering the operational characteristics of exoskeletons used in construction, standard attitude calibration equipment such as levels, inclinometers, or coordinate measuring machines is used to measure the pitch, roll, and yaw angles between the mounting plane of the inertial sensor and the reference plane of the exoskeleton joint. This determines the deviation between the actual and theoretical mounting posture of the inertial sensor at the joint, obtaining the rotation angle and axial offset of the sensor coordinate system relative to the exoskeleton joint coordinate system. Based on these angles and offsets, a rotation or transformation matrix between the coordinate systems is established. This transformation matrix is then used to perform coordinate transformation on the raw acceleration data, converting the raw acceleration data from the sensor coordinate system to the exoskeleton joint coordinate system. This achieves coordinate system alignment correction of the acceleration data, ensuring that the acceleration data is consistent with the actual movement direction of the joint. The data obtained after this alignment correction is the calibrated acceleration data of the exoskeleton.
[0034] In this embodiment of the invention, inertial measurement data in a stationary state is accurately collected to provide clean basic data for error compensation and avoid motion interference.
[0035] Extract and subtract the slowly changing drift component from the raw angular velocity data to eliminate the influence of zero-bias drift and improve the accuracy of the angular velocity data.
[0036] Analyze the installation errors of the original acceleration data and perform coordinate system alignment correction to ensure that the direction of the acceleration data is consistent with the actual joint movement.
[0037] Through comprehensive error compensation, high-precision calibrated angular velocity and calibrated acceleration data are generated, laying a solid data foundation for subsequent attitude measurement and ensuring overall measurement accuracy.
[0038] S2: Based on the degree of deviation between the calibration acceleration data and the preset gravity reference value, determine the intensity level of the exoskeleton's movement at the current moment, and dynamically allocate the contribution ratio of the calibration angular velocity data and the calibration acceleration data to obtain the exoskeleton's fusion weight coefficient.
[0039] It should be noted that those skilled in the art can set the preset gravity reference value according to actual needs, and this invention does not limit this.
[0040] In one possible implementation, S2 specifically includes sub-steps S201 to S205:
[0041] S201: Perform a difference analysis between the modulus of the current calibration acceleration data and the modulus of the preset gravity reference value to obtain the acceleration modulus deviation of the exoskeleton.
[0042] S202: Arrange the acceleration modulus deviation in chronological order to construct a fluctuation characteristic sequence that reflects the characteristics of acceleration fluctuation.
[0043] S203: Perform statistical analysis on the fluctuation characteristic sequence and extract the time-domain statistical features of the fluctuation characteristic sequence. The time-domain statistical features include the root mean square value and variance of the sequence.
[0044] S204: Compare the root mean square value and variance value with the exoskeleton's intensity level threshold range step by step, and determine the current intensity level of the exoskeleton's movement based on the comparison results.
[0045] It should be noted that those skilled in the art can set the size of the severity level threshold range according to actual needs, and this invention does not limit it.
[0046] S205: Generate the exoskeleton fusion weight coefficient based on the intensity level of the exercise.
[0047] Specifically, the calibration acceleration data of the construction exoskeleton obtained through error compensation is retrieved. This data is derived from the original acceleration data after installation error correction, adapting to the correction requirements of sensor installation deviations in the construction scenario. At the same time, a preset gravity reference value is determined. This value is the modulus corresponding to the standard gravitational acceleration on the Earth's surface, specifically 9.8 meters per second squared. The value is based on the internationally recognized standard value of gravitational acceleration on the Earth's surface, fitting the actual scenario of the exoskeleton's use on the Earth's surface. The difference between the modulus of the calibration acceleration data at the current moment and the modulus of the preset gravity reference value is directly calculated. The difference between the two is the acceleration modulus deviation of the exoskeleton. The data source for this deviation is the difference analysis results between the modulus of the calibration acceleration data at the current moment and the modulus of the preset gravity reference value.
[0048] Furthermore, the acceleration modulus deviations calculated each time are arranged sequentially according to the time of collection to form a continuous sequence of data. This sequence completely records the changes in acceleration modulus deviations at different times, which can intuitively reflect the fluctuation pattern of acceleration during the exoskeleton's construction movements. Thus, a fluctuation feature sequence reflecting the characteristics of acceleration fluctuations is constructed. The data source of this sequence is the set of acceleration modulus deviations arranged in chronological order.
[0049] Furthermore, a comprehensive statistical analysis is performed on the constructed fluctuation characteristic sequence. First, the square of all values in the sequence is calculated, then the average of these squares is obtained, and then the root of the average is taken to obtain the root mean square value of the sequence. At the same time, the difference between each value in the sequence and the average of the sequence is calculated, and the average of each difference is taken to obtain the variance of the sequence. The root mean square value and the variance value together constitute the time-domain statistical characteristics of the fluctuation characteristic sequence. The data source for these time-domain statistical characteristics is the statistical analysis results of the fluctuation characteristic sequence.
[0050] Furthermore, a threshold range for the intensity level of the exoskeleton used in construction is pre-defined. This range is set based on the acceleration fluctuation pattern of the exoskeleton under different movement states during construction, and conforms to the characteristics of different movement intensities in actual use scenarios. Specifically, the threshold ranges are set as follows: a root mean square value less than 0.2 and a variance value less than 0.04 corresponds to a low intensity level; a root mean square value between 0.2 and 0.5 and a variance value between 0.04 and 0.25 corresponds to a medium intensity level; and a root mean square value greater than 0.5 and a variance value greater than 0.25 corresponds to a high intensity level. The calculated root mean square value and variance value are compared step by step with these threshold ranges. First, the low intensity level threshold range is compared, and then the medium and high intensity level threshold ranges are compared in turn. When both the root mean square value and the variance value fall within a certain threshold range, the level corresponding to that threshold range is the intensity level of the exoskeleton at the current moment. The data source for the intensity level is the result of step-by-step comparison between the root mean square value and the variance value and the intensity level threshold range.
[0051] Furthermore, based on the determined level of exercise intensity, the corresponding fusion weight coefficients are matched. When the exercise intensity level is low, the contribution ratio of calibrated angular velocity data is 70%, and the contribution ratio of calibrated acceleration data is 30%. When the exercise intensity level is medium, the contribution ratio of calibrated angular velocity data is 50%, and the contribution ratio of calibrated acceleration data is 50%. When the exercise intensity level is high, the contribution ratio of calibrated angular velocity data is 30%, and the contribution ratio of calibrated acceleration data is 70%. For example, when the exoskeleton is walking slowly, it corresponds to a low level of exercise intensity, and angular velocity data has a higher weight; when running fast, it corresponds to a high level of exercise intensity, and acceleration data has a higher weight. The resulting weight coefficients that adapt to the current motion state are the exoskeleton's fusion weight coefficients, and the data source for these coefficients is the matching results based on the exercise intensity level.
[0052] In this embodiment of the invention, by analyzing the difference in magnitude between the calibrated acceleration data and the preset gravity reference value, the core characteristics of acceleration fluctuations are accurately captured, providing a direct basis for determining the intensity of motion.
[0053] By constructing a wave characteristic sequence and extracting time-domain statistical features, the intensity and regularity of acceleration wave fluctuations can be fully reflected, ensuring the objectivity and accuracy of the level determination.
[0054] By comparing threshold ranges step by step to determine the intensity level of exercise, the system can accurately classify exercise states and adapt to the measurement needs of different exercise scenarios.
[0055] By dynamically allocating fusion weights based on the intensity of the movement, the contribution ratio of calibration angular velocity and acceleration data is made to match the actual movement state, thereby improving the accuracy of subsequent posture quaternion fusion and laying a solid foundation for exoskeleton posture measurement.
[0056] S3: Based on the fusion weighting coefficient, the calibration angular velocity data and calibration acceleration data are weighted and fused to obtain the preliminary posture quaternion of the exoskeleton.
[0057] In one possible implementation, S3 specifically includes sub-steps S301 to S305:
[0058] S301: Integrate the calibration angular velocity data at the current moment to obtain the angular change of the calibration angular velocity data, and convert the angular change into a rotation vector of the calibration angular velocity data.
[0059] S302: Perform a quaternion multiplication operation between the rotation vector and the pose quaternion from the previous time step to obtain the predicted pose quaternion of the exoskeleton.
[0060] S303: Perform vector analysis on the calibration acceleration data at the current moment, extract the gravity direction information from the calibration acceleration data, and compare the gravity direction information with the gravity direction component represented by the predicted attitude quaternion to obtain the direction deviation of the exoskeleton.
[0061] S304: Based on the fusion weight coefficient, the directional deviation is proportionally allocated, and the allocated directional deviation is converted into the corrected rotation vector of the exoskeleton.
[0062] S305: Perform a quaternion multiplication operation between the corrected rotation vector and the predicted pose quaternion to obtain the preliminary pose quaternion of the exoskeleton.
[0063] Specifically, the calibration angular velocity data of the construction exoskeleton obtained through error compensation is retrieved. This data is the correction result after deducting slowly changing drift components from the original angular velocity data, adapting to the correction requirements of sensor zero-bias drift and environmental interference in the construction scenario. The calibration angular velocity data at the current moment is integrated, with a fixed time interval set to 0.01 seconds. This value is determined based on the sampling frequency of the exoskeleton's inertial sensor and the real-time requirements of attitude calculation. The cumulative effect of the calibration angular velocity data within this time interval is accumulated to obtain the angle change corresponding to the calibration angular velocity data. Then, through attitude representation conversion rules, the angle change is converted into a rotation vector that can describe the rotational attitude. The data source of this rotation vector is the result of the calibration angular velocity data after integration and conversion.
[0064] Furthermore, the pose quaternion of the exoskeleton determined in the previous moment is retrieved. This data comes from the pose representation result obtained after weighted fusion in the previous moment. The converted rotation vector is converted into the corresponding quaternion form, and then a quaternion multiplication operation is performed with the pose quaternion of the previous moment. The operation follows the combination rules of quaternion multiplication. The components of the two quaternions are multiplied according to the corresponding rules and summed to obtain the quaternion that can predict the current pose. This quaternion is the predicted pose quaternion of the exoskeleton. The data source is the result of the multiplication operation between the quaternion corresponding to the rotation vector and the pose quaternion of the previous moment.
[0065] Furthermore, the calibration acceleration data of the exoskeleton obtained through error compensation in the previous stage is retrieved. This data comes from the conversion result of the original acceleration data after installation error correction. Vector analysis is performed on the calibration acceleration data at the current moment. By distinguishing between the motion acceleration component and the gravitational acceleration component in the acceleration data, the gravity direction information that only reflects the direction of gravity is extracted. At the same time, the preset gravity direction component is identified. This component is the standard direction representation of the gravitational acceleration on the Earth's surface. The extracted gravity direction information is compared with the preset gravity direction component one by one, and the degree of deviation between the two in each direction is calculated. The quantitative result of the deviation is the directional deviation of the exoskeleton. The data source is the deviation comparison result between the gravity direction information and the gravity direction component.
[0066] Furthermore, the fusion weight coefficients of the exoskeleton, which were previously determined based on the intensity of the exercise, are retrieved. This data comes from the matching results based on the intensity of the exercise. According to the proportions specified by the fusion weight coefficients, the directional deviation is divided into two parts: one part corresponds to the contribution proportion of the calibration angular velocity data, and the other part corresponds to the contribution proportion of the calibration acceleration data. Then, based on the conversion relationship between the rotation vector and the deviation, the allocated directional deviation is converted into a correction rotation vector that can be used for attitude correction. The data source for this correction rotation vector is the result of the directional deviation after proportional allocation and conversion.
[0067] Furthermore, the obtained corrected rotation vector is converted into its corresponding quaternion form and multiplied by the previously obtained predicted attitude quaternion. The operation strictly follows the quaternion multiplication rules to ensure the accuracy of each component. The attitude correction amount corresponding to the corrected rotation vector is incorporated into the predicted attitude quaternion through the multiplication operation to obtain the corrected attitude quaternion. This attitude quaternion is the initial attitude quaternion of the exoskeleton. The data source is the result of the multiplication operation between the quaternion corresponding to the corrected rotation vector and the predicted attitude quaternion.
[0068] In this embodiment of the invention, the calibration angular velocity data is converted into a rotation vector through integral operation and vector transformation, accurately capturing joint angle changes and providing dynamic motion basis for attitude prediction.
[0069] By combining the attitude quaternion from the previous moment with quaternion multiplication, the temporal continuity and prediction of attitude are realized, ensuring the continuity and timeliness of the initial attitude.
[0070] Gravity direction information is extracted from calibration acceleration data and the direction deviation is calculated to provide a precise direction reference for attitude correction and to compensate for the cumulative deviation that may be caused by angular velocity integration.
[0071] The directional deviation is allocated based on the fusion weight coefficient and converted into a correction rotation vector, so that the attitude correction adapts to the current motion state and enhances the contribution of effective data.
[0072] By modifying the fusion of the rotation vector and the predicted attitude quaternion, a preliminary attitude quaternion that takes into account both dynamic motion and orientation calibration is obtained, which improves the accuracy of attitude representation and lays the foundation for subsequent constraint optimization.
[0073] S4: Based on the mechanical structure of the exoskeleton, establish the kinematic constraint relationship between adjacent joints, and map the initial posture quaternion to the kinematic constraint relationship to obtain the optimal joint posture quaternion of the exoskeleton.
[0074] In one possible implementation, establishing the kinematic constraint relationship between adjacent joints based on the mechanical structure of the exoskeleton in step S4 specifically includes sub-steps S401 to S405:
[0075] S401: Obtain the mechanical structure parameters of the exoskeleton.
[0076] S402: Construct a joint local coordinate system with the direction of the joint's rotation axis in the mechanical structure parameters as the coordinate axis direction and the position of the joint's axis center as the coordinate origin.
[0077] S403: Determine the initial coordinate transformation relationship between the local coordinate systems of adjacent joints based on the link length and link offset between adjacent joints in the mechanical structure parameters.
[0078] S404: Determine the type of kinematic constraint between adjacent joints based on the joint connection type.
[0079] S405: Based on the initial coordinate transformation relationship and kinematic constraint type, construct the kinematic constraint relationship between adjacent joints.
[0080] In one possible implementation, S404 specifically includes sub-steps S4041 to S4044:
[0081] S4041: Obtain the connection type information of the current joint in the exoskeleton.
[0082] S4042: When the connection type information indicates that the current joint is a rotary joint, the kinematic constraint type between the two adjacent links connected to the current joint is determined to be a rotary constraint.
[0083] S4043: When the connection type information indicates that the current joint is a translational joint, the kinematic constraint type between the two adjacent links connected to the current joint is determined to be a translational constraint.
[0084] S4044: Assigns the kinematic constraint type to the current joint, which serves as the basis for the constraint type when constructing kinematic constraint relationships between adjacent joints.
[0085] In one possible implementation, mapping the initial pose quaternion to kinematic constraints in S4 to obtain the optimal joint pose quaternion of the exoskeleton specifically includes substeps S406 to S410:
[0086] S406: Obtain the initial posture quaternion of the exoskeleton and the kinematic constraints.
[0087] S407: Based on the joint sequence and link coordinate system of the exoskeleton, perform inverse kinematics calculation on the preliminary attitude quaternion to obtain the joint local attitude quaternion.
[0088] S408: Substitute the quaternions of the local joint postures into the kinematic constraint relations in sequence, and perform constraint compliance checks on adjacent joints to obtain the adjacent posture deviation of the joints.
[0089] S409: Based on the adjacent posture deviation, the joint local posture quaternion is coordinated and adjusted to obtain the adjusted joint local posture quaternion of the exoskeleton.
[0090] S410: Combine the adjusted joint local pose quaternions according to the joint sequence to obtain the optimal joint pose quaternions for the exoskeleton.
[0091] Specifically, the mechanical structural parameters of the exoskeleton are obtained by consulting design drawings, measuring physical objects, and retrieving technical specifications. These parameters include core information such as the direction of the joint rotation axis, the position of the joint axis, the length of the connecting rod between adjacent joints, the rod offset, and the connection type of the joint. The data sources are the exoskeleton design documents, physical measurement results, and official technical parameter descriptions. For example, the actual length of the connecting rod between the knee and hip joints is measured, and the orientation of the rotation axis of the hip joint is determined.
[0092] Furthermore, by using the direction of the joint's rotation axis in the obtained mechanical structure parameters as the positive or negative direction of the coordinate axis, the spatial orientation of the coordinate axis is clarified. At the same time, the position of the joint's axis center is set as the origin of the coordinate system to establish a three-dimensional spatial coordinate system. This coordinate system is only for a single joint and is used to describe the joint's own motion state and relative position relationship. Thus, a joint local coordinate system is constructed. The data source of this coordinate system is the direction of the joint's rotation axis and the position of its axis center in the mechanical structure parameters. For example, the rotation axis of the elbow joint is taken as a certain coordinate axis direction, and the elbow joint axis center is taken as the origin to establish a local coordinate system for the elbow joint.
[0093] Furthermore, based on the link length and link offset between adjacent joints in the mechanical structure parameters, the straight-line distance and spatial offset from the axis of one joint to the axis of the adjacent joint are determined. Combining the operational force characteristics of the exoskeleton used in construction, the translation and rotation between the local coordinate systems of two adjacent joints are calculated through the basic rules of coordinate transformation. These translation and rotation together constitute the initial coordinate transformation relationship between the local coordinate systems of adjacent joints. This relationship can reflect the relative position and posture of adjacent joints in the non-moving state. The data source is the link length, link offset information and coordinate transformation derivation results in the mechanical structure parameters. For example, based on the link length and offset of the thigh, the initial translation and rotation relationship between the local coordinate system of the hip joint and the local coordinate system of the knee joint is determined.
[0094] Furthermore, the kinematic constraint type between adjacent joints is determined based on the joint connection type. If the joint is a rotary joint, its kinematic constraint type allows rotational movement only around a specific axis, restricting translation and rotation in other directions. If the joint is a ball joint, its kinematic constraint type allows rotational movement around three orthogonal axes, restricting translational movement. If the joint is a kinetic joint, its kinematic constraint type allows translational movement only along a specific direction, restricting rotation and translation in other directions. The data source for the kinematic constraint type is the joint connection type information in the mechanical structure parameters. For example, the knee joint is a rotary joint, and its constraint type allows rotation only around a specific axis.
[0095] Furthermore, based on the determined initial coordinate transformation relationship, and combined with the kinematic constraint types between adjacent joints, the constraints on the relative position and posture changes of adjacent joints during movement are clarified by integrating the constraint conditions and coordinate transformation rules. A constraint model that can regulate the range of motion and movement relationship of adjacent joints is constructed. This model is the kinematic constraint relationship between adjacent joints. The data source is the integrated result of the initial coordinate transformation relationship and the kinematic constraint type. For example, based on the initial coordinate transformation relationship between the hip joint and the knee joint and the rotation constraint type of the knee joint, a kinematic constraint relationship is constructed that only allows the knee joint to rotate around a specific axis.
[0096] Furthermore, by reviewing the exoskeleton's design drawings and technical specifications, and by disassembling and observing the actual joint structure, information on the connection type of the current joint in the exoskeleton can be obtained. This information clearly indicates whether the joint connection method is rotation around a specific axis or translation along a specific direction. The data sources are the exoskeleton's design documents, official technical parameter descriptions, and observation results of the actual joint structure. For example, by observing the connection structure of the knee joint, it was found that it can only rotate around a fixed axis, thus obtaining its connection type information.
[0097] Furthermore, the connection type information of the current joint is determined. When the information clearly indicates that the joint is a rotary joint, the kinematic constraint type between the two adjacent links connected to the joint is determined to be a rotational constraint, based on the structural characteristics of the rotary joint. This constraint type restricts the two adjacent links to only rotate relative to each other around the fixed rotation axis of the joint. They cannot translate relative to each other in any direction, nor can they rotate around other axes. For example, the elbow joint is a rotary joint, and the upper arm link and the forearm link connected to it can only rotate relative to each other around the rotation axis of the elbow joint. Therefore, the constraint type is a rotational constraint.
[0098] Furthermore, when the obtained connection type information clearly indicates that the joint is a translational joint, based on the structural design characteristics of the translational joint, the kinematic constraint type between the two adjacent links connected to the joint is determined to be a translational constraint. This constraint type stipulates that the two adjacent links can only move relative to each other along the preset translational direction of the joint, and cannot rotate relative to each other in any direction, nor can they translate in other directions. For example, the telescopic joint of the waist of the exoskeleton is a translational joint, and the torso link and the lower limb link connected to it can only translate relative to each other in the vertical direction. The constraint type is a translational constraint.
[0099] Furthermore, the determined kinematic constraint type is bound to the current joint, and the constraint type is explicitly assigned to the current joint, making it the core constraint type basis when constructing kinematic constraint relationships between adjacent joints in the future. This ensures that the kinematic constraint relationships constructed in the future can accurately fit the actual motion characteristics of the joint. The data source for this constraint type basis is the kinematic constraint type result determined based on the joint connection type information.
[0100] Furthermore, the preliminary attitude quaternion of the exoskeleton, obtained by weighted fusion of calibration angular velocity data and calibration acceleration data, is retrieved. This data is derived from the multiplication result of the quaternion corresponding to the corrected rotation vector and the predicted attitude quaternion. At the same time, the kinematic constraint relationship established based on the exoskeleton's mechanical structure is retrieved. This data is derived from the integration result of the initial coordinate transformation relationship and the kinematic constraint type, ensuring that the two types of data fully cover the attitude representation and motion restriction requirements of the exoskeleton.
[0101] Furthermore, the joint sequence of the exoskeleton is clarified, which is determined according to the connection order from the trunk to the limb extremities. At the same time, the link coordinate system corresponding to each joint is identified. Using the link coordinate system as a reference, the inverse kinematics solution of the preliminary posture quaternion is performed. In the solution process, the correlation between the overall posture of the exoskeleton and the local posture of each joint is derived by reverse deduction. The overall preliminary posture quaternion is decomposed into the independent posture representation of each joint, and the local posture quaternion corresponding to each joint is obtained. This data comes from the decomposition result of the preliminary posture quaternion after inverse kinematics solution. For example, the overall posture quaternion of the lower limb exoskeleton is decomposed into the local posture quaternions of the hip joint, knee joint, and ankle joint.
[0102] Furthermore, following the joint sequence, the quaternion of the local posture of each joint is substituted into the kinematic constraint relationship in turn, and the local posture of adjacent joints is verified one by one to see if they meet the constraint requirements. If the relative motion of adjacent joints meets the motion range and motion mode defined by the constraint type, it is determined to meet the constraint. If there is a situation that exceeds the constraint range or violates the constraint type, the degree of deviation between the local postures of adjacent joints is calculated to obtain the deviation of the adjacent postures of the joints. The data source of this deviation is the conformity test result of the joint local posture quaternion and the kinematic constraint relationship.
[0103] Furthermore, based on the obtained adjacent posture deviations, the corresponding joint local posture quaternions are collaboratively adjusted. During the adjustment process, the goal is to eliminate adjacent posture deviations. Without violating the kinematic constraints, the local posture quaternions of related joints are simultaneously corrected to ensure that the relative postures of adjacent joints after adjustment meet the constraint requirements, while maintaining the rationality of the overall posture of the exoskeleton. The joint local posture quaternions obtained after adjustment are the adjusted joint local posture quaternions of the exoskeleton. The data source is the joint local posture quaternions after collaborative adjustment based on adjacent posture deviations.
[0104] Furthermore, according to the joint sequence of the exoskeleton, all the adjusted joint local pose quaternions are combined in an orderly manner so that the combined set of quaternions can completely and accurately represent the pose of each joint of the exoskeleton, and the poses of each joint satisfy the kinematic constraint relationship. The complete set of pose quaternions is the optimal joint pose quaternion of the exoskeleton. This data comes from the combination result of the adjusted joint local pose quaternions according to the joint sequence.
[0105] In this embodiment of the invention, the mechanical structural parameters of the exoskeleton are accurately obtained, providing comprehensive and reliable basic data support for the establishment of kinematic constraint relationships, and ensuring that the constraint relationships are fully adapted to the actual structure of the exoskeleton.
[0106] A local coordinate system for the joint is constructed using the direction of the joint rotation axis and the position of the axis center. This coordinate system can accurately fit the joint motion characteristics, providing a precise spatial reference for subsequent coordinate transformation and constraint determination.
[0107] The initial coordinate transformation relationship of the local coordinate system of adjacent joints is determined based on the link length and link offset, clarifying the relative position and attitude between joints in the non-moving state, thus laying the spatial position foundation for the construction of constraint relationship.
[0108] Kinematic constraint types are classified according to the joint connection type, so that the constraint type is strictly matched with the actual joint movement capacity, and unreasonable constraints that exceed the allowable range of the mechanical structure are avoided.
[0109] By integrating the initial coordinate transformation relationship with the kinematic constraint type to construct the kinematic constraint relationship, the spatial positional relationship between joints is clarified, and the reasonable range and mode of motion are limited. This effectively avoids contradictory or unreasonable joint postures, provides a scientific constraint basis for subsequent posture optimization, and improves the rationality and accuracy of exoskeleton posture measurement.
[0110] Accurately obtaining the connection type information of the current joint provides a direct and reliable basis for determining the kinematic constraint type, ensuring that the constraint type is completely matched with the actual structural characteristics of the joint.
[0111] For rotary joints, the constraint type is clearly determined to be rotational constraint, and adjacent links are strictly limited to rotating relative to each other around a fixed axis to avoid translation or rotation in other directions that exceed the mechanical structure's allowable range, thus ensuring the specificity and rationality of the constraint.
[0112] For translational joints, the constraint type is accurately determined to be translational constraint. Adjacent links can only translate relative to each other in a preset direction, eliminating unreasonable rotational movements and ensuring that the constraint fully matches the joint's motion capability.
[0113] Assigning the determined kinematic constraint type to the current joint provides a clear and unified basis for constructing kinematic constraint relationships between adjacent joints, ensuring the consistency and accuracy of the overall constraint relationship construction, and thus improving the rationality and accuracy of exoskeleton posture measurement.
[0114] Simultaneously acquire the initial posture quaternion and kinematic constraint relationship to provide complete basic data and constraint basis for posture optimization, ensuring that the optimization process not only conforms to the previous fusion results, but also meets the mechanical structure limitations of the exoskeleton.
[0115] By decomposing the initial attitude quaternion into joint local attitude quaternions through inverse kinematics calculation, the overall attitude is accurately decomposed into the attitude of individual joints, providing a targeted object for joint-by-joint constraint verification and adjustment.
[0116] By substituting the quaternions of local joint postures into the kinematic constraint relationship for compliance testing, the deviation of adjacent joint postures from the constraint requirements is accurately identified, and the quantified adjacent posture deviation is obtained, providing a clear target for posture correction.
[0117] Based on the adjacent posture deviation, the local posture quaternion of the joint is coordinated and adjusted. Under the premise of satisfying kinematic constraints, the posture of related joints is optimized simultaneously, avoiding the overall posture contradiction caused by the adjustment of a single joint, and ensuring that the posture of each joint is coordinated and reasonable.
[0118] After adjusting the joint local posture quaternions by combining them in sequence, a complete and optimal joint posture quaternion that conforms to mechanical constraints is formed. This effectively eliminates unreasonable components in the initial posture, improves the accuracy and reliability of posture representation, and lays a solid foundation for subsequent error correction and pose transfer.
[0119] S5: Based on the optimal joint posture quaternion, the gyroscope zero bias error in the inertial measurement data is traced back and corrected to obtain the compensated angular velocity data of the exoskeleton.
[0120] In one possible implementation, S5 specifically includes sub-steps S501 to S506:
[0121] S501: Extract the raw angular velocity data corresponding to the optimal joint attitude quaternion from the inertial measurement data, and use the optimal joint attitude quaternion as the reference attitude quaternion at the current moment.
[0122] S502: Perform time difference calculation on the reference attitude quaternion to obtain the theoretical angular velocity data of the exoskeleton.
[0123] S503: Compare the theoretical angular velocity data with the original angular velocity data point by point according to the corresponding time to obtain the instantaneous deviation value of the exoskeleton's angular velocity, and construct the angular velocity deviation sequence of the exoskeleton in chronological order.
[0124] S504: Perform sliding window averaging on the angular velocity deviation sequence to obtain the gyroscope zero bias error estimate of the exoskeleton.
[0125] S505: Perform a difference calculation between the raw angular velocity data and the gyroscope's zero bias error estimate to obtain the exoskeleton's preliminary compensated angular velocity data.
[0126] S506: Remove outliers from the initial compensated angular velocity data and interpolate and fill the initial compensated angular velocity data using the effective values at adjacent times to obtain the compensated angular velocity data of the exoskeleton.
[0127] Specifically, inertial measurement data collected by the exoskeleton inertial sensors is retrieved. This data comes from the direct perception of the joint motion state by the sensors. The original angular velocity data at the moment corresponding to the optimal joint posture quaternion is selected from this data to ensure a complete match in the time dimension. At the same time, the optimal joint posture quaternion obtained in the previous step is determined as the reference posture quaternion at the current moment. The data source of this reference posture quaternion is the combination result of the adjusted local joint posture quaternion in the joint sequence, which provides an accurate posture reference for subsequent theoretical angular velocity calculation.
[0128] Furthermore, time difference operations are performed on the reference posture quaternion at fixed time intervals. During the operation, the change in the reference posture quaternion at adjacent moments is calculated, and the rate of posture change per unit time is derived by combining the time interval. This rate is the theoretical angular velocity data of the exoskeleton. The data source is the derivation result of the reference posture quaternion after time difference operation, which can reflect the angular velocity characteristics of the exoskeleton under ideal error-free conditions. For example, the theoretical angular velocity of the hip joint during the time interval can be calculated by using the hip joint reference posture quaternion at two consecutive moments.
[0129] Furthermore, the theoretical angular velocity data is compared point by point with the original angular velocity data at the corresponding moment, and the numerical difference between the two is calculated at each moment. The difference result at each moment is the instantaneous angular velocity deviation value of the exoskeleton. Then, all the instantaneous angular velocity deviation values are arranged in chronological order to construct an angular velocity deviation sequence that can completely reflect the change law of angular velocity deviation over time. The data source of this sequence is the point-by-point comparison result between the theoretical angular velocity data and the original angular velocity data.
[0130] Furthermore, a sliding window averaging method is used to process the constructed angular velocity deviation sequence. The specific size of the sliding window is set to the number of consecutive sampling points, which is fixed at fifty sampling points. The value is based on the sampling frequency of the inertial sensor and the slow change characteristics of the zero bias error, which can effectively smooth instantaneous fluctuation interference. In the processing, starting from the beginning of the angular velocity deviation sequence, continuous deviation values are extracted with fifty sampling points as the fixed window size. The arithmetic mean of all deviation values within the window is calculated. Then, the window is slid one sampling point forward along the sequence, and the above averaging calculation operation is repeated until the entire angular velocity deviation sequence is completely covered. The series of average values obtained are the estimated values of the gyroscope zero bias error of the exoskeleton. The data source is the result of the angular velocity deviation sequence after sliding window averaging.
[0131] Furthermore, the difference between each value in the original angular velocity data and the corresponding gyroscope zero-bias error estimate is calculated. By subtracting the zero-bias error component contained in the original angular velocity data, angular velocity data with preliminary zero-bias interference is obtained. This data is the preliminary compensation angular velocity data of the exoskeleton, and its data source is the result of the difference calculation between the original angular velocity data and the gyroscope zero-bias error estimate.
[0132] Furthermore, statistical analysis methods are used to detect outliers in the preliminary compensated angular velocity data. By judging the degree of deviation of each data point from the overall data distribution, outliers that exceed the reasonable range are identified and removed. Then, valid data from adjacent time points before and after the outliers are selected, and linear interpolation is used to fill the gaps at the locations of the outliers, ensuring the continuity and integrity of the data sequence. The angular velocity data obtained after outlier removal and interpolation filling is the compensated angular velocity data of the exoskeleton. This data comes from the results of the preliminary compensated angular velocity data after outlier processing and interpolation filling.
[0133] In this embodiment of the invention, the optimal joint posture quaternion is used as a reference to match and extract the original angular velocity data at the corresponding moment, laying a precise data foundation for zero bias correction.
[0134] Theoretical angular velocity data is generated through time difference calculations, an ideal reference standard is constructed, and the deviation between the original data and the actual attitude is clarified.
[0135] By comparing each point to construct an angular velocity deviation sequence, the variation law of zero bias error can be fully captured, avoiding one-sided correction.
[0136] The sliding window averaging process handles the biased sequence, smooths out disturbances, and extracts stable zero-bias estimates to ensure the accuracy of the correction.
[0137] After deducting the zero bias error and processing outliers and interpolating to fill in the gaps, continuous and reliable compensated angular velocity data are obtained, thus improving the accuracy of attitude measurement.
[0138] S6: Based on the compensated angular velocity data, spatial pose transfer is performed on the optimal joint pose quaternion and the link geometry parameters of the exoskeleton to obtain the pose measurement results of the exoskeleton.
[0139] In one possible implementation, S6 specifically includes sub-steps S601 to S605:
[0140] S601: Obtain the link geometry parameters and optimal joint pose quaternion of the exoskeleton.
[0141] S602: Based on the link geometry parameters, establish a link coordinate system sequence from the base link to the end link, and determine the initial relative positional relationship between adjacent link coordinate systems.
[0142] S603: Convert the optimal joint pose quaternion corresponding to the joint into a rotational description of the joint.
[0143] S604: Following the order from the base to the end, combine the initial relative positional relationship between adjacent link coordinate systems with the corresponding rotational description to obtain the spatial pose of the link coordinate system in the base coordinate system.
[0144] S605: Outputs the spatial pose of the link coordinate system in the base coordinate system as the attitude measurement result of the exoskeleton.
[0145] Specifically, the geometric parameters of the exoskeleton's links are retrieved. These parameters are obtained through querying exoskeleton design drawings, precise physical measurements, and technical specifications. They include core information such as link lengths, link offsets, and link torsion angles that are suitable for construction load-bearing and joint range of motion. The data sources are the exoskeleton's design documents, physical measurement results, and official technical parameter descriptions. At the same time, the optimal joint posture quaternions obtained in the early stage after kinematic constraint correction are retrieved. This data comes from the combination results of the adjusted local joint posture quaternions in the joint sequence, ensuring that both types of data are complete and accurate.
[0146] Furthermore, based on the obtained link geometry parameters and the actual limb structure of the exoskeleton used in construction, an independent link coordinate system is established for each link, starting with the base link as the initial reference. A sequence of link coordinate systems is formed according to the connection order from the base link to the end link. The origin of each link coordinate system is set at the axis of the corresponding joint. The coordinate axis direction is determined by the link's geometry and direction of motion. Simultaneously, based on information such as link length and offset in the link geometry parameters, the translation and initial rotation relationships between adjacent link coordinate systems are calculated to clarify the relative positions of adjacent link coordinate systems in the non-moving state. This determines the initial relative positional relationship between adjacent link coordinate systems. The data source is the analysis and derivation results of the link geometry parameters. For example, using the thigh link as the base link, link coordinate systems for the thigh, lower leg, and foot are established sequentially to determine the initial translation and rotation relationships between the thigh and lower leg link coordinate systems.
[0147] Furthermore, a posture description conversion method adapted to the construction scenario is adopted to convert the optimal joint posture quaternion corresponding to each joint into a rotation description that can intuitively reflect the joint rotation state. During the conversion process, the rotation information represented by each component of the quaternion is analyzed and converted into a clear rotation direction and rotation angle expression. The data source of this rotation description is the result of the optimal joint posture quaternion after conversion. For example, the optimal joint posture quaternion of the knee joint is converted into a rotation description that rotates around a specific axis at a specific angle.
[0148] Furthermore, following the order from the base link to the end link, each adjacent link coordinate system is processed sequentially. The initial relative position relationship between the adjacent link coordinate systems is combined with the rotation description of the corresponding joint. First, the basic relative position of the adjacent links is determined based on the initial relative position relationship. Then, the rotation transformation corresponding to the rotation description of the joint is applied to the basic relative position to update the relative pose between the adjacent link coordinate systems. The spatial position and attitude of each link coordinate system in the base coordinate system are gradually derived, and finally, the spatial pose of all link coordinate systems in the base coordinate system is obtained. The data source is the combined derivation result of the initial relative position relationship and the rotation description. For example, the initial relative position of the thigh and lower leg link coordinate systems is determined first, and then the spatial pose of the lower leg link coordinate system in the base coordinate system is updated by combining the rotation description of the knee joint.
[0149] Furthermore, the spatial poses of all link coordinate systems in the base coordinate system are integrated. These spatial poses fully represent the spatial position and attitude of each link of the exoskeleton, and can comprehensively reflect the overall motion state of the exoskeleton. The integrated spatial poses are output as the attitude measurement results of the exoskeleton. The data source of the attitude measurement results is the integrated spatial pose results of each link coordinate system in the base coordinate system.
[0150] In this embodiment of the invention, the optimal joint posture quaternion and link geometry parameters are integrated to provide accurate data support for posture transmission.
[0151] Establish the link coordinate system sequence and the initial relative position relationship to lay the foundation for spatial pose estimation.
[0152] The optimal joint pose quaternion is converted into a rotational description to clarify the joint motion state.
[0153] By sequentially combining the initial positional relationships and rotational descriptions, the spatial pose of the link in the base coordinate system is accurately derived.
[0154] Outputting spatial pose as the attitude measurement result ensures comprehensive and accurate measurement results, thereby improving the accuracy of exoskeleton attitude measurement.
[0155] Reference manual attached Figure 2 The diagram shows a structural schematic of an exoskeleton posture measurement system provided in an embodiment of the present invention.
[0156] This invention provides an exoskeleton posture measurement system 20, including: a processor 201 and a memory 202;
[0157] The memory 202 stores programs or instructions that can run on the processor 201. When the program or instructions are executed by the processor 201, they implement the steps of the exoskeleton posture measurement method described above and achieve the same technical effect. To avoid repetition, the present invention will not elaborate further.
[0158] It should be understood that the processor 201 in this embodiment of the invention may be a central processing unit (CPU), or it may be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor.
[0159] It should also be understood that the memory 202 in the embodiments of the present invention can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of random access memory are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct memory bus RAM (DR RAM).
[0160] The above embodiments can be implemented, in whole or in part, by software, hardware (such as circuits), firmware, or any other combination thereof. When implemented using software, the above embodiments can be implemented, in whole or in part, as a computer program product. The computer program product includes one or more computer instructions or computer programs. When the computer instructions or computer programs are loaded or executed on a computer, all or part of the processes or functions described in the embodiments of the present invention are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more sets of available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium. A semiconductor medium can be a solid-state drive.
[0161] It should be understood that, in various embodiments of the present invention, the sequence number of each process does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present invention.
[0162] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementations should not be considered beyond the scope of this invention.
[0163] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the devices, apparatuses, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0164] In the several embodiments provided by this invention, it should be understood that the disclosed devices, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another device, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between devices or units may be electrical, mechanical, or other forms.
[0165] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0166] In addition, the functional units in the various embodiments of the present invention can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
[0167] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this invention, essentially, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0168] This invention provides a readable storage medium that stores a program or instructions on the storage medium. When the program or instructions are executed by a processor, they implement the steps of the exoskeleton posture measurement method described above and achieve the same technical effect. To avoid repetition, this invention will not elaborate further.
[0169] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the embodiments of the present invention, and are not intended to limit them. Although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention. Any changes or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in the present invention should be included within the protection scope of the present invention.
Claims
1. A method for measuring exoskeleton posture, characterized in that, include: S1: Perform error compensation on the inertial measurement data at the joints of the exoskeleton to obtain the calibrated angular velocity data and calibrated acceleration data of the exoskeleton; S2: Based on the deviation between the calibration acceleration data and the preset gravity reference value, determine the current motion intensity level of the exoskeleton, and dynamically allocate the contribution ratio of the calibration angular velocity data and the calibration acceleration data to obtain the fusion weight coefficient of the exoskeleton, including: S201: Perform a difference analysis between the modulus of the calibration acceleration data at the current moment and the modulus of the preset gravity reference value to obtain the acceleration modulus deviation of the exoskeleton; S202: Arrange the acceleration modulus deviation in chronological order to construct a fluctuation characteristic sequence that reflects the characteristics of acceleration fluctuation; S203: Perform statistical analysis on the fluctuation characteristic sequence and extract the time-domain statistical features of the fluctuation characteristic sequence, wherein the time-domain statistical features include the root mean square value and variance value of the sequence; S204: The root mean square value and the variance value are compared with the intensity level threshold range of the exoskeleton step by step, and the intensity level of the exoskeleton at the current moment is determined based on the comparison results; S205: Generate the fusion weight coefficient of the exoskeleton based on the intensity level of the exercise; S3: Based on the fusion weighting coefficient, the calibration angular velocity data and the calibration acceleration data are weighted and fused to obtain the preliminary posture quaternion of the exoskeleton; S4: Based on the mechanical structure of the exoskeleton, establish kinematic constraints between adjacent joints, and map the preliminary posture quaternions to the kinematic constraints to obtain the optimal joint posture quaternions of the exoskeleton, including: S401: Obtain the initial posture quaternion and kinematic constraint relationship of the exoskeleton; S402: Based on the joint sequence and link coordinate system of the exoskeleton, perform inverse kinematics calculation on the preliminary posture quaternion to obtain the joint local posture quaternion of the joint; S403: Substitute the quaternions of the local joint postures into the kinematic constraint relationship in sequence, and perform constraint compliance checks on adjacent joints to obtain the adjacent posture deviation of the joints. S404: Based on the adjacent posture deviation, the joint local posture quaternion is coordinated and adjusted to obtain the adjusted joint local posture quaternion of the exoskeleton. S405: Combine the adjusted joint local posture quaternions according to the joint sequence to obtain the optimal joint posture quaternion of the exoskeleton; S5: Based on the optimal joint posture quaternion, the gyroscope zero bias error in the inertial measurement data is traced back and corrected in reverse to obtain the compensated angular velocity data of the exoskeleton. S6: Based on the compensated angular velocity data, spatial pose transfer is performed on the optimal joint posture quaternion and the link geometry parameters of the exoskeleton to obtain the posture measurement results of the exoskeleton.
2. The exoskeleton posture measurement method according to claim 1, characterized in that, S1 specifically includes: S101: Place the exoskeleton in a stationary state and collect inertial measurement data at the joints of the exoskeleton output by the inertial sensor. The inertial measurement data includes raw angular velocity data and raw acceleration data. S102: Perform zero-bias stability analysis on the raw angular velocity data and extract the slowly changing drift component from the raw angular velocity data; S103: Subtract the slowly changing drift component from the original angular velocity data to obtain the calibrated angular velocity data of the exoskeleton; S104: Perform installation error analysis on the original acceleration data to correct the coordinate system alignment of the original acceleration data and obtain the calibration acceleration data of the exoskeleton.
3. The exoskeleton posture measurement method according to claim 1, characterized in that, S3 specifically includes: S301: Integrate the calibration angular velocity data at the current moment to obtain the angular change of the calibration angular velocity data, and convert the angular change into the rotation vector of the calibration angular velocity data; S302: Perform a quaternion multiplication operation between the rotation vector and the pose quaternion of the previous moment to obtain the predicted pose quaternion of the exoskeleton. S303: Perform vector analysis on the calibration acceleration data at the current moment, extract the gravity direction information in the calibration acceleration data, and compare the gravity direction information with the gravity direction component represented by the predicted attitude quaternion to obtain the direction deviation of the exoskeleton. S304: Based on the fusion weight coefficient, the directional deviation is proportionally allocated, and the allocated directional deviation is converted into the correction rotation vector of the exoskeleton. S305: Perform a quaternion multiplication operation between the corrected rotation vector and the predicted pose quaternion to obtain the preliminary pose quaternion of the exoskeleton.
4. The exoskeleton posture measurement method according to claim 1, characterized in that, The step S4, which establishes kinematic constraint relationships between adjacent joints based on the mechanical structure of the exoskeleton, specifically includes: S406: Obtain the mechanical structure parameters of the exoskeleton; S407: Construct a joint local coordinate system with the direction of the rotation axis of the joint in the mechanical structure parameters as the coordinate axis direction and the position of the joint's axis center as the coordinate origin; S408: Determine the initial coordinate transformation relationship between the local coordinate systems of adjacent joints based on the link length and link offset between adjacent joints in the mechanical structure parameters; S409: Determine the kinematic constraint type between adjacent joints based on the connection type of the joint; S410: Based on the initial coordinate transformation relationship and the kinematic constraint type, construct the kinematic constraint relationship between adjacent joints.
5. The exoskeleton posture measurement method according to claim 4, characterized in that, Specifically, S409 includes: S4091: Obtain the connection type information of the current joint in the exoskeleton; S4092: When the connection type information indicates that the current joint is a rotary joint, determine that the kinematic constraint type between the two adjacent links connected to the current joint is a rotary constraint; S4093: When the connection type information indicates that the current joint is a translational joint, determine that the kinematic constraint type between the two adjacent links connected to the current joint is a translational constraint; S4094: Assign the kinematic constraint type to the current joint, which serves as the basis for the constraint type when constructing kinematic constraint relationships between adjacent joints.
6. The exoskeleton posture measurement method according to claim 2, characterized in that, S5 specifically includes: S501: Extract the original angular velocity data corresponding to the optimal joint attitude quaternion from the inertial measurement data, and use the optimal joint attitude quaternion as the reference attitude quaternion at the current moment. S502: Perform time difference operation on the reference attitude quaternion to obtain the theoretical angular velocity data of the exoskeleton; S503: Compare the theoretical angular velocity data with the original angular velocity data point by point at corresponding times to obtain the instantaneous angular velocity deviation value of the exoskeleton, and construct the angular velocity deviation sequence of the exoskeleton in chronological order. S504: Perform sliding window averaging on the angular velocity deviation sequence to obtain the gyroscope zero bias error estimate of the exoskeleton; S505: Perform a difference calculation between the original angular velocity data and the gyroscope zero bias error estimate to obtain the preliminary compensated angular velocity data of the exoskeleton; S506: Remove outliers from the preliminary compensated angular velocity data and interpolate and fill the preliminary compensated angular velocity data using the effective values at adjacent times to obtain the compensated angular velocity data of the exoskeleton.
7. The exoskeleton posture measurement method according to claim 4, characterized in that, S6 specifically includes: S601: Obtain the link geometry parameters and optimal joint posture quaternion of the exoskeleton; S602: Based on the link geometry parameters, establish a link coordinate system sequence from the base link to the end link, and determine the initial relative positional relationship between adjacent link coordinate systems; S603: Convert the optimal joint pose quaternion corresponding to the joint into a rotational description of the joint; S604: Following the order from the base to the end, combine the initial relative positional relationship between adjacent link coordinate systems with the corresponding rotational description to obtain the spatial pose of the link coordinate system in the base coordinate system; S605: Output the spatial pose of the link coordinate system in the base coordinate system as the posture measurement result of the exoskeleton.
8. An exoskeleton posture measurement system, characterized in that, include: Processor and memory; The memory stores programs or instructions that can run on the processor, which, when executed by the processor, implement the exoskeleton posture measurement method as described in any one of claims 1 to 7.