spContent=本课程围绕无人驾驶的感知、规划及控制等典型应用,结合信息技术通识课程特点,通过系列无人驾驶实验,让同学们深入理解计算机和人工智能基础知识,掌握解决问题的方法,培养能力,开拓视野,为大学四年各学科的计算机和人工智能应用能力打下良好基础。
本课程围绕无人驾驶的感知、规划及控制等典型应用,结合信息技术通识课程特点,通过系列无人驾驶实验,让同学们深入理解计算机和人工智能基础知识,掌握解决问题的方法,培养能力,开拓视野,为大学四年各学科的计算机和人工智能应用能力打下良好基础。
—— 课程团队
课程概述
“大学计算机基础”是面向本科生开设的信息技术系列通识教育课程中的基础课程,“大学计算机创新实验”,是该课程的实验部分。
人工智能、创新创客,这些时代热点词汇,伴随着当代大学生们的学习和生活、思考和畅想。提到计算机的学习,在现在的智能创新时代,不仅仅是学习哪门程序设计语言,更重要的是学习如何让各种变形的计算机 “活”起来,让它们成为有智能、会学习、胜任工作的新助手。
无人驾驶是人工智能的集大成者。本实验课程以无人驾驶技术为主线,通过实验形式融入计算机基础知识,包括:硬件平台(多种传感器)、软件平台(虚拟机、Linux、ROS)、程序设计语言(Python)、算法及实现(路径规划、车辆控制、车速预测等)、人工智能应用(图像识别)、虚拟仿真等。团队依托北京交通大学“智慧交通”优势特色,围绕无人驾驶的感知、规划及控制等典型应用,结合信息技术通识课程特点,设计并开发系列无人驾驶实验,让同学们通过实际操作深入理解计算机和人工智能基础知识,掌握解决问题的思路,培养能力,开拓视野,为大学四年各学科的计算机和人工智能应用能力打下良好基础。
表: 大学计算机创新(无人驾驶)实验
模块 | 实验名称 | 知识点 |
认知 | 实验1.知识探索--无人驾驶车辆的传感器 | 硬件平台,Apollo,传感器 |
实验2.知识探索--机器人操作系统 | 软件平台,Ubuntu,ROS,虚拟机 |
基础 | 实验3.挑战代码--无人驾驶的车速预测 | 程序设计,感知,卡尔曼滤波算法 |
实验4.挑战代码--无人驾驶的路径规划 | 程序设计,规划,A*算法 |
实验5.挑战代码--无人驾驶的车辆控制 | 程序设计,控制,PID算法 |
实验6.挑战代码--交通标志牌的图像识别 | 程序设计,机器学习,CNN模型 |
拓展 | 实验7.知识探索--无人驾驶的高精度地图 | 数据管理,高精度地图 |
实验8.挑战代码--制作智能小车 | 程序设计,Arduino,传感器 |
实验9.虚拟仿真--无人驾驶的虚拟仿真测试 | 虚拟仿真,Apollo Studio |
实验10.虚拟仿真--高铁轨道的智能运维 | 虚拟仿真,高铁轨道检测,传感器,机器学习 |
本课程配有实验教材。教材可作为大学低年级学生学习“大学计算机基础”、“人工智能基础”等课程的配套或拓展的实验教材,也可作为人工智能、无人驾驶、双创实践的科普读物,适用于对人工智能、算法感兴趣的青少年、大学生和社会公众。欢迎大家选修这门课程,让我们一起踏上探索的旅程。
---------------------------------------------------------
北京交通大学
计算机与信息技术学院
智能信息技术教育中心
人工智能与未来交通技术科普教育基地
“大学计算机”课程团队
授课目标
智能创新时代,不仅仅是学习程序设计语言,更是要让各种变形的计算机 “活”起来,让它们成为有智能、会学习、胜任工作的新助手。本课程将以无人驾驶为载体,贯穿计算机科学与技术所蕴含的计算思想,培养计算思维、人工智能思维和实践能力,让大学生开阔视野、融会贯通,像科学家一样思考,像工程师一样解决问题。
课程大纲
实验1.知识探索--无人驾驶车辆的传感器
课时目标:无人驾驶系统涵盖了人工智能、大数据、云计算等领域的技术,是一个集成了计算机、传感器、操作系统、应用软件、算法的复杂计算机系统。硬件平台包括控制装置、传感器、计算机硬件部件,其涉及到的传感器种类很多,包括激光雷达、摄像头、全球定位系统、惯性测量单元、毫米波雷达和超声波雷达。实验通过向学生展示无人驾驶实体车,让学生近距离接触车载传感器,结合原理能够了解无人驾驶车辆的感知能力,进而对复杂的无人驾驶系统有一个概貌认识。
实验2.知识探索--机器人操作系统
课时目标:ROS(Robot Operating System)是常用于机器人和无人驾驶领域的操作系统,包括专用的工具软件、库代码和约定协议,也提供用于获取、编写、编译和跨计算机运行代码所需的工具和库函数,简化了跨机器人平台创建机器人行为过程的难度与复杂度。基于ROS,实验模拟了以下基本运动功能:自由移动实验、圆周运动实验、绕过障碍物实验和复杂环境巡径实验。实验使用VMware虚拟机软件、Ubuntu操作系统、kinetic版本的ROS机器人编程框架、仿真界面工具包RViz等软件。实验融入路径规划与导航应用场景,学生通过配置ROS运行环境、自主搭建工作空间、加载地图与场景文件、设置始末点等实验流程,实现趣味性、沉浸式和探究式体验学习。通过实验,学生可以掌握软件平台常用命令,以及基本人机交互方法的实现。
实验3.挑战代码--无人驾驶的车速预测
课时目标:无人车通过传感器来获得某一时刻车辆的环境信息。由于传感器的测量存在误差,需要对测量结果进行实时的更新和处理来保证位置、速度等信息的准确性。卡尔曼滤波是利用线性系统状态方程对系统状态进行最优估计的算法,在通信、导航与控制等多领域得到了较好的应用效果。实验使用Python编程语言、PyCharm开发环境,通过设置不同情景实现卡尔曼滤波器算法实验结果,通过绘制图形来对比分析。通过阅读、理解和运行代码,学生能够掌握基本编程方法、建模和算法设计、绘制图形、分析比较等一系列实验工作过程。
实验4.挑战代码--无人驾驶的路径规划
课时目标:路径规划方法是在有障碍物环境下,通过考虑局部移动主体规划出一条从起始状态到目标状态的不发生碰撞的路径。A*算法是一个经典的离散空间路径搜索算法,在无人驾驶领域中用来找到城市网格中最短的一条路线,也可用于局部搜索最优路径。在实验中,学生理解工作原理,阅读和运行代码、修改相关参数、使用评价指标与其他算法实验结果进行对比。通过实验,学生能够理解A*算法在无人驾驶路径规划方面的应用,学习使用数据结构来构建算法模型,提高程序设计的综合能力。
实验5.挑战代码--无人驾驶的车辆控制
课时目标:无人驾驶汽车的车辆控制,是基于环境感知技术获得外部环境信息、根据决策规划出目标轨迹、再通过车辆的纵向和横向控制系统的配合,使汽车在行驶过程中能够实现车速调节、车距保持、换道、超车等车辆操作。实验通过PID算法,让学生思考实际应用中的各种影响因素,学习车辆控制的具体实现方法。通过确定比例系数、积分时间常数和微分时间常数,对比输出曲线图,分析实验结果,学生可了解无人驾驶控制模块的相关知识,体会其应用场景,强化算法和程序设计综合能力。
实验6.挑战代码--交通标志牌的图像识别
课时目标:基于深度学习的计算机视觉被广泛应用于无人驾驶领域,包括动态物体检测、通行空间检测、车道线检测和静态物体检测。静态物体检测是无人驾驶感知环节的基础,其分类任务的结果为决策规划功能提供重要依据。实验基于深度学习模型来识别不同类别的交通标志,采用卷积神经网络模型,使用GTSRB公开数据集进行训练、验证和测试。数据处理流程包括数据集描述、灰度图像、灰度图像均衡化和数据增强等操作。实验编程语言是Python,采用PyCharm开发环境,主要的库函数有数值计算库numpy、数据分析库pandas、机器学习库sklearn、可视化库matplotlib、深度学习库keras。学生逐块运行200余行代码,产生中间图表和最后模型的准确率等结果,识别准确率可以达到95%。学生还可以通过自己修改超参数来进行拓展性实验,对比不同参数情况下的模型性能。通过实验,学生能够深入理解深度学习在无人驾驶中的应用方法和实现过程,面向应用解决问题。
实验7.知识探索--无人驾驶的高精度地图
课时目标:数字地图是人类使用的、在一定坐标系统内、具有确定的坐标和属性的地面要素和现象的离散数据的集合。在无人驾驶中,使用的不是传统的数字地图,而是高精度地图,是专为无人驾驶而设计的精度更高、数据维度更多的数字地图。高精度地图是为机器设计的,它有复杂的数据元素,包含更丰富的道路交通相关的信息,如车道线的位置、类型、宽度、坡度和曲率,交通标志、信号灯、车道限高、下水道口、障碍物、高架物体、防护栏、道路边缘类型、路边地标等道路交通相关信息,包含细节和较为丰富的语义。因此,高精度地图需要数据格式的规范,主要规范有:地理数据文件(GDF)规范,导航数据标准(NDS),OpenDRIVE格式规范等。本实验以OpenDRIVE例,将数据进行多层次规范化管理和可视化。通过实验,学生能够对高精度地图、数据管理和可视化有较为深入的理解。
实验8.挑战代码--制作智能小车
课时目标:Arduino是一款开源电子平台,它包含硬件(各种型号的Arduino板)和软件(Arduino IDE),能通过使用各种各样的传感器来感知环境,通过控制各种装置来实现丰富的功能。它小巧便捷、方便上手、程序设计简单清晰、开源社区活跃、应用发展迅速,是一款很好的学习和实践平台。本次实验,我们使用的部件主要有:Arduino UNO电路板、L293D驱动模块和传感器,通过硬件连接和软件编程,自己动手制作一辆“小车”。因硬件资源有限,本实验主要配合丰富的演示视频完成。通过实验,学生能够对开源硬件、传感器的应用有较为深入的理解。
实验9.虚拟仿真--无人驾驶的虚拟仿真测试
课时目标:无人驾驶,安全第一。算法模型需要达到极高的性能才能保证无人驾驶的安全可靠,而这离不开大量的实际道路驾驶测试,简称路测。有研究表明,无人驾驶算法想要达到“类人”即驾驶员的水平,需要累计超过177亿公里的行驶数据方可实现.因此,基于虚拟仿真的道路测试(路测)非常重要。目前无人驾驶仿真技术已经较为成熟,仿真环境变得越来越多样化、真实化,能够有效地验证无人驾驶车辆的性能和安全性。以Gazebo、Webots、CARLA和Apollo等为代表的众多开源或商业化仿真测试平台,都在持续积极改进和更新自身技术。本实验以国内著名的开源平台Apollo为基础,让学生对无人驾驶开源仿真平台的功能有一个整体了解。
实验10.虚拟仿真--高铁轨道的智能运维
课时目标:高铁是我国的新名片。本实验让学生参与高铁轨道的巡检过程,体验高铁轨道的智能运维。由于高铁运行特点不具备实训条件,本实验基于北京交通大学自主研发的“高铁轨道巡检视觉感知虚拟仿真实验教学平台”开展实验,通过虚拟仿真技术模拟在不同线路和天气环境下的高铁轨道巡检模式,帮助学生学习和分析典型的轨道病害,动手参与实际高铁轨道的巡检过程。实验内容包括“传感器原理实验”、“轨道视觉巡检实验”以及“轨道病害识别实验”,让学生理解计算机的实际应用,锻炼学生的综合解决问题能力。
展开全部
预备知识
该课程是一门计算机综合实践课,面向各专业的大学生,以及感兴趣的青少年和社会公众。要求具备基本的计算机文化素养。建议使用配套教材《大学计算机创新实验指导—无人驾驶典型应用》学习 。
参考资料
教材:《大学计算机创新实验指导—无人驾驶典型应用》,周围,彭文娟,赵守强,许华婷著,清华大学出版社,北京交通大学出版社,2023年8月

