【CarMaker学习笔记】行人穿过人行道、横穿马路观察自动驾驶车辆避让实验_print_Hyon的博客-程序员宅基地

技术标签: 斑马线  CarMaker  行人  

实验介绍

  • 在双向四车道上,行人穿过车道,自动驾驶的车辆进行避让;
  • 本文主要介绍斑马线和行人的设置,其他内容比较粗略;
  • 如果你想尝试本实验,请确保你已经有了一定的基础,或者能看懂另外两篇文章的实验,不然有些操作不易理解:手把手教你搭建一个闭环道路并运行车辆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的资源中下载:https://download.csdn.net/download/qq_37400312/43748048
  • 斑马线和行人设置不复杂,但摸索花费了一些时间,所以特意写一篇博文分享出来供大家参考,文章中除了这两个内容,其他的都粗略带过;
  • 在多次实验的情况下,发生了多次行人与汽车的相撞,CarMaker自带的自动驾驶也并非完美,本次实验为了达到实验效果,没有采用极端的参数,如果你在实验过程不小心发生了碰撞实属正常,可以修改一下行人和车辆的速度、位置等参数达到实验效果,或者修改自动驾驶的刹车加速度等参数来完善自动驾驶功能。

补充

  • 在IPGMovie界面,我们也可以实时查看速度、方向盘等属性,设置的位置在View-> Overlay-Left或Overlay-Right选择需要显示的模块。
    在这里插入图片描述在这里插入图片描述
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_37400312/article/details/121386232

智能推荐

最强NLP模型BERT喜迎PyTorch版!谷歌官方推荐,也会支持中文-程序员宅基地

郭一璞 夏乙 发自 凹非寺 量子位 报道 | 公众号 QbitAI谷歌的最强NLP模型BERT发布以来,一直非常受关注,上周开源的官方TensorFlow实现在GitHu..._google-research/bert bert-large, cased (whole word masking)有没有pytorch模型

matlab基于瑞利信道,一种基于MATLAB的瑞利信道仿真方法研究-程序员宅基地

一种基于 MATLAB的瑞利信道仿真方法研究 王志杨1 ,  刘金龙2 (1. 安徽电子信息职业技术学院 信息工程系 ,安徽 蚌埠  233030 ;2. 淮海工学院 电子工程学院 ,江苏 连云港  222005) 摘  要 :瑞利信道的仿真在无线通信系统的仿真中具有重要的意义. 文章首先给出瑞利信道的概念 ,并参照Jakes 模型 ,采用 MATLAB 软件 ,仿真出了多径瑞利信道. 为了得到每..._matlab信号通过瑞利信道

python两条轨迹相似度算法_python代码驱动下的 LCSS算法(计算人员轨迹相似度)_周达和的博客-程序员宅基地

1.实验背景最近毕业设计中,希望通过wifi数据计算人员轨迹的相似度。人员轨迹数据按照时间顺序,以地点id的序列来表示。示例:a = [180, 180, 141, 146, 141, 200, 235, 235, 173, 141, 141, 172, 180]b = [165, 235, 180, 141, 240, 171, 173, 172]LCSS算法则可以计算出两个序列之间的最长公共子..._轨迹相似度分析python

SIP-程序员宅基地

1、SIP业务基本知识1.1 业务介绍会话初始协议(Session Initiation Protocol)是一种信令协议,用于初始、管理和终止网络中的语音和视频会话,具体地说就是用来生成、修改和终结一个或多个参与者之间的会话。SIP的业务模式是一个点对点协议,其中有两个要素——SIP用户代理和SIP网络服务器。用户代理是呼叫的终端系统元素,而SIP服务器是处理与多个呼叫相关联信令的网络设备。用户...

深入探索Android布局优化(上)_android density改变刷新流程-程序员宅基地

前言成为一名优秀的Android开发,需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样~。Android的绘制优化其实可以分为两个部分,即布局(UI)优化和卡顿优化,而布局优化的核心问题就是要解决因布局渲染性能不佳而导致应用卡顿的问题,所以它可以认为是卡顿优化的一个子集。对于Android开发来说,写布局可以说是一个比较简单的工作,但是如果想将写的每一个布局的渲染性能提升到比较好......_android density改变刷新流程

