Seat position self-calibration method, device and electronic equipment

By matching the target edge code segment with the reference edge code segment during seat sliding, the seat position self-calibration is achieved, which solves the problems of lag and poor flexibility of traditional seat position calibration methods, realizes accurate and flexible seat position positioning, and improves user experience.

CN119659426BActive Publication Date: 2025-10-28ZHEJIANG GEELY HLDG GRP CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411893135.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-20
Publication Date
2025-10-28
Estimated Expiration
2044-12-20

AI Technical Summary

Technical Problem

Traditional seat position calibration methods suffer from lag and lack of flexibility, resulting in inaccurate seat positioning and affecting the seat's anti-pinch and welcoming functions.

Method used

By acquiring the target edge code segment during the seat sliding process and matching it with the preset reference edge code segment, the seat position is self-calibrated. The matching result of the edge code segment and the reference edge code segment is used to calibrate the seat position, thereby improving the frequency and accuracy of calibration.

Benefits of technology

It enables timely calibration of seat positions, improves the accuracy and flexibility of seat positioning, ensures the accuracy of seat anti-pinch and welcome functions, and reduces labor costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119659426B_ABST
    Figure CN119659426B_ABST
Patent Text Reader

Abstract

This application provides a seat position self-calibration method, apparatus, and electronic device, relating to the field of seat control technology. The method includes: acquiring a target edge code segment of a calibration segment during seat sliding, wherein the seat sliding stroke includes the calibration segment; matching the target edge code segment with a preset reference edge code segment corresponding to the calibration segment to obtain a matching result, wherein the reference edge code segment includes the position coordinates and edge code of each calibration point in the calibration segment; and calibrating the seat position based on the target edge code segment and the reference edge code segment when the matching result indicates that the seat position should be calibrated. During normal seat use, self-calibrating the seat position by sliding the seat increases the frequency and flexibility of seat position calibration; acquiring the target edge code segment of the calibration segment during seat sliding and calibrating the seat position based on the target edge code segment improves the accuracy of seat position positioning.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of seat control technology, and in particular to a seat position self-calibration method, device and electronic device. Background Technology

[0002] With the widespread adoption of power seats, accurate seat positioning by the controller is crucial for intelligent seat adjustment and anti-pinch functionality. In vehicles, intelligent seat adjustment refers to the driver's seat automatically retracting to a comfortable position after the driver unlocks the door, automatically adjusting to the previously adjusted comfortable position after the driver is seated, and automatically retracting to a comfortable position when the driver opens the door to facilitate exiting the vehicle. Anti-pinch functionality is for passenger safety; front power seats must have anti-pinch features within specific position and angle ranges to prevent injury to occupants during electronic operation. Therefore, the cumulative positioning error of the controller must not exceed the allowable range. If there is a possibility of exceeding the allowable range, the seat position must be calibrated to eliminate the cumulative positioning error.

[0003] Traditional seat position calibration methods typically involve a specialist driving the seat motor to the front or rear dead center (LTC). Utilizing the characteristic of a sharp current increase when the seat motor stalls at these points, the controller identifies that the seat has reached the LTC or rear dead center of the guide rail. The controller then sets the variable representing the seat position (e.g., the number of Hall pulses or current ripple cycles) to zero or to its maximum travel, thus achieving absolute seat position calibration. After calibration, the controller updates the variable representing the seat motor's current position based on the number of Hall pulses or ripple cycles acquired during each start-stop cycle.

[0004] However, the above calibration method has a lag and poor flexibility, which leads to inaccurate positioning of the seat. Summary of the Invention

[0005] This application provides a method, apparatus, and electronic device for self-calibrating seat position, so as to achieve timely and flexible calibration, thereby achieving high accuracy in seat position positioning.

[0006] In a first aspect, this application provides a seat position self-calibration method, wherein the seat's sliding stroke includes a calibration segment, and the seat position self-calibration method includes:

[0007] Obtain the target edge code segment of the calibration segment during the seat sliding process;

[0008] The target edge code segment is matched with the reference edge code segment corresponding to the preset calibration segment to obtain the matching result. The reference edge code segment contains the position coordinates of each calibration point in the calibration segment and the edge code.

[0009] When the matching result indicates that the seat position is to be calibrated, the seat position is calibrated based on the target edge code segment and the reference edge code segment.

[0010] In one possible implementation, the seat position is calibrated based on the target edge code segment and the reference edge code segment, including:

[0011] For each edge code in the target edge code segment, the error corresponding to the edge code is determined based on the edge coordinates of the edge code in the reference edge code segment and the current position coordinates.

[0012] The mean error is determined based on the error corresponding to each edge code in the target edge code segment.

[0013] The vehicle seat position is calibrated based on the sum of the mean error and the current position coordinates.

[0014] In one possible implementation, obtaining the target edge code segment of the calibration segment during the seat sliding process includes:

[0015] Acquire calibration-related signals obtained during continuous seat sliding;

[0016] Edge code detection is performed on the calibration-related signals to obtain the target edge code segment of the calibration segment during the seat sliding process.

[0017] In one possible implementation, the calibration-related signal includes a calibration signal and a motor waveform signal. Edge code detection is performed on the calibration-related signal to obtain the target edge code segment of the calibration segment during the seat sliding process, including:

[0018] The current position of the seat on the seat rail is determined based on the motor waveform signal;

[0019] Based on the edge code encoding method corresponding to the reference edge code segment, the target edge code segment is determined within the first range of the current position according to the change amplitude of the calibration signal.

[0020] In one possible implementation, determining the current position of the seat on the seat rail based on the motor waveform signal includes:

[0021] If the seat motor is a ripple motor, the motor waveform signal is a current ripple signal. The current position is obtained based on the number of ripples in the current ripple signal and the preset coefficient. The preset coefficient is determined by the transmission system structural parameters.

[0022] If the seat motor is a Hall motor, the motor waveform signal is a Hall pulse signal. The current position is obtained based on the number of pulses in the Hall pulse signal and the preset coefficient. The preset coefficient is determined by the transmission system structural parameters.

[0023] In one possible implementation, the target edge code segment is matched with the reference edge code segment corresponding to a preset calibration segment to obtain a matching result, including:

[0024] Match the target edge code segment with the reference edge code segment corresponding to the preset calibration segment;

[0025] If the target edge code segment is matched in the reference edge code segment, determine the target code length of the target edge code segment;

[0026] If, among the sub-segments contained in the reference edge code segment, only the target edge code segment has the target code length, a matching result indicating the calibration of the seat position is obtained;

[0027] If there are multiple target code length sub-segments among the sub-segments contained in the reference edge code segment, a matching result indicating that the seat position is not calibrated is obtained;

[0028] If the target edge code segment is not matched in the reference edge code segment, a matching result indicating that the target edge code segment is not matched in the reference edge code segment is obtained.

[0029] In one possible implementation, the seat position self-calibration method further includes:

[0030] When the matching result indicates that the seat position is not calibrated, the calibration confidence adjustment value corresponding to the code length of the target edge code segment is adjusted upward based on the current calibration confidence. The calibration confidence is used to characterize the probability of performing the calibration operation.

[0031] When the adjusted calibration confidence level is greater than or equal to the confidence level threshold, the seat position is calibrated based on the target edge code segment and the reference edge code segment.

[0032] In one possible implementation, the code length is positively correlated with the calibration confidence adjustment value.

[0033] In one possible implementation, the seat position self-calibration method further includes:

[0034] If the matching result indicates that the target edge segment was not matched in the reference edge segment, or if the calibration confidence is cleared to zero after the seat position is calibrated.

[0035] Secondly, this application provides a seat position self-calibration device, wherein the sliding stroke of the seat includes a calibration segment, and the seat position self-calibration device includes:

[0036] The acquisition module is used to acquire the target edge code segment of the calibration segment during the seat sliding process;

[0037] The matching module is used to match the target edge code segment with the reference edge code segment corresponding to the preset calibration segment to obtain the matching result. The reference edge code segment contains the position coordinates of each calibration point in the calibration segment and the edge code.

[0038] The calibration module is used to calibrate the seat position based on the target edge code segment and the reference edge code segment when the matching result indicates that the seat position is to be calibrated.

[0039] In one possible implementation, the calibration module is specifically used to: for each edge code in the target edge code segment, determine the error corresponding to the edge code based on the edge coordinates corresponding to the edge code in the reference edge code segment and the current position coordinates; determine the mean error based on the error corresponding to each edge code in the target edge code segment; and calibrate the vehicle seat position based on the sum of the mean error and the current position coordinates.

[0040] In one possible implementation, the acquisition module is specifically used to: acquire calibration-related signals obtained during the continuous sliding of the seat; and perform edge code detection on the calibration-related signals to obtain the target edge code segment of the calibration segment during the seat sliding process.

[0041] In one possible implementation, the calibration-related signal includes a calibration signal and a motor waveform signal. The acquisition module is further configured to: determine the current position of the seat on the seat slide rail based on the motor waveform signal; and determine the target edge code segment within a first range of the current position based on the edge code encoding method corresponding to the reference edge code segment and the change amplitude of the calibration signal.

[0042] In one possible implementation, the acquisition module is further configured to: if the seat motor is a ripple motor and the motor waveform signal is a current ripple signal, obtain the current position based on the number of ripples in the current ripple signal and a preset coefficient, wherein the preset coefficient is determined by the transmission system structural parameters; if the seat motor is a Hall motor and the motor waveform signal is a Hall pulse signal, obtain the current position based on the number of pulses in the Hall pulse signal and a preset coefficient, wherein the preset coefficient is determined by the transmission system structural parameters.

[0043] In one possible implementation, the matching module is specifically used for: matching the target edge code segment with the reference edge code segment corresponding to the preset calibration segment; if the target edge code segment is matched in the reference edge code segment, determining the target code length of the target edge code segment; if only the target edge code segment has the target code length among the sub-code segments included in the reference edge code segment, obtaining a matching result indicating that the seat position is calibrated; if there are multiple sub-code segments with the target code length among the sub-code segments included in the reference edge code segment, obtaining a matching result indicating that the seat position is not calibrated; if the target edge code segment is not matched in the reference edge code segment, obtaining a matching result indicating that the target edge code segment is not matched in the reference edge code segment.

[0044] In one possible implementation, the calibration module is further configured to: when the matching result indicates that the seat position is not calibrated, adjust the calibration confidence adjustment value corresponding to the code length of the target edge code segment upward based on the current calibration confidence, wherein the calibration confidence is used to characterize the probability of performing the calibration operation; and when the adjusted calibration confidence is greater than or equal to the confidence threshold, calibrate the seat position according to the target edge code segment and the reference edge code segment.

[0045] In one possible implementation, the code length is positively correlated with the calibration confidence adjustment value.

[0046] In one possible implementation, the matching module is further configured to: reset the calibration confidence to zero when the matching result indicates that no target edge code segment was matched in the reference edge code segment, or after the seat position has been calibrated.

[0047] Thirdly, this application provides an electronic device, including: a memory and a processor;

[0048] The memory stores instructions that the computer executes;

[0049] The processor executes computer execution instructions stored in memory, causing the processor to perform the first aspect and / or various possible implementations of the first aspect as described above.

[0050] Fourthly, this application provides a computer-readable storage medium storing computer-executable instructions, which, when executed, are used to implement the first aspect and / or various possible embodiments of the first aspect.

