【carla】ubuntu20.04 编译carla-ros-bridge 安装过程、报错及其解决方法


下载后进行catkin_make会报错3个错误

一、安装过程

  1. Create a catkin workspace:
mkdir -p ~/carla-ros-bridge/catkin_ws/src
  1. Clone the ROS Bridge repository and submodules:
cd ~/carla-ros-bridge
git clone --recurse-submodules https://github.com/carla-simulator/ros-bridge.git catkin_ws/src/ros-bridge
  1. Set up the ROS environment according to the ROS version you have installed:
source /opt/ros/noetic/setup.bash
  1. Install the required ros-dependencies:
cd catkin_ws
wget http://fishros.com/install -O fishros && . fishros

安装rosdepc,然后运行:

rosdep update
rosdep install --from-paths src --ignore-src -r

7.创建虚拟环境

conda create -n carla python=3.7

8.安装pip依赖

pip install carla
pip install transforms3d
pip install pyyaml 
pip install numpy
pip install opencv-python
pip install pygame

二、报错及其解决方法

1.错误1:python库 empy 库找不到

方法1:在conda环境中安装empy:conda install -c conda-forge empy
参考链接

方法2:这是编译时终端处于anaconda的虚拟环境base中,缺少相关依赖,所以编译的时候,需要指定一下python路径。

catkin_make -DPYTHON_EXECUTABLE=/usr/bin/python3

或者,也可以conda deactivate直接退出后直接编译,效果和上面命令一致。
参考链接

2. 错误2:ackermann_msgs找不到

这个是因为缺少这个包,使用下面的命令进行安装:

sudo apt-get install ros-noetic-ackermann-msgs

3. 错误3:derived-object找不到

这个是因为缺少这个包,使用下面的命令进行安装:
在该网站下载ros-noetic-derived-object-msgs_3.3.0-1buster.20220926.181427_amd64.deb

并进行安装:

  sudo dpkg -i ros-noetic-derived-object-msgs_3.3.0-1buster.20220926.181427_amd64.deb

参考链接:ubuntu20.04 carla仿真环境及ros-bridge搭建

运行时错误1: CARLA python module version 0.9.12 required. Found: 0.9.14

这是由于python中的carla安装版本不对。需要重新安装:

pip install carla==0.9.12

运行时错误2:ImportError: /usr/lib/x86_64-linux-gnu/libp11-kit.so.0: undefined symbol: ffi_type_pointer, version LIBFFI_BASE_7.0

这个错误是由于python3.8版本问题导致的。解决方法是由这个链接提供的。

首先cd到conda的carla环境的lib文件夹下:

cd /home/"$USER"/anaconda3/envs/carla/lib

然后备份一下libffi.so.7文件

mv libffi.so.7 libffi.so.7.bak

然后重新建立链接:

sudo ln -s /lib/x86_64-linux-gnu/libffi.so.7.1.0 libffi.so.7
sudo ldconfig

再次运行程序,相关问题就解决了。

运行时错误3:ModuleNotFoundError: No module named ‘transforms3d’

此时可能是在编译carla-ros-bridge时,没有使用现在的python环境。解决方法就是使得carla-ros-bridge的编译环境和运行环境保持一致。

可以在运行环境下重新编译carla-ros-bridge。重新编译前需要删除build 和devel文件夹。

  • 5
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值