Embedded optimization algorithm of parameters to drive deployment mechanism for displays

Information

  • Patent Grant
  • 10520728
  • Patent Number
    10,520,728
  • Date Filed
    Tuesday, October 17, 2017
    6 years ago
  • Date Issued
    Tuesday, December 31, 2019
    4 years ago
Abstract
A deployment system for a device of a vehicle is described. The deployment system includes a non-transitory computer readable medium to store instructions of the deployment system and a processor configured to execute the instructions. The processor is configured to deploy the device using a parameter, determine a Mean Square Error (MSE), and run a Statistical Process Control (SPC) test on the MSE. The processor is further configured to determine that no special event is present and process a new parameter using the parameter and the SPC test results. An evolutionary operation (EVOP) algorithm is also used to calculate the new parameter.
Description
BACKGROUND

Vehicles include devices, such as displays or head-up displays (HUDs), which are repositioned for different occupants. Such deployment of these devices causes the mechanical components of the devices to wear out. There is a need for a smart system with a deployment mechanism for deploying the device to a new position, and continuously improving the deployment while taking into account potential interactions with the device environment (e.g. mechanical constraints, vibrations, etc.) and discrepancies between target and actual parameters of the device. This system would also account for manufacturing variations of such devices.


SUMMARY

This section provides a general summary of the present disclosure and is not a comprehensive disclosure of its full scope or all of its features, aspects, and objectives.


Disclosed herein are implementations of a deployment system for a device. The deployment system includes a non-transitory computer readable medium to store instructions of the deployment system and a processor configured to execute the instructions. The processor is configured to deploy the device using one or more parameters, determine a Mean Square terror (MSE) of the system response versus target, and run a Statistical Process Control (SPC) test on the MSE. The processor is further configured to determine that no special event is present and adjust the one or more parameters.


Also disclosed herein are implementations of a deployment system for a vehicle having a microprocessor, a sensor, and a head-up display (HUD). The microprocessor is configured to execute instructions stored on a non-transitory computer readable medium. The sensor is coupled to the microprocessor and configured to receive information of surroundings of the deployment system. The HUD is coupled to the microprocessor. The microprocessor is further configured to initiate a target response for an occupant of the vehicle and deploy the HUD using the target response. The microprocessor is further configured to measure a real-time response of the HUD during deployment and compute a Mean Square Error (MSE) using the target response and the real-time response. The microprocessor then determines using a EVOP algorithm the new parameters for deployment of the HUD using the MSE and recorded parameters and responses from previous iterations.


Also disclosed herein are implementations of a method for deploying a display. The method includes performing deployment using one or more parameters, determining a Mean Square Error (MSE), and running a Statistical Process Control (SPC) test on the MSE. The method further includes determining that no special event is present and processing new parameters using historical data, the MSE, and the SPC test results.





BRIEF DESCRIPTION OF THE DRAWINGS

The disclosure is best understood from the following detailed description when read in conjunction with the accompanying drawings. It is emphasized that, according to common practice, the various features of the drawings are not to-scale. On the contrary, the dimensions of the various features are arbitrarily expanded or reduced for clarity.



FIG. 1 is a simplified block diagram depicting exemplary components of the system in accordance with one aspect of the present disclosure;



FIG. 2 is a flow chart illustrating an exemplary process of the system in accordance with one aspect of the present disclosure;



FIG. 3 is a graph of a target speed and a measured speed of a display in accordance with one aspect of the present disclosure;



FIG. 4 is a flow chart illustrating an exemplary process of the system in accordance with one aspect of the present disclosure; and



FIG. 5 is a graph of an Evolutionary Operation (EVOP) algorithm in accordance with one aspect of the present disclosure.





DETAILED DESCRIPTION

The following description is merely exemplary in nature and is not intended to limit the disclosure in its application or uses. For purposes of clarity, the same reference numbers are used in the description and drawings to identify similar elements.



