Seat position self-calibration method and device and electronic equipment

By obtaining and matching the edge code segments during seat slip, the problems of seat position calibration lag and poor flexibility in the prior art are solved, and high accuracy and timely seat position positioning are achieved.

CN119659426AActive Publication Date: 2025-03-21ZHEJIANG GEELY HLDG GRP CO LTD +1

Patent Information

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

AI Technical Summary

Technical Problem

The existing seat position calibration methods have poor lag and flexibility, resulting in inaccurate seat position positioning.

Method used

By obtaining the target edge code segment during seat slip, matching it with the reference edge code segment corresponding to the preset calibration segment, and calibrating the seat position according to the matching results.

Benefits of technology

It realizes the timeliness and flexibility of seat position calibration, improves the accuracy of seat position positioning, and ensures that the cumulative error of seat positioning does not exceed the system design requirements.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119659426A_ABST
    Figure CN119659426A_ABST
Patent Text Reader

Abstract

The invention provides a seat position self-calibration method and device and electronic equipment, and relates to the technical field of seat control. The method comprises the steps that a target edge code segment of a calibration segment in the sliding process of a seat is obtained, and the sliding stroke of the seat comprises the calibration segment; the target edge code segment is matched with a reference edge code segment corresponding to a preset calibration segment, a matching result is obtained, and the reference edge code segment comprises position coordinates and edge codes of all calibration points in the calibration segment; and when the matching result indicates that the seat position is calibrated, calibrating the seat position according to the target edge code segment and the reference edge code segment. In the conventional use process of the seat, the position of the seat is self-calibrated by sliding the seat, so that the calibration frequency and flexibility of the position of the seat are improved; the target edge code section of the calibration section in the seat sliding process is obtained, the seat position is calibrated according to the target edge code section, and the positioning precision of the seat position is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of seat control, and in particular to a seat position self-calibration method, device and electronic equipment. Background Art

[0002] Electric seats have become popular, and accurate positioning of seats by controllers is crucial for intelligent seat adjustment and seat anti-pinch. In vehicles, intelligent seat adjustment means that the driver's seat automatically moves back to a suitable position for easy sitting after the driver unlocks the door, and automatically adjusts to the comfortable position that the driver adjusted last time after sitting in the car. In addition, when the driver opens the door, the seat automatically moves back to a suitable position for the driver to get off the car. Seat anti-pinch is for the sake of passenger safety protection. The front electric seats must have anti-pinch functions within a specific position range and a specific angle range to prevent the seats from pinching occupants during electronic control operation. Therefore, the cumulative error of the controller's positioning of the seat cannot exceed the allowable range. When there is a possibility of exceeding the allowable range, the seat position must be calibrated to eliminate the cumulative positioning error.

[0003] The traditional seat position calibration method is usually that a specialist drives the seat motor to run to the front stop or rear stop. The controller recognizes that the seat has run to the front stop or rear stop of the guide rail by using the characteristic that the current rises sharply when the seat motor reaches the front stop or rear stop. The controller sets the variable representing the seat position (for example, represented by the number of cycles of Hall pulses or current ripples) to zero or to the maximum stroke, thereby achieving the absolute position calibration of the seat. After the seat position is calibrated, the controller updates the variable representing the current position of the seat motor according to the number of Hall pulses or ripple cycles obtained during each start-stop process of the seat motor.

[0004] However, the above calibration method has hysteresis and poor flexibility, which leads to the problem of inaccurate positioning of the seat position. Summary of the invention

[0005] The present application provides a seat position self-calibration method, device and electronic equipment to achieve timely and flexible calibration, thereby achieving a high seat position positioning accuracy.

[0006] In a first aspect, the present application provides a seat position self-calibration method, wherein the sliding travel of the seat includes a calibration section, 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] Matching the target edge code segment with the reference edge code segment corresponding to the preset calibration segment to obtain a matching result, wherein the reference edge code segment includes the position coordinates and edge codes of each calibration point in the calibration segment;

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

[0010] In a possible implementation manner, calibrating the seat position according to the target edge code segment and the reference edge code segment includes:

[0011] For each edge code in the target edge code segment, according to the edge coordinates corresponding to the edge code in the reference edge code segment and the current position coordinates, determine the error corresponding to the edge code;

[0012] Determine an error mean value according to the errors corresponding to each edge code in the target edge code segment;

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

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

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

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

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

[0018] Determine the current position of the seat on the seat rail according to 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 according to the change amplitude of the calibration signal within the first range of the current position.

[0020] In a possible implementation manner, determining the current position of the seat on the seat rail according to the motor waveform signal includes:

[0021] If the seat motor is a ripple motor, the motor waveform signal is a current ripple signal, and the current position is obtained according to the number of ripples in the current ripple signal and the preset coefficient, and the preset coefficient is determined by the transmission system structure 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, and the preset coefficient is determined by the transmission system structure parameters.

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

[0024] Matching 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, a target code length of the target edge code segment is determined;

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

[0027] If there are multiple sub-code segments of the target code length in the sub-code segment included in the reference edge code segment, a matching result indicating that the seat position is not to be 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 a possible implementation manner, the seat position self-calibration method further includes:

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

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

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

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

[0034] When the matching result indicates that the target edge code segment is not matched in the reference edge code segment, or after the seat position is calibrated, the calibration confidence is cleared.

[0035] In a second aspect, the present application provides a seat position self-calibration device, wherein the sliding travel of the seat includes a calibration section, and the seat position self-calibration device includes:

[0036] An acquisition module, used for acquiring a target edge code segment of a calibration segment during the seat sliding process;

[0037] A matching module, used for matching the target edge code segment with the reference edge code segment corresponding to the preset calibration segment to obtain a matching result, wherein the reference edge code segment includes the position coordinates and edge codes of each calibration point in the calibration segment;

[0038] The calibration module is used to calibrate the seat position according to the target edge code segment and the reference edge code segment when the matching result indicates that the seat position should 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 according to the edge coordinates corresponding to the edge code in the reference edge code segment and the current position coordinates; determine the error mean according to the errors corresponding to each edge code in the target edge code segment; and calibrate the vehicle seat position according to the sum of the error mean and the current position coordinates.

[0040] In a possible implementation, the acquisition module is specifically used to: acquire a calibration-related signal obtained during the continuous sliding process of the seat; perform edge code detection on the calibration-related signal to obtain a 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, and the acquisition module is also used to: determine the current position of the seat on the seat slide rail based on the motor waveform signal; 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 based on the change amplitude of the calibration signal.

[0042] In a possible implementation, the acquisition module is also used for: if the seat motor is a ripple motor, the motor waveform signal is a current ripple signal, and the current position is obtained according to the number of ripples in the current ripple signal and a preset coefficient, and 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 according to the number of pulses in the Hall pulse signal and a preset coefficient, and the preset coefficient is determined by the transmission system structural parameters.

[0043] In one possible implementation, the matching module is specifically used to: match the target edge code segment with a reference edge code segment corresponding to a 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 among the sub-code segments included in the reference edge code segment, only the target edge code segment is the target code length, obtain a matching result indicating that the seat position is calibrated; if among the sub-code segments included in the reference edge code segment, there are multiple sub-code segments of the target code length, 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.

[0044] In one possible implementation, the calibration module is further used to: when the matching result indicates that the seat position is not to be calibrated, based on the current calibration confidence, upward adjust the calibration confidence adjustment value corresponding to the code length of the target edge code segment, the calibration confidence being used to characterize the probability of performing the calibration operation; 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 a possible implementation manner, the code length is positively correlated with the calibration confidence adjustment value.

[0046] In a possible implementation manner, the matching module is further configured to: when the matching result indicates that the target edge code segment is not matched in the reference edge code segment, or after the seat position is calibrated, clear the calibration confidence.

[0047] In a third aspect, the present application provides an electronic device, including: a memory, a processor;

[0048] Memory stores computer-executable instructions;

[0049] The processor executes the computer-executable instructions stored in the memory, so that the processor executes the above first aspect and / or various possible implementations of the first aspect.

