Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
AN ELECTRONIC CONTROL UNIT (ECU) FOR SOLVING ORDINARY DIFFERENTIAL EQUATIONS AND A METHOD THEREOF
Document Type and Number:
WIPO Patent Application WO/2024/003276
Kind Code:
A1
Abstract:
The present disclosure proposes an Electronic Control Unit (ECU (100)) for solving ordinary differential equations a method (200) thereof. The proposed ECU (100) comprises a computing unit (104), a feedback controller and at least a digital buffer (103). The computing unit (104) processes data received from a digital buffer (103) to solve the ordinary differential equation. The feedback controller (102) is in communication with the buffer, said feedback controller (102) configured to receive an input from at least one sensor (101) and transmit the input to the digital buffer (103) based on a sampling rate. The feedback controller (102) regulates the sampling rate in dependence of a status of the digital buffer (103). The status of the digital buffer (103) comprises information as to the vacancy level of the digital buffer (103).

Inventors:
ROHAN RAYAN (IN)
ILANGOVAN PONKUMAR PONSUGANTH (IN)
BERTSCH CHRISTIAN (DE)
Application Number:
PCT/EP2023/067869
Publication Date:
January 04, 2024
Filing Date:
June 29, 2023
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
BOSCH GMBH ROBERT (DE)
BOSCH GLOBAL SOFTWARE TECH PRIVATE LIMITED (IN)
International Classes:
G06F17/13; G06F12/00
Foreign References:
US20110225225A12011-09-15
US20110225225A12011-09-15
Other References:
LOTHAR BRAUN ET AL: "Adaptive Load-Aware Sampling for Network Monitoring on Multicore Commodity Hardware", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 8 April 2016 (2016-04-08), XP080694230
Attorney, Agent or Firm:
ROBERT BOSCH GMBH (DE)
Download PDF:
Claims:
We Claim:

1. An Electronic Control Unit (ECU (100)) for solving ordinary differential equations, said ECU (100) comprising a computing unit (104) processing data received from a digital buffer (103) to solve the ordinary differential equation, characterized in that system: a feedback controller (102) in communication with the buffer, said feedback controller (102) configured to: receive an input from at least one sensor (101); transmit the input to the digital buffer (103) based on a sampling rate; regulate the sampling rate in dependence of a status of the digital buffer (103).

2. The ECU (100) for solving ordinary differential equations as claimed in claim 1, wherein the feedback controller is a PID controller.

3. The ECU (100) for solving ordinary differential equations as claimed in claim 1, wherein the status of the digital buffer (103) comprises information as to the vacancy level of the digital buffer (103).

4. The ECU (100) for solving ordinary differential equations as claimed in claim 1, wherein the sampling rate is decreased if the digital buffer (103) is filled beyond a pre-determined threshold.

5. A method for solving ordinary differential equations, the method comprising: sampling an input received from at least one sensor (101) via a feedback controller (102); storing the sampled input in a digital buffer (103); checking a status of the digital buffer (103); regulating the sampling rate of the input via the feedback controller (102) in dependance of the status of the digital buffer (103); processing the sampled input stored in the digital buffer (103) by a computing unit (104) to solve the ordinary differential equation.

6. The method for solving ordinary differential equations as claimed in claim 5, wherein the status of the digital buffer (103) comprises information as to the vacancy level of the digital buffer (103).

7. The method for solving ordinary differential equations as claimed in claim 5, wherein the sampling rate is decreased if the digital buffer (103) is filled beyond a pre-determined threshold. Dated this 28th day of June, 2022 (Digitally signed) Siddharth Karkhanis (IN/PA- 1195) On behalf of the applicants.

Description:
An Electronic Control Unit (ECU) for solving ordinary differential equations and a method thereof

Field of the invention

[0001] The present disclosure relates to the field of electronics and computation. In particular, the present disclosure proposes an Electronic Control Unit (ECU) for solving ordinary differential equations and a method thereof.

Background of the invention

[0002] Integration methods for stiff systems are particularly challenging and are subject to intense research over the past. Running such computing units on an ECU is very challenging because of the compute and memory restrictions on embedded hardware. Conventionally, there are two basic methods by which ODE systems can be solved namely the implicit and explicit method. Explicit and implicit methods are approaches used for obtaining numerical approximations to the solutions of time-dependent ordinary and partial differential equations. Explicit methods calculate the state of a system at a later time from the state of the system at the current time, while implicit methods find a solution by solving an equation involving both the current state of the system and the later one. Both of them can be either run using fixed timesteps or variable timesteps.