[0051] Fifthly, this application provides a computer program product, including a computer program that, when executed, implements the first aspect and / or various possible implementations of the first aspect.

[0052] The seat position self-calibration method, apparatus, and electronic device provided in this application include a calibration segment within the seat's sliding stroke. The method acquires a target edge code segment of the calibration segment during the seat's sliding process, matches the target edge code segment with a preset reference edge code segment corresponding to the calibration segment, and obtains a matching result. The reference edge code segment includes the position coordinates and edge code of each calibration point in the calibration segment. When the matching result indicates that the seat position needs to be calibrated, the seat position is calibrated based on the target edge code segment and the reference edge code segment. This application, during normal seat use, increases the frequency of seat position calibration by sliding the seat, thereby improving the flexibility of seat position calibration and promptly eliminating seat positioning errors. Furthermore, by acquiring the target edge code segment of the calibration segment during the seat's sliding process and calibrating the seat position based on the target edge code segment, the accuracy of seat position positioning is improved. Attached Figure Description

[0053] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.

[0054] Figure 1 This application provides a schematic diagram of Hall motor signal generation and a Hall waveform example.

[0055] Figure 2 A schematic diagram of motor ripple sampling and a ripple waveform example provided in this application;

[0056] Figure 3 Flowchart of the seat position self-calibration method provided in this application Figure 1 ;

[0057] Figure 4 A schematic diagram showing the relationship between the calibration section, calibration segment, calibration point and seat travel provided for this application;

[0058] Figure 5 Example diagrams of calibration segment codes and calibration points provided for this application;

[0059] Figure 6 Example diagrams of calibration segment coding period extension and its truncation provided for this application;

[0060] Figure 7 The calibration code (7-bit Barker code) provided for this application and its corresponding calibration point code and edge code;

[0061] Figure 8 A schematic diagram illustrating the edge codeword error calculation and codeword matching calculation provided in this application;

[0062] Figure 9a The diagram illustrating the seat position self-calibration process provided in this application Figure 2 ;

[0063] Figure 9b A schematic diagram of the mechanical resistance mechanism provided in this application;

[0064] Figure 9c The diagram illustrating the seat position self-calibration process provided in this application Figure 3 ;

[0065] Figure 10a The diagram illustrating the seat position self-calibration process provided in this application Figure 4 ;

[0066] Figure 10b A schematic diagram of the photoelectric position self-calibration mechanism provided in this application;

[0067] Figure 10cThe diagram illustrating the seat position self-calibration process provided in this application Figure 5 ;

[0068] Figure 11 A schematic diagram of the seat position self-calibration device provided in this application;

[0069] Figure 12 A schematic diagram of the structure of the electronic device provided in this application.

[0070] The accompanying drawings illustrate specific embodiments of this application, which will be described in more detail below. These drawings and descriptions are not intended to limit the scope of the concept in any way, but rather to illustrate the concept of this application to those skilled in the art through reference to particular embodiments. Detailed Implementation

[0071] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.

[0072] It should be noted that the seat position self-calibration method, device, and electronic equipment of this application can be used in the field of seat control technology, and can also be used in any field other than the field of seat control technology. The application field of the seat position self-calibration method, device, and electronic equipment of this application is not limited. In addition, the seat position self-calibration method, device, and electronic equipment of this application can be used to calibrate the seat position of vehicles, and can also be used to calibrate the seat position of other means of transportation, such as airplanes, ships, trains, light rail trams, etc.

[0073] It should also be noted that the electric seat is equipped with DC permanent magnet brushed motors that drive the seat to move forward and backward and the backrest to tilt. This application uses the forward and backward movement of the seat as an example for explanation, but the principle is also applicable to the electronic control adjustment of other dimensions of the seat (such as the backrest tilt).

[0074] Currently, there are two ways for the controller to obtain the angular displacement of the seat motor. The first method, for Hall motors, is... Figure 1 Figure (a) shows a schematic diagram of Hall effect motor signal generation. Two Hall sensors are mounted on the stator of the motor at a 90-degree phase difference. A magnetic pole ring is mounted on the rotor shaft of the motor. When the motor rotor rotates, the S and N pole magnetic fields on the magnetic pole ring alternately pass through the magnetic induction zone of the Hall sensors fixed on the stator. The two Hall sensors periodically output two A-phase and B-phase pulses with a 90° phase difference, as shown in Figure (a). Figure 1Figure (b) shows a Hall waveform example. The motor speed can be determined by the period of the A-phase or B-phase pulse, the direction of rotation of the motor can be determined by the relative phase lead or lag relationship between the A-phase and B-phase pulses, and the cumulative number of Hall pulses in a time period can determine the angular displacement of the motor.

[0075] The second type, for ripple motors, such as Figure 2 The present application provides a schematic diagram of motor ripple sampling and a ripple waveform example. The angular displacement of the motor can be determined by the cumulative number of cycles of the current ripple signal superimposed on the motor current, and the rotation direction of the motor can be determined by the direction of the motor current.

[0076] Whether the motor angular displacement is expressed using the number of Hall pulse cycles or the number of current ripple cycles within a certain period, multiplying it by a transformation coefficient determined by the transmission system structural parameters will yield the absolute linear displacement of the seat (in millimeters) or the seat back tilt angle (in degrees).

[0077] However, using current ripple to determine the angular displacement of a seat motor has inaccuracies. One reason is that the seat motor experiences a large inrush current during startup. As the motor speed gradually increases from zero, the current rises sharply and then declines gradually. The current ripple signal is superimposed on this rapidly changing inrush current, making it difficult for the controller to accurately count the number of ripple cycles. Another reason is that during the braking phase of the seat motor, the intensity of both the motor current and the current ripple signal decays rapidly, again making it difficult for the controller to accurately count the number of ripple cycles. Therefore, for a ripple motor, each start and stop introduces an error in angular displacement measurement, and this error accumulates after multiple starts and stops.

[0078] For the electronic control of the seat, the fore-and-aft positioning is related to two important functions: first, whether the current seat position is within the anti-pinch zone (if so, the anti-pinch function must be provided); and second, the seat's welcoming function. The welcoming function refers to the seat moving forward and backward to a suitable position to facilitate the user's entry after the driver or passenger opens the door, and then returning to the preset comfortable position after the user is seated. This requires that the controller's cumulative positioning error for the seat does not exceed the allowable range. If there is a possibility of exceeding the allowable range, the seat position must be calibrated to eliminate the cumulative positioning error.

[0079] In related technologies, the method for calibrating the seat position typically involves a specialist driving the seat to the front or rear dead center. Utilizing the characteristic that the current surges sharply when the seat motor stalls at the front or rear dead center, the controller identifies that the seat has reached the front or rear dead center of the seat guide rail. The controller then sets the variable representing the seat's current position (e.g., the number of Hall pulse or current ripple cycles) to zero or to its maximum travel, thereby achieving absolute seat position calibration. After seat position calibration, the controller updates the variable representing the seat's current position based on the number of Hall pulse or current ripple cycles acquired during each start-stop cycle of the motor.

[0080] However, the front and rear stops of the seat are the extreme positions of the seat in the fore-aft direction. Users rarely adjust the seat to such extreme positions during normal vehicle use. Therefore, the fore-aft position calibration of the seat is usually completed by specialized personnel using special software tools, such as on the production line or at after-sales service stations by specialized personnel using special equipment.

[0081] Based on the above, the inventors discovered that if seat positioning and speed control are achieved based on current ripple signals, the cumulative error increases with each start and stop of the seat motor. Therefore, after a certain number of motor start and stop cycles, the seat position needs to be calibrated; otherwise, the cumulative error may exceed the allowable range, making it impossible to accurately determine whether the seat is in the anti-pinch zone (leading to false anti-pinch). Furthermore, it cannot guarantee accurate return of the seat to the preset user comfort position during welcoming activities, affecting user experience and even causing inconvenience. This is also a key challenge in the widespread application of ripple positioning technology in seat motor electronic control.

[0082] The waveform of the Hall pulse is unaffected by the start-stop of the seat motor. Theoretically, it produces no error regardless of the number of starts and stops, or whether the movement is forward or backward. Therefore, seats using Hall signals for positioning generally do not require periodic calibration after factory calibration; position calibration is only performed as needed during scheduled maintenance at a service station. However, if the controller loses its position memory due to abnormal power outages or other reasons, position calibration is also necessary.

[0083] Using the current ripple signal of the seat motor instead of the Hall pulse signal for seat positioning can eliminate the Hall element, its associated magnet ring, and related circuitry in the seat motor, thereby reducing the cost of the motor. However, each start-up of the seat motor generates a large inrush current that will disrupt several cycles of the ripple waveform. Each stop (braking) of the seat motor will also disrupt several cycles of the ripple waveform due to the rapid attenuation of the current ripple signal. Even with compensation measures, each start-up and stop of the seat motor will inevitably cause the ripple counter to generate about 10 counting errors. The cumulative error from multiple start-ups and stop-ups may cause the ripple counting error to exceed the positioning accuracy requirements.

[0084] To address the aforementioned technical problems, this application provides a seat position self-calibration method, apparatus, and electronic device. A calibration segment is set within the seat's travel range. Optionally, the calibration segment can be set at frequently traversed positions during the sliding travel. This allows for frequent self-calibration of the seat position during normal user use, increasing the frequency of seat position calibration and thus improving the flexibility of seat position calibration. It also helps to promptly eliminate seat positioning errors and ensures that the cumulative error of seat positioning does not exceed system design requirements. Furthermore, by acquiring edge code segments and utilizing these segments for seat position calibration, the accuracy of seat position positioning is improved.

[0085] The technical solution of this application and how the technical solution of this application solves the above-mentioned technical problems are described in detail below with specific embodiments. These specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments. The embodiments of this application will now be described with reference to the accompanying drawings.

[0086] Figure 3 Flowchart of the seat position self-calibration method provided in this application Figure 1 ,like Figure 3 As shown, the seat position self-calibration method includes the following steps:

[0087] S301. Obtain the target edge code segment of the calibration segment during the seat sliding process.

[0088] The travel corresponding to a single sliding seat movement can include the complete calibration segment. For example, when the travel of a single sliding movement is large enough, it can include the complete calibration segment.

[0089] Alternatively, the travel corresponding to a single seat slide may include a portion of the calibration segment. For example, when the single slide travel is short, it may include a portion of the calibration segment, or it may not include the calibration segment at all.

[0090] Optionally, the travel corresponding to a single sliding seat movement can be understood as the travel corresponding to a single continuous sliding seat movement. Correspondingly, for intermittent sliding seats, each continuous sliding movement can be treated as an independent sliding movement, and for each continuous sliding movement, the target edge code segment corresponding to the calibration segment in the current continuous sliding seat movement can be obtained.

[0091] That is, the target edge code segment of the calibration segment during the seat sliding process can be the target edge code segment of the current continuous sliding corresponding to the calibration segment.

[0092] For example, a calibration segment contains multiple calibration points. These calibration points are set within the seat's travel range, for instance, at the most frequently sliding travel segment or at the starting point of the seat's anti-pinch zone. Optionally, a calibration segment consists of several "sections" (or codewords) arranged according to a specific encoding rule, such as the Barker code. If the codeword of a "section" differs from that of an adjacent "section," the boundary between this "section" and the adjacent "section" is called a "calibration point." This composite calibration segment structure allows the seat to perform frequent position self-calibration during normal use.