[0050] In a fourth aspect, the present application provides a computer-readable storage medium, in which computer-executable instructions are stored. When the computer-executable instructions are executed, they are used to implement the above first aspect and / or various possible implementations of the first aspect.

[0051] In a fifth aspect, the present application provides a computer program product, including a computer program, which, when executed, implements the above first aspect and / or various possible implementations of the first aspect.

[0052] The seat position self-calibration method, device and electronic device provided by the present application, the sliding stroke of the seat includes a calibration segment, the target edge code segment of the calibration segment during the seat sliding process is obtained, the target edge code segment is matched with the reference edge code segment corresponding to the preset 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 when the matching result indicates that the seat position is to be calibrated, the seat position is calibrated according to the target edge code segment and the reference edge code segment. In the present application, during the normal use of the seat, the seat position is self-calibrated by sliding the seat, the frequency of seat position calibration is increased, thereby improving the flexibility of seat position calibration and timely eliminating the error of seat positioning; in addition, by obtaining the target edge code segment of the calibration segment during the seat sliding process, the seat position is calibrated according to the target edge code segment, thereby improving the accuracy of seat position positioning. BRIEF DESCRIPTION OF THE DRAWINGS

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

[0054] Figure 1 A schematic diagram of the Hall motor signal generation and a Hall waveform sample provided for this application;

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

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

[0057] Figure 4 Schematic diagram of the relationship between the calibration section, calibration section, calibration point and seat travel provided for this application;

[0058] Figure 5 An example diagram of the calibration segment coding and calibration points provided for this application;

[0059] Figure 6 The calibration segment coding cycle extension and its interception example diagram provided by this application;

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

[0061] Figure 8 Schematic diagram of edge code codeword error calculation and codeword matching calculation provided by this application;

[0062] Figure 9a Schematic diagram of the seat position self-calibration process provided for this application Figure 2 ;

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

[0064] Fig.9c Schematic diagram of the seat position self-calibration process provided for this application Figure 3 ;

[0065] Fig.10a Schematic diagram of the seat position self-calibration process provided for this application Figure 4 ;

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

[0067] Fig.10cSchematic diagram of the seat position self-calibration process provided for this application Figure 5 ;

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

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

[0070] The above drawings have shown clear embodiments of the present application, which will be described in more detail later. These drawings and text descriptions are not intended to limit the scope of the present application in any way, but to illustrate the concept of the present application to those skilled in the art by referring to specific embodiments. DETAILED DESCRIPTION

[0071] Exemplary embodiments will be described in detail herein, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, the same numbers in different drawings represent the same or similar elements unless otherwise indicated. The implementations described in the following exemplary embodiments do not represent all implementations consistent with the present application. Instead, they are merely examples of devices and methods consistent with some aspects of the present application as detailed in the appended claims.

[0072] It should be noted that the seat position self-calibration method, device and electronic device of the present 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 device of the present application is not limited. In addition, the seat position self-calibration method, device and electronic device of the present application can be used to calibrate the seat position of a vehicle, and can also calibrate the seat position of transportation vehicles other than vehicles, such as airplanes, ships, trains, light rail trams, etc.

[0073] It should also be noted that the electric seat is equipped with a DC permanent magnet brushed motor that drives the seat's fore and aft translation and backrest inclination respectively. This application uses the seat's fore and aft translation as an example for explanation, and its principle is also applicable to the electric control adjustment of other dimensions of the seat (such as backrest inclination, etc.).

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

[0075] The second type, for ripple motors, such as Figure 2 The motor ripple sampling schematic diagram and a ripple waveform sample provided for this application can determine the angular displacement of the motor by using the accumulated number of cycles of the current ripple signal superimposed on the motor current, and determine the motor rotation direction by using the motor current direction.

[0076] Whether the motor angular displacement is expressed by the number of Hall pulse cycles or the number of current ripple cycles within a period of time, when multiplied by a transformation coefficient determined by the transmission system structural parameters, the absolute front and rear linear displacement of the seat (in millimeters) or the steering inclination angle of the seat back (in degrees) can be obtained.

[0077] However, there is an inaccuracy problem when using current ripple to determine the angular displacement of the seat motor. One of the reasons is that the seat motor has a large impact current when it starts. At this time, the seat motor speed gradually increases from zero, and the motor current rises by a steep impact, and then drops by a long slope. The current ripple signal is superimposed on this large and fast-changing impact current, and it is difficult for the controller to accurately count the number of current ripple cycles; the second reason is that during the braking stage of the seat motor, the motor current and the current ripple signal intensity decay rapidly, and it is also difficult for the controller to accurately count the number of current ripple cycles. Therefore, for ripple motors, each start and stop of the motor will bring about angular displacement measurement errors, and after multiple starts and stops, the angular displacement errors will accumulate.

[0078] For the electronic control of the seat, the positioning in the front and rear directions is related to two important functions: one is whether the current seat position is in the anti-pinch range (if in the anti-pinch range, the anti-pinch function must be provided), and the other is the welcoming function of the seat, which means that after the driver opens the door, the seat will first retreat to a suitable position for the user to sit down, and then return to the preset user comfort position after the user sits down. This requires that the controller's cumulative positioning error of the seat cannot exceed the allowable range. When there is a possibility of exceeding the allowable range, the seat position must be calibrated to eliminate the cumulative positioning error.

[0079] In the related art, the method for calibrating the seat position is usually that a specialist drives the seat to run to the front stop point or the rear stop point, and uses the characteristic that the current rises sharply when the seat motor reaches the front stop point or the rear stop point and is blocked. The controller recognizes that the seat has run to the front stop point or the rear stop point of the seat rail at this time, and the controller sets the variable representing the current position of the seat (for example, represented by the number of cycles of the Hall pulse or current ripple) to zero or to the maximum stroke, thereby realizing the absolute position calibration of the seat. After the seat position is calibrated, the controller updates the variable representing the current position of the seat according to the number of cycles of the Hall pulse or current ripple obtained during each start-stop process of the motor.

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

[0081] Based on the above, the inventors found that if the seat is positioned and the speed is controlled based on the current ripple signal, the seat position needs to be calibrated after the motor starts and stops for a certain number of times, because the error accumulation will increase each time the seat motor starts and stops. Otherwise, the accumulated error may exceed the allowable range, and it is impossible to accurately determine whether it is in the anti-pinch area (leading to false anti-pinch), and it is also impossible to accurately return the seat to the preset user comfort position when welcoming guests, which affects the user experience and even causes trouble to the user. This is also the difficulty of applying ripple positioning technology in the promotion of seat motor electronic control.

[0082] The waveform of the Hall pulse is not affected by the start-stop of the seat motor. No matter how many times the seat motor starts and stops, or whether it moves forward or backward, theoretically no error will be generated. Therefore, seats that use Hall signals for positioning generally do not need to be calibrated regularly after factory calibration. They can only be calibrated as needed when they are sent to the service station for regular maintenance. However, if the controller loses the seat position memory due to abnormal power failure or other reasons, position calibration is also required.

[0083] By using the current ripple signal of the seat motor instead of the Hall pulse signal for seat position positioning, the Hall element in the seat motor and the matching magnet ring and supporting circuit can be removed to reduce the cost of the motor. However, each start of the seat motor will generate a large impact current that will destroy the ripple waveform of several cycles. Each stop (braking) of the seat motor will also destroy the ripple waveform of several cycles due to the rapid decay of the current ripple signal. Even after taking compensation measures, each start and stop of the seat motor will inevitably cause the ripple counter to produce about 10 counting errors. The accumulated error of multiple starts and stops may cause the ripple counting error to exceed the positioning accuracy requirement.

[0084] In response to the above technical problems, the present application provides a seat position self-calibration method, device and electronic device, wherein a calibration segment is set in the travel range of the seat. Optionally, the calibration segment can be set at a position that is frequently passed during the sliding stroke. In this way, during the normal use of the seat by the user, the seat position is regularly self-calibrated, thereby increasing the frequency of seat position calibration, thereby improving the flexibility of seat position calibration, eliminating seat positioning errors in a timely manner, and ensuring that the cumulative error of seat positioning does not exceed the system design requirements; in addition, by obtaining edge code segments and using the edge code segments to calibrate the seat position, the accuracy of seat position positioning is improved.

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

