[Robotgroup] Control systems

Edwin Wise edwin at simreal.com
Mon Sep 10 11:47:54 PDT 2007


On 10 Sep 2007, at 1:04 PM, Acy Stapp wrote:
> The legs form a ridiculously overcomplicated active suspension.

That's what makes it fun!

> * Separating the reflectance component from the distance component.  
> The
> reported value seems to be proportional to emitterBrightness *  
> albedo / d^2.
> I've tried tracking the largest negative and positive derivatives  
> as the
> edges of the tape but there is a lot of sensor noise. Any ideas?

Yeah, there will be ridiculous amounts of noise; the angle of  
reflection will matter a lot too, and the farther from the line the  
more information is going to be integrated across the lens (e.g. the  
line becomes a smaller and smaller fragment of the overall return).   
The farther away the "eye" is from the scene, the more "smear" you  
are going to get; edge detection will be nearly impossible.

Question:  What kind of IR distance device?  Is it using the  
brightness for distance info, or is this a parallax sensor that also  
returns brightness?

> * PID control. I will probably just start with an error term  
> between the
> center of the tape and the center of the robot and just use  
> proportional
> control. Later I'd like to implement the I and D terms if  
> necessary. Does
> anyone have any references about or in particular relation to  
> tuning control
> systems?

Trial and error.  I think that's the official approach, even.  I have  
a control book or two somewhere (I think; unless those were library  
books).  PID math is pretty simple, but tuning?  Trial and error.

The "D" term is mostly to handle lag in the system, if I recall  
correctly (it's the "time prediction" term).  The "I" term helps make  
the response faster, and reduces the offset you get from just "P".   
I've got a Java program around here that does a simulation...

There are some good solid line followers that are just digital -- go  
forward/left until the line is crossed, then go forward/right  
until... rinse, repeat.

Edwin!




More information about the Robotgroup mailing list