?? searchline.txt.svn-base
字號:
****ROBOCON 2009 | BUPT TEAM*******
-------------------Documentation-----------------
Created on: 2009-3-26
Author: leaf
尋線算法使用PID
其關鍵部分在于
1. 傳感器狀態能過查表得到機器人偏移量。
offset = offsetTable[sens];
2. 根據查表得出的偏移量,進行PID調整
調整量表達式為
maxSpeed * (kp * offset + ki * sumOffset + kd * (offset - offsetTable[prev])) / adjustmentDiv;
3. 將另一輪速度置為最大
附加的部分
1. 設置PID控制的四個參數。
四個參數用一個結構體來表示
typedef struct{
INT8 kp, ki, kd;
SPEED_T adjustmentDiv;
}
2. 設置最大最小速度
在設置最大速度時,會調整最小速度。
***快速上手
尋線示例
SpeedPair curSpeed;
sens = getSensor(); //getSensor為你自己寫的東西,獲得尋線傳感器狀態
curSpeed = searchline(sens); //計算速度
speedl(curSpeed.left); //發送速度
speedr(curSpeed.right);
即可使用searchline的功能
設置尋線速度示例
調用 setMaxSpeed(6000); 設置當前尋線最大速度為6000,同時調整最小速度
調用 setMinSpeed(0); 設置尋線最小速度
** 一定要先設置最大速度再設置最小速度,因為設置最大速度時會調整最小速度
設置PID參數示例
PIDParam myPid = {
30,
5,
10,
2400
}
setPidParam( &myPid );
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -