Steering control device and steering device
The control device addresses the challenge of re-learning the rack end position by using a position detection unit and re-learning judgment unit to accurately determine and reset the steering mechanism's end state, improving steering comfort and reliability.
Patent Information
- Application Number
- PCT/JP2024/021687
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-07-26
- Filing Date
- 2024-06-14
- Publication Date
- 2025-01-30
AI Technical Summary
The existing steering control systems face challenges in accurately re-learning the rack end position after changes in the steering mechanism, such as different rack axis lengths or mounting positions, leading to potential errors and discomfort due to sudden steering changes or tire collisions.
A control device equipped with a position detection unit, a learning department, and a re-learning judgment unit that detects the end state of the steering mechanism, determines the need for re-learning, and resets the position if the steering angle variation is within a predetermined threshold, ensuring accurate re-learning of the rack end position.
This configuration reduces mistakes during re-learning of the rack end position, enhancing the comfort and reliability of the steering system by minimizing impact and noise during steering angle adjustments.
Smart Images

Figure JP2024021687_30012025_PF_FP_ABST
Abstract
Description
Steering control device and steering device
[0001] The present invention relates to a steering control device and a steering device.
[0002] When the steering angle of a vehicle's steering mechanism increases and reaches the mechanical maximum steering angle, the rack shaft of the steering mechanism reaches the end of its stroke, and the steering angle can no longer be increased. This state in which the rack shaft reaches the end of its stroke is called "end contact." The end of the rack shaft's stroke is also sometimes referred to as the "rack end." End contact at high steering speeds can cause a large impact or a striking sound (abnormal noise), which can be unpleasant for the driver. Patent Documents 1 and 2 describe technologies that learn the maximum absolute value of the steering angle as the rack end position, and suppress an increase in the steering angle when the steering angle detected by a sensor is near the learned rack end position, thereby mitigating the impact at the end contact. Hereinafter, the virtual rack end position learned based on the steering angle detected by the sensor will be referred to as the "virtual rack end position," and the actual physical rack end position will be referred to as the "actual rack end position."
[0003] Patent No. 7131737 Specification Patent No. 7136398 Specification
[0004] There are cases where the rack shaft is replaced after the virtual rack end position has been learned. In such cases, it is conceivable that a rack shaft of a different length than the rack shaft that should have been installed may be mistakenly installed, or that the installation position of the rack shaft may change before and after the rack shaft replacement. In such cases, it is necessary to re-learn the virtual rack end position. When re-learning the virtual rack end position, there is a risk that an inappropriate virtual rack end position may be learned due to sudden steering changes or collision of the tire with a curb, etc. The present invention has been made in light of the above-mentioned problem, and an object of the present invention is to suppress erroneous learning when re-learning the rack end position.
[0005] To achieve the above object, a steering control device according to one aspect of the present invention includes a position detection unit that detects a steering position of a steering mechanism of a vehicle, an end position learning unit that learns an end position of the steering mechanism based on the steering position detected by the position detection unit, and a relearning determination unit that determines whether relearning of the end position is necessary. The relearning determination unit includes an end contact detection unit that detects the occurrence of end contact, which is a state in which the steering mechanism has been steered to the end position, and acquires an end contact steering angle that is the steering angle when the occurrence of end contact is detected, an end contact steering angle range determination unit that determines whether variation in the end contact steering angles acquired multiple times is equal to or less than a predetermined threshold, and a relearning unit that resets the learned end position to an initial value if the variation is equal to or less than the predetermined threshold.
[0006] A steering device according to another aspect of the present invention includes the above-described steering control device and an actuator that is driven and controlled by the steering control device to steer steered wheels of a vehicle.
[0007] According to the present invention, it is possible to prevent erroneous learning when relearning the rack end position.
[0008] 1 is a configuration diagram showing an overview of an example of an electric power steering device of an embodiment. FIG. 2 is a block diagram showing an example of the functional configuration of a controller shown in FIG. 1. FIG. 3 is an explanatory diagram of an example of a steering angle range in which impact mitigation control is performed. FIG. 4 is a block diagram showing an example of the functional configuration of an impact mitigation control unit. FIG. 5(a) is a characteristic diagram showing an example of the characteristics of a spring constant table, and FIG. 5(b) is a characteristic diagram showing an example of the characteristics of a viscosity constant table. FIG. 6 is a block diagram showing an example of the functional configuration of an end position learning unit. FIG. 6(a) is an explanatory diagram of an example of a change in column output shaft torque with a change in steering angle, and FIG. 6(b) is an explanatory diagram of an example of a learned value of the end position when the column output shaft torque of FIG. 6 is generated. FIG. 6(a) is a conceptual diagram of an actual rack end position, FIG. 6(b) is a conceptual diagram of a state before learning of a virtual rack end position starts, FIG. 6(c) is a conceptual diagram of a state after the right virtual rack end position has been learned, FIG. 6(d) is a conceptual diagram of a state after the left virtual rack end position has been learned, FIG. 6(e) is a conceptual diagram of a state after learning of the virtual rack end is considered to have been completed, and FIG. 6(f) is a conceptual diagram of a state after learning of the virtual rack end has continued until near the actual rack end. 8(a) is a conceptual diagram of the actual rack end position, (b) is a conceptual diagram showing the same state as FIG. 8(f), (c) is a conceptual diagram of the state immediately after an offset error occurs, (d) is a conceptual diagram of the state after the learned position of the left virtual rack end position has been updated, (e) is a conceptual diagram of the correction of the steering angle detected by the steering angle sensor and the reset of the learned value of the right virtual rack end position, (f) is a conceptual diagram of the state after the learned position of the left virtual rack end position has been further updated, (g) is a conceptual diagram of the state after learning of the virtual rack end is considered to be completed, and (h) is a conceptual diagram of the state after the learned position of the left virtual rack end position has been further updated. A table showing examples of limit values in the states of FIGS. 8(b) to 8(f) and 9(b) to 9(h). A block diagram showing an example of the functional configuration of a relearning determination unit. (a) is an explanatory diagram of an example of determination as to whether an end stop steering angle is necessary, and (b) is an explanatory diagram of an example of determination as to whether an end stop steering angle can be obtained. (a) and (b) are explanatory diagrams of an example of rack stroke determination. 10A to 10C are diagrams illustrating an example of an end contact steering angle range determination; and FIG. 10A is an example of a state transition diagram of a vehicle state.18 is an explanatory diagram of an example of a method for calculating a rack stroke minimum value Stmin, a rack stroke maximum value Stmax, a learning threshold θlth, a rack end maximum value θevmax, and an initial value θint. 19 is a flowchart of an example of a steering control method according to an embodiment. 20 is a flowchart of an example of a one-side end contact process of FIG. 27. 21 is a flowchart of an example of a both-side end contact process of FIG. 28.
[0009] Embodiments of the present invention will be described in detail with reference to the drawings. Note that the embodiments of the present invention shown below are merely examples of devices and methods for embodying the technical concept of the present invention, and the technical concept of the present invention does not limit the configuration, arrangement, etc. of component parts to those described below. Various modifications can be made to the technical concept of the present invention within the technical scope defined by the claims.
[0010] 1 is a diagram showing an example of an electric power steering device according to an embodiment of the present invention. Column shafts (steering shafts) 2i and 2o of a steering wheel (steering handle) 1 are connected to steered wheels 8L and 8R via a reduction gear (worm gear) 3, an intermediate shaft 4, a pinion-rack mechanism 5, and tie rods 6a and 6b, which constitute a reduction mechanism, and further via hub units 7a and 7b.
[0011] The column input shaft 2i and the column output shaft 2o are connected by a torsion bar (not shown) that twists due to a difference in rotation angle between the column input shaft 2i and the column output shaft 2o. The intermediate shaft 4 has a shaft member 4c and universal joints 4a and 4b attached to both ends of the shaft member. The universal joint 4a is connected to the column output shaft 2o, and the universal joint 4b is connected to a pinion rack mechanism 5.
[0012] The pinion-rack mechanism 5 has a pinion 5a connected to a pinion shaft to which steering force is transmitted from the universal joint 4b, and a rack 5b meshing with the pinion 5a, and the rotational motion transmitted to the pinion 5a is converted into linear motion in the vehicle width direction by the rack 5b. The steering shaft 2 (column shafts 2i and 2o) is provided with a torque sensor 10 that detects steering torque Th. The steering shaft 2 (column shafts 2i and 2o) is also provided with a steering angle sensor 14 that detects the steering angle θh of the steering wheel 1.
[0013] A motor 20 that assists the steering force of the steering wheel 1 is connected to the column output shaft 2o via a reduction gear 3. A controller 30 that controls an electric power steering (EPS) device is supplied with power from a battery 13 and receives an ignition key signal via an ignition (IGN) key 11. Note that the means for applying steering assist force is not limited to a motor, and various types of actuators can be used.
[0014] The controller 30 calculates a current command value of the assist control command based on the steering torque Th detected by the torque sensor 10, the vehicle speed Vh detected by the vehicle speed sensor 12, and the steering angle θh detected by the steering angle sensor 14, and controls the current supplied to the motor 20 using a voltage control command value Vref obtained by performing compensation or the like on the current command value. Note that the steering angle sensor 14 is not essential, and the steering angle θh may be calculated by adding the torsion angle of the torsion bar of the torque sensor 10 to the rotation angle obtained from a rotation angle sensor that detects the rotation angle of the rotary shaft of the motor 20.
[0015] The controller 30 may include, for example, a computer including a processor and peripheral components such as a storage device. The processor may be, for example, a CPU (Central Processing Unit) or an MPU (Micro-Processing Unit). The storage device may include any of a semiconductor storage device, a magnetic storage device, and an optical storage device. The storage device may include memories such as a register, a cache memory, and a ROM (Read Only Memory) and a RAM (Random Access Memory) used as a main storage device. The functions of the controller 30 described below are realized, for example, by the processor of the controller 30 executing a computer program stored in the storage device.
[0016] The controller 30 may be formed of dedicated hardware for executing each of the information processes described below. For example, the controller 30 may include a functional logic circuit configured in a general-purpose semiconductor integrated circuit. For example, the controller 30 may include a programmable logic device (PLD) such as a field-programmable gate array (FPGA).
[0017] 2 is a block diagram showing an example of the functional configuration of the controller 30 according to the embodiment. The controller 30 includes a basic command value calculation unit 40, an adder 41, a subtractor 42, a current control unit 43, a PWM (Pulse Width Modulation) control unit 44, an inverter (INV) 45, an end position learning unit 46, a control rotational displacement setting unit 47, a differentiating unit 48, an impact mitigation control unit 49, a current detector 50, a learning state determination unit 51, an impact mitigation control output limiting unit 52, and a relearning determination unit 53. The basic command value calculation unit 40 calculates a basic current command value Iref1, which is a control target value for the drive current of the motor 20, based on the steering torque Th from the torque sensor 10 and the vehicle speed Vh from the vehicle speed sensor 12. In this embodiment, the value of the basic current command value Iref1 that generates a steering assist force of the motor 20 in the right steering direction is defined as a positive value, and the value of the basic current command value Iref1 that generates a steering assist force in the left steering direction is defined as a negative value.
[0018] The adder 41 corrects the basic current command value Iref1 by adding the shock mitigation control output Iref2' output from the shock mitigation control output limiting unit 52 to the basic current command value Iref1, and outputs the corrected basic current command value Iref1 as the current command value Iref3. The shock mitigation control output limiting unit 52 sets the shock mitigation control output Iref2' by limiting the upper limit value of the shock mitigation control output Iref2 output from the shock mitigation control unit 49 with the limit value 0, Limit1, or Limit2 output from the learning state determination unit 51, and by limiting the lower limit value of the shock mitigation control output Iref2 with the limit value 0, (-Limit1), or (-Limit2).
[0019] When the steering angle θh approaches the rack end position, the impact mitigation control unit 49 suppresses an increase in the steering angle θh to mitigate the impact and hitting noise (abnormal noise) caused by end contact. The control by the impact mitigation control unit 49 to mitigate the impact and hitting noise caused by end contact may be referred to as "impact mitigation control." The impact mitigation control unit 49 outputs, as the impact mitigation control output Iref2, a current command value that suppresses an increase in the steering angle θh in order to mitigate the impact and hitting noise caused by end contact. The impact mitigation control output Iref2 has a negative value when steering to the right, and reduces the magnitude of the positive basic current command value Iref1. On the other hand, the impact mitigation control output Iref2 has a positive value when steering to the left, and reduces the magnitude of the negative basic current command value Iref1. For example, the impact mitigation control unit 49 may output a current command value that generates a steering reaction force.
[0020] The impact mitigation control output limiting unit 52 limits the upper limit of the impact mitigation control output Iref2 when steering left to the limit value 0 or positive limit values Limit1, Limit2 output from the learning state determining unit 51, and limits the lower limit of the impact mitigation control output Iref2 when steering right to the limit value 0 or negative limit values (-Limit1), (-Limit2). Details of the impact mitigation control unit 49, learning state determining unit 51, and relearning determining unit 53 will be described later.
[0021] The current command value Iref3 calculated by the adder 41 is input to a subtractor 42, which calculates the deviation (Iref3-Im) from the motor current value Im that is fed back. This deviation (Iref3-Im) is controlled by a current control unit 43, such as a PI control unit, and the current-controlled voltage control value Vref is input to a PWM control unit 44, which calculates the duty, and PWM-drives the motor 20 via an inverter 45 using a PWM signal. The motor current value Im of the motor 20 is detected by a current detector 50, input to the subtractor 42, and fed back.
[0022] The end position learning unit 46 learns virtual rack end positions θevr and θevl, which are end positions of the steering mechanism, based on the steering angle θh detected by the steering angle sensor 14. θevr is the virtual rack end position when steering to the right and has a positive value. θevl is the virtual rack end position when steering to the left and has a negative value. Furthermore, an error may occur between the center position of the left and right actual rack end positions (hereinafter sometimes referred to as the "rack neutral position") and the neutral position of the steering angle θh of the column shaft detected by the steering angle sensor 14 (hereinafter sometimes referred to as the "steering angle neutral position"). Such an error may be referred to as an "offset error" hereinafter. The offset error may occur, for example, due to incorrect assembly of the intermediate shaft 4. The end position learning unit 46 estimates the offset error Ofs and outputs a corrected steering angle θh1 obtained by subtracting the offset error Ofs from the steering angle θh detected by the steering angle sensor 14. The end position learning unit 46 will be described in detail later.
[0023] When the corrective steering angle θh1 approaches the rack end position and is within a range in which impact mitigation control is implemented (hereinafter, this may be referred to as the "impact mitigation control implementation range"), the control rotational displacement setting unit 47 sets a control rotational displacement θr that indicates how close the corrective steering angle θh1 is to the virtual rack end positions θevr and θevl. See Fig. 3. In the case of right steering (i.e., when the corrective steering angle θh1 is a positive value), the impact mitigation control implementation range is the range in which the threshold value θthR<θh1, and in the case of left steering (i.e., when the corrective steering angle θh1 is negative), the impact mitigation control implementation range is the range in which the threshold value θthL>θh1.
[0024] The threshold values θthR and θthL are set based on the virtual rack end positions θevr and θevl, respectively. For example, the threshold value θthR for right steering may be a value (θevr−Δθ) obtained by subtracting a predetermined positive value Δθ from the virtual rack end position θevr, and the threshold value θthL for left steering may be a value (θevl+Δθ) obtained by adding a predetermined value Δθ to the virtual rack end position θevl.
[0025] The controlled rotational displacement θr is set to zero ("0") outside the impact mitigation control implementation range (i.e., θthL≦θh1≦θthR), for example, and within the impact mitigation control implementation range for rightward steering, the larger the difference (θh1-θthR) obtained by subtracting the threshold value θthR from the corrected steering angle θh1, the larger the controlled rotational displacement θr is set. On the other hand, within the impact mitigation control range for leftward steering, the smaller the difference (θh1-θthL) obtained by subtracting the threshold value θthL from the corrected steering angle θh1 (i.e., the larger the absolute value |θh1-θthL|), the smaller the negative controlled rotational displacement θr (the larger the absolute value |θr|) may be set.
[0026] In other words, in a range where the corrective steering angle θh1 is greater than the threshold value θthR, the positive control rotational displacement θr increases as the corrective steering angle θh1 increases, and in a range where the corrective steering angle θh1 is smaller than the threshold value θthL, the negative control rotational displacement θr decreases as the corrective steering angle θh1 decreases. For example, the control rotational displacement setting unit 47 may set the difference θh1-θthR as the control rotational displacement θr when the corrective steering angle θh1 is greater than the threshold value θthR, and may set the difference θh1-θthL as the control rotational displacement θr when the corrective steering angle θh1 is smaller than the threshold value θthL.
[0027] See Fig. 2. The differentiating unit 48 differentiates the steering angle θh detected by the steering angle sensor 14 to calculate the steering angular velocity ω. The impact mitigation control unit 49 sets the impact mitigation control output Iref2 based on the control rotational displacement θr and the steering angular velocity ω. Fig. 4 is a block diagram showing an example of the functional configuration of the impact mitigation control unit 49. The impact mitigation control unit 49 includes a spring constant table 60, multipliers 61 and 63, a viscosity constant table 62, an adder 64, an inverter 65, and a limiter 66.
[0028] The spring constant table 60 is a data table for calculating the spring constant k0 of the steering system. As shown in FIG. 5A, the spring constant k0 has a characteristic of increasing relatively steeply (nonlinear increase) in the center of the change region as the control rotational displacement θr increases. Note that when the control rotational displacement θr is a negative value, the characteristic is line-symmetrical with the spring constant k0 axis (vertical axis) as the axis of symmetry. The viscosity constant table 62 is a data table for calculating the viscosity constant μ of the steering system. As shown in FIG. 5B, the viscosity constant μ has a characteristic of gradually increasing relatively slowly (nonlinear increase) overall as the control rotational displacement θr increases. Note that when the control rotational displacement θr is a negative value, the characteristic is line-symmetrical with the viscosity constant μ axis (vertical axis) as the axis of symmetry.
[0029] A spring constant k0 from a spring constant table 60 is multiplied by a control rotational displacement θr in a multiplier 61, and the multiplication result (k0 × θr) is input to an adder 64. Also, a viscosity constant μ from a viscosity constant table 62 is multiplied by a steering angular velocity ω in a multiplier 63, and the multiplication result (μ × ω) is input to the adder 64. The addition result from the adder 64 (= k0 × θr + μ × ω) is input to an inverter 65 and a limiter 66, where the sign is inverted and an impact absorption control output Iref2 with a limited maximum value is set.
[0030] 4 is merely an example, and the present invention is not limited to the above-described configuration. It is sufficient for the impact mitigation control unit 49 to have a configuration that can output an impact mitigation control output Iref2 that suppresses an increase in the steering angle θh when the corrective steering angle θh1 approaches the rack end position.
[0031] Next, details of the end position learning unit 46 will be described. The end position learning unit 46 determines, as the first candidate θm1 for the virtual rack end, the steering angle θh that is farthest from the neutral steering angle position among the steering angles θh detected by the steering angle sensor 14 when the rotational force applied to the steering mechanism is equal to or less than a first predetermined value (the maximum steering angle when the steering angle θh is positive, and the minimum steering angle when the steering angle θh is negative). For example, the first candidate θm1 for the virtual rack end may be determined when the column output shaft torque Tc applied to the column output shaft 2o is equal to or less than a predetermined value T1. The end position learning unit 46 may determine, as the first candidate θm1 for the virtual rack end, the steering angle θh that is farthest from the neutral steering angle position among the steering angles θh detected by the steering angle sensor 14 when the rotational force applied to the steering mechanism is equal to or less than the first predetermined value and the operating force acting on the steering operating unit is equal to or less than a third predetermined value. For example, the first candidate θm1 may be determined when the column output shaft torque Tc is equal to or smaller than a predetermined value T1 and the steering torque Th is equal to or smaller than a predetermined value T2.
[0032] Furthermore, the terminal position learning unit 46 determines, as a second candidate θm2 for the virtual rack end, the steering angle θh detected by the steering angle sensor 14, which is the steering angle farthest from the neutral steering angle position among angles obtained by shifting the steering angle θh by a second predetermined value toward the neutral steering angle position (i.e., the angle obtained by subtracting the second predetermined value from the maximum steering angle in the case of a positive steering angle θh, and the angle obtained by adding the second predetermined value to the minimum steering angle in the case of a negative steering angle θh). For example, the second predetermined value may be set to a maximum value that can be considered as an error.
[0033] The end position learning unit 46 determines the steering angle farthest from the neutral steering angle position from the first candidate θm1 or the second candidate θm2 as the virtual rack end positions θevr and θevl, thereby reducing the influence of torsion caused by torque and reducing the error between the virtual rack end positions θevr and θevl and the actual rack end positions.
[0034] 6 is a block diagram showing an example of the functional configuration of the end position learning unit 46. The end position learning unit 46 includes an output shaft torque calculation unit 70, a selection unit 71, a first storage unit 72, delay units 73 and 77, a rate limiter 74, a correction position calculation unit 75, a second storage unit 76, a third storage unit 78, a limiter 79, a stroke calculation unit 80, an offset error calculation unit 81, a subtractor 82, and an end position correction unit 83.
[0035] The output shaft torque calculation unit 70 calculates the column output shaft torque Tc applied to the column output shaft 2o. For example, the output shaft torque calculation unit 70 may calculate, as the column output shaft torque Tc, a motor torque estimated by multiplying the current command value Iref3 of the motor 20 or the motor current value Im detected by the current detector 50 by a motor torque constant and a reduction ratio of the reduction gear 3. For example, the output shaft torque calculation unit 70 may calculate, as the column output shaft torque Tc, the sum of the motor torque estimated by multiplying the current command value Iref3 of the motor 20 by the motor torque constant and the reduction ratio of the reduction gear 3 and the steering torque Th detected by the torque sensor 10.
[0036] For example, the output shaft torque calculation unit 70 may calculate the column output shaft torque Tc as the sum of the motor torque estimated by multiplying the motor current value Im detected by the current detector 50 by the motor torque constant and the reduction ratio of the reduction gear 3, and the steering torque Th detected by the torque sensor 10. Alternatively, the output shaft torque calculation unit 70 may obtain the motor angular acceleration by second-order differentiating the value detected by the angle sensor of the motor 20, estimate the inertia torque by multiplying it by the moment of inertia, and add the inertia torque to the column output shaft torque Tc obtained as described above. The column output shaft torque Tc is an example of a "rotational force applied to the steering mechanism." The steering torque Th is an example of an "operational force acting on a steering operation unit of the vehicle."
[0037] The subtractor 82 calculates a corrected steering angle θh1 by subtracting the offset error Ofs calculated by the offset error calculation unit 81 from the steering angle θh detected by the steering angle sensor 14. The calculation of the offset error Ofs by the offset error calculation unit 81 will be described later. The selection unit 71 selects one of the corrected steering angle θh1 and the output of the delay unit 73 according to the values of the column output shaft torque Tc and the steering torque Th, and outputs the selected one to the first storage unit 72. The delay unit 73 delays and outputs the first candidate θm1 for the virtual rack end stored and outputted from the first storage unit 72. For example, the selection unit 71 may select the corrected steering angle θh1 calculated from the detected steering angle θh when the column output shaft torque Tc is equal to or less than a predetermined value T1 and the steering torque Th is equal to or less than a predetermined value T2, and output the selected one to the first storage unit 72 in other cases.
[0038] The first storage unit 72 stores the output of the delay unit 73 or the corrected steering angle θh1, whichever is further from the steering angle neutral position, as a first candidate θm1 for the virtual rack end. As a result, if the corrected steering angle θh1 calculated when the column output shaft torque Tc is equal to or less than a predetermined value T1 and the steering torque Th is equal to or less than a predetermined value T2 is further from the steering angle neutral position than the first candidate θm1 stored in the first storage unit 72, the first candidate θm1 stored in the first storage unit 72 is updated with the corrected steering angle θh1. Note that the selector 71 may select and output the corrected steering angle θh1 to the first storage unit 72 when the column output shaft torque Tc is equal to or less than the predetermined value T1, and may output the output of the delay unit 73 to the first storage unit 72 in other cases. The rate limiter 74 receives the first candidate θm1 output from the first storage unit 72 and the steering angle θo output from the third storage unit. The rate limiter 74 limits the rate of change of the first candidate θm1 with respect to the steering angle θo delayed by a delay unit (not shown), and outputs the first candidate θm1' after the rate of change has been limited to the third memory unit 78.
[0039] The correction position calculation unit 75 calculates an angle obtained by shifting the correction steering angle θh1 by a second predetermined value toward the steering angle neutral position. That is, when the correction steering angle θh1 is positive, the correction position calculation unit 75 outputs an angle obtained by subtracting the second predetermined value from the correction steering angle θh1. When the correction steering angle θh1 is negative, the correction steering angle θh1 is output by adding the second predetermined value to the correction steering angle θh1. The second storage unit 76 stores the output of the correction position calculation unit 75 or the output of the delay unit 77, whichever is farther from the steering angle neutral position, as a second virtual rack end candidate θm2. The delay unit 77 delays and outputs the second virtual rack end candidate θm2 stored and output in the second storage unit 76.
[0040] As a result, if the output of the correction position calculation unit 75 (i.e., the angle obtained by shifting the correction steering angle θh1 by the second predetermined value toward the steering angle neutral position) is farther from the steering angle neutral position than the second candidate θm2 stored in the second storage unit 76, the second candidate θm2 stored in the second storage unit 76 is updated with the output of the correction position calculation unit 75. The third storage unit 78 stores and outputs the steering angle θo farther from the steering angle neutral position from among the first candidate θm1' and the second candidate θm2, the change rates of which have been limited by the rate limiter 74. The limiter 79 limits the magnitude of the steering angle θo output from the third storage unit 78 and outputs it as virtual rack end positions θevr and θevl.
[0041] 7A and 7B, an example of learning the virtual rack end according to this embodiment will be described. For simplicity of explanation, the offset error Ofs is set to 0 (i.e., steering angle θh = corrected steering angle θh1), and if the steering angle θh detected when the column output shaft torque Tc is equal to or less than a predetermined value T1 is farther from the steering angle neutral position than the first candidate θm1 stored in the first storage unit 72, the first candidate θm1 is updated.
[0042] FIG. 7A is an explanatory diagram illustrating an example of changes in column output shaft torque Tc with changes in steering angle θh. The arrows in the diagram indicate the steering direction. During further steering, the column output shaft torque Tc exceeds a predetermined value T1 when the steering angle θh exceeds θ1. During subsequent return steering, the column output shaft torque Tc becomes smaller than the predetermined value T1 when the steering angle θh becomes smaller than θ2 (θ2 > θ1). FIG. 7B is an explanatory diagram illustrating an example of a learned value of the virtual rack end for right steering when the column output shaft torque Tc shown in FIG. 7A is generated. The dashed line indicates the steering angle θh, the dashed-dotted line indicates the first candidate θm1, the dashed-two-dotted line indicates the second candidate θm2, and the solid line indicates the output θo from the third memory unit 78 (the virtual rack end positions θevr and θevl before limitation by the limiter 79). Note that the dashed-dotted and dashed-two-dotted lines are offset from one another to avoid overlapping.
[0043] When the steering angle θh increases at time t1 and further steering begins, the steering angle θh (dashed line) is learned as a first candidate θm1 (dash-dotted line) while the column output shaft torque Tc is equal to or less than a predetermined value T1 (i.e., while the steering angle θh is equal to or less than θ1). During further steering, the first candidate θm1 (dash-dotted line) increases to θ1. In addition, an angle that is less than the steering angle θh by a second predetermined value is learned as a second candidate θm2 (dash-dotted line).
[0044] Therefore, while the first candidate θm1', whose rate of change is limited by the rate limiter 74, is greater than the second candidate θm2 (dotted line) (from time t1 to time t2), the first candidate θm1' is selected as the output θo (solid line) of the third memory unit 78, and when the second candidate θm2 exceeds the first candidate θm1' at time t2, the second candidate θm2 is selected as the output θo (solid line).
[0045] Thereafter, when the steering angle θh stops increasing and becomes a constant value at time t3, the second candidate θm2 (two-dot chain line) also stops increasing. Therefore, the first candidate θm1', whose rate of change is limited by the rate limiter 74, is selected as the output θo (solid line) of the third storage unit 78. As described above, the first candidate θm1 (dash-dotted line) increases to θ1, and therefore the output θo (solid line) of the third storage unit 78 increases to θ1 with a delay from the first candidate θm1. When the output θo (solid line) reaches θ1 at time t4, the output θo (solid line) stops increasing.
[0046] Thereafter, when the steering angle θh begins to decrease and steering back begins, the steering angle θh decreases to θ2 at time t5. Then, the column output shaft torque Tc becomes equal to or less than the predetermined value T1. Therefore, the angle θ2 is learned as the first candidate θm1 (dashed dotted line). Therefore, the first candidate θm1', whose rate of change is limited by the rate limiter 74, begins to increase and is selected as the output θo (solid line) of the third storage unit 78. The output θo (solid line) increases until it reaches θ2 at time t6, and then remains constant.
[0047] When the output θo (solid line) of the third storage unit 78 learned as described above, i.e., the virtual rack end positions θevr and θevl before being limited by the limiter 79, is compared with the case where an angle obtained by simply subtracting a second predetermined value (e.g., a maximum error estimated value) from the steering angle θh is learned (chain double-dashed line), it is found that the output θo of the third storage unit 78 can be learned as a steering angle farther from the steering angle neutral point. Therefore, steering angles closer to the actual rack end positions can be learned as the virtual rack end positions θevr and θevl.
[0048] Next, the learning state determination unit 51 will be described with reference to Fig. 2. The learning state determination unit 51 determines the learning state of the virtual rack end position by the end position learning unit 46 based on the virtual rack end positions θevr and θevl output from the end position learning unit 46. Depending on the determination result of the learning state of the virtual rack end position, the learning state determination unit 51 outputs either 0 or a positive limit value Limit1 or Limit2 to the impact reduction control output limiting unit 52 as a limit value that limits the upper limit value of the impact reduction control output Iref2 during left steering.
[0049] The limit value Limit2 is a value larger than the limit value Limit1 and may be set to a sufficiently large value so as to effectively prevent, for example, impacts and hitting sounds (abnormal noises) due to end contact. On the other hand, the limit value Limit1 may be set to a value that allows a certain degree of impacts and hitting sounds (abnormal noises) but prevents damage to the steering mechanism due to end contact. Furthermore, the learning state determination unit 51 outputs either 0 or a negative limit value (-Limit1) or (-Limit2) to the impact absorption control output limiting unit 52 as a limit value that limits the lower limit value of the impact absorption control output Iref2 during rightward steering, depending on the determination result of the learning state of the virtual rack end position.
[0050] Specifically, as initial values before learning of the virtual rack end positions θevr and θevl begins, a positive initial value θint and a negative initial value (−θint) are stored in the first storage unit 72, the second storage unit 76, and the third storage unit 78, respectively. The initial values θint and (−θint) may be set appropriately so as not to be outside the actual rack end position (i.e., so that the initial values θint and (−θint) are not farther from the steering angle neutral point than the actual rack end position). For example, they may be set so that θint = (rack stroke minimum value Stmin - rack end maximum value θevmax).
[0051] Here, the minimum rack stroke value Stmin may be set to the minimum value of variation in the value that can be calculated as the rack stroke between the virtual rack end positions θevr and θevl (for example, the lower limit of a manufacturing tolerance). Furthermore, the "maximum rack end value θevmax" is the maximum absolute value of the values that can be learned as the virtual rack end positions θevr and θevl, and may be set to satisfy the following equation: maximum rack end value θevmax = (maximum rack stroke value Stmax / 2) + (estimated value of the offset error between the rack neutral position and the steering angle neutral position). Furthermore, the maximum rack stroke value Stmax is the maximum value of variation in the value that can be calculated as the rack stroke between the virtual rack end positions θevr and θevl, and may be set to, for example, a value obtained by adding the learning error of the virtual rack end positions θevl and θevr to the upper limit of a manufacturing tolerance.
[0052] When the right virtual rack end position θevr output from the end position learning unit 46 is less than a predetermined learning threshold θlth, the learning state determination unit 51 determines that learning of the right virtual rack end position θevr has not been performed, and outputs "0" as a limit value that restricts the lower limit of the impact absorption control output Iref2. The "learning threshold θlth" may be set to the minimum absolute value of the values that can be learned as the virtual rack end positions θevr and θevl, and may be set, for example, to the learning threshold θlth = (rack stroke minimum value Stmin / 2) - (estimated value of the offset error between the rack neutral position and the steering angle neutral position).
[0053] Similarly, if the left virtual rack end position θevl is greater than the negative learning threshold (-θlth) (i.e., if the absolute value |θevl| is less than the absolute value |θlth|), it is determined that learning of the left virtual rack end position θevl has not been performed, and "0" is output as the limit value that limits the upper limit value of the impact mitigation control output Iref2.
[0054] When the right virtual rack end position θevr becomes equal to or greater than a predetermined learning threshold θlth, the learning state determination unit 51 determines that learning of the right virtual rack end position θevr has been completed, and outputs "-Limit1" as the limit value that limits the lower limit of the impact mitigation control output Iref2. Similarly, when the left virtual rack end position θevl is equal to or less than the negative learning threshold (-θlth) (i.e., when the absolute value |θevl| is equal to or greater than the absolute value |θlth|), the learning state determination unit 51 determines that learning of the left virtual rack end position θevl has been completed, and outputs "Limit1" as the limit value that limits the upper limit of the impact mitigation control output Iref2.
[0055] Furthermore, the learning state determination unit 51 calculates the distance between the right virtual rack end position θevr and the left virtual rack end position θevl as the rack stroke St. When the absolute values of the learned values of the virtual rack end positions θevr and θevl become large and the rack stroke St becomes longer than the minimum rack stroke value Stmin, the learning state determination unit 51 determines that learning of the virtual rack end positions θevr and θevl is completed and outputs "-Limit2" as the limit value that limits the lower limit of the impact absorption control output Iref2 and outputs "Limit2" as the limit value that limits the upper limit of the impact absorption control output Iref2.
[0056] Next, an example of how the limit value output by the learning state determination unit 51 changes in response to changes in the learning state of the virtual rack end position will be described. Fig. 8(a) is a conceptual diagram of the actual rack end position, Fig. 8(b) is a conceptual diagram of the state before learning of the virtual rack end position starts, Fig. 8(c) is a conceptual diagram of the state after the right virtual rack end position θevr has been learned, Fig. 8(d) is a conceptual diagram of the state after the left virtual rack end position θevl has been learned, Fig. 8(e) is a conceptual diagram of the state after learning of the virtual rack ends θevr and θevl is considered to have been completed, and Fig. 8(f) is a conceptual diagram of the state after learning of the virtual rack end has continued until the position approaches the actual rack end. The limit values in the table of Fig. 10 indicate the limit values output by the learning state determination unit 51 in the states of Figs. 8(b) to 8(f).
[0057] In Figures 8(b) to 8(f), "0 [deg]" indicates the neutral steering angle position. The same applies to Figures 9(b) to 9(h) described below. In Figures 8(b) to 8(f), the neutral steering angle position substantially coincides with the rack neutral position (the center position of the actual rack end positions). In the state before learning of the virtual rack end position starts (Figure 8(b)), the right virtual rack end position θevr output from the end position learning unit 46 is θint with respect to the neutral steering angle position, which is smaller than the learning threshold value θlth.
[0058] Therefore, the learning state determination unit 51 determines that learning of the right virtual rack end position θevr has not been performed, and outputs "0" as the limit value that limits the lower limit of the impact mitigation control output Iref2 (see FIG. 10). Also, the left virtual rack end position θevl output from the end position learning unit 46 is (-θint) with respect to the neutral steering angle position and is greater than the learning threshold value (-θlth). Therefore, the learning state determination unit 51 determines that learning of the left virtual rack end position θevl has not been performed, and outputs "0" as the limit value that limits the upper limit of the impact mitigation control output Iref2 (see FIG. 10).
[0059] Thereafter, the right virtual rack end position θevr is learned as shown in FIG. 8(c). Because the right virtual rack end position θevr is equal to or greater than the learning threshold value θlth, the learning state determination unit 51 determines that learning of the right virtual rack end position θevr has been completed and outputs "-Limit1" as the limit value that limits the lower limit of the impact mitigation control output Iref2. On the other hand, because the left virtual rack end position θevl remains unchanged, "0" is output as the limit value that limits the upper limit of the impact mitigation control output Iref2 (see FIG. 10).
[0060] Thereafter, the left virtual rack end position θevl is learned as shown in FIG. 8(d). Because the left virtual rack end position θevl is equal to or less than the negative learning threshold (-θlth), the learning state determination unit 51 determines that learning of the left virtual rack end position θevl has been completed. However, because the rack stroke St is equal to or less than the rack stroke minimum value Stmin, it is not determined that learning of the virtual rack end positions θevr and θevl has been completed. Therefore, "Limit1" is output as the limit value that limits the upper limit of the impact mitigation control output Iref2. Also, "-Limit1" is output as the limit value that limits the lower limit.
[0061] 8(e), by learning the right virtual rack end position θevr, the rack stroke St becomes longer than the minimum rack stroke value Stmin. Therefore, the learning state determination unit 51 determines that learning of the virtual rack end positions θevr and θevl is completed, and outputs "Limit2" and "-Limit2" as limit values that restrict the upper and lower limits of the impact absorption control output Iref2, respectively.
[0062] Thereafter, the learning of the virtual rack end positions θevr and θevl is repeated, so that the virtual rack end positions θevr and θevl approach the actual rack end positions (see FIG. 8(f)). The learning state determination unit 51 outputs "Limit2" and "-Limit2" as limit values that restrict the upper and lower limits of the impact absorption control output Iref2, respectively, until the rack stroke St exceeds the maximum rack stroke value Stmax.
[0063] Next, an operation when an offset error occurs between the rack neutral position and the steering angle neutral position will be described. Fig. 9(a) is a conceptual diagram of the actual rack end position, Fig. 9(b) is the same as Fig. 8(f) and shows a state where there is no offset error, and Fig. 9(c) is a conceptual diagram of the state immediately after the offset error occurs. The steering angle neutral position in Fig. 9(b) approximately coincides with the rack neutral position (the center position of the actual rack end positions), and the steering angle neutral position in Fig. 9(c) is shifted to the right from the rack neutral position by Δθ. In other words, when the rack is steered to the left by Δθ from the steering angle neutral position, the rack 5b reaches the rack neutral position.
[0064] If an offset error occurs, the shock absorption control cannot be performed normally. In the example of Figure 9(c), the right virtual rack end position θevr is located outside the actual rack end position, so the necessary reduction in shock and abnormal noise cannot be achieved. For this reason, the end position learning unit 46 estimates the offset error Ofs between the rack neutral position and the steering angle neutral position as described above, and outputs the corrected steering angle θh1 obtained by subtracting the offset error Ofs from the steering angle θh detected by the steering angle sensor 14.
[0065] Referring to Figure 6, the stroke calculation unit 80 calculates the rack stroke St. The offset error calculation unit 81 compares the rack stroke St with the maximum rack stroke value Stmax. If the rack stroke St exceeds the maximum rack stroke value Stmax, the offset error calculation unit 81 determines that an offset error has occurred. Then, the difference obtained by subtracting the maximum rack stroke Stmax from the rack stroke St is calculated as the offset error Ofs = (rack stroke St - maximum rack stroke Stmax).
[0066] 9(d) is a conceptual diagram of a state in which the left virtual rack end position θevl has been learned after an offset error has occurred. Because the steering angle neutral position is shifted to the right of the rack neutral position, when the left virtual rack end position θevl is newly learned, the rack stroke St between the virtual rack end positions θevr and θevl exceeds the maximum rack stroke value Stmax. The offset error calculation unit 81 calculates the difference (rack stroke St - maximum rack stroke Stmax) obtained by subtracting the maximum rack stroke Stmax from the rack stroke St as the offset error Ofs.
[0067] In the following description, of the left and right virtual rack end positions, the virtual rack end position learned when the calculated rack stroke St exceeds the maximum rack stroke value Stmax may be referred to as "one virtual rack end position." Furthermore, of the left and right virtual rack end positions, the virtual rack end position that is not one virtual rack end position may be referred to as "the other virtual rack end position." As in the example of FIG. 9C , if the steering angle neutral position is deviated to the right from the rack neutral position, the left virtual rack end position becomes one virtual rack end position, and the right virtual rack end position becomes the other virtual rack end position. Conversely, if the steering angle neutral position is deviated to the left from the rack neutral position, the right virtual rack end position becomes one virtual rack end position, and the left virtual rack end position becomes the other virtual rack end position.
[0068] 6, a subtractor 82 subtracts the offset error Ofs calculated by the offset error calculation unit 81 from the steering angle θh detected by the steering angle sensor 14 to calculate a corrected steering angle θh1. A terminal position correction unit 83 corrects the first candidate θm1 stored in the first storage unit 72, the second candidate θm2 stored in the second storage unit 76, and the steering angle θo stored in the third storage unit 78 in accordance with the offset error Ofs. These correction processes will be described with reference to FIG. 9(e).
[0069] The subtractor 82 subtracts the offset error Ofs from the steering angle θh, which causes the neutral steering angle position (the position of 0 degrees) to move as shown in Fig. 9(e). On the other hand, the left virtual rack end position θevl (i.e., one virtual rack end position) learned in Fig. 9(d) is a learned value before the neutral steering angle position serving as the base point moved. Therefore, when the neutral steering angle position is moved as shown in Fig. 9(e), the left virtual rack end position θevl must be corrected accordingly.
[0070] The end position correction unit 83 corrects the first candidate θm1 for the left virtual rack end position stored in the first storage unit 72 by the offset error Ofs. Because the left virtual rack end position is a negative value, the offset error Ofs is added to the left virtual rack end position for correction. The second candidate θm2 and the steering angle θo stored in the second storage unit 76 and the third storage unit 78 are also corrected in the same way. If one of the virtual rack end positions is the right virtual rack end position (i.e., a positive value), the offset error Ofs is subtracted for correction.
[0071] Furthermore, the end position corrector 83 corrects (resets) the other virtual rack end position (the right virtual rack end position θevr in the example of FIG. 9E) so that the rack stroke St between the virtual rack end positions θevr and θevl becomes a predetermined minimum rack stroke value Stmin. This allows the other virtual rack end position to be corrected to a position more inward than the actual rack end position.
[0072] 9(f). When a new virtual rack end position θevl on the left side is further learned, the offset error calculation unit 81 calculates a change amount Δθevl in the virtual rack end position θevl before and after the update. The offset error calculation unit 81 updates the offset error Ofs by adding the change amount Δθevl to the offset error Ofs before learning the new virtual rack end position θevl on the left side. As a result, the neutral position of the steering angle is further moved by the change amount Δθevl.
[0073] The end position correction unit 83 corrects the first candidate θm1 for one virtual rack end position (the left virtual rack end position) stored in the first storage unit 72 by the change amount Δθevl. Because the left virtual rack end position is a negative value, the change amount Δθevl is added for correction. The second candidate θm2 and the steering angle θo stored in the second storage unit 76 and the third storage unit 78 are also corrected in the same way. If one virtual rack end position is the right virtual rack end position (i.e., a positive value), the change amount Δθevl is subtracted for correction. Furthermore, the other virtual rack end position (the right virtual rack end position θevr in the example of FIG. 9(f)) is corrected (reset) so that the rack stroke St between the virtual rack end positions θevr and θevl becomes the minimum rack stroke value Stmin.
[0074] 9(g). When a new right virtual rack end position θevr (i.e., the other virtual rack end position) is learned, the offset error calculation unit 81 does not update the offset error Ofs. In other words, the neutral steering angle position is not moved. In addition, the end position correction unit 83 does not correct the first candidate θm1 stored in the first storage unit 72, the second candidate θm2 stored in the second storage unit 76, or the steering angle θo stored in the third storage unit 78. As a result, only the right virtual rack end position θevr is updated so as to move away from the neutral steering angle position.
[0075] See FIG. 9(h). After a new right virtual rack end position θevr is learned in FIG. 9(g), even if a new left virtual rack end position θevl (i.e., one virtual rack end position) is further learned, the right virtual rack end position θevr is not corrected (reset) so that the rack stroke St becomes the predetermined rack stroke minimum value Stmin. As in FIG. 9(f), the offset error calculation unit 81 updates the offset error Ofs (i.e., corrects the steering angle neutral position) and moves, and the terminal position correction unit 83 corrects the left virtual rack end position θevl. At this time, the right virtual rack end position θevr is corrected by adding the offset error Ofs to the virtual rack end position θevr. Furthermore, when a new right virtual rack end position θevr (i.e., the other virtual rack end position) is learned, only the right virtual rack end position θevr changes without changing the steering angle neutral position and the left virtual rack end position θevl (i.e., one virtual rack end position).
[0076] Next, the operation of the learning state determination unit 51 when an offset error occurs will be described. The learning state determination unit 51 determines that an offset error has occurred when the rack stroke St calculated from the right virtual rack end position θevr and the left virtual rack end position θevl becomes longer than the maximum rack stroke value Stmax. If it is determined that an offset error has occurred, the learning state determination unit 51 resets each of the limit values that limit the upper and lower limits of the impact absorption control output Iref2 to "0."
[0077] Thereafter, as in the above description, when the right virtual rack end position θevr becomes equal to or greater than a predetermined learning threshold θlth, "-Limit1" is output as the limit value that limits the lower limit of the impact mitigation control output Iref2. When the left virtual rack end position θevl becomes equal to or less than the negative learning threshold (-θlth), "Limit1" is output as the limit value that limits the upper limit of the impact mitigation control output Iref2. When the rack stroke St becomes longer than the rack stroke minimum value Stmin, "Limit2" and "-Limit2" are output as the limit values that limit the upper and lower limits of the impact mitigation control output Iref2, respectively.
[0078] An example of the limit value output by the learning state determination unit 51 when an offset error occurs will be described with reference to Figures 9(a) to 9(f) and 10. The limit values in the table of Figure 10 indicate the limit values output by the learning state determination unit 51 in the states of Figures 9(b) to 9(h). Figure 9(b) is the same as Figure 8(f) and shows the state before the offset error occurs. The learning state determination unit 51 outputs "Limit2" and "-Limit2" as limit values that restrict the upper and lower limits of the impact mitigation control output Iref2, respectively.
[0079] If an offset error occurs thereafter due to reasons such as incorrect assembly of the intermediate shaft 4, the state shown in Figure 9(c) will result. At this stage, learning of the new virtual rack ends θevr and θevl has not yet been performed, so the value of the rack stroke St calculated by the learning state determination unit 51 remains the same as the state shown in Figure 9(b). Therefore, the learning state determination unit 51 has not yet determined that an offset error has occurred, and has not yet reset the limit value to "0". For this reason, it outputs "Limit2" and "-Limit2".
[0080] 9(d), when the new left virtual rack end position θevl is learned, the rack stroke St becomes longer than the maximum rack stroke Stmax. Therefore, the learning state determination unit 51 resets the limit values that restrict the upper and lower limits of the impact mitigation control output Iref2 to "0." Furthermore, because the left virtual rack end position θevl is equal to or smaller than the negative learning threshold (-θlth) as shown in FIG. 9(e), the learning state determination unit 51 determines that learning of the left virtual rack end position θevl has been completed, and outputs "Limit1" as the limit value that restricts the upper limit of the impact mitigation control output Iref2.
[0081] On the other hand, the right virtual rack end position θevr is corrected (reset) so that the rack stroke St between the virtual rack end positions θevr and θevl becomes the minimum rack stroke value Stmin, so the rack stroke St does not become longer than the minimum rack stroke value Stmin. For this reason, it is not determined that learning of the virtual rack end positions θevr and θevl is completed, and furthermore, because the right virtual rack end position θevr is less than the learning threshold value θlth, the output of "0" is maintained as the limit value that restricts the lower limit value of the impact absorption control output Iref2. The same applies to the state in Figure 9(f).
[0082] 9(g). When a new right virtual rack end position θevr (i.e., the other virtual rack end position) is learned and the rack stroke St becomes longer than the minimum rack stroke Stmin, the learning state determination unit 51 determines that learning of the virtual rack end positions θevr and θevl is completed, and outputs "Limit2" and "-Limit2" as limit values that limit the upper and lower limits of the impact mitigation control output Iref2. Similarly, in FIG. 9(h), "Limit2" and "-Limit2" are output as limit values that limit the upper and lower limits of the impact mitigation control output Iref2.
[0083] As described above, the steering control device of this embodiment can limit the shock absorption control output Iref2 in stages according to the degree of learning of the virtual rack end position, based on the result of comparing the learned virtual rack end position with the learning threshold value θlth and the result of comparing the rack stroke St calculated from the learned virtual rack end position with the minimum rack stroke value Stmin. This makes it possible to learn the virtual rack end position while suppressing damage to the steering mechanism due to end contact.
[0084] Next, the relearning determination unit 53 will be described. See FIG. 2 . The relearning determination unit 53 determines whether or not relearning of the virtual rack end positions θevl and θevr is necessary depending on whether or not an end contact has been detected. In the following description, the virtual rack end positions θevl and θevr may be collectively referred to as the "virtual rack end position θev." When relearning the virtual rack end position θev, the relearning determination unit 53 outputs a relearning instruction signal Cmd to instruct the end position learning unit 46 to relearn. This makes it possible to relearn the virtual rack end position θev in cases where end contact has occurred due to, for example, a rack shaft being replaced after learning the virtual rack end position θev, resulting in the erroneous installation of a rack shaft with a different length from the rack shaft that should have been installed, or the installation position of the rack shaft having changed before and after the rack shaft replacement.
[0085] 11 is a block diagram showing an example of the functional configuration of the relearning determination unit 53. The relearning determination unit 53 includes an end contact detection unit 90, an end contact steering angle range determination unit 91, a counting unit 92, and a relearning unit 93. The end contact detection unit 90 detects the occurrence of end contact based on the column output shaft torque Tc and the steering torque Th, and holds the end contact steering angle θabt, which is the steering angle when the occurrence of end contact is detected.
[0086] For example, the end contact detection unit 90 may hold the steering angle θdt when the steering torque Th is equal to or greater than a predetermined threshold value Tth1 (e.g., 8 [Nm]), and determine whether or not it is necessary to detect the end contact steering angle θabt based on the held steering angle θdt. For example, the end contact detection unit 90 may determine that it is necessary to detect the end contact steering angle θabt when the absolute value |θev-θdt| of the difference between the steering angle θdt and the virtual rack end position θev is greater than the steering angle threshold value θtha1, and may determine that it is not necessary to detect the end contact steering angle θabt when the absolute value |θev-θdt| of the difference between the steering angle θdt and the virtual rack end position θev is equal to or less than the steering angle threshold value θtha1.
[0087] See Figure 12(a). Figure 12(a) illustrates an example in which the steering wheel 1 is steered to the right. In the processing in which the steering wheel 1 is steered to the left, the right virtual rack end position θevr in the following description will be read as the left virtual rack end position θevl. If the steering angle when the steering torque Th is equal to or greater than a predetermined threshold value Tth1 is the steering angle θdt1 shown in the figure, the absolute value |θevr-θdt1| of the difference between the virtual rack end position θevr and the steering angle θdt1 is equal to or less than the steering angle threshold value θtha1, and therefore the end contact detection unit 90 determines that it is not necessary to detect the end contact steering angle θabt. On the other hand, when the steering angle when the steering torque Th is greater than or equal to the predetermined threshold value Tth1 is the steering angle θdt2 shown in the figure, the absolute value of the difference between the virtual rack end position θevr and the steering angle θdt2, |θevr-θdt2|, is greater than the steering angle threshold value θtha1, so the end contact detection unit 90 determines that it is necessary to detect the end contact steering angle θabt.
[0088] When it is determined that detection of the end contact steering angle θabt is necessary, the end contact detection unit 90 retains the steering angle θcd obtained when the column output shaft torque Tc becomes less than a predetermined threshold value Tth2 (e.g., 35 [Nm]) and the steering torque Th becomes less than the predetermined threshold value Tth1 after the steering torque Th becomes equal to or greater than a predetermined threshold value Tth1 as a candidate for the end contact steering angle θabt (hereinafter sometimes referred to as the "end contact steering angle candidate"). When the absolute value |θev - θcd| of the difference between the end contact steering angle candidate θcd and the virtual rack end position θev is greater than the steering angle threshold value θtha2, the end contact detection unit 90 acquires the end contact steering angle candidate θcd as the end contact steering angle θabt. When the absolute value |θev - θcd| is equal to or less than the steering angle threshold value θtha2, the end contact detection unit 90 discards the end contact steering angle candidate θcd without acquiring it as the end contact steering angle θabt. For example, the steering angle threshold value θtha2 may be set to a value smaller than the steering angle threshold value θtha1 by a predetermined margin Δ. For example, the predetermined margin Δ may be set in accordance with the detection error of the steering angle θh.
[0089] See Figure 12(b). Figure 12(b) illustrates an example in which the steering wheel 1 is steered to the right. In the processing in which the steering wheel 1 is steered to the left, the right virtual rack end position θevr in the following description will be read as the left virtual rack end position θevl. In the case of the end contact steering angle candidate θcd1, the absolute value |θevr-θcd1| of the difference between the virtual rack end position θevr and the end contact steering angle candidate θcd1 is less than or equal to the steering angle threshold value θtha2, so the end contact detection unit 90 discards the end contact steering angle candidate θcd1 without acquiring it as the end contact steering angle θabt. On the other hand, in the case of the end contact steering angle candidate θcd2, the absolute value of the difference between the virtual rack end position θevr and the end contact steering angle candidate θcd2, |θevr-θcd2|, is greater than the steering angle threshold value θtha2, so the end contact detection unit 90 acquires the end contact steering angle candidate θcd2 as the end contact steering angle θabt.
[0090] Next, the end contact detection unit 90 calculates a rack stroke approximate value Sta based on the acquired end contact steering angle θabt. If the rack stroke approximate value Sta is not within the allowable range, the acquired end contact steering angle θabt may be discarded and excluded from the process of determining the variation in the end contact steering angle θabt by the end contact steering angle range determination unit 91, which will be described later. FIG. 13A shows an example of calculation of the rack stroke approximate value Sta in the case where end contact does not occur when the steering wheel 1 is steered to one of the left and right sides, but occurs when the steering wheel 1 is steered to the other of the left and right sides, thereby acquiring an end contact steering angle θabt. FIG. 13B shows an example of calculation of the rack stroke approximate value Sta in the case where end contact occurs both when the steering wheel 1 is steered to the left and right sides, and an end contact steering angle θabtl and a steering angle θabtr are acquired on both the left and right sides.
[0091] As shown in FIG. 13A , when the end stop steering angle θabt is acquired when the steering wheel 1 is steered to the right, the end stop detection unit 90 calculates the absolute value of the difference between the left virtual rack end position θevl and the right steering angle θabt as the rack stroke approximate value Sta. If the error between the rack stroke approximate value Sta and a predetermined preset value is not within a threshold, it is considered that the steered wheels 8L, 8R have collided with a curb or the like when the steering wheel 1 is steered and are unable to be steered to the rack end. For this reason, when the error between the rack stroke approximate value Sta and the predetermined preset value is not within the threshold, the end stop detection unit 90 may discard the steering angle θabt without using it in determining whether or not re-learning is required. Note that in the processing when the end stop steering angle θabt is acquired when the steering wheel 1 is steered to the left, the left virtual rack end position θevl in the above description is replaced with the right virtual rack end position θevr. In the following description, the end stop steering angle θabt obtained when the steering wheel 1 is steered to the left may be referred to as the "left end stop steering angle," and the end stop steering angle θabt obtained when the steering wheel 1 is steered to the right may be referred to as the "right end stop steering angle."
[0092] As shown in FIG. 13B, when the left end contact steering angle θabtl and the right end contact steering angle θabtr are acquired, the absolute value of the difference between these end contact steering angles θabtl and θabtr is calculated as the rack stroke approximate value Sta. The end contact detection unit 90 compares the minimum value of the rack stroke of a rack shaft that may be incorrectly installed on the vehicle (hereinafter referred to as the "minimum erroneous stroke value Sterr") with the rack stroke approximate value Sta. If the rack stroke approximate value Sta is equal to or greater than the minimum erroneous stroke value Sterr, the end contact detection unit 90 determines that the end contact steering angles θabtl and θabtr are appropriate. If the rack stroke approximate value Sta is less than the minimum erroneous stroke value Sterr, the end contact detection unit 90 determines that the detection of the end contact steering angle θabt is an erroneous detection. The end contact detection unit 90 outputs the determination result to the counting unit 92.
[0093] See Figure 11. The end contact steering angle range determination unit 91 determines whether the variation in the right end contact steering angle θabt obtained multiple times by the end contact detection unit 90 is equal to or less than a predetermined threshold value θtha3. Similarly, the end contact steering angle range determination unit 91 determines whether the variation in the left end contact steering angle θabt obtained multiple times by the end contact detection unit 90 is equal to or less than a predetermined threshold value θtha3. Below, a method for calculating the variation in the right end contact steering angle θabt will be described with reference to Figures 14(a) to 14(c), but the method for calculating the variation in the left end contact steering angle θabt is also similar.
[0094] See Figure 14(a). In Figure 14(a), the triangular plot indicates the end contact steering angle θabt most recently acquired by the end contact detection unit 90. Hereinafter, the end contact steering angle θabt most recently acquired by the end contact detection unit 90 may be referred to as the "most recent end contact steering angle." The circular plot indicates the end contact steering angle θabt acquired by the end contact detection unit 90 at a point in time before the most recent end contact steering angle θabt (triangular plot) was acquired and stored in the end contact steering angle memory unit 94. Hereinafter, the end contact steering angle θabt stored in the end contact steering angle memory unit 94 may be referred to as the "stored end contact steering angle." The same applies to Figures 14(b) and 14(c).
[0095] 14A, when the difference between the minimum value θmin and the maximum value θmax of the most recent end contact steering angle θabt (triangular plot) and the stored end contact steering angle θabt (circular plot) is equal to or less than a predetermined threshold value θtha3, the end contact steering angle range determination unit 91 determines that the variation in these end contact steering angles θabt is equal to or less than the predetermined threshold value θtha3. In this case, the end contact steering angle range determination unit 91 stores the most recent end contact steering angle θabt (triangular plot) in the end contact steering angle memory unit 94 in addition to the stored end contact steering angle θabt (circular plot).
[0096] 11 , each time the end contact detection unit 90 acquires the end contact steering angle θabt (triangle plot), the counting unit 92 counts the number of times the end contact steering angle range determination unit 91 determines that the variation in the end contact steering angle θabt is equal to or less than the predetermined threshold θtha3. In other words, the counting unit 92 counts the number of times end contact steering angles with variations equal to or less than the predetermined threshold θtha3 are acquired. The counting unit 92 includes a vehicle state determination unit 95, end contact counters 96oL, 96oR, 96bL, and 96bR, temporary end contact counters 97oL, 97oR, 97bL, and 97bR, and on-center counters 98oL, 98oR, 98bL, and 98bR. In the following description, the end contact counters 96oL, 96oR, 96bL, and 96bR may be collectively referred to as "end contact counters 96," the temporary end contact counters 97oL, 97oR, 97bL, and 97bR may be collectively referred to as "temporary end contact counters 97," and the on-center counters 98oL, 98oR, 98bL, and 98bR may be collectively referred to as "on-center counters 98."
[0097] The vehicle state determination unit 95 determines whether the vehicle is in a stopped state or a running state based on the vehicle speed Vh detected by the vehicle speed sensor 12. FIG. 15 is an example of a state transition diagram of the vehicle state. When the vehicle speed Vh becomes equal to or greater than the vehicle speed threshold Vth while the vehicle is in a stopped state, the vehicle state determination unit 95 determines that the vehicle state has transitioned to a running state. When the vehicle speed Vh becomes less than the vehicle speed threshold Vth while the vehicle is in a running state and the count value of the end contact counter 96 is "0," the vehicle state determination unit 95 determines that the vehicle state has transitioned to a stopped state. As described above, the count unit 92 includes four end contact counters 96oL, 96oR, 96bL, and 96bR, and the vehicle state determination unit 95 may determine whether the vehicle state has transitioned to a stopped state for each of these counters.
[0098] 11 , when the vehicle is in a traveling state, the end contact counter 96 counts and stores the number of times that the end contact steering angle range determination unit 91 determines that the variation in the end contact steering angle θabt is equal to or less than the predetermined threshold value θtha3 each time the end contact steering angle θabt (triangular plot) is acquired. That is, when the vehicle is in a traveling state, if the end contact steering angle range determination unit 91 determines that the difference between the most recent end contact steering angle θabt (triangular plot) and the minimum value θmin and maximum value θmax of the stored end contact steering angles θabt (circular plot) is equal to or less than the predetermined threshold value θtha3, the end contact counter 96 increments the count value by one.
[0099] On the other hand, when the vehicle is in a stationary state, each time the end contact steering angle θabt (triangular plot) is acquired, the temporary end contact counter 97 counts the number of times the end contact steering angle range determination unit 91 has determined that the variation in the end contact steering angle θabt is equal to or less than the predetermined threshold value θtha3, and stores the counted number. In other words, when the vehicle is in a stationary state, if the end contact steering angle range determination unit 91 determines that the difference between the most recent end contact steering angle θabt (triangular plot) and the minimum value θmin and maximum value θmax of the stored end contact steering angle θabt (circular plot) is equal to or less than the predetermined threshold value θtha3, the temporary end contact counter 97 increments the count value by one.
[0100] The end contact counter 96oL and the temporary end contact counter 97oL are counters that count the number of times that the end contact steering angle range determination unit 91 has determined that the variation in the left end contact steering angle θabt is equal to or less than the predetermined threshold value θtha3 when end contact occurs when steering to the left but does not occur when steering to the right. The end contact counter 96oR and the temporary end contact counter 97oR are counters that count the number of times that the end contact steering angle range determination unit 91 has determined that the variation in the right end contact steering angle θabt is equal to or less than the predetermined threshold value θtha3 when end contact does not occur when steering to the left but does occur when steering to the right.
[0101] The end contact counter 96bL and the temporary end contact counter 97bL are counters that count the number of times that the end contact steering angle range determination unit 91 has determined that the variation in the left end contact steering angle θabt is equal to or less than the predetermined threshold value θtha3 when end contact occurs both when steering to the left and when steering to the right. The end contact counter 96bR and the temporary end contact counter 97bR are counters that count the number of times that the end contact steering angle range determination unit 91 has determined that the variation in the right end contact steering angle θabt is equal to or less than the predetermined threshold value θtha3 when end contact occurs both when steering to the left and when steering to the right.
[0102] When the vehicle state transitions from a stopped state to a running state, the counting unit 92 assigns the count value of the temporary end contact counter 97 to the count value of the end contact counter 96. That is, the count value of the temporary end contact counter 97 replaces the count value of the end contact counter 96. The count value of the temporary end contact counter 97 is also reset to "0."
[0103] 14(c), if the most recent end contact steering angle θabt (triangular plot) is closer to the neutral position of the steering mechanism than the stored end contact steering angle θabt (circular plot), and if the difference between the maximum value θmax of the stored end contact steering angles θabt (circular plot) (i.e., the end contact steering angle θabt farthest from the neutral position) and the most recent end contact steering angle θabt (triangular plot) is greater than a predetermined threshold value θtha3, the end contact steering angle range determination unit 91 determines that the variation in these end contact steering angles θabt is not equal to or less than the predetermined threshold value θtha3. Hereinafter, this state may be referred to as a "neutral side deviation state."
[0104] If the most recent end contact steering angle θabt (triangular plot) is in the neutral side deviation state, the end contact steering angle range determination unit 91 discards the most recent steering angle θabt (triangular plot). The on-center counter 98 counts and stores the number of times the most recent end contact steering angle θabt (triangular plot) is determined to be in the neutral side deviation state. That is, when the end contact steering angle range determination unit 91 determines that the most recent end contact steering angle θabt (triangular plot) is in the neutral side deviation state, the on-center counter 98 increments its count value by one.
[0105] The on-center counter 98oL is a counter that counts the number of times that the end contact steering angle range determination unit 91 has determined that the left end contact steering angle θabt is in the neutral side deviation state when end contact occurs when steering to the left but does not occur when steering to the right.The on-center counter 98oR is a counter that counts the number of times that the end contact steering angle range determination unit 91 has determined that the right end contact steering angle θabt is in the neutral side deviation state when end contact does not occur when steering to the left but does occur when steering to the right.
[0106] The on-center counter 98bL is a counter that counts the number of times that the end contact steering angle range determination unit 91 has determined that the left end contact steering angle θabt is in the neutral side deviation state when end contact occurs both when steering to the left and when steering to the right.The on-center counter 98bR is a counter that counts the number of times that the end contact steering angle range determination unit 91 has determined that the right end contact steering angle θabt is in the neutral side deviation state when end contact occurs both when steering to the left and when steering to the right.
[0107] When the count value of any of the on-center counters 98oL, 98oR, 98bL, and 98bR becomes equal to or greater than a predetermined threshold, the end contact steering angle range determination unit 91 erases the left and right end contact steering angles θabt (circular plots) stored in the end contact steering angle memory unit 94. In addition, the counting unit 92 resets the count values of the end contact counters 96oL, 96oR, 96bL, and 96bR, the temporary end contact counters 97oL, 97oR, 97bL, and 97bR, and the on-center counters 98oL, 98oR, 98bL, and 98bR to "0."
[0108] 14(b) . When the most recently acquired end contact steering angle θabt (triangular plot) is farther from the neutral position of the steering mechanism than the stored end contact steering angle θabt (circular plot), and when the difference between the minimum value θmin of the stored end contact steering angles θabt (circular plot) (i.e., the end contact steering angle θabt closest to the neutral position) and the most recently acquired end contact steering angle θabt (triangular plot) is greater than a predetermined threshold value θtha3, the end contact steering angle range determination unit 91 determines that the variation in these end contact steering angles θabt is not equal to or less than the predetermined threshold value θtha3. Hereinafter, this state may be referred to as an "end-side deviation state."
[0109] If the most recent end contact steering angle θabt (triangular plot) indicates an end-side departure state, end contact steering angle range determination unit 91 erases the end contact steering angle θabt (circular plot) stored at a point in time before acquiring the most recent steering angle θabt (triangular plot) from end contact steering angle storage unit 94, and stores the most recent steering angle θabt (triangular plot) in end contact steering angle storage unit 94. Also, it resets the count values of end contact counter 96, temporary end contact counter 97, and on-center counter 98 to "0." Then, if the vehicle state is a traveling state, it increments end contact counter 96 by one, and if the vehicle state is a stopped state, it increments temporary end contact counter 97 by one.
[0110] Specifically, if end contact occurs when steering to the left but does not occur when steering to the right, and the most recent end contact steering angle θabt (triangular plot) is the left-side end contact steering angle θabt, the stored left-side end contact steering angle θabt (circular plot) is erased from the end contact steering angle memory unit 94, and the most recent left-side steering angle θabt (triangular plot) is stored in the end contact steering angle memory unit 94. Also, the count values of the end contact counter 96oL, temporary end contact counter 97oL, and on-center counter 98oL are reset to "0." Then, if the vehicle is in a traveling state, the end contact counter 96oL is incremented by one, and if the vehicle is in a stopped state, the temporary end contact counter 97oL is incremented by one.
[0111] Furthermore, if end contact does not occur when steering to the left but does occur when steering to the right, and the most recent end contact steering angle θabt (triangular plot) is the right end contact steering angle θabt, the stored right end contact steering angle θabt (circular plot) is erased from the end contact steering angle memory unit 94, and the most recent right steering angle θabt (triangular plot) is stored in the end contact steering angle memory unit 94. Also, the count values of the end contact counter 96oR, temporary end contact counter 97oR, and on-center counter 98oR are reset to "0." Then, if the vehicle is in a traveling state, the end contact counter 96oR is incremented by one, and if the vehicle is in a stopped state, the temporary end contact counter 97oR is incremented by one.
[0112] Furthermore, if end contact occurs both when steering to the left and when steering to the right, and the most recent end contact steering angle θabt (triangular plot) is the left end contact steering angle θabt, the stored left end contact steering angle θabt (circular plot) is erased from the end contact steering angle memory unit 94, and the most recent left steering angle θabt (triangular plot) is stored in the end contact steering angle memory unit 94. Also, the count values of the end contact counter 96bL, temporary end contact counter 97bL, and on-center counter 98bL are reset to "0." Then, if the vehicle is in a traveling state, the end contact counter 96bL is incremented by one, and if the vehicle is in a stopped state, the temporary end contact counter 97bL is incremented by one.
[0113] Furthermore, if end contact occurs both when steering to the left and when steering to the right, and the most recent end contact steering angle θabt (triangular plot) is the right end contact steering angle θabt, the stored right end contact steering angle θabt (circular plot) is erased from the end contact steering angle storage unit 94, and the most recent right steering angle θabt (triangular plot) is stored in the end contact steering angle storage unit 94. Also, the count values of the end contact counter 96bR, temporary end contact counter 97bR, and on-center counter 98bR are reset to "0." Then, if the vehicle is in a traveling state, the end contact counter 96bR is incremented by one, and if the vehicle is in a stopped state, the temporary end contact counter 97bR is incremented by one.
[0114] If end contact occurs both when steering to the left and when steering to the right, the counting unit 92 receives from the end contact detection unit 90 a determination result obtained by comparing the rack stroke approximate value Sta ( FIG. 13( b) ) calculated by the end contact detection unit 90 as the absolute value of the difference between the left and right end contact steering angles θabt with the minimum erroneous stroke value Sterr. If the rack stroke approximate value Sta is less than the minimum erroneous stroke value Sterr, the counting unit 92 determines that an erroneous detection of the end contact steering angle θabt has occurred and saves the count values of the end contact counters 96bL, 96bR to temporary end contact counters 97bL, 97bR. That is, the count values of the temporary end contact counters 97bL, 97bR are replaced with the count values of the end contact counters 96bL, 96bR, and the count values of the end contact counters 96bL, 96bR are reset to "0." Thereafter, when the vehicle state transitions to a traveling state in the vehicle state determination process and it is determined that the detection of the end contact steering angle θabt is reliable, the count values of the temporary end contact counters 97bL, 97bR are returned to the end contact counters 96bL, 96bR.
[0115] In the following description, when the variation between the most recently acquired end contact steering angle θabt (triangular plot) and the stored end contact steering angle θabt (circular plot) is equal to or less than the predetermined threshold value θtha3, as shown in Figure 14(a), this may be expressed as "the most recently acquired end contact steering angle θabt is within the predetermined variation range θtha3." Also, when the most recently acquired end contact steering angle θabt (triangular plot) is in the end-side departure state or the neutral-side departure state, as shown in Figures 14(b) and 14(c), this may be expressed as "the most recently acquired end contact steering angle θabt is outside the predetermined variation range θtha3."
[0116] 11 , the relearning unit 93 determines whether or not the virtual rack end position θev needs to be re-learned based on the count value of the end contact counter 96, and if the virtual rack end position θev needs to be re-learned, outputs a relearning instruction signal Cmd to the end position learning unit 46. For example, when the count value of the end contact counter 96 exceeds a predetermined threshold value, the relearning unit 93 determines that the virtual rack end position θev needs to be re-learned, and outputs the relearning instruction signal Cmd.
[0117] For example, in a case where end contact occurs when steering to the left but does not occur when steering to the right, and the count value of the left end contact counter 96oL exceeds a predetermined threshold, the relearning unit 93 may output a relearning instruction signal Cmd to the end position learning unit 46 to instruct relearning of the left virtual rack end position θevl. The end position learning unit 46 resets the left virtual rack end position θevl to the initial value (−θint) in accordance with the relearning instruction signal Cmd. As a result, the end position learning unit 46 re-learns the left virtual rack end position θevl.
[0118] Further, for example, if end contact does not occur when steering to the left but does occur when steering to the right, and the count value of the right-side end contact counter 96oR exceeds a predetermined threshold, the relearning unit 93 may output a relearning instruction signal Cmd to the end position learning unit 46 to instruct relearning of the right-side virtual rack end position θevr. The end position learning unit 46 resets the right-side virtual rack end position θevr to the initial value (θint) in accordance with the relearning instruction signal Cmd. As a result, the end position learning unit 46 re-learns the right-side virtual rack end position θevr.
[0119] Furthermore, for example, when end contact occurs both when steering to the left and when steering to the right, and the sum of the count values of the end contact counter 96bL for the left side and the end contact counter 96bR for the right side is equal to or greater than a predetermined threshold, the re-learning unit 93 calculates the rack stroke minimum value Stmin, rack stroke maximum value Stmax, learning threshold value θlth, rack end maximum value θevmax, and initial value θint, which are the respective setting values used for learning the virtual rack end position θev, based on the end contact steering angle θabt stored in the end contact steering angle memory unit 94 of the end contact steering angle range determination unit 91.
[0120] An example of a method for calculating the rack stroke minimum value Stmin, the rack stroke maximum value Stmax, the learning threshold value θlth, the rack end maximum value θevmax, and the initial value θint will be described with reference to Fig. 16. In Fig. 16, the symbol "RC" indicates the center position of the left and right rack ends, and "0 [deg]" indicates the position where the steering angle θh detected by the steering angle sensor 14 is "0." The relearning unit 93 calculates the sum of the absolute value of the maximum value of the left end contact steering angle θabt (i.e., the left end contact steering angle θabt closest to the neutral position) and the absolute value of the minimum value of the right end contact steering angle θabt (i.e., the right end contact steering angle θabt closest to the neutral position) as follows: temporary stroke Stp = |max (left end contact steering angle θabt)| + |min (right end contact steering angle θabt)|
[0121] Next, the re-learning unit 93 calculates half the absolute value of the difference between the absolute value of the maximum value of the left-side end contact steering angle θabt and the absolute value of the minimum value of the right-side end contact steering angle θabt as a temporary assembly error eθ=||max (left-side end contact steering angle θabt)|-|min (right-side end contact steering angle θabt)|| / 2. The re-learning unit 93 calculates the result of subtracting the thermal expansion / contraction error and learning error of a predetermined manual steering gear from the temporary stroke Stp as a rack stroke minimum value Stmin=(Stp-thermal expansion / contraction error of manual steering gear-learning error).
[0122] The re-learning unit 93 adds the thermal expansion / contraction error, learning error, and sensor error of a predetermined manual steering gear to the temporary stroke Stp, and calculates the sum as follows: maximum rack stroke Stmax = (Stp + thermal expansion / contraction error of manual steering gear + learning error + sensor error).The re-learning unit 93 calculates the sum of 1 / 2 of the maximum rack stroke Stmax and the temporary assembly error eθ as maximum rack end value θevmax = (Stmax / 2 + eθ).
[0123] The relearning unit 93 calculates the result of subtracting the rack end maximum value θevmax from the rack stroke minimum value Stmin as an initial value θint = (Stmin - θevmax). The relearning unit 93 calculates the result of subtracting the temporary assembly error eθ from 1 / 2 of the rack stroke minimum value Stmin as a learning threshold value θlth = (Stmin / 2 - temporary assembly error eθ). The relearning unit 93 outputs the calculated initial value θint and rack stroke maximum value Stmax to the end position learning unit 46. The relearning unit 93 also outputs the calculated rack stroke maximum value Stmax, rack stroke minimum value Stmin, and learning threshold value θlth to the learning state determination unit 51. The relearning unit 93 may be configured to output the rack end maximum value θevmax.
[0124] The end position learning unit 46 updates the initial value θint of the virtual rack end positions θevr and θevl at the start of learning to the value recalculated by the relearning unit 93. The end position learning unit 46 updates the maximum rack stroke value Stmax used to determine the offset error to the value recalculated by the relearning unit 93. The learning state determination unit 51 also updates the maximum rack stroke value Stmax, minimum rack stroke value Stmin, and learning threshold value θlth used to determine the learning state to the values recalculated by the relearning unit 93.
[0125] The relearning unit 93 may output a relearning instruction signal Cmd that instructs the end position learning unit 46 to relearn the left virtual rack end position θevl and the right virtual rack end position θevr. In accordance with the relearning instruction signal Cmd, the end position learning unit 46 resets the left virtual rack end position θevl to an initial value (-θint) and resets the right virtual rack end position θevr to the initial value (θint). As a result, the end position learning unit 46 relearns the left virtual rack end position θevl and the right virtual rack end position θevr.
[0126] (Operation) Figure 17 is a flowchart of an example of a steering control method according to an embodiment. In step S1, the end contact detection unit 90 holds the steering angle θdt when the steering torque Th is equal to or greater than a predetermined threshold value Tth1. In step S2, the end contact detection unit 90 determines whether the absolute value |θev-θdt| of the difference between the held steering angle θdt and the virtual rack end position θev is greater than the steering angle threshold value θtha1. If the absolute value |θev-θdt| is not greater than the steering angle threshold value θtha1 (step S2: N), the process returns to step S1. If the absolute value |θev-θdt| is greater than the steering angle threshold value θtha1 (step S2: Y), the process proceeds to step S3.
[0127] In step S3, the end contact detection unit 90 stores the end contact steering angle candidate θcd obtained when the column output shaft torque Tc becomes less than the predetermined threshold value Tth2 and the steering torque Th becomes less than the predetermined threshold value Tth1 after the steering torque Th becomes equal to or greater than the predetermined threshold value Tth1. In step S4, the end contact detection unit 90 determines whether the absolute value |θev-θcd| of the difference between the end contact steering angle candidate θcd and the virtual rack end position θev is greater than the steering angle threshold value θtha2. If the absolute value |θev-θcd| is not greater than the steering angle threshold value θtha2 (step S4: N), the process returns to step S1. If the absolute value |θev-θcd| is greater than the steering angle threshold value θtha2 (step S4: Y), the process proceeds to step S5.
[0128] In step S5, the vehicle state determination unit 95 determines whether the vehicle is in a stopped state or a running state. When the vehicle state transitions from a stopped state to a running state, the count unit 92 assigns the count value of the temporary end contact counter 97 to the count value of the end contact counter 96. The count value of the temporary end contact counter 97 is also reset to "0." In step S6, the end contact detection unit 90 determines whether end contact has occurred both when the steering wheel 1 is steered to the left and when it is steered to the right. If end contact has occurred on both the left and right sides (step S6: Y), the process proceeds to step S8. If end contact has occurred only on either the left or right side (step S6: N), the process proceeds to step S7.
[0129] In step S7, the relearning determination unit 53 executes a one-side end contact process. Details of the one-side end contact process will be described later with reference to FIG. 18. Thereafter, the process proceeds to step S9. In step S8, the relearning determination unit 53 executes a two-side end contact process. Details of the two-side end contact process will be described later with reference to FIG. 19. Thereafter, the process proceeds to step S9. In step S9, the controller 30 determines whether the IGN key 11 is turned off. If the IGN key 11 is not turned off (step S9: N), the process returns to step S1. If the IGN key 11 is turned off (step S9: Y), the process ends.
[0130] Fig. 18 is a flowchart of an example of the one-side end contact process (S7) in Fig. 17. The one-side end contact process is executed independently when the end contact occurs when steering to the right (i.e., when the right-side end contact steering angle θabt is acquired) and when the end contact occurs when steering to the left (i.e., when the left-side end contact steering angle θabt is acquired).
[0131] In step S10, the end contact detection unit 90 calculates a rack stroke approximate value Sta based on the most recently acquired end contact steering angle θabt. For example, when the right end contact steering angle θabt is acquired, the absolute value of the difference between the left virtual rack end position θevl and the right steering angle θabt is calculated as the rack stroke approximate value Sta. When the left end contact steering angle θabt is acquired, the absolute value of the difference between the right virtual rack end position θevr and the left steering angle θabt is calculated as the rack stroke approximate value Sta. If the error between the rack stroke approximate value Sta and a predetermined value is not within the threshold value (step S10: N), the one-side end contact process is terminated. If the error between the rack stroke approximate value Sta and a predetermined value is within the threshold value (step S10: Y), the process proceeds to step S11.
[0132] In step S11, the end contact steering angle range determination unit 91 determines whether the most recently acquired end contact steering angle θabt is within a predetermined variation range θtha3. If the most recently acquired end contact steering angle θabt is outside the predetermined variation range θtha3 (step S11: N), the process proceeds to step S15. If the most recently acquired end contact steering angle θabt is within the predetermined variation range θtha3 (step S11: Y), the process proceeds to step S12.
[0133] In step S12, the counting unit 92 increments the count value of the end contact counter 96 or the temporary end contact counter 97 by one. Specifically, when the vehicle is traveling and a left end contact steering angle θabt has been acquired, the count value of the end contact counter 96oL is incremented by one. When the vehicle is traveling and a right end contact steering angle θabt has been acquired, the count value of the end contact counter 96oR is incremented by one. When the vehicle is stopped and a left end contact steering angle θabt has been acquired, the count value of the temporary end contact counter 97oL is incremented by one. When the vehicle is stopped and a right end contact steering angle θabt has been acquired, the count value of the temporary end contact counter 97oR is incremented by one.
[0134] In step S13, the relearning unit 93 determines whether the count value of the end contact counter 96 has exceeded a predetermined threshold value. If the count value of the end contact counter 96 has not exceeded the predetermined threshold value (step S13: N), the one-side end contact process ends. If the count value of the end contact counter 96 has exceeded the predetermined threshold value (step S13: Y), the process proceeds to step S14. In step S14, the relearning unit 93 outputs a relearning instruction signal Cmd to the end position learning unit 46.
[0135] Specifically, when the count value of the left end contact counter 96oL exceeds a predetermined threshold, the end position learning unit 46 outputs a relearning instruction signal Cmd to instruct relearning of the left virtual rack end position θevl. The end position learning unit 46 resets the left virtual rack end position θevl to its initial value (-θint) in accordance with the relearning instruction signal Cmd. When the count value of the right end contact counter 96oR exceeds a predetermined threshold, the end position learning unit 46 outputs a relearning instruction signal Cmd to instruct relearning of the right virtual rack end position θevR. The end position learning unit 46 resets the right virtual rack end position θevl to its initial value (θint) in accordance with the relearning instruction signal Cmd. Thereafter, the one-side end contact processing ends.
[0136] In step S15, the end contact steering angle range determination unit 91 determines whether the most recently acquired end contact steering angle θabt is in the neutral side departure state. If the most recently acquired end contact steering angle θabt is in the end side departure state (step S15: N), the process proceeds to step S19. If the most recently acquired end contact steering angle θabt is in the neutral side departure state (step S15: Y), the process proceeds to step S16.
[0137] In step S16, the counting unit 92 increments the count value of the on-center counter 98 by 1. Specifically, if the most recently acquired end contact steering angle θabt is the left end contact steering angle θabt, the counting unit 92 increments the count value of the on-center counter 98oL by 1, and if the most recently acquired end contact steering angle θabt is the right end contact steering angle θabt, the counting unit 92 increments the count value of the on-center counter 98oR by 1.
[0138] In step S17, the counting unit 92 determines whether the count value of either the on-center counter 98oL or 98oR is equal to or greater than a predetermined threshold. If the count value is not equal to or greater than the threshold (step S17: N), the one-side end contact process is terminated. If the count value is equal to or greater than the threshold (step S17: Y), the process proceeds to step S18. In step S18, the counting unit 92 resets the count values of the end contact counters 96oL, 96oR, 96bL, and 96bR, the temporary end contact counters 97oL, 97oR, 97bL, and 97bR, and the on-center counters 98oL, 98oR, 98bL, and 98bR to "0." In addition, the end contact steering angle range determination unit 91 erases the left and right end contact steering angles θabt stored in the end contact steering angle storage unit 94. Thereafter, the one-side end contact process is terminated.
[0139] In step S19, the counting unit 92 resets the end contact counter 96oL and the temporary end contact counter 97oL, or the end contact counter 96oR and the temporary end contact counter 97oR, to "0" depending on whether the left or right end contact steering angle θabt is in the end-side deviation state. In addition, the end contact steering angle range determining unit 91 erases either the left or right end contact steering angle θabt stored in the end contact steering angle storage unit 94. Specifically, when the left end contact steering angle θabt is in the end-side deviation state, the counting unit 92 resets the end contact counter 96oL and the temporary end contact counter 97oL to "0," and the end contact steering angle range determining unit 91 erases the left end contact steering angle θabt. If the right-side end contact steering angle θabt is in the end-side deviation state, the counting unit 92 resets the end contact counter 96oR and the temporary end contact counter 97oR to "0," and the end contact steering angle range determination unit 91 erases the right-side end contact steering angle θabt. The processing in step S20 is the same as that in step S12. Thereafter, the one-side end contact processing ends.
[0140] FIG. 19 is a flowchart of an example of the both-side end contact process (S8) of FIG. 18. In step S30, the end contact steering angle range determination unit 91 determines whether the most recently acquired end contact steering angle θabt is within the predetermined variation range θtha3. If the most recently acquired end contact steering angle θabt is outside the predetermined variation range θtha3 (step S30: N), the process proceeds to step S36. Note that the processes of steps S36 to S42 are executed independently for cases where end contact occurs when steering to the right (i.e., when a right-side end contact steering angle θabt is acquired) and cases where end contact occurs when steering to the left (i.e., when a left-side end contact steering angle θabt is acquired). On the other hand, if the most recently acquired end contact steering angle θabt is within the predetermined variation range θtha3 (step S30: Y), the process proceeds to step S31.
[0141] In step S31, the counting unit 92 increments the count value of the end contact counter 96 or the temporary end contact counter 97 by one. Specifically, when the vehicle is traveling and a left end contact steering angle θabt has been acquired, the count value of the end contact counter 96bL is incremented by one. When the vehicle is traveling and a right end contact steering angle θabt has been acquired, the count value of the end contact counter 96bR is incremented by one. Specifically, when the vehicle is stopped and a left end contact steering angle θabt has been acquired, the count value of the temporary end contact counter 97bL is incremented by one. When the vehicle is stopped and a right end contact steering angle θabt has been acquired, the count value of the temporary end contact counter 97bR is incremented by one.
[0142] In step S32, the end contact detection unit 90 calculates the absolute value of the difference between the left and right end contact steering angles θabt as the rack stroke approximate value Sta. For example, the end contact detection unit 90 may calculate the absolute value of the difference between the minimum value of the stored right end contact steering angle θabt (i.e., the stored right end contact steering angle θabt closest to the neutral position) and the maximum value of the stored left end contact steering angle θabt (i.e., the stored left end contact steering angle θabt closest to the neutral position) as the rack stroke approximate value Sta = |min (right end contact steering angle θabt) - max (left end contact steering angle θabt)|. If the rack stroke approximate value Sta is not greater than or equal to the minimum erroneous stroke value Sterr (step S32: N), the process proceeds to step S35. If the rack stroke approximate value Sta is equal to or greater than the minimum erroneous stroke value Sterr (step S32: Y), the process proceeds to step S33.
[0143] In step S33, the relearning unit 93 determines whether the sum of the count values of the end contact counters 96bL and 96bR is equal to or greater than a predetermined threshold. If the sum of the count values is not equal to or greater than the predetermined threshold (step S33: N), the both-side end contact process ends. If the sum of the count values is equal to or greater than the predetermined threshold (step S33: Y), the process proceeds to step S34.
[0144] In step S34, the relearning unit 93 calculates each setting value (rack stroke minimum value Stmin, rack stroke maximum value Stmax, learning threshold value θlth, rack end maximum value θevmax, and initial value θint) used in learning the virtual rack end position θev. The relearning unit 93 outputs the calculated initial value θint and rack stroke maximum value Stmax to the end position learning unit 46, and outputs the calculated rack stroke maximum value Stmax, rack stroke minimum value Stmin, and learning threshold value θlth to the learning state determination unit 51. The end position learning unit 46 and the learning state determination unit 51 update these setting values to the values received from the relearning unit 93. The relearning unit 93 outputs an output relearning instruction signal Cmd to the end position learning unit 46. The end position learning unit 46 resets the left virtual rack end position θevl to the initial value (−θint) and the right virtual rack end position θevr to the initial value (θint) in accordance with the re-learning command signal Cmd, and then ends the both-side end contact process.
[0145] In step S35, the counting unit 92 saves the count values of the end contact counters 96bL, 96bR to the temporary end contact counters 97bL, 97bR. Thereafter, the both-side end contact process is terminated. In step S36, the end contact detection unit 90 calculates the absolute value of the difference between the left and right end contact steering angles θabt as the rack stroke approximate value Sta. If the rack stroke approximate value Sta is not equal to or greater than the minimum erroneous stroke value Sterr (step S36: N), the both-side end contact process is terminated. If the rack stroke approximate value Sta is equal to or greater than the minimum erroneous stroke value Sterr (step S36: Y), the process proceeds to step S37.
[0146] In step S37, the end contact steering angle range determination unit 91 determines whether the most recently acquired end contact steering angle θabt is in the neutral side departure state. If the most recently acquired end contact steering angle θabt is in the end side departure state (step S37: N), the process proceeds to step S41. If the most recently acquired end contact steering angle θabt is in the neutral side departure state (step S37: Y), the process proceeds to step S38.
[0147] In step S38, the counting unit 92 increments the count value of the on-center counter 98 by 1. Specifically, if the most recently acquired end contact steering angle θabt is the left end contact steering angle θabt, the counting unit 92 increments the count value of the on-center counter 98bL by 1, and if the most recently acquired end contact steering angle θabt is the right end contact steering angle θabt, the counting unit 92 increments the count value of the on-center counter 98bR by 1.
[0148] In step S39, the counting unit 92 determines whether the count value of either the on-center counter 98bL or 98bR is equal to or greater than a predetermined threshold. If the count value is not equal to or greater than the threshold (step S39: N), the both-side end contact process ends. If the count value is equal to or greater than the threshold (step S38: Y), the process proceeds to step S40. The process in step S40 is the same as the process in step S18 in FIG. 18. Then, the both-side end contact process ends.
[0149] In step S41, the counting unit 92 resets to "0" either the end contact counter 96bL and the temporary end contact counter 97bL or the end contact counter 96bR and the temporary end contact counter 97bR, depending on whether the left or right end contact steering angle θabt is in the end-side deviation state. In addition, the end contact steering angle range determining unit 91 erases either the left or right end contact steering angle θabt stored in the end contact steering angle memory unit 94. Specifically, when the left end contact steering angle θabt is in the end-side deviation state, the counting unit 92 resets the end contact counter 96bL and the temporary end contact counter 97bL to "0", and the end contact steering angle range determining unit 91 erases the left end contact steering angle θabt. If the right end contact steering angle θabt is in the end-side deviation state, the counting unit 92 resets the end contact counter 96bR and the temporary end contact counter 97bR to "0," and the end contact steering angle range determination unit 91 erases the right end contact steering angle θabt. The processing in step S42 is the same as the processing in step S31. Thereafter, the both-side end contact processing ends.
[0150] (Modification) While the above describes an embodiment in which the steering control device of the present invention is applied to an electric power steering device, the steering control device of the present invention can be widely applied to steering control devices other than electric power steering devices, as long as the steering control device uses an actuator to generate a force to steer the steered wheels of a vehicle. For example, the present invention may be applied to a steer-by-wire (SBW) steering device in which the steering wheel and the steered wheels are mechanically separated. In this case, it is not necessary to add the steering torque Th to the motor torque when calculating the column output shaft torque Tc.
[0151] (1) The end contact detection unit 90 may correct the end contact steering angle θabt in accordance with the amount of deformation of the mechanism due to the column output shaft torque Tc. This reduces the influence of torsion in the steering mechanism. The amount of deformation can be determined from the column output shaft torque Tc and the stiffness (spring constant) of the mechanism. The stiffness is the ratio of the amount of change in the column output shaft torque Tc to the amount of change in the steering angle θh at the point indicated by θ1 or θ2 in FIG. 7, and may be determined by experiment, etc.
[0152] The characteristic shown in Fig. 7 changes due to viscosity resistance caused by the steering speed. The steering speed may affect the rack end learning value. The amount of change in the rack end learning value relative to the amount of change in the steering speed may be determined by an experiment or the like and stored as a steering speed correction amount characteristic, and the end contact steering angle θabt may be corrected based on the steering speed and the steering speed correction amount characteristic.
[0153] (2) In the above-described embodiment, when the rack stroke St between the left and right imaginary rack end positions θev exceeds the maximum rack stroke Stmax, the imaginary rack end position θev at the stroke end where no end contact is detected is reset so that the rack stroke St becomes a predetermined minimum rack stroke value. Alternatively, when either the left or right imaginary rack end position θev exceeds the maximum rack end value θevmax, the other one of the left and right imaginary rack end positions θev may be reset so that the rack stroke St becomes a predetermined minimum rack stroke value.
[0154] (Effects of the embodiment) (1) The steering control device includes a position detection unit that detects the steering position of a vehicle's steering mechanism, an end position learning unit that learns the end position of the steering mechanism based on the steering position detected by the position detection unit, and a relearning determination unit that determines whether relearning of the end position is necessary. The relearning determination unit includes an end contact detection unit that detects the occurrence of end contact, which is a state in which the steering mechanism is steered to the end position, and acquires an end contact steering angle, which is the steering angle when the occurrence of end contact is detected, an end contact steering angle range determination unit that determines whether the variation in the end contact steering angle acquired multiple times is equal to or less than a predetermined threshold, and a relearning unit that resets the learned end position to an initial value if the variation is equal to or less than the predetermined threshold. This prevents the end contact from being erroneously detected and the end position from being relearned before the end contact actually occurs due to sudden steering changes or a tire hitting a curb, etc. This prevents erroneous learning of the end position.
[0155] (2) The relearning unit may detect the occurrence of end contact both when steering to the left and when steering to the right, and if the variation in the end contact steering angle when steering to the left and the variation in the end contact steering angle when steering to the right are each equal to or less than a predetermined threshold, calculate an estimated rack stroke based on the end contact steering angle and reset the initial value based on the estimated rack stroke. In this way, if a rack shaft with a different length than the rack shaft that should have been installed is mistakenly installed, the learning initial value can be set according to the rack length of the actually installed rack shaft.
[0156] (3) A counting unit may be provided to count the number of times the end contact steering angle with a variation equal to or less than a predetermined threshold is acquired, and the relearning unit may reset the learned end position to an initial value when the number of times the end contact steering angle has been acquired reaches or exceeds a first threshold. This allows for more accurate determination of whether the variation in the end contact steering angle is equal to or less than the predetermined threshold.
[0157] (4) The steering angle range determination unit may store the acquired end contact steering angle and determine whether the variation in the end contact steering angle is equal to or less than a predetermined threshold based on the difference between the stored end contact steering angle and the steering angle when the occurrence of end contact is detected. The counting unit may reset the count of the number of acquisitions when it is determined that the variation in the end contact steering angle is not equal to or less than the predetermined threshold. This prevents erroneous relearning of the end position when the variation in the end contact steering angle temporarily becomes equal to or less than the predetermined threshold. (5) The counting unit may count as the number of on-center occurrences the number of times that it is determined that the second steering angle when the occurrence of end contact is detected is closer to the neutral position than the first steering angle, which is the steering angle farthest from the neutral position of the steering mechanism among the stored end contact steering angles, and that the difference between the first steering angle and the second steering angle is not equal to or less than a predetermined threshold, and may reset the count of the acquisition number when the number of on-center occurrences becomes equal to or greater than a second threshold number. This makes it possible to prevent the end position from being erroneously re-learned in a state in which steering is not possible until the tire actually hits a curb or the like.
[0158] (6) The counting unit may include a count storage unit that stores the number of times an end-contact steering angle with a variation of less than or equal to a predetermined threshold while the vehicle speed is equal to or greater than the vehicle speed threshold as an end-contact count, and stores the number of times an end-contact steering angle with a variation of less than or equal to the predetermined threshold while the vehicle speed is less than the vehicle speed threshold as a provisional count. When the vehicle speed changes from less than the vehicle speed threshold to equal to or greater than the vehicle speed threshold, the value of the provisional count may be substituted for the end-contact count. The relearning unit may reset the learned end position to an initial value when the end-contact count becomes equal to or greater than a first threshold. When the vehicle is stopped, there is a risk that the tire may contact a curb or the like, and an end-contact steering angle may be erroneously acquired before an end-contact actually occurs. Therefore, erroneous learning can be suppressed by suspending relearning until the vehicle transitions from a stopped state to a traveling state.
[0159] (7) If end contact does not occur when steering to one of the left and right sides, but does occur when steering to the other of the left and right sides, the end contact detection unit may calculate the rack stroke based on the learned end position learned on one of the left and right sides and the end contact steering angle acquired on the other of the left and right sides. If the error in the calculated rack stroke is not within a predetermined tolerance, the end contact detection unit does not use the end contact steering angle acquired on the other of the left and right sides in calculating the variation in the end contact steering angle. If the error in the rack stroke calculated based on the end contact steering angle is not within a predetermined tolerance, there is a risk of erroneous detection of the end contact steering angle. By not using such an end contact steering angle, erroneous learning can be suppressed.
[0160] (8) When end contact occurs both when steering to the left and when steering to the right, the end contact detection unit may calculate the rack stroke based on the end contact steering angles acquired when steering to the left and when steering to the right, and when the calculated rack stroke is less than a predetermined lower limit, may assign the value of the end contact count number to the provisional count number and reset the value of the end contact count number to 0. In this way, when end contact occurs both when steering to the left and when steering to the right, and the rack stroke calculated based on these end contact steering angles is less than a predetermined lower limit, there is a risk of erroneous detection of the end contact steering angle. For this reason, erroneous learning can be suppressed by moving the value of the end contact count number to the provisional count number and temporarily suspending re-learning.
[0161] 1...Steering wheel, 2i...Column input shaft, 2o...Column output shaft, 3...Reduction gear, 4...Intermediate shaft, 4a, 4b...Universal joint, 4c...Shaft member, 5...Pinion rack mechanism, 5a...Pinion, 5b...Rack, 6a, 6b...Tie rod, 7a, 7b...Hub unit, 8L, 8R...Steering wheels, 10...Torque sensor, 11...Ignition key, 12...Vehicle speed sensor, 13...Battery, 14...Steering angle sensor, 20...Motor, 30...Controller, 40...Basic command value calculation unit, 41, 64...Adder, 42, 82...Subtractor, 43...Current control unit, 44...PWM control unit, 45...Inverter, 46...End position learning unit, 47...Control rotational displacement setting unit, 48...Differentiation unit, 49...Impact reduction control unit, 50...Current detector, 51...Learning state determination unit, 52...Impact reduction Sum control output limiting unit, 53... relearning determination unit, 60... spring constant table, 61, 63... multiplier, 62... viscosity constant table, 65... inverter, 66, 79... limiter, 70... output shaft torque calculation unit, 71... selection unit, 72... first storage unit, 73, 77... delay unit, 74... rate limiter, 75... correction position calculation unit, 76... second storage unit, 78... third storage unit, 80... stroke calculation unit, 81... offset error calculation unit, 83... terminal position correction unit, 90... end contact detection unit, 91... end contact steering angle range determination unit, 92... counting unit, 93... relearning unit, 94... end contact steering angle storage unit, 95... vehicle state determination unit, 96bL, 96bR, 96oL, 96oR... end contact counters, 97bL, 97bR, 97oL, 97oR... temporary end contact counters, 98bL, 98bR, 98oL, 98oR... on-center counters
Claims
1. A steering control device comprising: a position detection unit that detects the steering position of a steering mechanism of a vehicle; an end position learning unit that learns an end position of the steering mechanism based on the steering position detected by the position detection unit; and a re-learning determination unit that determines whether or not it is necessary to re-learn the end position, wherein the re-learning determination unit comprises: an end hit detection unit that detects the occurrence of an end hit, in which the steering mechanism has been steered to the end position, and acquires an end hit steering angle that is the steering angle when the occurrence of the end hit is detected; an end hit steering angle range determination unit that determines whether a variation in the end hit steering angle acquired multiple times is equal to or less than a predetermined threshold value; and a re-learning unit that resets the learned end position to an initial value if the variation is equal to or less than the predetermined threshold value.
2. The steering control device according to claim 1, characterized in that the relearning unit detects the occurrence of end stop both when steering to the left and when steering to the right, and when the variation in the end stop steering angle when steering to the left and the variation in the end stop steering angle when steering to the right are each below the predetermined threshold value, calculates an estimated rack stroke based on the end stop steering angle and resets the initial value based on the estimated rack stroke.
3. The steering control device according to claim 1, further comprising a counting unit that counts the number of times the end stop steering angle with a variation equal to or less than the predetermined threshold is obtained, and the re-learning unit resets the learned end position to the initial value when the number of times the end stop steering angle is obtained becomes equal to or greater than a first threshold number.
4. The steering angle range determination unit stores the acquired end stop steering angle and determines whether or not the variation in the end stop steering angle is equal to or less than the predetermined threshold value based on the difference between the stored end stop steering angle and the steering angle when the occurrence of end stop is detected, and the counting unit resets the count of the number of acquisitions when it is determined that the variation in the end stop steering angle is not equal to or less than the predetermined threshold value. A steering control device as described in claim 3, 5. The steering control device according to claim 4, characterized in that the counting unit counts as an on-center count the number of times that the second steering angle when the occurrence of end contact is detected is closer to the neutral position than the first steering angle, which is the steering angle farthest from the neutral position of the steering mechanism among the stored end contact steering angles, and that the difference between the first steering angle and the second steering angle is not equal to or less than the specified threshold value, and resets the count of the obtained number of times when the on-center count becomes equal to or greater than a second threshold count.
6. The steering control device according to claim 3, characterized in that the counting unit includes a count memory unit that holds the number of times that the end stop steering angle with a variation equal to or less than the predetermined threshold is obtained during a period when the vehicle speed of the vehicle is equal to or greater than the vehicle speed threshold as an end stop count number, and holds the number of times that the end stop steering angle with a variation equal to or less than the predetermined threshold is obtained during a period when the vehicle speed is less than the vehicle speed threshold as a provisional count number, and when the vehicle speed changes from less than the vehicle speed threshold to equal to or greater than the vehicle speed threshold, substitutes the value of the provisional count number for the end stop count number, and when the end stop count number becomes equal to or greater than the first threshold number, resets the learned terminal position to an initial value.
7. The steering control device according to claim 1, characterized in that, when end contact does not occur when steering to one of the left and right sides, but occurs when steering to the other of the left and right sides, the end contact detection unit calculates a rack stroke based on the learned terminal position learned on one of the left and right sides and the end contact steering angle acquired on the other of the left and right sides, and when an error in the calculated rack stroke is not within a predetermined tolerance range, the end contact steering angle acquired on the other of the left and right sides is not used to calculate the variation in the end contact steering angle.
8. A steering control device as described in claim 6, characterized in that, when end contact occurs both when steering to the left and when steering to the right, the end contact detection unit calculates a rack stroke based on the end contact steering angles obtained when steering to the left and when steering to the right, and when the calculated rack stroke is less than a predetermined lower limit value, substitutes the value of the end contact count number for the provisional count number and resets the value of the end contact count number to 0.
9. A steering control device as claimed in any one of claims 1 to 8, characterized in comprising: a command value calculation unit which calculates a current command value for an actuator that applies a steering assist force to the steering mechanism based on an operation acting on a steering operation unit of a vehicle; a command value correction unit which corrects the current command value calculated by the command value calculation unit when the steering position detected by the position detection unit is in the vicinity of the terminal position learned by the terminal position learning unit; and a drive unit which drives and controls the actuator based on the current command value corrected by the command value correction unit.
10. A steering device comprising: a steering control device according to claim 9; and an actuator that is driven and controlled by said steering control device to steer the steered wheels of said vehicle.
Citation Information
Patent Citations
Steering control device
JP2021049939A
Steering control device and steering device
JP7131737B1
Steering control device and steering device
JP7136398B1
Setting vehicle center in electronic power steering system
US20220048558A1
Control device for electric power steering device
WO2019102543A1