[Python]自动驾驶感知与决策练习题 (1-10)

📖 项目简介

本系列包含 10 道 Python 编程练习题 ,围绕 自动驾驶系统的感知与决策​ 这一真实工程场景展开。题目由浅入深,涵盖基础仿真、数据校验、多传感器融合、多帧跟踪、车道级统计等核心模块。旨在帮助学习者:

  • 巩固 Python 基础语法(函数、字典、列表、循环、条件分支)

  • 培养防御性编程思维(边界处理、缺失字段、异常值)

  • 掌握工业级代码的组织方式(模块化、函数拆分、结构化输出)

  • 熟悉自动驾驶领域常见的业务逻辑(TTC 计算、FCW 预警、传感器融合、跟踪稳定性)

  • 项目地址:Python_Exercise


🧩 题目概览

编号 题目名称 领域 核心知识点 难度 (华为OD) 难度 (LeetCode) 适用对象
1 brake_simulate.py 制动仿真 函数定义、字典操作、条件判断、边界截断、运动学公式 入门 Easy Python 初学者
2 complete_cl_simulate.py 闭环仿真 while 循环、状态更新、函数复用、简单决策树 简单~中等 Easy 初级开发者
3 fcw_decision.py FCW 预警决策 多级决策、列表字典遍历、错误处理、结构化输出 中等 Easy-Medium 中级开发者
4 sensor_fusion.py 传感器融合 加权平均、多层函数调用、字典键检查、批量处理 简单 Easy 初级开发者
5 traffic_light_warning.py 红绿灯预警 多分支决策树、单位换算、时间计算、批量处理 简单~中等 Easy 中级开发者
6 waypoint_validity_check.py 路径点校验 字典键检查、范围校验、逻辑校验、批量过滤 简单 Easy Python 初学者
7 multi_sensor_fusion.py 多传感器融合(扩展) 多源数据合并、校验、来源统计、模块化设计 简单~中等 Easy 初级开发者
8 dangerous_ttc_filter.py 危险 TTC 过滤 嵌套遍历、TTC 计算、统计分组、去重逻辑 中等 Easy-Medium 中级开发者
9 lane_level_warning.py 车道级目标预警 三维嵌套遍历、按车道分组、缺失键处理、最危险车道判定 中等 Easy-Medium 中级开发者
10 multi_frame_tracking.py 多帧跟踪稳定性 跨帧聚合、按 track_id 分组、平均 TTC、排序输出 中等 Easy-Medium 中级开发者

说明:难度评级参照华为 OD 机试和 LeetCode 体系,侧重工程实现而非算法技巧。


🎯 题目特点

  1. 场景真实:所有题目均脱胎于自动驾驶系统开发中的实际子任务,如制动决策、FCW 预警、传感器数据融合、目标跟踪稳定性分析。

  2. 由浅入深:第 1-2 题为单步/闭环仿真,第 3-4 题引入决策和融合,第 5-8 题增加复杂条件分支和数据校验,第 9-10 题要求处理多维嵌套数据并进行聚合统计。

  3. 强调防御性编程:几乎每道题都明确要求处理缺失字段、异常值、除零、空列表等边界情况,这正是工业级代码与竞赛代码的重要区别。

  4. 结构化输出:所有题目均要求返回特定格式的字典或列表,培养数据建模和接口设计能力。

  5. 模块化设计 :鼓励将复杂逻辑拆分为多个小函数(如 calculate_decelerationvalidate_targetfuse_sensors),便于测试和维护。


👥 适用对象

  • Python 初学者:可从第 1、6 题入手,掌握基础语法和函数编写。

  • 初级开发者:建议完成第 2、4、7 题,学习循环、列表字典操作和简单模块化。

  • 中级开发者:推荐挑战第 3、5、8、9、10 题,锻炼复杂条件分支、数据聚合和边界处理能力。

  • 自动驾驶入门者:整套题目可作为理解感知、决策、融合概念的实践辅助材料。

  • 求职备战者:特别适合准备华为 OD 机试(中等难度)或自动驾驶相关岗位的笔试面试。


🚀 学习建议

  1. 先独立尝试:每道题至少自己动手实现一遍,不要直接看答案。

  2. 重视边界测试:除了题目给出的示例,尝试构造极端输入(空列表、缺失字段、负数速度等),验证代码的鲁棒性。

  3. 对比优化:完成后再查看参考答案或与他人交流,比较代码的可读性、简洁度和性能。

  4. 扩展延伸 :可以尝试为某些题目添加单元测试(如 pytest),或者将单帧处理扩展到实时流式处理。

  5. 刷题对标 :如需进一步提升,可配合 LeetCode 上标签为 ArrayHash TableSimulation 的 Easy-Medium 题目,以及华为 OD 题库中的"数据统计""日志分析"类题目。


📄 文件结构

复制代码
.
├── README.md                  # 本文件
├── 1_brake_simulate.py        # 单步制动模拟
├── 2_complete_cl_simulate.py  # 完整闭环仿真
├── 3_fcw_decision.py          # FCW 预警决策
├── 4_sensor_fusion.py         # 传感器融合(基础)
├── 5_traffic_light_warning.py # 红绿灯预警
├── 6_waypoint_validity_check.py# 路径点校验
├── 7_multi_sensor_fusion.py   # 多传感器融合(扩展)
├── 8_dangerous_ttc_filter.py  # 危险 TTC 过滤
├── 9_lane_level_warning.py    # 车道级目标预警
└── 10_multi_frame_tracking.py # 多帧跟踪稳定性

📜 许可

本项目仅供学习交流使用,遵循 MIT License。

相关推荐
满栀5851 小时前
原生JS + ECharts 多图表可视化实战:从业务实现到工程化优化
开发语言·javascript·echarts
Ming_studying1 小时前
Python + SQLite FTS5 构建本地文档全文搜索器:增量索引、中文检索与高亮
jvm·数据库·python·sqlite
玉鸯1 小时前
让 Agent 面向用户:AG-UI 协议构建 Agent 前端
前端·python·agent
熬夜苦读学习2 小时前
Qt-- 系统相关
开发语言·qt
弹简特2 小时前
【Java项目-企悦抽】11-用户与认证模块-实现用户登录03(结束登录功能)-完成测试+对接前端+登录拦截器
java·开发语言
小白学大数据2 小时前
把 Modbus 轮询塞进 Trio 的异步循环:内存映射与定时采集实战
网络·python·搜索引擎
haolin123.2 小时前
类和对象(下)
c语言·开发语言·c++
FriendshipT2 小时前
Ubuntu 20.04 下使用 Ollama 本地部署 AI 大模型
linux·人工智能·python·深度学习·ubuntu
天天爱吃肉82182 小时前
# 商用车多体动力学实战笔记|第7篇:制动系统与制动热衰退、ABS滞环控制
大数据·人工智能·笔记·python·嵌入式硬件·汽车