news 2026/4/16 12:52:09

有没有被OpenScenario里的各种参数绕晕过?这份思维导图帮你把天灵盖掀开

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
有没有被OpenScenario里的各种参数绕晕过?这份思维导图帮你把天灵盖掀开

OpenScenario场景仿真结构思维导图, OpenScenario是 自动驾驶仿真软件carla推出来的场景仿真标准,可配合carla一起完成整套自动驾驶的闭环仿真过程,将场景搭建变成可编程化的方式。 可以模拟出自动驾驶真实环境中出现的各种各样的路况环境,例如:被动超车场景、跟车变道场景、换道场景等等。 该思维导图是我们两位自动驾驶仿真工程师耗时一个多月整理出来的。 倘若您具备Openscenario 场景编辑的基础,但是又觉得很多场景无法进行编辑复现,那么该思维导图将是您进行关键词查阅的极佳助手。 倘若您还没接触过Openscenario场景搭建,那么您可以用vscode打开我给您准备的follow_stop_and_run.xosc 这是跟车停止又加油前进的场景,对着这个场景内部的关键字,结合思维导图就能理解自动驾驶虚拟仿真原来是这么搭建出来的了。 倘若您还想动手实时观察场景搭建的效果,请您关注我们的另一个项目,OpenScenario场景仿真搭建。

玩过OpenScenario的同学都知道,这玩意儿就像个乐高积木盒子——参数多到爆炸,拼起来却总差那么几块关键零件。去年我和同事为了搞明白"跟车时前车突然刹车再加速"这种看似简单的场景,硬生生把xosc文件翻烂了三个版本,最后发现原来Storyboard里的Act和ManeuverGroup在玩俄罗斯套娃。

这里有个现成的案例(followstopand_run.xosc):

<Storyboard> <InitActions> <PrivateAction> <TeleportAction> <Position> <WorldPosition x="15" y="165" z="0"/> </Position> </TeleportAction> </PrivateAction> </InitActions> <Act name="Act1"> <!-- 场景舞台的大幕 --> <ManeuverGroup> <!-- 演员们的小分队 --> <Actors selectTriggeringEntities="false"/> <Maneuver name="FollowSequence"> <Event maximumExecutionCount="1" name="FollowEvent"> <Action name="SpeedAction"> <!-- 油门踏板在这里 --> <PrivateAction> <LongitudinalAction> <SpeedAction> <SpeedActionTarget> <AbsoluteTargetSpeed value="10"/> </SpeedActionTarget> </SpeedAction> </LongitudinalAction> </PrivateAction> </Action> <StartTrigger> <!-- 舞台灯光亮起的瞬间 --> <ConditionGroup> <Condition delay="0" name="SimulationTimeCondition"> <ByValueCondition> <SimulationTime value="1" rule="greaterThan"/> </ByValueCondition> </Condition> </ConditionGroup> </StartTrigger> </Event> </Maneuver> </ManeuverGroup> </Act> </Storyboard>

看到那个了吗?在思维导图的"动态行为层→纵向控制→速度控制"分支下,我们还标注了三个隐藏属性:acceleration和continuous这两个参数不填的话,车辆会瞬移加速到你设定的速度——这坑我们踩过,结果测试时车辆直接闪现,把毫米波雷达都整懵了。

OpenScenario场景仿真结构思维导图, OpenScenario是 自动驾驶仿真软件carla推出来的场景仿真标准,可配合carla一起完成整套自动驾驶的闭环仿真过程,将场景搭建变成可编程化的方式。 可以模拟出自动驾驶真实环境中出现的各种各样的路况环境,例如:被动超车场景、跟车变道场景、换道场景等等。 该思维导图是我们两位自动驾驶仿真工程师耗时一个多月整理出来的。 倘若您具备Openscenario 场景编辑的基础,但是又觉得很多场景无法进行编辑复现,那么该思维导图将是您进行关键词查阅的极佳助手。 倘若您还没接触过Openscenario场景搭建,那么您可以用vscode打开我给您准备的follow_stop_and_run.xosc 这是跟车停止又加油前进的场景,对着这个场景内部的关键字,结合思维导图就能理解自动驾驶虚拟仿真原来是这么搭建出来的了。 倘若您还想动手实时观察场景搭建的效果,请您关注我们的另一个项目,OpenScenario场景仿真搭建。

