电脑配置如下:
型号:宏碁暗影骑士 擎
CPU: i5-12500 H
GPU: RTX 3050 (GPU 驱动版本为 535)
RAM: 16G
系统: Ubuntu 20
1 配置 CARLA 运行环境
1.1 环境要求
安装20.3以上版本的 pip
# 安装 pip
sudo apt install python3-pip
#确定 pip 的版本
pip3 -V
# 若版本不符合要求,需要升级 pip
pip3 install --upgrade pip
安装 pygame && numpy && opencv
pip3 install --user pygame numpy
pip3 install opencv-python
若 pip install 安装完报错 WARNING: XXX is not on PATH ,需要在 ~/.bashrc 的最后一行添加
export PATH=/home/<username>/.local/bin/:$PATH
sudo gedit ~/.bashrc
# username 需要更换为自己的用户名
export PATH=/home/<username>/.local/bin/:$PATH
#注意:上面这行是添加的内容!
保存并关闭 gedit 页面后,需要重新刷新环境变量使设置生效:
source ~/.bashrc
1.2 安装 CARLA
从 Github 下载 Ubuntu系统的CARLA 0.9.13.tar.gz 并解压即可
下载地址:CARLA 0.9.13
1.3 运行 CARLA
为了顺利运行客户端,需要先添加 Carla client library
注意!!!!!!!!!!一般教程中安装Carla client library的命令如下:
pip3 install carla
但是!!!Carla的库版本可能已经更新为与前面下载的安装包不匹配的版本,也就是说,为了避免后续报错,我们要安装和carla安装包匹配的carla库:
pip3 install carla==0.9.13 -i https://pypi.douban.com/simple --trusted-host pypi.douban.com virtualenvwrapper
安装完成后通过以下命令查看carla的版本。
pip list
确认版本匹配后,一切准备就绪,便可以运行 Carla 了
# 尖括号需要修改为自己电脑上的路径,例如 cd /home/qrq/Carla
cd <path-to-carla>
# 首次运行 Carla 需要先导入配置文件
./ImportAssets.sh
# 若要以低分辨率运行,可以使用 ./CarlaUE4.sh -quality-level=Low
# 还有一个问题,请见下文~~~~~~~~~
./CarlaUE4.sh
1、此时可能会报错,需要安装一下 libomp5
sudo apt install libomp5
2、继续,此时出现画面(很模糊不清晰)
同时,终端中报错:
defs@Acer:~/carla/CARLA_0.9.13$ ./CarlaUE4.sh
4.26.2-0+++UE4+Release-4.26 522 0
Disabling core dumps.
MESA-INTEL: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0
出现该问题的原因是:
Carla强制使用了集成显卡,而没有使用NVIDIA显卡。
通过如下命令,可以正常运行和显示:(以后每次进入也是要加这个参数)
./CarlaUE4.sh -prefernvidia
2 安装 carla_ros_bridge
carla_ros_bridge 对 ros 2 版本的要求比较刁钻,必须是 ROS 2 Foxy
ROS 2 的安装可以通过鱼香 ROS 的脚本一键安装:
wget http://fishros.com/install -O fishros && . fishros
注意在一键安装的过程中有个问题需要注意:
1、本人一开始选的是不换源安装,到后面就是会出问题,于是为在第二次装的时候老老实实选择换源进行安装(但是我的选择是:更改系统源而不修改第三方源)。
# 有可能出现的问题(我出现了的):
Run CMD Task:[ls /opt/ros/foxy/setup.bash]
[-]Result:code:2
安装失败了,请打开鱼香社区:https://fishros.org.cn/forum 在一键安装专区反馈问题...
Run CMD Task:[ls /opt/ros/foxy/setup.bash]
[-]Result:code:2
2、无论我到网上找各种方法尝试(例如:sudo aptitude install ros-foxy-desktop )都没解决问题,最终还是通过重新一键安装后换源解决的。
安装完成后,直接创建工作空间,将 Github 上的 carla_ros_bridge 整个下载,并进行编译(注意:以下是3条命令)。
mkdir -p ~/carla-ros-bridge && cd ~/carla-ros-bridge
git clone --recurse-submodules https://github.com/carla-simulator/ros-bridge.git src/ros-bridge
source /opt/ros/foxy/setup.bash
功能包涉及到的依赖需要用 rosdep 来安装一下,但可能因为网络的原因安装不成功,这时候就需要再次请来鱼香 ROS 的脚本,用 rosdepc 来安装一下,随后就可以正常编译了。
# 注意:以下操作都需要在 ~/carla-ros-bridge 中进行
wget http://fishros.com/install -O fishros && . fishros
rosdepc update
rosdepc install --from-paths src --ignore-src -r
colcon build
第一次编译时通常会报错 stderr: pcl_recorder ,再编译一遍就好了。
在运行前,需要更新下 Python 的环境变量,将以下语句添加至 ~/.bashrc 的末尾:
# 注意:以下操作都需要在 ~/carla-ros-bridge 中进行
sudo gedit ~/.bashrc
# 尖括号需要修改为自己电脑上的路径
export CARLA_ROOT=<path-to-carla>
export PYTHONPATH=$PYTHONPATH:$CARLA_ROOT/PythonAPI/carla/dist/carla-
<carla_version_and_arch>.egg:$CARLA_ROOT/PythonAPI/carla
注意:上述 carla-<carla_version_and_arch>.egg 这个可以到自己的文件夹中复制对应的型号(根据上面相应的路径就能找到,如 ~carla/CARLA_0.9.13/PythonAPI/carla/dist )。
这时候就可以启动 launch 文件了:
先开启一个终端运行 Carla
# 注意:以下操作都需要在 carla 仿真器的根目录中进行
./CarlaUE4.sh -prefernvidia
再 ctrl + shitf + t 开一个新终端,刷新环境变量并启动 carla_ros_bridge
# 注意:以下操作都需要在 ~/carla-ros-bridge 中进行
source ./install/setup.bash
ros2 launch carla_ros_bridge carla_ros_bridge.launch.py
在运行时我遇到 ModuleNotFoundError: No module named 'derived_object_msgs' 的问题:
[bridge-1] ModuleNotFoundError: No module named 'derived_object_msgs'
[ERROR] [bridge-1]: process has died [pid 168785, exit code 1, cmd '/home/defuf/carla-ros-bridge/install/carla_ros_bridge/lib/carla_ros_bridge/bridge --ros-args -r __node:=carla_ros_bridge --params-file /tmp/launch_params_2rnekkml --params-file /tmp/launch_params_6lryxjfg --params-file /tmp/launch_params_4iv77of2 --params-file /tmp/launch_params_4gzz2kys --params-file /tmp/launch_params__m8qf_bg --params-file /tmp/launch_params_iy1duw6p --params-file /tmp/launch_params_xspxw2uk --params-file /tmp/launch_params_1zqnnqfz --params-file /tmp/launch_params_wble_42n --params-file /tmp/launch_params_vf2_qr2u --params-file /tmp/launch_params_c59m1qs3'].
[INFO] [launch]: process[bridge-1] was required: shutting down launched system
解决方法为:
sudo apt install ros-foxy-derived-object-msgs
产生这个问题的原因是缺少相关依赖。
类似的问题解决方法都是执行:sudo apt install ros-<你的ros版本>-<缺少的依赖>
若安装时出现“E: 无法定位软件包 ros2-foxy-derived_object_msgs”等错误,执行 sudo apt update 后再执行上述指令即可成功安装依赖。
安装好依赖后再运行carla即可。
参考资料
CARLA-ROS 联合仿真环境搭建(Ubuntu18,ROS-Melodic/本人已搭建成功)_carla与ros不在一个电脑怎么联合仿真-CSDN博客
Carla学习笔记(1):Ubantu20.04安装Carla 0.9.13_ubuntu 20.04 环境下autoware.universe 与 carla 0.9.13-CSDN博客 CARLA常见错误解决方案以及配置环境、安装库、linux系统的一些问题解决方案_no module named 'carla-CSDN博客
Ubuntu20.04安装ROS2遇到的问题以及解决_unable to locate package ros-foxy-desktop-CSDN博客