[0093] like Figure 4 This diagram illustrates the relationship between the calibration segment, calibration section, calibration point, and seat travel provided in this application. The seat's sliding travel (or seat travel) includes the calibration segment, which is only used as an example. The calibration segment consists of 7 "sections," and the calibration points include a, b, c, d, e, and f. The calibration points are encoded to obtain calibration point codes; a, b, c, d, e, and f can also be called calibration point codes. Edge codes typically appear at the boundary line between two adjacent "sections," and the boundary line is encoded to obtain edge codes.

[0094] The target edge code segment contains at least one edge code. Optionally, the target edge code segment is typically acquired at the end of the continuous sliding seat movement. If the sliding stroke is long, the target edge code segment can also be acquired during the continuous sliding seat movement.

[0095] S302. Match the target edge code segment with the reference edge code segment corresponding to the preset calibration segment to obtain the matching result. The reference edge code segment includes the position coordinates and edge code of each calibration point in the calibration segment.

[0096] For example, on a factory production line, full-stroke learning is performed from the top dead center to the bottom dead center of the seat. Through this learning process, the reference template position coordinates and edge codes of each calibration point in the complete calibration segment are established. The position coordinates are represented by the number of Hall pulses or the number of ripples. The table is stored in the controller's non-volatile memory, such as EEPROM, as a reference template. This reference template can characterize the reference edge code segment.

[0097] It should be noted that for the same calibration segment, the generated target edge code segments are opposite when the seat slides from front to back and from back to front. The edge code can be a three-valued code, such as P, N, and O, where P represents a positive edge, N represents a negative edge, and O represents no edge. As an example, if the motor current signal changes abruptly from a falling edge to a rising edge, the corresponding edge code is P; if the motor current signal changes abruptly from a rising edge to a falling edge, the corresponding edge code is N; and if the motor current signal does not change abruptly, the corresponding edge code is O.

[0098] For example, if the target edge code segment corresponding to the seat sliding from front to back is "NOPOPOON", then the target edge code segment corresponding to the seat sliding from back to front is "NOOPOPON". In actual implementation, the sliding direction of the seat can be determined by the direction of the motor current. Based on the reference template, a reference edge code segment corresponding to the continuous sliding direction of the seat can be obtained. For example, if the seat slides from front to back, the reference edge code segment corresponding to the preset calibration segment is "NOPNPOON", and "NOPOPOON" is matched with "NOPNPOON".

[0099] When performing edge code segment matching calculations, it can be considered that each bit of the target edge code segment is matched against the reference edge code segment. For example, only PP=0, NN=0, and OO=0; the results for PN, PO, NP, NO, OP, and ON are all 1. 1 indicates that the two edge codes do not match, and 0 indicates that the two edge codes match. When the target edge code segment and the reference edge code segment are completely matched, it can be understood that every edge code in the two edge code segments is the same. If any edge code in the target edge code segment is different from the corresponding edge code in the reference edge code segment, then it is determined that the target edge code segment and the reference edge code segment do not match.

[0100] S303. When the matching result indicates that the seat position is calibrated, the seat position is calibrated according to the target edge code segment and the reference edge code segment.

[0101] The calibration of the seat position can be understood as correcting the current position of the seat, i.e., correcting the number of Hall pulses or ripples stored in the controller. The reference edge code segment contains the position coordinates of each calibration point in the calibration segment. These position coordinates can be understood as the theoretical value of the number of Hall pulses or ripples corresponding to each calibration point, or the actual position of each calibration point on the guide rail. Therefore, a mismatch in the edge codes indicates a large deviation between the current seat position stored in the controller and the actual position; a match indicates a small deviation.

[0102] For example, the controller stores a variable called the current position, which can be represented by the number of Hall pulses or the number of ripples. In one possible implementation, the variable of the current position can be corrected based on the target edge code segment and the reference edge code segment.

[0103] It should be noted that during normal vehicle use, the self-calibration of the seat position occurs at least during the seat's welcoming process and when the user adjusts the seat's fore-aft position.

[0104] In this embodiment, during normal use of the seat, frequent self-calibration of the seat position is achieved by sliding the seat, increasing the frequency of seat position calibration and thus improving the flexibility of seat position calibration, ensuring that the cumulative error of seat positioning does not exceed the system design requirements. By acquiring the target edge code segment of the calibration segment during the seat sliding process, the position calibration is performed using the target edge code segment, improving the accuracy of seat position positioning. Compared with related technologies where the seat position is calibrated by specialized personnel using dedicated equipment, achieving frequent self-calibration of the seat position through continuous seat sliding reduces labor costs.

[0105] In addition, by frequently self-calibrating, the application of ripple positioning technology in the fore-and-aft sliding positioning of seats is promoted, which also enables the use of ripple motors in seat electric control. Compared with Hall motors, the use of ripple motors for seat electric control reduces costs, and the Hall sensor in the seat motor can be eliminated without compromising the user experience, thus achieving cost reduction.

[0106] While Hall effect positioning generally does not generate cumulative positioning errors, it addresses the issue that manual calibration using specialized equipment is required when the controller loses its memory of the seat's position due to abnormal power outages or other reasons. By enabling frequent self-calibration, the reliability of Hall effect positioning can be improved while reducing labor costs.

[0107] In some embodiments, obtaining the target edge code segment of the calibration segment during the seat sliding process includes:

[0108] Step 3011: Obtain calibration-related signals during the continuous sliding of the seat.

[0109] The calibration-related signals are determined by the type and calibration method of the seat motor. Examples of seat motors include ripple motors and Hall effect motors. Calibration methods include mechanical resistance mechanism calibration and photoelectric position self-calibration mechanism calibration. The calibration-related signals carry characteristics of signal changes as the seat passes through calibration points during continuous sliding. Analysis of these characteristics allows for effective calibration of the seat position.

[0110] For example, when the seat motor drives the seat to slide continuously on the guide rail, if the seat motor is a ripple motor, the calibration-related signals include the signal generated by the ripple motor if a mechanical resistance mechanism calibration method is used, and the calibration-related signals include the signal generated by the ripple motor and the light reception intensity signal if a photoelectric position self-calibration mechanism calibration method is used. When the seat motor is a Hall motor, if the mechanical resistance mechanism calibration method is used, the calibration-related signals include the signal generated by the Hall motor, and the calibration-related signals include the signal generated by the Hall motor and the light reception intensity signal if a photoelectric position self-calibration mechanism calibration method is used.

[0111] Optionally, the calibration signals may also include the seat motor speed.

[0112] In one implementation, a controller acquires signals generated by the seat motor and / or light intensity signals output by a light receiver.

[0113] Step 3012: Perform edge code detection on the calibration-related signals to obtain the target edge code segment of the calibration segment during the seat sliding process.

[0114] See Figure 4 Considering that there is no calibration point code at the boundary line between two adjacent "segments" with the same codeword, while the edge code can exist at every boundary line in the calibration segment, detecting the edge code can better reflect the changing characteristics of the calibration-related signal.

[0115] When the seat slides through any one of the calibration points a, b, c, d, e, and f, the calibration-related signals collected by the controller will change accordingly. For example, the motor current signal may suddenly increase or decrease, the seat motor speed may change abruptly, or the light reception intensity signal may suddenly increase or decrease, etc. By identifying the changing characteristics of the calibration-related signals, edge codes can be detected.

[0116] In one implementation, edge code detection is performed based on the abrupt change characteristics of the motor current signal. During the seat sliding process, if the motor current signal changes abruptly from a rising edge to a falling edge, it is determined that an edge code has been detected; or, if the motor current signal changes abruptly from a falling edge to a rising edge, it is determined that an edge code has been detected.

[0117] In another implementation, edge code detection is performed based on the abrupt change characteristics of the seat motor speed. During the seat sliding process, if the seat motor speed abruptly changes from the normal range to below the threshold, it is determined that an edge code has been detected. Alternatively, if the seat motor speed abruptly changes from below the threshold to the normal range, it is determined that an edge code has been detected.

[0118] In another implementation, edge codes are detected based on the abrupt change characteristics of the light received intensity signal. During the seat sliding process, if the light received intensity signal changes abruptly from the normal range to below the threshold, it is determined that an edge code has been detected. Alternatively, if the light received intensity signal changes abruptly from below the threshold to the normal range, it is determined that an edge code has been detected.

[0119] It is understandable that during the continuous sliding of the seat, the edge code is continuously detected to generate multiple edge codes. When the continuous sliding ends, the target edge code segment corresponding to the continuous sliding segment can be determined. For example, if the amplitude of the motor current signal is detected to be lower than a certain threshold, it is determined that the seat motor stops running, that is, the continuous sliding ends.

[0120] In this embodiment, the accuracy of calibration point identification is improved by detecting edge codes during the seat sliding stroke, thereby eliminating seat positioning errors in a timely manner and ensuring the accuracy of seat position positioning by the controller.

[0121] In some embodiments, the calibration-related signal includes a calibration signal and a motor waveform signal. Edge code detection is performed on the calibration-related signal to obtain the target edge code segment of the calibration segment during the seat sliding process, including:

[0122] Step 1.1: Determine the current position of the seat on the seat rail based on the motor waveform signal.

[0123] For example, if the seat motor is a ripple motor, then the motor waveform signal is a current ripple signal; further, if the calibration section uses a mechanical resistance mechanism to calibrate the position, then the calibration signal is a motor current signal; if the calibration section uses a photoelectric position self-calibration mechanism to calibrate the position, then the calibration signal is a light reception intensity signal.

[0124] In another example, if the seat motor is a Hall motor, the motor waveform signal is a Hall pulse signal; furthermore, if the calibration section uses a mechanical resistance mechanism to calibrate the position, the calibration signal is a motor current signal; if the calibration section uses a photoelectric position self-calibration mechanism to calibrate the position, the calibration signal is a light reception intensity signal.

[0125] In one feasible approach, determining the current position of the seat on the seat rail based on the motor waveform signal includes: if the seat motor is a ripple motor, the motor waveform signal is a current ripple signal, and the current position is obtained based on the number of ripples in the current ripple signal and a preset coefficient, wherein the preset coefficient is determined by the transmission system structural parameters; if the seat motor is a Hall motor, the motor waveform signal is a Hall pulse signal, and the current position is obtained based on the number of pulses in the Hall pulse signal and a preset coefficient, wherein the preset coefficient is determined by the transmission system structural parameters.

[0126] For example, the controller extracts the number of ripple cycles from the acquired current ripple signal to obtain the number of ripples. The number of ripples can be used to determine the angular displacement of the seat motor. The transmission system structural parameters include transmission mechanism constants such as reduction ratio and pitch. The angular displacement is multiplied by a preset coefficient to obtain the current position of the seat on the seat slide rail, and the current position is stored.

[0127] For Hall motors, the controller extracts the number of pulse cycles from the collected Hall pulse signals to obtain the number of pulses. The angular displacement of the seat motor can be determined by the number of pulses. The transmission system structural parameters include transmission mechanism constants such as reduction ratio and pitch. The angular displacement is multiplied by a preset coefficient to obtain the current position of the seat on the seat slide rail.

