CARLA常见技术问题集锦(四)仿真控制与算法篇

编者荐语:

在自动驾驶技术加速落地的今天,CARLA 仿真引擎凭借其开源生态与高保真仿真能力,已成为全球开发者构建智能驾驶算法的核心工具之一。在学习和实践CARLA的过程中,开发者常常面临 “知其然不知其所以然”的困境。为此,深信科创技术团队系统梳理了来自 CARLA 社群、GitHub Issue、知乎专栏、CSDN 等平台开发者们提出的的 常见技术问题,结合最新版本特性与开发经验,将其归纳为 🔗地图与场景构建、🔗车辆模型、🔗传感器与数据采集仿真控制与算法、多机与分布式仿真、联合仿真与工具集成、扩展与自定义开发 等模块。在本次和后续的系列文章中逐次进行分析并解答。很多基础问题也可以通过查阅官方文档解决,CARLA 官方文档指导性很强。建议新手小白多看文档。

仿真控制与算法

🌱 基础操作与配置

Q1:在 Ubuntu 上用源码编译的 Carla,运行 PythonAPI 示例时,停止仿真会卡死并报错,是什么原因?

回答:正确的停止仿真方式是先停止运行中的 Python 示例脚本,而不是直接在 UE4 Editor 中停止仿真。

Q2:如何使用 Carla 运行 Open Scenario?

回答:可以使用scenario_runner项目来运行 Open Scenario。目前只支持0.9.15及之前的版本,参考github项目:https://github.com/carla-simulator/scenario_runner

Q3:Carla 0.9.15 版本加载 OpenDRIVE 时是否可以显示车道线?

回答:0.9.15 的独立工具未更新,车道线显示功能可能存在 BUG。

Q4:使用 gym-carla 库时,环境车辆设置为自动驾驶,为什么会出现一段车辆乱跑的过程?

回答:尝试设置成同步模式。参考项目文档:https://carla.readthedocs.io/en/latest/adv_traffic_manager/#synchronous-mode

Q5:Carla 车辆坐标系的原点是车辆中心位置还是后轴中心?

回答:Carla 车辆的 location 是车辆底面的中心点。

Q6:Carla 中生成的车辆在 Autopilot 模式下乱撞,如何解决?

回答:使用同步模式,参考示例:https://github.com/carla-simulator/carla/blob/master/PythonAPI/examples/sensor_synchronization.py

Q7:Carla中设置晴天和雨天是否会影响车辆的物理特性(如刹车距离)?

回答:天气对轮胎路面摩擦力无影响,但会影响风阻。


🛠️ 进阶功能与调试

Q8:CARLA是否能够实现V2V(车对车)或V2I(车对基础设施)场景下的协同感知算法的仿真验证?如果可以,请问大概是什么方案?或者是什么样的学习路线?

回答:是的,CARLA能够实现V2V和V2I场景下的协同感知算法的仿真验证。一个推荐的方案是使用OpenCDA这个开源项目,它是基于CARLA开发的,专门用于协同驾驶应用的仿真和测试。OpenCDA提供了丰富的工具和接口,支持多车辆协同感知、决策和控制的仿真验证。学习路线可以从熟悉CARLA的基本操作开始,然后深入研究OpenCDA的文档和示例代码,逐步掌握协同感知算法的实现和验证方法。
GitHub项目:https://github.com/ucla-mobility/OpenCDA

Q9:使用scenario_runner时,需要手动键盘开车,但 Open Scenario 中预定的主车行为没有生效,是什么原因?

回答:可能是使用了scenario_runner不支持的标签,或者entityRef未正确对应。可以参考以下文档检查问题:https://github.com/carla-simulator/scenario_runner/blob/master/Docs/openscenario_support.md

Q10:是否有 Carla 和 SUMO 联合仿真的教程推荐?如何实现 Carla 对 SUMO 中产生的交通流进行同步显示?

回答:Carla 中已包含 SUMO Agent,可以参考相关示例程序。Carla 还提供了与 SUMO 的同步程序,可用于实现交通流的同步显示。参考文档:https://carla.readthedocs.io/en/latest/adv_sumo/

Q11:在 ROS 分布式配置中,Carla 运行在其中一个 ROS 从节点的 Ubuntu 系统上,是否需要修改Carla-ros-bridge中的host配置?遇到 Carla 不响应rostopic的问题,如何解决?

回答:需要检查Carla-ros-bridge的配置,确保host和 ROS 主节点的 IP 地址正确匹配。若 Carla 不响应rostopic,可能是网络配置或通信问题。

Q12:在 Carla 中,指定自动驾驶的起点和终点spawn_points后,影响最终运动轨迹的因素有哪些?

回答:影响运动轨迹的因素包括车道类型、车道之间的连接方式以及交通规则等。

Q13:有在 CI/CD 中使用 Carla 的 Docker 版进行算法测试的案例吗?

回答:可以参考以下两篇文章了解如何在 CI/CD 中使用 Carla 的 Docker 版进行算法测试:

Docker版Carla的安装与使用

Docker版Carla的安装与使用

浅尝gitlab仓库的CICD功能

浅尝gitlab仓库的CICD功能