[0086] Figure 3 Schematic diagram of the process 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, obtaining a target edge code segment of a calibration segment during the seat sliding process.

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

[0089] Or, the travel corresponding to a single sliding seat may include part of the calibration segment. For example, when the single sliding travel is short, it may include part of the calibration segment, or it may not include the calibration segment.

[0090] Optionally, the stroke corresponding to a single sliding seat can be understood as the stroke corresponding to a single continuous sliding seat. Correspondingly, when the seat slides intermittently, each continuous sliding can be regarded as an independent sliding, and for each continuous sliding, the target edge code segment corresponding to the calibration segment in the current continuous sliding seat is obtained.

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

[0092] For example, the calibration segment includes multiple calibration points, and the calibration segment is set by setting multiple calibration points within the travel range of the seat, for example, setting calibration points in the most frequent travel segment of the seat sliding, or setting calibration points at the starting point of the seat anti-pinch zone. Optionally, the calibration segment is composed of several "sections" (or code words) according to a certain coding rule, for example, according to the coding rule of the Barker code. If the code words between a "section" and the adjacent "section" are different, the dividing line between this "section" and the adjacent "section" is called a "calibration point". Through such a composite calibration segment structure, the seat can regularly perform self-calibration of position during normal use.

[0093] like Figure 4 The schematic diagram of the relationship between the calibration section, calibration node, calibration point and seat travel provided in this application, the sliding travel of the seat (or seat travel) includes the calibration section, which is only used as an example. The calibration section consists of 7 "nodes", and the calibration points include a, b, c, d, e, and f. The calibration points are encoded to obtain the calibration point code, and a, b, c, d, e, and f can also be called calibration point codes. The edge code usually appears at the dividing line between two adjacent "nodes", and the dividing line is encoded to obtain the edge code.

[0094] The target edge code segment includes at least one edge code. Optionally, the target edge code segment is usually acquired when the continuous sliding seat ends. If the sliding stroke is long, the target edge code segment can also be acquired during the continuous sliding seat process.

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

[0096] For example, on the factory production line, full-stroke learning is performed from the upper dead point to the lower dead point 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 expressed as the number of Hall pulses or the number of ripples. The table is built and saved in the non-volatile memory of the controller, such as EEPROM, as a reference template. The reference template can characterize the reference edge code segment.

[0097] It should be noted that for the same calibration section, the target edge code segments generated when the seat slides from front to back and from back to front are opposite. The edge code can be a three-value code, such as P, N and O, where P represents Positive edge, N represents Negative edge, and O represents No edge. As an example, if the motor current signal suddenly changes from the falling edge to the rising edge, the corresponding edge code is P; if the motor current signal suddenly changes from the rising edge to the falling edge, the corresponding edge code is N; if the motor current signal has no sudden change, 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 the actual implementation process, the sliding direction of the seat can be determined by the direction of the motor current, so that on the basis of the reference template, the reference edge code segment corresponding to the continuous sliding direction of the seat is transformed. For example, when 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 calculation, it can be regarded as matching each edge code in the target edge code segment in the reference edge code segment. For example, only PP=0, NN=0, OO=0, and the other PN, PO, NP, NO, OP, and ON results 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 completely match, it can be understood that each 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 edge code at the corresponding position in the reference edge code segment, 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 should be calibrated, the seat position is calibrated according to the target edge code segment and the reference edge code segment.

[0101] Among them, calibrating the seat position can be understood as correcting the current position of the seat, that is, 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, which 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, when the edge code does not match, it indicates that the current position of the seat stored in the controller deviates greatly from the actual position; when it matches, it indicates that the current position of the seat stored in the controller deviates slightly from the actual position.

[0102] For example, a variable called current position is stored in the controller, and the variable can be represented by the number of Hall pulses or the number of ripples. In one feasible method, the variable of the current position can be corrected according to the target edge code segment and the reference edge code segment.

[0103] It should be noted that, during normal use of the vehicle by the user, the timing for self-calibration of the seat position at least includes the process of the seat welcoming guests and the process of the user adjusting the forward and backward position of the seat by himself.

[0104] In the embodiment of the present application, during the regular use of the seat, the seat position is regularly self-calibrated by sliding the seat, thereby increasing the frequency of seat position calibration, thereby increasing the flexibility of seat position calibration and ensuring that the cumulative error of seat positioning does not exceed the system design requirements; by obtaining the target edge code segment of the calibration segment during the seat sliding process, the target edge code segment is used for position calibration to improve the accuracy of seat position positioning. Compared with the related art in which the seat position is calibrated by specialized personnel using dedicated equipment, the seat position is regularly self-calibrated by continuously sliding the seat, thereby reducing labor costs.

[0105] In addition, through regular self-calibration, the application of ripple positioning technology in the forward and backward sliding positioning of seats is promoted, so that ripple motors can also be used in seat electronic control. Compared with Hall motors, the application of ripple motors for seat electronic control reduces costs, and the Hall sensors in the seat motors can be eliminated without reducing user experience to achieve cost reduction.

[0106] Although Hall positioning basically does not produce cumulative positioning errors, if the controller loses the seat position memory due to abnormal power outages or other reasons, it needs to be calibrated manually using special equipment. Through regular self-calibration, the reliability of Hall positioning can be improved while reducing labor costs.

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

[0108] Step 3011: Acquire calibration-related signals obtained during the continuous sliding seat process.

[0109] The calibration-related signal is determined by the type and calibration method of the seat motor, such as a ripple motor or a Hall motor, and the calibration method is, for example, mechanical resistance mechanism calibration or photoelectric position self-calibration mechanism calibration. The calibration-related signal carries the characteristics of the signal change when the seat passes through the calibration point during the continuous sliding process. By analyzing the characteristics of the calibration-related signal, the seat position can be effectively calibrated.

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

[0111] Optionally, the calibration-related signal may also include the rotation speed of the seat motor.

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

[0113] Step 3012: 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.

[0114] See also Figure 4 ,Considering that there is no calibration point code at the boundary of two adjacent “sections” with the same code words, and the edge code can exist at every boundary in the calibration segment, the detection of the edge code can better reflect the changing characteristics of the calibration related signals.

[0115] When the seat slides through any calibration point a, b, c, d, e, or f, the calibration-related signals collected by the controller will change accordingly. For example, the motor current signal rises or falls suddenly, the seat motor speed changes suddenly, the light receiving intensity signal suddenly increases or decreases, and so on. By identifying the change characteristics of the calibration-related signals, the edge code can be detected.

[0116] In one implementation, edge codes are detected based on the mutation characteristics of the motor current signal. During the seat sliding process, if the motor current signal suddenly changes from a rising edge to a falling edge, it is determined that an edge code is detected; or, if the motor current signal suddenly changes from a falling edge to a rising edge, it is determined that an edge code is detected.

[0117] In another implementation, edge codes are detected based on the mutation characteristics of the seat motor speed. During the seat sliding process, if the seat motor speed suddenly changes from a normal range to below a threshold, it is determined that an edge code is detected; or, if the seat motor speed suddenly changes from below a threshold to within a normal range, it is determined that an edge code is detected.

[0118] In another implementation, edge codes are detected based on the mutation characteristics of the light receiving intensity signal. During the seat sliding process, if the light receiving intensity signal suddenly changes from within the normal range to below the threshold, it is determined that the edge code is detected; alternatively, if the light receiving intensity signal suddenly changes from below the threshold to within the normal range, it is determined that the edge code is detected.

[0119] It can be understood 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 has stopped running, that is, the continuous sliding ends.

[0120] In the embodiment of the present application, the edge code is detected during the seat sliding stroke to improve the accuracy of calibration point recognition, thereby timely eliminating the seat positioning error, and the controller can always ensure the accuracy of seat position positioning.