新手建议从Trigger条件树开始解剖。比如当你想让前车在距离路口20米时突然变道,思维导图的"事件触发层→条件判定"里藏着三种触发方式:ByEntity(特定实体触发)、ByValue(数值触发)、UserDefined(自己写脚本)。上次有个哥们把ByValue里的SimulationTime错用成StoryboardTime,导致整个场景的触发时机完全错乱,调试时差点以为撞鬼了。

对着代码和导图比划比划你会发现,OpenScenario最妙的是它的"洋葱结构"——最外层Storyboard是总导演,里面层层包裹的Act是分镜头脚本,最内核的Condition就是场记板。我们甚至给导图加了颜色标签:红色是死亡陷阱(比如不兼容的触发器嵌套),绿色是常用捷径(像复用ManeuverGroup的模板),黄色代表需要配合Carla API使用的混合模式。

最后说个冷知识:导图的"环境层→天气系统"分支里,雾浓度参数的单位是米(visibilityDistance),但Carla实际渲染时用的是百分比。这个参数映射问题我们花了三天才从源码里刨出来,现在导图上直接标注了换算公式:雾浓度%=(1000-实际距离)/10,能帮你省下至少两杯咖啡的时间。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/12 17:33:51

永磁同步电机建模这玩意儿说难不难,说简单也不简单。最近在Simulink里手搓了两个模型,B_PMSM和S_PMSM,今天咱们就拆开看看它们的门道

Simulink永磁同步电机(PMSM)模型&#xff0c;一共有两个&#xff0c;分别是基本型永磁同步电机模型(B_PMSM)和磁饱和型永磁同步电机模型(S_PMSM)。 两者的区别是前者电机参数是定值&#xff0c;后者部分电机参数是变值(由Id和Iq共同决定)。 两个模型都是按照定子电压方程磁链方…

作者头像 李华
网站建设 2026/4/16 10:46:25

Qwen-Image-2512-ComfyUI保姆级教程:从镜像部署到首张图生成

Qwen-Image-2512-ComfyUI保姆级教程&#xff1a;从镜像部署到首张图生成 获取更多AI镜像 想探索更多AI镜像和应用场景&#xff1f;访问 CSDN星图镜像广场&#xff0c;提供丰富的预置镜像&#xff0c;覆盖大模型推理、图像生成、视频生成、模型微调等多个领域&#xff0c;支持一…

作者头像 李华
网站建设 2026/3/29 9:56:45

2026 年程序员接单全指南:平台这么多,别再选错了

这两年&#xff0c;行情慢慢冷静下来&#xff0c;岗位竞争也肉眼可见地卷了起来&#xff0c;身边不少程序员开始给自己留后路。有人想多赚点&#xff0c;给收入加个缓冲&#xff1b;有人想攒点真实项目&#xff0c;别简历一翻全是在职期间参与&#xff1b;也有人干脆把程序员接…

作者头像 李华
网站建设 2026/3/22 7:23:56

Hunyuan-MT-7B算力需求分析:不同GPU配置下的性能表现

Hunyuan-MT-7B算力需求分析&#xff1a;不同GPU配置下的性能表现 1. 背景与技术定位 随着多语言翻译在跨文化交流、跨境电商和全球化服务中的重要性日益凸显&#xff0c;高效、准确的多语种互译模型成为AI应用的关键基础设施。Hunyuan-MT-7B作为腾讯混元系列中开源的最强翻译…

作者头像 李华