The invention generally relates to a method and a system for controlling actuators of safety-critical applications for a limited time period in the presence of a fault affecting serial data communication, sensors or control Electronic Control Units (ECUs) with an actuation Electronic Control Unit.
Vehicles include many distributed control applications. The distributed applications include software that is executed on one or more control Electronic Control Units (ECU). The control ECU is connected to one or more sensors through a serial data link or through a direct connection. The sensors provide data to the control ECU through the serial data link or through the direct connection. The control ECU processes the data to derive an actuation command for an actuator based upon the data received from the sensor at any point in time. The actuation command is transmitted to an actuation ECU, which controls the actuator. The actuation command is transmitted via the serial data link. Some distributed applications are safety critical, and must maintain operation for a limited time, e.g., a few seconds, in the event of a fault in one of the sensors, the serial data link or the control ECU.
A method of controlling an actuator is provided. The method includes developing a sequence S(tx)=C(tx, tx), C(tx, tx+1), . . . , C(tx, tx+n), of actuation commands. The sequence of actuation commands S(tx) is computed based on corresponding sensor data obtained before time tx and provided to an actuation ECU at time tx. Each actuation command C(tx,tx+i) with 0≦i≦n is calculated based on corresponding sensor data obtained before time tx and is an appropriate command to be actuated during the time interval (tx+i, tx+i+1). The sequence of actuation commands S(tx) consequently contains commands for controlling the actuator at a plurality of different time intervals (tx, tx+1), (tx+1, tx+2), . . . , (tx+n, tx+n+1) with tx<tx+1< . . . <tx+n<tx+n+1. The method further includes storing the sequence of actuation commands received by the actuation ECU at time tx in the actuation ECU itself. The first actuation command C(tx, tx) in the sequence is applied during the time interval (tx,tx+1). The actuation command for a specific time interval (tx+i, tx+i+1) with i>0 from the sequence S(tx) stored in the actuation ECU is applied only if the actuation ECU is unable to receive an updated sequence of actuation commands S(tx+1) that was computed based on corresponding sensor data obtained before time tx+1 to provide continued control of the actuator for additional n−1 time intervals.
Accordingly, the actuator may be controlled for a limited time period, i.e., n time intervals, even when communication with the actuation ECU is disrupted or sensor or control ECU failures occur, thereby providing for continued operation of a safety-critical application for a limited time. The sequence of actuation commands S(tx) includes estimated actuation commands for future time intervals. Accordingly, in the event serial communication is disrupted with the actuation ECU, or in case sensor or control ECU failures occur, the actuation ECU may use the estimated actuation commands for the future time intervals to continue operating the actuator.
The above features and advantages and other features and advantages of the present invention are readily apparent from the following detailed description of the best modes for carrying out the invention when taken in connection with the accompanying drawings.
Those having ordinary skill in the art will recognize that terms such as “above,” “below,” “upward,” “downward,” “top,” “bottom,” etc., are used descriptively for the figures, and do not represent limitations on the scope of the invention, as defined by the appended claims.
Referring to
As shown in
In normal operation, the sensors 24, 26, 28 sense data related to the operation of the actuator 22. The data may include any relevant data including but not limited to a vehicle speed, a longitudinal acceleration rate, a lateral acceleration rate, an impact, a proximity to an object, etc. The sensors 24, 26, 28 may sense the same data independently of each other, or may each sense different data related to a different control parameter. The sensors 24, 26, 28 transmit their sensed data to the control ECUs 30, 32 through the serial data links 34, 36. As shown in
The invention provides a method of controlling the actuator 22 for a limited time in the event of a fault that prevents the actuation ECU 23 from receiving the actuation commands from the control ECUs. The method includes sensing data at a time tx. As described above, the data is related to the operation of the actuator 22, and may include any required type of data related to any operating parameter required to operate the actuator 22. The data may be sensed with one or more of the sensors 24, 26, 28 as described above. The sensors 24, 26, 28 may continuously sense the data, or may sense the data at pre-defined intervals or rates.
The sensed data obtained at time tx is transmitted to at least one control ECU through at least one serial data link. As shown in
Once the first control ECU 30 and the second control ECU 32 receive the corresponding data sensed before time tx, the first control ECU 30 and/or the second control ECU 32 process the corresponding data sensed before time tx to develop a sequence of actuation commands from the corresponding data obtained before time tx. The sequence of actuation commands are instructions on how to control the actuator 22 at a plurality of different time intervals. The sequence of actuation commands for the different time intervals may, for example, be represented by: S(tx)=C(tx, tx), C(tx, tx+1), . . . , C(tx, tx+n), wherein S(tx) is the sequence of actuation commands and tx is the time at which the sequence is provided to the actuation ECU 23. Each actuation command C(tx,tx+i) with 0≦i≦n is calculated based on corresponding sensor data obtained before time tx and is an appropriate command to be actuated during the time interval (tx+i, tx+i+1). The sequence S(tx) consequently contains commands for controlling an actuator at a plurality of different time intervals (tx, tx+1), (tx+1, tx+2), . . . , (tx+n, tx+n+1) with tx<tx+1< . . . <tx+n<tx+n+1. Accordingly, the command C(tx, tx) is the first actuation command in the sequence of actuation commands S(tx), and is applied at time interval (tx, tx+1). The command C(tx, tx+1) is the second actuation command in the sequence of actuation commands S(tx) and is applied at time interval (tx+1, tx+2), immediately after the actuation command C(tx, tx) is applied if a fault prevents the actuation ECU 23 from receiving an updated sequence of actuation commands S(tx+1). Similarly, the command C(tx, tx+2) is the third actuation command in the sequence of actuation commands S(tx), and is applied at time interval (tx+2, tx+3), immediately after the actuation command C(tx, tx+1) is applied if a fault prevents the actuation ECU 23 from receiving an updated sequence of actuation commands S(tx+1) or S(tx+2).
Once the first control ECU 30 and/or the second control ECU 32 have developed the sequence of corresponding actuation commands S(tx) before time tx, the sequence of actuation commands S(tx) obtained from the corresponding data sensed before time tx is transmitted from the first control ECU 30 and/or the second control ECU 32 to the actuation ECU 23 via the first serial data link 34 and/or the second serial data link 36. Upon the actuation ECU 23 receiving the sequence of actuation commands S(tx) at time tx, the actuation ECU 23 stores the sequence of actuation commands S(tx) in the memory of the actuation ECU 23.
As noted above, once the actuation ECU 23 receives the sequence of actuation commands S(tx) at time tx, the actuation ECU 23 applies the first actuation command of the sequence of actuation commands S(tx) immediately at time tx. In other words, the actuation ECU 23 applies the actuation command C(tx, tx) during the time interval (tx, tx+1). The remaining actuation commands C(tx, tx+1), . . . , Cx, tx+n) included in the sequence of actuation commands S(tx) are for emergency control of the actuator 22 only, and are estimates calculated before time tx of how to control the actuator 22 at future time intervals (tx+1, tx+2), . . . , (tx+n, tx+n+1).
Accordingly, the control system 20 continues to develop the updated sequence of actuation commands S(tx+1) before time tx+1. Developing the updated sequence of actuation commands S(tx+1) is done in the same manner as described above for the sequence of actuation commands S(tx). Specifically, the method further includes sensing data before time tx+1. The data sensed before time tx+1 is related to the operation of the actuator 22, and may include any required type of data related to any operating parameter required to operate the actuator 22. The sensed data obtained before time tx+1 is transmitted through both the first serial data link 34 and the second serial data link 36 to each of the first control ECU 30 and the second control ECU 32 simultaneously or sequentially and independently of each other.
Once the first control ECU 30 and the second control ECU 32 receive the corresponding data sensed before time tx+1, the first control ECU 30 and/or the second control ECU 32 process the corresponding data sensed before time tx+1 to develop a sequence of actuation commands from the corresponding data obtained before time tx+1. The sequence of actuation commands are instructions on how to control the actuator 22 at a plurality of different time intervals. The sequence of actuation commands for the different time intervals may, for example, be represented by: S(tx+1)=C(tx+1, tx+1), C(tx+1, tx+2), . . . , C(tx+1, tx+n+1), wherein S(tx+1) is the sequence of actuation commands and tx+1 is the time at which the sequence is provided to the actuation ECU 23. Each actuation command C(tx+1, tx+i) with 1≦i<n+1 is calculated based on the corresponding sensor data obtained before time tx+1 and is an appropriate command to be actuated during the time interval (tx+i, tx+i+1). The sequence S(tx+1) consequently contains commands for controlling an actuator at a plurality of different time intervals (tx+1, tx+2), (tx+2, tx+3), . . . , (tx+n+1, tx+n+2) with tx+1<tx+2< . . . <tx+n+1<tx+n+2. Accordingly, the command C(tx+1, tx+1) is the first actuation command in the sequence of actuation commands S(tx+1), and is applied at time interval (tx+1, tx+2). The command C(tx+1, tx+2) is the second actuation command in the sequence of actuation commands S(tx+1), and is applied at time interval (tx+2, tx+3), immediately after the actuation command C(tx+1, tx+1) is applied if a fault prevents the actuation ECU 23 from receiving an updated sequence of actuation commands S(tx+2). Similarly, the command C(tx+1, tx+3) is the third actuation command in the sequence of actuation commands S(tx+1), and is applied at time interval (tx+3, tx+4), immediately after the actuation command C(tx+1, tx+2) is applied if a fault prevents the actuation ECU 23 from receiving an updated sequence of actuation commands S(tx+2) or S(tx+3).
Once the first control ECU 30 and/or the second control ECU 32 have developed the sequence of corresponding actuation commands S(tx+1) before time tx+1, the sequence of actuation commands S(tx+1) obtained from the corresponding data sensed before time tx+1 is transmitted from the first control ECU 30 and/or the second control ECU 32 to the actuation ECU 23 via the first serial data link 34 and/or the second serial data link 36. Upon the actuation ECU 23 receiving the sequence of actuation commands S(tx+1) at time tx+1, the actuation ECU 23 stores the sequence of actuation commands S(tx+1) in the memory of the actuation ECU 23, and deletes the sequence of actuation commands obtained from data at time tx from the memory of the actuation ECU 23.
As noted above, once the actuation ECU 23 receives the sequence of actuation commands S(tx+1) for time tx+1, the actuation ECU 23 applies the first actuation command of the sequence of actuation commands S(tx+1) immediately at time tx+1. In other words, the actuation ECU 23 applies the actuation command C(tx+1, tx+1) during the time interval (tx+1, tx+2). The remaining actuation commands C(tx+1, tx+2), . . . , C(tx+1, tx+n+1) included in the sequence of actuation commands S(tx+1) are for emergency control of the actuator 22 only, and are estimates calculated before time tx+1 for how to control the actuator 22 at future time intervals (tx+2, tx+3), . . . , (tx+n+1, tx+n+2).
However, if a fault develops in the control system 20 and prevents the actuation ECU 23 from receiving the updated sequence of actuation commands S(tx+1) at time tx+1, the actuation ECU 23 may utilize the actuation commands included in the sequence of actuation commands S(tx) received at time tx for the time intervals (tx, tx+1), (tx+1, tx+2), . . . , (tx+n, tx+n+1) to maintain operation of the actuator 22 for a limited time period. Accordingly, the method further includes identifying a fault that at least temporarily prevents the actuation ECU 23 from receiving the sequence of actuation commands S(tx+1) at time tx+1. The fault may occur in any of the sensors 24, 26, 28, any of the control ECUs, or any of the serial data links. Furthermore, the fault may include any incident that prevents the actuation ECU 23 from receiving the sequence of actuation commands, including but not limited to equipment failures or a “babbling idiot” fault affecting the serial data links The fault may be identified in any suitable manner. For example, the fault may be identified by the actuation ECU 23 by failing to register receipt of the updated sequence of actuation commands S(tx+1) at time tx+1.
If a fault is identified and the ECU fails to receive the updated sequence of actuation commands S(tx+1) from the corresponding data obtained before time tx+1, then the actuation ECU 23 may apply the actuation command for a specific time interval from (tx+1, tx+2), . . . , (tx+n, tx+n+1) from the sequence S(tx), which is stored in the memory of the actuation ECU 23, thereby providing continued control of the actuator 22 for n−1 time intervals. This process may be continued for each of the n−1 time intervals included in the sequence of actuation commands S(tx). More specifically, the actuation ECU 23 may apply the actuation command for the time interval (tx+1, tx+2) from the sequence S(tx) after applying the actuation command for the time interval (tx, tx+1) from the sequence S(tx), and upon identifying a fault that at least temporarily prevents the actuation ECU 23 from receiving the transmitted sequence of actuation commands S(tx+1) at time tx+1. Similarly, the actuation ECU 23 may apply the actuation command for the time interval (tx+2, tx+3) from the sequence S(tx) after applying the actuation command for the time interval (tx+1, tx+2) from the sequence S(tx), and upon identifying a fault that at least temporarily prevents the actuation ECU 23 from receiving the transmitted sequence of actuation commands S(tx+1) at time tx+1.
Referring to
Referring to control iteration 1 of
It should be appreciated that the number of actuation commands n that may be included in each sequence of actuation commands is limited by the specific application, the specific type of data collected by the sensors 24, 26, 28, and changing operating conditions. Furthermore, it should be appreciated that a deviation may exist and increases with an increase in the number of time intervals n.
The invention includes a roll back capability to allow the actuation ECU 23 to apply prior commands S(tx−1) if a fault prevents the actuation ECU 23 from receiving an updated sequence of actuation commands S(tx+1) if there is a potential that commands S(tx) have already been corrupted by the fault. This may be the case if the system allows transient faults to persist for some time period before being recorded as a permanent fault. The invention is not restricted to only allowing prior commands S(tx−1) to be applied; The specific set of prior commands to select depends on the transient fault criteria of a given application.
While the best modes for carrying out the invention have been described in detail, those familiar with the art to which this invention relates will recognize various alternative designs and embodiments for practicing the invention within the scope of the appended claims.
Number | Name | Date | Kind |
---|---|---|---|
4974155 | Dulong et al. | Nov 1990 | A |
6046937 | Komori et al. | Apr 2000 | A |
6434433 | Fischer et al. | Aug 2002 | B1 |
6511618 | Seki | Jan 2003 | B1 |
6622972 | Urnes, Sr. et al. | Sep 2003 | B2 |
20020005699 | Koenen et al. | Jan 2002 | A1 |
20030080256 | Urnes et al. | May 2003 | A1 |
20040103742 | Tesar | Jun 2004 | A1 |
20040249538 | Osaki et al. | Dec 2004 | A1 |
20050273182 | Pearce et al. | Dec 2005 | A1 |
20060126256 | Forest et al. | Jun 2006 | A1 |
20060235594 | Knoefler et al. | Oct 2006 | A1 |
20090206345 | Kato et al. | Aug 2009 | A1 |
20090216345 | Christfort | Aug 2009 | A1 |
20120290261 | Genta | Nov 2012 | A1 |
Number | Date | Country | |
---|---|---|---|
20130024011 A1 | Jan 2013 | US |