[0128] In other words, the controller first extracts the current ripple signal from the acquired calibration-related signals, then extracts the number of ripple cycles to obtain the number of ripples. Using the number of ripples as an index, and based on the synchronization relationship between the current ripple signal and the motor current signal during ADC sampling, a data sequence of motor current and ripple cycle count is established. That is, a data sequence with time on the horizontal axis and motor current on the vertical axis is converted to a data sequence with ripple cycle count on the horizontal axis and motor current on the vertical axis, where the ripple cycle count represents the current position. Alternatively, based on the synchronization relationship between the current ripple signal and the light receiving intensity during ADC sampling, a data sequence of ripple cycle count and light receiving intensity is established. That is, a data sequence with time on the horizontal axis and light receiving intensity on the vertical axis is converted to a data sequence with ripple cycle count on the horizontal axis and light receiving intensity on the vertical axis, where the ripple cycle count represents the current position.

[0129] If a Hall effect motor is used, the Hall pulse signal is extracted from the collected calibration-related signals, and then the number of pulse cycles is extracted to obtain the pulse count. Using the pulse count as an index, and based on the synchronization relationship between the Hall pulse signal and the motor current signal during ADC sampling, a data sequence of motor current and pulse cycle count is established. That is, a data sequence with time on the horizontal axis and Hall pulses on the vertical axis is converted to a data sequence with pulse count on the horizontal axis and Hall pulses on the vertical axis, where the pulse count represents the current position. Alternatively, based on the synchronization relationship between the Hall pulse signal and light reception intensity during ADC sampling, a data sequence of pulse cycle count and light reception intensity is established. That is, a data sequence with time on the horizontal axis and light reception intensity on the vertical axis is converted to a data sequence with pulse count on the horizontal axis and light reception intensity on the vertical axis, where the pulse count represents the current position.

[0130] Step 1.2: Based on the edge code encoding method corresponding to the reference edge code segment, determine the target edge code segment within the first range of the current position according to the change amplitude of the calibration signal.

[0131] Among them, the edge code encoding method is based on Barker code encoding. The edge code is generated between two adjacent codewords. According to the code values ​​on both sides of the boundary line between codewords in the calibration segment encoding, the boundary line is encoded, which is called the edge code. As an example, Barker code with ideal autocorrelation properties is used as the calibration segment encoding.

[0132] For example, Barker codes of various lengths can be represented as follows:

[0133] 4-digit Buck code: ++-+

[0134] 5-digit Buck code: +++-+

[0135] 7-digit Buck code: +--+-++

[0136] 11-digit Buck code: +---+--+-++

[0137] like Figure 5 Example diagrams of calibration segment codes and calibration points provided in this application. Figure 5 The diagram illustrates the calibration points when using 7-bit and 11-bit Barker codes as calibration segment encoding. Taking the 7-bit Barker code as an example, its codewords are "+--+-++", with a total of 7 codewords. For the calibration positions of the mechanical resistance mechanism and the photoelectric self-calibration mechanism, the specific length of each codeword on the seat guide rail is set as needed. The total length of the code segment (i.e., the calibration segment) is the length of a single codeword multiplied by the number of codewords. If the length of a single codeword is 5cm, then the total length of the 7-bit code calibration segment is 5*7=35cm.

[0138] Furthermore, the calibration segments on the seat guide rail are not limited to a single-cycle Barker code; they can also be multiple-cycle Barker codes. Multiple-cycle Barker codes can be obtained by periodically extending the calibration point code. The periodic extension method specifically includes: copying the same calibration segment code for one cycle on each side of the main calibration segment code, and then truncating the left and right sides to the required length as needed. Barker codes possess ideal autocorrelation characteristics, providing high-precision positioning results and position calibration points. Figure 6 Example diagrams of the calibration segment coding period extension and its truncation provided in this application are shown below. Figure 6 As shown in (c), after extending the main calibration segment encoding by one cycle on both sides, four codewords are extracted from each side, resulting in the final calibration segment encoding as cdef(a)-bcdef(a)-bcd. Figure 6 Image (a) shows the 7-bit Barker code (+--+-++) encoding. Figure 6 Figure (b) shows the encoding (+++--+-++) after left-shifting the 7-bit Barker code (+--+-++) by 2 codewords. After periodic expansion, the encoding of any phase is taken with the original code length, and its autocorrelation characteristics remain unchanged.

[0139] Furthermore, based on step 3012, combined with Figure 7 The encoding method of edge code will be further explained. Figure 7 The calibration code (7-bit Barker code) and its corresponding calibration point code and edge code provided for this application, such as Figure 7 As shown, the edge codes are P, N and O, where P represents a code value of 0 (−) on the left side of the boundary and a code value of 1 (+) on the right side; N represents a code value of 1 (+) on the left side of the boundary and a code value of 0 (−) on the right side; O represents a code value of 1 (+) on the left side and a code value of 1 (+) on the right side, or a code value of 0 (−) on the left side and a code value of 0 (−) on the right side.

[0140] It is worth noting that, for Figure 7The method for determining the edge codes of the starting point 'a' and ending point 'f' of the indexed code includes first performing periodic extension, and then using the edge code encoding method, combined with... Figure 6 As can be seen from (c), after periodic extension, point f coincides with point a. The code value on the left side of point f(a) is 1 (+), and the code value on the right side is 1 (+). Therefore, the edge code of point f(a) is "0".

[0141] When the edge code at the start and end positions of the calibration segment is not "0", taking the 7-bit Barker code as an example, the sub-code segments of codewords of different lengths are shown in Table 1.

[0142] Table 1

[0143]

[0144]

[0145] In Table 1, the continuous codeword length represents the code length of the edge code segment corresponding to the continuous slip segment. Based on the rules of Barker codes, the representation of the sub-code segment is illustrated with an example. For instance, when the continuous codeword length is 4, bcde(NOPNP) represents starting from calibration point b, passing through calibration point c, then through calibration point d, and finally reaching calibration point e, including 4 calibration points (b, c, d, e) from beginning to end. See also... Figure 7 and Figure 4 As can be seen, the sub-code segment bcde(NOPNP) goes through 4 "sections" (sections are codewords). That is to say, the number of codewords or sections contained in the sub-code segment is the length of the continuous codeword. When the length of the continuous codeword is 1, cd(PN) means that it starts from the calibration point c and reaches the calibration point d, going through 1 "section" (section is codeword). When the length of the continuous codeword is 2, bc(NOP) means that it starts from the calibration point b and reaches the calibration point c, going through 2 "sections" (sections are codewords).

[0146] Each segment boundary edge can be a rising edge (P), a falling edge (N), or an invariant edge (O). In bcde(NOPNP), bcde is called the calibration point code, and NOPNP is called the edge code. bcde(NOPNP) contains 4 calibration points (b, c, d, e), 4 segments, and 5 edges (NOPNP). The order of the edges is from left to right. If the sliding direction of the seat is reversed, the order of the calibration points and the edge order must also be reversed. For example, when sliding from left to right, it is bcde(NOPNP), and when sliding from right to left, it becomes edcb(PNPON).

[0147] For example, the calibration point code corresponding to the preset calibration segment is bcdef(a)-b. During the seat sliding process, the controller performs edge code detection within the first range based on the value of the current position variable to detect whether there is a sudden change in the amplitude of the calibration signal (motor current signal or light reception intensity signal). The current position variable is continuously maintained by the controller and can be determined by the number of Hall pulses or ripples. (Refer to...) Figure 8 As shown, Figure 8 In diagram (a), the seat is currently slid to the position between calibration points b and c. Within a certain range of the boundary line L, edge code detection is performed. If the amplitude of the calibration signal changes abruptly, it is determined that an edge code exists within that range. If the change is from a rising edge to a falling edge, the edge code is N; if the change is from a falling edge to a rising edge, the edge code is P; if there is no change, there may be no edge code, or the edge code may be O. When the continuous sliding of the seat ends, i.e., the seat motor stops running, the amplitude of the calibration signal will decrease. If it is lower than a preset threshold, it is determined that the continuous sliding has ended. At this time, an edge code segment containing only N and P is obtained. The length of each codeword in the calibration segment is the same. Based on this characteristic, the target edge code segment can be generated by uniformly inserting edge code O between the edge codes N and P. The target edge code segment is as follows: Figure 8 As shown in (c), the target edge code segment is NOPNPOO.

[0148] In this embodiment, by applying Barker codes with ideal autocorrelation characteristics to calibration segment coding, high-precision position positioning results and position calibration points can be provided. Based on this, the target edge code segment is determined by using the variation amplitude of the calibration signal, enabling the system to better adapt to environmental changes and signal fluctuations, and enhancing the robustness and reliability of the system. By performing accurate edge code segment identification within the first range of the current position, a foundation is provided for improving the accuracy of seat position self-calibration.

[0149] Some embodiments calibrate the seat position based on the target edge code segment and the reference edge code segment, including:

[0150] Step 2.1: For each edge code in the target edge code segment, determine the error corresponding to the edge code based on the edge coordinates of the edge code in the reference edge code segment and the current position coordinates.

[0151] Still combined Figure 8 This embodiment will be described below. Figure 8 This is a schematic diagram illustrating the calculation of edge codeword error and codeword matching provided in this application.

[0152] like Figure 8 As shown in (b), the reference edge code segment is NOPNPOO, S [i] S represents the edge coordinates. [i]Characterizes the theoretical position of the edge code on the seat guide rail.

[0153] Assuming the seat's continuous sliding travel is long enough, and the target edge code is NOPNPOO, X [i] Represents the current position coordinates, X [i] For the variable continuously maintained by the controller, where i represents the edge number, for a calibration segment code based on a 7-bit Barker code, i = 1, 2, 3... 7, the error M corresponding to each edge code is... [i] =|X [i] -S [i] It should be noted that when i = 8, it belongs to the periodic extension of the codeword.

[0154] For example, for the first edge code N in the target edge code NOPNPOO, the corresponding error M [1] =|X [1] -S [1] | For the second edge code 0 of the target edge code, the corresponding error M [2] =|X [2] -S [2] | and so on.

[0155] Step 2.2: Determine the mean error based on the error corresponding to each edge code in the target edge code segment.

[0156] From step 2.1, the error corresponding to each edge code is equal to |X [i] -S [i] |, then the mean error

[0157]

[0158] Step 2.3: Based on the sum of the mean error and the current position coordinates, calibrate the position of the vehicle seat.

[0159] Set the current position variable X in the controller [i] Corrected to M+X [i] This completes the calibration of the vehicle seat positions.

[0160] In this embodiment, the error corresponding to each edge code during the sliding process is calculated, and the average error of the target edge code segment is determined based on the error. Then, the average error is used to calibrate the vehicle seat position, ensuring that the cumulative error of seat position positioning meets the system design requirements and improving the accuracy of seat position positioning.

[0161] In some embodiments, the target edge code segment is matched with the reference edge code segment corresponding to a preset calibration segment to obtain a matching result, including:

[0162] Step 3.1: Match the target edge code segment with the reference edge code segment corresponding to the preset calibration segment.

[0163] For example, the target edge code segment is compared bit by bit with the reference edge code segment corresponding to the preset calibration segment, or the target edge code segment is matched with the reference edge code segment corresponding to the preset calibration segment based on a correlation algorithm.

