使用GPU驱动加速GAZEBO(ros+px4)

系统版本:Ubuntu20.04

显卡:NVIDIA GeForce RTX 3090

驱动:535.146.02        

        不管机器有没有装独显,gazebo在跑px4仿真的时候总是默认使用CPU,跑起来页面总会卡顿,帧率很低,为了解决这个问题,需要使用gpu驱动加速gazebo,可以大幅度提高仿真流畅度和帧率,不过在安装nvidia驱动的时候总会遇到很多坑,并且有很多方法已经没有作用,所以写下这篇博客,为了做一下记录(有什么问题希望大佬们指出来一下)。

一、安装NVIDIA驱动Official Drivers | NVIDIA

        在官网选择你的显卡型号

         点击search

        复制下载链接,使用命令行下载:

wget 你复制的下载链接

         下载完驱动在安装之前,如果你之前自己尝试安装过驱动,需要把它们卸载了:

sudo apt-get --purge remove nvidia*

sudo /usr/bin/nvidia-uninstall

        上面使两种卸载方法,推荐使用第二种,不要轻易尝试其他的卸载命令,我当时为了卸载cuda用了一些博主的命令把我的ros环境损伤了,害的我重新配了一遍环境,谨慎!

        卸载完之后,要禁用nouveau驱动,这是开发人员编写的一款针对nvidia显卡的开源驱动,所以性能比较一言难尽,需要通过黑名单将其禁用:

sudo vim /etc/modprobe.d/blacklist.conf        #进入黑名单文件,进入黑名单的应用不在会被调用

blacklist nouveau
options nouveau modeset=0            #在末尾添加下面两行命令即可禁用

reboot         #重启系统,使配置生效

         重启成功后,在终端调用nouveau

lsmod | grep nouveau

        没有输出证明禁用成功,下面开始安装驱动

sudo chmod a+x NVIDIA-Linux-x86_64-535.146.02.run        #给权限

sudo ./NVIDIA-Linux-x86_64-535.146.02.run  --no-x-check --no-nouveau-check

-no-x-check:安装驱动时关闭X服务

-no-nouveau-check:安装驱动时禁用nouveau

-no-opengl-files:只安装驱动文件,不安装OpenGL文件(这个选项要根据自己的情况是否安装,如果不确定,还是安装的好)

        接下来应该会进入安装界面

        因为我已经存在一个驱动,所以会显示error,跟着步骤安装就可以。关于一些问题,不用安装32位库,安装xconfig,continue选yes,dkms选no。

        安装完成之后在终端输入

nvidia-smi         #检验是否安装成功并获取相关信息

 

        输出该界面即安装成功。

二、驱动安装之后的配置问题

        但我把驱动成功安装之后,并没有如愿的使用gpu加速gazebo,我看很多博主的教程下面都有人提这个问题,成功安装了驱动但启动gazebo仍然跑在cpu上,针对这个问题有些博主提出切换显卡,或者是opengl的问题,我也按照那些方法试了一下,感觉大概率是opengl的问题,不过也没有找到相关的解决方法。

        运行gazebo之后,nvidia-smi仍然没有gazebo服务, 浪费了很多时间找不到解决方法,于是决定不配置底层,直接终端指定使用独显运行,这需要用到Bumblebee,Bumblebee是一个用于在双显卡(集成显卡 + 独立显卡)系统上运行特定应用程序时启用独立显卡的解决方案。如果读者有nvidia prime可能不需要这个工具,直接在nvidia-settings里面切换应该可以(有博主提到过这个方法),不过我没有,还是决定用bumblebee解决,过程如下:

sudo apt install bumblebee        #安装库

optirun gazebo        #指定用独立显卡驱动gazebo

 

        就可以看到gazebo成功在gpu上运行,如果读者和我一样想在px4启动gazebo仿真,只需要在编译或者运行launch文件之前加上optirun命令即可

optirun make px4_sitl_default gazebo

optirun roslaunch yourfile.launch

通过强制使用独显运行解决问题。 

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值