use arduino to help my daughter

Grumpy_Mike:

.also this tilt sensor looks ok ? Tilt Sensor - AT407 - SEN-10289 - SparkFun Electronics

I have used these and they are notorious for not always making contact.
I know it is not politically correct but I would go for a mercury tilt switch they are much more reliable, you can still buy them legitimately although you can't sell them in some classes of equipment. However they are still permitted to be sold in medical equipment.

However, I do have my doubts over the tilt switch solution.

Can you kindly elaborate on the doubts you have on the tilt switch solution? Is it because of the switch's inconsistency for not making contact?

My own reservation is that tilt switches work well in smooth mechanical systems but I am unsure how they will behave with the relatively chaotic three dimensional movement of a foot. However a test would be so easy that it seems worth a go.

I was hoping to avoid mercury switches as I see closures due to erratic foot movement as more of a problem than failures to close.

My thought is that an ideal system would generate no false positives and might have a false negative rate of perhaps 75% i.e. the child only gets warned about 1 in 4 times the behaviour occurs. A high false negative rate seems like a good thing to me as otherwise the child might become dependent on the device and not learn self control.

Maybe the solution will boil down to a battery, tilt switch, timer and motor (i.e. no Arduino). Thought that would still leave the serious problem of how to fit it in a shoe.

What are your doubts about the tilt switch idea Mike?

radman:
What are your doubts about the tilt switch idea Mike?

About the same as yours I would say - in a shoe, the thing is going to rattle furiously back and forth in a quasi-random (or more correctly, resonant) fashion such as to give no usable data whatsoever.

It does not take inertia and damping into account. It will be useless. Accelerometers on the other hand, have no inertia and give a (relatively) faithful assessment of the movement.

I was considering the thought that the ball in the tilt switch would be rattling back and forth furiously while walking...wouldn't some lines of code remediate that - stating that if the switch only is activated for more than x amount of seconds then trigger the motor? Perhaps a debounce?

Also I was thinking of orienting the switch on the shoe in such a way that when the foot is a steep angle while she's on tiptoes, the orientation of the switch will be 90deg. vertical so that the ball will stay put due to gravity, thus turning the switch on. Then the code will detect how long the switch is on, thus triggering the vibration.

Naturally if the switch is oriented in that offset angle/manner, the ball will fall back thus turning the switch off - and this is when the foot is walking at a normal gait where the angle of the foot relative to the ground is not as high when she is on tiptoes. Also the ball in the switch would be moving constantly back and forth due to the heel-toe motion in a normal walk, not staying put long enough to turn the switch threshold on (as defined in code)

Does that sound plausible?

Please keep the ideas and thoughts coming, I truly appreciate the brainstorming going on as it will help formulate an efficient a solution as possible.

Almost forgot to ask, what might be a good simple accelerometer just in case the tilt sensor idea does not pan out? I would think I only need to capture 1 axis as I'm only interested to read the elevation/angle, yes?

Back to some of the previous suggestions (this is a very interesting thread, BTW), I think you would want to prototype something with a 3-axis accelerometer, collect data for both 'flat' and 'toe' walking and see if you can find some patterns. Just trying to visualize it, I can imagine you will get acceleration (in a combination of axes) as the heel comes off the ground that you won't get (or to a lesser degree) if she is always on her toes.

Here is an Instructable for graphing acclerometer/gyro data in real time (uses Processing, a development environment not unlike the Arduino IDE...in fact the Arduino IDE was based on it), which would go a long way towards helping identify patterns (vs. just looking at raw data, which might be near impossible).

manoktot:
Can you kindly elaborate on the doubts you have on the tilt switch solution? Is it because of the switch's inconsistency for not making contact?

I think Paul__B summed it up correctly.

rwiens:
which would go a long way towards helping identify patterns (vs. just looking at raw data, which might be near impossible).

It would but as I said previously template matching is a difficult and inexact process especially on such a small processor with little memory as an Arduino.

It would but as I said previously template matching is a difficult and inexact process especially on such a small processor with little memory as an Arduino.

I guess I was thinking there might be a few very basic and obvious patterns that you could isolate and simply look for those. For instance, if heel acceleration was purely in the Z axis, look for that (indicating a heel lift) and if it doesn't happen in the opposite direction within some time period (indicating the heel going back to the floor) then alarm. I realize that is a gross oversimplification but you get the idea.

Having said that, I have very little experience with accelerometers so I would definitely defer to anyone with more.

If her walking on toes doesn't bother her, why does it bother you?
If it's only because her peers tease her for it, then by insisting that the way she walks is "wrong", you're really letting those peers make the rules.

When she gets to the age at which she goes out in the world, she can just wear high-heeled shoes. If she doesn't outgrow toe-walking first, that is.

odometer:
If her walking on toes doesn't bother her, why does it bother you?
If it's only because her peers tease her for it, then by insisting that the way she walks is "wrong", you're really letting those peers make the rules.

When she gets to the age at which she goes out in the world, she can just wear high-heeled shoes. If she doesn't outgrow toe-walking first, that is.

Not only teasing. It will also lead to bad posture and back problems if uncorrected.

Rwiens - thank you for the link. I'll be looking into it. It's interesting how the author used the accelerometer and gyro functions to calculate degrees/angle.

