Mathjax

Thursday, January 8, 2015

More on the paroxysmal aspect of BPPV

The good news is that my vertigo has mostly gone away.  Mostly meaning that I am a bit unsteady just when I get up in the morning.  The rest of the day, I seem reasonably steady.  (I can stand on one foot with my eyes closed and touch my nose with one hand then the other.)  I am now focused on preventing the next paroxysm from occurring.

I am still reading online articles about the symptoms, causes, and cures of various types of vertigo.  Of all the possible causes, the rocks in the ear (BPPV) and Meniere's disease (loss of level control in the inner ear) seem to be the most likely causes.  Of the two, you would much rather have BPPV.   Meniere's disease doesn't go away and the vertigo is accompanied by ringing in the ears and hearing loss.  I have some ringing which existed before my recent episode and some hearing loss which also pre-existed.  I think the descriptions for Meniere's are much more severe forms of tinnitus and hearing loss than what I have.  So, I am going to assume the ER doctor's diagnosis of BPPV is correct.

 I really can't find much help online on preventing recurrence.  I have read some websites which advocate homeopathic remedies that are basically a healthy lifestyle.  I was already doing as that as well as I can.  The only thing I read that I might improve is drinking more water.  I am now adding four large glasses (probably 12-16 oz each) per day to my liquid intake.  I think the idea is to change the solubility of the fluid in the ear can so that calcium carbonate is not as likely to precipitate out and form crystals in the inner ear.  My view on extra water is that it can't hurt.  The consequences so far are that I am no longer able to sleep through the night without going to the bathroom or to make the trip from Oak Ridge to Atlanta without stopping.