FIG. 1 is an illustrative block diagram depicting exemplary components of the system 100 in accordance with one aspect of the present disclosure. The system 100 may include additional and/or fewer components and is not limited to those illustrated in FIG. 1. The system 100 includes a control unit 102. The control unit 102 includes various components such as at least one microprocessor or processor 104, a memory 106, and an input/output 108. The control unit 102 may process the data captured by the sensor 112 to identify the environment surrounding the system 100, or more particularly of the display 110. The sensor 112 may capture the actual position and/or speed of the display 110. The control unit 102 may process the actual position and/or speed of the display 110 within that environment. The control unit 102 processes data of the environment, like mechanical constraints or vibration that are captured by the sensor 111 The memory 106 stores data of the positions of the display 110. Using the record of previous positions of the display 110 and a new set of parameters, the processor 104 provides the new parameters to the display 110 to drive the deployment mechanism for the display 110.


The processor 104 is a device that processes signals and performs general computing and arithmetic functions. The processor 104 may include multiple single and multicore processors, co-processors, and architectures. The memory 106 may include a variety of memory, such as volatile memory and non-volatile memory. The memory 106 may also include a disk, such as but not limited to a flash memory card, a memory stick, a magnetic disk drive, a solid state disk drive, a CR-ROM, or a DVD ROM. The memory 106 may store a system that controls resources of a computing device and software that the processor 104 executes. The processor 104 and memory 106 are operatively coupled. The processor 104 performs processes by executing software instructions stored by the memory 106. The processes may include capturing data of the environment surrounding the display 110. The processes may include capturing data of the actual speed when the display 110 is deploying and the actual position of the display 110. The processes may also include determining the angle of the display 110. The processes may further include computing a metric measuring a Mean Square Error (MSE) while the display 110 is deploying. The processes may also include calculating the parameters for the next deploy of the display 110, which improves the processes.


The processor 104 and the memory 106 communicate through the input/output 108. The input/output 108 is a part of the system 100 and communicates with the sensor 112 and the display 110. The data captured by the sensor 112 is input to processor 104 for processing and outputting to the display 110 for providing display deployment assistance to optimize the position of the display 110 for an occupant of a vehicle.


The memory 106 stores an optimization algorithm having software parameters to drive a deployment mechanism for the display 110. The optimization algorithm is embedded in the software of the display 110. The embedded optimization algorithm may be used with any mechanism that deploys the display 110. The position of the display 110 may be captured in actual time and stored in the memory 106. The speed of the display 110 as it deploys may be measured in actual time and stored in the memory 106. The display 110 includes the deployment mechanism for deploying the display 110. Each time the deployment mechanism is used in the vehicle for deploying the display 110 to a new position, a new set of software parameters is tested. Small variations of the system response are detected by sensor 112. The small variations may be undetectable by the occupant. The processor 104 computes a metric measuring the MSE during this deployment. Using the result and the record of previous deploys, together with using an Evolutionary Operation (EVOP) algorithm and a Statistical Process Control (SPC), the processor 104 calculates the parameters for the next deploy of the display 110. The embedded optimization algorithm is continuously improving the metric and the parameters to provide optimal performance to the occupant during the lifecycle of the display 110. The optimal performance reduces the wear of the deployment mechanism, because the wear of the mechanical components of the deployment mechanism are dynamically compensated by the embedded optimization algorithm. Furthermore, each time the display 110 is deployed, the embedded optimization algorithm measures the performance of the display 110 for evolutionary optimization.


The optimization algorithm can be embedded into a variety of devices. The embedded optimization algorithm includes an initial parameter setting, such as a set point (SP). The parameters may include PID coefficients (e.g. proportional, integral, and/or derivative coefficients) The parameters change using the particular device and the embedded optimization algorithm will evolve to find the device's particular optimum parameters (e.g. process variables (PV)). The embedded optimization algorithm also accounts for potential interactions of the device with the environment, for example, mechanical constraints and vibration. The embedded optimization algorithm computes these influences and adapts continuously to the environment.



