环境配置:
Dell G15 i7-11800H
32G内存
6G GPU
显卡NVIDIA GeForce RTX3060
系统 Ubuntu 18.04
ros melodic
Carla 有两种安装方式,源码编译安装和 Github 上的解压直接启动。源码编译安装的方式 以前在旧电脑拯救者 r720 上已经测试跑通过,安装起来比较慢,Carla 和 Unreal Engine 需要分开编译,空间消耗大,且需要科学上网。这次先用 Github 上的直接启动,后期有空再编译。
Carla 版本的选择 要求支持 ROS Bridge,支持激光雷达、图像、GPS、IMU等传感器的仿真,检索到博客有人写过 melodic carla: 0.9.10.1 的安装,于是 Carla 就定了 0.9.10.1 的版本。
安装步骤见链接 ubuntu18.04-ros-melodic-carlar安装教程详细指南_T努力的路上_享受生活的博客-CSDN博客
目前遇到的问题点:
-
ROS bridge 依赖包
derived_object_msgs
,最新的包在 astuff_sensor_msgs 中。 编译时报错 ibeo_msgs CameraImage,可以直接忽略这个ibeo_msgs 包 touch CATKIN_IGNORE 通过 apt 直接安装 ros-melodic-ibeo-msgs; -
ROS bridge编译时,rviz_carla_plugin 报找不到
/usr/lib/x86_64-linux-gnu/libGL.so
,重新建立软链接即可sudo ln -s /usr/lib/libGL.so.1 /usr/lib/x86_64-linux-gnu/libGL.so
。 -
Carla压缩包解压后执行
./CarlaUE4.sh
出现以下弹窗
安装 mesa-vulkan-drivers 后,启动报错
查到资料需要在Software & Updates --> Additional Drivers
中安装推荐的 Nvidia 显卡驱动,安装之后无果。nvidia-smi
显示异常
于是网上继续爬,直到爬到这篇博客 https://blog.csdn.net/m0_56077202/article/details/119078789 ,才有了下一步进展。按照博客中所说,Dell G15 在 ubuntu 下安装 Nvidia 驱动必须要打开笔记本的独立显卡直连功能,然后按照知乎 https://www.zhihu.com/question/466361633 下载了 G15 的 BIOS 脚本,运行后重启进入 BIOS 关闭 Display 下的 Hybrid Graphics / Advanced Optimus —> Apply Settings Confirmation,并且 disable Secure boot。至于博客中提到的 nouveau 本机没有找到,直接忽略,接下来进入 ubuntu 系统安装显卡过程。- 首先卸载之前的显卡驱动
sudo apt-get --purge remove nvidia-* sudo apt-get --purge remove xserver-xorg-video-nouveau
- 安装驱动,驱动去 Nvidia 官网下载 https://www.nvidia.com/en-us/drivers/unix/,
ubuntu-driver devices
可以查看系统推荐的驱动版本sudo chmod a+x NVIDIA-Linux-x86_64-470.141.03.run sudo ./NVIDIA-Linux-x86_64-470.141.03.run -no-opengl-files
- 弹窗如下
- 弹窗解除参考博客 https://blog.csdn.net/sdnuwjw/article/details/110290280
# 终端执行 sudo systemctl set-default multi-user.target sudo reboot 0 # 重启完成后,若进不去系统,直接ctrl+alt+f2 命令行执行 sudo apt-get purge nvidia* sudo apt-get autoremove sudo reboot sudo ./NVIDIA-Linux-x86_64-470.141.03.run sudo systemctl set-default graphical.target sudo reboot 0 # 此时正常进入系统,且nvidia-smi显示成功。
- 执行安装驱动前先安装 gcc 和 make,输入下方指令
sudo apt-get update sudo apt-get install gcc apt-get install make
- 关闭图形界面
sudo service lightdm stop
如果提示unit lightdm.service not loaded
则先安装 LightDm:sudo apt install lightdm
安装完毕后跳出一个界面,选择 lightdm,再sudo service lightdm stop
- 首先卸载之前的显卡驱动
-
ros 安装过程可能出问题的点在
rosdep init
一直失败 Website may be down,可以尝试科学上网执行指令,如果不行,可以科学上网手动打开网址,将内容复制下来保存到20-default.list
,然后执行rosdep update
。cd /etc/ros/rosdep/sources.list.d sudo touch 20-default.list
最终结果还是比较满意的,Carla 中的信息可以通过 ros-bridge 发布到 ros 总线。
# 创建工作空间 carla_ws
mkdir -p carla_ws/src
# 下载 ros-bridge
git clone https://github.com/carla-simulator/ros-bridge
# 切换对应版本 0.9.10.1
git checkout 0.9.10.1
# 上述两个动作可合并 git clone -b 0.9.10.1 https://github.com/carla-simulator/ros-bridge
# 下载子模块 carla_msgs
git submodule update --init
# 编译
catkin_make
-----------
# 启动roscore
roscore
# 运行Carla server
./CarlaUE4.sh
# ros-bridge 验证方式 1. 运行ros-bridge
roslaunch carla_ros_bridge carla_ros_bridge.launch
# ros-bridge 验证方式 2. 运行 example,创建vehicle sensor 支持手动控制车辆
roslaunch carla_ros_bridge carla_ros_bridge_with_example_ego_vehicle.launch