28 lines
645 B
C
28 lines
645 B
C
|
#ifndef _TRACKING_H_
|
||
|
#define _TRACKING_H_
|
||
|
|
||
|
#include "ir.h"
|
||
|
#include "motor.h"
|
||
|
#include "pid.h"
|
||
|
class TrackingController {
|
||
|
public:
|
||
|
static uint8_t baseSpeed; // 基础前进速度
|
||
|
static uint8_t turnSpeed; // 转弯速度
|
||
|
|
||
|
// 初始化循迹控制器
|
||
|
static void init();
|
||
|
|
||
|
// 更新循迹状态并控制电机
|
||
|
static void update();
|
||
|
|
||
|
// 设置循迹速度
|
||
|
static void setSpeed(uint8_t baseSpeed, uint8_t turnSpeed);
|
||
|
|
||
|
// 计算偏移量
|
||
|
static float calculateOffset(const IRData& irData);
|
||
|
|
||
|
private:
|
||
|
static constexpr float LOST_LINE = 999.0f; // 使用一个特殊值表示丢线状态
|
||
|
};
|
||
|
|
||
|
#endif
|