Subject:
|
Re: Balancing robots
|
Newsgroups:
|
lugnet.robotics
|
Date:
|
Thu, 22 Jan 2004 14:12:58 GMT
|
Original-From:
|
PeterBalch <peterbalch@compuserve.comSPAMCAKE>
|
Viewed:
|
983 times
|
| |
| |
Allen / Steve
> /*light sensors don't produce an equall reading so need to be matched using an offset.
> This is achieved by holding the bot vertically while it takes a
> reading*/
> Probably not the best code and no where near as good as Steve's
Steve: From reading your code, it seems that you "recalibrates" the "zero"
point very so often by assuming that the bot is vertical. So slow changes
in reflectivity shouldn't matter.
I've only been working with simulations so far. It really helps me
understand what terms are important in the feedback loop. (The Delphi code
is available to anyone who wants it.)
> Steve says: It also seems to work pretty well on wood grain (like a table
top).
That's using the absolute value of the sensor readings, right?
I'd like it to work on, say, patterned vinyl or at least a wooden floor.
Allen, what can yours run on?
> Legway uses two sensors to follow a line. So when one of the sensor readings
> drop, it assumes the sensor is over the line, it ignores that sensor,
Instead of using the absolute brightness directly for feedback, can you
integrate the small changes to get the current best estimate of distance
(or, rather, angle) and use that as the P term in your PID?
As Steve says, integrating the motor torque (i.e. what you've told the
motor to do) to estimate the distance you travelled seems to help with
longer term stability and drift.
(I find it's best to always clip integrated values to +/- some constant so
they can't go on growing for ever.)
My simulations will balance under those circumstances. But I haven't
simulated a patterned floor yet.
It has occurred to me that I could build a sensor with one IR emitter and
two receivers (or vice versa). They are positioned in a vertical row 4cm
apart and have fairly narrow beams (20deg?). They point so that the
intersection of the lower two beams is on the floor when the robot is
leaning forward by 15deg and the intersection of the upper two beams is on
the floor when the robot is leaning backward by 15deg. So the robot is
vertical when the two sensor values are equal. That _ought_ to work
whatever the reflectivity of the floor.
Maybe!
> I'm currently messing with a homemade accelerometer circuit. (ADXL105)
> and a fe gyroscopes. I've sucessfully interfaced these to the RCX. The
> fun is just starting!
Expensive.
Have you considered a U-tube manometer with a light sensor measuring the
liquid level?
Peter
|
|
Message has 1 Reply: | | Re: Balancing robots
|
| (...) When trying to balance, there are really just two questions to ask. 1) Is the current angle/tilt/distance-to-floor changing? 2) Are the wheels turning? If you answer no to both, you are balanced. It really doesn't matter what the (...) (21 years ago, 22-Jan-04, to lugnet.robotics)
|
2 Messages in This Thread:
- Entire Thread on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
|
|
|
|