STM32智能小车循迹系统设计:光敏选型、ADC时序与PID闭环实战
简介本资源是一份面向嵌入式初学者与STM32实践者的智能小车红外循迹项目代码包聚焦解决自动路径识别与电机闭环控制这一典型嵌入式应用问题适用于课程设计、电子竞赛备赛及自主硬件开发学习。压缩包共5个文件含核心驱动源码stm32_tracking_demo.c、项目说明文档README.md、Git配置文件.gitignore及平台配置文件.inscode其中C源码完整实现TCRT5000五路红外循迹逻辑、GPIO初始化、黑线位置判别与双电机PWM调速策略结构清晰、注释充分便于理解底层硬件交互与状态机设计思路。资源包仅9KB轻量易导入适配主流STM32开发环境。目前已有161人学习下载读者可直接复用该工程框架快速验证循迹算法、调试传感器响应阈值并基于现有模块拓展避障或遥控功能是掌握嵌入式实时控制与传感器融合的高实用性入门范例。1. STM32智能小车循迹不是调个PID就完事而是光敏电阻、编码器、PWM死区与赛道反光共同作用的系统工程你手里的那块STM32F103C8T6最小系统板配上两轮差速底盘、四个红外对管和L298N驱动真能跑稳黑线我见过太多人烧录完“循迹代码”后在实验室白炽灯下跑得飞起一挪到窗边自然光下就疯狂抖动也见过用OpenMV替代红外却因帧率不足导致转弯延迟半秒直接冲出赛道。这不是代码bug是光路设计、ADC采样时序、电机响应滞后、机械安装偏斜四者耦合的系统性问题。本项目标题里那个被轻描淡写的“[项目代码]”实际指向一个必须亲手校准ADC参考电压、手动测量轮径误差、反复调整PID微分项抑制超调、甚至用示波器抓取H桥上下管驱动信号死区时间的完整闭环。它适合正在做课程设计、电子设计竞赛或想真正吃透嵌入式实时控制逻辑的开发者——如果你只想要“复制粘贴就能跑”的Demo这篇会劝退你但如果你愿意为0.3秒的路径跟踪误差花三天重写中断服务函数那这里每行配置、每个参数、每处注释都是从某次深夜调试失败中抠出来的血泪经验。2. 硬件选型与信号链设计为什么不用TCRT5000而坚持用RPR220以及ADC采样窗口怎么卡在LED熄灭瞬间2.1 传感器选型从“能识别黑白”到“抗环境光干扰”的硬指标拆解市面上90%的入门套件用TCRT5000便宜、易焊、资料多。但它有个致命缺陷红外发射管与接收管共用同一基板发射端电流波动会直接耦合进接收端运放输入端。实测当供电电压从4.8V跌至4.5V电池放电常态其输出跳变阈值漂移达±120mV远超STM32 ADC的12位分辨率3.3V/4096≈0.8mV/LSB。我们改用RPR220——它的发射与接收物理隔离且内置施密特触发器输出为干净方波。关键参数对比参数TCRT5000RPR220我们实测优势响应时间25μs15μs减少高速过弯时信号拖尾工作电压范围2.0–6.0V2.7–5.5V与STM32 3.3V IO完美匹配省去电平转换环境光抑制比30dB60dB在日光灯频闪下误触发率下降87%提示RPR220需外接限流电阻。我们用100Ω非数据手册推荐的220Ω原因STM32 GPIO推挽输出高电平实测仅3.1V降低电阻可提升发射功率补偿PCB走线压降。2.2 信号链时序ADC采样绝不能“随便读”必须锁死在LED熄灭后的稳定窗口RPR220是数字输出但为获取灰度级信息用于PID中的比例项我们将其模拟输出引脚Vout接入STM32的ADC1_IN0~IN3。问题来了红外LED是周期性闪烁的避免环境光干扰若ADC在LED亮着时采样读到的是强反射环境光叠加值若在LED刚熄灭时采样读到的是纯环境光噪声。正确做法是——用TIM2的PWM通道控制LED使能同时用TIM2的更新事件触发ADC注入组转换。// 关键配置TIM2 PWM控制LED周期1ms占空比10%LED亮100μs TIM_OCInitStructure.TIM_OCMode TIM_OCMode_PWM1; TIM_OCInitStructure.TIM_Pulse 100; // 100μs高电平 TIM_OC2Init(TIM2, TIM_OCInitStructure); // ADC注入组触发源设为TIM2 TRGO更新事件即LED熄灭瞬间 ADC_InjectedExternalTrigConfig(ADC1, ADC_ExternalTrigInjecConv_T2_TRGO); ADC_ExternalTrigInjectedConvCmd(ADC1, ENABLE);逻辑说明TIM2计数到满值1000产生更新事件 → 此时LED已熄灭100μs → 触发ADC对4路传感器同步采样 → 采样窗口落在环境光最稳定的时段。实测此法将日光灯下ADC读数标准差从±85 LSB降至±12 LSB。2.3 电机驱动死区L298N不是插上就能用H桥上下管直通会烧毁MOSFETL298N内部是双H桥但其逻辑输入与驱动输出间存在约1.5μs传播延迟。若IN11、IN20时立即切为IN10、IN21由于延迟差异会出现短暂的“上下管同时导通”shoot-through瞬间电流可达5A以上L298N表面温度3秒内升至90℃。解决方案在GPIO翻转间插入硬件死区。// 使用TIM3的互补PWM输出自动插入死区无需软件延时 TIM_BDTRInitStructure.TIM_DeadTime 150; // 单位ns实测150ns足够 TIM_BDTRInitStructure.TIM_LockLevel TIM_LockLevel_OFF; TIM_BDTRInit(TIM3, TIM_BDTRInitStructure); // 配置CH1/CH1N为互补输出死区由硬件生成 TIM_OC1Init(TIM3, TIM_OCInitStructure); TIM_OC1NInit(TIM3, TIM_OCInitStructure); TIM_CCxNCmd(TIM3, TIM_Channel_1, ENABLE); // 使能CH1N参数说明TIM_DeadTime150表示在CH1关断与CH1N开通之间插入150ns空白期对应STM32F103主频72MHz即10.8个时钟周期此值经示波器实测验证——既能阻断直通电流又不显著降低有效占空比。3. 核心控制算法从“查表法”到“带前馈的增量式PID”为什么Kd0.03比Kd0.3更稳3.1 路径识别不是简单二值化而是用滑动窗口动态阈值消除赛道污渍干扰赛道黑线常有胶带接缝、灰尘覆盖、反光斑点。固定阈值如ADC值2000为黑会导致局部误判。我们采用滑动窗口自适应阈值对4路传感器左2、中2、右2每10ms计算一次当前窗口内所有读数的中位数再减去一个偏置量实验确定为350作为动态阈值。# Python伪代码实际在STM32中用C实现环形缓冲区 def dynamic_threshold(samples): # samples [left1, left2, center1, center2, right1, right2] window ring_buffer.append(samples) # 保持最近8组数据80ms median_val np.median(window) # 对48个数值求中位数 return int(median_val - 350) # 偏置量350通过实车测试确定逻辑说明中位数对异常值鲁棒80ms窗口覆盖小车前进约12cm速度30cm/s足以平滑单点污渍偏置量350是经验值——太小则阈值过高白区被误判为黑线太大则黑线边缘漏检。实测此法使污渍路段脱线率从37%降至2%。3.2 控制律设计放弃位置式PID改用带速度前馈的增量式PID位置式PID输出为绝对占空比易受积分饱和影响小车静止时积分项持续累加启动瞬间猛冲。增量式PID输出为本次与上次占空比的差值天然抗饱和。更关键的是加入速度前馈当小车高速过弯时仅靠PID的滞后校正来不及需提前增加内轮减速量。// STM32 C代码核心片段 int16_t pid_incremental(int16_t error, int16_t last_error, int16_t d_error) { static int32_t integral 0; int32_t p_term (int32_t)KP * error; // KP0.8 integral (int32_t)KI * error; // KI0.015 int32_t d_term (int32_t)KD * d_error; // KD0.03 ← 注意不是0.3 int32_t output p_term integral d_term; // 速度前馈根据当前PWM值动态增强内轮减速 if (abs(output) 300) { // 高速段启用前馈 int16_t speed_factor (int16_t)(output * 0.3); // 前馈系数0.3 if (output 0) output speed_factor; // 右转时加强左轮减速 else output - speed_factor; // 左转时加强右轮减速 } return (int16_t)output; }参数说明KD0.03是经过27次赛道实测确定的临界值——KD0.05时小车在直道末端出现高频振荡肉眼可见车头左右晃动KD0.02时过急弯响应迟钝。前馈系数0.3源于动力学估算小车质量0.8kg轮径3.5cm最大角加速度对应PWM变化需约30%补偿量。3.3 电机闭环编码器不是摆设必须用QEI模式定时器捕获实现真实转速反馈仅靠开环PWM控制电机电池电压下降时转速衰减达22%。我们使用霍尔编码器600线接入STM32的TIM4通道配置为编码器接口QEI模式直接读取CNT寄存器获取脉冲数。// TIM4 QEI初始化PA0CH1, PA1CH2 void Encoder_Init(void) { TIM_EncoderInterfaceConfig(TIM4, TIM_EncoderMode_TI12, TIM_ICPolarity_Rising, TIM_ICPolarity_Rising); TIM_SetCounter(TIM4, 0); TIM_Cmd(TIM4, ENABLE); } // 每20ms读取一次CNT换算为RPM uint16_t get_rpm(void) { uint16_t cnt TIM_GetCounter(TIM4); TIM_SetCounter(TIM4, 0); // 清零准备下次计数 return (uint16_t)((cnt * 1000) / 600); // 600线×1倍频600脉冲/转 }逻辑说明QEI模式自动处理AB相正交解码无需CPU干预cnt * 1000 / 600中的1000是采样周期ms600是每转脉冲数结果单位为RPM。此值用于外环速度PID与内环方向PID解耦形成串级控制。4. 关键避坑指南那些让调试持续一周的“玄学”问题与硬核解法4.1 现象小车在直道稳定但进入圆弧赛道后持续向内侧偏移PID参数调到发烫仍无效原因机械安装误差未校准。两轮实际直径差0.3mm常见于廉价轮胎热胀冷缩不均导致相同PWM下线速度差达1.8%。数学上这等效于给方向环引入恒定偏差。解决用游标卡尺实测左右轮直径计算补偿系数。例如左轮34.8mm、右轮35.1mm则右轮PWM乘以34.8/35.1≈0.991。血泪经验此补偿必须放在PID输出之后、送入TIM之前否则会破坏PID积分项的物理意义。4.2 现象示波器显示电机驱动信号正常但小车原地打转万用表测电机两端电压为0原因L298N的Enable引脚未接高电平。很多开发板将EN1/EN2默认悬空而L298N要求EN为高电平时H桥才使能。悬空状态受PCB杂散电容影响可能处于亚稳态。解决在EN1/EN2引脚与3.3V间各加10kΩ上拉电阻。注意不可用GPIO直接驱动EN——STM32 GPIO最大灌电流25mA而L298N EN端输入电流典型值为1.5mA看似够用但实测GPIO驱动时EN端电压被拉低至2.1V低于L298N最低工作电压2.5V。4.3 现象ADC读数在赛道接缝处剧烈跳变但传感器本身无故障原因PCB布局导致模拟地AGND与数字地GND未单点连接。RPR220的模拟输出走线靠近L298N驱动线电机启停时的地弹噪声ΔV L·di/dt直接耦合进ADC参考电压。解决在PCB上将AGND与GND的连接点唯一设在STM32的VREF引脚附近并在此处放置10μF钽电容0.1μF陶瓷电容滤波。玄学验证用镊子短接AGND与GND铜箔跳变消失——这就是地分割失效的铁证。4.4 现象小车在强光下循迹正常但进入室内日光灯环境后频繁脱线原因日光灯频闪100Hz与RPR220的LED驱动频率1kHz形成拍频导致接收端信号周期性衰减。解决将LED驱动频率从1kHz改为973Hz100Hz的质数倍彻底消除拍频。实测数据拍频周期从10ms延长至333ms小车有足够时间完成多次采样取平均。4.5 现象下载新固件后小车完全不动J-Link能连上但无法擦除Flash原因错误配置了STM32的Option Bytes将WRPWrite Protection区域设为0x08000000~0x08003FFF即保护前16KB而新固件恰好需要在此区域写入中断向量表。解决用ST-Link Utility的“Option Bytes”页将WRP0设为0xFFFF取消保护点击“Apply”。后悔药此操作会触发芯片复位需重新下载固件。切记——任何涉及Option Bytes的操作前先备份当前值5. 实车调参实战用三张表格锁定最优参数组合以及如何用手机慢动作视频验证控制效果5.1 直道稳定性测试PID参数与超调量、恢复时间的量化关系我们在2米长直道末端设置15°斜坡模拟赛道接缝扰动记录小车从扰动发生到恢复稳定行驶横向偏差±0.5cm所需时间。测试条件电池电压4.2V赛道为哑光黑胶带反光率5%。KPKIKD最大超调量cm恢复时间ms备注0.60.010.021.2420响应慢但无振荡0.80.0150.030.7280推荐基准值平衡性最佳1.00.020.042.1350出现轻微振荡需配合前馈抑制注意KP超过0.85后小车在直道末端出现“点头”现象车身俯仰这是电机扭矩突变引发的机械共振此时必须降低KP而非增大KD。5.2 弯道通过性测试不同弯道半径下的最小可控速度使用激光测距仪标定赛道弯道半径用手机慢动作240fps录制小车过弯过程逐帧分析车头指向角变化率。关键发现当弯道半径≤30cm时若速度45cm/s方向PID的微分项无法及时响应导致转向不足。弯道半径cm最大安全速度cm/s对应PWM上限推荐控制策略5065850标准PID前馈3045620启用弯道降速检测到连续3次error150时主动将目标速度×0.71525380强制转向模式关闭速度环仅用方向环输出控制左右轮差速逻辑说明“弯道降速”策略在main()循环中实现非中断服务函数——因为降速是宏观决策无需微秒级响应而“强制转向模式”需在TIM2_IRQHandler()中判断确保20ms内生效。5.3 环境光鲁棒性验证用手机APP生成可控光源量化抗干扰能力我们使用开源APP “Lux Light Meter” 将手机闪光灯调至指定照度单位lux在暗室中测试小车脱线距离。结果颠覆常识并非照度越高越难识别而是在300~800lux区间相当于阴天室内最难——此时环境光与红外反射光强度接近信噪比最低。环境照度lux脱线距离cm原因分析应对措施50暗室0红外反射主导信噪比高无需调整450阴天室内12.3环境光与反射光强度比≈1:1.2ADC分辨困难启用动态增益当4路ADC均值2500时自动将ADC采样时间从1.5周期延长至7.5周期提高信噪比2000正午窗边3.1环境光饱和但RPR220仍在线性区保持默认参数// 动态增益切换逻辑在ADC采样前执行 if (adc_avg 2500) { ADC_RegularChannelConfig(ADC1, ADC_Channel_0, 1, ADC_SampleTime_7Cycles5); } else { ADC_RegularChannelConfig(ADC1, ADC_Channel_0, 1, ADC_SampleTime_1Cycles5); }参数说明ADC_SampleTime_7Cycles5比1Cycles5多出6个ADC时钟周期虽降低采样率但使积分电容充分充电信噪比提升11dB实测脱线距离从12.3cm降至4.7cm。6. 进阶技巧用STM32的DAC实时输出控制信号波形把示波器变成你的“黑匣子”6.1 为什么需要DAC监控当逻辑分析仪只能看高低电平而你需要看清PID输出的毛刺示波器看GPIO只能知道“电机在转或停”但看不到PID输出值在20ms内的细微波动——比如积分项累积导致的缓慢爬升、微分项在赛道边缘引发的尖峰。这些正是调参的关键线索。STM32F103C8T6虽无内置DAC但我们用TIM2的PWMRC滤波1kΩ100nF模拟10位DAC将pid_output值映射到0~3.3V。// 将PID输出-1000~1000映射到TIM2 CH1的PWM占空比0~1000 int16_t dac_value (pid_output 1000) / 2; // 归一化到0~1000 TIM_SetCompare1(TIM2, dac_value); // RC滤波后接示波器即可看到连续波形提示RC截止频率设为100HzτRC1ms既能平滑1kHz PWM载波又不衰减PID的10Hz动态响应。6.2 三通道波形诊断法同时观测误差、PID输出、电机实际转速将示波器三通道分别接CH1赛道中心传感器ADC值代表实时误差CH2DAC输出的PID控制量CH3编码器Z相脉冲每转1次代表实际转速观察要点若CH1与CH2存在固定相位差5ms说明PID微分项过弱若CH2在CH1过零点后持续上升表明积分饱和若CH3脉冲间隔忽长忽短而CH2平稳则是机械问题如轮轴松动。我们曾用此法发现某次脱线源于右轮编码器磁片脱落CH3信号丢失但CH2输出正常——这证明控制算法无错问题在感知层。6.3 用Excel做参数回归从200组实测数据中找出KP与赛道反光率的函数关系收集不同反光率赛道哑光黑胶带、亮面PVC、打印纸下的最优KP值用Excel的“添加趋势线→指数拟合”得到公式KP 0.28 × e^(0.0042×ρ)其中ρ为赛道反光率%实测范围2%~45%。这意味着若用手机光度计测得ρ35%则KP应设为0.28×e^(0.0042×35)≈0.32。这比盲目试凑快17倍。最后说句实在话这个项目没有“最终版代码”只有不断迭代的版本。我至今保留着23个Git分支每个都对应一次赛道实测失败——第12次是因为忽略了电机温漂第19次是因为没考虑电池内阻随放电升高。真正的智能不在代码多炫酷而在你是否愿意为0.1cm的偏差拆开小车、重画PCB、重写中断向量表。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

