Line Follower Robot Using Roboteq

A

Thread Starter

Abdullah

hi!!!

my project is to build a big line follower robot to carry the food in the corridors... I'm using roboteq AX2550 speed controller with 4 heavy duty NPC motors. my robot is based on windows xp platform and the speed controller is connected directly to the computer. also i connect 4 ir reflective sensor to detect the black line in the floor. I make a program in vb to do this task but my problem when the robot facing a turn starts zigzagging until reach his destination. my instructor advise me to use PID to do this task but i don't know how can i use it any one give my any ideas!!!

i can provide all diagram and speed controller manual for helpers :)
 
J

Joshua Schultz

Abdullah,

Just offhand, it seems like the problem is not with your speed control, but your DIRECTION control. Presumably, your robot uses feedback from the IR sensor to bring it back to the line when it deviates.

The fact that the robot is zig - zagging is indicative of a controller instability. In layman's terms, the robot gets off the line, "sees" that it has left it, and briskly turns toward the darker direction. This works great when it is near the line, but in situations where the sensor is far from the line, such as a corner, the robot enters a different regime... the darker direction may not be the line after all, it could be a darker floor tile, dropped food, etc. The robot will also overcompensate and be moving too fast when it crosses the line. It "overshoots" to the other side and then you have the same problem again, only worse, because it needs to slow the robot down before it can turn around.

Your instructor probably suggested a PID (Proportional Integral Derivative) controller because of the instability. However, the line follower contains a nonlinearity, namely, the sharp edge from the line (dark) to the floor around it(light). The fact that it can follow the line and has trouble with corners is indicative of a nonlinearity. A PID controller will probably not help you with the corner problem.

What you need is a good "high-level" control algorithm for going around corners. When the line turns, the IR sensor will give feedback that the line has dissapeared. If the line dissapeared abrubtly (rapid upswing in light feedback), back the robot up until it sees the line again and then stop. Swing slightly to the left and then slightly to the right to see which one is darker (Do I turn right or left?) Then rotate without moving forward slowly until the robot "sees" the darkest spot. Then begin moving forward.

If you still have the zig-zagging problem after you've corrected the corner issue, there is likely some "low-level" control problem. In that case, the dynamics of the system will need to be analyzed and the appropriate controller designed.
 
Top