[0164] It's worth noting that edge codes are used for matching here instead of point codes because the distance between two codewords in a point code is uncertain. For example, in a 7-bit Barker code, the point code (edge ​​code) is bcdef(a)-b(NOPNPOON), where there are two codewords between point bc and three codewords between point eb. However, this information is not reflected in the point code bcdef(a)-b. The corresponding edge code NOPNPOON, however, can reflect the edge code NOP between point bc and the edge code POON between point eb. The edge code reflects the encoding information when consecutive codewords are the same. Therefore, using edge codes for matching calculations ensures complete consistency between two matching code segments.

[0165] Step 3.2: If the target edge code segment is matched in the reference edge code segment, determine the target code length of the target edge code segment.

[0166] In one example, the travel of a continuously sliding seat is long enough. For instance, during a welcoming motion, after the user opens the car door from the outside, the controller controls the seat to perform a welcoming action (the seat moves backward to facilitate the user's seating). In this case, assuming the target edge code segment corresponding to the continuous sliding segment is NOPNPOO, we still refer to... Figure 8 In (b), Figure 8 In the reference edge code segment (b), NOPNPOO can be completely matched. At this time, the target code length of the target edge code segment is 7.

[0167] Another example is a continuously sliding seat with a short travel distance. For instance, if the user adjusts the seat to their comfortable driving position, and the target edge code segment corresponding to the continuous sliding segment is PNP, then... Figure 8 In (b), Figure 8 In the reference edge code segment (b), a sub-code segment PNP can be matched. At this time, the target code length of the target edge code segment is 2.

[0168] Step 3.3: If, among the sub-segments contained in the reference edge code segment, only the target edge code segment has the target code length, a matching result indicating the calibration of the seat position is obtained.

[0169] Taking a 7-bit Barker code as an example, and referring to Table 1, it can be understood that when the consecutive codeword length is any of 5, 6, or 7, the sub-code segment corresponding to that code length is unique. Therefore, if the target edge code segment is PNPOON, NPOONOP, or NOPNPOON, only the target edge code segment has the target code length among the sub-code segments contained in the reference edge code segment. This situation is called global matching calibration, which can calibrate the seat position with 100% correct probability according to steps 2.1 to 2.3.

[0170] Step 3.4: If there are multiple target code length sub-segments among the sub-segments contained in the reference edge code segment, a matching result indicating that the seat position is not calibrated is obtained.

[0171] Taking the 7-bit Barker code as an example, and referring to Table 1, it can be understood that when the consecutive codeword length is any of 1, 2, 3, and 4, the sub-code segments corresponding to that code length are not unique. Therefore, if the target edge code segment is any of PN, NP, NOP, PNP, NOPN, POON, NOPNP, and NPOON, there are multiple sub-code segments of the target code length among the sub-code segments contained in the reference edge code segment. This situation is called non-global matching enhancement, and in this case, the seat position is not calibrated.

[0172] Step 3.5: If the target edge code segment is not matched in the reference edge code segment, a matching result indicating that the target edge code segment is not matched in the reference edge code segment is obtained.

[0173] For example, if the travel of the continuously sliding seat is long enough, the sliding segment includes bcdef(a)-b, see reference. Figure 8 As shown in (d), the target edge code corresponding to this continuous slip segment is NOPOPOO, and the reference edge code segment is as follows. Figure 8 As shown in (b), NOPNPOO has the fourth codeword NO=1 in both edge code segments, so these two edge code segments do not match. In this case, the seat position is not calibrated.

[0174] In this embodiment, edge codes are used for matching calculations to ensure complete consistency between two matching code segments, thereby improving the accuracy of seat position calibration. At the same time, different matching results indicate whether seat position calibration should be performed, thus improving the reliability of seat position calibration.

[0175] In some embodiments, the seat position self-calibration method further includes: when the matching result indicates that the seat position is not calibrated, adjusting the calibration confidence adjustment value corresponding to the code length of the target edge code segment upward based on the current calibration confidence, wherein the calibration confidence is used to characterize the probability of performing the calibration operation; and when the adjusted calibration confidence is greater than or equal to the confidence threshold, calibrating the seat position according to the target edge code segment and the reference edge code segment.

[0176] For example, the controller maintains a calibration confidence variable in its registers. When the matching result indicates that the seat position should not be calibrated, the calibration confidence adjustment value corresponding to the code length of the target edge code segment is obtained by looking up a table based on the code length of the target edge code segment. This table stores the correspondence between different code lengths and calibration confidence adjustment values. In some embodiments, the code length and the calibration confidence adjustment value are positively correlated. The larger the code length, the larger the calibration confidence adjustment value, the higher the calibration confidence, and thus the greater the probability of performing the calibration operation; the smaller the code length, the smaller the calibration confidence adjustment value, the lower the calibration confidence, and thus the lower the probability of performing the calibration operation. It can be understood that when the matching result indicates that the seat position should be calibrated, if the calibration confidence adjustment value is greater than the confidence threshold, the calibration operation for the seat position can be directly triggered.

[0177] When the adjusted calibration confidence level is greater than or equal to the confidence level threshold, the seat position is calibrated according to steps 2.1 to 2.3 based on the target edge code segment corresponding to the continuous sliding segment of the last continuous sliding seat and the reference edge code segment.

[0178] Optionally, the calibration confidence can also be managed through a confidence accumulator. When the matching result indicates that the seat position is not calibrated, the calibration confidence adjustment value corresponding to the code length of the target edge code segment is added to the confidence accumulator based on the current calibration confidence in the current confidence accumulator.

[0179] In this embodiment, during normal user use of the seat, the calibration confidence level is dynamically adjusted based on the matching results to more accurately determine the timing of seat position calibration, improve seat position calibration accuracy, reduce unnecessary calibration operations, and save system resources. By adjusting the calibration confidence level, the system can better adapt to different usage environments and conditions, providing more stable and reliable performance, thereby providing users with a smoother and more comfortable user experience.

[0180] In some embodiments, the seat position self-calibration method further includes: when the matching result indicates that no target edge code segment is matched in the reference edge code segment, or after calibrating the seat position, resetting the calibration confidence to zero.

[0181] If the matching result indicates that the target edge code segment was not matched in the reference edge code segment, it means that the seat position deviation during this continuous sliding is large, and the calibration confidence is reset to zero.

[0182] Optionally, if the matching result indicates that the target edge code segment is not matched in the reference edge code segment, the mismatch count counter is incremented by 1. The value of the mismatch count counter can be read from the diagnostic port of the controller.

[0183] When the calibration confidence level is greater than or equal to the confidence level threshold, the seat position is calibrated. Therefore, after the seat position is calibrated, the calibration confidence level needs to be cleared to zero in a timely manner to avoid accidental operation.

[0184] In this embodiment, the calibration confidence is zeroed when the matching result indicates that the target edge code segment is not matched in the reference edge code segment. This prevents the long-term impact of erroneous matching results on the system and avoids the accumulation of misoperations. After calibrating the seat position, the calibration confidence is zeroed to ensure the accuracy of subsequent calibration operations. In addition, the calibration logic is simplified by zeroing the calibration confidence.

[0185] Next, through Figure 9a , Figure 9c , Figure 10a and Figure 10c Further explanation is provided regarding the seat position self-calibration method.

[0186] Figure 9a The diagram illustrating the seat position self-calibration process provided in this application Figure 2 .

[0187] like Figure 9a As shown, this seat position self-calibration method is based on a mechanical resistance mechanism and uses a ripple motor for the seat. The seat position self-calibration method includes the following steps:

[0188] 4.1 Current ripple ADC sampling.

[0189] When a user performs a continuous sliding operation of the seat, or when the seat greets guests, the controller collects the signal generated by the seat motor. This signal includes the motor current signal and the current ripple signal superimposed on the motor current signal.

[0190] Execute 4.2 and 4.6.

[0191] 4.2 Ripple Extraction.

[0192] Extract the current ripple signal from the acquired signals generated by the motor.

[0193] 4.3 Periodic segmentation.

[0194] The extracted current ripple signal is periodically segmented to obtain the ripple count.

[0195] 4.4 Ripple Counting.

[0196] 4.5 Determine the current location.

[0197] Based on the number of ripples in the current ripple signal and the preset coefficient, the current position is obtained. The controller extracts the number of ripple cycles from the collected current ripple signal to obtain the number of ripples. The angular displacement of the seat motor can be determined by the number of ripples. The transmission system structural parameters include transmission mechanism constants such as reduction ratio and pitch. The preset coefficient is determined by the transmission system structural parameters. The current position of the seat on the seat slide rail is obtained by multiplying the angular displacement by the preset coefficient.

[0198] 4.6 Motor current extraction.

[0199] The controller extracts the motor current signal from the signals generated by the motor.

[0200] 4.7 Edge code detection.

[0201] Edge code detection is performed based on the motor current signal and the current position to determine the edge code. The current position determines the edge code detection range. Within this range, edge code detection is performed based on the motor current signal.

[0202] 4.8 Determine the single edge code segment.

[0203] Based on a single continuous sliding segment, the single edge code segment (i.e., the target edge code segment) is determined. For details on how to determine the target edge code segment, please refer to step 1.2.

[0204] Execute 4.11.

[0205] 4.9 Determine the motor rotation direction.

[0206] The direction of motor rotation is determined based on the direction of motor current in the motor current signal.

[0207] 4.10. Reference edge code segment generation.

[0208] The controller has a preset edge code template (reference template) which contains the reference template position coordinates and edge codes of each calibration point in the complete calibration segment.

[0209] Based on the edge code template and motor steering, a reference edge code segment corresponding to the continuous sliding direction of the seat is obtained, as detailed in step S302.

[0210] 4.11 Edge segment matching.

[0211] The target edge code segment is compared bit by bit with the reference edge code segment corresponding to the preset calibration segment, or the target edge code segment is matched with the reference edge code segment corresponding to the preset calibration segment based on a correlation algorithm. See step 3.1 for details.

[0212] If the match is successful, proceed to step 4.11 after determining the target code length of the target edge code segment.

[0213] If a match fails, meaning no target edge segment is matched in the reference edge segment, the calibration confidence level is reset to zero.

[0214] 4.12. Determine whether it is a unique code segment.

[0215] Specifically, if among the sub-segments contained in the reference edge code segment, only the target edge code segment has the target code length, it indicates that the sub-segment corresponding to that code length is unique, see step 3.3. Then execute 4.13.

[0216] If the sub-segments contained in the reference edge code segment contain multiple sub-segments of the target code length, it indicates that the sub-segment corresponding to that code length is not unique, see step 3.4. Then proceed to 4.14.

[0217] 4.13. Position calibration.

[0218] It can be regarded as the error mean (correction amount) based on the edge code, which is used to correct the current position variable in the controller.

[0219] The seat position is calibrated based on the target edge code segment and the reference edge code segment, as detailed in steps 2.1 to 2.3.

[0220] After calibrating the seat position, the calibration confidence level is reset to zero.

[0221] 4.14 Match the calibration confidence adjustment value corresponding to the target code length.

[0222] Based on the code length of the target edge code segment, the calibration confidence adjustment value corresponding to the code length of the target edge code segment is obtained by looking up a table. This table stores the correspondence between different code lengths and calibration confidence adjustment values.

[0223] 4.15. Add the calibration confidence level adjustment value to the confidence accumulator.

[0224] Based on the current calibration confidence in the confidence accumulator, adjust the calibration confidence adjustment value corresponding to the code length of the target edge code segment upwards.

[0225] 4.16 Determine whether the current calibrated confidence level in the confidence accumulator is greater than or equal to the confidence threshold.

[0226] When the confidence level is calibrated to be greater than or equal to the confidence threshold in the confidence accumulator, the seat position is calibrated according to 4.13 based on the target edge code segment and the reference edge code segment.

[0227] The above is an explanation of the seat position self-calibration method based on mechanical resistance mechanism calibration and when the seat motor is a ripple motor.

[0228] Optionally, a schematic diagram of the mechanical resistance mechanism is shown below. Figure 9b As shown. Reference Figure 9b The mechanical resistance mechanism includes an elastic element 91 and a calibration section boss 92. The calibration section boss 92 is disposed on the surface of the lower guide rail 93 of the seat facing the upper guide rail 94 and protrudes by a predetermined distance. The elastic element 91 is disposed on the surface of the upper guide rail 94 facing the lower guide rail 93. When the seat slides, the elastic element 91 passes through the calibration section boss 92.

[0229] The mechanical resistance mechanism is installed in the seat travel. During normal vehicle use, the seat slides, for example, during the seat welcoming process or when the user adjusts the seat's fore-and-aft position. The mechanical resistance mechanism plays a role in calibrating the seat position.

[0230] The calibration section boss 92 can be rectangular, circular, polygonal, or other shapes. During installation, the calibration section boss 92 protrudes a certain distance from the surface of the lower guide rail 93 to ensure that the calibration section boss 92 can be contacted by the elastic element installed on the upper guide rail 94 when the seat is sliding, so as to generate mechanical resistance.

[0231] The elastic element 91 is correspondingly positioned within the calibration section. During installation, the elastic element 91 protrudes a certain distance from the surface of the upper guide rail. The elastic element 91 can be rectangular, circular, wavy, triangular, or other shapes. When the seat slides, as the upper guide rail 94 moves on the lower guide rail, the elastic element 91 passes through the calibration section boss 92. After the elastic element 91 contacts the calibration section boss 92, it undergoes a certain deformation. As the compressive force increases, the frictional resistance in the opposite direction of forward movement also increases, causing the seat motor output to exhibit obvious jump characteristics, such as jumps in motor current signal, ripple period, and motor speed.

[0232] There is a gap between the elastic element 91 and the surface of the upper guide rail 94 facing the lower guide rail 93, and an elastic filler 25 is embedded in the gap. The elastic element 91 can be an arc-shaped wear-resistant material.

[0233] It should be noted that, Figure 9b As an example only, in some embodiments, the calibration section boss may also be provided on the surface of the upper guide rail facing the lower guide rail of the seat, and the elastic element may be provided on the surface of the lower guide rail facing the upper guide rail. Further details will not be elaborated here.

[0234] It should be noted that different shapes of elastic elements or calibration section bosses can provide different mechanical properties, affecting the output of the seat motor (e.g., motor current jumps and ripple cycle jump characteristics), and also affecting the user's seating comfort (e.g., the smoothness of the seat operation and mechanical noise during seat sliding). Furthermore, in practical design applications, the magnitude of frictional resistance can be adjusted by changing the stiffness of the elastic element or the height of the calibration section boss; the size of the friction contact surface, the coefficient of friction of the contact surface, and the magnitude of the compressive force can also be controlled to obtain the desired frictional resistance. Properly controlling the magnitude of frictional resistance can minimize the impact on the user while generating significant motor current jumps and / or ripple cycle jump characteristics.

[0235] It should also be noted that when using a mechanical resistance mechanism to calibrate the seat position, no additional hardware resources are required for the controller. The original controller hardware does not need to be changed. Only a module for recognizing the relevant changes in the seat motor output needs to be added to the controller software, such as a module for recognizing the position calibration point using motor current and ripple period information.

[0236] Preferably, the calibration section boss is located in the most frequent travel segment of the seat sliding. This increases the frequency of seat position calibration, thereby promptly eliminating accumulated seat positioning errors and ensuring that the controller can consistently guarantee the accuracy of seat position positioning.

[0237] Figure 9c The diagram illustrating the seat position self-calibration process provided in this application Figure 3 .

[0238] like Figure 9c As shown, this seat position self-calibration method is based on a mechanical resistance mechanism and uses a Hall effect motor for the seat motor. The seat position self-calibration method includes the following steps:

[0239] 5.1 Acquire Hall pulse signals.

[0240] When a user performs a continuous sliding motion of the seat, or when the seat greets guests, the controller collects signals generated by the seat motor, which include motor current signals and Hall pulse signals.

[0241] It should be noted that steps 5.1 and 5.5 are executed simultaneously.

[0242] 5.2 Shaping the Hall pulse signal.

[0243] The direction of motor rotation can be determined based on the shaped Hall pulse signal. For example, the direction of motor rotation can be determined by comparing the phase relationship of signals from different Hall sensors.

[0244] Run versions 5.3 and 5.8.

[0245] 5.3 Hall Counting.

[0246] The shaped Hall pulse signal is periodically divided to obtain the pulse count (Hall count).

[0247] 5.4 Determine the current location.

[0248] The current position is obtained based on the number of pulses and the preset coefficient in the Hall pulse signal. The controller extracts the number of pulse cycles from the acquired Hall pulse signal to obtain the number of pulses. The angular displacement of the seat motor can be determined by the number of pulses. The transmission system structural parameters include transmission mechanism constants such as reduction ratio and pitch. The preset coefficient is determined by the transmission system structural parameters. The current position of the seat on the seat slide rail is obtained by multiplying the angular displacement by the preset coefficient.

[0249] 5.5 Motor current extraction.

[0250] The controller extracts the motor current signal from the signal generated by the seat motor.

[0251] 5.6 Edge code detection.

[0252] Edge code detection is performed based on the motor current signal and the current position to determine the edge code.

[0253] 5.7 Determine the single edge code segment.

[0254] Based on a single continuous sliding segment, a single edge code segment (i.e., the target edge code segment) is determined. The edge code detection range can be determined based on the current position. Within this range, edge code detection is performed based on the motor current signal. For details on how to determine the target edge code segment, please refer to step 1.2.

[0255] Execute version 5.9.

[0256] 5.8 Generation of reference edge code segments.

[0257] The controller has a preset edge code template (reference template) which contains the reference template position coordinates and edge codes of each calibration point in the complete calibration segment.

[0258] Based on the edge code template and motor steering, a reference edge code segment corresponding to the continuous sliding direction of the seat is obtained, as detailed in step S302.

[0259] 5.9 Edge segment matching.

[0260] The target edge code segment is compared bit by bit with the reference edge code segment corresponding to the preset calibration segment, or the target edge code segment is matched with the reference edge code segment corresponding to the preset calibration segment based on a correlation algorithm. See step 3.1 for details.

[0261] If the match is successful, proceed to step 5.10 after determining the target code length of the target edge code segment.

[0262] If a match fails, meaning no target edge segment is matched in the reference edge segment, the calibration confidence level is reset to zero.

[0263] 5.10 Determine whether it is a unique code segment.

[0264] Specifically, if among the sub-segments contained in the reference edge code segment, only the target edge code segment has the target code length, it indicates that the sub-segment corresponding to that code length is unique, see step 3.3. Then execute 5.11.

[0265] If the sub-segments contained in the reference edge code segment contain multiple sub-segments of the target code length, it indicates that the sub-segment corresponding to that code length is not unique, see step 3.4. Then proceed to 5.12.

[0266] 5.11 Seat position calibration.

[0267] It can be viewed as the error mean based on the edge code, used to correct the current position variable in the controller.

[0268] The seat position is calibrated based on the target edge code segment and the reference edge code segment, as detailed in steps 2.1 to 2.3.

[0269] After calibrating the seat position, the calibration confidence level is reset to zero.

[0270] 5.12 Match the calibration confidence adjustment value corresponding to the target code length.

[0271] Based on the code length of the target edge code segment, the calibration confidence adjustment value corresponding to the code length of the target edge code segment is obtained by looking up a table. This table stores the correspondence between different code lengths and calibration confidence adjustment values.

[0272] 5.13. Add the calibration confidence level adjustment value to the confidence accumulator.

[0273] Based on the current calibration confidence in the confidence accumulator, adjust the calibration confidence adjustment value corresponding to the code length of the target edge code segment upwards.

[0274] 5.14 Determine whether the current calibrated confidence level in the confidence accumulator is greater than the confidence threshold.

[0275] When the confidence level is calibrated to be greater than or equal to the confidence threshold in the confidence accumulator, the seat position is calibrated according to the target edge code segment and the reference edge code segment, as per 5.11.

[0276] Figure 10a The diagram illustrating the seat position self-calibration process provided in this application Figure 4 .

[0277] like Figure 10aAs shown, the seat position self-calibration is based on a photoelectric position self-calibration mechanism, and the seat motor is a ripple motor. The seat position self-calibration includes the following steps:

[0278] 6.1 Current ripple ADC sampling.

[0279] It should be noted that steps 6.1 and 7.1 are executed simultaneously.

[0280] When a user performs a continuous sliding operation of the seat, or when the seat greets guests, the controller collects the signal generated by the seat motor. This signal includes the motor current signal and the current ripple signal superimposed on the motor current signal.

[0281] Perform steps 6.2 and 6.6.

[0282] 6.2 Ripple Extraction.

[0283] Extract the current ripple signal from the acquired signals generated by the motor.

[0284] 6.3 Periodic segmentation.

[0285] The extracted current ripple signal is periodically segmented to obtain the ripple count.

[0286] 6.4 Ripple Counting.

[0287] 6.5 Determine your current location.

[0288] The current position is obtained based on the number of ripples in the current ripple signal and a preset coefficient. Specifically, the controller extracts the number of ripple cycles from the acquired current ripple signal to obtain the number of ripples. The angular displacement of the seat motor can be determined by the number of ripples. The transmission system structural parameters include transmission mechanism constants such as reduction ratio and pitch. The preset coefficient is determined by the transmission system structural parameters. The current position of the seat on the seat slide rail is obtained by multiplying the angular displacement by the preset coefficient.

[0289] Execute 7.3.

[0290] 6.6 Motor current extraction.

[0291] The controller extracts the motor current signal from the signals generated by the motor.

[0292] 6.7 Determine the direction of motor rotation.

[0293] The direction of motor rotation is determined based on the direction of motor current in the motor current signal.

[0294] 6.8. Reference edge code segment generation.

[0295] The controller has a preset edge code template (reference template) which contains the reference template position coordinates and edge codes of each calibration point in the complete calibration segment.

[0296] Based on the edge code template and motor rotation, a reference edge code segment corresponding to the continuous sliding direction of the seat is obtained.

[0297] Execute 6.9.

[0298] 7.1 Optical signal ADC sampling.

[0299] The controller acquires optical signals (encoded waveforms) from the optical receiver.

[0300] 7.2 Amplify and shape the optical signal.

[0301] 7.3 Edge code detection.

[0302] Edge code detection is performed based on the current location and the optical signal (coded waveform) to determine the edge code. The edge code detection range can be determined based on the current location; within this range, edge code detection is performed according to the coded waveform.

[0303] 7.4 Determine the single edge code segment.

[0304] Based on a single continuous sliding segment, determine the single edge code segment (i.e., the target edge code segment).

[0305] When a single continuous seat slide ends, the seat motor stops running. At this time, the amplitude of the motor current signal will decrease. If it is lower than the preset threshold, the continuous slide is determined to be over. At this time, an edge code segment containing only N and P is obtained. The length of each codeword in the calibration segment is the same. Based on this characteristic, the generation of a single edge code segment (target edge code segment) can be completed by uniformly inserting edge code O between the edge codes N and P.

[0306] Execute 6.9.

[0307] 6.9 Edge segment matching.

[0308] The target edge code segment is compared bit by bit with the reference edge code segment corresponding to the preset position calibration pattern, or the target edge code segment is matched with the reference edge code segment corresponding to the preset position calibration pattern based on the correlation algorithm.

[0309] If the match is successful, then after determining the target code length of the target edge code segment, proceed to step 6.10.

[0310] If a match fails, meaning no target edge segment is matched in the reference edge segment, the calibration confidence level is reset to zero.

[0311] 6.10 Determine whether it is a unique code segment.

[0312] If, among the sub-segments contained in the reference edge code segment, only the target edge code segment has the target code length, it indicates that the sub-segment corresponding to that code length is unique.

[0313] If it is a unique code segment, then execute 6.11.

[0314] If there are multiple sub-code segments of the target code length among the sub-code segments contained in the reference edge code segment, it means that the sub-code segment corresponding to the code length is not unique, then execute 6.12.

[0315] 6.11 Seat position calibration.

[0316] It can be viewed as correcting the current position variable in the controller based on the mean error (correction amount) of the edge code in the target edge code segment.

[0317] The mean error is determined based on the current position coordinates and the target position coordinates in the reference edge code segment. Specifically, for each edge code in the target edge code segment, the error corresponding to that edge code is determined based on the target position coordinates and the current position coordinates in the reference edge code segment; the mean error is determined based on the error corresponding to each edge code in the target edge code segment.

[0318] The current position variable in the controller is corrected to the sum of the mean error and the current position, thereby completing the seat position calibration.

[0319] After calibrating the seat position, the calibration confidence level is reset to zero.

[0320] 6.12 Match the calibration confidence adjustment value corresponding to the target code length.

[0321] Based on the code length of the target edge code segment, the calibration confidence adjustment value corresponding to the code length of the target edge code segment is obtained by looking up a table. This table stores the correspondence between different code lengths and calibration confidence adjustment values.

[0322] 6.13. Add the calibration confidence level adjustment value to the confidence accumulator.

[0323] Based on the current calibration confidence in the confidence accumulator, adjust the calibration confidence adjustment value corresponding to the code length of the target edge code segment upwards.

[0324] 6.14 Determine whether the current calibration confidence level in the confidence accumulator is greater than the confidence threshold.

[0325] When the confidence level is calibrated to be greater than or equal to the confidence threshold in the confidence accumulator, the seat position is calibrated according to the target edge code segment and the reference edge code segment in step 6.11.

[0326] Optionally, a schematic diagram of the photoelectric position self-calibration mechanism is shown below. Figure 10b As shown. Reference Figure 10b The photoelectric self-calibration mechanism includes a light emitter 101, a light receiver 102, a position calibration pattern 103, and a controller 104. The light receiver 102 and the light emitter 101 are both disposed on opposite surfaces of the upper and lower guide rails of the seat. The intersection of the axes of the light emitter 101 and the light receiver 102 is located on the reflective surface of the opposite guide rail. The position calibration pattern 103 is disposed on the reflective surface. During the sliding of the upper guide rail relative to the lower guide rail, when the intersection of the axes passes through the position calibration pattern 103, the light signal received by the light receiver 102 reflects the coded waveform of the position calibration pattern 103. The controller 104 is electrically connected to the light receiver 102 and is used to perform seat position self-calibration based on the coded waveform. The reflectivity of the position calibration pattern 103 is set based on the Barker code rule.

[0327] For example, the light receiver 102 and the light transmitter 101 are infrared phototubes. Preferably, the position calibration pattern 103 is arranged in the most frequent travel segment of the seat sliding. Increasing the frequency of seat position calibration, thereby eliminating the cumulative error of seat positioning in a timely manner, ensures that the controller can always guarantee the accuracy of seat position positioning.

[0328] As the upper guide rail and seat assembly travel along the lower guide rail, when the intersection of the axes (the focal point of light reflection) passes through the position calibration pattern 103, the intensity of the light signal received by the light receiver 102 will exhibit the coded waveform of the position calibration pattern 103. In other words, for example, when the intensity of the light signal received by the light receiver 102 changes abruptly, it means that a calibration point has been passed.

[0329] It should be noted that, Figure 10b As an example only, in some embodiments, the photoelectric position self-calibration mechanism may further include: a controller 104, a light emitter 101, and a light receiver 102, wherein: the light emitter 101 is disposed on one side of the upper and lower guide rails of the seat opposite to each other, and the light receiver 102 is disposed on the other side; during the sliding process of the upper guide rail relative to the lower guide rail, when the optical axes of the light emitter 101 and the light receiver 102 coincide, the light signal received by the light receiver 102 reflects the encoded waveform of the calibration point in the calibration segment; the controller 104 is electrically connected to the light receiver 102, and the controller 104 is used to perform position self-calibration of the seat according to the encoded waveform; wherein, the light emitter 101 is disposed on the calibration point, or the light receiver 102 is disposed on the calibration point.

[0330] When the upper guide rail slides to a specific position relative to the lower guide rail, the light transmitter 101 and the light receiver 102 are aligned (optical axes coincide), and the light receiver outputs the strongest light signal at this time. The seat then slides past the calibration point. The rules for setting the calibration point are consistent with the Barker code rules.

[0331] Figure 10c The diagram illustrating the seat position self-calibration process provided in this application Figure 5 .

[0332] like Figure 10c As shown, the seat position self-calibration is based on a photoelectric position self-calibration mechanism, and the seat motor is a Hall motor. The seat position self-calibration includes the following steps:

[0333] 8.1 Acquire Hall pulse signals.

[0334] When a user performs a continuous sliding motion of the seat, or when the seat greets guests, the controller collects signals generated by the seat motor, which include Hall pulse signals.

[0335] It should be noted that steps 8.1 and 9.1 are executed simultaneously.

[0336] 8.2 Shaping the Hall pulse signal.

[0337] The direction of motor rotation can be determined based on the shaped Hall pulse signal. For example, the direction of motor rotation can be determined by comparing the phase relationship of signals from different Hall sensors.

[0338] Execute versions 8.3 and 9.5.

[0339] 8.3 Hall Counting.

[0340] The shaped Hall pulse signal is periodically divided to obtain the pulse count (Hall count).

[0341] 8.4 Determine the current location.

[0342] The current position is obtained based on the number of pulses and the preset coefficient in the Hall pulse signal. The controller extracts the number of pulse cycles from the collected Hall pulse signal to obtain the number of pulses. The angular displacement of the seat motor can be determined by the number of pulses. The transmission system structural parameters include transmission mechanism constants such as reduction ratio and pitch. The preset coefficient is determined by the transmission system structural parameters. The current position of the seat on the seat slide rail is obtained by multiplying the angular displacement by the preset coefficient.

[0343] Execute 9.3.

[0344] 8.1 Optical signal ADC sampling.

[0345] The controller acquires optical signals (encoded waveforms) from the optical receiver.

[0346] 8.2 Amplify and shape the optical signal.

[0347] 8.3 Edge code detection.

[0348] The implementation method is the same as in step 7.3, so it will not be repeated here.

[0349] 8.4 Determine the single edge code segment.

[0350] The implementation method is the same as in step 7.4, so it will not be repeated here.

[0351] Execute 9.6.

[0352] 9.5 Generation of reference edge code segments.

[0353] The implementation method is the same as in step 6.8, so it will not be described again.

[0354] 9.6 Edge segment matching.

[0355] The implementation method is the same as in step 6.9, so it will not be described again.

[0356] 9.7 Determine whether it is a unique code segment.

[0357] If, among the sub-segments contained in the reference edge code segment, only the target edge code segment has the target code length, it indicates that the sub-segment corresponding to that code length is unique.

[0358] If it is a unique code segment, then execute 9.8.

[0359] If there are multiple sub-code segments of the target code length among the sub-code segments contained in the reference edge code segment, it means that the sub-code segment corresponding to the code length is not unique, then execute 9.9.

[0360] 9.8 Seat position calibration.

[0361] The implementation method is the same as in step 6.11, so it will not be described again.

[0362] 9.9 Match the calibration confidence adjustment value corresponding to the target code length.

[0363] Based on the code length of the target edge code segment, the calibration confidence adjustment value corresponding to the code length of the target edge code segment is obtained by looking up a table. This table stores the correspondence between different code lengths and calibration confidence adjustment values.

[0364] 9.10. Add the calibration confidence level adjustment value to the confidence accumulator.

[0365] Based on the current calibration confidence in the confidence accumulator, adjust the calibration confidence adjustment value corresponding to the code length of the target edge code segment upwards.

[0366] 9.11 Determine whether the current calibration confidence level in the confidence accumulator is greater than the confidence threshold.

[0367] When the confidence level is calibrated to be greater than or equal to the confidence threshold in the confidence accumulator, the seat position is calibrated according to the target edge code segment and the reference edge code segment, as per 9.8.

[0368] In summary, this application has at least the following advantages:

[0369] I. During normal use of the seat, frequent self-calibration of the seat position is achieved by sliding the seat, increasing the frequency of seat position calibration and thus improving the flexibility of seat position calibration, ensuring that the cumulative error of seat positioning does not exceed the system design requirements; by detecting edge codes during the seat sliding stroke, the accuracy of calibration point identification is improved, thereby promptly eliminating seat positioning errors, and the controller can always ensure the accuracy of seat position positioning. Compared with related technologies where seat position calibration is performed by specialized personnel using dedicated equipment, achieving frequent self-calibration of the seat position through continuous seat sliding reduces labor costs.

[0370] Second, by frequently self-calibrating, the application of ripple positioning technology in the fore-and-aft sliding positioning of seats is promoted, so that ripple motors can also be used in seat electric control. Compared with Hall motors, the application of ripple motors for seat electric control reduces costs, and the Hall sensor in the seat motor can be eliminated without compromising the user experience, thus achieving cost reduction.

[0371] Third, while Hall effect positioning generally does not generate cumulative positioning errors, it can still cause problems such as the controller losing its memory of the seat's position due to abnormal power outages, requiring manual calibration using specialized equipment. By frequently performing self-calibration, the reliability of Hall effect positioning can be improved while reducing labor costs.

[0372] Fourth, by calculating the error corresponding to each edge code during the sliding process, the average error of the target edge code segment is determined based on this error. Then, the average error is used to calibrate the vehicle seat position, ensuring that the cumulative error of seat position positioning meets the system design requirements and improving the accuracy of seat position positioning.

[0373] Fifth, edge codes are used for matching calculations to ensure complete consistency between two matching code segments, thereby improving the accuracy of seat position calibration. At the same time, different matching results indicate whether seat position calibration is required, thus improving the reliability of seat position calibration.

[0374] The following are embodiments of the apparatus described in this application, which can be used to execute the embodiments of the method described in this application. For details not disclosed in the apparatus embodiments of this application, please refer to the embodiments of the method described in this application.

[0375] Figure 11 This is a structural schematic diagram of the seat position self-calibration device provided in this application. The seat's sliding stroke includes a calibration section, such as... Figure 11 As shown, the seat position self-calibration device 110 includes: an acquisition module 111, a matching module 112, and a calibration module 113. Wherein:

[0376] The acquisition module 111 is used to acquire the target edge code segment of the calibration segment during the seat sliding process;

[0377] The matching module 112 is used to match the target edge code segment with the reference edge code segment corresponding to the preset calibration segment to obtain the matching result. The reference edge code segment includes the position coordinates of each calibration point in the calibration segment and the edge code.

[0378] The calibration module 113 is used to calibrate the seat position based on the target edge code segment and the reference edge code segment when the matching result indicates that the seat position is calibrated.

[0379] In one possible implementation, the calibration module 113 is specifically used to: for each edge code in the target edge code segment, determine the error corresponding to the edge code based on the edge coordinates corresponding to the edge code in the reference edge code segment and the current position coordinates; determine the mean error based on the error corresponding to each edge code in the target edge code segment; and calibrate the vehicle seat position based on the sum of the mean error and the current position coordinates.

[0380] In one possible implementation, the acquisition module 111 is specifically used to: acquire the calibration-related signal obtained during the continuous sliding of the seat; and perform edge code detection on the calibration-related signal to obtain the target edge code segment of the calibration segment during the seat sliding process.

[0381] In one possible implementation, the calibration-related signal includes a calibration signal and a motor waveform signal. The acquisition module 111 is further configured to: determine the current position of the seat on the seat slide rail based on the motor waveform signal; and determine the target edge code segment within a first range of the current position based on the edge code encoding method corresponding to the reference edge code segment and the change amplitude of the calibration signal.

[0382] In one possible implementation, the acquisition module 111 is further configured to: if the seat motor is a ripple motor and the motor waveform signal is a current ripple signal, obtain the current position based on the number of ripples in the current ripple signal and a preset coefficient, wherein the preset coefficient is determined by the transmission system structural parameters; if the seat motor is a Hall motor and the motor waveform signal is a Hall pulse signal, obtain the current position based on the number of pulses in the Hall pulse signal and a preset coefficient, wherein the preset coefficient is determined by the transmission system structural parameters.

[0383] In one possible implementation, the matching module 112 is specifically configured to: match the target edge code segment with the reference edge code segment corresponding to the preset calibration segment; if the target edge code segment is matched in the reference edge code segment, determine the target code length of the target edge code segment; if only the target edge code segment has the target code length among the sub-code segments included in the reference edge code segment, obtain a matching result indicating that the seat position is calibrated; if there are multiple sub-code segments with target code lengths among the sub-code segments included in the reference edge code segment, obtain a matching result indicating that the seat position is not calibrated; if the target edge code segment is not matched in the reference edge code segment, obtain a matching result indicating that the target edge code segment is not matched in the reference edge code segment.

[0384] In one possible implementation, the calibration module 113 is further configured to: when the matching result indicates that the seat position is not calibrated, adjust the calibration confidence adjustment value corresponding to the code length of the target edge code segment upward based on the current calibration confidence, wherein the calibration confidence is used to characterize the probability of performing the calibration operation; and when the adjusted calibration confidence is greater than or equal to the confidence threshold, calibrate the seat position according to the target edge code segment and the reference edge code segment.

[0385] In one possible implementation, the code length is positively correlated with the calibration confidence adjustment value.

[0386] In one possible implementation, the matching module 112 is further configured to: reset the calibration confidence level to zero when the matching result indicates that no target edge code segment was matched in the reference edge code segment, or after the seat position is calibrated.

[0387] The seat position self-calibration device provided in this embodiment can execute the method provided in the above method embodiment. Its implementation principle and technical effect are similar, and will not be described in detail here.

[0388] Figure 12 A schematic diagram of the structure of the electronic device provided in this application. Figure 12 As shown, the electronic device 120 provided in this embodiment includes at least one processor 121 and a memory 122. Optionally, the device 120 further includes a communication component 123. The processor 121, the memory 122, and the communication component 123 are connected via a bus 124.

[0389] In a specific implementation, at least one processor 121 executes computer execution instructions stored in memory 122, causing at least one processor 121 to perform the above-described method.

[0390] The specific implementation process of processor 121 can be found in the above method embodiments, and its implementation principle and technical effect are similar. It will not be repeated here.

[0391] In the above embodiments, it should be understood that the processor can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), etc. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in this invention can be directly implemented by a hardware processor, or implemented by a combination of hardware and software modules within the processor.

