ROS2安装Carla Ros Bridge

这是carla ros bridge最有前景的版本,但也是最坑的组合,各种环境依赖,折腾了很久才安装成功,这里记录下踩的坑以及解决方法。本方法均基于官方指南,主要是为安装时遇到的奇怪问题提供解决指导。

系统版本

Ubuntu 22.04

python 3.10

ROS 2安装

这里推荐使用deb包直接安装,从源码编译很麻烦,而且依赖冲突的问题不管哪种方法都有。

官方安装指南:Ubuntu (deb packages) — ROS 2 Documentation: Humble documentation

按照官方的指南,会遇到如下问题:

libpulse-dev : 依赖: libpulse0 (= 1:15.99.1+dfsg1-1ubuntu1) 但是 1:15.99.1+dfsg1-1ubuntu2.1 正要被安装

这个问题可以用aptitude安装指定版本

sudo aptitude install libpulse0=1:15.99.1+dfsg1-1ubuntu1

但是,可能运行完会黑屏,这里是因为修改了依赖,桌面崩了。不要慌,修复一下桌面就可以了,(此处参考给ubuntu重新安装图形界面(GNOME) - namezhyp - 博客园 )

sudo vim /etc/apt/sources.list   

# 打开以后,在里面增加以下两个源

# 注意jammy前面也有空格
deb http://ir.archive.ubuntu.com/ubuntu/ jammy-updates main restricted universe multiverse
deb http://ir.archive.ubuntu.com/ubuntu/ jammy-backports main restricted universe multiverse

# 增加保存以后
sudo apt update
sudo apt install ubuntu-desktop

然后,恭喜你回到桌面。继续安装ROS2即可,后面的安装畅通无阻了。

Carla安装

这里最大的坑是python版本,大多数默认的版本都是基于python3.7或者3.8编译的,不能直接在Ubuntu 22.04上直接用(默认python3.10),这里需要替换一下编译的egg和whl。

首先去官网下载需要的Carla版本:https://github.com/carla-simulator/carla/releases

然后在bashrc里面配置环境变量:

export CARLA_ROOT=/home/name/Carla # 替换你自己的位置
export PYTHONPATH=$PYTHONPATH:${CARLA_ROOT}/PythonAPI/carla/dist/carla-0.9.13-py3.10-linux-x86_64.egg
export PYTHONPATH=$PYTHONPATH:${CARLA_ROOT}/PythonAPI/carla/agents
export PYTHONPATH=$PYTHONPATH:${CARLA_ROOT}/PythonAPI/carla
export PYTHONPATH=$PYTHONPATH:${CARLA_ROOT}/PythonAPI

下载并替换egg和whl:https://github.com/gezp/carla_ros/releases/, 位置在PythonAPI/carla/dist里面。

检查下是否成功

python
import carla

如果没有报错就说明环境配置成功了,如果egg版本和你下载的不一样,可以把原来的egg,whl移走,这样就能找到替换的版本了。

安装Carla Ros Bridge

官方指南:https://carla.readthedocs.io/projects/ros-bridge/en/latest/ros_installation_ros2/

编译的时候出现找不到tf2_eigen,这时候需要修改下CMakelist (参考colcon error casued by the lack of dependence `tf2_eigen` · Issue #737 · carla-simulator/ros-bridge · GitHub

打开 carla-ros-bridge/src/ros-bridge/pcl_recorder/CMakeLists.txt

添加如下依赖

find_package(tf2_eigen REQUIRED)
include_directories(${tf2_eigen_INCLUDE_DIRS})

重新编译,成功。

测试结果

还有些pygame之类的包,如果有缺失就安装下,没有其他大的问题了。

完成!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值