wheel chair obstacle avoidance

Hey forum,

my cousin has MS and uses an electric wheel chair when he's at home. I was talking to his brother today an I guess he's not the best navigator at the house and his walls are showing the pain.

I'd like to surprise him with an obstacle avoidance feature when i go home for the holidays.

my plan is to use some ultrasonic sensors. 4 total, one on each corner

and possibly simple interface to toggle the system on and off.

the chair is an invacare Pronto M61 w/Sure Step & Standard Pwr. Elev. Seat

the joystick looks like this:

I'm searching the classifieds for a used one that i can test out here in cali so it'll be pretty plug and play when i go home.

my goals are:
safe
obstacle avoidance
be able to turn the system off

im not sure the best way to accomplish this. Would it be best to hack the donor controller, cut the traces of the joystick and put the arduino in line with that?

thanks for the help

scott_fx:
im not sure the best way to accomplish this. Would it be best to hack the donor controller, cut the traces of the joystick and put the arduino in line with that?

Assuming a successfully hacked control system, any automatic system that overrides manual control will need to be stringently tested. Even if it only stops the chair from moving, your cousin will never use it if false posistives or gliches happen more than once in a very long while.

Instead, I suggest a clearance indication system. Like having an LED bar graph for each sensor, with each bar representing a small distance like a quarter inch or a centimeter. The number of lit bars would be the minimum clear distance in the direction of the sensor. That way your cousin would only need to look in one place to know how much clearance he around his chair.

Although, if you really think halting the chair is necessary you could also add some microswitchs to use as bump sensors. This is the same type of system found on most robot vaccums to cause them to backup or turn when they hit a solid object. If you go this route though, the larger mass and higher speeds will probably mean you'll have to have at least some shock absorbtion (and not for the switches' sakes). However that combined with momementarily stoping the chair chould be enough to avoid noticable dents and scuffs.

Sounds like a useful project. I can see there is a definite problem knowing
how far the various edges of the wheelchair are from the walls, especially
to the rear and sides.

Rather than completely hacking the wheelchair, which sounds like a serious
amount of work, possibly as an interim step you might develop a system
using 4+ sonars, arranged around the chair, with each giving an auditory
output when the distance measure is below some threshold, like 8-10 inches.
Each sonar could have a distinctive tone signal output. IE, sonars ->
Arduino [signal processing -> beeper.

In general, only one would be signalling at a time. It would help if you
had a means to enable the sonars only when the wheelchair was actually
moving.

thanks for the suggestions guys. I guess i should first figure out why he's hitting the wall. if it's just bad driving, or if it's an issue with him manipulating the controls... or if it's an issue with him not being able to sense the space needed to maneuver

been emailing with my cousin (not the one in the wheelchair) asked him why his brother was running into things. here is his response:

The controls on the wheelchair is a joystick that is very sensitive an not too user friendly. I have tried to use it and it jerks around when you start to move the chair. The problem is when you move the joystick slightly the chair does not move so you got to lean more on the joystick and by that time the motor catches up and takes off. One of the main contributing factors is that the two front tires rotate 360 degrees. So it depends on which direction those tires are facing which determines the amount of force needed to get the chair moving.

You may want to contact the chair maker and see if the controls can be dampened (I would think this would be available in commercial chairs). In the mean time you might make a soft bumper setup for the chair using the foam swimming tubes often sold in the dollar stores.

good idea.

was also thinking about retrofitting the chair with these:


dunno if they need to air filled... but i think he really just uses that one around the house

My mother has a similar chair. I've never found a problem like that, provided the power level is set sensibly for indoor use. I would have it looked over, to make sure that it is working correctly.

Scott,

The hitting-wall problem your cousin has sounds like a common effect of the ridiculous way that stock wheelchairs are programmed - delays going into a turn, and even worse, delays stopping a turn. You can find a very extensive discussion of this and explanation of how to re-program a chair at: http://www.wheelchairdriver.com/. There is also a lively discussion of all things powered-wheelchair, with more technical information and expertise than you'll find anywhere else, at the forums of that site.

Interfacing proximity sensors with the wheelchair controller will probably not be simple, and with good chair programming may not even be needed. The controller communicates by a variant of the CANbus protocol, but the actual protocol and messages are proprietary and the manufacturers just don't give out that information. The controller manufacturer may have a switch-interface module, or other usable external interface module, available, but I am sure that you will faint when you see the price. You can also physically hack into the joystick pot connections within the controller, BUT that will take careful thinking and engineering to avoid introducing safety problems (as well as noise).

I think that the first step to helping your cousin is to get his chair programmed so that it turns without delay and stops turning without delay. Even that is a non-trivial task as the controller manufacturers will almost never sell the OEM-level programmer needed to anyone but a wheelchair manufacturer, and the dealer-level programmers are locked out of the parameters that you need to adjust. For some controllers, people on the WheelchairDriver forums have found ways to purchase the needed hardware/software or have found workarounds. You might even find someone living near you or your cousin who might be able to help.

When you go to WheelchairDriver, do try to not take offense at the sometimes polemical language used. For us, or for our loved ones, the wheelchair should be a massively enabling and liberating device and there is a lot of resentment of what many see as the denigrating and stick-in-the-mud attitudes of a wheelchair industry that is driven more by what insurance providers say than by good engineering. I loudly applaud your intent to help your cousin, and hope that you will take the time to absorb the collective experience of some very committed and imaginative folks at WheelchairDriver, as well as their willingness to help others.

Ciao,
Lenny Robbins
(Siena, Italia, formerly from Lansing, MI USA)
father of Rachele, tetraplegic and non-verbal because of dystonic cerebral palsy

wow lenny. thank you so much for that information. i'm over on the site right now and plan on doing a ton more reading about this.

funny thing, when talking to my cousin about this project. i told him that it should be relatively easy. BOY! was i wrong!