Subject:
|
Re: Balancing robots
|
Newsgroups:
|
lugnet.robotics
|
Date:
|
Fri, 23 Jan 2004 12:04:33 GMT
|
Original-From:
|
PeterBalch <PeterBalch@compuserve.^nospam^com>
|
Viewed:
|
1146 times
|
| |
| |
Steve
> if the tilt angle of the robot is changing ... you need to drive the
motors.
Presumably also if you're driving one way but falling the other then slow
down.
It looks too easy!
I'd expect your code to differentiate the LIGHT_1 value:
d_LIGHT_1 = LIGHT_1 - prev_LIGHT_1
prev_LIGHT_1 = LIGHT_1
CenterPoint1 behaves a little like prev_LIGHT_1 - it gets initialised to
LIGHT_1 and the new MotorSetting value depends on (CenterPoint1 - L1).
But the new value of CenterPoint1 is the integral or MotorSetting.
Why?
> If [the tilt angle] isn't changing, but you're driving the motors ...
drive them a bit more
Aha. You're integrating the motor torque. (MotorSetting is proprtional to
CenterPoint1 and CenterPoint1 is the integral of MotorSetting.)
Which, I think, is equivalent to making the motor torque proprtional to the
integral of the change in the tilt angle. Then you add in a term
proprtional to (the integral of) the motor torque.
Which, if I've got it right, means the motor torque is proprtional to the
tilt angle and an estimate of the distance travelled.
Peter
|
|
1 Message in This Thread:
- Entire Thread on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
|
|
|
|