Advertisement
Guest User

Untitled

a guest
Nov 21st, 2017
324
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.92 KB | None | 0 0
  1. clear;
  2.  
  3. ev3=legoev3('usb');
  4. motorL=motor(ev3,'A');
  5. motorR=motor(ev3,'B');
  6.  
  7. trackspeed =30;
  8.  
  9. motorL.Speed = 20;
  10. motorR.Speed = 20;
  11.  
  12. lineSensor = colorSensor(ev3);
  13.  
  14. %lineref = 18;
  15. linemax = 56;
  16. linemin = 3;
  17.  
  18. lineref = 18;
  19.  
  20. Kp = 10;
  21. Kp_positive = 1.5;
  22. Kp_negative = 3;
  23. Ki = 0;
  24. Kd = 0;
  25.  
  26. setpoint = lineref;
  27.  
  28. start(motorL);
  29. start(motorR);
  30.  
  31. while 1 %~readButton(ev3,'center')
  32.  
  33. %ls=readInputDeviceREADY_RAW(ev3,4,0,1); %read port 4
  34. sensor = readLightIntensity(lineSensor,'reflected');
  35. error = sensor - setpoint;
  36.  
  37. if error > 0
  38. turn = Kp_positive*error;
  39. else
  40. turn = Kp_negative*error;
  41. end
  42.  
  43. motorL.Speed = trackspeed - turn;
  44. if abs(motorL.Speed) > 100
  45. motorL.Speed = 100 * sign(motorL.Speed);
  46. end
  47. motorR.Speed = trackspeed + turn;
  48. if abs(motorR.Speed) > 100
  49. motorR.Speed = 100 * sign(motorR.Speed);
  50. end
  51. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement