Google Search
Login & Blog Feeds
Blogroll
Recent Comments
- Engineering, Control Systems and Statistics | Blog at ControlTheoryPro.com on Observations on Control System Modeling
- spradlig on MATLAB Pricing (Final Part in the Mathworks is behaving like Microsoft series)
- spradlig on MATLAB Pricing (Final Part in the Mathworks is behaving like Microsoft series)
- PointOnePA on MATLAB Pricing (Final Part in the Mathworks is behaving like Microsoft series)
- spradlig on Observations on Control System Modeling
Archives
- October 2009
- April 2009
- February 2009
- January 2009
- December 2008
- November 2008
- October 2008
- September 2008
- August 2008
- July 2008
Categories
16th October 2008
MEMS Gyro models
MEMS gyroscopes are becoming common in Aerospace systems. They are small, low power sensors accurate in frequency ranges good for Aerospace applications. Often, MEMS gyros are the only sensors commerically available that provides the necessary frequency response, mass, power and environmental.
I’ve found 2 types of MEMS gyro modeling. Both of these modeling types are for the design of the MEMS gyro. A MEMS gyro sensor requires design of some key parameters - resonant frequency, driving frequency, and quality factor. These articles are not on the frequency response of the sensor. The frequency response and noise are the primary items to model for control systems. So these design articles are high fidelity models and information purposes.
Traditional modeling of MEMS Gyros
Traditional design modeling of MEMS gyros often starts with an FEM of the sensor. However, the FEM is often too large for feasible modeling. FEM modeling can be infeasible for memory reasons or simply the length of time it takes to produce results.
The next step in traditional design modeling is to create an equivalent electrical circuit for detailed analysis in various software packages. Again producing results from these equivalent circuit models is time consuming.
Wiki article on Traditional MEMS Gyro modeling
Simplified lumped parameter model for MEMS Gyros
I found a journal article describing a lumped parameter model for MEMS gyroscope design suitable for running in Simulink. The benefit of the Simulink lumped parameter model technique allows for much faster MEMS gyro design results through simple gains and trnsfer function blocks. The results present in the journal article looked encouraging.
Wiki article on Simplified lumped parameter model for MEMS Gyros
More articles coming…
Accurate sensor models are necessary for any good control loop design. So I have a couple more sensor model/design articles coming. After that I will start adding details of MEMS gyros as I find them on the web.
12th October 2008
I’ve written an article on the wiki on what I call controller fusion. I refer to it as controller fusion becuase, like Sensor Fusion, I use filters to blend non-ideal outputs from more than 1 transfer function into 1 output which is closer to the desired output.
For a work proposal on a reaction cancellation mechanism I used a proportional controller for fast response and a PI-Lead controller to drive the steady-state error to 0. In simple sensor fusion the sensor outputs are filtered and then added together to form a better single output. In this form of controller fusion I use filters on the error signal to adjust the gain of the controller in real-time. As a result, PI-Lead output is almost turned off for a step command and the proportional controller output is almost turned off when the system is holding a steady-state value.
I have not had the time to bring this idea to full maturity but I thought it was an interesting enough idea to share.
07th October 2008
New Look Coming Soon…
I recently paid someone to make a real logo for my site. Additionally, I’ve noticed that the site Header on the wiki has gotten very large. So large in fact that the content of the page falls off the bottom. If I was visiting someone else’s site I’d find this very annoying.
So I’ve been working hard to reskin the wiki to incorporate some SEO tricks I’ve learned as well as the new logo. The primary benefit will be to move some the current wiki Header template text to the page header and the left side. When I’m done I hope the skin header will be a little shorter than its current height and the wiki Header template size will no more than half its current height. Check it out as I work on it at the Beta site.
Automatic report generation with MATLAB
For years I’ve had to create reports in Word and PowerPoint. Unlike Excel, there is no nice, simple, function call for placing text, pictures, and tables into a Word or PowerPoint document. As a result I, and many other engineers, have wasted countless hours over the years manually inserting pictures, tables, or boilerplate text into reports.
So I’ve created functions – through trial and error because there is no documentation I can find – to accomplish these tasks. Soon I’ll have a free pdf of the basics. The free pdf will be followed by a pdf for sale. The second pdf will cost about $100. I’ll list out what I’ve discovered (largely through weeks and weeks of trial and error) and include a couple of basic functions.
Soon after the release of these 2 pdfs and freebie automation tools I’ll release a small set of MATLAB automation tools. The functionality these tools will offer is
- Insert Pictures
- Insert Tables
- Insert Text
- Insert Slides into a PowerPoint Slideshow
- Replace pictures
- Replace Table Contents
- Copy template slides from 1 PowerPoint file to another
- …
Lots of Sensor articles Coming Soon
I’ve contacted sensor manufactuerers and gotten lists of data on their sensors. With these lists I’ll be creating articles comparing manufactuerer to manufactuerer, lines within a manufactuerer, and individual sensor articles. Much like a product catalog a lot of the text surrounding the specifications of each sensor would be the same. However, Google will penalize me for having duplicate content if I do that. So I’ll have to work around that.
05th October 2008
Sensor Fusion
As discussed in the previous blog entry, sensor fusion is used to create one good sensor from at least 2 sensors that are not good enough to meet specifications. This can be done simply but when real sensors are involved it can also become a bit of a black art requiring a lot of skill and experience.
Simple Sensor Fusion Example
The wiki has an example showing the details of simple sensor fusion. The simple example has a low frequency sensor with a bandwidth of 20 Hz. It also included a high frequency sensor with a lower bandwidth of 1 Hz and an upper of 1 kHz. The sensors are blended using a second order low pass and high pass filter. Both filters have a bandwidth of 15 Hz.
I hope to eventually create another example with better filters. I also hope to create another sensor fusion example for sensors with non-ideal transfer functions.
02nd October 2008
Sensor Fusion or Sensor Blending
Sensors are what provides feedback to a closed loop system. Sometime you can’t get the sensor characteristics you need. This happens a lot in the aerospace industry.
When any one sensor cannot provide the necessary feedack then it is time for sensor fusion or sensor blending. The simplest form of sensor fusion is a matter of two or more sensors which are filtered so that their strengths (good responsivity and low noise) are used while their weaknesses are filtered out.
Often times sensor fusion is nothing more than simple second order low pass or high pass filters with their outputs added together. This simple fusion allows for two sensors to provide the desired output.
Simple Example of Sensor Fusion
The most simple sensor fusion that I’ve come across is the combination of two angular rate gyroscopes. The low frequency gyro was good out to a frequency of approximately 20 Hz. The high frequency gyro was good between 1 and 1000 Hz. Unfortunately this system was sensitive to frequencies around 5 Hz.
Normally the blending frequency of the sensor fusion would have happened between 1 Hz and 20 Hz based on an analysis of each sensor’s noise and responsivity. This example system was sensitive to frequencies around 5 Hz which meant that we needed to avoid frequencies between 0.5 Hz and 50 Hz.
The main weakness of the high frequency sensor was phase loss below 1 Hz. So we designed a filter to extend the low end of the high frequency sensor down to 0.5 Hz. More difficult to implement than to conceptualize but it takes some practice to do it correctly.
Ideal Sensor vs. Real Sensor
The ideal sensor is typically modeled with a second order system that has a natural frequency equal to the spec bandwidth and a damping of 0.707 or 1. I default to 0.707. This leads to a nice flat, unity response for the sensor below the bandwidth. Real sensors are non-unity below the bandwidth – i.e. the magnitude has some ripple to it. Sensor ripple around the blending frequency can be very problematic and must be assessed based on the system needs.
Introduction to Sensor Fusion on the Wiki
Here is an article on the wiki on Sensor Fusion. It is currently a small, simple article that I hope to expand and encourage anyone interested in Sensor Fusion to help me expand.
27th September 2008
Randomness and why the Banks are failing
This last New Years I was talking to a friend in the Banking industry - 2 am and drunk. He was lamenting the fact that the financial institutes based all of their risk assessments of these fancy derivatives on models. The models were traditional mathematics as well as neural network based artificial intelligence. The point he kept coming back to was their reliance on these models and how the models didn’t make good predictions under certain circumstances.
My response was that models are as good as their inputs. As I’ve stated in a previous post, models are designed, built, and validated to answer very specific questions under very specific circumstances. When the question is outside the design parameters then the results are likely to be garbage and certainly untrustworthy.
An interesting article on the Edge…
On the Edge, Nassim Nicholas Taleb details the pitfalls of trusting models and an incomplete knowledge of statistics and randomness. Taleb is the author of Black Swan and Fooled by Randomness.
The parts of the article I found most interesting were the ones about making decisions based on a rudimentary understanding of statistics. His analysis is dead on.
On the International Space Station one of the Control Moment Gyroscopes (CMGs) failed. After it failed NASA made the root cause analysis a high priority. That said, engineers tried before me to explain why the CMG failed. A bearing expert came in to tell us it could be this or it could be that or it could be something else… The vendor responded similarly.
While I worked on figuring out the CMGs I was asked to determine what parameters in our telemetry stream could warn us of impending failure of another CMG. Obviously we would prefer to shut it down before failure and bring it back to Earth for dissection and study. I used every interpolation trick I knew, including Online Recursive Least Squares and Kalman filtering, to better predict what what was coming next. No matter the technique or trick we applied to the data it didn’t work out. “Good” techniques and models worked well on past days data but invariably they eventually fail to predict accurately some future event.
Randomness and Stochastic Control
Many real world systems are analyzed in stochastic manner. In other words we assume that system noise and disturbances are random processes. Frequently they are not random. Frequently the processes are correlated. Most of these systems can be approximated with these stochastic processes and analyses.
Systems engineering is often based on approximations of stats based models. Obviously we have to be careful when we build models and especially careful letting Systems engineers (or ourselves) make decisions based on these models.
Source Links
27th September 2008
I added Google search to my blog a couple of weeks ago. When I did that the site continued to look fine in IE7. However, the footer of the theme bled into the sidebar and main posting when viewed with Firefox, Chrome, Opera, and Safari.
I tried and tried and tried. No matter what I did to the previous theme it didn’t want to behave. Even after I removed the Google search. So I went looking for other themes. I like this one pretty well but I’ll probably alter it once I get my new site logo finished.
The theme also looks a little crowded to me. Let me know your thoughts.
18th September 2008
MATLAB Pricing
MATLAB is a great tool. I use it every day and have few complaints. However, I’d like to use it for personal purposes. The price of MATLAB makes its use for personal purposes cost prohibitive. As of Sept. 14th, 2008 the prices are
- MATLAB: $1900
- Simulink: $3000
- Control System Toolbox: $1000
- Signal Processing Toolbox: $800
This is the basic MATLAB package I’ve always had as a professional. Sometimes I have other toolboxes but I always have at least these. Can most of us afford $6700 for personal use?
The MATLAB Monopoly
If MATLAB had any real competition, would the price still be $1900 for just MATLAB? There are 2 competitors that I know of and neither is really a true competitor. The first competitor is OCTAVE a free MATLAB like program. In my brief examination of OCTAVE for use on my website I found it to be lacking most of the functionality of MATLAB. The second competitor I come across is SimApp. I’ve been in contact with a marketing person here in Colorado for SimApp and the price I was given was $500. They have several licenses but I haven’t dug around the site to see what license you get for $500. SimApp is a much smaller application with much less to it than MATLAB.
The purpose of SimApp is to offer only what we need most of the time and to do so at a reasonable price. Mathworks offers items in toolboxes for the same purpose – at I assume that’s why. However, their prices aren’t reasonable.
Is there justification for MATLAB’s price?
Like Microsoft, Mathworks is the only game in town and they set whatever price they want. The price is high and I don’t like it but is it justified?
The Mathworks updates MATLAB about twice a year. For the most part it is bug fixes and minor improvements. Very rarely is there serious new functionality included in these updates. For MATLAB 2008a the major upgrade is in Object Oriented programming. The new interface is light years better than the old but the functionality isn’t new.
Most of the improvements I heard of over the last couple of years have involved improved plotting tools. Some tools are new like a GUI interface to allow for interactive regression on the plot. The other plotting improvements are bug fixes in my opinion (i.e. bugs like the aspect ratios not remaining fixed in certain uses of the saveas function). After all these years, they still haven’t gotten the bode plot right in my opinion.
Conclusion
This latest round of installations for MATLAB 2008a really made me and a lot of my coworkers very angry. There was a lot of extra work to get it installed. And the only reason for our having the extra was that Mathworks didn’t do the work themselves. In essence Mathworks let the users do beta testing of the MATLAB 2008a installation process on a full release version. Kind of like every new Microsoft operating system, this program wasn’t ready for general release.
Since many of us who use and love MATLAB have long been cranky about the price for an individual license, there is some latent hostility and strong beliefs about knocking the chip off Mathworks’ shoulder.
MATLAB is a great program and every company has a right to set their own price to maximize profit. That doesn’t mean users have to happy about it. Companies with real competition worry more about irritating their customers. That or they go out of business.
P.S.: 64 bit MATLAB
I have a 64 bit Quad core PC. I installed 64 bit MATLAB on it. However, anything in Simulink that requires a compiler doesn’t work. Mathworks doesn’t ship a compatible compiler. The only compiler compatible with Simulink on a 64 bit installation is a special installation of Microsoft’s Visual Studio 2005 Professional. It seem kind of silly to install a $300 program just for the compiler.
Obviously, Mathworks should have included a compatible compiler. The tech support was very helpful in this but only after I got nasty with them. And the first level tech suggested more than one incorrect fix and this got to be time consuming.
15th September 2008
Control System Modeling: Purpose
I’m going to use model and simulation as synonyms in this post.
The purpose of modeling in any discipline, including control systems, is to answer a question; often a very specific question is answered. There are several reasons for why any given model only answers a small set of questions. Budget and Schedule.
Modeling Complexity
Budget and schedule force engineers to model only those aspects deemed necessary to answer the question posed.
Modeling the universe in detail – even the very localized universe around a small object – takes a lot of work and time. Budget and schedule concerns always force engineers to start with first principles and then model progressive deeper levels of details and fidelity. The deeper layers are only modeled if the desired level of result accuracy requires this extra fidelity.
There are several reasons for keeping a model as simple as possible:
- Initial time to development goes up with complexity
- Time required for maintanence goes up with complexity
- Odds of a mistake go up with complexity
- Time between simulation start and delivery of results goes up with complexity
My observation is that items #1 through #3 increase roughly exponentially with complexity. Turn around time (#4) increases but the amount of increase is highly dependent on the slowest part of the model as it exists prior to the increase in fidelity.
Control System Modeling: Pitfalls
Expanded Purpose
Engineers and other professionals who do not create or run simulations on a regular basis often forget about the narrow focus of a good model. As a result these people often ask for results the model is not designed to produce. Obviously the engineer being asked for the results needs to consider the request very carefully. There may be an assumption built into the model which invalidates its use for this expanded purpose.
Juggling Programs
Each day that I work on a model I go through a process of “loading my RAM” or short term memory. In order to work on the model and produce meaningful results a certain number of details and parameters must be loaded up into short term memory. I find this process takes no more than 30 minutes and rarely takes more than 45 minutes.
The pitfall is in assuming you can juggle certain types of work. Last summer I was asked to juggle modeling work and hardware maintanence work. The hardware work needed me for 30 minutes at a time about 4 or 5 times a day. As a result the hardware work repeatedly interrupted my efforts on the modeling work. The interruptions came about every hour and a half. So I used half of my time in between “loading my RAM”.
After about 2 or 3 weeks of trying to juggle the hardware and the modeling work I realized I was never gonig to get anything done on the model if I didn’t set some limits. I asked the two programs how they wanted me to handle the problem. The basic response was just deal with it. So I decided to tell the hardware guys that 2 days a week they couldn’t bother me, except for emergencies. No one was happy but it was the best I could do.
12th September 2008
Clean Energy: The Sterling Engine
A while back I came across the Sterling engine. The Sterling engine takes waste heat and turns it into piston motion. Obviously if it moves we can generate electricity from the motion.
The main problem with Sterlings is the efficiency of the power extraction. Using waste heat the available energy for extraction is significantly less than the original fuel.
Wind Turbines and Controls
Wind turbines faced a similar energy extraction problem. The folks at NREL chose some advanced controls to extract the maximum amount of energy from the available wind. With wind there isn’t a consistent energy source and maximizing its extraction is key to making the technology economically viable.
Controls…
The available energy for extraction is small. Like the wind turbines, Sterlings need control to maximize the energy extraction.
Thoughts?