The present application claims priority from Indian complete patent application no. 202021013362, filed on Apr. 9, 2020. The entire contents of the aforementioned application are incorporated herein by reference.
The embodiments herein generally relate to the field of control systems. More particularly, but not specifically, the present disclosure provides a method and system for real time trajectory optimization of dynamical systems or processes.
Generally, manufacturing or industrial plants or any automated processes are dynamic in nature, evolving with time due to changes in environmental conditions, equipment health, and operational regime in accordance with business requirements. It is imperative to drive the operations to improve key performance measures of such a dynamical system or process. The various constraints on the operation of a dynamical system too need to be respected. For example, constraints can exist on the control system in the form of actuator limits, operational constraints, economical restrictions, and/or safety restrictions. Accordingly, real-time optimization of such a multivariable constrained dynamic system is extremely complex. However, it is essential to optimize the trajectory of processes involved in such systems for improving the performance of the dynamical system. Trajectory optimization in simple terms, is the process of designing a trajectory of operating variables that minimizes (or maximizes) some measure of performance while satisfying a set of constraints, when the system moves from one state to another.
Currently, such complex dynamical systems comprising industrial plants or processes, physiological systems, are not controlled with an aim to optimize the overall performance but by maintaining critical process parameters fixed at some well-defined set points, where these set points are fixed on the basis of lab-scale or pilot plant studies or safe operating regime of each critical process parameter. Design of experimental methodology which may occasionally work for steady state optimization is not feasible for trajectory optimization of dynamical systems since such an optimization problem is infinite dimensional in nature and conducting such large number of experiments is infeasible.
A system and method for trajectory optimization of dynamical system or process for e.g. manufacturing processes in real time is not available. Trajectory optimization is mostly seen as an offline optimization exercise. However, the real time/online implementation in manufacturing plant will be affected by disturbances, the distribution of those can be markedly different from those considered while optimizing the system in the off-line mode.
The following presents a simplified summary of some embodiments of the disclosure to provide a basic understanding of the embodiments. This summary is not an extensive overview of the embodiments. It is not intended to identify key/critical elements of the embodiments or to delineate the scope of the embodiments. Its sole purpose is to present some embodiments in a simplified form as a prelude to the more detailed description that is presented below.
In view of the foregoing, an embodiment herein provides a system for real time trajectory optimization of a process. The system comprises a data receiver, storage and transmitter unit, one or more hardware processors, a memory. The data receiver, storage and transmitter unit receives a plurality of data from one or more sources as an input data. The memory is in communication with the one or more hardware processors. The memory further comprises a preprocessor and data integration unit, a classifier unit, a forecasting unit, a selection unit, a model prediction unit, a monitoring unit, an adjustment unit, and a trajectory estimation unit. The preprocessor and data integration unit preprocesses and integrating the input data. The classifier unit classifies the preprocessed input data among a set of disturbance variables, a set of process variables, a set of manipulated variables, a set of material properties, and a set of design parameters, wherein the classification information is stored in a variable information library. The forecasting unit forecasts an expected profile of each of the set of disturbance variables using their respective models. The selection unit fetches the most appropriate actuation profiles of manipulated variables from a knowledgebase based on a predefined condition for an applicable set of design parameters and forecasted expected profiles of the set of disturbance variables and implementing the most appropriate actuation profiles of the set of manipulated variables by informing a set of actuators using the data receiver, storage and transmitter unit, wherein the set of actuators are part of a process. The model prediction unit predicts expected profile of each of the process variables using their respective models. The monitoring unit monitors the set of disturbance variables, the set of process variables, objectives, and constraints of the process in real time to observe one or more changes. The adjustment unit adjusts the constituents of the trajectory optimization model in response to the one or more changes observed while monitoring. The trajectory estimation unit re-estimates the actuation profiles of manipulated variables using the adjusted constituents, and communicating to data receiver, transmitter, and storage unit.
In another aspect, the embodiment here provides a method for real time trajectory optimization of a process. Initially, via a data receiver, storage and transmitter unit, a plurality of data is received from one or more sources as an input data. The input data is then preprocessed and integrated. Further, the preprocessed and integrated input data is classified among one of a set of disturbance variables, a set of process variables, a set of manipulated variables, a set of material properties, and a set of design parameters, wherein the classification is stored in a variable information library. In the next step an expected profile of each of the set of disturbance variables is forecasted using respective models. Further, most appropriate actuation profiles of the set of manipulated variables is fetched corresponding to a trajectory optimization model from a knowledgebase, based on a predefined condition for an applicable set of design parameters, the set of material properties, and expected profiles of the set of disturbance variables. The most appropriate actuation profiles of the set of manipulated variables is then implemented by informing a set of actuators, wherein the set of actuators are part of the process. Further, the expected profile of each of the set of process variables is predicted using their respective models. The set of disturbance variables, the set of process variables, objectives, and constraints of the process are then monitored in real time to observe one or more changes. Further, constituents of a trajectory optimization model is adjusted in response to the one or more changes observed while monitoring. The actuation profiles of manipulated variables are then re-estimated using the adjusted constituents. And finally, the re-estimated actuation profiles of manipulated variables is implemented by informing the set of actuators.
In another aspect, the embodiment here provides a method for trajectory optimization of a process in an offline mode. Initially, a plurality of historical data is received from one or more sources as an input data. The input data is then preprocessed and integrated. Further, the preprocessed input data is classified among a set of disturbance variables, a set of process variables, a set of manipulated variables, a set of design parameters, and a set of material properties corresponding to the process, wherein the classification is stored in a variable information library. Later, existing models or creating new models of the set of process variables and the set of disturbance variables corresponding to pre-defined objectives and constraints are updated, wherein the updated or created models are stored in a model database, wherein each of the models comprising a trajectory optimization model. In the next step, the trajectory optimization model is solved for finding the extrema of the predefined objectives while satisfying the predefined constraints for the defined profiles of the set of disturbance variables and defined values of the set of design parameters and the set of material properties, wherein the solution of the trajectory optimization model results in the generation of actuation profiles of the set of manipulated variables, and expected profiles of objectives, constraints and the set of process variables. Further, the generated actuation profiles of the set of manipulated variables are approximated depending on the actuation capabilities of a set of actuators, wherein each of the set of actuators corresponds to a manipulated variable. Further, the solution of trajectory optimization model, and a set of constituents of the trajectory optimization model are stored in a knowledgebase, wherein the set of constituents include a set of objectives, constraints, design parameters, a set of material properties, models of the process and disturbance variables, profiles of disturbance variables, and an initial state of the set of process variables, and computational time to solve the trajectory optimization model.
It should be appreciated by those skilled in the art that any block diagram herein represents conceptual views of illustrative systems embodying the principles of the present subject matter. Similarly, it will be appreciated that any flow charts, flow diagrams, state transition diagrams, pseudo code, and the like represent various processes which may be substantially represented in a computer-readable medium and so executed by a computing device or processor, whether or not such computing device or processor is explicitly shown.
The accompanying drawings, which are incorporated in and constitute a part of this disclosure, illustrate exemplary embodiments and, together with the description, serve to explain the disclosed principles.
Exemplary embodiments are described regarding the accompanying drawings. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. Wherever convenient, the same reference numbers are used throughout the drawings to refer to the same or like parts. While examples and features of disclosed principles are described herein, modifications, adaptations, and other implementations are possible without departing from the spirit and scope of the disclosed embodiments. It is intended that the following detailed description be considered as exemplary only, with the true scope and spirit being indicated by the following claims.
Referring now to the drawings, and more particularly to
According to an embodiment of the disclosure, a system 100 for real-time trajectory optimization is shown in the block diagram of
The system 100 is a generic system to define a trajectory optimization model and to estimate the actuation profiles of manipulated variables by identifying a suitable technique integrated in the system. The system 100 provides online adaptation of optimized trajectory in response to forecasted disturbances encountered while operation of a process in the dynamical system.
According to an embodiment of the disclosure, the system 100 for performing trajectory optimization of a process involved in the dynamical system accomplishes this by performing two major steps. First, configuring a trajectory optimization model and solving it at least once off-line. The system 100 provides actuation profiles of manipulated variables that result in optimized objectives while satisfying any constraints placed. The solution is stored along with constituents that are used to define and configure the trajectory optimization model. And second, during online trajectory optimization of the process, already available solution is implemented by communicating it to relevant actuators present in the dynamical system. The performance of the dynamical system is monitored, and in case performance is found to be going off-track, changes are made to actuations profiles for the remaining course of time.
According to an embodiment of the disclosure, the system 100 comprises a data receiver, storage and transmitter unit 102, one or more hardware processors 104 and a memory 106 in communication with the one or more hardware processors 104 as shown in the block diagram of
According to an embodiment of the disclosure, the data receiver, storage and transmitter unit 102 (Input/Output interface) is configured to receive a plurality of data from one or more sources as an input data. The one or more sources comprises one or more of a distributed control system (DCS), a supervisory control and data acquisition (SCADA) system, a laboratory information management system (LIMS), an enterprise resource planning (ERP) system, a manufacturing execution system (MES), a manufacturing operations management (MOM) system, and a plurality of sensors present in the dynamical system. The data receiver, storage and transmitter unit 102 is accessible to the user via smartphones, laptop or desktop configuration thus giving the user the freedom to interact with the system 100 from anywhere anytime. The data receiver, storage and transmitter unit 102 may include a variety of software and hardware interfaces, for example, interfaces for peripheral device(s), such as a keyboard, a mouse, an external memory, a camera device, and a printer. The data receiver, storage and transmitter unit 102 can facilitate multiple communications within a wide variety of networks and protocol types, including wired networks, for example, local area network (LAN), cable, etc., and wireless networks, such as Wireless LAN (WLAN), cellular, or satellite.
According to an embodiment of the disclosure, the memory 106 comprises the preprocessor and data integration unit 108. The preprocessor and data integration unit 108 is configured to preprocess, synchronize, and integrate the data coming from various sources. The preprocessing may include outlier or anomaly detection in the input data, missing pattern analysis and variable rejection in the input data, and may further perform data imputation to fill in the missing values in the data wherever required.
According to an embodiment of the disclosure, the memory 106 comprises the classifier unit 110. The classifier unit 110 is configured to classify the preprocessed input data among a set of disturbance variables, a set of process variables, a set of manipulated variables, a set of design parameters, and a set of material properties wherein the classification is stored in a variable information library 124. The variable information library 124 stores information regarding sensors, actuators, and other such variables utilized in describing the dynamical system. This may include grouping information of each variable in terms of one of design parameter, manipulated variable, and disturbance variable. It may further include information of appropriate bounds on absolute values and actuation time of the sensors these variables correspond to, sampling time of these variables. Furthermore, information regarding which model file each variable is associated with may also be present.
According to an embodiment of the disclosure, the memory 106 comprises the forecasting unit 112. The forecasting unit 112 is configured to forecast an expected profile of each of the set of disturbance variables using their respective models. The expected profile of the set of disturbance variables is forecasted using either current data or by making predictions using models of set of disturbance variables present in the model database 126.
According to an embodiment of the disclosure, the memory comprises the selection unit 114. The selection unit 114 is configured to fetch the most appropriate actuation profiles of manipulated variables from a knowledgebase 128 based on a predefined condition for an applicable set of design parameters, material properties, and forecasted profiles of the set of disturbance variables. The selection unit 114 can identify the most appropriate actuation profiles of manipulated variables by calculating a similarity score between the forecasted profiles of the set of disturbance variables and each of the respective profiles already stored in the knowledgebase 128 for the similar set of design parameters, and material properties. And later, the most appropriate actuation profiles are selected for which the similarity score measure is found to be maximum. Distance measure can be one of the methods to calculate the similarity score. For e.g. inverse of Euclidean distance or inverse of Mahalanobis distance, or any similar distance measure or a weighted sum of distance measures computed using different distance estimation techniques, can be used as a similarity score.
According to an embodiment of the disclosure, the data receiver, storage, and transmitter 102 is also configured to implement the most appropriate actuation profiles of the set of manipulated variables by informing a set of actuators. The set of actuators constitute part of the hardware of the dynamical system.
According to an embodiment of the disclosure, the memory 106 comprises the monitoring unit 118 and the adjustment unit 120. The monitoring unit 118 is configured to monitor the set of disturbance variables, the set of process variables, objectives, and constraints of the process in real-time to observe one or more changes. The adjustment unit 120 is configured to adjust constituents of the trajectory optimization model in response to the one or more changes observed while monitoring.
According to an embodiment of the disclosure, the monitoring is performed by following a three-level hierarchical process. First, by computing the difference between the forecasted profiles and the measured profiles of the set of disturbance variables as per the recent data. Second, by computing the difference between the predicted profiles and the currently measured profiles of the set of process variables with former estimated by performing the model predictions on the recent data. The model prediction unit 116 is configured to predict relevant process variables corresponding to the dynamical system or processes. Finally, the third level of monitoring is accomplished by checking whether all the constraints are satisfied and in case some of the constraints are violated, the amount by which each constraint is violated is calculated. The computed differences during monitoring can represent an instantaneous difference or an integrated difference. Error estimates such as mean squared error, root mean squared error, mean absolute percentage error and like can be used as a measure of difference. Depending on the output of the monitoring, the adjustment unit 120 adjusts the constituents of the trajectory optimization model to aid correction of trajectories of process variables such that performance of a process is optimized in online setting too.
According to an embodiment of the disclosure, the adjustment unit 120 is configured to perform one or more of the following actions comprising:
According to an embodiment of the disclosure, the adjustment unit 120 further comprises the model update unit. The model update unit is configured to update the existing models of the set of process variables and the set of disturbance variables that appear in pre-defined objectives and constraints. The updated models are stored in a model database 126 with each of the models corresponding to a process or disturbance variable referred in objective and constraint functions of a trajectory optimization model. The models for the set of process variables include one or more of machine learning (ML) models, deep learning (DL) models, and first-principles based models. On the other hand, the models for the set of disturbance variables include one or more auto-regressive machine learning or deep learning models. The objectives and constraints that define the trajectory optimization model are normally defined in terms of the set of process variables, the set of manipulated variables, and the set of design parameters.
According to an embodiment of the disclosure, the memory 106 comprises the trajectory estimation unit 122. The trajectory estimation unit 122 is configured to re-estimate the actuation profiles of manipulated variables using the adjusted constituents.
An example method implemented in trajectory estimation unit 122 to solve trajectory optimization model and thus estimate actuation profiles of manipulated variables and resulting trajectories of process variables that optimize the performance of a process is shown in flowchart 200 of
The re-estimation of the actuation profiles can be performed by one of the following methods depending on limitations on computational time and actuation requirements of relevant sensors. By solving the trajectory optimization model with adjusted constituents for relatively short horizon in succession or by solving the trajectory optimization for the remaining horizon with adjusted constituents and the most recent data obtained from preprocessor and data integration unit. The horizon may refer to duration of time, space, or sequence of events. An event in the sequence of events may refer to each of the tests performed in the plant while searching for an operational configuration that meets the operational objectives. After re-estimation of actuation profiles of manipulated variables, the data receiver, storage and transmitter unit 102, corrects the course of process by communicating the solution to the set of actuators.
According to an embodiment of the disclosure, the models are updated either by tuning hyper-parameters or by re-training machine or deep learning (ML/DL) models by incorporating newly collected data. Whereas, the parameters of first-principles based models are re-fitted with newly collected data. Standard techniques such as k-fold validation can be used for model selection, hyper-parameter tuning and re-training ML/DL models. While non-linear optimization techniques such as Levenberg-Marquardt or Newton's method can be used to fit parameters of the first-principles based models.
In operation, a flowchart 300 illustrating a method for real time trajectory optimization of the process is shown in the flowchart of
At step 308, the expected profile of each of the set of disturbance variables are forecasted using their respective models. At next step 310, the most appropriate actuation profiles of manipulated variables are fetched from the knowledgebase 128 based on the predefined condition for the applicable set of design parameters, material properties, and similarity scores calculated between the forecasted profile of disturbance variable and each of the profiles of disturbance variables that are stored in the knowledgebase corresponding to which optimized trajectories are already available.
In the next step 312, the most appropriate actuation profiles of the set of manipulated variables are implemented by informing the set of actuators, wherein the set of actuators are part of the process or the dynamical system. At step 314, expected profiles of the set of process variables are predicted using prediction models available in the model database. At step 316, the set of disturbance variables, the set of process variables, objectives, and constraints of the process are monitored in real-time to observe one or more changes. At step 318, constituents of the trajectory optimization model are adjusted in response to the one or more changes observed while monitoring. At step 320, the actuation profiles of manipulated variables are re-estimated using the adjusted constituents. And finally, at step 322, the re-estimated actuation profiles of manipulated variables are implemented by informing the set of actuators.
According to another embodiment of the disclosure, the method to define and solve a trajectory optimization model of the process in an offline mode is shown in the flowchart 400 of
At the next step 406, the preprocessed input data is classified among the set of disturbance variables, the set of process variables, the set of manipulated variables, and the set of design parameters, and a set of material properties corresponding to the process, wherein the classification is stored in the variable information library 124. At step 408, either the existing models are updated or if the models are not existing then a set of new models of the set of process variables and the set of disturbance variables are created corresponding to pre-defined objectives and constraints. The objectives and constraints are defined such that the performance of the process or dynamical system can be improved. The updated or created models are stored in the model database 126. Each of the models of process and disturbance variables comprising a trajectory optimization model that is formulated to optimize the performance of a dynamical system or process. Trajectory optimization model further consists of objectives and constraints that are defined in terms of process variables, disturbance variables, and a set of design parameters.
In the next step 410, the trajectory optimization model is solved for finding the extrema of the predefined objectives while satisfying the predefined constraints for the defined profiles of the set of disturbance variables and defined values of the set of design parameters. The solution of the trajectory optimization model results in the generation of actuation profiles of the set of manipulated variables and expected profiles of objectives, constraints and the set of process variables. The trajectory optimization model is solved using one of control vector parameterization, direct transcription, single or multiple shooting methods, and a plurality of reinforcement learning techniques such as Q-learning, deep reinforcement learning etc. The system selects an appropriate solution method based on the type of prediction models, availability of gradients, computational requirements, nature of optimization model, and like.
At step 412, the generated actuation profiles of the set of manipulated variables are approximated depending on the actuation capabilities of the set of actuators, wherein each of the set of actuators corresponds to a manipulated variable. The approximation of generated actuation profiles may be carried out through interpolation or extrapolation methods. And finally, at step 414, the solution of the trajectory optimization model, a set of constituents of the trajectory optimization model, and computational time to solve the trajectory optimization model are stored in the knowledgebase 128. The set of constituents of trajectory optimization model include a set of objectives, constraints, design parameters, material properties, models of the process and disturbance variables, profiles of disturbance variables, and an initial state of the set of process variables.
According to an embodiment of the disclosure, the system 100 can also be explained with the help of the following example of minimizing fuel consumption of a hybrid vehicle. The hybrid electric vehicle receives power to drive the vehicle from gasoline and Li-ion battery. Given power requirements, which decides total torque demanded for driving the vehicle, an optimal time-varying profile of ratio of the torques contributed by the two sources of power can be estimated such that fuel (gasoline) consumed while traveling from point A to point B is minimized. The torque demanded to drive the vehicle depends on speed, acceleration, gear number etc. Road grade and speed can be considered as disturbances that affect the torque demanded.
The system is configured to operate as follows in such conditions. Design attributes/parameters such as battery type, battery capacity, drive-train of the vehicle are collected and stored using data receiver, storage and transmitter unit. The operation data (road grade, speed, and acceleration of vehicle, gear number, engine torque, motor torque, state of charge of battery (SOC), state of health (SOH)) is populated from historical runs of the vehicle if available, or sample vehicle runs are performed to collect such data and is stored in data collection, storage, and transmitter unit. The corresponding data can also be uploaded from a relevant database for the same car model. Each variable present in the operation data is classified into one of the following types, process variable, manipulated variable, disturbance variable and thus variable information library of the system is configured accordingly for the present problem. The classification of operation data is a one-time activity and is knowledge-driven. Information stored in variable information library 124 corresponding to some of the variables present in the operation data is shown in
Further, objectives and constraints are defined by the user in terms of process variables, disturbance, and manipulated variables. For the present example, fuel consumption over a route can be defined using a fuel consumption map that provides fuel consumption rate in terms of engine speed, and engine torque. Further, constraints that need to be satisfied during a route need to be defined, e.g. SOC (State of Charge), a process variable, to be maintained above the permissible limit.
Minimize, J=∫0t
Constraint, SOC(t)>0.3 t ∈ [0, tf]
wherein, J, is the total fuel consumption over the entire route going from point A to point B that is completed in tf seconds. It is obtained as integration of fuel consumption rate, {dot over (m)}(t). SOC refers to state of charge, which defines the amount of charge relative to its present maximum capacity that the battery currently holds.
Prediction models for process variables such as engine torque, motor torque, SOC, SOH, if available, are uploaded, and their parameters/hyper-parameters are tuned based on operation data such that model performance meets acceptance criteria. The criteria can be default limits on fitting or prediction error, with a user having the freedom to change the limits. In case prediction models are not uploaded, previous prediction models can be re-tuned or trained. Auto-regressive models to forecast disturbance variables (driver's velocity) are also trained. The final version of prediction models are stored in the model database with training data, design parameter tagged.
Further, for a defined disturbance profile, which is the velocity profile of vehicle during route from point A to point B as shown in
The solution of the trajectory optimization model, that consists of actuation profiles of manipulated variables, and optimized trajectory of process variables (SOC), constraints, objectives (either fuel consumption with time or value of total fuel consumption during route), disturbance variable profile such as driver's speed during the route, are stored in the knowledgebase to be used by the online system. In this case, the torque ratio (actuation) to be implemented during the drive cycle, the expected profile of state of charge, and the speed profile maintained during the route are stored. Many such optimization runs can be executed for the vehicle for different velocity profile, and road grades, that the vehicle is expected to go through, and knowledgebase can be populated with the corresponding actuation profiles of torque ratio.
During online implementation, the driver selects the route, for commuting from point A to point B, corresponding to which the proposed system predicts the expected velocity profile using the projected information of traffic condition with a model that further takes into account the driver's past driving behavior. The proposed system further fetches the profile of torque ratio from the knowledgebase that is expected to minimize fuel consumption for the present and projected driving condition. The proposed system further monitors vehicle's projected velocity, fuel consumption, and state of charge. On expecting a drift in any of these variables, the proposed system identifies the source of drift, be it inaccuracy of prediction model of process variable or disturbance variable, or infeasibility to satisfy the constraints. After updating prediction models or constraints, the proposed system, re-estimates the trajectory of torque ratio and implements it to meet the objective of minimization of fuel consumption.
The written description describes the subject matter herein to enable any person skilled in the art to make and use the embodiments. The scope of the subject matter embodiments is defined by the claims and may include other modifications that occur to those skilled in the art. Such other modifications are intended to be within the scope of the claims if they have similar elements that do not differ from the literal language of the claims or if they include equivalent elements with insubstantial differences from the literal language of the claims.
The embodiments of the present disclosure herein solve the problems of the disturbances faced in the existing solutions for real time trajectory optimization. The disclosure provides a method and system for real time trajectory optimization of a process in the dynamical system.
It is to be understood that the scope of the protection is extended to such a program and in addition to a computer-readable means having a message therein; such computer-readable storage means contain program-code means for implementation of one or more steps of the method, when the program runs on a server or mobile device or any suitable programmable device. The hardware device can be any kind of device which can be programmed including e.g. any kind of computers like a server or a personal computer, or the like, or any combination thereof. The device may also include means which could be e.g. hardware means like e.g. an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or a combination of hardware and software means, e.g. an ASIC and an FPGA, or at least one microprocessor and at least one memory with software units located therein. Thus, the means can include both hardware means and software means. The method embodiments described herein could be implemented in hardware and software. The device may also include software means. Alternatively, the embodiments may be implemented on different hardware devices, e.g. using a plurality of CPUs.
The embodiments herein can comprise hardware and software elements. The embodiments that are implemented in software include but are not limited to, firmware, resident software, microcode, etc. The functions performed by various units described herein may be implemented in other units or combinations of other units. For the purposes of this description, a computer-usable or computer-readable medium can be any apparatus that can comprise, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
The illustrated steps are set out to explain the exemplary embodiments shown, and it should be anticipated that ongoing technological development will change the manner in which particular functions are performed. These examples are presented herein for purposes of illustration, and not limitation. Further, the boundaries of the functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternative boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed. Alternatives (including equivalents, extensions, variations, deviations, etc., of those described herein) will be apparent to persons skilled in the relevant art(s) based on the teachings contained herein. Such alternatives fall within the scope and spirit of the disclosed embodiments. Also, the words “comprising,” “having,” “containing,” and “including,” and other similar forms are intended to be equivalent in meaning and be open ended in that an item or items following any one of these words is not meant to be an exhaustive listing of such item or items, or meant to be limited to only the listed item or items. It must also be noted that as used herein and in the appended claims, the singular forms “a,” “an,” and “the” include plural references unless the context clearly dictates otherwise.
Furthermore, one or more computer-readable storage media may be utilized in implementing embodiments consistent with the present disclosure. A computer-readable storage medium refers to any type of physical memory on which information or data readable by a processor may be stored. Thus, a computer-readable storage medium may store instructions for execution by one or more processors, including instructions for causing the processor(s) to perform steps or stages consistent with the embodiments described herein. The term “computer-readable medium” should be understood to include tangible items and exclude carrier waves and transient signals, i.e., be non-transitory. Examples include random access memory (RAM), read-only memory (ROM), volatile memory, non-volatile memory, hard drives, CD ROMs, DVDs, flash drives, disks, and any other known physical storage media.
It is intended that the disclosure and examples be considered as exemplary only, with a true scope of disclosed embodiments being indicated by the following claims.
Number | Date | Country | Kind |
---|---|---|---|
202021013362 | Apr 2020 | IN | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/IN2021/050356 | 4/9/2021 | WO |