飞思卡尔智能车大赛技术报告
验。当前应达到的速度(keepspeed)在PID路线控制部分确定,计算原理基本上与路线控制算法相似。
图4.12 PID动力控制算法示意图
4.5 外部设备控制模块
外部设备控制模块将PID处理得到的数据转换成硬件控制信号并输出,作为PID处理信息的输出抽象层,使程序的PID信息处理部分脱离硬件控制信息而存在。
4.5.1舵机角度控制
舵机的偏转角度被分为11个等级,从-5至5分别表示从左到右的偏转程度,0等级表示竖直向前,负数表示左转,正数表示右转。舵机控制信息helm_ctrl就是以偏转角度等级作为控制单位。舵机控制表如表4.1所示。
表4.1舵机控制表
舵机控制信息(helm_ctrl)表示的是舵机偏转的增量,但是舵机控制需要的是偏转的位置。在这里还需要预先保存当前的舵机位置信息(helm_base),执行helm_base += helm_ctrl。 将PID路线控制的输出信息加入到角度控制中,再对其进行一次查表,转换成所需要的PWM发生器的寄存器值,实现软件上对舵机的控制,如图4.13所示。