Method Of Controlling A Vehicle Drivetrain And Controller In The Drivetrain
20230071874 · 2023-03-09
Assignee
Inventors
Cpc classification
B60W10/08
PERFORMING OPERATIONS; TRANSPORTING
F16H2061/0474
MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
F16H2061/0422
MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
B60W20/50
PERFORMING OPERATIONS; TRANSPORTING
B60W50/06
PERFORMING OPERATIONS; TRANSPORTING
B60W20/15
PERFORMING OPERATIONS; TRANSPORTING
F16H63/502
MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
B60W20/30
PERFORMING OPERATIONS; TRANSPORTING
F16H61/0403
MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
Y02T10/62
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
International classification
B60W20/30
PERFORMING OPERATIONS; TRANSPORTING
F16H61/04
MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
B60W50/06
PERFORMING OPERATIONS; TRANSPORTING
F16H63/50
MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
B60W20/15
PERFORMING OPERATIONS; TRANSPORTING
B60W10/08
PERFORMING OPERATIONS; TRANSPORTING
Abstract
A method of controlling a vehicle drivetrain by an electric motor, in order to synchronize the speed of an internal combustion engine and the speed of gears in the drivetrain, wherein if a speed synchronization error e.sub.sync(t) is controlled to remain within a prespecified region for a specific period of time, the synchronization is finished, and a gear may be engaged.
Claims
1. A method of controlling a vehicle drivetrain by an electric motor in order to synchronize a speed of an internal combustion engine and a speed of gears in the drivetrain, comprising the steps of: Step I—Initialization: Determining an initial speed synchronization error (e.sub.sync(0)), Determining a form of a synchronization Performance Function (ρ.sub.sync(t)) and a synchronization Maximum Overshoot Parameter (M.sub.sync), Determining a form of Safety Margin functions (σ.sub.min(t)), (σ.sub.max(t)), Setting a Safety Margin violation flag (SLimViolFlag) to be OFF, Step II—k-th step of a synchronization cycle: Determining the speed synchronization error (e.sub.sync(t)) at a specific time instance t.sub.k, Determining an actual value of the synchronization Performance Function (ρ.sub.sync(t)) at the specific time instance t.sub.k, Determining the Safety Margins (σ.sub.min(t)), (σ.sub.max(t)) at the specific time instance t.sub.k, Determining a transformed synchronization error (ε.sub.sync(t)) at the specific time instance t.sub.k:
If |e.sub.sync(t)|≤iDisableThres, (T.sub.SG(t))=T.sub.PPC(ε.sub.sync(t))+T.sub.PI(e.sub.sync(t)),
If |e.sub.sync(t)|>iDisableThres, (T.sub.SG(t))=T.sub.PPC(ε.sub.sync(t))+T.sub.P(e.sub.sync(t)). Set the requested SG torque T.sub.SG, Step III—End of the synchronization cycle: If the speed synchronization error e.sub.sync(t) remains within a prespecified region for a specific time period Δt, the synchronization is finished.
2. The method of claim 1, further comprising the steps of a gear in the drivetrain is engaged when the synchronization is finished.
3. The method of claim 1, further comprising the steps of choosing the synchronization Performance Function (ρ.sub.sync(t)), the synchronization Maximum Overshoot Parameter (M.sub.sync) and the Safety Margins (σ.sub.min(t)), (σ.sub.max(t)) such that
−M.sub.syncρ.sub.sync(0)<−σ.sub.min(0)<e.sub.sync(0)<σ.sub.max(t)<ρ.sub.sync(0), if e.sub.sync(0)≥0
−ρ.sub.sync(0<−σ.sub.max(0)<e.sub.sync(0<σ.sub.min(0)<M.sub.syncρ.sub.sync(0), if e.sub.sync(0)<0.
4. The method of claim 1, further comprising the steps of the safety margins (σ.sub.min(t)), (σ.sub.max(t)) satisfy the conditions 0<σ.sub.min(t)≤σ.sub.max(t) and
−M.sub.syncρ.sub.sync(t)<−σ.sub.min(t)<σ.sub.max(t)<ρ.sub.sync(t), ∀t if e.sub.sync(0≥0
−ρ.sub.sync(t)<−σ.sub.max(t)<σ.sub.min(t)<M.sub.syncρ.sub.sync(t), ∀t if e.sub.sync(0<0.
5. The method of claim 1, further comprising the steps of setting the Safety Margin violation flag (SLimViolFlag) to be OFF or remaining OFF when the speed synchronization error e.sub.sync(t) lies within the Safety Margins (σ.sub.min(t)), (σ.sub.max(t)), which are within and at a safety distance of the Prescribed Performance Limits, and set to be ON or remaining ON when the speed synchronization error e.sub.sync(t) lies on the Safety Margins (σ.sub.min(t)), (σ.sub.max(t)) or surpasses them.
6. The method claim 5, further comprising the steps of wherein upon an abrupt speed change, if the speed synchronization error e.sub.sync(t) is forced to reach the Safety Margin (σ.sub.min(t)), (σ.sub.max(t)) at a time instance t.sub.viol, the Prescribed Performance Limits are expanded with the choice of a safe performance function ρ.sub.sƒ(t) and a safe Maximum Overshoot Parameter M.sub.sƒ, such that the speed synchronization error e.sub.sync(t) continues to evolve within expanded Prescribed Performance Limits.
7. The method of claim 6, wherein upon a “change-of-mind” situation at the time instance t=t.sub.step, the synchronization cycle is interrupted and re-initialized, using a new Performance Function p′.sub.sync(t) and a new Maximum Overshoot Parameter M′.sub.sync which are chosen such that the speed synchronization error e.sub.sync(t) continues to evolve within new Prescribed Performance Limits.
8. The method of claim 1, further comprising the steps of determining the transformed synchronization error ε.sub.sync(t) by the equation
9. The method according to claim 8, further comprising the steps of the synchronization Transformation Function E.sub.sync(⋅) is defining a bijective mapping:
E.sub.sync:(−M.sub.sync,1).fwdarw.(−∞,∞), if e.sub.sync(0)≥0
E.sub.sync:(−1,M.sub.sync).fwdarw.(−∞,∞), if e.sub.sync(0)<0 and the safe Transformation Function E.sub.sƒ(⋅) is defining a bijective mapping:
E.sub.sƒ:(−M.sub.sƒ,1).fwdarw.(−∞,∞), if e.sub.sync(0)≥0
E.sub.sƒ:(−1,M.sub.sƒ).fwdarw.(−∞,∞), if e.sub.sync(0)<0.
10. The method of claim 1, further comprising the steps of: providing speed synchronization controller (SSC); and providing a vehicle having the drivetrain; synchronizing the speed of the internal combustion engine and the speed of gears in the drivetrain.
11. The method of claim 10, further comprising the steps of: providing a Prescribed Performance Control PPC part (T.sub.PPC(e.sub.sync(t))) calibrating the Prescribed Performance Control PPC part (T.sub.PPC(e.sub.sync(t))) to retain the speed synchronization error (e.sub.sync(t)) within the Prescribed Performance Limits at all time.
12. The method of claim 10, further comprising the steps of providing a switching-PI part T.sub.P-PI(e.sub.sync(t)), the a switching-PI part T.sub.P-PI(e.sub.sync(t)) switching between a PI part (T.sub.PI(e.sub.sync(t)) and a P part (T.sub.P(e.sub.sync(t)) according to whether the speed synchronization error (e.sub.sync(t)) is within a specific threshold or not.
13. The method of claim 10, further comprising the steps of: providing an electronic control unit (ECU), the speed synchronization controller (SSC) being part of the electronic control unit (ECU); providing a DHT Manager being part of the electronic control unit (ECU); controlling the vehicle with the electronic control unit (ECU); supervising the speed synchronization controller (SSC) with the DHT Manager.
14. The method of claim 13, further comprising the steps of: providing an internal combustion engine (3) being part of the drivetrain; providing a gearbox having an output shaft and being part of the drivetrain, the internal combustion engine coupled to the gear box; providing dog clutches having an input side, the dog clutches being part of the gearbox; and an electric machine integrated on the input side of the dog clutches in a P0, P1 or P2 configuration; transferring torque from the internal combustion engine to the output shaft of the gearbox.
15. The vehicle drivetrain of claim 14, further comprising the steps of providing the electric machine to be a Starter-Generator (SG) coupled to a crankshaft of the internal combustion engine.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0048] The present invention will become fully understood from the detailed description given hereinbelow and the accompanying drawings, which are given by way of illustration only, and thus, are not restrictive of the present invention, and wherein:
[0049]
[0050]
[0051]
[0052]
[0053]
[0054]
[0055]
[0056]
[0057]
[0058]
[0059]
[0060]
[0061]
[0062]
[0063] Corresponding parts are marked with the same reference symbols in all figures.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0064] The following description of the preferred embodiment(s) is merely exemplary in nature and is in no way intended to limit the invention, its application, or uses.
[0065]
[0066] The control software architecture diagram is seen in
[0067] An auxiliary software part, called DHT Manager, shall be implemented in the ECU, to supervise the SSC functionality. A Speed Synchronization Error Debouncer detects and indicates if the speed synchronization error remains within a prespecified region, defined by a predetermined minimum threshold, for a specific time period. Reading the drivetrain signals such as vehicle speed, requested gear and actual gear and monitoring the DHT and SSC state, the DHT Manager shall decide when speed synchronization should take place and when it is safe to proceed to gear engagement.
[0068] When the speed of the input and output side are synchronized, the clutch is closed using a gear actuator GA, 5. While SG and ICE are synchronizing, e.g. during a gear change, they cannot deliver torque to propel the vehicle. Therefore, a second electric machine 6 may be used to fill the so-called torque gap during a shift. This electric machine 6 has to be connected to the output side of the dog clutches, which is called the P3 position. In
Problem Statement
[0069] The equation of motion of the 3-phase induction motor used as Starter-Generator SG, when no gear is engaged, is
J.sub.res{dot over (ω)}.sub.SG=T.sub.SG+T.sub.ICE/i.sub.SG (1)
where J.sub.res is the moment of inertia of the rotating parts, e.g. of the electric machines and the ICE, T.sub.SG and T.sub.ICE are torques provided by the SG and the ICE, i.sub.SG is the gear ratio between SG and ICE and ω.sub.SG is the angular velocity of the rotor of SG.
[0070] Speed Synchronization Problem:
[0071] SG angular speed ω.sub.Sg(t) is requested to track a desired target trajectory ω.sub.tgt(t) as dictated by the vehicle velocity v.sub.veh and the desired gear ratio i.sub.tgt
[0072] The goal is to design a state feedback controller, without using any information of the system dynamics, to solve the Speed Synchronization Problem. The speed synchronization should be fast and accurate despite of system uncertainties and unknown disturbances. Moreover, it should be guaranteed that the speed synchronization error converges to a predefined arbitrarily small residual set, with rate no less than a prespecified value, exhibiting maximum overshoot less than a sufficiently small preassigned constant.
[0073] Prescribed Performance Preliminaries
[0074] This section summarizes preliminary knowledge on Prescribed Performance, originally published by C. P. Bechlioulis and G. A. Rovithakis in “Robust Adaptive Control of Feedback Linearizable MIMO Nonlinear Systems with Prescribed Performance,” in IEEE Transactions on Automatic Control, vol. 53, no. 9, pp. 2090-2099, October 2008.
[0075] Considering in
−Mρ(t)<e(t)<ρ(t), ∀t if e(0)≥0
−ρ(t)<e(t)<Mρ(t), ∀t if e(0)<0 (2)
where 0≤M≤1 is a Maximum Overshoot Parameter and ρ(t) is a bounded, smooth, strictly positive and decreasing function, satisfying
called Performance Function. The aforementioned statements are illustrated in
[0076] The special cases of Maximum Overshoot Parameter M=0 are depicted in
[0077] The constant ρ.sub.0 is selected such that (2) is satisfied at t=0, e.g.
−Mρ(0)<e(0)<ρ(0), if e(0)≥0
−ρ(0)<e(0)<Mρ(0), if e(0)<0
[0078] The constant ρ.sub.∞ represents the maximum allowable size of e(t) at the steady state that may be set arbitrarily small to a value reflecting the resolution of the measurement device, thus achieving practical convergence of e(t) to zero. Furthermore, the decreasing rate of ρ(t), which is related to the constant 1, introduces a lower bound on the required speed of convergence of e(t).
[0079] To introduce Prescribed Performance, an error transformation is incorporated modulating the tracking error e(t) with respect to the required performance bounds imposed by ρ(t) and M. More specifically
where ε is the transformed error and E(⋅) is a smooth, strictly increasing Transformation Function defining a bijective mapping:
E:(−M,1).fwdarw.(−∞,∞), if e(0)≥0
E:(−1,M).fwdarw.(−∞,∞), if e(0)<0 (4)
[0080] A candidate Transformation Function, could be
where α is a positive design constant. Notice that since ρ(0) is selected such that (2) is satisfied at t=0, ε is finite owing to (4).
[0081] Design of the Speed Synchronization Controller SSC:
[0082] Let the speed synchronization error be defined as the difference between the SG angular actual speed and the SG target speed, i.e. e.sub.sync(t)=ω.sub.SG(t)−ω.sub.tgt(t). The goal is to impose certain Prescribed Performance Limits, depicted with dashed line in
T.sub.SG(t)=T.sub.PPC(ε.sub.sync(t))+T.sub.P-PI(e.sub.sync(t)). (6)
[0083] The PPC part T.sub.PPC(ε.sub.sync(t)) is constructed with the use of the transformed synchronization error
where E.sub.sync(⋅) is a synchronization Transformation Function defining a bijective mapping:
E.sub.sync:(−M.sub.sync,1).fwdarw.(−∞,∞), if e.sub.sync(0)≥0
E.sub.sync:(−1,M.sub.sync).fwdarw.(−∞,∞), if e.sub.sync(0)<0
[0084] The switching-PI part T.sub.P-PI(e.sub.sync(t)) is further defined as:
where T.sub.PI(e.sub.sync(t)) is a PI part, T.sub.P(e.sub.sync(t)) is a P part and iDisableThres is the integrator disabling error threshold, which determines the condition for the switching between the PI part and P part. Specifically, the T.sub.P-PI(e.sub.sync(t)) is switching according to whether the speed synchronization error e.sub.sync(t) is within the region defined by iDisableThres threshold (|e.sub.sync(t)|≤iDisableThres), depicted as the area within the dotted lines of
[0085] In practice this would indicate that if the speed synchronization error e.sub.sync(t) is outside the area defined by iDisableThres (|e.sub.sync(t)|>iDisableThres), the controller integral part is disabled, whereas if the speed synchronization error is within this area (|e.sub.sync(t)|≤iDisableThres), the controller integral part is active. In order for this feature to be effective, the iDisableThres should be chosen less than the initial speed synchronization error (e.sub.sync(0)).
[0086] The purpose of using the proposed switching-PI part, also known as “conditional integration”, is to inhibit the integral term of the controller when the speed synchronization error (e.sub.sync(t)) is big, in order to avoid large transients due to controller saturation (integrator windup). This may happen in case of large setpoint changes, large disturbances, delays or equipment malfunctions. Integrator windup may also occur when several controller terms are combined, as in our case, in driving the Starter-Generator SG, 1. In such situations, the controller might be easily saturated during transient by the nonlinear PPC term T.sub.PPC(ε.sub.sync(t)) in
[0087] A solution to the Speed Synchronization Problem is provided by demanding the SG torque T.sub.SG(t), as calculated by the output of SSC controller of equation (6), shown in
[0088] PPC Protection Against Numerical Errors
[0089] An important computational issue of the Prescribed Performance Control PPC lies on the existence of the transformed synchronization error
calculated with the use of Transformation Function E.sub.sync(⋅). Note that if the speed synchronization error e.sub.sync(t) abruptly reaches or surpasses the Prescribed Performance Limits, shown as dashed line in
[0090] Distinction is made between two numerically hazardous cases HCa in
−M.sub.syncρ.sub.sync(t)<−σ.sub.min(t)<σ.sub.max(t)<ρ.sub.sync(t), ∀t if e.sub.sync(0)≥0
−ρ.sub.sync(t)<−σ.sub.max(t)<σ.sub.min(t)<M.sub.syncρ.sub.sync(t), ∀t if e.sub.sync(0)<0 (8)
[0094] The functions σ.sub.min(t), σ.sub.max(t) define the Safety Margins (dotted lines in
[0095] The key idea behind the Safety Margins (dotted lines in
−σ.sub.min(t)<e.sub.sync(t)<σ.sub.max(t), ∀t if e.sub.sync(0)≥0
−σ.sub.max(t)<e.sub.sync(t)<σ.sub.min(t), ∀t if e.sub.sync(0)<0 (9)
[0096] In order to avoid getting into the aforementioned numerically hazardous situations, the following protection strategies are defined.
[0097] Protection Measures Against Hazardous Cases HCa, HCb:
[0098] In case of HCa (
E.sub.sƒ:(−M.sub.sf,1).fwdarw.(−∞,∞), if e.sub.sync(0)≥0
E.sub.sƒ:(−1,M.sub.sƒ).fwdarw.(−∞,∞), if e.sub.sync(0)<0
that constitutes the transformed synchronization error
[0099] Note that such an unexpected situation (e.g. abrupt persistent disturbance) could prohibit an optimal synchronization performance by the available control effort (controller saturation). The characteristics of the safe Prescribed Performance Limits and their main difference with respect to the synchronization Prescribed Performance Limits is that they have to be chosen in a less constrained manner, in order to allow the speed synchronization error e.sub.sync(t) retain higher values and lower speed of convergence, without the risk of inducing numerical errors. E.g. the convergence region of the safe Prescribed Performance Limits, defined by ρ.sub.sƒ and M.sub.sƒ, has to be larger than the convergence region of the synchronization Prescribed Performance Limits, defined by ρ.sub.sync∞ and M.sub.sync, i.e. −M.sub.sƒ.Math.ρ.sub.sf∞<−M.sub.sync.Math.ρ.sub.sync∞<ρ.sub.sync<ρ.sub.sf∞, in case of e.sub.sync(0)≥0.
[0100] In case of HCb: If a “change-of-mind” situation takes place at the time instance t=t.sub.step, then the synchronization cycle is interrupted and re-initialized, using a new Performance Function ρ′.sub.sync(t), and new Maximum Overshoot Parameter M′.sub.sync, defining the new synchronization Performance Limits (dash-dotted line in
[0101] The aforementioned hazardous cases HCa, HCb may occur more than once within a single synchronization cycle. Therefore, both conditions should be checked at every single iteration of the synchronization cycle, i.e. steps G and H of the synchronization algorithm flowchart diagram (
[0102] Description of the Synchronization Cycle Steps in
[0103] Step I—Initialization in
[0108] Step II—k-Th Step of the Synchronization Cycle, See
If |e.sub.sync(t)|≤iDisableThres, T.sub.SG(t)=T.sub.PPC(ε.sub.sync(t))+T.sub.PI(e.sub.sync(t))
If |e.sub.sync(t)|>iDisableThres, T.sub.SG(t)=T.sub.PPC(ε.sub.sync(t))+T.sub.P(e.sub.sync(t)) [0117] Request the SG torque T.sub.SG(t).
[0118] Step III (in
[0119] If the speed synchronization error e.sub.sync(t) remains within a prespecified region defined by the threshold MinErrThres for a specific time period Δt, which may be detected and indicated by a Synchronization Error Debouncer (shown in
|e.sub.sync(t)≤MinErrThres for Δt=SyncErrDebounceTime
then the synchronization is over, and gear may be engaged. Whereby SyncErrDebounceTime is the synchronization error debounce time period that signifies the successful completion of the synchronization cycle.
[0120]
T.sub.SG(t)=T.sub.PPC(ε.sub.sync(t))+T.sub.PI(e.sub.sync(t)), (see also FIG. 6 in combination with equation (7)), [0150] Step P—Calculate the speed controller output
T.sub.SG(t)=T.sub.PPC(ε.sub.sync(t))+T.sub.P(e.sub.sync(t)), (see also FIG. 6 in combination with equation (7)), [0151] Step Q—Set the requested SG torque T.sub.SG(t).
[0152] Step Q signifies the final step of a single iteration of the synchronization cycle (e.g. 1st iteration). Once the first iteration is finished at step Q, a second iteration is started by going back to step D. This iteration is repeated until step E is true and the synchronization is finished with step F.
[0153] A method of controlling a vehicle drivetrain by an electric motor (1, SG), in order to synchronize the speed of an internal combustion engine (3, ICE) and the speed of gears in the drivetrain, wherein if a speed synchronization error e.sub.sync(t) is controlled to remain within a prespecified region for a specific period of time, the synchronization is finished, and a gear may be engaged.
[0154] The description of the invention is merely exemplary in nature and, thus, variations that do not depart from the gist of the invention are intended to be within the scope of the invention. Such variations are not to be regarded as a departure from the spirit and scope of the invention.
LIST OF REFERENCE
[0155] 1 Starter-Generator [0156] 2 electronic control unit [0157] 3 internal combustion engine [0158] 4 gearbox [0159] 5 gear actuator [0160] 6 electric machine [0161] A to R step [0162] DHT Dedicated Hybrid Transmission [0163] ECU electronic control unit [0164] ED electric drive [0165] SG Starter-Generator [0166] ICE internal combustion engine [0167] e(t) tracking error [0168] ε(t) transformed error [0169] e.sub.sync(t) speed synchronization error [0170] ε.sub.sync(t) transformed synchronization error [0171] ω.sub.tgt target angular speed [0172] ω.sub.SG angular velocity of the SG rotor [0173] v.sub.veh velocity of the vehicle [0174] r.sub.wheel radius of a wheel [0175] i.sub.tgt target gear ratio [0176] T.sub.SG torque of SG [0177] T.sub.ICE torque of ICE [0178] PPC Prescribed Performance Control [0179] PI Proportional-Integral [0180] P Proportional [0181] T.sub.PPC PPC part [0182] T.sub.P-PI switching-PI part [0183] T.sub.PI PI part [0184] T.sub.P P part [0185] E(⋅) Transformation Function [0186] E.sub.sync(⋅) synchronization Transformation Function [0187] E.sub.sƒ(⋅) safe Transformation Function [0188] ρ(t) Performance Function [0189] ρ.sub.sync(t) synchronization Performance Function [0190] β.sub.sƒ(t) safe Performance Function [0191] M Maximum Overshoot Parameter [0192] M.sub.sync synchronization Maximum Overshoot Parameter [0193] M.sub.sƒ safe Maximum Overshoot Parameter [0194] HCa, HCb Hazardous Case a, Hazardous Case b [0195] σ.sub.min(t), σ.sub.max(t) Safety Margin functions [0196] MinErrThresh minimum error threshold [0197] SyncErrDebounceTime synchronization error debouncer [0198] SLimViolFlag Safety Margin violation flag [0199] iDisableThres integrator disabling threshold [0200] SSC speed synchronization controller