本文已参与「新人创作礼」活动,一起开启掘金创作之路。
实验介绍
- 在双向四车道上,行人穿过车道,自动驾驶的车辆进行避让;
- 本文主要介绍斑马线和行人的设置,其他内容比较粗略;
- 如果你想尝试本实验,请确保你已经有了一定的基础,或者能看懂另外两篇文章的实验,不然有些操作不易理解:手把手教你搭建一个闭环道路并运行车辆,T型路口多车运行实验
- 实验环境:windows10、CarMaker 10.2
实验目的
- 学习行人的仿真
- 学习人行道的创建
- 学习多个车辆的自动驾驶设置
实验内容
- 道路:双向四车道。
- 运动轨迹:
- 所有车辆均配有CarMaker自带的自动驾驶系统
- 一位学生径直走过斑马线
- 另一位行人踩着滑板看着手机斜穿过马路
实验效果
- 汽车视觉
- 学生视觉
- 行人视觉
实验过程
搭建场景
- 设置车道为四车道
- 搭建长度在100米左右的车道
将车道差不多分成四份
设置路线
- 设置6条不同的路线,起点不完全相同,终点都在道路最左侧或最右侧,尽可能平均分布,效果会好一些
新增自动驾驶车辆
- 选择一辆合适的车辆
- 运行策略设置为:初始速度20km/h,按照这个速度行驶999秒,采用IPGDeiver自动驾驶
新增其他驾驶车辆
- 新增一辆车,策略为:初始速度20km/h,按照这个速度行驶999秒,采用自动驾驶
- 将这个配置的车辆多复制出来四个
- 每一辆车对应不同的路线,即修改Route name的值
- 调整右侧的Speed unit,默认为m/s,改成km/h,统一单位
查看车辆运行效果
新增斑马线
- 进入场景编辑界面,长按右侧的Road Marking,选择Road Marking - Point list
- 在第二条道路右侧,画一条线(方法:右键单机道路两侧,线条出来后,双击画板空白处)
- 调整线条参数的Line type为Broken line,Space length、Dash length、Width进行适当调整,可参考下图参数
设置穿过斑马线的学生
- 创建一个新的交通对象
- 名称(Name)为P_1
- 行人人物(Movie geometry + Object parameters)选择3D/People/Pedestrian_Female_Child_02_SchoolBag.manim
- 行人的角度(Orientation x/y /z [deg])设置z方向旋转90度,因为行人要穿过马路,当前方向需要与道路垂直(如果Route选择另一个方向的,则旋转角度需设置为-90度,视情况调整)
- 行人路线(Route name),我选择的Route 0是从最左侧贯穿到最右侧的轨迹
- 行人起始位置(Start position s /t [m]),这个位置是相对所选轨迹起始点的相对x、y方向的位置,因为Route 0初始位置距离斑马线x方向约55m,距离车道旁边适合人站的位置约2.8米,所以这两个参数我设置为55和-2.8,这两个值也是视情况而定
- 设置任务移动策略,初始速度为10km/h
- 15秒内横向移动12米(横向运动Lateral motion中的属性Lateral position表示横向移动的意思,轨迹默认移动方向为纵向移动,穿过斑马线自然需要横向移动)
- 穿过斑马线后,延轨迹方向以10m/s的速度移动999秒
- 以小孩视觉查看运动情况
新增横穿马路的行人
- 初始参数和小孩的设置差不多,角度这里不再是90度,而是80度
- 运动策略:初始为10km/h
- 20秒内横向移动15米
- 最后以10km/h的速度移动999秒
- 设置完成,回到主界面点击Start查看效果
结束
- 本次实验可以在CSDN的资源中下载:download.csdn.net/download/qq…
- 斑马线和行人设置不复杂,但摸索花费了一些时间,所以特意写一篇博文分享出来供大家参考,文章中除了这两个内容,其他的都粗略带过;
- 在多次实验的情况下,发生了多次行人与汽车的相撞,CarMaker自带的自动驾驶也并非完美,本次实验为了达到实验效果,没有采用极端的参数,如果你在实验过程不小心发生了碰撞实属正常,可以修改一下行人和车辆的速度、位置等参数达到实验效果,或者修改自动驾驶的刹车加速度等参数来完善自动驾驶功能。
补充
- 在IPGMovie界面,我们也可以实时查看速度、方向盘等属性,设置的位置在View-> Overlay-Left或Overlay-Right选择需要显示的模块。