The next question is whether physical activity, specifically running, biking, or swimming, triggers an onset.  I have read that swimming face down and swinging the head to the side to breathe as in crawl stroke can bring on an episode.  I will hold off on that.  (I haven't swum regularly since 2005 anyway.)  I wonder if the biking in the lowered aerodynamic position  on the bicycle also may cause the otoliths to redistribute into the sensitive areas of the ear canals.  It certainly seemed to be related to my first episode.  I will ride exclusively up on the hoods for now.  I was mostly riding in this position anyway just because it is easier on the back and shoulders.

I am going to ride my bike on a stationary trainer tomorrow to see how it goes.

Monday, December 15, 2014

Life can change in an instant

I sat on the side of the road with the world spinning around my head.  I could not stand.  I had the feeling of impending nausea.  The actual nausea soon followed.  Just moments ago, I had been riding my bicycle, enjoying the sun, the crisp gear changes of a perfectly designed and tuned drive train, and hurrying toward home so as not to be fussed at for being out too long. 

The vertigo, that’s what it’s called, came on suddenly as I was riding.  At first, it felt like the road was moving underneath me, like I was being blown about by a strong wind.  I looked around and I listened. I realized that the wind was not that strong.  The spinning was happening inside my head.  I rode more slowly trying to keep the bike in the bike lane.  It was not working.  I began to be afraid that I would fall or worse yet swerve out in front of a car.  I pulled into a parking lot of empty storefronts to assess and see if it would go away.  I was about eight miles from home.  Janice was at home getting ready to go to the lake house for the evening.  I needed to be home so I got back on the bike and tried to ride.  About a quarter mile or less, I recognized that I had to call Janice to come get me.  So I stopped on the side of the road.  I could not stand on one leg and swing the other over the bike seat like a normal person.  I laid the bike down and tried to step over the bike on the ground and I just tumbled onto the concrete sidewalk.  I sat and called Janice.  I am sure the voice sounded normal but the words could not have made sense to her.  “I can’t make it home.  I need you to come get me.”  I did not say I had a wreck or a flat or anything recognizable.  I could not yet put words to what the problem was.  I did not know.   I told Janice to pick me up from a grocery store parking lot across the street from where I sat.  I thought it would be easier and safer to load the bike in a parking lot than on the side of the street.

Now, as I waited, my head spun.  I wondered what was causing it.  Did I have food poisoning?  I had not changed the water in the water bottle before leaving.  Could the old water be contaminated with bacteria?  Was it a stroke, a tumor?  I then tried to get up to walk across the street.  I could not stand at all.  I leaned against a metal light pole for balance.  The parking lot was as far beyond my ability at the moment as flying to the moon.  I sat and called again.  “Pick me up from the Turnpike,” I said, “across from Bruner’s.  I can’t make it to the parking lot.”  The concern was evident in Janice’s voice but she followed with no questions, no comment.  She said, “I am coming.”

I was no help loading the bike.  Janice put it in the back of the station wagon by herself.  This in itself felt unnatural to sit while Janice took care of my bike.  I sat in the passenger seat feeling very strange.  I soon felt the nausea rising in my throat.  I opened the door and saw my lunch and breakfast spread before me on the curb in a slurry of brown liquid.  “Feeding the birds” was what the coach called it a thousand years ago in track.  I thought of the phrase as a leaned out waiting for the next wave to hit.  Janice waited.  I heaved until there was nothing left but wrenching spasms.  “What can I do?” she asked.  The nausea began to wane.  “I want to go home.”  I asked for a plastic bag to use if the nausea came back on the way. 

As we drove the few miles to the house, I did need the bag several times.  It was the violent kind of sickness that feels as if you are dying even when you are not.  I know that it eventually goes away when the stomach is completely empty.  I am aware that dizziness can cause vomiting and stomach upsets that result in vomiting can cause dizziness.  I was wondering which was the cause and which the effect.

Once back at our house, I staggered in holding onto anything handy and banging from one wall to another.  We had to decide our next move, “wait and see,” “ go to the ER,” or “call the family doctor’s Saturday walk-in clinic,” were on the table.  Janice opted for the last.  After a brief description of symptoms, the response from the doctor’s office was quick and emphatic.  Go to the ER now.  So I changed out of my bike clothes and we went.  I vomited again at the door to the ER.  They brought a wheelchair for me.  I wondered if I would be treated by people in hazmat suits as a potential ebola case.  I was asked if I had been in West Africa and my answer of no was sufficient I suppose.  People treating me just wore normal latex gloves.

We spent most of the afternoon and evening in the ER being evaluated.  I gave my medical history (very limited), allergies (none), and medications (a vitamin) several times.  I got some curious comments that I was the easiest patient all day because the list was so short.  I think the ER doctor came to the correct diagnosis pretty quickly but he still evaluated the other more serious possibilities of stroke and cancer.  I had a CAT scan which came back normal.  The ER doctor described to me what he thought it was.  He said that crystals (called canilyths) had formed in my inner ear and when they broke loose from the upper wall of the cochlea or the vestibule, they came to rest on the sensitive nerves involved in balance and perception of motion.  The dizziness was the manifestation of false signals to the nerves.  The ER doctor said he expected my dizziness to subside rather quickly.  He tried a maneuver of rotating my head from one side to the other.  The objective he said might reposition the crystals into the less sensitive anterior portion of the cochlea.  He said it might help.  We tried a test walk down the hall.  I failed.   He recommended admission for overnight observation and probably an MRI the next day.  This was just good careful medicine I think.  He was pretty sure of the diagnosis, just not too confident in the success of the recommended treatment.  So I spent the night in the hospital.  I had a dose of AntiVert (meclizine) in the ER.  A side effect is drowsiness.  I slept well in the hospital.

I got an IV the next day for hydration.  I thought this was curious.  The nurse’s explanation was not particularly satisfying but eventually it became clear from reading the internet that liquid levels in the ear can be affected by dehydration.  My weight that I reported in giving my medical history was more that 10 pounds greater than what they measured in the hospital.  (It must be the calibration of the scales. My home reading is still read the same.)  Anyway I got a saline drip all day.  There is nothing like being attached to a pole to make you feel seriously ill.  About 11:30, I went for an MRI.  About 1:30 the hospital doctor (different doctor from the ER doctor) came by to tell me I was free to go.  The MRI came back normal.  He gave me a name for the diagnosis, benign paroxysmal positional vertigo or BPPV.  He prescribed AntiVert and physical therapy where presumably they will do the head maneuvers again to help reposition my sloshing crystals.   He told me not to drive.  He recommended a cane to help with balance.

This last is funny because Janice and I have been discussing with our friends how to get parents to agree to stop driving and how we will handle it ourselves.  In those discussions, we have been noble about how well we would handle it.  I envisioned this scene in 20 or so years with my Google self-driving car already in the driveway.  It is ironic, that I am facing the possibility of never driving again at the ripe old age of 62.  The cane is just as ironic.  I pleaded with my mother, whose balance became poor in old age, to use a walker or a can.  Her pride kept her from doing it.  And, she fell repeatedly.  Now, I will be carrying either the cane with me or the hyprocrisy of leaving it behind. 

I had BPPV googled within seconds of the doctor’s departure from the room.  It is common and frequently, as in my case, idiopathic, meaning that there is no obvious cause for the onset of symptoms.  The consequences are wide ranging.  It can be serious enough to be considered a permanent disability.  Sometimes it goes away, sometimes it recurs intermittently, sometimes it is permanent and totally debilitating.  My outcome is still unclear.  My symptoms on day two after onset are not too severe.  I feel some dizziness when standing.  When reading a book or the screen of the computer, the words jiggle.  It is tiring to keep the words in focus.   I have a cane that was used as a decoration in an umbrella stand at my side but I don’t use it.

I am at the point of comparing before and after.  Before, I was aware that my balance and reflexes were good, much better than average.  I was quick, agile, and confident in my sense of balance.   I bought a fine racing bicycle at age 60, a world-class water ski boat at age 62 as a testament to my enjoyment of sports requiring balance, reflexes, and strength.  I climbed ladders, stood on chairs, and generally took risks that would not be wise for a person of less ability of any age.  Now, I am a completely different person.

What will I do now?  As you might guess, there is an online forum for those who have BPPV.  I am a sucker for reading such things.  I will probably waste a few hours a day there for a while until it]the questions and answers become repetitious.  I am wondering what I can do for exercise.  I may be able to walk eventually, possibly jog.  These two activities have been approaching becoming the same exercise for a while now anyway.  My current health issue may bring them closer together.  I am worried about finishing the cabinets in the kitchen.  Shop safety depends on balance too.  I am not sure if I can work safely.   I will have to give it some thought and give my body some time to adapt.  Maybe, I will be one of the lucky ones whose symptoms go away.  I don’t know.


