Detect opening mouth

I know this is an absurd question, do anyone know how to detect an opening mouth and home in a device (say, an automatic spoon) into it?

My sister is severely disabled and feeding her is no simple task. She can only eat grinded (baby) food and she can only take bites roughly size of a pill. It takes ~2 hours to feed a meal. Feeding her 4 times a day, 24/7, is just not fun.

While she is weak, she is mentally capable and I am making a robotic hand for her. She will be able to press buttons,but, I would like to make a device so that:

  • it can pick baby food from her bowl using a special designed spoon (by ceramic 3d printing)
  • recognize and home in the spoon to her mouth
  • release the food, rinse and repeat

I know somebody will suggest an EMG controlled arm, but her elbow cannot bend. So even if I can make a robotic hand for her she will not be able to bend her arms and use a spoon.

Now I have trouble in sensing an opening mouth (so that the spoon will not poke her nose). Seems that ultrasonic, IR sensor, photoresistors, etc is not suitable. The best best is facial recognition which is beyond the capacity of Arduino. Anyone have ideas in detecting an opening mouth?

If her mouth is in the same position, you can do a distance measurement. For example ultrasonic.
Can you use water with the baby food and feed it through a tube ?
I have seen free computer software that recognizes a blink of an eye (for a mouse click), but I don't know the name of that program anymore, but that is too complex for the Arduino by far.

you might detect a variation in humidity (e.g. DHT22 sensor) from the breath in/out cycle. If positioned well it should be able to ignore nasal breathing.

If she can produce sound at different frequencies /pitch you could also consider do frequency analysis (FFT) to steer commands.

not sure if it is possible, but if you had a button/activator at her chin. she could open her mouth, there by depressing the button, and you could simply ensure mechanically that the spoon was positioned above the button. then when the button is released it slowly withdraws the spoon.

If she can press buttons, starting and stopping the spoon is easy, tie it to a button.
Locating her mouth is much more difficult assuming her head can move and be in different positions.
Can her head be in different positions?

Thanks for everyone's input.

Her head can move slightly, and she HATES drinking nutrient liquids.
She can talk, blink, and issue clear voice commands.
But after we tried a bit of role playing, we found that steering spoon by voice is, well, very funny :expressionless:

It seems that it is very difficult to home in a spoon to her mouth without using any active signal wearing on her head. She wears glasses and she is willing to wear a small hairclip.
Can small NIB magnets serve as an active signal? And use additional sensor (like humidity sensor) for accurate homing?

I think you need more processing power than an Arduino. For example a computer with the Kinect and Arduino for control.
Instead of magnetic markers, I would prefer IR markers. Positioning with IR has been around since 10 or 20 years.

There are not so many possibilities for the Arduino. Did you try the EasyVR 2.0 shield for speech recognition ?

To find the position of something has many options (IR, radar, contactless temperature, ultrasonic, attach sensors to her head or glasses, and so on). But you really hit a tough problem if you want to detect opening her mouth.

If you want to continue to make something with the Arduino, you can start with something low-tech and obvious. Like a switch or a puff/suck/switch-tube. Or a bunch of switches connected to feelers.
What if she can grab a puff/suck/switch-tube and the tube itself is connected to position sensors. So the tube itself is used for the position.