[0121] In some embodiments, the calibration-related signal includes a calibration signal and a motor waveform signal, and edge code detection is performed on the calibration-related signal to obtain a 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 according to the motor waveform signal.

[0123] In one example, if the seat motor is a ripple motor, the motor waveform signal is a current ripple signal; further, 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.

[0124] Another example, if the seat motor is a Hall motor, the motor waveform signal is a Hall pulse signal: further, if the calibration section uses a mechanical resistance mechanism to calibrate the position, the calibration signal is the 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 method, the current position of the seat on the seat slide rail is determined based on the motor waveform signal, including: 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, and 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, and the preset coefficient is determined by the transmission system structural parameters.

[0126] For example, the controller extracts the ripple period number of 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 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 the Hall motor, the controller extracts the pulse cycle number of 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 angular displacement is multiplied by the preset coefficient to obtain the current position of the seat on the seat slide.

[0128] That is to say, the controller first extracts the current ripple signal from the collected calibration-related signal, and then extracts the ripple cycle number to obtain the ripple number, and uses the ripple number as the index value, and then establishes the data sequence of the motor current and the ripple cycle number according to the synchronization relationship between the current ripple signal and the motor current signal when the controller ADC is sampled, that is, the data sequence with the horizontal axis being time and the vertical axis being the motor current is converted into a data sequence with the horizontal axis being the ripple cycle number and the vertical axis being the motor current, and the ripple cycle number represents the current position. Or, according to the synchronization relationship between the current ripple signal and the light receiving intensity when the controller ADC is sampled, the data sequence with the ripple cycle number and the light receiving intensity is established, that is, the data sequence with the horizontal axis being time and the vertical axis being the light receiving intensity is converted into a data sequence with the horizontal axis being the ripple cycle number and the vertical axis being the light receiving intensity, and the ripple cycle number represents the current position.

[0129] If a Hall motor is used, the Hall pulse signal is extracted from the collected calibration-related signal, and then the pulse cycle number is extracted to obtain the number of pulses, and the number of pulses is used as the index value. Then, according to the synchronization relationship between the Hall pulse signal and the motor current signal when the controller ADC is sampled, a data sequence of the motor current and the pulse cycle number is established, that is, the data sequence with the horizontal axis being time and the vertical axis being the Hall pulse is converted into a data sequence with the horizontal axis being the number of pulses and the vertical axis being the Hall pulse, and the number of pulses represents the current position. Or, according to the synchronization relationship between the Hall pulse signal and the light receiving intensity when the controller ADC is sampled, a data sequence of the pulse cycle number and the light receiving intensity is established, that is, the data sequence with the horizontal axis being time and the vertical axis being the light receiving intensity is converted into a data sequence with the horizontal axis being the number of pulses and the vertical axis being the light receiving intensity, and the number of pulses 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 the Barker code encoding. The edge code is generated between two adjacent code words. According to the code values ​​on both sides of the boundary between code words in the calibration segment encoding, the boundary is encoded, which is called the edge code. As an example, the Barker code with ideal autocorrelation characteristics is used as the calibration segment encoding.

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

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

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

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

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

[0137] like Figure 5 The calibration segment coding and calibration point example diagram provided for this application, Figure 5 The calibration points when using 7-bit Barker code and 11-bit Barker code as calibration segment encoding are shown. Taking 7-bit Barker code as an example, its code word is "+--+-++", with a total of 7 code words. For the calibration position of the mechanical resistance mechanism and the calibration position of the photoelectric position self-calibration mechanism, the specific length of each code word on the seat rail is set according to needs. The length of the entire code segment (i.e., the calibration segment) is the length of a single code word multiplied by the number of code words. If the length of a single code word is 5 cm, the total length of the calibration segment of the 7-bit code is 5*7=35 cm.

[0138] In addition, the calibration segment on the seat rail is not limited to a Barker code of one cycle, but can also be a Barker code of multiple cycles. Multiple cycles of Barker codes can be obtained by periodically extending the calibration point code. The method of period extension specifically includes: copying the same calibration segment code of one cycle on both sides of the main calibration segment code, and then cutting the required length on the left and right sides as needed. The Barker code has an ideal autocorrelation characteristic and can provide high-precision positioning results and position calibration points. Figure 6 The following is an example diagram of the extension and interception of the calibration segment coding cycle provided in this application, such as Figure 6 As shown in (c), the main calibration segment code is extended by one period on the left and right sides, and 4 code words are intercepted on the left and right sides, that is, the final calibration segment code is cdef(a)-bcdef(a)-bcd. Figure 6 (a) shows the 7-bit Barker code (+--+-++). Figure 6 (b) shows the code (+++--+-) after the 7-bit Barker code (+--+-++) is shifted left by 2 code words. After the period is extended, the code with any phase is taken out with the original code length, and its autocorrelation characteristics remain unchanged.

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

[0140] It is worth noting that for Figure 7The edge code determination method of the start point a and the end point f of the calibration code includes first performing cycle extension and then using the edge code encoding method, combined with Figure 6 As can be seen in (c), after the period extension, point f coincides with point a, the left code value of point f(a) is 1(+), and the right code value is 1(+), so the edge code of point f(a) is "O".

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

[0142] Table 1

[0143]

[0144]

[0145] The continuous codeword length in Table 1 indicates the code length of the edge code segment corresponding to the continuous slip segment. Based on the rules of Barker code, the expression of the sub-code segment is given as an example. For example, when the continuous codeword length is 4, bcde(NOPNP) means starting from the calibration point b, passing the calibration point c, then passing the calibration point d, and finally reaching the calibration point e. From the beginning to the end, it includes 4 calibration points (b, c, d, e). See also Figure 7 and Figure 4 It can be seen that the sub-code segment bcde(NOPNP) goes through 4 "nodes" (nodes are code words), that is, the number of code words or nodes contained in the sub-code segment is the length of the continuous code word; when the length of the continuous code word is 1, cd(PN) means starting from the calibration point c, reaching the calibration point d, and going through 1 "node" (node ​​is code word); when the length of the continuous code word is 2, bc(NOP) means starting from the calibration point b, reaching the calibration point c, and going through 2 "nodes" (node ​​is code word).

[0146] The boundary edge of each "node-node" may be a rising edge P, a falling edge N, and an unchanged O. The bcde in bcde(NOPNP) is called a calibration point code, and NOPNP is called an edge code. bcde(NOPNP) contains 4 calibration points (b, c, d, e), 4 "nodes", and 5 edges (respectively NOPNP). The order of the edges here is from left to right. If the sliding direction of the seat is opposite, 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 in the first range based on the value of the current position variable to detect whether the calibration signal (motor current signal or light receiving intensity signal) has a sudden change in amplitude. The current position variable is continuously maintained by the controller and can be determined by the number of Hall pulses or ripples. Figure 8 As shown, Figure 8 In (a), the seat currently slides to the position between the calibration points b and c. Within a certain range of the dividing line L, edge code detection is performed. If the amplitude of the calibration signal changes suddenly, it is determined that there is an edge code within the range. If the sudden change is from the rising edge to the falling edge, the edge code is N; if the sudden change is from the falling edge to the rising edge, the edge code is P; if there is no sudden change, there may be no edge code, or the edge code is O. At the end of the continuous sliding of the seat, that is, the seat motor stops running, the amplitude of the calibration signal will decrease. If it is lower than the preset threshold, it is determined that the continuous sliding is 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 feature, the target edge code segment can be generated by evenly filling the 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] The embodiment of the present application, by applying the Barker code with ideal autocorrelation characteristics to the calibration segment coding, can provide high-precision position positioning results and position calibration points. On this basis, the change amplitude of the calibration signal is used to determine the target edge code segment, so that the system can better adapt to environmental changes and signal fluctuations, and enhance the robustness and reliability of the system; by accurately identifying the edge code segment within the first range of the current position, a basis is provided for improving the accuracy of seat position self-calibration.

