i have seen people on here doing expirement with balancing robtos and they wanted to know if you could make ‘segway robot’ with just an accelerometer and no gyro and of coure the answer was to us distance sensors, but of coure those won’t work as well on surfaces that are not level.
so i got to thinking and wondered if you could use a accerometer to measure rate of angular change by some how starting a timer when the angle starts to change and check it every X seconds and then compute it for how fast it was changing angles and then update the speed of the robot or unit? would this work? could this possibly work? would it bogg down the processor too much? would you need a co or sub processor just to handle that? would it be easier and simpler to do? less expensive, yes but how effiecient will it be?
if you can’t do that can you make a program for distance sensors with some kinda of switch to measure when it is level and then adjust the distance each sensor should be at? so it will work on a slope of X degrees?
and for a balancing robot that does use distance sensors how do you know what motor speed to use and length of time they are on so you dont go past the desired angle u wish to be at?
Well, I’m sure it can be done… I’d think though that if you didn’t have enough processing power to do it, you’d just be better off with a gyro since I’m sure a subprocessor would offset any cost saved by not having a gyro. And a gyro is obviously much more suited to the task…
While I’m sure it is possible, I’m not sure how practical it really is (or how effective for that matter).
I don’t believe that the system you describe is “observable” using just a single accelerometer – the basic problem from what I understand is that a single accelerometer cannot tell if the change in measured acceleration is from DV/dt or changes in gravity from changes in angle.
I think it would be possible to use several (at least 2) accelerometers to do the angle calculation BUT… …you will have practical problems.
To get angle from a yaw rate sensor you only have to integrate once (from Omega to Theta) . In general, integration is more friendly than differentiation, but it does involve that Constant term and there is that drift problem (small errors add up).
To get angle from acceleration, I think you will have to effectively integrate twice (once to go from Acceleration to Velocity, then again to go from Velocity to Position). This adds 2 Constant terms and there is a REALLY tough drift problem (small errors add up FASTER AND FASTER as time goes by).
I think a gyro (an angular rate sensor) is probably the better way to go.
Joe J.
P.S. I’m not here and you didn’t read this I am much too busy at Robotic Amusements, Inc., getting ready for our product launch at the AMOA Show in Sept. Wish us luck…
Well you’d know at the start that it’s all from angular change, and then you could start integrating… And based on angle, that would determine hte contribution of angular acceleration and gravity… I think it could in theory be observed but it sounds pretty impractical.