基于虚拟样机的微缩智能车自动驾驶实验课程
一、 实验原理
“基于虚拟样机的微缩智能车自动驾驶”为研究探索型实验,是在中国科学院自动化研究所王飞跃研究员提出的平行系统、平行智能等理论的启发下发展演化而来。
平行系统:由某个自然存在的实际系统及与之相对应的一个或多个虚拟或理想化的人工系统所共同组成的系统。
平行智能:由人工系统(Artificial Systems)、计算实验(Computational Experiments)和平行执行(Parallel Execution)的智能体系,简称ACP,如图1所示。

A:利用人工场景来模拟和表示复杂挑战的实际场景,采集大规模多样性的虚拟图像和视频数据集,自动生成详细且精确的标注信息;
C:通过计算实验进行视觉算法的设计与评估,包括“学习与训练”、“实验与评估”两种操作模式,计算实验可控、可观、可重复;
P:将视觉系统在实际场景和人工场景中平行执行,进行在线优化,实现对复杂场景的智能感知与理解。
本实验以全国大学生智能汽车竞赛赛题规则中的赛车、赛道为实际场景,对应建立包含虚拟小车和虚拟赛道的人工场景。将实际场景中培养学生参加智能汽车竞赛的经验融入微缩智能车虚拟仿真实验室人工场景中,从手动推车观察对比物理小车“看到”的赛道和虚拟小车“看到”的赛道开始入手,一方面逐步引入实际场景中调试物理小车的实际经验,以难度逐渐加大的不同虚拟赛道为挑战,引导学员由浅入深探索PID控制等经典控制算法在虚拟赛道上的表现;另一方面则充分发挥人工场景善于模拟和表示复杂挑战的实际场景、方便采集大规模多样性的虚拟图像和视频数据集用于深度学习训练的特点,让学员首先在人工场景下的虚拟赛道上测试和训练基于视觉感知数据的端到端深度学习模型,再来思考和探索如何将模型移植到实际场景下的物理小车上,从而践行虚实结合、以虚验实、以虚补实、以虚拓实的实验理念。
二、实验环境
实验空间—国家虚拟仿真实验教学项目共享服务平台现有的虚拟仿真实验课程与本虚拟仿真实验课程与有一个本质区别,前者是搭建一个虚拟场景,然后由人在虚拟场景中完成实验操作,是人在动手做实验,因此存在多个“对最终实验结果有直接影响”实验步骤和记录“进入实验步骤时间”、“结束实验步骤时间”的技术规范要求。而我后者是实验者在接受到实验任务之后,通过编写算法或者训练模型,控制虚拟样机在虚拟场景上完成不同难度赛道,是人脑力劳动后形成的算法/模型在做实验。我们认为我们的这种虚拟仿真实验是面向第四代工业革命人工智能时代人才培养目标、反映自动化专业从传统的体力自动化向脑力自动化发展必然趋势的实验。所以我们没有按照实验空间目前的技术规范上希望的不安装插件、直接在网页上访问的要求来设计实验环境,而是参考国际惯例,借鉴国际上主流的基于虚拟样机的智能车自动驾驶仿真项目来搭建本实验的实验环境,如图2所示。

上述四个主流的基于虚拟样机的智能车自动驾驶仿真项目的虚拟实验场景均是安装在本地,这一方面是为了达到更加逼真的虚拟场景渲染效果,另一方面则是因为训练自动驾驶深度学习模型的算力需求巨大,只有微软、百度、阿里云这样开展云服务的企业才有可能满足多用户大规模在线训练的需求,而且成本不菲。四个项目除了Matlab中的自动驾驶工具箱系商业软件价格不菲外,其余三个均是在github上代码开源的项目。
参考微软的AirSim 官方教程AutonomousDrivingCookbook和Intel Carla的教学理念,我们开发的基于虚拟样机的微缩智能车自动驾驶虚拟仿真实验课程的实验环境由仿真平台、算法平台和交互式学习网站三部分构成:

1) 仿真平台——安装在本地Windows10系统中的微缩智能车自动驾驶虚拟仿真实验室CarLab,其中包含六条难度逐渐加大的赛道;

2) 算法平台——安装在本地Windows10系统中用来操作、控制微缩智能车自动驾驶虚拟仿真实验室的python工程CarCode。