[0149] In some embodiments, the seat position is calibrated according to 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 according to the edge coordinates corresponding to the edge code in the reference edge code segment and the current position coordinates.

[0151] Still combined Figure 8 This embodiment is described. Figure 8 A schematic diagram of edge code codeword error calculation and codeword matching calculation provided in this application.

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

[0153] Assuming the seat continuous sliding travel is long enough, the target edge code is NOPNPOO, X [i] Indicates the current position coordinates, X [i] is a variable that the controller continuously maintains, where i represents the edge number. For the calibration segment code based on the 7-bit Barker code, i = 1, 2, 3…7, then the error M corresponding to each edge code [i] =|X [i] -S [i] |, it should be noted that when i=8, it belongs to the period 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 error mean according to the error corresponding to each edge code in the target edge code segment.

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

[0157]

[0158] Step 2.3: Calibrate the vehicle seat position based on the sum of the error mean and the current position coordinates.

[0159] Set the current position variable X in the controller [i] , corrected to M+X [i] , complete the calibration of the vehicle seat position.

[0160] In the embodiment of the present application, the error corresponding to each edge code during the slip process is calculated, and the error mean of the target edge code segment is determined based on the error. The vehicle seat position is then calibrated using the error mean, ensuring that the cumulative error of the seat position positioning meets the system design requirements and improving the accuracy of the seat position positioning.

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