[0392] The memory may include random access memory (RAM) and may also include non-volatile memory (NVM), such as at least one disk storage device.

[0393] The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of illustration, the buses shown in the accompanying drawings are not limited to a single bus or a single type of bus.

[0394] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the above-described method.

[0395] This application also provides a computer-readable storage medium storing computer-executable instructions, which, when executed, implement the above-described method.

[0396] The aforementioned readable storage medium can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk. The readable storage medium can be any available medium accessible to a general-purpose or special-purpose computer.

[0397] An exemplary readable storage medium is coupled to a processor, enabling the processor to read information from and write information to the readable storage medium. Of course, the readable storage medium can also be a component of the processor. The processor and the readable storage medium can reside in an Application Specific Integrated Circuit (ASIC). Alternatively, the processor and the readable storage medium can exist as discrete components in the device.

[0398] The division of units is merely a logical functional division; in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be indirect coupling or communication connection through some interfaces, devices, or units, and may be electrical, mechanical, or other forms.

[0399] 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.

[0400] 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.

[0401] If a function is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this invention, or the part that contributes to the prior art, or a part 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 of 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.

[0402] Those skilled in the art will understand that all or part of the steps of the above-described method embodiments can be implemented by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When executed, the program performs the steps of the above-described method embodiments; and the aforementioned storage medium includes various media capable of storing program code, such as ROM, RAM, magnetic disks, or optical disks.