游戏开发之Unity学习(九)——IMGUI和UGUI实现血条-程序员宅基地

两种方式实现血条分析两种实现的优缺点IMGUI官方提供的是OnGUI函数来开发UI界面,当然问题也比较多,首先不支持可视化开发,其次UI始终位于所有3D对象的上方,无法实现在UI上添加3D模型的效果。 IMGUI开发简单,仅需几行代码,但是IMGUI需要在将3D位置映射到屏幕位置后,如果对结果进行加减,会使得血条位置偏移过多。UGUI优点: 1. 首先,5.2版本...

随便推点

java script 03 运算符_如果单独使用,那么放在前后都一样-程序员宅基地

1、表达式:由运算符连接的数据,这整个式子称之为表达式。算术运算符(给number类型的) + - * / % ++(自增) --(自减) 注意:++如果单独使用,那么放在前后都一样。++如果出现在表达式内部,那么前++,代表先+1,再参与表达式后++,代表先用旧值参与表达式,表达式结束之后再+12.赋值运算符: = += -= *= /= %=3.字符串连接运算符: +4.关系运算符: 仅适用于两者之间的比较 > <..._如果单独使用,那么放在前后都一样

数据库基本问题【面试必备】-程序员宅基地

1、一些基本概念候选健:能够唯一标识一个元组。在集合中可能有多个候选键,注意候选键也可能是多个属性的集合。主键:是候选键之一,选取它来组织关系外键:不是当前关系的候选键但却是另一个关系的候选键主属性:候选键中的任何一个属性非主属性:不包含在任一候选键中的属性2、完整性约束有哪些?数据库的完整性是指数据的正确性和相容性。数据的正确性是指数据是符合现实世界语义、反映当前实际状况的。数..._数据库基本问题

拒绝手敲,hive创建表只需要输入表名和字段即可自动建表(shell脚本实现)_shell脚本创建hive表-程序员宅基地

#!/bin/bash# $1:表名 $2:分区1 $3:分区2 $4-$n:基础字段# 数据库名称,这里不作为参数用自变量写了database="observation"# hive 拼接语句,分为h1,h2,h3 # h1是建表语句的前半部,h2是参数列表中间部分,h3是建表语句的后半部h1="create external table $database.$1("# ..._shell脚本创建hive表

计算机辅助设计与图形学报电话,计算机辅助设计与图形学学报_汤咸祖的博客-程序员宅基地

计算机辅助设计与图形学学报第22卷第2期2010年2月计算机辅助设计与图形学学报JournalofComputer2AidedDesign&ComputerGraphicsVol.22No.2Feb.2010基于宽基线图像远距离场景的自动三维重建张 峰1)2)1),许振辉1),史利民1),孙凤梅2),胡占义1)(中国科学院自动化研究所模式识别国家重点实验室 北京 100190)(北方工业大..._许振辉 博士

mysql的多表查询_mysql多表查询-程序员宅基地

1.1多表的关系多个表之间是有关系的,那么关系靠谁来维护?多表约束:外键约束。1.1.1 一对多关系客户和订单,分类和商品,部门和员工.一对多建表原则:在多的一方创建一个字段,字段作为外键指向一方的主键1.1.2 多对多关系学生和课程:一个学生可以选择多门课程,一门课程也可以被多个学生选择。多对多关系建表原则:需要创建第三张表,中间表中至少两个字段,这两个字段分别作为外键指向各自一..._mysql多表查询

css怎么显示隐藏div层,CSS隐藏DIV层和显示DIV层的控制方法-程序员宅基地

CSS中的display和visibility属性css中display和visibility可以隐藏和显示html元素包括DIV层。看起来两者非常类似,很多人会搞混。下面分别介绍两者的属性:1.display:none|block;display:none;隐藏该html元素,确切的说,是在浏览器中消除该元素,不占屏幕的空间。若其下有其他元素,就会上移到该空间区域(好像桌子上有100块钱,现在我..._不显示div css

推荐文章

热门文章

相关标签