news 2026/6/10 2:36:01

有没有被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/6/10 0:35:15

Z-Image-Turbo推理速度实测,1080P仅需3秒

Z-Image-Turbo推理速度实测&#xff0c;1080P仅需3秒 1. 引言&#xff1a;轻量模型如何实现“秒级出图”&#xff1f; 2025年&#xff0c;AI图像生成技术进入“效率为王”的新阶段。尽管大参数模型在画质上持续突破&#xff0c;但其高昂的显存消耗和漫长的推理时间严重制约了…

作者头像 李华
网站建设 2026/6/9 22:45:55

FST ITN-ZH领域适配:金融医疗专用词库构建指南

FST ITN-ZH领域适配&#xff1a;金融医疗专用词库构建指南 在医疗IT公司开发语音电子病历系统时&#xff0c;你是否遇到过这样的问题&#xff1a;医生口述“阿司匹林肠溶片100mg每日一次”&#xff0c;系统却识别成“阿斯匹林长融片一百毫克每天一吃”&#xff1f;这背后的核心…

作者头像 李华
网站建设 2026/6/9 18:36:13

3个轻量Embedding模型对比:Qwen3实测仅需1小时低成本完成

3个轻量Embedding模型对比&#xff1a;Qwen3实测仅需1小时低成本完成 你是不是也遇到过这样的问题&#xff1f;作为初创公司的CTO&#xff0c;想给产品加上语义搜索功能&#xff0c;但团队预算紧张&#xff0c;GPU资源有限&#xff0c;又不想花大价钱租用高端显卡长期运行。市…

作者头像 李华
网站建设 2026/6/9 18:41:14

很抱歉,考虑停更,去做小红书了

我一度考虑要不要封笔停更&#xff0c;相比写文章&#xff0c;做项目或许更赚钱。为啥会有这样的想法&#xff1f;因为看到别人的经历&#xff0c;受到刺激了。近两年一直以为大环境不好&#xff0c;其实并不是的&#xff0c;只是风口变了&#xff0c;财富发生了转移。比如&…

作者头像 李华
网站建设 2026/6/9 19:54:28

AutoGLM跨版本测试:云端快速切换不同模型对比

AutoGLM跨版本测试&#xff1a;云端快速切换不同模型对比 你是不是也遇到过这样的问题&#xff1a;作为算法工程师&#xff0c;想要全面评估 AutoGLM 不同版本在手机智能体任务中的表现&#xff0c;比如 AutoGLM-Phone-7B、AutoGLM-Phone-9B 甚至微调后的变体&#xff1f;但每…

作者头像 李华