FIG. 2 illustrates an exemplary process 200 of the system 100. Step 202 includes at least one parameter of an occupant or driver of a vehicle. The parameters can be identified by x1, x2, . . . xn. Using the parameters, at step 204, the processor 104 provides instructions to a deployment mechanism, such as a motor. For example, the embedded optimization algorithm uses the parameters x1, x2, . . . xn to drive the motor for deployment of the display 110. Each parameter has initial values and boundaries that define the design space for optimizing the deployment. At step 206, the sensor 112, such as a Hall sensor, is used to capture position and/or speed of the display 110. If the sensor captures data that changes the parameters, the values and boundaries defined may also change. Process 200 may continue to step 202 and evaluate the parameters and continue the process. Process 200 may continue to step 208 to drive the motor to deploy the display 110. The embedded optimization algorithm modifies the parameters driving the deployment device so that process 200 provides smooth, precise, and repeatable deployments of the display 110.



FIG. 3 illustrates a graph 300 of a speed profile 302 of the display 110, including a target speed 304 and a measured speed 306. At each time interrupt, the processor 104 calculates an error ei between the target speed 304 and the measured speed 306. For each deployment j of the display 110, such as a head-up display (HUD), the processor 104 calculates the MSE of the target speed 304 and the measured speed 306. The parameters x1(j), x2(j), . . . . xn(j) include a response MSE(j). The equation for this calculation is as follows:






MSE
=




e
i
2


df






FIG. 4 illustrates an exemplary process 400 of the embedded optimization algorithm of the system 100. Process 400 begins with establishing the default parameters at step 402. The parameters are identified by x1(0), x2(0), . . . xn(0). After the default parameters are established, process 400 proceeds to step 404. At step 404, deployment j with parameters x1(j), x2(j), . . . xn(j) are performed. The processor 104 calculates a response MSE(j), the MSE is the sum of the square of a speed error or a position error at each period divided by one less than the number of period. At step 406, a SPC test is run on the response MSE(j) using an exponentially weighted moving average (EWMA) method. The EWMA method uses a type of infinite impulse response filter that applies weighting factors which decrease exponentially. The weighting for each older datum decreases exponentially without reaching zero.


The SPC is used on the MSE to determine if a special event occurred during the deployment of the display 110. If a special event occurred during deployment, the last result is discarded. In other words, if the response MSE(j) is out of control, there is a special event and process 400 returns to step 404 to redo the deployment j. If the response MSE(j) is in control, meaning that there is no special event, process 400 proceeds to step 408. At step 408, a EVOP algorithm is used to calculate xj(j+1), x2(j+1), . . . xn(j+1) using a previous n+1 in the control results. At step 410, the deployment j is adjusted to j+1. The parameters from the last n+1 records and the corresponding measures of the MSE are recorded and stored in memory 106. After deployment j is adjusted, process 400 proceeds to step 404 to perform the deployment j and the response. Process 400 continues until it stops. Process 400 may stop when the vehicle is turned off or after a period of time, and resume when the vehicle is turned on.



FIG. 5 illustrates a graph 500 of an evolutionary operation, or EVOP 502, of the system 100. In this embodiment, the EVOP 502 has two parameters X1 and X2. Each vertex, for example vertex 1-6, is represented by a dot on the graph 50. Vertex 1, 2, 3 are the initial vertexes. The value of X1 and X2 may be adjusted from 0 to 100. The curves, for example curves 504, 506, 508, represent a contour plot of the MSE. During the first three moves, e.g. from vertex 1 to vertex 2 to vertex 3, the MSE is calculated for each of the three vertexes. After the MSE is calculated, the vertex moves toward an optimal area 510 for the particular device having the embedded optimization algorithm. When a vertex (e.g. vertex 512) reaches the optimal area 510, the vertex 512 oscillates around the optimal area 510 until a condition changes. For example, if wear on the deployment mechanism or another influence is detected, the system behavior changes and the optimal area 510 will move to a more optimal area. In other words, the embedded optimization algorithm will adapt and the vertex will move to a new optimal area.


