Hi,
My team and I are in the process of finalizing our "voice-controlled electric-powered wheelchair". Basically, we are using two wiper motors to rotate the rear wheels. The wheelchair's steering and movement only depend on the rear wheels, for example, when moving to the left, only the right rear wheel will rotate; and since the left rear wheel remains stationary, the tendency for the wheelchair is to move towards the left. We haven't included the front wheels for the directional control.
Our wheelchair is also equipped with ultrasonic sensors which are used for obstacle detection. The wheelchair should stop whenever an object within 1 foot range is detected. Furthermore, we are using a voice recognition module that is responsible for controlling the wheelchair's direction. We have "trained" the module to follow five commands, namely, "left", "right", "forward", "stop" and "reverse".
So far we were able to build a somehow working prototype, but we have encountered some problems which may be caused by the algorithm of our code:
- The ultrasonic sensors return distance values accurately but they fail to let the main microcontroller module to immediately stop the wheelchair (all motor drivers won't switch to LOW quickly) once an object is detected within 1 foot range.
- The recognition rate of the module varies. Sometimes it will catch your voice fast enough, then there are times when it needs about 5 repetitions before it catches the spoken command. We have already used a noise-cancelling mic to reduce the noise from the environment and improve the recognition rate, yet the same thing happens.
- Let's say an object is already detected by a front-side sensor while the wheelchair is stationary, the wheelchair should not follow a "forward" command. The problem is that when commanding a "reverse", the wheelchair will also not follow.
Please let us know what modifications we should do with the code. Your help is much appreciated. Thanks and more power.
**Attached below is the source code
Final Protoype Code V2.txt (8.03 KB)