Home Page | Language Reference (extended) | SD Reference | Libraries | Comparison | Changes
Change the parameters for line following.
Use this function if line-following is not working as expected, or you want to change the robot's speed while line-following.
This function changes the "PD algorithms" that enable to robot to think about what may happen next while line reading. The robot attempts to predict any possible errors on the next reading of the IR sensors, and corrects its movement accordingly by changing the speed of each wheel separately.
See the note below for a deeper explanation.
Robot.lineFollowConfig(KP,KD,robotSpeed,intergrationTime)
none
#include <ArduinoRobot.h>
long timer;
void
setup
(
)
{
Robot.begin
(
)
;
Robot.beginLCD
(
)
;
delay
(
3000
)
;
Robot.lineFollowConfig
(
11
,
5
,
50
,
10
)
;
//set PID parameters
Robot.setMode
(MODE_LINE_FOLLOW)
;
timer=
millis
(
)
;
while
(
!Robot.isActionDone
(
)
)
{
//pauses line-following for 3 seconds every 5 seconds
if
(
millis
(
)
-timer>=
5000
)
{
Robot.pauseMode
(
true
)
;
delay
(
3000
)
;
Robot.pauseMode
(
false
)
;
timer=
millis
(
)
;
}
Robot.debugPrint
(
millis
(
)
)
;
}
Robot.text
(
"Done!"
,
0
,
10
,
true
)
;
while
(
true
)
;
}
void
loop
(
)
{
}
In the function, KP helps the robot follow the line, and KD dampens the oscillation of the robot.
To find good values for this, there needs to be some experimentation to find a good pair of values. An example test is listed below :
Corrections, suggestions, and new documentation should be posted to the Forum.
The text of the Arduino reference is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.