User Tools

Site Tools


line_following

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
line_following [2025/02/20 12:38] – [Special Section - Wall Following with PID Control] arimline_following [2025/02/20 12:44] (current) – [Special Section - Wall Following with PID Control] arim
Line 207: Line 207:
 ===== Special Section - Wall Following with PID Control  ===== ===== Special Section - Wall Following with PID Control  =====
  
-Code: +Code: {{ :wfpid_tst.pdf |}}
 \\ Video: [[https://youtu.be/mo9PJ54JmFA?si=aaC9fRfzXhq-x55-]] \\ Video: [[https://youtu.be/mo9PJ54JmFA?si=aaC9fRfzXhq-x55-]]
 \\ {{ :sec00_3.png?nolink&400 |}} \\ {{ :sec00_3.png?nolink&400 |}}
Line 244: Line 244:
  
 \\ **- Wall Following with PID** \\ **- Wall Following with PID**
 +\\ Refer to this example for the PID gain values, but adjust them to best suit your Domabot.
  
 +  //Variable initializations ---------------------------------------------------
 +  xWall = 0;  //initialize wall distance to 0
 +  dWall = 10;  //Desired distance from wall [cm]
 +  wKp = 1.25;  //Wall P gain e.g. (PID) = [1.5, 0.005, 30.0]        
 +  wKi = 0.001;  //Wall I gain
 +  wKd = 7.5;  //Wall D gain
 +  
 +  //(1)Calculate wall-following PID gains
 +  wE = xWall - dWall;
 +  wEInt +=wE;
 +  wEDot = wE - wEPrev;
 +  wCorr = (wKp * wE) + (wKi * wEInt) + (wKd * wEDot);
 +  
   //(1A) Check for motor staturation i.e. resulting wCorr forces   //(1A) Check for motor staturation i.e. resulting wCorr forces
   //motor getting > 2*speedBase (if speedBase > 50, this means >100)   //motor getting > 2*speedBase (if speedBase > 50, this means >100)
line_following.1740083914.txt.gz · Last modified: by arim