Motor control apparatus
11383759 · 2022-07-12
Assignee
Inventors
Cpc classification
B62D6/003
PERFORMING OPERATIONS; TRANSPORTING
B62D6/10
PERFORMING OPERATIONS; TRANSPORTING
B62D6/002
PERFORMING OPERATIONS; TRANSPORTING
B62D5/0463
PERFORMING OPERATIONS; TRANSPORTING
B62D1/286
PERFORMING OPERATIONS; TRANSPORTING
International classification
B62D5/04
PERFORMING OPERATIONS; TRANSPORTING
B62D15/02
PERFORMING OPERATIONS; TRANSPORTING
B62D6/10
PERFORMING OPERATIONS; TRANSPORTING
B62D6/00
PERFORMING OPERATIONS; TRANSPORTING
Abstract
A manual steering command value generation unit generates a manual steering command value, using a steering torque. A summed angle command value calculation unit calculates a summed angle command value, by adding the manual steering command value to an automatic steering command value. A control unit performs angle control of an electric motor, based on the summed angle command value. The control unit includes a basic torque command value calculation unit that calculates a basic torque command value, a disturbance torque estimation unit that estimates a disturbance torque other than a motor torque of the electric motor applied to an object driven by the electric motor, and a disturbance torque compensation unit that corrects the basic torque command value, based on the disturbance torque. The manual steering command value generation unit uses an estimated torque calculated based on the disturbance torque, when generating the manual steering command value.
Claims
1. A motor control apparatus that controls driving of an electric motor for steering angle control, the motor control apparatus comprising: a processor programed to generate a manual steering command value using a steering torque; calculate a summed angle command value by adding the manual steering command value to an automatic steering command value; perform angle control of the electric motor based on the summed angle command value; calculate a basic torque command value based on the summed angle command value; estimate an estimated disturbance torque other than a motor torque of the electric motor applied to an object driven by the electric motor, the estimated disturbance torque including the steering torque, a road surface load torque, and a friction torque; correct the basic torque command value based on the estimated disturbance torque; and use the estimated disturbance torque as an input of an equation of motion of a reference model to generate the manual steering command value, the reference model being an inertia model including a portion of a column of a steering system.
2. The motor control apparatus according to claim 1, wherein the processor generates the manual steering command value further using a virtual spring-damper load.
3. The motor control apparatus according to claim 2, wherein the road surface load torque is one of (i) a value obtained by subtracting the steering torque from a high-frequency component of the estimated disturbance torque having a frequency higher than a predetermined frequency and (ii) a value obtained by subtracting the steering torque and the friction torque from the high-frequency component of the estimated disturbance torque.
4. The motor control apparatus according to claim 1, wherein the road surface load torque is calculated using a virtual spring-damper load and a high-frequency component of the estimated disturbance torque having a frequency higher than a predetermined frequency.
5. The motor control apparatus according to claim 1, wherein the manual steering command value is generated further using one of (i) a value obtained by subtracting the steering torque from the estimated disturbance torque and (ii) a value obtained by subtracting the steering torque and the friction torque from the estimated disturbance torque.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) The foregoing and further features and advantages of the invention will become apparent from the following description of example embodiments with reference to the accompanying drawings, wherein like numerals are used to represent like elements and wherein:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
DETAILED DESCRIPTION OF EMBODIMENTS
(11) Embodiments of the present invention will be described in detail below with reference to the accompanying drawings.
(12) The steering shaft 6 includes an input shaft 8 coupled to the steering wheel 2, and an output shaft 9 coupled to the intermediate shaft 7, The input shaft 8 and the output shaft 9 are relatively rotatably coupled to each other via a torsion bar 10. A torque sensor 12 is disposed near the torsion bar 10. The torque sensor 12 detects a steering torque (torsion bar torque) T.sub.d applied to the steering wheel 2, based on the amount of relative rotational displacement between the input shaft 8 and the output shaft 9. In the present embodiment, the torque sensor 12 detects the steering torque T.sub.d for steering to the right as a positive value, and detects the steering torque T.sub.d for steering to the left as a negative value. The greater the absolute value of the steering torque T.sub.d is, the greater the magnitude of the steering torque T.sub.d is.
(13) The steering operation mechanism 4 is a rack-and-pinion mechanism including a pinion shaft 13 and a rack shaft 14 that serves as a steered shaft. The steered wheels 3 are coupled to the opposite ends of the rack shaft 14 via tie rods 15 and knuckle arms (not illustrated). The pinion shaft 13 is coupled to the intermediate shaft 7. The pinion shaft 13 is configured to rotate in conjunction with steering of the steering wheel 2. A pinion 16 is coupled to the distal end of the pinion shaft 13.
(14) The rack shaft 14 extends linearly in the lateral direction of the vehicle. A rack 17 that meshes with the pinion 16 is formed at an axially intermediate portion of the rack shaft 14. The pinion 16 and the rack 17 convert rotation of the pinion shaft 13 into axial movement of the rack shaft 14. The steered wheels 3 can be steered by moving the rack shaft 14 in the axial direction.
(15) When the steering wheel 2 is operated (rotated), the rotation is transmitted to the pinion shaft 13 via the steering shaft 6 and the intermediate shaft 7. Then, the pinion 16 and the rack 17 convert rotation of the pinion shaft 13 into axial movement of the rack shaft 14. Thus, the steered wheels 3 are steered. The steering assist mechanism 5 includes an electric motor 18 and a reducer 19. The electric motor 18 generates a steering assist force (assist torque). The reducer 19 amplifies an output torque of the electric motor 18, and transmits the amplified torque to the steering operation mechanism 4. The reducer 19 is a worm gear mechanism including a worm gear 20 and a worm wheel 21 that meshes with the worm gear 20. The reducer 19 is housed in a gear housing 22 serving as a transmission mechanism housing. In the following, the reduction ratio (gear ratio) of the reducer 19 may be represented by N. The reduction ratio N is defined as a ratio ωwg/ωww of an angular velocity ωwg of the worm gear 20 to an angular velocity www of the worm wheel 21.
(16) The worm gear 20 is rotationally driven by the electric motor 18. The worm wheel 21 is coupled to the output shaft 9 so as to be rotatable therewith. When the worm gear 20 is rotationally driven by the electric motor 18, the worm wheel 21 is rotationally driven. Thus, a motor torque is applied to the steering shaft 6, and the steering shaft 6 (output shaft 9) is rotated. The rotation of the steering shaft 6 is transmitted to the pinion shaft 13 via the intermediate shaft 7. The rotation of the pinion shaft 13 is converted into axial movement of the rack shaft 14. Thus, the steered wheels 3 are steered. That is, the electric motor 18 rotationally drives the worm gear 20, and thereby can assist in steering and steer the steered wheels 3. The electric motor 18 is provided with a rotation angle sensor 23 that detects a rotation angle of the electric motor 18.
(17) The torque applied to the output shaft 9 (an example of an object driven by the electric motor 18) includes a motor torque of the electric motor 18, and a disturbance torque other than the motor torque. A disturbance torque T.sub.lc other than the motor torque includes the steering torque T.sub.d, a road surface load torque (road surface reaction force torque) T.sub.rl, and a friction torque T.sub.f. The steering torque T.sub.d is torque applied to the output shaft 9 from the steering wheel 2 side, by the force applied to the steering wheel 2 by the driver, the force generated by inertia of steering, and so on.
(18) The road surface load torque T.sub.rl is torque applied to the output shaft 9 via the rack shaft 14 from the steered wheels 3 side, by the self-aligning torque generated by the tire, the force generated by the suspension and tire wheel alignment, the friction force of a rack-and-pinion mechanism.
(19) The friction torque T.sub.f is friction torque applied to the output shaft 9 (the object driven by the electric motor 18) and not included in the steering torque T.sub.d or the road surface load torque T.sub.rl, The friction torque T.sub.f includes at least the friction torque generated between the electric motor 18 and the output shaft 9. In the present embodiment, the friction torque T.sub.f mainly includes the friction torque generated by the reducer 19 (friction torque generated between the worm wheel 21 and the worm gear 20).
(20) The vehicle is equipped with a charge-coupled device (CCD) camera 25, a global positioning system (GPS) 26, a radar 27, and a map information memory 28. The CCD camera 25 takes a picture of the road ahead in the traveling direction of the vehicle. The GPS 26 detects the position of the vehicle. The radar 27 detects the road shape and an obstacle. The map information memory 28 stores map information. The CCD camera 25, the GPS 26, the radar 27, and the map information memory 28 are connected to a higher-level electronic control unit (ECU) 201 for performing assisted driving control and automated driving control. The higher-level ECU 201 performs surrounding environment recognition, own vehicle position estimation, route planning, and so on, based on the information obtained by the CCD camera 25, the GPS 26, and the radar 27, and the map information. Then, the higher-level ECU 201 determines control target values for steering and a drive actuator.
(21) In the present embodiment, the higher-level ECU 201 sets an automatic steering command value θ.sub.adac for automatic steering. In the present embodiment, the automatic steering control is, for example, control for causing the vehicle to travel along the target trajectory. The automatic steering command value θ.sub.adac is a target value of the steering angle for causing the vehicle to automatically travel along the target trajectory. The processing for setting such an automatic steering command value θ.sub.adac is well known and, therefore, will not be described herein in detail.
(22) The automatic steering command value θ.sub.adac set by the higher-level ECU 201 is transmitted to the motor control ECU 202 via an in-vehicle network. The steering torque T.sub.d detected by the torque sensor 12 and an output signal of the rotation angle sensor 23 are input to the motor control ECU 202. The motor control ECU 202 controls the electric motor 18, based on these input signals and the information provided from the higher-level ECU 201,
(23)
(24) The motor control ECU 202 includes a microcomputer 40, a drive circuit (inverter circuit) 31, and a current detection circuit 32. The drive circuit 31 is controlled by the microcomputer 40, and supplies power to the electric motor 18. The current detection circuit 32 detects a current flowing through the electric motor 18 (hereinafter referred to as a “motor current I”).
(25) The microcomputer 40 includes a CPU and memories (a ROM, a RAM, a non-volatile memory, and the like). The microcomputer 40 executes predetermined programs to serve as a plurality of function processing units. The plurality of function processing units include a manual steering command value generation unit 41, a summed angle command value calculation unit 42, and a control unit 43. The manual steering command value generation unit 41 is provided to set, when the driver operates the steering wheel 2, a steering angle (more correctly, a rotation angle θ of the output shaft 9) corresponding to the steering wheel operation as a manual steering command value θ.sub.mdac. The manual steering command value generation unit 41 generates the manual steering command value θ.sub.mdac, using the steering torque T.sub.d detected by the torque sensor 12 and a disturbance torque estimation value {circumflex over (T)}.sub.lc transmitted from an angle control unit 44 (described below) of the control unit 43.
(26) The summed angle command value calculation unit 42 calculates a summed angle command value θ.sub.acmd by adding the manual steeling command value θ.sub.mdac to the automatic steering command value θ.sub.adac set by the higher-level ECU 201.
(27) The control unit 43 performs angle control of the electric motor 18, based on the summed angle command value θ.sub.acmd. More specifically, the control unit 43 controls driving of the drive circuit 31 such that the steering angle θ (the rotation angle θ of the output shaft 9) approaches the summed angle command value θ.sub.acmd.
(28) The control unit 43 includes the angle control unit 44 and a torque control unit (current control unit) 45. The angle control unit 44 calculates a motor torque command value T.sub.m as the target value of the motor torque of the electric motor 18, based on the summed angle command value θ.sub.acmd. The torque control unit 45 drives the drive circuit 31 such that the motor torque of the electric motor 18 approaches the motor torque command value T.sub.m.
(29) The manual steering command value generation unit 41 includes an assist torque command value setting unit 51 and a command value setting unit 52. The assist torque command value setting unit 51 sets an assist torque command value T.sub.ac as the target value of the assist torque required for manual operation. The assist torque command value setting unit Si sets the assist torque command value T.sub.ac, based on the steering torque T.sub.d detected by the torque sensor 12.
(30) The assist torque command value T.sub.ac is set to a positive value when a steering assist force for steering to the left needs to be generated from the electric motor 18, and is set to a negative value when a steering assist force for steering to the right needs to be generated from the electric motor 18, The assist torque command value T.sub.ac is positive when the steering torque T.sub.d has a positive value, and negative when the steering torque T.sub.d has a negative value. The assist torque command value T.sub.ac is set such that its absolute value increases as the absolute value of the steering torque T.sub.d increases.
(31) The assist torque command value setting unit 51 may calculate the assist torque command value T.sub.ac, by multiplying the steering torque T.sub.d by a predetermined constant. Referring back to
(32) The disturbance torque estimation value {circumflex over (T)}.sub.lc calculated by the disturbance torque estimation unit 64 is the estimated value of the disturbance torque other than the motor torque applied to the object (output shaft 9) driven by the electric motor 18, The disturbance torque estimation value {circumflex over (T)}.sub.lc includes the steering torque T.sub.d, the road surface load torque T.sub.rl, and the friction torque T.sub.f. The command value setting unit 52 basically sets the manual steering command value θ.sub.mdac, using a reference EPS model of
(33) The reference EPS model is a single inertia model including a lower column. The lower column corresponds to the output shaft 9 and the worm wheel 21. In
(34) The equation of motion of the reference EPS model is represented by the following Expression (1).
J.sub.c.Math.d.sup.2θ.sub.c/dt.sup.2=T.sub.d+N.Math.T.sub.m+T.sub.rl (1)
(35) In the present embodiment, the command value setting unit 52 uses the disturbance torque estimation value {circumflex over (T)}.sub.lc calculated by the disturbance torque estimation unit 64 (see
J.sub.c.Math.d.sup.2θ.sub.c/dt.sup.2=T.sub.d+N.Math.T.sub.m+{circumflex over (T)}.sub.rl (2)
(36) The command value setting unit 52 solves the differential equation of Expression (2) by assigning the steering torque T.sub.d detected by the torque sensor 12 to T.sub.d and assigning the assist torque command value T.sub.ac set by the assist torque command value setting unit 51 to N.Math.T.sub.m, and thereby calculates the rotation angle θ.sub.c of the lower column. Then, the command value setting unit 52 sets the obtained rotation angle θ.sub.c of the lower column as the manual steering command value θ.sub.mdac.
(37)
(38) The reduction ratio multiplication unit 68 multiplies the motor torque command value T.sub.m calculated by the first reduction ratio division unit 67 by a reduction ratio N of the reducer 19. Thus, the motor torque command value T.sub.m is converted into a steering torque command value T.sub.cmd (=N.Math.T.sub.m) applied to the output shaft 9 (worm wheel 21). The rotation angle calculation unit 69 calculates a rotor rotation angle θ.sub.m of the electric motor 18, based on the output signal of the rotation angle sensor 23. The second reduction ratio division unit 70 divides the rotor rotation angle θ.sub.m calculated by the rotation angle calculation unit 69 by the reduction ratio N. Thus, the rotor rotation angle θ.sub.m is converted into a rotation angle (actual steering angle) θ of the output shaft 9.
(39) The low-pass filter 61 performs low-pass filtering on the summed angle command value θ.sub.acmd. A summed angle command value θ.sub.cmd resulting from low-pass filtering is transmitted to the feedback control unit 62 and the feed forward control unit 63. The feedback control unit 62 is provided to bring a steering angle estimation value {circumflex over (θ)} calculated by the disturbance torque estimation unit 64 closer to the summed angle command value θ.sub.cmd resulting from the low-pass filtering. The feedback control unit 62 includes an angle deviation calculation unit 62A and a PD control unit 62B. The angle deviation calculation unit 62A calculates a deviation Δθ (=θ.sub.cmd−{circumflex over (θ)}) between the summed angle command value θ.sub.cmd and the steering angle estimation value {circumflex over (θ)}. The angle deviation calculation unit 62A may calculate a deviation (θ.sub.cmd−{circumflex over (θ)}) between the summed angle command value θ.sub.cmd and the actual steering angle θ calculated by the second reduction ratio division unit 70, as the angle deviation Δθ.
(40) The PD control unit 62B performs a PD operation (proportional differential operation) on the angle deviation Δθ calculated by the angle deviation calculation unit 62A. Thus, a feedback control torque T.sub.fb is calculated. The feedback control torque T.sub.fb is transmitted to the torque addition unit 65. The feedforward control unit 63 is provided to compensate for delay in responsiveness due to the inertia of the electric power steering system 1, and improve control responsiveness. The feedforward control unit 63 includes an angular acceleration calculation unit 63A and an inertia multiplication unit 63B. The angular acceleration calculation unit 63A calculates a target angular acceleration d.sup.2θ.sub.cmd/dt.sup.2 by differentiating the summed angle command value θ.sub.cmd twice.
(41) The inertia multiplication unit 63B multiplies the target angular acceleration d.sup.2θ.sub.cmd/dt.sup.2 calculated by the angular acceleration calculation unit 63A, by an inertia J of the electric power steering system 1. Thus, a feedforward control torque T.sub.ff (=J.Math.d.sup.2θ.sub.cmd/dt.sup.2) is calculated. The inertia J is calculated from, for example, a physical model (described below) (see
(42) The torque addition unit 65 adds the feedforward control torque T.sub.ff to the feedback control torque T.sub.fb. Thus, a basic torque command value (T.sub.fb, T.sub.ff) is calculated.
(43) The disturbance torque estimation unit 64 is provided to estimate a non-linear torque (disturbance torque: torque other than the motor torque) generated as a disturbance in a plant (the object controlled by the electric motor 18). The disturbance torque estimation unit 64 estimates the disturbance torque (disturbance load) T.sub.lc, the steering angle θ, and a steering angle differential value (angular velocity) dθ/dt, based on the steering torque command value T.sub.cmd (=N.Math.T.sub.m) that is input to the plant and the actual steering angle θ that is output from the plant. The estimated values of the disturbance torque T.sub.lc, the steering angle θ, and the steering angle differential value (angular velocity) dθ/dt are represented by {circumflex over (T)}.sub.lc, {circumflex over (θ)}, and d{circumflex over (θ)}/dt. The disturbance torque estimation unit 64 will be described in detail below.
(44) The disturbance torque estimation value {circumflex over (T)}.sub.lc calculated by the disturbance torque estimation unit 64 is transmitted to the command value setting unit 52 (see
(45) The steering torque command value T.sub.cmd is transmitted to the first reduction ratio division unit 67. The first reduction ratio division unit 67 divides the steering torque command value T.sub.cmd by the reduction ratio N. Thus, the motor torque command value T.sub.m is calculated. The motor torque command value T.sub.m is transmitted to the torque control unit 45 (see
(46) The physical model 101 includes a plant (an example of an object driven by a motor) 102 including the output shaft 9 and the worm wheel 21 fixed to the output shaft 9. The plant 102 receives the steering torque T.sub.d from the steering wheel 2 via the torsion bar 10, and receives the road surface load torque T.sub.rl from the steered wheels 3 side. Further, the plant 102 receives the steering torque command value T.sub.cmd (=N.Math.T.sub.m) via the worm gear 20. The plant 102 also receives the friction torque T.sub.f due to the friction between the worm wheel 21 and the worm gear 20.
(47) When the inertia of the plant 102 is represented by J, the motion equation of the inertia of the physical model 101 is represented by the following Expression (3).
J{umlaut over (θ)}=N.Math.T.sub.m+T.sub.lc
T.sub.lc=T.sub.d+T.sub.rl+T.sub.f (3)
(48) Here, d.sup.2θ/dt.sup.2 represents the angular acceleration of the plant 102. N represents the reduction ratio of the reducer 19. T.sub.lc represents the disturbance torque applied to the plant 102 other than the motor torque. In the present embodiment, the disturbance torque T.sub.lc is represented as the sum of the steering torque T.sub.d, the road surface load torque T.sub.rl, and the friction torque T.sub.f. In reality, however, the disturbance torque T.sub.lc includes torque other than these torques.
(49) The state equation for the physical model 101 of
(50)
(51) In the above Expression (4), x represents a state variable vector. In the above Expression (4), u.sub.1 represents a known input vector. In the above Expression (4), u.sub.2 represents an unknown input vector. In the above Expression (4), y represents an output vector (measured value). In the above Expression (4), A represents a system matrix. In the above Expression (4), B.sub.1 represents a first input matrix. In the above Expression (4), B.sub.2 represents a second input matrix. In the above Expression (4), C represents an output matrix. In the above Expression (4), D represents a feedthrough matrix.
(52) The above state equation is extended to a system including the unknown input vector u.sub.2 as one of the states. The state equation of an extended system (extended state equation) is represented by the following Expression (5).
(53)
(54) In the above Expression (5), x.sub.e represents a state variable vector of the extended system, and is represented by the following Expression (6).
(55)
(56) In the above Expression (5), A.sub.e represents a system matrix of the extended system. In the above Expression (5), B.sub.e represents a known input matrix of the extended system. In the above Expression (5), C.sub.e represents an output matrix of the extended system.
(57) A disturbance observer (extended state observer) represented by the following Expression (7) is constructed from the extended state equation of the above Expression (5).
(58)
(59) In Expression (7), {circumflex over (x)}.sub.e, represents the estimated value of x.sub.e. L represents an observer gain. Further, ŷ represents the estimated value of y. Here, {circumflex over (x)}.sub.e is represented by the following Expression (8).
(60)
(61) In Expression (8), {circumflex over (θ)} is the estimated value of θ, and {circumflex over (T)}.sub.lc is the estimated value of T.sub.lc. The disturbance torque estimation unit 64 calculates the state variable vector {circumflex over (x)}.sub.e based on the equation of the above Expression (7).
(62)
(63) The output of the integration unit 88 is the state variable vector {circumflex over (x)}.sub.e (see the above Expression (8)). When starting a calculation, the initial value is given as the state variable vector {circumflex over (x)}.sub.e. The initial value of the state variable vector {circumflex over (x)}.sub.e is, for example, 0. The system matrix multiplication unit 86 multiplies the state variable vector {circumflex over (x)}.sub.e by the system matrix A.sub.e. The output matrix multiplication unit 82 multiplies the state variable vector {circumflex over (x)}.sub.e by the output matrix C.sub.e.
(64) The first addition unit 83 subtracts an output (C.sub.e.Math.{circumflex over (x)}.sub.e) of the output matrix multiplication unit 82 from the output vector (measured value) y as the actual steering angle θ calculated by the second reduction ratio division unit 70 (see
(65) The input matrix multiplication unit 85 multiplies the input vector u.sub.1 output from the input vector input unit 81 by the input matrix B.sub.e. The second addition unit 87 adds the output (B.sub.e.Math.u.sub.1) of the input matrix multiplication unit 85, the output (A.sub.e.Math.{circumflex over (x)}.sub.e) of the system matrix multiplication unit 86, and the output (L(y−ŷ)) of the gain multiplication unit 84. Thus, a differential value d{circumflex over (x)}.sub.e/dt of the state variable vector is calculated. The integration unit 88 integrates the output (d{circumflex over (x)}.sub.e/dt) of the output of the second addition unit 87, Thus, the state variable vector {circumflex over (x)}.sub.e is calculated. The state variable vector output unit 89 calculates the disturbance torque estimation value {circumflex over (T)}.sub.lc, the steering angle estimation value {circumflex over (θ)}, and the angular velocity estimation value d{circumflex over (θ)}/dt based on the state variable vector {circumflex over (x)}.sub.e.
(66) Unlike the extended state observer described above, a general disturbance observer includes an inverse model of the plant and a low-pass filter. The motion equation of the plant is represented by Expression (3) as described above. Accordingly, the inverse model of the plant is represented by the following Expression (9).
T.sub.lc=J{umlaut over (θ)}−N.Math.T.sub.m (9)
(67) The input to a typical disturbance observer is J.Math.d.sup.2θ/dt.sup.2 and N.Math.T.sub.m, and is greatly affected by noise of the rotation angle sensor 23 because the second-order differential value of the actual steering angle θ is used. Meanwhile, the extended state observer described above estimates the disturbance torque based on integration, and therefore the influence of the noise due to differential can be reduced.
(68) A typical disturbance observer including an inverse model of a plant and a low-pass filter may be used as the disturbance torque estimation unit 64.
(69) The motor current command value calculation unit 91 divides the motor torque command value T.sub.m calculated by the angle control unit 44 (see
(70) The PI control unit 93 performs a proportional integral (PI) operation on the current deviation ΔI calculated by the current deviation calculation unit 92. Thus, a drive command value for bringing the motor current I flowing through the electric motor 18 closer to the motor current command value I.sub.cmd is generated. The PWM control unit 94 generates a PWM control signal of a duty ratio corresponding to the drive command value, and supplies the PWM control signal to the drive circuit 31. Thus, power corresponding to the drive command value is supplied to the electric motor 18.
(71) In the above embodiment, the summed angle command value θ.sub.acmd is calculated by adding the manual steering command value θ.sub.mdac to the automatic steering command value θ.sub.adac, and the electric motor 18 is controlled based on the summed angle command value θ.sub.acmd. Therefore, it is possible to achieve cooperative control that allows manual steering while performing steering control based mainly on automatic steering control, without switching between manual steering control and automatic steering control. Also, it is possible to seamlessly shift between manual steering control and automatic steering control, thereby not giving a sense of discomfort to the driver when steering manually.
(72) In the above embodiment, the basic torque command value (T.sub.fb+T.sub.ff) is calculated based on the summed angle command value θ.sub.acmd, and the basic torque command value (T.sub.fb+T.sub.ff) is corrected by the disturbance torque estimation value {circumflex over (T)}.sub.lc calculated by the disturbance torque estimation unit 64. Therefore, it is possible to reduce the influence of the disturbance torque on the angle control performance. This makes it possible to perform angle control with high accuracy.
(73) In the above embodiment, the manual steering command value θ.sub.mdac is set using the disturbance torque estimation value {circumflex over (T)}.sub.lc calculated by the disturbance torque estimation unit 64 and including the road surface load torque T.sub.rl. Therefore, it is possible to provide a steering feeling corresponding to the actual road surface conditions during manual steering. Hereinafter, modifications of the command value setting unit 52 (see
(74) In this case, the equation of motion of the reference EPS model of
(75)
(76) The command value setting unit 52 solves the differential equation of Expression (10), by assigning the assist torque command value T.sub.ac set by the assist torque command value setting unit 51 (see
(77) In the first modification, the manual steering command value θ.sub.mdac is set using the value ({circumflex over (T)}.sub.lc−T.sub.d) obtained by subtracting the steering torque T.sub.d from the disturbance torque estimation value {circumflex over (T)}.sub.lc. Therefore, it is possible to prevent the steering torque T.sub.d included in the disturbance torque estimation value {circumflex over (T)}.sub.lc from being used for setting the manual steering command value θ.sub.mdac. Thus, it is possible to more effectively provide a steering feeling corresponding to the actual road surface conditions during manual steering. In a second modification, the command value setting unit 52 uses the value ({circumflex over (T)}.sub.lc−T.sub.d−T.sub.f) obtained by subtracting the steering torque T.sub.d and the friction torque T.sub.f from the disturbance torque estimation value {circumflex over (T)}.sub.lc, as the road surface load torque T.sub.rl of
(78) In this case, the equation of motion of the reference EPS model of
(79)
(80) The command value setting unit 52 solves the differential equation of Expression (11), by assigning the assist torque command value T.sub.ac set by the assist torque command value setting unit 51 (see
(81) In the second modification, the manual steering command value θ.sub.mdac is set using the value ({circumflex over (T)}.sub.lc−T.sub.d−T.sub.f) obtained by subtracting the steering torque T.sub.d and the friction torque T.sub.f from the disturbance torque estimation value {circumflex over (T)}.sub.lc. Therefore, it is possible to prevent the steering torque T.sub.d and the friction torque T.sub.f included in the disturbance torque estimation value {circumflex over (T)}.sub.lc from being used for setting the manual steering command value θ.sub.mdac. Thus, it is possible to more effectively provide a steering feeling corresponding to the actual road surface conditions during manual steering. In a third modification, the command value setting unit 52 uses the sum (T.sub.vsd+{circumflex over (T)}.sub.lc) of a virtual spring-damper load T.sub.vsd and the disturbance torque estimation value {circumflex over (T)}.sub.lc, as the road surface load torque T.sub.rl of
(82) The virtual spring-damper load T.sub.vsd is represented by the following Expression (12), using a spring constant k and a viscous damping coefficient c.
T.sub.vsd=−k.Math.θ.sub.c−c(dθ/dt) (12)
(83) In this case, the equation of motion of the reference EPS model of
J.sub.c.Math.d.sup.2θ.sub.c/dt.sup.2=T.sub.d+N.Math.T.sub.m+{−k.Math.θ.sub.c−c(dθ.sub.c/dt)}{circumflex over (T)}.sub.lc (13)
(84) Predetermined values obtained in advance through experiments and analyses are set as the spring constant k and the viscous damping coefficient c. The same applies to fourth to tenth modifications. The command value setting unit 52 solves the differential equation of Expression (13), by assigning the steering torque T.sub.d detected by the torque sensor 12 to T.sub.d and assigning the assist torque command value T.sub.ac set by the assist torque command value setting unit 51 (see
(85) In the third modification, since the disturbance torque estimation value {circumflex over (T)}.sub.lc is used for setting the manual steering command value θ.sub.mdac, it is possible to provide a steering feeling corresponding to the actual road surface conditions during manual steering. Further, in the third modification, the virtual spring-damper load T.sub.vsd is used for setting the manual steering command value θ.sub.mdac. Therefore, a reaction force is generated that brings the manual steering command value θ.sub.mdac back to zero when steering manually. Thus, even in the case where a manual operation is performed during automatic steering, the steering angle θ easily follows the automatic steering command value θ.sub.adac when the manual operation is stopped. In a fourth modification, the command value setting unit 52 uses the sum {T.sub.vsd+({circumflex over (T)}.sub.lc−T.sub.d)} of the virtual spring-damper load T.sub.vsd and the value ({circumflex over (T)}.sub.lc−T.sub.d) obtained by subtracting the steering torque T.sub.d from the disturbance torque estimation value {circumflex over (T)}.sub.lc as the road surface load torque T.sub.rl of
(86) In this case, the equation of motion of the reference EPS model of
(87)
(88) The command value setting unit 52 solves the differential equation of Expression (14), by assigning the assist torque command value T.sub.ac set by the assist torque command value setting unit 51 (see
(89) In a fifth modification, the command value setting unit 52 uses the sum {T.sub.vsd+({circumflex over (T)}.sub.lc−T.sub.d−T.sub.f)} of the virtual spring-damper load T.sub.vsd and the value ({circumflex over (T)}.sub.lc−T.sub.d−T.sub.f) obtained by subtracting the steering torque T.sub.d and the friction torque T.sub.f from the disturbance torque estimation value {circumflex over (T)}.sub.lc, as the road surface load torque T.sub.rl of
(90) In this case, the equation of motion of the reference EPS model of
(91)
(92) The command value setting unit 52 solves the differential equation of Expression (15), by assigning the assist torque command value T.sub.ac set by the assist torque command value setting unit 51 (see
(93) The disturbance torque estimation value {circumflex over (T)}.sub.lc calculated by the disturbance torque estimation unit 64 (see
(94) In a sixth modification, the command value setting unit 52 uses the sum {T.sub.vsd+HPF ({circumflex over (T)}.sub.lc)} of the virtual spring-damper load T.sub.vsd and the high-frequency component HPF ({circumflex over (T)}.sub.lc) of the disturbance torque estimation value {circumflex over (T)}.sub.lc, as the road surface load torque T.sub.rl of
(95) In this case, the equation of motion of the reference EPS model of
J.sub.c.Math.d.sup.2θ.sub.c/dt.sup.2=T.sub.d+N.Math.T.sub.m+{−k.Math.θ.sub.c−c(dθ.sub.c/dt)}+HPF({circumflex over (T)}.sub.lc) (16)
(96) The command value setting unit 52 solves the differential equation of Expression (16), by assigning the steering torque T.sub.d detected by the torque sensor 12 to T.sub.d and assigning the assist torque command value T.sub.ac set by the assist torque command value setting unit 51 (see
(97) In the sixth modification, the virtual spring-damper load T.sub.vsd is used for setting the manual steering command value θ.sub.mdac. Therefore, a reaction force is generated that brings the manual steering command value θ.sub.mdac back to zero when steering manually. Meanwhile, the low-frequency component (steady component) of the disturbance torque estimation value {circumflex over (T)}.sub.lc is not used for setting the manual steering command value θ.sub.mdac. Therefore, as compared to the third to fifth modifications described above, the reaction force that brings the steering angle to the neutral position (straight driving position) when steering manually is reduced. Thus, even in the case where a manual operation is performed during automatic steering, the steering angle more easily follows the automatic steering command value θ.sub.adac when the manual operation is stopped.
(98) Further, in the sixth modification, the high-frequency component HPF ({circumflex over (T)}.sub.lc) of the disturbance torque estimation value {circumflex over (T)}.sub.lc is used for setting the manual steering command value θ.sub.mdac. Thus, the road surface disturbance torque and the friction torque of the rack-and-pinion mechanism are used for setting the manual steering command value θ.sub.mdac, so that it is possible to provide a steering feeling corresponding to the actual road surface conditions during manual steering. In a seventh modification, the command value setting unit 52 uses the sum {T.sub.vsd+HPF ({circumflex over (T)}.sub.lc−T.sub.d)} of the virtual spring-damper load T.sub.vsd and the high-frequency component HPF ({circumflex over (T)}.sub.lc−T.sub.d) of the value ({circumflex over (T)}.sub.lc−T.sub.d) obtained by subtracting the steering torque T.sub.d from the disturbance torque estimation value {circumflex over (T)}.sub.lc, as the road surface load torque T.sub.rl of
(99) In this case, the equation of motion of the reference EPS model of
J.sub.c.Math.d.sup.2θ.sub.c/dt.sup.2=T.sub.d+N.Math.T.sub.m+{−k.Math.θ.sub.c−c(dθ.sub.c/dt)}+HPF({circumflex over (T)}.sub.lc−T.sub.d) (17)
(100) The command value setting unit 52 solves the differential equation of Expression (17), by assigning the steering torque T.sub.d detected by the torque sensor 12 to T.sub.d and assigning the assist torque command value T.sub.ac set by the assist torque command value setting unit 51 (see
(101) In an eighth modification, the command value setting unit 52 uses the sum {T.sub.vsd+HPF ({circumflex over (T)}.sub.lc−T.sub.d−T.sub.f)} of the virtual spring-damper load T.sub.vsd and the high-frequency component HPF ({circumflex over (T)}.sub.lc−T.sub.d−T.sub.f) of the value ({circumflex over (T)}.sub.lc−T.sub.d−T.sub.f) obtained by subtracting the steering torque T.sub.d and the friction torque T.sub.f from the disturbance torque estimation value {circumflex over (T)}.sub.lc, as the road surface load torque T.sub.rl of
(102) The friction torque T.sub.f can be estimated using, for example, a friction model that estimates friction generated in the reducer 19. HPF ({circumflex over (T)}.sub.lc−T.sub.d−T.sub.f) can be obtained by extracting only the frequency component with a frequency higher than a predetermined frequency from the frequency components of ({circumflex over (T)}.sub.lc−T.sub.d−T.sub.f), using a high-pass filter. In this case, the equation of motion of the reference EPS model of
J.sub.c.Math.d.sup.2θ.sub.c/dt.sup.2=T.sub.d+T.sub.m+{−k.Math.θ.sub.c−c(dθ.sub.c/dt)}+HPF({circumflex over (T)}.sub.lc−T.sub.d−T.sub.f) (18)
(103) The command value setting unit 52 solves the differential equation of Expression (18), by assigning the steering torque T.sub.d detected by the torque sensor 12 to T.sub.d and assigning the assist torque command value T.sub.ac set by the assist torque command value setting unit 51 (see
(104) In a ninth modification, the command value setting unit 52 uses the sum {T.sub.vsd+HPF ({circumflex over (T)}.sub.lc)−T.sub.d} of the virtual spring-damper load T.sub.vsd and the value {HPF ({circumflex over (T)}.sub.lc)−T.sub.d} obtained by subtracting the steering torque T.sub.d from the high-frequency component HPF ({circumflex over (T)}.sub.lc) of the disturbance torque estimation value {circumflex over (T)}.sub.lc, as the road surface load torque T.sub.rl of
(105) In this case, the equation of motion of the reference EPS model of
(106)
(107) The command value setting unit 52 solves the differential equation of Expression (19), by assigning the assist torque command value T.sub.ac set by the assist torque command value setting unit 51 (see
(108) In a tenth modification, the command value setting unit 52 uses the sum {T.sub.vsd+HPF ({circumflex over (T)}.sub.lc)−T.sub.d−T.sub.f} of the virtual spring-damper load T.sub.vsd and the value {HPF ({circumflex over (T)}.sub.lc)−T.sub.d−T.sub.f} obtained by subtracting the steering torque T.sub.d and the friction torque T.sub.f from the high-frequency component HPF ({circumflex over (T)}.sub.lc) of the disturbance torque estimation value {circumflex over (T)}.sub.lc, as the road surface load torque T.sub.rl of
(109) In this case, the equation of motion of the reference EPS model of
(110)
(111) The command value setting unit 52 solves the differential equation of Expression (20), by assigning the assist torque command value T.sub.ac set by the assist torque command value setting unit 51 (see
(112) In the case where any of the first modification to the tenth modification is used, when a determination is made that the driver is not holding the steering wheel 2, each of a steering torque T.sub.tb, the torque N.Math.T.sub.m applied from the electric motor 18 to the output shaft 9, and an estimated torque based on the disturbance torque estimation value {circumflex over (T)}.sub.lc may be set to zero.
(113) The estimated torque based on the disturbance torque estimation value {circumflex over (T)}.sub.lc is {circumflex over (T)}.sub.lc of the above Expression (13), ({circumflex over (T)}.sub.lc−T.sub.d) of the above Expression (14), ({circumflex over (T)}.sub.lc−T.sub.d−T.sub.f) of the above Expression (15), HPF ({circumflex over (T)}.sub.lc) of the above Expression (16), HPF ({circumflex over (T)}.sub.lc−T.sub.d) of the above Expression (17), HPF ({circumflex over (T)}.sub.lc−T.sub.d−T.sub.f) of the above Expression (18), {HPF ({circumflex over (T)}.sub.lc−T.sub.d} of the above Expression (19), or {HPF ({circumflex over (T)}.sub.lc)−T.sub.d−T.sub.f} of the above Expression (20).
(114) Specifically, as indicated by the long dashed short dashed line in
(115) A hands-on/off determination signal output from the hands-on/off determination unit 48 is transmitted to the command value setting unit 52. When the hands-on/off determination unit 48 determines that the driver is holding the steering wheel 2, the command value setting unit 52 calculates the manual steering command value θ.sub.mdac, using the estimated torque based on the disturbance torque estimation value {circumflex over (T)}.sub.lc. That is, the command value setting unit 52 calculates the manual steering command value θ.sub.mdac (=θ.sub.c) based on any of the above Expressions (13) to (20).
(116) On the other hand, when the hands-on/off determination unit 48 determines that the driver is not holding the steering wheel 2, the command value setting unit 52 solves the differential equation by assigning zero to each of the steering torque T.sub.tb, N.Math.T.sub.m, and the estimated torque based on the disturbance torque estimation value {circumflex over (T)}.sub.lc in any of the above Expressions (13) to (20). Thus, the manual steering command value θ.sub.mdac (=θ.sub.c) is calculated. In this modification, when the driver is not manually steering, the steering torque T.sub.tb that is input to the manual steering command value generation unit 41 is set to substantially zero. Also, the estimated torque based on the disturbance torque estimation value {circumflex over (T)}.sub.lc is set to zero for calculation of the manual steering command value θ.sub.mdac. Thus, it is possible to prevent the manual steering command value θ.sub.mdac from being set based on disturbance other than the driver torque when the driver is not manually steering.
(117) In the other modifications described above, when a determination is made that the driver is not holding the steering wheel 2, each of the steering torque T.sub.tb, the torque N.Math.T.sub.m applied from the electric motor 18 to the output shaft 9, and the estimated torque based on the disturbance torque estimation value {circumflex over (T)}.sub.lc is set to zero. However, when a determination is made that the driver is not holding the steering wheel 2, only the estimated torque based on the disturbance torque estimation value {circumflex over (T)}.sub.lc out of the steering torque T.sub.tb, the torque N.Math.T.sub.m applied from the electric motor 18 to the output shaft 9, and the estimated torque based on the disturbance torque estimation value {circumflex over (T)}.sub.lc may be set to zero, or the steering torque T.sub.tb and the estimated torque based on the disturbance torque estimation value {circumflex over (T)}.sub.lc may be set to zero.
(118) While an embodiment of the present invention has been described above, the present invention may be practiced in other embodiments. For example, although the angle control unit 44 (see
(119) In the above embodiments, the disturbance torque estimation unit 64 calculates the disturbance torque estimation value {circumflex over (T)}.sub.lc, based on the motor torque command value T.sub.m and the rotation angle θ of the plant. However, a motor torque acquisition unit that acquires a motor torque generated by the electric motor 18 may be provided, and the motor torque acquired by the motor torque acquisition unit may be used in place of the motor torque command value T.sub.m. In the above embodiments, the present invention is applied to motor control of a column assist type EPS. However, the present invention may be applied to motor control of EPS other than those of the column assist types. The present invention may be applied to controlling an electric motor for steering angle control of a steer-by-wire system.
(120) Further, various modifications can be made to the present invention within the scope of the appended claims.