环境配置:
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 的版本。
目前遇到的问题点:
- ROS bridge 依赖包
derived_object_msgs
,最新的包在 astuff_sensor_msgs 中。 https://github.com/astuff/astuff_sensor_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
显示异常
于是网上继续爬,直到爬到这篇博客 ,才有了下一步进展。按照博客中所说,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
- 弹窗如下
# 终端执行
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 总线。