The new set of parameters (e.g., the vertex) is calculated using the valid last n+1 deployments using EVOP 502. In another embodiment, a different variant of EVOP 502 is used. For example, using a variable of fixed step size. One implementation of EVOP 502 is to 1) rank the MSE and 2) obtain a new vertex. For step 1, a Vertex W is the vertex with a higher MSE and a Vertex_G is the mean of all other vertexes. For step 2, the new vertex is calculated as follows: New Vertex=2*Vertex_G−VertexW. Basically, optimal parameters are determined and implemented as static parameters. To dynamically adapt to a change of the device, the records of the MSE are refreshed. For example, records of the MSE older than 100 deploys or one month are actualized. The EVOP 502 may include additional and/or fewer steps and is not limited to those illustrated ifs this disclosure.


While the disclosure has been described in connection with certain embodiments, it is to be understood that the disclosure is not to be limited to the disclosed embodiments but, on the contrary, is intended to cover various modifications and equivalent arrangements included within the scope of the appended claims, which scope is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures as is permitted under the law.

Claims
  • 1. A deployment system for a display of a vehicle, comprising: a non-transitory computer readable medium to store instructions of the deployment system; anda processor configured to execute the instructions, the processor being configured to:deploy the display using a parameter, wherein the parameter includes at least a deployment speed of the display;determine a Mean Square Error (MSE);run a Statistical Process Control (SPC) test on the MSE, wherein the SPC test run on the MSE includes using an exponentially weighted moving average (EWMA) method to generate SPC test results;determine that no special event is present based upon the SPC test results on the MSE; andprocess a new parameter using the parameter and the SPC test results to deploy the display using the new parameter.
  • 2. The deployment system of claim 1, wherein the processor is further configured to: determine that a special event is present based upon the SPC test results on the MSE; andrepeat deployment of the display using the parameter.
  • 3. The deployment system of claim 1, wherein the processor is further configured to: initiate a default parameter;deploy the display using the default parameter; andprocess the new parameter using the default parameter and the SPC test results to deploy the display using the new parameter.
  • 4. The deployment system of claim 1, wherein processing the new parameter using the parameter and the SPC test results includes using an evolutionary operation (EVOP) algorithm to calculate the new parameter.
  • 5. The deployment system of claim 1, wherein the display is a head-up display (HUD).
  • 6. The deployment system of claim 1, wherein the deployment mechanism further comprises a motor for deploying the display.
  • 7. The deployment system of claim 1, further comprising: a sensor to capture at least one of an actual speed of deploying the display and an actual position of the display.
  • 8. The deployment system of claim 7, wherein the processor is further configured to determine the MSE using at least one of the actual speed of deploying the display versus a target speed of deploying the display and the actual position of the display versus a target position of the display.
  • 9. A deployment system for a display of a vehicle, comprising: a microprocessor coupled to the display, the microprocessor being configured to execute instructions stored on a non-transitory computer readable medium; anda sensor coupled to the microprocessor and configured to identify the environment surrounding the deployment system;wherein the microprocessor is further configured to: initiate a target parameter for deployment of the display to optimize the position of the display for an occupant of the vehicle, wherein the target parameter includes at least a target speed of the display;deploy the display using the target parameter;measure an actual parameter of the display during deployment wherein the actual parameter includes at least an actual speed of the display;compute a Mean Square Error (MSE) using the target parameter and the actual parameter; anddetermine a new parameter for deployment of the display using the MSE,wherein the microprocessor is further configured to use an evolutionary operation (EVOP) algorithm and a Statistical Process Control (SPC) test to determine the new parameter.
  • 10. The deployment system of claim 9, wherein the actual parameter further comprises at least one of the actual speed of the display and the actual position of the display.
  • 11. The deployment system of claim 9, wherein the identification of the environment surrounding the deployment system includes identification of at least one of mechanical constraints and vibrations of the display.
  • 12. The deployment system of claim 9, wherein the deployment mechanism further comprises a motor for deploying the display.
  • 13. The deployment system of claim 9, wherein the processor is further configured to determine the MSE using at least one of the actual speed of deploying the display versus a target speed of deploying the display and the actual position of the display versus a target position of the display.
  • 14. A method for deploying a display, comprising: performing deployment of the display using a parameter, wherein the parameter includes at least a speed of deployment of the display;determining a Mean Square Error (MSE);running a Statistical Process Control (SPC) test on the MSE to generate SPC test results;determining that no special event is present based upon the SPC test results on the MSE; andprocessing a new parameter for deploying the display using the parameter and the SPC test results.
  • 15. The method of claim 14, wherein the running the SPC test on the MSE includes using an exponentially weighted moving average (EWMA) method.
  • 16. The method of claim 14, further comprising: determining that a special event is present; andrepeating deployment of the display using the parameter and the SPC test results on the MSE.
  • 17. The method of claim 14, further comprising: initiating a default parameter, wherein the default parameter includes at least one of a target speed of the display and a target position of the display;performing deployment of the display using the default parameter; andprocessing the new parameter for deploying the display using the default parameter and the SPC test results on the MSE.
  • 18. The method of claim 14, wherein processing a new parameter for deploying the display using the parameter and the SPC test results includes using an evolutionary operation (EVOP) algorithm to calculate the new parameter.
  • 19. The method of claim 14, wherein determining the MSE calculates an actual speed of deploying the display versus a target speed of deploying the display.
  • 20. The method of claim 14, wherein determining the MSE calculates an actual position of the display versus a target position of deploying the display.
