高中信息技术教学设计:基于PID算法的8字循迹智能小车项目实施_第1页
高中信息技术教学设计:基于PID算法的8字循迹智能小车项目实施_第2页
高中信息技术教学设计:基于PID算法的8字循迹智能小车项目实施_第3页
高中信息技术教学设计:基于PID算法的8字循迹智能小车项目实施_第4页
高中信息技术教学设计:基于PID算法的8字循迹智能小车项目实施_第5页
已阅读5页,还剩8页未读, 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

高中信息技术教学设计:基于PID算法的8字循迹智能小车项目实施一课程背景与定位浙江省普通高中兴趣特长类选修课程模块三"智能控制与机器人技术"第3.2课时"跳8字舞的小车",定位于高二年级选修信息技术的学生群体。该课时承接模块一"开源硬件基础"与模块二"传感器原理与应用",要求学习者综合运用微控制器编程、红外循迹传感器阵列、电机驱动与PWM调速、闭环控制算法等知识,完成一辆能够稳定沿"8"字轨迹自主行驶的智能小车工程实践。课程不单纯传授语法与接线,而是以工程项目为载体,引导学生经历"建模编码调试优化迭代"的完整工程周期,培养计算思维与工程素养。二教学目标体系(一)核心知识目标1.理解差速转向原理,掌握双电机独立PWM控制实现任意曲率转弯的数学模型。2.深度掌握PID闭环控制算法在循迹场景中的离散化实现,能手推推导比例、积分、微分三项对偏差消除的物理意义。3.熟悉红外循迹模块多通道采样与加权融合策略,能根据赛道宽度与车身几何参数设计偏差计算函数。(二)能力与素养目标4.工程建模能力:将"沿8字轨迹行驶"抽象为连续偏差最小化的最优控制问题,建立车体运动学方程与传感器观测方程。5.调试与优化能力:面对传感器噪声、电机死区、电池电压波动、地面反射率差异等非理想因素,能系统性定位根因并给出补偿方案。6.协作与表达能力:四人一组分工协作(硬件组装、底层驱动、控制算法、上位机可视化),撰写规范工程日志,完成路演答辩。(三)价值观与关键能力确立"以人为本、技术向善"的工程伦理,体会反馈控制思想在自动驾驶、工业机器人、精密制造中的普适价值,激发持续探索前沿技术的内驱力。三重难点剖析与应对策略重点:PID参数整定的工程化方法。学生常陷入"盲目试错"误区,需引入"阶跃响应法+频域稳定裕度"相结合的系统化整定流程,配合串口绘图器实时观测偏差波形,实现从定性调试向定量调试跨越。难点:8字轨迹交叉口与大曲率弯道的连续通过。单纯比例控制会导致振荡或甩尾,需设计"前馈+反馈"复合控制结构,引入曲率前馈补偿电机基础转速差,配合PD反馈抑制横向偏差,实现平滑过弯。应对策略:采用"三阶段脚手架"教学法。第一阶段提供完整底层驱动库与单通道循迹框架,聚焦PID原理体验;第二阶段开放多通道融合与前馈补偿接口,引导自主设计偏差函数;第三阶段发布8字赛道挑战赛,倒逼全链路优化。四教学资源与环境准备硬件清单(每组):•STM32F103C8T6最小系统板1块•TB6612FNG双路电机驱动模块1块•TT马达+车轮+万向轮底盘套件1套•8路红外循迹模块(TCRT5000阵列,间距15mm)1块•18650锂电池组(7.4V/2A)1组•杜邦线、螺丝刀、绝缘胶带若干软件环境:•KeiluVision5.38+STM32CubeMX6.8•自研"PID调参可视化助手"上位机(Python+PyQtGraph,支持实时波形、参数下发、数据导出)•标准8字赛道(白色KT板喷绘黑色轨迹,线宽20mm,半径R1=300mm,R2=400mm,交叉角90°)五教学过程设计(共6课时,每课时45分钟)第一课时问题情境与建模分析教师演示成品小车在8字赛道上稳定运行三圈,计时器显示单圈耗时18.6秒,零脱轨。提问:"如果去掉PID,只用比例控制,会发生什么?"学生直观看到车体在直道剧烈摆动、弯道切线内切。引出核心问题:如何用数学语言描述"跑得快又稳"?引导学生建立运动学模型。设车体轮距L=130mm,轮半径r=32mm,左/右轮角速度为ω_L、ω_R,则车体线速度v=r(ω_L+ω_R)/2,角速度ω=r(ω_Rω_L)/L。8字轨迹曲率κ(s)沿弧长s分段常数:直道κ=0,圆弧段κ=±1/R。期望角速度ω_d=v·κ(s)。偏差e为传感器阵列加权质心与轨迹中心线横向距离。组织小组讨论:偏差e如何映射为左右电机占空比差值ΔPWM?学生列出比例公式ΔPWM=K_p·e,教师追问:"积分项解决什么问题?微分项解决什么问题?"引导学生结合稳态误差消除与超调抑制作答。布置课前预习:阅读《现代控制工程》第4章PID控制器设计节,完成离散化PID公式手推:u(k)=K_p[e(k)+(T/T_i)∑e(i)+(T_d/T)(e(k)e(k1))]其中T=10ms为控制周期。第二课时底层驱动与单通道循迹实战教师发放驱动库源码:PWM输出采用TIM3_CH1/CH2,频率20kHz,分辨率1000;电机方向由GPIO控制;编码器接口TIM4/TIM5正交解码,读取速度用于后续速度环扩展。红外采样由ADCDMA+定时器触发,10ms周期读取8通道原始值,经中值滤波后输出0/1数字量。学生任务:在提供的框架工程中补全`LineFollow_Basic()`函数。仅使用中间3号、4号传感器构成两通道差分偏差e=(ADC_3ADC_4)/(ADC_3+ADC_4),实现最简单比例循迹。观测现象:直道抖动±15mm,弯道必脱轨。教师巡场提问:"为什么分母要归一化?""电池电压从8.4V降到7.0V时,同占空比下电机转速下降约16%,如何补偿?"引导学生引入电压采样通道,实现占空比电压归一化:PWM_actual=PWM_target×8.4/V_bat。课后作业:利用上位机记录偏差波形,计算超调量、调节时间、稳态误差三项指标,填写《调试记录表》。第三课时多通道融合与偏差函数重构讲解8通道加权质心算法。设第i路传感器位置x_i=(i4.5)×15mm,读数归一化后为w_i∈[0,1],则偏差e=∑(w_i·x_i)/∑w_i。演示当车体偏左时,左侧传感器权重大,e为负;偏右e为正。特殊情况:全黑(十字交叉口)∑w_i=8,e≈0;全白(脱轨)∑w_i=0,触发失控保护逻辑。学生重构偏差计算模块,新增`get_deviation()`返回float型偏差,单位mm。实测直道偏差波动从±15mm收敛至±3mm。教师提问:"交叉口瞬间偏差归零会导致车体直行冲出赛道,如何识别交叉口?"学生提议:监测两侧边沿传感器(1号、8号)同时触发黑线,结合历史偏差符号判断转向意图。引入状态机思想:NORMAL_TRACK、LEFT_TURN、RIGHT_TURN、CROSS_STRAIGHT四状态,转移条件基于边沿触发与偏差积分阈值。学生编写状态转移表,在`main.c`中实现`track_state_machine()`。第四课时PID参数系统化整定与前馈补偿设计核心环节。教师演示"阶跃响应法"整定步骤:7.置K_i=0,K_d=0,增大K_p至系统持续振荡,记录临界增益K_u=420,振荡周期P_u=0.48s。8.依据ZieglerNichols经验公式设定初值:K_p=0.6K_u=252,T_i=0.5P_u=0.24s,T_d=0.125P_u=0.06s。9.微调:因电机死区导致微小偏差无响应,引入死区补偿`if(|e|<2)e=0;`;因积分饱和导致大偏差恢复慢,增加抗积分饱和逻辑`if(|output|>900)integral=e;`。前馈补偿设计:预计算8字赛道各段曲率κ,存入查找表`curvature_lut[segment_id]`。控制周期内读取当前段号(由里程计积分得出),期望转速差Δω_ff=L·v·κ/r。最终输出:ΔPWM=K_p·e+K_i·∑e+K_d·(ee_prev)+K_ff·Δω_ff其中K_ff为前馈增益,经实测设为0.85可抵消模型误差。学生分组实施整定,教师巡场重点考察:是否使用串口绘图器观测偏差收敛曲线?是否记录每组参数对应的圈速与脱轨次数?是否分析积分项在交叉口积累的风道效应?第五课时全链路优化与工程化规范发布"8字挑战赛"规则:单圈计时,脱轨加罚5秒,电池电压低于7.0V禁赛,代码需通过静态检查(MISRAC简化版)。各组开展最后优化:•硬件组:调整传感器安装高度至3mm,加装遮光罩消除环境光干扰;•算法组:实现自适应车速策略——直道v=0.6m/s,弯道v=0.35m/s,交叉口v=0.25m/s,由查表法查找目标速度,外层套速度PI环控制PWM基准值;•软件组:重构代码为分层架构(APP层控制层驱动层HAL层),添加看门狗、心跳LED、异常复位日志。教师组织"代码走查会",每组轮流投屏讲解核心模块设计理由,同组互评,教师点评关键技术点:变量命名规范、中断保护临界区、浮点运算定点化(Q15格式)以降低MCU负载。第六课时挑战赛执行与复盘总结赛道布置完毕,每组三次正式计时机会,取最优成绩。典型成绩分布:第一名16.2秒零脱轨,末组28.5秒伴随2次脱轨。教师现场复盘第一名方案:采用双环PID(外环位置PD+内环速度PI)、曲率前馈+自适应车速、定点数运算将控制周期压缩至5ms、交叉口识别融合里程计与边沿传感器双重确认。全班围坐复盘,每组填写《项目复盘报告》,维度含:技术路线图、关键难点攻关过程、参数演进曲线、团队分工协作得失、后续改进方向。教师强调:工程没有标准答案,只有在约束条件下的最优权衡。引用《控制理论基础》作者刘金琨院士语录:"控制理论的精髓,不在公式推导,而在于对不确定性的驾驭。"六评价体系设计过程性评价(60%):•工程日志(20%):每日记录实验现象、参数修改、波形截图、失败原因分析,要求手写+电子双备份。•代码规范与模块化程度(15%):静态扫描零Critical警告,函数单一职责,注释覆盖率>30%。•团队协作观察(15%):Git提交记录均衡度、代码评论互动次数、冲突解决机制。•阶段汇报表现(10%):第三、五课时汇报逻辑清晰度、应答深度。终结性评价(40%):•挑战赛成绩(20%):圈速排名换算,满分20分,脱轨每次3分。•复盘报告质量(15%):问题归因准确性、改进方案可行性、反思深度。•口头答辩(5%):现场抽问核心模块实现细节,抗干扰设计思路。七教学反思与迭代计划本轮教学暴露三个待改进点:10.部分学生对离散化PID积分项风机效应理解不透,下轮增加"积分分离+变速积分"专题微课,配合仿真演示。11.赛道环境单一,缺乏阴影、污渍、拼接缝隙等干扰,计划引入"鲁棒性测试周",随机铺设干扰带,考察算法泛化性。12.硬件调试耗时过长挤占算法思考时间,拟预制"最小可行性车辆"基线版本,允许学生选择"算法深度优化"或"硬件创新扩展"两条进阶路径。拟引入模型预测控制(MPC)作为拓展模块,利用STM32H7高性能内核实现短时域滚动优化,对比PID在变曲率轨迹下的优劣,衔接高校《现代控制理论》课程,实现高中大学知识平滑过渡。八附件:核心代码片段与参数表PID控制器结构体定义:typedefstruct{floatKp,Ki,Kd;floatintegral,prev_error;floatintegral_limit,output_limit;floatdt;}PID_Controller;floatPID_pute(PID_Controllerpid,floaterror){pid>integral+=errorpid>dt;if(pid>integral>pid>integral_limit)pid>integral=pid>integral_limit;if(pid>integral<pid>integral_limit)pid>integral=pid>integral_limit;floatderivative=(errorpid>prev_error)/pid>dt;floatoutput=pid>Kperror+pid>Kipid>integral+pid>Kdderivative;pid>prev_error=error;if(output>pid>output_limit)output=pid>output_limit;if(output<pid>output_limit)output=pid>output_limit;returnoutput;}关键调参记录表(节选):迭代轮次K_pK_iK_dK_ff单圈耗时/s脱轨次数备注125200035.24纯比例,直道剧烈振荡2252150028.72引入积分,消除稳态偏差32521542022.11增加微分,抑制超调428018480.8518.30前馈补偿,大幅提升弯道530020520.8516.20自适应车速+定点数优化int16_tget_deviation_q15(void){int32_tnum=0,den=0;for(uint8_ti=0;i<8;i++){uint16_tval=adc_filtered[i];//0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论