Six-degree-of-freedom somatosensory simulation method and device based on FPGA data fusion
By adopting the FPGA data fusion method in the six-degree of freedom somatosensory simulation system, combining image acquisition, attitude sensor and motor coding acquisition unit, the problem of large calculation errors in dynamic target points is solved, and better simulation effect and response speed are achieved.
Patent Information
- Application Number
- CN202510581878.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-07
- Publication Date
- 2025-06-06
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
The calculation error of dynamic target points is large, resulting in uncontrollable delay and distortion of simulation effects of the six-degree of freedom somatosensory simulation system.
Using the FPGA-based data fusion method, the static and dynamic position information of the somatosensory target point is collected through image acquisition, attitude sensor and motor encoding acquisition unit, error correction and fusion calculation are performed, the somatosensory acceleration of the center point of the six-degree of freedom platform is calculated, and the cylinder shaft length is calculated through the rinse algorithm.
The calculation error of dynamic target points is reduced, the simulation effect and response speed of the six-degree of freedom somatosensory simulation system are improved, and the experience is enhanced.
Smart Images

Figure CN120103771A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the field of industrial control technology, and in particular relates to a six-degree-of-freedom body sensing simulation method and device based on FPGA data fusion. Background Art
[0002] The Stewart 6-DOF platform is a parallel manipulator device used for positioning and motion control. It consists of two parallel plates and six adjustable legs, which can accurately adjust and control the upper parallel plate. With its unique high stiffness, high precision and high load-to-weight ratio, the Stewart platform is suitable for applications with high precision, large loads and relatively small workspace requirements.
[0003] In the traditional stewart platform control method, the somatosensory target point is a static somatosensory target point, which is generally the center of mass of the upper platform or a point with a fixed value offset relative to the center of mass. During the movement of the platform, if the position of the somatosensory target point moves in a small range relative to the upper platform, it will cause a certain error in the calculation result of the wash-out algorithm. It can be imagined that the somatosensory simulation effect will be better if the static target point is replaced with a dynamic target point. However, there are two problems with using dynamic target points: first, since the acquisition and position calculation of dynamic somatosensory target points takes a certain amount of time, system delays will occur, reducing the simulation effect; second, because it is a moving point, using a single sensor to collect it is prone to large errors, and using multiple sensors for collection will increase the system delay, resulting in uncontrollable delays in the entire somatosensory simulation system and distortion of the simulation effect. Summary of the invention
[0004] The main problem solved by the present invention is how to reduce the calculation error of the dynamic target point so that the entire six-degree-of-freedom somatosensory simulation system can produce a better simulation effect, and a six-degree-of-freedom somatosensory simulation method and device based on FPGA data fusion are provided.
[0005] In order to solve the above technical problems, the technical solutions adopted are: A six-degree-of-freedom somatosensory simulation method based on FPGA data fusion includes the following steps: Step 1: Collect the position of the somatosensory target point in a static state; Step 2: Collect the position of the target point when it is in motion; Step 3: Calculate the fusion coordinate value of the somatosensory target point according to the dynamic position and static position value of the somatosensory target point; Step 4: Input the somatosensory acceleration value to be reached by the target point, and calculate the somatosensory acceleration to be reached by the center point of the six-degree-of-freedom platform based on the fused coordinate value; Step 5: Calculate the lengths of the six electric cylinder axes of the six-degree-of-freedom platform using a wash-out algorithm based on the somatosensory acceleration to be achieved at the center point of the six-degree-of-freedom platform; Step 6: According to the lengths of the six electric cylinder shafts, the six-axis servo motors make the electric cylinder shafts reach corresponding lengths.
[0006] Furthermore, the method for collecting the position of the somatosensory target point in a dynamic state includes an image collection unit for collecting images of the somatosensory target point and analyzing the position of the somatosensory target point and a posture sensor collection unit for setting a posture sensor at the somatosensory target point to collect postures; The static position of the somatosensory target point is collected by a motor encoding collection unit located on the six-axis servo motor of the six-degree-of-freedom platform.
[0007] Furthermore, the method for calculating the fusion coordinate value of the somatosensory target point is: ; is the coordinate position after fusion, is the static coordinate position of the somatosensory target point collected by the motor encoding acquisition unit, with a weight of x. is the coordinate position collected by the attitude sensor acquisition unit, with a weight of y. The coordinate position collected by the image acquisition unit.
[0008] Furthermore, before calculating the fusion coordinate values of the somatosensory target points, error correction is performed on the coordinate positions of various acquisition target points in dynamic and static states, and the error-corrected coordinate positions are used for fusion.
[0009] Furthermore, the method for performing error correction on the coordinate positions of various acquisition target points in dynamic and static states is: Record the delay count of the image acquisition unit ,Delay count of the attitude sensor acquisition unit , the delay count of the motor encoder acquisition unit , taking the one with the smallest delay as the benchmark, the delay time calculation formula is: ; ; in Indicates the minimum delay count, i indicates the i-th acquisition method, i=1,2,3, is the delay count between the kth acquisition of the i-th acquisition method and the minimum delay count among the three acquisition methods. The delay count refers to the delay time generated from the input of the somatosensory acceleration value to be reached at the target point to the acquisition of all three position data, because the fusion calculation needs to wait until all three acquisition data are acquired before the fusion calculation can be performed. It is represented by the count of the delay timer; Assume that the coordinates calculated by the i-th acquisition method at the k-1th acquisition are , the delay count is , the coordinates calculated by the i-th acquisition method in the k-th acquisition are , the delay count is , the position change within two extremely short acquisition cycles is approximately regarded as uniform motion. Then the motion position after the kth acquisition error correction of the i-th acquisition method is : ; Then the fusion coordinate position after error correction is: .
[0010] Furthermore, the somatosensory acceleration value to be reached at the target point is input, and the somatosensory acceleration value of the center point of the six-degree-of-freedom platform is calculated based on the fused coordinate value. The acceleration method is: Derivative the position relationship twice to obtain the acceleration relationship: ; ; represents the acceleration of the center point of the six-degree-of-freedom platform, is the acceleration value to be reached at the target point; ; Since the six-degree-of-freedom platform does not have angular acceleration during motion, α is 0: ; Where α is the angular acceleration of the six-degree-of-freedom platform, w is the angular velocity of the six-degree-of-freedom platform, and R is the rotation matrix. is the position vector before rotation, and r is the position vector after rotation.
[0011] Furthermore, it also includes step 7: calculating the delay count difference from the acceleration to be achieved by inputting the somatosensory target point to the length of the six electric cylinder axes of the six-degree-of-freedom platform calculated by using the wash-out algorithm and outputting it to the six-axis servo motor, and according to the delay matching table of the preset delay count and the switching relationship of the target point dynamic or static position acquisition channel, deciding to open or close one or two somatosensory target point position acquisition channels, and the fused position is fused by the positions collected by the remaining acquisition channels.
[0012] The present invention also provides a six-degree-of-freedom somatosensory simulation device based on FPGA data fusion, comprising the following modules: Static position acquisition unit: used to collect the position of the somatosensory target point in static state; Dynamic position acquisition unit: used to acquire the position of the target point when it is dynamic; Data fusion unit: calculates the fusion coordinate value of the somatosensory target point according to the dynamic position and static position value of the somatosensory target point; Acceleration input unit: input the somatosensory acceleration value to be reached by the target point, and calculate the somatosensory acceleration to be reached by the center point of the six-degree-of-freedom platform according to the fused coordinate value; Electric cylinder axis length calculation unit: uses a wash-out algorithm to calculate the lengths of the six electric cylinder axes of the six-degree-of-freedom platform according to the somatosensory acceleration to be achieved at the center point of the six-degree-of-freedom platform; Output unit: according to the length of the six electric cylinder shafts, the six-axis servo motor makes the electric cylinder shaft reach the corresponding length; The data fusion unit and the electric cylinder shaft length calculation unit are loaded onto the FPGA chip through an algorithm to complete the calculation. The static position acquisition unit and the dynamic position acquisition unit input the collected position information into the FPGA chip for fusion calculation by the data fusion unit. The acceleration input unit is used to obtain the somatosensory acceleration value to be reached by the somatosensory target point and input it into the electric cylinder shaft length calculation unit for calculation.
[0013] Furthermore, the acceleration input unit also includes a clock counter 1 and a clock counter 2, wherein the clock counter 1 is used to start counting when the somatosensory acceleration value to be reached by the input somatosensory target point is input, and the clock counter 2 is used to start counting when the output unit outputs the six electric cylinder shaft lengths to the six-axis servo motor. According to the delay matching table of the difference between the clock counter 1 and the clock counter 2 and the preset delay count and the switch relationship between the dynamic or static position acquisition channel of the target point, the delay control unit decides to open or close one or two static or dynamic position acquisition channels of the somatosensory target points, and the fused position is fused by the positions collected by the remaining acquisition channels.
[0014] By adopting the above technical solution, the present invention has the following beneficial effects: The present invention provides a six-degree-of-freedom somatosensory simulation method and device based on FPGA data fusion. The dynamic position information acquired through image acquisition and posture acquisition and the six-axis electric cylinder information acquired by a motor encoding acquisition unit are input into an FPGA chip for fusion position calculation. The length of each electric cylinder axis of the six-degree-of-freedom platform is then calculated based on the fused position information to provide a better user experience. At the same time, the processing result is fed back to the control unit to continue to control the length of the six-axis electric cylinder. Since FPGA converts the calculation task into a hardware circuit to achieve acceleration, it can be processed quickly to provide a better somatosensory effect. BRIEF DESCRIPTION OF THE DRAWINGS
[0015] Figure 1 It is a flow chart of the system of the present invention; Figure 2It is a schematic diagram of a six-degree-of-freedom platform; Figure 3 Schematic diagram of the control system based on FPGA. DETAILED DESCRIPTION
[0016] The technical solution of the present invention will be described clearly and completely below in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0017] Figure 1 A specific embodiment of a six-degree-of-freedom somatosensory simulation method based on FPGA data fusion of the present invention is shown, comprising the following steps: Step 1: Collect the static position of the somatosensory target point.
[0018] In this embodiment, the position of the somatosensory target point in a static state is collected by a motor encoding collection unit. The somatosensory target point is usually a helmet or a hat of a person. In a static state, since the target point does not move, it can be collected by the motor encoding collection unit of the six-degree-of-freedom platform.
[0019] The known position of the static target point on the upper platform is , the lengths of the six electric cylinders are , i=0, 2, ..., 5. The coordinate system is established with the center point O of the lower platform and the center point O' of the upper platform as the origin. The position of the static target point is calculated according to the six-degree-of-freedom forward solution equation: ; Where x, y, z represent the displacement of the upper platform coordinate system relative to the lower platform in the x-axis, y-axis, and z-axis directions, and l, m, and n represent the rotation angles of the upper platform relative to the lower platform in the x-axis, y-axis, and z-axis directions, respectively. is the coordinate of the hinge point at the i-th vertex of the upper platform in the upper platform coordinate system, is the coordinate of the hinge point at the ith vertex of the lower platform in the lower platform coordinates. T is the rotation matrix of the lower platform relative to the upper platform, and its expression is:
[0020] is the offset of the upper platform relative to the lower platform, and its expression is:
[0021] By solving this nonlinear equation group, we can obtain the position and posture (x, y, z, l, m, n) of the upper platform in the coordinate system of the lower platform.
[0022] Then the position of the static target point in the lower platform coordinate system is : .
[0023] Step 2: Collect the position of the target point when it is dynamic.
[0024] In this embodiment, the method for collecting the dynamic position of the somatosensory target point includes an image collection unit for collecting images of the somatosensory target point and a posture sensor collection unit for collecting postures of a posture sensor fixed on the somatosensory target point.
[0025] Labels that are easy to identify through images are set on the upper surfaces of the six vertices of the six-degree-of-freedom platform. Labels that are easy to identify through images are set on the somatosensory target points, which are usually helmets or hats of people. The dynamic position of the somatosensory target points can be obtained by collecting images through the image acquisition unit, that is, the binocular camera. Of course, in order to establish a coordinate system, it is also necessary to set labels at the center point of the lower surface of the six-degree-of-freedom platform and about 3 meters in front, behind, left and right. After image acquisition, since the lower surface is in a non-moving state, the coordinate system can be established through the pre-set labels on the lower surface.
[0026] In this embodiment, the method for calculating the position of the somatosensory target point collected by the binocular camera is: In the center of the photosensitive element of the two binocular camera lenses and Two coordinate systems are established at and According to the positions of the highlighted labels of the two images taken by the binocular camera, the somatosensory target point is recorded at The coordinate system is recorded as ( ),exist The coordinate system is recorded as ( ), the center coordinates of the highlighted label are , , the focal length of the recording camera is f, and the distance between the cameras is d, then we have the formula ; The relationship between the world coordinate system (X, Y, Z) and the camera coordinate system is as follows: ; Combining the above two equations, we can get: ; Then we can get: ; Then we can get the somatosensory target point, that is, the dynamic target point The coordinate conversion formula is: .
[0027] The method for calculating the position information of the somatosensory target point collected by the posture sensor is: The angle data relative to the lower platform coordinate system collected by the attitude sensor bound to the somatosensory target point is transmitted to the attitude sensor acquisition unit of the FPGA, and its value is set to ( ), respectively represent the angles of the somatosensory target point on the x-axis, y-axis, and z-axis of the lower platform coordinate system, and its initial coordinates in the upper platform coordinate system are ( ). Then ( ) is used as the origin to establish a static somatosensory target point coordinate system, then the coordinates of the dynamic target point in this coordinate system are , the rotation matrix of this coordinate relative to the upper platform coordinate system for: ; c represents cosine, s represents sin, express , express , express . Offset Vector for: ; Then the position of the dynamic target point in the upper platform coordinate system is: ; The dynamic target point is calculated based on this angle The position in the lower platform coordinate system is: .
[0028] Step 3: Calculate the fusion coordinate value of the somatosensory target point based on the dynamic position and static position value of the somatosensory target point.
[0029] In this embodiment, the method for collecting the dynamic position of the somatosensory target point includes an image acquisition unit that collects images of the somatosensory target point and analyzes the position of the somatosensory target point and a posture sensor acquisition unit that sets a posture sensor at the somatosensory target point to collect postures; the static position of the somatosensory target point is collected by a motor encoding acquisition unit located on a six-axis servo motor on a six-degree-of-freedom platform. Therefore, two dynamic positions of the target point and one static position of the target point are collected, and the method for calculating the fusion coordinate value of the somatosensory target point is: ; is the coordinate position after fusion, is the static coordinate position of the somatosensory target point collected by the motor encoding acquisition unit, with a weight of x. is the coordinate position collected by the attitude sensor acquisition unit, with a weight of y. The coordinate position collected by the image acquisition unit.
[0030] By integrating the static coordinate position, the coordinate position collected by the image acquisition unit, i.e. the binocular camera, and the acceleration, angular velocity and angular acceleration collected by the attitude sensor fixed on the somatosensory target point, the coordinate position information transmitted back by the six-axis electric cylinder length information collected by the encoder acquisition unit is fused in a weighted manner to obtain relatively complete and accurate target point information. The motor encoder collector refers to the encoder collector located on the six-axis servo motor on the six-degree-of-freedom platform. The encoder value of the six-axis servo motor is collected to the motor encoder acquisition unit of the FPGA, and then converted into the position information of the motor. For a motor with an encoder line number of N, the corresponding external electric cylinder length is =m / NxKn, is the length of the electric cylinder of the i-th axis, m is the encoder value, N is the number of encoder lines of the motor, and Kn is the spiral coefficient of the electric cylinder.
[0031] In this embodiment, before calculating the fusion coordinate value of the somatosensory target point, the coordinate positions of various acquisition target points in dynamic and static states are corrected for errors, and the error-corrected coordinate positions are used for fusion. Since the fusion is to fuse the position information obtained by the three acquisition methods of the target point, but the position information obtained by each acquisition method will cause delays due to the inconsistent time of acquisition or calculation of the calculation results, it is necessary to correct the error for this delay.
[0032] The method for error correction of the coordinate positions of various acquisition target points in dynamic and static conditions is: Record the delay count of the image acquisition unit ,Delay count of the attitude sensor acquisition unit , the delay count of the motor encoder acquisition unit , taking the one with the smallest delay as the benchmark, the delay time calculation formula is: ; ; in represents the minimum delay count, f is the frequency of the delay device, i represents the i-th acquisition method, i=1,2,3, The delay count between the i-th acquisition method at the k-th acquisition and the minimum delay count among the three acquisition methods. The delay count refers to the delay time generated from the input of the target point’s intended body acceleration value to the acquisition of all three position data, because the fusion calculation needs to wait until all three acquisition data are acquired before the fusion calculation can be performed. It is represented by the count of the delay timer. Record the delay count of the image acquisition unit , Delay count of the attitude sensor acquisition unit , the delay count of the motor encoder acquisition unit ,These three delay counts are composed of three counters, which start counting from the somatosensory acceleration value to be reached at the input target point.
[0033] Assume that the coordinates calculated by the i-th acquisition method at the k-1th acquisition are , the delay count is , the coordinates calculated by the i-th acquisition method in the k-th acquisition are , the delay count is , the position change within two extremely short acquisition cycles is approximately regarded as uniform motion. Then the motion position after the kth acquisition error correction of the i-th acquisition method is : ; Then the fusion position coordinates after error correction are: .
[0034] This embodiment comprehensively considers the position information in both dynamic and static conditions, and considers the influence of acceleration on the position, so that the obtained fused position information is more accurate.
[0035] Since it is necessary to collect image information through a binocular camera, such as Figure 2 As shown, the posture information of the six-degree-of-freedom platform is collected by the posture sensor. The processing and calculation of this information is very complex. In this embodiment, FPGA is selected as the control unit in the processor, which can quickly calculate and control image recognition, data fusion, and posture control.
[0036] Step 4: Enter the acceleration value that the target point is expected to reach, and calculate the acceleration that the center point of the six-degree-of-freedom platform is expected to reach based on the fused coordinate value.
[0037] Step 5: Calculate the lengths of the six electric cylinder axes of the six-degree-of-freedom platform using a wash-out algorithm based on the somatosensory acceleration to be achieved at the center point of the six-degree-of-freedom platform; Step 6: According to the lengths of the six electric cylinder shafts, the six-axis servo motors make the electric cylinder shafts reach corresponding lengths.
[0038] In this embodiment, it is necessary to perform an inverse solution operation based on the somatosensory acceleration value to be achieved, so as to calculate the somatosensory acceleration to be achieved at the center of the six-degree-of-freedom platform. According to the somatosensory acceleration achieved by the center of the six-degree-of-freedom platform, the lengths of the six electric cylinder axes of the six-degree-of-freedom platform can be solved, and then the six-axis servo motor controls the six electric cylinder axes to reach the corresponding length, thereby providing a better human experience.
[0039] The method to calculate the somatosensory acceleration of the center point of the six-degree-of-freedom platform based on the fused coordinate value is to take the derivative of the position relationship twice to obtain the acceleration relationship: ; represents the acceleration of the center point of the six-degree-of-freedom platform, is the acceleration value to be reached at the target point; ; Since the output of the wash-out algorithm does not contain angular acceleration, α is 0: ; Where α is the angular acceleration of the six-degree-of-freedom platform, w is the angular velocity of the six-degree-of-freedom platform, and R is the rotation matrix. is the position vector before rotation, and r is the position vector after rotation.
[0040] The somatosensory acceleration of the center point of the six-degree-of-freedom platform calculated based on the fusion coordinate value uses the washout algorithm to solve the lengths of the six electric cylinder axes of the six-degree-of-freedom platform. The washout algorithm is an existing algorithm given in the patent ("CN202210535451. (2020). Medical rehabilitation training robot control method and device based on washout algorithm").
[0041] Step 7: Calculate the delay count difference from the acceleration to be achieved by inputting the somatosensory target point to the length of the six electric cylinder axes of the six-degree-of-freedom platform calculated using the wash-out algorithm and output to the six-axis servo motor. According to the delay matching table of the preset delay count and the switching relationship between the dynamic or static position acquisition channel of the target point, decide to open or close one or two somatosensory target point position acquisition channels, and the fused position is fused by the positions collected by the remaining acquisition channels.
[0042] Clock counter 1 starts when the desired somatosensory acceleration is input, and clock counter 2 starts counting when the FPGA chip outputs the length of the six-cylinder axis. The difference count_all between clock counter 1 and clock counter 2 is calculated, as shown in the delay matching table. According to the size of the difference count_all, it is decided which channels to use for position acquisition. In Table 1, 1 means turning on the corresponding channel, 0 means turning off the corresponding channel, and u and g represent thresholds respectively. Table 2 shows the weight table for fusion position calculation when using different position acquisition channels.
[0043] Table 1 Delay matching table
[0044] Table 2 Weight calculation table
[0045] like Figure 2 and 3 As shown, the present invention also provides a six-degree-of-freedom somatosensory simulation device based on FPGA data fusion, comprising the following modules: Static position acquisition unit: used to collect the position of the somatosensory target point in static state; Dynamic position acquisition unit: used to acquire the position of the target point when it is dynamic; Data fusion unit: calculates the fusion coordinate value of the somatosensory target point according to the dynamic position and static position value of the somatosensory target point; Acceleration input unit: input the somatosensory acceleration value to be reached by the target point, and calculate the somatosensory acceleration to be reached by the center point of the six-degree-of-freedom platform according to the fused coordinate value; Electric cylinder axis length calculation unit: uses a wash-out algorithm to calculate the lengths of the six electric cylinder axes of the six-degree-of-freedom platform according to the somatosensory acceleration to be achieved at the center point of the six-degree-of-freedom platform; Output unit: according to the length of the six electric cylinder shafts, the six-axis servo motor makes the electric cylinder shaft reach the corresponding length; The data fusion unit and the electric cylinder shaft length calculation unit are loaded onto the FPGA chip through an algorithm to complete the calculation. The static position acquisition unit and the dynamic position acquisition unit input the collected position information into the FPGA chip for fusion calculation by the data fusion unit. The acceleration input unit is used to obtain the somatosensory acceleration value to be reached by the somatosensory target point and input it into the electric cylinder shaft length calculation unit for calculation.
[0046] Furthermore, the acceleration input unit also includes a clock counter 1 and a clock counter 2, wherein the clock counter 1 is used to start counting when the somatosensory acceleration value to be reached by the input somatosensory target point is input, and the clock counter 2 is used to start counting when the output unit outputs the six electric cylinder shaft lengths to the six-axis servo motor. According to the delay matching table of the difference between the clock counter 1 and the clock counter 2 and the preset delay count and the switch relationship between the dynamic or static position acquisition channel of the target point, the delay control unit decides to open or close one or two static or dynamic position acquisition channels of the somatosensory target points, and the fused position is fused by the positions collected by the remaining acquisition channels.
[0047] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or replace some or all of the technical features therein with equivalents. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present invention.
Claims
1. A six-degree-of-freedom somatosensory simulation method based on FPGA data fusion, characterized in that: The following steps are involved: Step 1: Collect the position of the somatosensory target point in a static state; Step 2: Collect the position of the target point when it is in motion; Step 3: Calculate the fusion coordinate value of the somatosensory target point according to the dynamic position and static position value of the somatosensory target point; Step 4: Input the somatosensory acceleration value to be reached by the target point, and calculate the somatosensory acceleration to be reached by the center point of the six-degree-of-freedom platform based on the fused coordinate value; Step 5: Calculate the lengths of the six electric cylinder axes of the six-degree-of-freedom platform using a wash-out algorithm based on the somatosensory acceleration to be achieved at the center point of the six-degree-of-freedom platform; Step 6: According to the lengths of the six electric cylinder shafts, the six-axis servo motors make the electric cylinder shafts reach corresponding lengths.
2. The simulation method according to claim 1, characterized in that: The method for collecting the position of the somatosensory target point in a dynamic state includes an image collection unit for collecting images of the somatosensory target point and analyzing the position of the somatosensory target point and a posture sensor collection unit for setting a posture sensor at the somatosensory target point to collect postures; The static position of the somatosensory target point is collected by a motor encoding collection unit located on the six-axis servo motor of the six-degree-of-freedom platform.
3. The simulation method according to claim 2, characterized in that: The method for calculating the fusion coordinate value of the somatosensory target point is: ; is the coordinate position after fusion, is the static coordinate position of the somatosensory target point collected by the motor encoding acquisition unit, with a weight of x. is the coordinate position collected by the attitude sensor acquisition unit, with a weight of y. The coordinate position collected by the image acquisition unit.
4. The simulation method according to claim 3, characterized in that: Before calculating the fusion coordinate values of the somatosensory target points, error correction is performed on the coordinate positions of various acquisition target points in dynamic and static states, and the error-corrected coordinate positions are used for fusion.
5. The simulation method according to claim 4, characterized in that: The method for error correction of the coordinate positions of various acquisition target points in dynamic and static conditions is: Record the delay count of the image acquisition unit ,Delay count of the attitude sensor acquisition unit , the delay count of the motor encoder acquisition unit , taking the one with the smallest delay as the benchmark, the delay time calculation formula is: ; ; in Indicates the minimum delay count, i indicates the i-th acquisition method, i=1,2,3, is the delay count between the kth acquisition of the i-th acquisition method and the minimum delay count among the three acquisition methods. The delay count refers to the delay time generated from the input of the somatosensory acceleration value to be reached at the target point to the acquisition of all three position data, because the fusion calculation needs to wait until all three acquisition data are acquired before the fusion calculation can be performed. It is represented by the count of the delay timer; Assume that the coordinates calculated by the i-th acquisition method at the k-1th acquisition are , the delay count is , the coordinates calculated by the i-th acquisition method in the k-th acquisition are , the delay count is , the position change within two extremely short acquisition cycles is approximately regarded as uniform motion. Then the motion position after the kth acquisition error correction of the i-th acquisition method is : ; Then the fusion coordinate position after error correction is: 。 6. The simulation method according to claim 5, characterized in that: Enter the somatosensory acceleration value to be reached at the target point. The method for calculating the somatosensory acceleration of the center point of the six-degree-of-freedom platform based on the fused coordinate value is: Derivative the position relationship twice to obtain the acceleration relationship: ; ; represents the acceleration of the center point of the six-degree-of-freedom platform, is the acceleration value to be reached at the target point; ; Since the six-degree-of-freedom platform does not have angular acceleration during motion, α is 0: ; Where α is the angular acceleration of the six-degree-of-freedom platform, w is the angular velocity of the six-degree-of-freedom platform, and R is the rotation matrix. is the position vector before rotation, and r is the position vector after rotation.
7. The simulation method according to claim 6, characterized in that: It also includes step 7: calculating the delay count difference from the acceleration to be achieved by inputting the somatosensory target point to the length of the six electric cylinder axes of the six-degree-of-freedom platform calculated by using the wash-out algorithm and outputting it to the six-axis servo motor, and deciding to open or close one or two somatosensory target point position acquisition channels based on a preset delay matching table of the switching relationship between the delay count and the target point dynamic or static position acquisition channel, and the fused position is fused by the positions collected by the remaining acquisition channels.
8. A six-degree-of-freedom somatosensory simulation device based on FPGA data fusion, characterized in that: Includes the following modules: Static position acquisition unit: used to collect the position of the somatosensory target point in static state; Dynamic position acquisition unit: used to acquire the position of the target point when it is dynamic; Data fusion unit: calculates the fusion coordinate value of the somatosensory target point according to the dynamic position and static position value of the somatosensory target point; Acceleration input unit: input the somatosensory acceleration value to be reached by the target point, and calculate the somatosensory acceleration to be reached by the center point of the six-degree-of-freedom platform according to the fused coordinate value; Electric cylinder axis length calculation unit: uses a wash-out algorithm to calculate the lengths of the six electric cylinder axes of the six-degree-of-freedom platform according to the somatosensory acceleration to be achieved at the center point of the six-degree-of-freedom platform; Output unit: according to the length of the six electric cylinder shafts, the six-axis servo motor makes the electric cylinder shaft reach the corresponding length; The data fusion unit and the electric cylinder shaft length calculation unit are loaded onto the FPGA chip through an algorithm to complete the calculation. The static position acquisition unit and the dynamic position acquisition unit input the collected position information into the FPGA chip for fusion calculation by the data fusion unit. The acceleration input unit is used to obtain the somatosensory acceleration value to be reached by the somatosensory target point and input it into the electric cylinder shaft length calculation unit for calculation.
9. The simulation device according to claim 8, characterized in that: The acceleration input unit also includes a clock counter 1 and a clock counter 2. The clock counter 1 is used to start counting when the somatosensory acceleration value to be reached by the input somatosensory target point is input, and the clock counter 2 is used to start counting when the output unit outputs the six electric cylinder shaft lengths to the six-axis servo motor. According to the difference between the clock counter 1 and the clock counter 2 and the preset delay matching table of the switching relationship between the delay count and the dynamic or static position acquisition channel of the target point, the delay control unit decides to open or close one or two static or dynamic position acquisition channels of the somatosensory target points, and the fused position is fused by the positions collected by the remaining acquisition channels.
Citation Information
Patent Citations
Control Method and Equipment for Medical Rehabilitation Training Robot Based on Washing Algorithm
CN114767471B
Stewart six degrees of freedom flight simulation platform under multi-layer closed-loop control strategy
CN104731103A
Control system of Stewart platform based on washout algorithm
CN107596686A
Medical rehabilitation training robot control method and equipment based on washout algorithm
CN114767471A