Q14:Carla里面怎么使用一个比较精确的车辆动力学模型?目前Carsim需要付费,还有其他方案吗?

回答:所有动力学模型都可以,只要数据能互通。付费的可以考虑DYNA4,性价比比较高。DYNA4 视频详情 : 【视频可从CARLA引擎中文站的原文链接查看:CARLA常见技术问题集锦(四)仿真控制与算法篇

Q15:Carla的behavior agent/basic agent里的纵向PID输出变量名是acceleration,但最后直接给了汽车的throttle控制指令,这里的PID实际计算的是throttle吗?

回答PID算出来的是控制量,可以当作throttle使用。

PID: Longitudinal control

PID: Longitudinal control

Q16:Carla自带的导航算法是什么?

回答:路由使用A*算法,计算从起点到目标点的最优路径。轨迹规划和控制参考local_planner.py:https://github.com/carla-simulator/carla/blob/master/PythonAPI/carla/agents/navigation/local_planner.py

视频详情 :最短路径问题:A*算法讲解 【视频可从CARLA引擎中文站的原文链接查看:CARLA常见技术问题集锦(四)仿真控制与算法篇

Q17:运行修改后的automatic_control时车辆动作卡顿,如何解决?

回答:可能是Traffic Manager同步问题,参考文档:https://carla.readthedocs.io/en/docs-preview/adv_traffic_manager/

Q18:如何禁止TrafficManager控制下的车辆在多车道自动变道?

回答:通过参数控制变道比例,但无法直观评估所有ego车辆之外的行为。

auto_lane_change

auto_lane_change


🔧 高级场景与源码分析

Q19:在 Carla 0.9.15 版本中,使用 Basic 代理在 Town12 地图上驾驶 Model3 车辆时,转弯时频繁出现撞墙问题,如何解决?

回答:首先检查代理规划的路径是否合理,尤其是转弯时的路线。如果路径合理但车辆未按规划行驶,可能是车辆控制不理想,建议调整 PID 控制器的kpkikd参数。如果路径规划不合理,需重新规划转弯路线,使其平滑并贴近车道中心线,同时降低转弯车速以防止失控。此外,Carla 自带的 Basic 代理功能较为简单,建议使用更高级的代理如 Oasis Driver 或其他开源自动驾驶 Driver。

Q20:有人用过Carla Leaderboard 2.0吗?为什么在切换不同场景的时候前车会消失?

回答:可能是场景主动清理道路车辆来保证正确执行,参考代码:https://github.com/carla-simulator/scenario_runner/blob/7758d066080f180f8296887ed89b7c723a54706a/srunner/scenarios/route_obstacles.py#L196

Q21:Carla中如何让他车1绕障行驶(遇到静止的他车2或箱子)?

回答:设定trigger后重新规划路径,参考知乎文章【在Carla里做一个Robotaxi(十三)Overtake超车】:https://zhuanlan.zhihu.com/p/620246144 

视频详情 前方遇到静止车辆变道超车: 【视频可从CARLA引擎中文站的原文链接查看:CARLA常见技术问题集锦(四)仿真控制与算法篇


本文分享了在使用CARLA过程中遇到的关于仿真控制与算法的部分常见问题。CARLA问题总结系列文章将会持续更新关于多机与分布式仿真、联合仿真与工具集成、扩展与自定义开发等常见问题。关注作者,了解更多CARLA硬核知识!

🚀 CARLA AI助手上线!你的24小时仿真顾问

以上问题已全部录入「CARLA AI助手」知识库!现在起,只需提问即可获得:
✅ 精准解答:覆盖安装、API开发、场景设计全流程
✅ 代码生成:一键输出环境配置脚本与调试命令
✅ 实时更新:同步官方文档与社群最新解决方案

立即体验:关注「CARLA引擎中文站」服务号,在聊天框直接输入问题或者点击菜单栏「AI助手」开启智能问答!

💬 互动话题
你在使用CARLA时还遇到过哪些“玄学”问题?欢迎留言讨论!点赞最高的问题,我们将优先安排技术解析~

📢 加入社群
添加小助手vx:【synkrotron1】备注“CARLA”即可加入开发者交流群,获取最新资源与1V1答疑!


END

往期推荐:

OASIS SIM 3.5.0 重磅更新!针对Unreal Engine 5.5 渲染引擎进行全面升级!https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fmp.weixin.qq.com%2Fs&pos_id=QK8oWwoK?__biz=MzkwNzczOTI5MQ==&mid=2247484668&idx=1&sn=55a6c57aa177dca773f82e092cceaccb&scene=21#wechat_redirect

【直播回顾】CARLA 0.10.0新版本解读会https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fmp.weixin.qq.com%2Fs&pos_id=QK8oWwoK?__biz=MzkwNzczOTI5MQ==&mid=2247484238&idx=1&sn=119321a19fb237b27f7c54e55e6d7e40&scene=21#wechat_redirect

【CARLA新手教程】CARLA安装翻车自救指南https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fmp.weixin.qq.com%2Fs&pos_id=QK8oWwoK?__biz=MzkwNzczOTI5MQ==&mid=2247484520&idx=1&sn=8ee2412dbdedf9746d258a1347d8959f&scene=21#wechat_redirect

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值