[0003] The explicit methods are used only for non-stiff ODEs but for stiff systems, implicit methods are used. The advantage of implicit methods is the fact that higher time step sizes can be used but it is more compute intensive. For stiff systems, implicit methods are the required choice because explicit methods will require an unfeasibly small timestep. For systems with widely varying dynamics, it may also be required to use variable step computing units. These computing units adjust the time-step sizes while keeping the local error under a user specified tolerance. This means that the computing unit automatically selects the highest possible time step at a certain point in the simulation. This ensures that the simulation finishes the computation as soon as possible.

[0004] For ECU execution, running an implicit computing unit poses a variety of challenges. One of these challenges is the fact that in order to be compute efficient, we often want to use variable step computing units, but their inherent challenges of running these on an ECU is the non-predictable execution wrt real-time. Thus, we need a method to buffer the inputs to the computing unit which are not yet processed by the computing unit and also adaptively handle incoming inputs in cases where the storage buffer is filling up faster than how much the computing unit is able to process. These are the problems which are solved in this invention report.

[0005] Patent Application US2011225225 AA titled “Method, program, and system for solving ordinary differential equation” discloses a method for solving ordinary differential equations. Each ordinary differential equation of simultaneous ordinary differential equations is solved with an embedded Runge-Kutta method. A difference DELTA between anN-th order approximation and an (N+l)th order approximation is computed, and it is determined whether the difference is smaller than a predetermined threshold DELTAO. If DELTA7DELTA0, then a step size is determined using a predetermined computation formula containing DELTAO/DELTA, and then the process proceeds to next computation. A strand having an error of DELTA>DELTAO is directed to execute recomputation using a step size calculated based on DELTAO/DELTA. Then the strand having the error executes recomputation by using a computed interpolated value. When the strand's error becomes smaller than the threshold DELTAO the strand reaches the same time step as the strands computing the other ordinary differential equations having no error. The process thereby proceeds to next computation of the whole simultaneous ordinary differential equations.

Brief description of the accompanying drawings

[0006] An embodiment of the invention is described with reference to the following accompanying drawings:

[0007] Figure 1 depicts an Electronic Control Unit (ECU (100)) for solving ordinary differential equations;

[0008] Figure 2 illustrates method steps (200) for solving ordinary differential equations using the Electronic Control Unit (ECU (100)).

Detailed description of the drawings [0009] Figure 1 depicts an Electronic Control Unit (ECU (100)) for solving ordinary differential equations. The ECU (100) is an embedded system that is implemented as any or a combination of: one or more microchips or integrated circuits interconnected using a parent board, hardwired logic, software stored by a memory device and executed by a microprocessor, firmware, an application specific integrated circuit (ASIC), and/or a field programmable gate array (FPGA).

[0010] In Industrial or automotive systems, ECU (100) is basically a logic circuitry implemented as one or more microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, and/or any component that operates on signals based on operational instructions to get a meaningful result. For the purposes of the present invention these signals are received at least one sensor (101), such as the temperature sensor (101), pressure sensor (101), speed sensor (101), yaw rate sensor (101), lambda sensor (101) and the like employed in a typical industrial or automotive set-up.

[0011] The proposed ECU (100) adapted to solve ordinary differential equations comprises a computing unit (104), a feedback controller and at least a digital buffer (103) amongst the other component known to a person skilled in the art. The computing unit (104) is the logical circuitry inside the ECU (100) that carries out arithmetic, logical, and decision-making operations.

[0012] The feedback controller can be a hardware controller or even a software component that is programmed to implement the feedback control. In an exemplary embodiment of the present invention, the feedback controller is a PID controller. The PID controller is a closed loop control system commonly used in industrial applications. The PID algorithm running the PID controller (102) as the name suggests consists of three basic coefficients; proportional, integral and derivative which are varied to get optimal response. The PID controlled is tuned i.e. the process of setting the optimal gains for P, I and D to get an ideal response from the control system.

[0013] The digital buffer (103) is an electronic circuit element used to store the sensor inputs until the computing unit processes it. It can be defined as a region of a memory used to temporarily store data while it is being moved from one place to another. The data is stored in a buffer as it is retrieved from an input device (in our invention from at least one sensor (101)) before it is sent to an output device (in our invention the computing unit (104)). The digital buffers can be implemented in a fixed memory location or by using a virtual data buffer in software manifested as data structures, pointing at a location in the physical memory. [0014] The computing unit (104) processes data received from a digital buffer (103) to solve the ordinary differential equation. The PID controller (102) is in communication with the buffer, said PID controller