[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 is worth noting that edge codes are used here instead of calibration point codes for matching because the distance length between two code words in the calibration point code is uncertain. For example, the 7-bit Barker code has a calibration point code (edge ​​code): bcdef(a)-b(NOPNPOON), where there are 2 code words between calibration points bc and 3 code words between calibration points eb. However, such information cannot be reflected in the calibration point code bcdef(a)-b. However, the corresponding edge code NOPNPOON can reflect the edge code NOP between calibration points bc and the edge code POON between calibration points eb. The edge code reflects the encoding information when the previous and next code words are the same. Therefore, using edge codes for matching calculations can ensure the complete consistency of the 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 the continuous sliding seat is long enough. For example, during the welcoming process of the seat, after the user opens the door from outside the car, the controller controls the seat to perform the welcoming action (the seat moves back to facilitate the user to sit down). At this time, assuming that the target edge code segment corresponding to the continuous sliding segment is NOPNPOO, still refer to Figure 8 In (b), Figure 8 In (b), the reference edge code segment can be completely matched to NOPNPOO. At this time, the target code length of the target edge code segment is 7.

[0167] Another example is that the travel of the continuous sliding seat is short. For example, the user adjusts the seat position by himself. The user adjusts the seat to a comfortable position for his own driving. Assuming that the target edge code segment corresponding to the continuous sliding segment is PNP, still refer to Figure 8 In (b), Figure 8 In (b), the sub-code segment PNP can be matched in the reference edge code segment. At this time, the target code length of the target edge code segment is 2.

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

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

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

[0171] Still taking the 7-bit Barker code as an example, combined with Table 1, it can be understood that when the continuous codeword length is any of 1, 2, 3 and 4, the sub-code segment corresponding to the code length is 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 in the sub-code segments included in the reference edge code segment. This situation is called non-global matching enhancement, and at this time, 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 continuous sliding seat is long enough, the sliding section includes bcdef(a)-b, refer to Figure 8 As shown in (d), the target edge code corresponding to the continuous slip segment is NOPOPOO, and the reference edge code segment is Figure 8 (b) shows NOPNPOO, and the fourth code word NO of the two edge code segments is 1, so the two edge code segments do not match. At this time, the seat position is not calibrated.

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

[0175] In some embodiments, the seat position self-calibration method also includes: when the matching result indicates that the seat position is not calibrated, based on the current calibration confidence, adjusting the calibration confidence adjustment value corresponding to the code length of the target edge code segment upward, the calibration confidence is used to characterize the probability of performing the calibration operation; 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, a calibration confidence variable is maintained in a register in the controller. When the matching result indicates that the seat position is not to be calibrated, 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. The correspondence between different code lengths and calibration confidence adjustment values ​​is stored in the table. In some embodiments, the code length is positively correlated with the calibration confidence adjustment value. The larger the code length, the larger the calibration confidence adjustment value, the higher the calibration confidence, and the greater the probability of performing a calibration operation; the smaller the code length, the smaller the calibration confidence adjustment value, the lower the calibration confidence, and the smaller the probability of performing a calibration operation. It can be understood that when the matching result indicates that the seat position is to be calibrated, the calibration confidence adjustment value is greater than the confidence threshold, which can directly trigger the execution of the seat position calibration operation.

[0177] When the adjusted calibration confidence is greater than or equal to the confidence 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 the embodiment of the present application, during normal use of the seat by the user, the calibration confidence is dynamically adjusted according to the matching result, so as to more accurately judge the timing of seat position calibration, improve the accuracy of seat position calibration, reduce unnecessary calibration operations, and save system resources; by adjusting the calibration confidence, the system can better adapt to different usage environments and conditions, provide more stable and reliable performance, and thus provide the user with a smoother and more comfortable usage experience.

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

[0181] The matching result indicates that the target edge code segment is not matched in the reference edge code segment, indicating that the seat position deviation of this continuous sliding is large, and the calibration confidence is cleared.

[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, and the value of the mismatch count counter can be read from the diagnostic port of the controller.

[0183] When the calibration confidence is greater than or equal to the confidence threshold, the seat position calibration is triggered. Therefore, after the seat position is calibrated, the calibration confidence needs to be cleared in time to avoid misoperation.

[0184] In an embodiment of the present application, the calibration confidence is cleared when the matching result indicates that the target edge code segment is not matched in the reference edge code segment, thereby preventing the long-term impact of the erroneous matching result on the system and avoiding the accumulation of erroneous operations. After the seat position is calibrated, the calibration confidence is cleared to ensure the accuracy of subsequent calibration operations. In addition, the calibration logic is simplified by clearing the calibration confidence.

[0185] Next, through Figure 9a , Fig.9c , Fig.10a and Fig.10c The seat position self-calibration method is further explained.

[0186] Figure 9a Schematic diagram of the seat position self-calibration process provided for this application Figure 2 .

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

[0188] 4.1. Current ripple ADC sampling.

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

[0190] Execute 4.2 and 4.6.

[0191] 4.2. Ripple extraction.

[0192] The current ripple signal is extracted from the acquired signal generated by the motor.

[0193] 4.3. Cycle segmentation.

[0194] The extracted current ripple signal is divided into waveform periods to obtain a 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 angular displacement is multiplied by the preset coefficient to obtain the current position of the seat on the seat slide rail.

[0198] 4.6. Motor current extraction.

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

[0200] 4.7. Edge code detection.

[0201] Based on the motor current signal and the current position, edge code detection is performed to determine the edge code. The edge code detection range can be determined based on the current position. Within the edge code detection range, edge code detection is performed based on the motor current signal.

[0202] 4.8. Determine the single edge code segment.

[0203] Based on the single continuous slip segment, a single edge code segment (ie, a target edge code segment) is determined. The specific implementation method of determining the target edge code segment can be referred to step 1.2.

[0204] Execute 4.11.

[0205] 4.9. Determine the motor direction.

[0206] The motor direction is determined according to the motor current direction in the motor current signal.

[0207] 4.10. Reference edge code segment generation.

[0208] The controller presets an edge code template (reference template), which includes 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 the motor steering, a reference edge code segment corresponding to the continuous sliding direction of the seat is obtained, see step S302 for details.

[0210] 4.11. Edge code 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. For details, see step 3.1.

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

[0213] If the matching fails, that is, the target edge code segment is not matched in the reference edge code segment, the calibration confidence is cleared.

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

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

[0216] If there are multiple sub-segments of the target code length in the sub-segments included in the reference edge code segment, it means that the sub-segments corresponding to the code length are not unique, see step 3.4. Then execute 4.14.

[0217] 4.13. Position calibration.

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

[0219] The seat position is calibrated according to the target edge code segment and the reference edge code segment. For details, please refer to steps 2.1 to 2.3.

[0220] After the seat position is calibrated, the calibration confidence is cleared.

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

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

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

[0224] Based on the current calibrated confidence in the confidence accumulator, the calibrated confidence adjustment value corresponding to the code length of the target edge code segment is adjusted upward.

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

[0226] When the confidence calibrated in the confidence accumulator is greater than or equal to the confidence threshold, execute 4.13 to calibrate the seat position according to 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 the mechanical resistance mechanism calibration and when the seat motor is a ripple motor.

[0228] Optionally, the structural diagram of the mechanical resistance mechanism is as follows: Figure 9b Reference Figure 9b The mechanical resistance mechanism includes an elastic member 91 and a calibration section boss 92. The calibration section boss 92 is arranged on the surface of the lower guide rail 93 of the seat facing the upper guide rail 94 and protrudes a predetermined distance; the elastic member 91 is arranged on the surface of the upper guide rail 94 facing the lower guide rail 93. When the seat slides, the elastic member 91 passes through the calibration section boss 92.

[0229] Among them, the mechanical resistance mechanism is arranged in the seat travel. When the user slides the seat during normal use of the vehicle, for example, during the seat welcoming process, or when the user adjusts the forward and backward position of the seat by himself, the mechanical resistance mechanism plays a role to realize the calibration of the seat position.

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

[0231] The elastic member 91 is correspondingly arranged within the range of the calibration section. When installed, the elastic member 91 protrudes a certain distance from the surface where the upper guide rail is located. The elastic member 91 can be rectangular, circular, wavy, triangular, etc. When the seat is slid, as the upper guide rail 94 moves on the lower guide rail, the elastic member 91 will pass through the calibration section boss 92. After the elastic member 91 contacts the calibration section boss 92, the elastic member 91 will produce a certain deformation. As the extrusion force increases, the friction resistance in the opposite direction of the forward direction also increases, and the output of the seat motor produces obvious jump characteristics, such as motor current signal jump, ripple cycle jump, motor speed jump, etc.

[0232] There is a gap between the elastic member 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 member 91 can be made of an arc-shaped wear-resistant material.

[0233] It should be noted that Figure 9b As just an example, in some embodiments, the marking section boss may also be arranged on the surface of the upper rail of the seat facing the lower rail, and the elastic member may be arranged on the surface of the lower rail facing the upper rail.

[0234] It should be noted that elastic parts or calibrated section bosses of different shapes can provide different mechanical properties, which affect the output of the seat motor (such as motor current jump and ripple cycle jump characteristics), and also affect the user's sitting feeling (for example, the stability of the seat operation during the sliding seat, mechanical noise, etc.); in addition, in actual design applications, the size of the friction resistance can be adjusted by adjusting the stiffness of the elastic part or the height of the calibrated section boss; the size of the friction contact surface, the friction coefficient of the contact surface, and the size of the extrusion force can also be controlled to obtain the required friction resistance. The size of the friction resistance is properly controlled to minimize the impact on the user while producing obvious motor current jump and / or ripple cycle jump characteristics.

[0235] It should also be noted that when using a mechanical resistance mechanism to calibrate the seat position, there is no need to increase the hardware resources of the controller, and the original controller hardware does not need to be changed. It is only necessary to add an identification module for the relevant change characteristics of the seat motor output to the controller software, such as an identification module for the position calibration point using the motor current and ripple period information.

[0236] Preferably, the calibration section boss is arranged in the most frequent travel section of the seat sliding, so as to increase the frequency of seat position calibration, thereby timely eliminating the cumulative error of seat positioning, and ensuring that the controller can always ensure the accuracy of seat position positioning.

[0237] Fig.9c Schematic diagram of the seat position self-calibration process provided for this application Figure 3 .

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

[0239] 5.1. Collect Hall pulse signals.

[0240] When the user performs the operation of continuously sliding the seat or the seat welcomes guests, the controller collects the signal generated by the seat motor, which includes the motor current signal and the Hall pulse signal.

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

[0242] 5.2. Shape the Hall pulse signal.

[0243] Based on the shaped Hall pulse signal, the motor direction is determined. For example, the phase relationship between different Hall sensor signals can be compared to determine the direction of the motor.

[0244] Execute 5.3 and 5.8.

[0245] 5.3. Hall counting.

[0246] The shaped Hall pulse signal is divided into waveform periods to obtain pulse counts (Hall counts).

[0247] 5.4. Determine the current location.

[0248] Based on the number of pulses and preset coefficients in the Hall pulse signal, the current position is obtained. The controller extracts the pulse cycle number of 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 angular displacement is multiplied by the preset coefficient to obtain the current position of the seat on the seat rail.

[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] Based on the motor current signal and the current position, edge code detection is performed to determine the edge code.

[0253] 5.7. Determine the single edge code segment.

[0254] Based on a single continuous slip segment, a single edge code segment (i.e., a target edge code segment) is determined. The edge code detection range can be determined based on the current position, and within the edge code detection range, edge code detection is performed based on the motor current signal. The specific implementation method for determining the target edge code segment can be found in step 1.2.

[0255] Go to 5.9.

[0256] 5.8. Generation of reference edge code segments.

[0257] The controller presets an edge code template (reference template), which includes 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 the motor steering, a reference edge code segment corresponding to the continuous sliding direction of the seat is obtained, see step S302 for details.

[0259] 5.9. Edge code 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. For details, see step 3.1.

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

[0262] If the matching fails, that is, the target edge code segment is not matched in the reference edge code segment, the calibration confidence is cleared.

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

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

[0265] If there are multiple sub-segments of the target code length in the sub-segments included in the reference edge code segment, it means that the sub-segments corresponding to the code length are not unique, see step 3.4. Then execute 5.12.

[0266] 5.11. Seat position calibration.

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

[0268] The seat position is calibrated according to the target edge code segment and the reference edge code segment. For details, please refer to steps 2.1 to 2.3.

[0269] After the seat position is calibrated, the calibration confidence is cleared.

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

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

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

[0273] Based on the current calibrated confidence in the confidence accumulator, the calibrated confidence adjustment value corresponding to the code length of the target edge code segment is adjusted upward.

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

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

[0276] Fig.10a Schematic diagram of the seat position self-calibration process provided for this application Figure 4 .

[0277] like Fig.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 step 6.1 and step 7.1 are executed synchronously.

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

[0281] Perform steps 6.2 and 6.6.

[0282] 6.2. Ripple extraction.

[0283] The current ripple signal is extracted from the acquired signal generated by the motor.

[0284] 6.3. Cycle segmentation.

[0285] The extracted current ripple signal is divided into waveform periods to obtain a ripple count.

[0286] 6.4. Ripple counting.

[0287] 6.5. Determine the current location.

[0288] The current position is obtained based on the number of ripples in the current ripple signal and the preset coefficient. Specifically, 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 angular displacement is multiplied by the preset coefficient to obtain the current position of the seat on the seat rail.

[0289] Execute 7.3.

[0290] 6.6. Motor current extraction.

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

[0292] 6.7. Determine the motor direction.

[0293] The motor direction is determined according to the motor current direction in the motor current signal.

[0294] 6.8. Reference edge code segment generation.

[0295] The controller presets an edge code template (reference template), which includes 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 the motor steering, a reference edge code segment corresponding to the continuous sliding direction of the seat is obtained.

[0297] Go to 6.9.

[0298] 7.1. Optical signal ADC sampling.

[0299] The controller acquires the optical signal (encoded waveform) from the optical receiver.

[0300] 7.2. Amplify and shape the optical signal.

[0301] 7.3. Edge code detection.

[0302] Based on the current position and the optical signal (encoding waveform), edge code detection is performed to determine the edge code. The edge code detection range can be determined based on the current position, and the edge code detection is performed according to the encoding waveform within the edge code detection range.

[0303] 7.4. Determine the single edge code segment.

[0304] Based on the single continuous sliding segment, a single edge code segment (ie, a target edge code segment) is determined.

[0305] At the end of a single continuous seat sliding, that is, the seat motor stops running, the amplitude of the motor current signal will become smaller. If it is lower than the preset threshold, it is determined that the continuous sliding is 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 feature, the edge code O can be evenly added between the edge codes N and P to complete the generation of a single edge code segment (target edge code segment).

[0306] Go to 6.9.

[0307] 6.9. Edge code 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 a correlation algorithm.

[0309] If the match is successful, the target code length of the target edge code segment is determined and then 6.10 is executed.

[0310] If the matching fails, that is, the target edge code segment is not matched in the reference edge code segment, the calibration confidence is cleared.

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

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

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

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

[0315] 6.11. Seat position calibration.

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

[0317] The error mean 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 the edge code is determined based on the target position coordinates and the current position coordinates corresponding to the edge code in the reference edge code segment; the error mean is determined based on the errors 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 error mean and the current position, thereby completing the seat position calibration.

[0319] After the seat position is calibrated, the calibration confidence is cleared.

[0320] 6.12. Calibrated confidence adjustment value corresponding to the matching target code length.

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

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

[0323] Based on the current calibrated confidence in the confidence accumulator, the calibrated confidence adjustment value corresponding to the code length of the target edge code segment is adjusted upward.

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

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

[0326] Optionally, the schematic diagram of the structure of the photoelectric position self-calibration mechanism is as follows: Fig.10b Reference Fig.10b The photoelectric position self-calibration mechanism includes: a light transmitter 101, a light receiver 102, a position calibration pattern 103 and a controller 104, wherein: the light receiver 102 and the light transmitter 101 are both arranged on one side of the two opposite planes of the upper and lower rails of the seat, and the intersection of the axes of the light transmitter 101 and the light receiver 102 is located on the reflection surface of the opposite rail. The position calibration pattern 103 is arranged on the reflection surface, and when the intersection of the axes passes through the position calibration pattern 103 during the sliding process of the upper rail relative to the lower rail, the optical signal received by the light receiver 102 reflects the coding waveform of the position calibration pattern 103. The controller 104 is electrically connected to the light receiver 102, and the controller 104 is used to perform self-calibration of the position of the seat according to the coding 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 photoelectric tubes. Preferably, the position calibration pattern 103 is arranged in the most frequent travel section of the seat sliding. The frequency of seat position calibration is increased, and the cumulative error of seat positioning is eliminated in time, ensuring that the controller can always ensure the accuracy of seat position positioning.

[0328] When the upper rail and the seat assembly move along the lower rail, when the axis intersection (light reflection focus) passes through the position calibration pattern 103, the intensity of the optical signal received by the optical receiver 102 presents the coded waveform of the position calibration pattern 103. That is to say, for example, when the intensity of the optical signal received by the optical receiver 102 changes suddenly, it means that a calibration point has been passed at this time.

[0329] It should be noted that Fig.10b As just an example, in some embodiments, the photoelectric position self-calibration mechanism may also include: a controller 104, a light transmitter 101 and a light receiver 102, wherein: the light transmitter 101 is arranged on one side of the two opposite planes of the upper and lower guide rails of the seat, and the light receiver 102 is arranged 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 transmitter 101 and the light receiver 102 coincide, the light signal received by the light receiver 102 reflects the coded waveform of the calibration point in the calibration section; the controller 104 is electrically connected to the light receiver 102, and the controller 104 is used to perform self-calibration of the position of the seat according to the coded waveform; wherein, the light transmitter 101 is arranged at the calibration point, or the light receiver 102 is arranged at the calibration point.

[0330] When the upper rail slides to a special position relative to the lower rail, the optical transmitter 101 and the optical receiver 102 are aligned (optical axes coincide), and the optical receiver outputs the strongest optical signal at this time, and the seat slides through the calibration point. The setting rule of the calibration point is consistent with the Barker code rule.

[0331] Fig.10c Schematic diagram of the seat position self-calibration process provided for this application Figure 5 .

[0332] like Fig.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. Collect Hall pulse signals.

[0334] When the user performs the operation of continuously sliding the seat or the seat welcomes guests, the controller collects the signal generated by the seat motor, which includes the Hall pulse signal.

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

[0336] 8.2. Shape the Hall pulse signal.

[0337] Based on the shaped Hall pulse signal, the motor direction is determined. For example, the phase relationship between different Hall sensor signals can be compared to determine the direction of the motor.

[0338] Execute 8.3 and 9.5.

[0339] 8.3. Hall counting.

[0340] The shaped Hall pulse signal is divided into waveform periods to obtain pulse counts (Hall counts).

[0341] 8.4. Determine the current location.

[0342] Based on the number of pulses in the Hall pulse signal and the preset coefficient, the current position is obtained. The controller extracts the pulse cycle number of 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 angular displacement is multiplied by the preset coefficient to obtain the current position of the seat on the seat slide rail.

[0343] Execute 9.3.

[0344] 8.1. Optical signal ADC sampling.

[0345] The controller acquires the optical signal (encoded waveform) 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 step 7.3 and will not be repeated here.

[0349] 8.4. Determine the single edge code segment.

[0350] The implementation method is the same as step 7.4 and 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 step 6.8 and will not be repeated here.

[0354] 9.6. Edge code segment matching.

[0355] The implementation method is the same as step 6.9 and will not be repeated here.

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

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

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

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

[0360] 9.8. Seat position calibration.

[0361] The implementation method is the same as step 6.11 and will not be repeated here.

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

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

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

[0365] Based on the current calibrated confidence in the confidence accumulator, the calibrated confidence adjustment value corresponding to the code length of the target edge code segment is adjusted upward.

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

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

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

[0369] 1. During the regular use of the seat, the seat position is regularly self-calibrated by sliding the seat, which increases the frequency of seat position calibration, thereby improving the flexibility of seat position calibration and ensuring that the cumulative error of seat positioning does not exceed the system design requirements; by detecting the edge code during the seat sliding stroke, the accuracy of calibration point recognition is improved, thereby timely eliminating the seat positioning error, and the controller can always ensure the accuracy of seat position positioning. Compared with the related art where the seat position is calibrated by specialized personnel using dedicated equipment, the seat position is regularly self-calibrated by continuously sliding the seat, reducing labor costs.

[0370] 2. Through regular self-calibration, the application of ripple positioning technology in the forward and backward sliding positioning of seats is promoted, so that ripple motors can also be used in seat electronic control. Compared with Hall motors, the application of ripple motors for seat electronic control reduces costs. The Hall sensor in the seat motor can be eliminated without reducing the user experience to achieve cost reduction.

[0371] 3. Solve the problem that although Hall positioning basically does not produce cumulative positioning errors, if the controller loses the seat position memory due to abnormal power outages and other reasons, it needs to be calibrated manually using special equipment. Through regular self-calibration, the reliability of Hall positioning can be improved while reducing labor costs.

[0372] 4. By calculating the error corresponding to each edge code during the slip process, the error mean of the target edge code segment is determined based on the error, and then the vehicle seat position is calibrated using the error mean to ensure that the cumulative error of the seat position positioning meets the system design requirements and improve the accuracy of the seat position positioning.

[0373] 5. Use edge codes for matching calculations to ensure the complete consistency of the two matching code segments, thereby improving the accuracy of seat position calibration. At the same time, different matching results are used to indicate whether the seat position should be calibrated, thereby improving the reliability of seat position calibration.

[0374] The following is an embodiment of the device of the present application, which can be used to execute the embodiment of the method of the present application. For details not disclosed in the embodiment of the device of the present application, please refer to the embodiment of the method of the present application.

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

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

[0377] A matching module 112 is used to match the target edge code segment with a reference edge code segment corresponding to a preset calibration segment to obtain a matching result, wherein the reference edge code segment includes the position coordinates and edge codes of each calibration point in the calibration segment;

[0378] The calibration module 113 is used to calibrate the seat position according to the target edge code segment and the reference edge code segment when the matching result indicates that the seat position should be 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 according to the edge coordinates corresponding to the edge code in the reference edge code segment and the current position coordinates; determine the error mean according to the errors corresponding to each edge code in the target edge code segment; and calibrate the vehicle seat position according to the sum of the error mean and the current position coordinates.

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

[0381] In a possible implementation, the calibration-related signal includes a calibration signal and a motor waveform signal, and the acquisition module 111 is also used to: determine the current position of the seat on the seat slide rail based on the motor waveform signal; 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.

[0382] In a possible implementation, the acquisition module 111 is also used for: if the seat motor is a ripple motor, the motor waveform signal is a current ripple signal, and the current position is obtained according to the number of ripples in the current ripple signal and a preset coefficient, and 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 according to the number of pulses in the Hall pulse signal and a preset coefficient, and the preset coefficient is determined by the transmission system structural parameters.

[0383] In one possible implementation, the matching module 112 is specifically used to: match the target edge code segment with a reference edge code segment corresponding to a 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 among the sub-code segments included in the reference edge code segment, only the target edge code segment is of the target code length, obtain a matching result indicating that the seat position is calibrated; if among the sub-code segments included in the reference edge code segment, there are multiple sub-code segments of the target code length, 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 a possible implementation, the calibration module 113 is further used to: when the matching result indicates that the seat position is not to be calibrated, based on the current calibration confidence, upward adjust the calibration confidence adjustment value corresponding to the code length of the target edge code segment, the calibration confidence being used to characterize the probability of performing the calibration operation; 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 a possible implementation manner, the code length is positively correlated with the calibration confidence adjustment value.

[0386] In a possible implementation manner, the matching module 112 is further configured to: clear the calibration confidence when the matching result indicates that the target edge code segment is not 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 this embodiment will not be described in detail here.

[0388] Fig.12 This is a schematic diagram of the structure of the electronic device provided in this application. Fig.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 also 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 process, at least one processor 121 executes the computer-executable instructions stored in the memory 122, so that at least one processor 121 executes the above method.

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

[0391] In the above embodiments, it should be understood that the processor may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), etc. A general-purpose processor may be a microprocessor or any conventional processor. The steps of the method disclosed in the invention may be directly implemented as being executed by a hardware processor, or may be executed by a combination of hardware and software modules in the processor.

[0392] The memory may include a high-speed memory (Random Access Memory, RAM), and may also include a non-volatile memory (Non-volatile Memory, NVM), such as at least one disk memory.

[0393] The bus may be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, the bus in the drawings of the present application is not limited to only one bus or one type of bus.

[0394] The present application also provides a computer program product, including a computer program, which implements the above method when executed by a processor.

[0395] The present application also provides a computer-readable storage medium, in which computer-executable instructions are stored. When the computer-executable instructions are executed, the above method is implemented.

[0396] The above-mentioned 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 memory, flash memory, magnetic disk or optical disk. The readable storage medium can be any available medium that can be accessed by a general or special-purpose computer.

[0397] An exemplary readable storage medium is coupled to a processor so that the processor can read information from the readable storage medium 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 be located in an application specific integrated circuit (Application Specific Integrated Circuits, referred to as: ASIC). Of course, the processor and the readable storage medium can also exist in the device as discrete components.

[0398] The division of units is only a logical function division, and there may be other divisions in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interface, device or unit, which can be electrical, mechanical or other forms.

[0399] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0400] In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0401] If the function is implemented in the form of 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 the present invention, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium, including several instructions for a computer device (which can be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods of each embodiment of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk, etc. Various media that can store program codes.

[0402] Those skilled in the art can understand that all or part of the steps of implementing the above-mentioned method embodiments can be completed by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When the program is executed, the steps of the above-mentioned method embodiments are executed; and the aforementioned storage medium includes: ROM, RAM, disk or optical disk and other media that can store program codes.

[0403] Finally, it should be noted that those skilled in the art will readily conceive of other embodiments of the present invention after considering the specification and practicing the invention disclosed herein. The present invention is intended to cover any variations, uses or adaptations of the present invention, which follow the general principles of the present invention and include common knowledge or customary technical means in the art not disclosed by the present invention, are not limited to the precise structure described above and shown in the drawings, and may be modified and changed in various ways without departing from the scope thereof. The scope of the present invention is limited only by the appended claims.

Claims

1. A seat position self-calibration method, characterized in that: The sliding travel of the seat includes a calibration section, and the seat position self-calibration method includes: Acquire a target edge code segment of the calibration segment during the seat sliding process; Matching the target edge code segment with a reference edge code segment corresponding to a preset calibration segment to obtain a matching result, wherein the reference edge code segment includes the position coordinates and edge codes of each calibration point in the calibration segment; When the matching result indicates that the seat position is to be 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 calibrating the seat position according to the target edge code segment and the reference edge code segment comprises: For each edge code in the target edge code segment, determine the error corresponding to the edge code according to the edge coordinates corresponding to the edge code in the reference edge code segment and the current position coordinates; Determine an error mean according to the errors corresponding to each edge code in the target edge code segment; The vehicle seat position is calibrated according to the sum of the error mean and the current position coordinates.

3. The seat position self-calibration method according to claim 1, characterized in that: The step of obtaining a target edge code segment of the calibration segment during the seat sliding process includes: Acquire calibration-related signals obtained during the continuous sliding seat process; Edge code detection is performed on the calibration-related signal to obtain a 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, and edge code detection is performed on the calibration-related signal to obtain a target edge code segment of the calibration segment during the seat sliding process, including: determining a current position of the seat on the seat rail according to 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 according to the change amplitude of the calibration signal within the first range of the current position.

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 according to 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 according to the number of current ripple cycles and a preset coefficient in the current ripple signal, and the preset coefficient is determined by the transmission system structure parameter; If the seat motor is a Hall motor, the motor waveform signal is a Hall pulse signal, and the current position is obtained according to the number of Hall pulse cycles and a preset coefficient in the Hall pulse signal, and 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 a reference edge code segment corresponding to a preset calibration segment to obtain a matching result includes: Matching the target edge code segment with a reference edge code segment corresponding to a preset calibration segment; If the target edge code segment is matched in the reference edge code segment, determining a target code length of the target edge code segment; If, among the sub-code segments included in the reference edge code segment, only the target edge code segment is the target code length, a matching result indicating that the seat position is calibrated is obtained; If there are multiple sub-code segments of the target code length in the sub-code segments included in the reference edge code segment, a matching result indicating that the seat position is not to be 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 to be calibrated, based on the current calibration confidence, upwardly adjusting the calibration confidence adjustment value corresponding to the code length of the target edge code segment, the calibration confidence being used to characterize the probability of performing the calibration operation; When the adjusted calibration confidence is greater than or equal to the confidence threshold, the seat position is calibrated according to 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: When the matching result indicates that the target edge code segment is not matched in the reference edge code segment, or after the seat position is calibrated, the calibration confidence is cleared.

10. A seat position self-calibration device, characterized in that: The sliding travel of the seat includes a calibration section, and the seat position self-calibration device includes: An acquisition module, used for acquiring a target edge code segment of the calibration segment during the seat sliding process; A matching module, used for matching the target edge code segment with a reference edge code segment corresponding to a preset calibration segment to obtain a matching result, wherein the reference edge code segment includes the position coordinates and edge codes of each calibration point in the calibration segment; A calibration module is used to calibrate the seat position according to the target edge code segment and the reference edge code segment when the matching result indicates that the seat position should be calibrated.

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

Citation Information

Patent Citations

  • Seat position management method and device, vehicle-mounted device and storage medium

    CN112793478A

  • Automobile seat adjusting method and device

    CN118238690A

  • Vehicle seat adjustment method, apparatus, and program product

    CN118876825A

  • Seat, seat belt device, control method and related apparatus

    WO2023082053A1

Cited By

  • Seat Hall offset prevention control method and system based on variable precision and application

    CN120963489A

  • Variable-precision-based seat anti-hall shift control method, system and application

    CN120963489B

  • Seat position correction method, electronic equipment and vehicle

    CN121425056A

  • Seat position self-calibration method and apparatus, and electronic device

    WO2026130436A1