[0403] Finally, it should be noted that other embodiments of the invention will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This invention is intended to cover any variations, uses, or adaptations of the invention that follow the general principles of the invention and include common knowledge or customary techniques in the art not disclosed herein, and is not limited to the precise structures described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of the invention is limited only by the appended claims.

Claims

1. A method for self-calibrating seat position, characterized in that, The seat's sliding travel includes a calibration segment, and the seat position self-calibration method includes: Obtain the target edge code segment of the calibration segment during the seat sliding process; The target edge code segment is matched with the reference edge code segment corresponding to the preset calibration segment to obtain the matching result. The reference edge code segment includes the position coordinates and edge code of each calibration point in the calibration segment. When the matching result indicates that the seat position is calibrated, the seat position is calibrated according to the target edge code segment and the reference edge code segment.

2. The seat position self-calibration method according to claim 1, characterized in that, The step of calibrating the seat position based on the target edge code segment and the reference edge code segment includes: For each edge code in the target edge code segment, the error corresponding to the edge code is determined based on the edge coordinates of the edge code in the reference edge code segment and the current position coordinates. The mean error is determined based on the error corresponding to each edge code in the target edge code segment. The vehicle seat position is calibrated based on the sum of the mean error and the current position coordinates.

3. The seat position self-calibration method according to claim 1, characterized in that, The step of obtaining the target edge code segment of the calibration segment during the seat sliding process includes: Acquire calibration-related signals obtained during continuous seat sliding; Edge code detection is performed on the calibration-related signal to obtain the target edge code segment of the calibration segment during the seat sliding process.