常见问题
问:如何搭建实验环境?
答:各实验涉及到的软件工具以开源免费为主,方便部署实验环境。具体内容可查阅教材《大学计算机创新实验指导—无人驾驶典型应用》,也可咨询作者:wzhou@bjtu.edu.cn。
问:我是一名中学生,对人工智能和无人驾驶感兴趣,如何学习这门课?
答:非常欢迎感兴趣的青少年、社会公众选择这门课作为无人驾驶的入门课程。对于无人驾驶小白“”,建议看每个实验的导入视频,它会通俗易懂地介绍本实验的概要,再根据自己需要进入教师讲解视频。对于有一定程序设计基础的同学,可配合教材和教师讲解视频,在自己的电脑上练习。
问:能介绍一下“人工智能与未来交通技术科普教育基地”吗?
人工智能科普教育基地依托北京交通大学计算机与信息技术学院智能信息技术教育中心建设,是面向公众传播科学思想、弘扬科学精神、培育创新思维和能力的“智慧交通”方向的教育科研类公益性科普教育基地。基地积极发挥教学科研优势,将国家一流MOOC课程、高铁轨道虚拟仿真平台、省部级教学成果奖等资源拓展为新媒体科普资源,通过科普微信公众号、科普志愿者团队等渠道,与协作单位共建了中小学科普课堂、青少年信息学社团、科普日开放讲座、实验室科普实践等活动,开展了面向青少年、大学生、社会公众的丰富科普系列活动。2023年获批“北京市科普基地”称号。