找回密码
 马上注册

QQ登录

只需一步,快速开始

查看: 6394|回复: 6

请教下各位,RobotC中的PID巡线

[复制链接]
发表于 2014-3-30 16:50:55 | 显示全部楼层 |阅读模式
那个,大家好,我是新手,最近学习了RobotC,想弄个PID巡线,然后我对着论坛的教程弄了一遍,基本上是教程上一样的了,但是为什么效果不同呢?
我的那个没有巡线,而是在原地摆动,摆动几次过后就开始换个方向摆动,请问怎么办?谢谢大家了!
源代码:
  1. int B;
  2. int W;
  3. int M;
  4. int N;
  5. float error;
  6. float kp=10;
  7. float ki=1;
  8. float kd=100;
  9. float I=0;
  10. float Last=0;
  11. float D=0;
  12. float Turn;
  13. task main()
  14. {        until(nNxtButtonPressed==3);
  15.   B =SensorValue(S1);
  16.   wait1Msec(1000);
  17.   until(nNxtButtonPressed==3);
  18.   W =SensorValue(S1);
  19. while(true)
  20. {
  21.   M=(B+W)/2;
  22.   N=(SensorValue(S1)-M)*-5;
  23.   error=SensorValue(S1)-M;
  24.   I=I+error;
  25.   D=error-Last;
  26.   Turn=(kp*error+ki*I+kd*D);
  27. if (N>0)
  28. { motor[left]=50+Turn;
  29.   motor[right]=50-Turn;
  30.   Last=error;
  31. }
  32. else
  33. {
  34.         if (N<0)
  35.   {  motor[left]=50-Turn;
  36.            motor[right]=50+Turn;
  37.            Last=error;
  38.   }
  39.   else
  40.   {motor[left]=75;
  41.    motor[right]=75;
  42.    Last=error;
  43.   }
  44. }
  45. }
  46. }
复制代码

O(∩_∩)O谢谢O(∩_∩)O哈!
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2014-4-6 15:50:15 | 显示全部楼层
Ki的值太大了。0。01左右
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复 1 0

使用道具 举报

发表于 2014-4-5 14:08:41 | 显示全部楼层
motor[left]=50+Turn;
motor[right]=50-Turn;
把turn符号换一下
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2014-4-5 14:12:04 | 显示全部楼层
你要检查一下 摆动方向 是和与其相反还是怎样  如果相反 那就是  
motor[left]=50+Turn;
motor[right]=50-Turn;
有问题  把 Turn换成相反的数
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

 楼主| 发表于 2014-4-5 18:30:57 | 显示全部楼层
捞屎人 发表于 2014-4-5 14:12
你要检查一下 摆动方向 是和与其相反还是怎样  如果相反 那就是  
motor[left]=50+Turn;
motor[right]=50 ...

唔,好的,谢谢你O(∩_∩)O哈!~
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2015-1-28 17:59:27 | 显示全部楼层
请问楼主您用的是那个教程呢?在论坛什么地方?我是初学者求指教!
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2018-6-25 18:35:12 | 显示全部楼层
mark
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|中文乐高 ( 桂ICP备13001575号-7 )

GMT+8, 2024-4-20 01:37 , Processed in 0.138636 second(s), 21 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表