4. The seat position self-calibration method according to claim 3, characterized in that, The calibration-related signal includes a calibration signal and a motor waveform signal. The step of performing edge code detection on the calibration-related signal to obtain the target edge code segment of the calibration segment during seat sliding includes: The current position of the seat on the seat slide rail is determined based on the motor waveform signal; Based on the edge code encoding method corresponding to the reference edge code segment, the target edge code segment is determined within the first range of the current position according to the change amplitude of the calibration signal.

5. The seat position self-calibration method according to claim 4, characterized in that, Determining the current position of the seat on the seat rail based on the motor waveform signal includes: If the seat motor is a ripple motor, the motor waveform signal is a current ripple signal. The current position is obtained based on the number of current ripple cycles and the preset coefficient in the current ripple signal. The preset coefficient is determined by the transmission system structural parameters. If the seat motor is a Hall motor, the motor waveform signal is a Hall pulse signal. The current position is obtained based on the number of Hall pulse cycles and the preset coefficient in the Hall pulse signal. The preset coefficient is determined by the transmission system structural parameters.

6. The seat position self-calibration method according to any one of claims 1 to 5, characterized in that, The step of matching the target edge code segment with the reference edge code segment corresponding to the preset calibration segment to obtain the matching result includes: The target edge code segment is matched with the reference edge code segment corresponding to the preset calibration segment; If the target edge code segment is matched in the reference edge code segment, the target code length of the target edge code segment is determined. If, among the sub-segments included in the reference edge code segment, only the target edge code segment has the target code length, a matching result indicating the calibration of the seat position is obtained; If there are multiple sub-code segments of the target code length among the sub-code segments included in the reference edge code segment, a matching result indicating that the seat position is not calibrated is obtained; If the target edge code segment is not matched in the reference edge code segment, a matching result indicating that the target edge code segment is not matched in the reference edge code segment is obtained.

7. The seat position self-calibration method according to any one of claims 1 to 5, characterized in that, Also includes: When the matching result indicates that the seat position is not calibrated, the calibration confidence adjustment value corresponding to the code length of the target edge code segment is adjusted upward based on the current calibration confidence. The calibration confidence is used to characterize the probability of performing the calibration operation. When the adjusted calibration confidence level is greater than or equal to the confidence level threshold, the seat position is calibrated based on the target edge code segment and the reference edge code segment.

8. The seat position self-calibration method according to claim 7, characterized in that, The code length is positively correlated with the calibration confidence adjustment value.

9. The seat position self-calibration method according to any one of claims 1 to 5, characterized in that, Also includes: The matching result indicates that the target edge code segment was not matched in the reference edge code segment, or the calibration confidence is reset to zero after the seat position is calibrated.

10. A seat position self-calibration device, characterized in that, The seat's sliding travel includes a calibration section, and the seat position self-calibration device includes: The acquisition module is used to acquire the target edge code segment of the calibration segment during the seat sliding process; The matching module is used to match the target edge code segment with the reference edge code segment corresponding to the preset calibration segment to obtain a matching result. The reference edge code segment includes the position coordinates and edge code of each calibration point in the calibration segment. A calibration module is used to calibrate the seat position based on the target edge code segment and the reference edge code segment when the matching result indicates that the seat position is to be calibrated.

11. An electronic device, characterized in that, include: Memory, processor; The memory stores computer-executable instructions; The processor executes computer execution instructions stored in the memory, causing the processor to perform the method as described in any one of claims 1 to 9.

Citation Information

Patent Citations

  • Automobile seat adjusting method and device

    CN118238690A

  • Vehicle seat adjustment method, apparatus, and program product

    CN118876825A