Advise sought on pole-less Segway thing startup sequence.


I am bitten by the Arduino bugg making some controls for a friend's RC sub, and I am playing with the idea of a diy Segway / ridable balancing robot. Now the balancing is not a problem (well it is, but I can freely copy from a lot of successful projects), and the steering control is not too difficult. I will fit two load sensors, one under each foot of the rider. The weight difference will control direction. I really mean percentual weight difference, not a fixed number, as I would like my son (25kg) and myself (a lot more kg) to be able to ride the machine without reconfiguring. But I have some problems starting the system, stepping up on the machine.

I would like this to be in the loop. So the loop starts with a basic 'if'. Starting setup = 0, engage starting setup, if starting setup is 1, don't. The end of the starting setup changes the setting from 0 to 1. So far, so good (sorry for not writing in code, I simply cann't, yet).

The starting set-up I now have waits for a load higher then 5 kilos to be put onto the right foot sensor. It then waits for the second sensor to exceed the first sensor's current value. So you step onto the platform with your right foot first, then place your left foot and ever so slightly lean to the left to end the startup sequence. That should work, but what if someone decides to put their left foot on first? I know it should be do-able, but I just cannot get my head around it. Please feel free to advise.

In all, it should be a 2 wheel platform without (the need for) a handle bars. Shutting down is really easy again, if you lift one foot completely it shuts down, and does nothing until you have taken off the other foot as well and it then resets the start setup to 0.

Anyway, I am probable reinventing the wheel again, but I just cannot find it. Please advise.



Why does it matter which sensor reads over 5 pounds first?

I think it does, as it needs to look to the other one after the first load was placed. And since we don't know which is the first, it will be pretty difficult to point to the second one in the code.



And since we don't know which is the first

That's the part I don't understand. One sensor will read zero when the other reads above zero. From that information, you know which was stepped on first.

Or, put a big placard on your device - "Not for lefties".