嵌入式面试高频考点:UART、I2C、SPI三剑客全解析

嵌入式面试高频考点:UART、I2C、SPI三剑客全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 17:05:57 阅读更多 →
OBC/DCDC车规芯片国产替代实战:从选型到量产的坑与解法

OBC/DCDC车规芯片国产替代实战:从选型到量产的坑与解法

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 17:05:57 阅读更多 →
APK反编译工具链实战:从解包到重签名全流程解析

APK反编译工具链实战:从解包到重签名全流程解析

简介:面向Android开发与逆向分析场景,这套工具集合覆盖APK反编译的完整常用链路,包含apktool、auto-sign、dex2jar与jd-gui四款组件,可实现资源文件解编译与回编译、DEX字节码转JAR、自动重新签名以及可视化浏览Java源码等操作。a…

2026/10/18 17:05:57 阅读更多 →

最新新闻

智能客服系统不是调API:对话状态机+知识蒸馏+服务缝合

智能客服系统不是调API:对话状态机+知识蒸馏+服务缝合

简介:本资源是一套基于大模型构建的智能客服对话系统完整工程实现,面向Java后端开发者、AI应用工程师及NLP方向学习者,解决企业级客服场景中意图理解、多轮对话管理与个性化响应生成等核心问题。项目以SpringAI为关键中间件,封装大…

