【避坑/个人总结】CARLA-ROS 联合仿真环境搭建

本文详细指导如何在宏碁暗影骑士擎电脑上配置CARLA0.9.13运行环境,包括pip升级、pygame、numpy和opencv安装,以及CARLA与ROS2的集成,特别提到了环境设置、库版本匹配、依赖安装和常见错误解决方案。
摘要由CSDN通过智能技术生成

电脑配置如下:

型号:宏碁暗影骑士 擎

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博客

  • 34
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值