I have a doctor’s appointment at 3:00 with an old friend and physician.  It will be an interesting discussion.

Monday, December 8, 2014

Impact of aging on the abililty to maintain a sufficient mental image of mathematical abstractions while working out solution

Mathematics is largely a process of symbolic abstraction.  That is, we create symbols that abstract a physical thing or process into a character whose properties we can work with on the page.  The mental thing we do with the symbol is to remember on the surface of the brain somehow what the symbol means physically.  That is the abstraction from physical thing to symbol.  At the simplest level, a mathematical symbol represents a single scalar value.  It is either known or unknown.  A physical thing is governed by laws that relate this quantity to other quantities.   Abstraction implies that we know not only what the quantity represents but also all the physical laws that can be applied to it  Abstraction is not fundamentally a difficult concept to grasp but the process of abstraction does scale up to some of the most profound and difficult concepts man has ever recognized.  It was a Newton's profound realization that force and acceleration were proportional to mass and that given a known force over time, a straightforward, purely mathematical operation could predict velocity and position for the same time period.

So what does this have to do with aging?  As I have gotten older, I find that the number of things available for ready recall on the very surface of my brain has gone down a bit.   It is hard to say how much but definitely down and not up.  Solving a mathematical problem, I have to maintain a large number of abstractions and equations to see how they might be manipulated algebraically to effect a solution.  Of course, it is not useful to write down an equation that is more than a few lines long so it is always necessary as problems become more involved to abstract the symbols even further to compress the representation into a manageable size equation. The more complex the problem, the more complex the symbols become, and the more of the problem has to be carried in the head rather than written out on the page.  Herein lies the problem.  There is less space up there than there used to be.   Another problem is that one has to pick a direction to try from the available directions to move the current problem closer to a useful form.  It is like being in a maze and having many directions to choose,  I have to make a good guess since exhaustively trying every possible thing would take far too long.  The instinct for doing this is born of experience which I have but also the ability to play it out a few steps ahead like a chess master does when considering a range of moves.  This takes some serious memory skills to visualize the steps very rapidly without writing anything down.  I am pretty sure I would be a poorer chess player now than when I was younger just as a I am poorer at mathematical problem solving

