1. 项目背景与核心挑战
去年接手自动驾驶控制模块验证任务时,我面临一个棘手问题:如何在保证安全的前提下高效测试控制算法?实车测试成本高、风险大,而纯软件仿真又缺乏车辆动力学反馈。经过多方对比,最终选择Apollo 6.0+CarSim 2020的联合仿真方案。这个组合既能利用Apollo成熟的自动驾驶框架,又能通过CarSim获得高精度的车辆动力学响应。
关键提示:必须严格使用VS2019+CarSim2020组合,新版本VS2022存在兼容性问题,CarSim2019又缺少必要的接口功能
实际搭建过程中遇到的第一个拦路虎就是环境配置。Apollo官方文档主要针对Linux平台,Windows下的编译就像在雷区跳舞。光是第三方依赖库的版本冲突就让我熬了三个通宵,特别是protobuf和boost这两个"钉子户"。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境搭建避坑指南
2.1 软件准备清单
- Visual Studio 2019(必须使用Community或Professional版,Enterprise版会有奇怪的组件缺失)
- CarSim 2020.0(注意不是CarSim Pro或CarSim Truck)
- Apollo 6.0预编译包(包含所有Windows平台依赖库)
- Windows 10 64位(版本号1909或更高)
2.2 环境变量配置要点
配置系统环境变量时,这几个路径必须万无一失:
bash复制APOLLO_ROOT=D:\apollo
PROTOBUF_ROOT=%APOLLO_ROOT%\third_party\protobuf
BOOST_ROOT=%APOLLO_ROOT%\third_party\boost
血泪教训:路径中的斜杠必须使用反斜杠(),且末尾不能带反斜杠。曾经因为路径结尾多了一个反斜杠,导致protoc编译器死活找不到.proto文件
2.3 依赖库冲突解决方案
预编译包自带的boost 1.72经常与系统原有boost库打架,推荐使用这个批处理清理冲突:
batch复制@echo off
set PATH=%APOLLO_ROOT%\third_party\boost;%PATH%
where boost_system-vc140