(102) configured to receive an input from at least one sensor (101); transmit the input to the digital buffer (103) based on a sampling rate; regulate the sampling rate in dependence of a status of the digital buffer

(103). The status of the digital buffer (103) comprises information as to the vacancy level of the digital buffer (103). The sampling rate is decreased if the digital buffer (103) is filled beyond a pre-determined threshold.

[0015] It should be understood at the outset that, although exemplary embodiments are illustrated in the figures and described below, the present disclosure should in no way be limited to the exemplary implementations and techniques illustrated in the drawings and described below. It is further stated that the various components mentioned above may be embedded in a single chip or a combination of software and hardware where each module and its functionality is executed by separate independent chips connected to each other to function as a system.

[0016] Figure 2 illustrates method steps for solving ordinary differential equations using the Electronic Control Unit (ECU (100)). The components of the ECU (100) and their function have been elucidated in accordance with figure. [0017] Method step 201 comprises sampling an input received from at least one sensor (101) via a PID controller (102). The PID controller

(102) samples input from the sensor (101) at pre-defined regular time intervals. In method step 202, this sampled input is stored in the digital buffer (103). The computing unit (104) keeps processing the data form the digital buffer as soon as it is available.

[0018] In unforeseen cases on actual execution on the ECU (100), where the buffer is close to getting full, the computing unit (104) is not able to process the data in time. Hence, Method step 203 comprises checking a status of the digital buffer (103). the status of the digital buffer

(103) comprises information as to the vacancy level of the digital buffer (103). Method step 204 comprises regulating the sampling rate of the input via the PID controller (102) in dependance of the status of the digital buffer (103). The sampling rate is decreased if the digital buffer (103) is filled beyond a pre-determined threshold.

[0019] The feedback controller (102) which is activated to change the sampling rate after a certain threshold of the buffer has been utilized (say 85% for example). The error on which the feedback controller acts is the difference between the threshold value and the actual utilization of the buffer. When the feedback controller is triggered, it controls a moving window size based on which the inputs are averaged and then stored on the buffer. The feedback controller (102) is set up in such a way that the higher is the error ((threshold utilization - actual utilization]) higher is the set moving window size.

[0020] To explain this better, let us assume that in normal operating conditions, the buffer is getting inputs every 100ms (initial sampling rate) with a moving window size of 1 , but at a certain stage of computation, the utilization of the rolling buffer exceeds the threshold (85%) (status and vacancy). In this case the feedback controller has the effect of increasing the moving window size, let’s assume that the moving window size is set to 5 by the feedback controller (102). This means that for the next 500ms (regulated sampling rate ) the incoming inputs to the model are stored in a separate variable and averaged over the next 500ms and then stored in the buffer. Mathematically,

Timestamp = sum of timestamps / moving window size;

Input Value = sum of input value / moving window size;

[0021] Thus, the moving window size being set to 5, first of all decreases the filling rate of the rolling buffer by a factor of 5, and also the averaging of the input signals has the tendency of averaging the inputs and thus reducing part of the stiffness of the system, which also means that the computing unit (104) can take higher time-step sizes. This allows the computing unit (104) to bring back the utilization of the buffer below the set threshold (85%). Method step 205 comprises processing the sampled input stored in the digital buffer (103) by a computing unit (104) to solve the ordinary differential equation.

[0022] Basically, we propose using a rolling buffer whose storage window is dynamically varied by the PID controller (102) to store the inputs so that the computing unit (104) has time to “catch up” to the realtime. Once the buffer vacancy is above the pre-defined threshold, original sampling rate can be restored. A person skilled in the art will appreciate that while these method steps describes only a series of steps to accomplish the objectives, these methodologies may be implemented in the embedded system (ECU (100)) with modifications and adaptations as per the respective application.

[0023] This idea to develop the Electronic Control Unit (ECU (100)) for solving ordinary differential equations and the method thereof provides a method to adaptively handle incoming inputs in cases where the storage buffer is filling up faster than how much the ECU (100) can process. The disclosed ECU (100) and method provides a very low compute and memory cost ordinary differential equation solver on an embedded systems.

[0024] It must be understood that the embodiments explained in the above detailed description are only illustrative and do not limit the scope of this invention. Any modification or adaptation to the method and the Electronic Control Unit (ECU (100)) for solving ordinary differential equations are envisaged and form a part of this invention. The scope of this invention is limited only by the claims.