US Referenced Citations (41)
Number Name Date Kind
4792737 Goff Dec 1988 A
5058836 Nobel Oct 1991 A
5204666 Aoki Apr 1993 A
5394202 Deering Feb 1995 A
6412848 Ceccanese Jul 2002 B1
7659685 Cesario Feb 2010 B2
7890263 Prakah-Asante et al. Feb 2011 B2
9633626 Weindorf Apr 2017 B2
9709805 Weindorf Jul 2017 B2
20030169158 Paul, Jr. Sep 2003 A1
20040039492 Demontis Feb 2004 A1
20040088059 Johnson May 2004 A1
20060039736 Ogawa Feb 2006 A1
20060291066 Shiobara Dec 2006 A1
20080010875 Kuwabara Jan 2008 A1
20080106859 Eguchi May 2008 A1
20090025022 Blatchley Jan 2009 A1
20090033259 Cesario Feb 2009 A1
20100052581 Izumi Mar 2010 A1
20100176914 Moraes Jul 2010 A1
20100253489 Cui Oct 2010 A1
20100253492 Seder Oct 2010 A1
20100253493 Szczerba Oct 2010 A1
20110040455 Lathrop Feb 2011 A1
20110050142 Lu Mar 2011 A1
20120001582 Park Jan 2012 A1
20120283894 Naboulsi Nov 2012 A1
20130050112 Vanhelle Feb 2013 A1
20130060354 Choi Mar 2013 A1
20140137326 Tavanti May 2014 A1
20140267775 Lablans Sep 2014 A1
20150355464 Hopf Dec 2015 A1
20160041386 Rodriguez Moreno Feb 2016 A1
20160154238 Weindorf Jun 2016 A1
20160162145 Rivers Jun 2016 A1
20160226414 Wang Aug 2016 A1
20170285739 Aaron Oct 2017 A1
20170323458 Lablans Nov 2017 A1
20170349069 Helot Dec 2017 A1
20180111599 Wang Apr 2018 A1
20180328294 Levijoki Nov 2018 A1
Foreign Referenced Citations (1)
Number Date Country
2014202834 Oct 2014 JP
Non-Patent Literature Citations (1)
Entry
International search report on international application PCT/EP2018/078383.
Related Publications (1)
Number Date Country
20190113750 A1 Apr 2019 US