The objections from Grumpy_Mike and Paul__B to the tilt switch solution are based on the view that the signal from the switch may bounce around too much to give meaningful data.

I admit I am unsure how a tilt switch would perform in this application, but looking at the video I still feel it would work. Basically I think we are in a suck-it-and-see situation and a lot might depend on the actual switch selected.

How about this "change-over make before break" tilt switch?
http://docs-europe.electrocomponents.com/webdocs/107c/0900766b8107c8be.pdf
It might permit easy removal of a lot of spurious vibration contact breaks.

Mike you also mentioned "Force Sensors" do you have any specific devices in mind that might be suitable?

Does everyboy agree that;

  • Zero false positives are requred?
  • A high rate of false negatives, say 75%, is desirable?

manoktot:
Not only teasing. It will also lead to bad posture and back problems if uncorrected.

Like walking in high heels.

Mike, sorry I had not realised that you had already refreneced a force sensor.

This force sensor is very flat
https://www.sparkfun.com/products/9375

I would still put my money on either the sensors or the switches because I think there is a better chance of being able to make something small that might not need an Arduino.

Anyhow, just wanted to inform that I've put in my 1st sparkfun order which consists of an Uno, resistor pack, protoshield with miniboard (so I can mount the whole uno board on the leg for testing)...and the tilt switch. I suppose I'll start it off simple, see how the tilt switch solution works, if not, place another sparkfun order for other sensors (force, flex, etc).... Wish me luck!

I suppose I'll start it off simple

That is always the way to go. If you have difficulties post your code and I am sure people will help out. If the film of your daughter is typical (i.e. not exaggerated for the camera) then I am fairly sure a tilt switch will do the job. I cannot promise to keep up as I have a lot on at the moment but I have ordered a tilt switch myself to mess around with.

Although I have not taken to wearing high heels I have been walking around on tip-toe in different footware. Once I get to boots with ankle support and a steel insole it is not possible. Would a second prong of attack on the problem not be to get your daughter shoes/boots that have very firm soles? Then rather than having to remember not to walk on tip-toe she would have to make an effort to do it. In winter solid shoes/boots would not look out of place.

radman:

I suppose I'll start it off simple

That is always the way to go. If you have difficulties post your code and I am sure people will help out. If the film of your daughter is typical (i.e. not exaggerated for the camera) then I am fairly sure a tilt switch will do the job. I cannot promise to keep up as I have a lot on at the moment but I have ordered a tilt switch myself to mess around with.

Although I have not taken to wearing high heels I have been walking around on tip-toe in different footware. Once I get to boots with ankle support and a steel insole it is not possible. Would a second prong of attack on the problem not be to get your daughter shoes/boots that have very firm soles? Then rather than having to remember not to walk on tip-toe she would have to make an effort to do it. In winter solid shoes/boots would not look out of place.

I haven't seen school shoes for little girls that have those solid soles. Also, we live in a tropical country so winter shoes would most probably look out of place :slight_smile: Thanks for also getting a switch, hopefully you can keep the thread updated with your findings on it too. Mine is due to arrive 2nd week of November, takes a while for online orders to get here.

I'm struggling to see how a tilt switch would work on a moving foot - I think you might find it difficult to eliminate all the transients caused by movement of the foot. The pressure based approach would seem inherently much more reliable.

I'm struggling to see how a tilt switch would work on a moving foot - I think you might find it difficult to eliminate all the transients caused by movement of the foot. The pressure based approach would seem inherently much more reliable.

The idea is that 25% of the time when the child walks on her toes she will do so for X seconds or more without generating any spurious transients. I am hoping that X will be 5-10s or more. If she does that she will get a reminder, probably a vibration, to stop the habit.

If transients occur during the other 75% of toe-walking incidents that is fine, no reminder will be given. You don't want to remind the child every time, you just want to give them a nudge now and again, otherwise they will just depend on the system and will not think for themselves.

Of course this theory may well crash and burn when tested.

The pressure based approach is a good one, but I think it would be harder to turn into something small and stand alone (i.e. no Arduino).

Okay, made a bit of progress.
Despite the veils between the realms thinning I was unable to obtain a child on which to experiment ]:smiley:

As a result I had to conduct a test on myself. There were some strange looks, but no comments, as I padded around barefoot with a buzzing multimeter in my hand and a mercury switch stuck to my heel with a big blob of blu tack.

The results were reasonably encouraging. Unfortunately it was not possible to walk on tip toe without generating transients as I had hoped, however it seemed as if I could obtain two distinct and simple signatures.

For normal walking the multimeter buzzed more or less continuously (i.e. tilt switch contact made) with brief gaps when my foot impacted on the ground.

For walking on toes the inverse appeared to happen. The multimeter was silent more or less continuously (i.e. tilt switch contact broken) with brief buzzes when my foot impacted on the ground.

The mercury switch I managed to get hold of is sensitive in 2D so the 'ball' type switch I have ordered (currently out of stock) may in fact be better.

This was a very quick test and I am not sure how clean the two signatures are but I think it should be possible to tell them apart in software. The results for a child will be different. A child's smaller feet and shorter legs will move with a different rhythm and their lesser weight will result in less jarring on foot impact.

The system will be quite sensitive to getting the angle of the switch correct I think. More experimentation required.