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 |