General Misc > Misc
segway style robots
dunk:
hi jailsellgren,
i don't want to put you off but you are aware that getting a balancing robot to work is really tricky?
so most of the successful balancing bots (including the segway) use input from 2 different kinds of sensors.
first they use an accelerometer that will tell you which direction is up on an object that is traveling at a constant speed (or is stationary for that matter).
the problem with accelerometers in this aplication is they measure acceleration. so you will have to take into account the effect changes in speed have on the readings.
the other sensor in use are angular rate sensors. these cannot tell you which way up is. what they can tell you is how fast an object is rotating.
you will have to come up with an algorthm that takes input from these 2 sensor types as well as wheel speed to determine how to keep your bot upright.
happy building and let us know how you get on!
dunk.
JesseWelling:
I've been reading about how to do this and I think he's going to want to use what it called a kalman filter.
You can start by reading up here: http://en.wikipedia.org/wiki/Kalman_filter
This is also usefull for what they call 'dead-reckoning'. The more inputs you have the more
accurate Kalman filtering should be.
Another software solution could be PID bassed on angular rotation speed.
First you cause a tilt by saying you want some angular rotation. So the robot tilts, then you tell it you want no angular rotation, and it stops rotating forward, but to keep this angle it has to move at some speed. The timing of this would be rather tricky I think, but not impossible. I'm not much for Dynamics such as this but maybe admin or some one else could shed some light on that approach (I just made it up ;D)
JesseWelling:
To measure angle why not use a plumb joint that hangs down (with a weight), and make sure to use some really smooth ball bearings, then just slap an quadrature encoder on the joint, then you have angular acceleration (and direction) and absolute angle.... Sounds easier than all that analog stuff to me...
or better yet you could use a servo with a lever arm and a weight on the end to also actively balance ,or use in conjunction with the pid controll to initiate movement the way a human does on a segway. But this seems like a Rube Goldberg to me, and while 'cute' is not desireable in an engineering sense.
JesseWelling:
Yea that really depends on the weight of the pendulum. The better your bearing is the lighter the weight can be though.
Although your solution once you get the bugs worked out is more solid state and scaleable. but for DIY at the hoby level I think the encoder would be an easier solution.
JesseWelling:
yea well it wasn't my idea really ::)
http://www.usdigital.com/products/a2t/
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version