I used to say my IQ or problem solving ability was limited by the size of the piece of paper I had to work things out on and in fact some of my most useful derivations were written out on blotter size quadrille ruled sheets.  I also said it was related to the size of the desk to open up books I needed for reference.  Now the limitation is similar but is internal.

The same difficulty is not present if I simply read someone else's work.  The author has reduced the solution to a linear, step-by-step process.  New abstractions are generally introduced at the point that are needed with appropriate references and explanations.  One can focus just on a single equation at a time to follow along.  One does not need to have the encyclopedia of mathematics immediately available from within memory to see how a problem has been worked out.  Taking things one item at a time requires less mental surface area.

The wheel problem is getting more complicated with each refinement of the derivation with additional terms in the equations and additional coupling between equations.  I am still able to solve the equations but it goes slowly and I have gone back to discover where I missed something.  I am copying equations over on a new piece of paper to renew the terms in the mental image of the equation.

As some one observed, "Getting old is not for sissies."

The status of the wheel problem

For those who are checking this blog daily, here is the news.  I have not stopped working on the wheel problem but I sort of gave up on the math blog.  Let me offer two reasons.  Blogger is not friendly to equations and I cannot write a math blog without equations.  It is not impossible to include equations in Blogger but it is awkward.  And the second reason, no one is apparently reading the blog so there is little incentive to overcome Blogger's mathematical limitations.  I continue to work on the writeup in Word.  Word is a familiar writing environment for me and, with Mathtype, it is relatively friendly to equations and figures.  If you are interested in seeing the current state of the solution in equation form, leave me a comment and we will work something out.  From now on, I shall just talk about the algorithm in general terms without equations.  Some people may be more comfortable with this approach anyway.

The current state of the wheel model is that I found by comparison to experimental data that the model does not predict actual wheels very closely on the single spoke perturbation test.  Also, as the tension in the spokes increases, the comparison gets worse.  As a first guess, I have added hoop stress to the model following the general approach for including axial buckling in an Euler-Bernoulli beam model to the wheel model.  The result is that the hoop stress term generally improves the axial comparison but has almost no effect on the radial results.  I find this puzzling but have reviewed the equations to the point that I think that they are right.  Right in the sense that they a correctly implement the hoop stress that I intended into the axial and radial displacement.  The problem is not a programming error or error in the algebra but is the actual consequence of the what I set out to do.  So I am looking for a new direction.  I think the problem lies instead with the fundamental equations.  I am current working to add cross-bending stiffnesss to the wheel's stiffness matrix.  I don't have a compelling physical reason for this term.  I argued that it was zero in the original derivation because the rim is a slender beam and that the spokes are thus must be attached fairly near the centroid of bending.  The cross bending stiffness term arises when force is not applied at the centroid.  With a symmetric wheel (symmetric about z=0), these cross bending terms are mathematically zero.  I can argue now that perhaps the spokes are not at the bending centroid and thus the term should be considered.  I have not performed an analysis of the rim to see if this idea has physical merit.  I just observed that the shape of the radial  deflection mirrors the shape of the axial deflection and that the cross-bending stiffness would give a mechanism for that dependence to appear proportionately in the radial bending equation.   I have the algebra roughed out for the solution to this model but have not put it into the Word document.  I have also not programmed the new equations.  The algebra is getting more and more tedious which is the subject of my next post.  I am still making sure it is right.





