文章目录
本文介绍了 Autoware.universe 与 Carla 二进制版的联调过程。Autoware.universe 是一个开源的自动驾驶软件平台,而 Carla 则是一个用于自动驾驶仿真的开源工具。将这两者联调起来可以在仿真环境中测试和验证 Autoware.universe 的功能和性能,为自动驾驶系统的开发和测试提供有力支持。
其中Autoware.universe的安装以及高精地图的绘制参考我的其他文章:
Autoware.universe部署01:Ubuntu20.04安装Autoware.universe并与Awsim联调
Autoware.universe部署02:高精Lanelet2地图的绘制
一、Carla的使用
1.1 二进制Carla的安装
二进制包github地址:https://github.com/carla-simulator/carla/releases,下载第一个.tar.gz压缩包:

解压后可以直接运行,出现如下的服务器界面:
tar -zxvf CARLA_0.9.13.tar.gz
cd CARLA_0.9.13
./CarlaUE4.sh

去/home/autoware/CARLA_0.9.13/PythonAPI/examples下运行API:
python manual_control.py
即可开启Carla仿真驾驶,界面如下:

命令行选项:启动Carla时有一些可用的配置选项,它们可以按如下方式使用:
./CarlaUE4.sh -quality-level=Low
启动 CARLA 时,有一些配置选项可用:
carla-rpc-port=N:侦听端口 N 处的客户端连接。默认情况下,流式端口 Streaming port 设置为 N+1;carla-streaming-port=N:指定用于传感器数据流的端口。 使用 0 获取随机未使用的端口。 第二个端口将自动设置为 N + 1;quality-level={Low,Epic}:更改图形质量级别;-carla-server:让 carla以服务的方式运行;-benchmark -fps=15:引擎以1/15秒的固定时间逐步运行;
1.2 Carla API的使用
这里介绍常用的几个API,首先打开carla:./CarlaUE4.sh
1.2.1 增加行人流和车流
执行CARLA_0.9.13/PythonAPI/examples路径下的generate_traffic.py文件:
python generate_traffic.py -w 10 -n 10

可以看到,carla服务器中的街道上多了很多运动的车辆和行人。后面的参数 -n 10 -w 10分别代表车辆和行人的数量,这个脚本还有很多其他的参数:
--host#主机服务器ip-p --port#端口-n --number-of-vehicles#车辆数量-w --number-of-walkers#行人数量--safe#避免碰撞--filterv#车辆滤波器--filterw#行人滤波器--generationv#限制某些车辆生成--generationw#限制某些行人生成
1.2.3 改变服务器的时间,光照,天气
执行CARLA_0.9.13/PythonAPI/examples路径下的dynamic_weather.py文件
python dynamic_weather.py -s 5
参数-s 5意思是把天气变化加速了5倍。这个脚本里是按照仿真时间,修改服务器中设置天气的参数carla.WeatherParameters,按照一定的顺序自动的调整系统的光照和天气。光照条件包括:太阳高度和太阳角度;天气条件包括:云,雨,水坑,风,雾,湿度。

更多天气参数的设置可以查看/pythonAPI/python_api.md中的carla.WeatherParameters.
1.2.3 手动控制车辆
执行CARLA_0.9.13/PythonAPI/examples路径下的manual_control.py文件:
python manual_control.py

键盘B按键可以切换自动控制和人工控制,pygame操作手册如下:
| 按键 | 功能 | 备注 |
|---|---|---|
| W | 前进 | ↑ 键也可以前进 |
| S | 刹车 | ↓ 键也可以刹车 |
| A/D | A左转 D 右转 | ← 也可以左转,→ 也可以右转 |
| Q | 倒车档 | Q+W可以倒车 |
| Space | 手刹 | - |
| P | 开启/关闭自动驾驶模式 | - |
| M | 自动档/手动档 | - |
| ,和 . | 加减挡 | ,减档 . 加档 |
| CTRL + W | 按一下 CTRL + W,匀速前进 | 车会一直以 60 km/h 的速度前进 |
| L | 控制车灯 | 切换雾灯、近光灯等切换 |
| SHIFT + L | 切换远光灯 | - |
| Z/X | 转向灯 | Z 左转向,X 右转向 |
| I | 车内照明灯 | - |
| TAB | 切换视角 | - |
| N | 切换不同类型的 camera 和 lidar | 每按下一次,sensor |
| [1-9] | 顺序切换切换不同类型的 camera 和 lidar | 按下数字键,可直接切换到对应sensor |
| G | 打开/关闭 毫米波雷达 | - |
| C | 切换天气 | Shift+C切换顺序和C相反 |
| Backspace | 换车型 | - |
| V | 选地图图层 | Shift+V ,切换顺序和V 相反 |
| B | 加载当前的地图图层 | Shift+B 卸载当前的地图图层 |
| O | 打开/关闭所有车门 | - |
| T | 切换到车辆的自动测量记录传导 | 在carla客户端界面显示 |
| R | 记录车辆走行情况 | CTRL + R : 切换到 R做的记录 |
| CTRL + P | 回放R的记录 | - |
| F1 | 显示/不显示左侧sensor相关信息例如加速度,陀螺仪,GNSS等 | - |
| H | 可以弹出帮助命令 | - |
| ESC | 退出pygame | - |
1.1.4 车辆的自动驾驶
执行CARLA_0.9.13/PythonAPI/examples路径下的automatic_control.py文件
python automatic_control.py
会弹出一个pygame窗口,车辆正在进行自动驾驶

到达终点后,自动关闭
二、Universe与Carla联调
参考文章:https://blog.csdn.net/yuteng12138/article/details/130102293
2.1 设置OpenPlanner
(1)下载拓展代码
cd ~/autoware_universe
mkdir op_carla && cd op_carla/
git clone https://github.com/hatem-darweesh/op_bridge.git -b ros2
git clone https://github.com/hatem-darweesh/op_agent.git -b ros2
git clone https://github.com/hatem-darweesh/scenario_runner.git
(2)从https://drive.google.com/drive/folders/1Or0CMS08AW8XvJtzzR8TfhqdY9MMUBpS下载Town01.pcd 和 Town01.osm地图。创建 Town01 文件夹,将 Town01.pcd 和 Town01.osm 复制到Town01_map 文件夹中。
- Town01.pcd重命名为pointcloud_map.pcd
- Town01.osm重命名为lanelet2_map.osm
其他地图可以在这里下载
git clone https://bitbucket.org/carla-simulator/autoware-contents/src/master.git
(3)修改文件:op_carla/op_bridge/op
3825



联调&spm=1001.2101.3001.12003&articleId=132357436&d=1&t=3&u=ce5e435d83e0463c810d342c3de21093)

被折叠的 条评论
为什么被折叠?