3) 交互学习网站——部署在超星学银在线上的基于虚拟样机的微缩智能车自动驾驶虚拟仿真实验课程(目前第4期课程https://www.xueyinonline.com/detail/223693252正在招生,2022年3月15日正式开课,完成实验一共需要4个学时,在2022年6月15日前完成所有任务点即可,该课程是我们作为中国自动化学会科普教育基地的主要科普工作之一)。

学生需要在交互式学习网站的指导下用算法平台中的代码控制仿真平台中的虚拟微缩智能车以自动驾驶的方式完成虚拟赛道,并在交互式学习网站上以回答问题的形式报告实验进展情况,全部完成了对这些交互式问题的回答即完成了一份电子版的实验报告。仿真平台将现实环境中的物理微缩智能车比赛场景1:1的放到了仿真环境中;算法平台一方面引入实际场景中调试物理小车的实际经验,另一方面则充分发挥人工场景方便采集数据用于深度学习训练的特点,在保障教学过程循序渐进的同时在开源平台码云上提供最新代码,鼓励完成实验的学员开展算法创新和竞赛;为了给学生提供更好的教学服务,交互式学习网站在经历过自行开发的第一代交互式学习网站、超星学习通章节版交互式学习网站、超星学习通独立课程版交互式学习网站三轮迭代后最终在超星学银在线上线面向公众开课,充分利用超星学银在线 “一平三端”智慧教学系统中的成熟教学功能进行教学( “一平三端”是以泛雅云平台,连通教室端(智慧课堂)、移动端(超星学习通)和管理端(智慧教务)三个终端去实现智慧环境下教学新生态的构建。)

使用超星学银在线的另一个优势是该教学系统通过了信息系统安全等级保护3级备案,可以为学员的信息安全提供保障。

三、教学设计
经过多轮专业课和公选课的教学迭代,目前 “基于虚拟样机的微缩智能车自动驾驶”实验课程的教学设计采用五星教学法,在“聚焦解决问题”的教学宗旨下,教学过程由“激活原有知识”、“展示论证新知”、“尝试应用练习”和“融会贯通掌握”四阶段循环圈构成,将具体的教学任务置于循序渐进的实际问题解决情境中来完成,将实际场景中十多年培养学生成功参加全国大学生智能汽车竞赛的实际经验融入微缩智能车虚拟仿真实验室人工场景教学情景中,真正做到虚实结合,以虚补实、以虚拓实、以虚验实。具体实验教学过程如下:

A. 聚焦解决问题:
如何利用虚拟样机和虚拟赛道进行微缩智能车自动驾驶算法研究?
B. 激活原有知识:
a) 微缩智能车自动驾驶虚拟场景怎么来的?
b) 手控车代码测试——从车的视角能获取哪些信息?
c) 已有PID算法过第一关代码测试——自动化控制领域最常见的PID算法能否完成赛道?
C. 展示论证新知:
a) 在自动驾驶模式下调用已有CNN模型测试赛道第一关;
b) 在训练模式下手动采集赛道第一关数据,启动新的CNN模型训练。
D. 尝试应用练习:
a) 用已有的PID算法测试赛道第二关,分析失败原因;
b) 调用已有的CNN模型测试赛道第二关,分析失败原因
E. 融会贯通掌握:
此环节为二选一环节
a) 尝试修改已有的PID算法使之能够通过第二关
b) 采集数据完成新的CNN模型训练并通过第二关,预估其在其他赛道上的表现
环境要素:在https://gitee.com/pisc/CarCode网站提供算法平台CarCode的最新开源代码,鼓励大家在课外进行PID算法和CNN模型的PK,看谁能够先完成全部六关。
四、特色与创新之处
1) 不是搭建一个虚拟场景让人动手做实验,而是人编写算法/训练模型控制虚拟样机在虚拟场景中做实验;
2) 平行智能理论和实验室调车实践自然融合,注重教学方法的应用,鼓励学生探索和创新,真正做到了虚实结合、以虚验实、以虚补实、以虚拓实;
3) 仿真平台短小精悍;算法平台灵活易扩展;交互式网站功能强大、安全可靠。
附件:基于虚拟样机的微缩智能车自动驾驶实验系列课程