Thursday, October 31, 2013

Buckling of a spoked wheel

I thought my model was pretty close to right so I thought that it should predict a critical spoke stress for buckling or the condition when you turn a nipple and the wheel spontaneously assumes a warped taco shape.  

The method I used was the classic stored energy method.  I calculated the stored energy and tried to take the second derivatives with respect to all the displacements and solve for a maximum.  The result was no maximum, no unstable mode, no critical stress.  It was always stable.  I know this is wrong so the model must be wrong.  This got me to thinking and reading the buckling chapter in Bauchau and Craig and reading a classic book, Timoshenko's Theory of Elastic Stability (that I was able to get off Amazon for something like $50!)  I realized that in my transverse bending models I did not consider the term for longitudinal stress that leads to buckling so I am spending a bit of time putting the azimuthal compression term in the differential equation.  This is going to make a huge difference in the solution.  Timoshenko solves the radial buckling mode but not with an elastic restoring force like the spokes.  I don't know if the revised equation with the axial term will be solvable or not.  The original equations work for low levels of azimuthal stress so it may not affect the truing control problem.

This is still fun.

Sunday, October 6, 2013

The control problem is solved

I have implemented a one step control algorithm. AND IT WORKS. This is the simplest version of Model Predictive Control. One step means that given an out of true wheel, the algorithm computes a change in spoke position to bring the wheel back to fully true in one step. The algorithm solves a least squares minimization of a performance index. The performance index for the minimization includes the the tension in each spoke, the axial and radial displacements at each spoke, and the number of turns of the spokes. Including the number of turns in the performance index means that the minimization does not produce an exactly zero error solution of the problem. There is a balance between turning the spokes as little as possible and getting the trueness as close as possible. We say a balance between control effort and control error. Control engineers have found that this approach adds stability to the process in contrast a mathematical approach that tries to solve for an exact match of the setpoints. The control error can be made very small by increasing the weight on the displacement errors with respect to the number of turns. I raised the weight on the errors pretty high to ensure that the one step algorithm would sufficiently close.

I have run several test cases with different out-of-true initial conditions (by entering unequal spoke nipple positions so far). The control solution has solved them all. What I mean is that if I arbitrarily set all the spokes nipple at 10 except for the first one which I set at 15 then compute a set of displacements and tensions in that configuration. I then input that result that to the control algorithm to compute how much to change the spokes to bring it back to true. The algorithm calculates that I need to turn the nipple #1 about -5 turns to get back to true. Perfect. It is a little less because of the inclusion of the control inputs in the performance index.

What this test does is mainly to check my implementation of the control algorithm. It is like when you learned long division in grammar school. After you got an answer, you multiplied your answer by the divisor to see if you got back the number you started with. The division test checks the process of dividing is correct but does nothing to show that the numbers you were working with were right. In the analogy, the wheel model is like the dividend (then number you are dividing into), the computation of the control matrix is like the long division (this analogy is really good here. The computation of the control algorithm is really very much a kind of generalized division.) Checking the number of turns against the amount I dialed in as the error in the spoke initil position is like multiplying the answer and the divisor. The test checks the process by which I computed the control matrix but does not check that the wheel model is right or that the control algorithm is robust to modeling errors. Lets address the robustness first.

Robustness means that the algorithm gets the wheel to true despite a difference between the way the wheel actually responds and the way my model used in the control predicts it. The differences fall into two categories. First is modeling error. Modeling error could be an error in a parameter used in the model, say for example the bending moment of inertia of the rim is off. (I picked this one because I don't have a good way to get this parameter for any given rim. Rim shapes are complicated and the details of the design are hidden inside the rim and I don't have the data nor can I easily measure the data for calculating the bending moments.) It could be an approximation in the math (I linearized the calculation of spoke length for example). It could be something I did not model, like the effect of the spoke hole on the bending stiffness. It could be a clump of glue on the rim that I did not clean off. This class of errors is repeatable and constant in the model. The other type of error is random error. Random error is typically associated with the measurement device. For example, you have to estimate where the dial on the tension meter is pointing between two lines. You can't just read the exact number. The measured value is the sum of the true value plus a random number that has something to do with your ability to see a fractional distance.