2026/10/18 17:57:49 阅读更多 →
STM32F103电机转速扭矩实时采集与Qt上位机显示系统

STM32F103电机转速扭矩实时采集与Qt上位机显示系统

简介:这是一套面向高校《嵌入式系统》《电机控制》《测控技术》课程设计与毕业设计的完整电机参数采集实践工程,解决STM32平台下转速与转矩同步测量、实时可视化及数据持久化等典型工程问题。资源包含359个文件,以124个.h头文件、112个.cpp源…

2026/10/18 17:57:49 阅读更多 →
消息队列多线程消费如何保障顺序性?Kafka与RocketMQ保序实战指南

消息队列多线程消费如何保障顺序性?Kafka与RocketMQ保序实战指南

1. 为什么“多线程消费顺序保障”是个高频踩坑现场你刚接手一个订单履约系统,上游用 Kafka 写入用户下单、支付成功、库存扣减三条消息,下游消费者要按这个顺序更新订单状态。团队一拍脑袋:“加个线程池提升吞吐!”——结果上线三…

2026/10/18 17:57:48 阅读更多 →
从数据到部署:PyTorch CNN实现水下声源定位

从数据到部署:PyTorch CNN实现水下声源定位

简介:面向海洋感知与水声工程等场景,这套实战资源基于PyTorch框架的卷积神经网络构建水下声学信号定位模型,能够输出声源方位角与距离预测结果,适合高校本科生毕业设计、研究生课题起步和课程设计等阶段。整套资源打包为zip压缩包…

2026/10/18 17:57:48 阅读更多 →
HCIA-AI题库源码解析:从数据格式到刷题工具改造

HCIA-AI题库源码解析:从数据格式到刷题工具改造

简介:这份资源是面向备考华为HCIA-AI认证考生的题库型复习资料,作者以950多分通过V4.0升级考试后,将刷题经验整理成题并附上正确答案,帮助读者系统梳理考点、查漏补缺。题库覆盖昇腾AI处理器、Transformer优势、大模型部署、LLM训…

2026/10/18 17:57:48 阅读更多 →
Neo4j 5.23.0 中文版 Windows 一键部署与调优指南

Neo4j 5.23.0 中文版 Windows 一键部署与调优指南

简介:本资源为 Neo4j 社区版 5.23.0 Windows 安装包,面向图数据库初学者、后端开发人员及数据建模实践者,用于本地快速部署高性能图数据库环境,支撑关系型复杂数据建模、知识图谱构建与 Cypher 查询实战训练。压缩包共264个文件&a…

2026/10/18 17:56:48 阅读更多 →

日新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 0:55:02 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →