实验介绍
- 在T形路口体验CarMaker自带的IPGDriver自动驾驶功能的效果
- 环境:Windows 10、CarMaker 10.2
- 目的:
- 通过Traffic模块创建多辆行驶中的汽车
- 学习单车道的绘制方法
- 学会使用IPGDriver
- 调整车辆在不同路线上运行
- 水平要求:可以运行样例,自由创建道路和基本参数设置,运行车辆,如果还存在困难可以参考上一篇博文:【CarMaker学习笔记】手把手教你搭建一个闭环道路并运行车辆
实验内容
- 道路:T型路口,主道路为同向两车道,右方T字区域为单向双车道。
- 运动轨迹:
- 无人驾驶车辆(红色汽车)在主道路行驶,然后行驶至T型路口区域,右转至单向双车道;
- 无人驾驶车辆车辆周围有3辆车,分别设定好固定的行驶轨迹和行驶速度
- 规定无人驾驶车辆本车道前方车辆(蓝色车辆)一开始以5m/s匀速行驶,然后进行减速;右边车道后方车辆(黑色车辆)以6 m/s的速度匀速直线行驶;右边车道前方车辆(白色车辆)以6m/s匀速行驶,然后进行减速,在T型路口处右转。
注:5 米/秒=18 千米/时
实验效果
实验过程
搭建场景
- 因为T型道路的主干道为单向双车道,我们要先调整道路车道属性,点击Lanu Configuration按钮,右侧会弹出车道属性设置
- 我们将默认的0 leff和1 left删掉
- 此时,创建两个Straight道路,都是单向双车道
- 再将车道调整回双向车道,创建第三个Straight道路
- 通过Junction控件链接左侧和下方的道路
- 再连接右侧的道路
- 连接成功后,如下图所示
- 连接顺序很重要,如果先连接上面两个,再连接下面的,道路会变成红色,运行时会提示IPGDriver: Calculate road s= 94.371m (2). (id=319) 这样的错误信息
切割道路
-
因为车辆起点不同、轨迹不同,所以将道路分为两部分有助于环境搭建,切割道路使用Lanu section控件
-
我们在距离车道左侧起点24m左右的地方进行切割,此时该段道路被分为两部分,可以分开进行其他操作了
绘制运行轨迹
- 自动驾驶车辆轨迹route 0:
- 蓝色车辆运行轨迹route 1:
- 黑色车辆运行轨迹route 2:
- 白色车辆运行轨迹route 3:
注意轨迹的开始位置,不要设置错了
设置其他车辆
- 打开Traffic界面
- 新增车辆:
-
白色车辆:修改名称为C_R_F,车辆使用样例内的3D/Vehicles/MB_Atego_2013_Move.mobj,路径名称改为3
运行策略(Maneuver):
-
蓝色车辆:修改名称为C_L_F,车辆使用样例内的3D/Vehicles/VW_Beetle_2012_Blue.mobj,路径名称改为1
运行策略:
-
黑色车辆:修改名称为C_R_B,车辆使用样例内的3D/Vehicles/MB_CClass_2015.mobj,路径名称改为2
运行策略:
-
设置自动驾驶车辆
- 我们选择Demo_Audi_TT这辆车作为自动驾驶车辆
- 行驶策略中速度设置为18km/h
运行结果
- 在IPGMovie界面,我们看到的车辆默认是不显示名称的,选中View->Show->Traffic Object Names显示车辆名称
- 如果你的车辆位置和名称与我的不一样,或者位置不一样,可能是再Traffic界面的设置错误,或者是Scenario / Road场景界面的Road设置错误,要仔细检查
- 点击Start,查看运行结果
结束
- 本次实验可以在CSDN的资源中下载:https://download.csdn.net/download/qq_37400312/41900912
- 如果你按照我的实验过程做出来的运动情况在实际运行中略有区别,比如红色车辆中途自动停止又继续前进,或者小车发生了碰撞,主要原因是道路长度和刚开始进行分割道路距离与我不完全一致的问题,可以在Manever中进入Driver Parameter内的Traffic设置Following Leading Vehicle(跟随引导车辆)的参数,调整到合适的位置即可。
- 本次实验还算顺利,一天做了三个实验,还有一个人行道和行人过马路的两个比较好的实验,但写博客太耗时间,所以这次整理了这一个实验。
- Traffic里的小车也可以自动驾驶,在Longitudinal motion处设置为Autonomous driving选项即可。
- 道路设置这次花费了我不少时间,几乎按了场景设置里每个按钮才找到道路设置的位置,同时,对于不同的道路想使用Junction也发生了一些问题,虽然找到了错误的规律,但不知道为什么,只有按照先单行道与双行道相连,再与另一个双行道相连才不会报错。