Random error could also be some random external influence on the process that we are not measuring or accounting for. Stiction in the spoke nipples is an example of this. By stiction, I mean that when you turn a spoke a small amount the nipple doesn't turn on the threads at first. It just twists the spoke. You go farther and the suddenly the torsional spring force of the spoke is greater than the static friction of the thread and the spoke unwinds into the nipple. There are wheel building techniques to combat this, like turning the nipple past the desired position then backing off just the amount that the spoke is twisted. (Bladed spokes are great for showing the amount of twist in the spoke. Round spokes are harder.) Despite efforts to minimize this effect, the amount of deviation between the number of turns you intended and the actual position of the thread in the spoke is a random variable. The truing algorithm needs to be robust to these errors. Robust means that the wheel converges on true closely enough despite the errors. Failure of the algorithm would be if the errors increase rather than decrease, the errors diminish to a constant value that is not low enough or that the iterations of the wheel algorithm just bounce around randomly but never small enough to be satisfactory. We want the process to be robust. Experience in controls suggest that a process that an iterative process that takes a couple of partial steps to bring the wheel into true is likely to be more robust than the one step routine that I initially tried.

My next step of development will be to test the current control algorithm with modeling errors and random errors. First, I will separate the modeling of the controls from the simulated wheel model so I can incorporate the difference between them. I will create test cases with parametric errors. (A parametric error is a modeling error due to an error in a parameter. I won't be attempting to check for unmodeled effects or approximations errors.) For example, I will double the bending moment of inertia in the control model and try the same out-of-true problems I tried when the model and predictor were the same. I will be comparing the sum of residuals from the cases above where the control and simulated wheel are the same with the cases with the parametric errors.

Next I will try cases that add a random variable to the measurements and to the spoke turns. The idea is to see if the uncertainty in reading the gauges in the truing stand are too large to get the wheel to a true state.

The development after that will be to implement a multi-step control algorithm. I suspect that I will find that I want the control to be more stable so I plan to upgrade to a multi-step model predictive control algorithm. Model predictive control is very easy to implement on this problem. I shall try to put it in.

Testing the model. All the control logic is useless if the model is not sufficiently accurate. To test for modeling errors are two-fold, comparison to other calculations and comparison to experimental data. Jobst Brandt published the total results for cases in which his finite element wheel model is subjected to external loads (vertical, axial and azimuthal loads) for. He also gave the wheel modeling parameters that he used. If his model and my model compare well, it is a pretty strong case that both are right. If they differ then one (or both) of us is wrong. Can't tell for sure. I have a wheel truing stand with dial indicators and tension meter to measure the wheel's variables to gather data for experimental comparisons. So I am working on it. It's fun.














Wednesday, September 25, 2013

Wheel model is solved

I have got a solvable set of equations for the forward problem. Forward, in my mind, is to find displacements and spoke tension given the spoke nipple position. The reverse problem involves solving for the number of spoke turns to bring the wheel into true and equally tensioned spokes given the current measured displacements and spoke tensions. The reverse problem is the control problem. Getting the reverse problem with the forward in hand is far easier than the forward problem. The forward math problem is just about finished. I need to do a lot of checking of the results before I declare it a really finished. I had some problems getting as many independent equations as unknowns. Many of the equations I could think of were not independent. I had to test for independence numerically because it was not evident from just looking at the equation. I would have expected that the equilibrium constraints in three dimensions of force and six of torque would be independent but they are not, at least not numerically using, the rank test. It is a rainy day so I will be stuck inside. I will be working today on checking the model and doing test calculations. Perhaps some plots of results would be easy enough to load. I have given up on putting equations in the blo