【声呐仿真】学习记录3.5-docker中Gazebo是否使用GPU?解决声呐图像黑屏

本文主要是介绍【声呐仿真】学习记录3.5-docker中Gazebo是否使用GPU?解决声呐图像黑屏,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【声呐仿真】学习记录3.5-docker中Gazebo是否使用GPU?解决声呐图像黑屏

  • 🤡
  • 打包镜像,重装驱动(失败)
  • Xorg
  • 重新配置DAVE环境(补充之前教程中的一些细节)
  • 解决声呐图像黑屏问题

在容器中运行

roslaunch nps_uw_multibeam_sonar sonar_tank_blueview_p900_nps_multibeam_ray.launch

nvidia-smi 显示gazebo未使用GPU,但是在主机上看,是有占用的

在这里插入图片描述

以下是当时感觉gazebo太卡,以为是没有用显卡时的摸索过程



🤡

在学习过程中,发现gazebo、rviz太卡了,不像是用了显卡的样子(虽然实验室服务器是2080的显卡,我也不确定应该多快ORZ

然后就看了下显卡使用情况,好家伙,果然没用

nvidia-smi

使用 inxi -G 命令查看当前显卡驱动的状态,如果提示找不到命令请使用 sudo apt install inxi 安装
如果你的终端没有显示你的NVIDIA独显或者NVIDIA一行后的driver为nouveau并非nvidia,那么意味着你的独显并没有被识别或者使用了开源驱动nouveau导致独显并没有被激活。
Ubuntu 21.10 安装NVIDIA驱动并切换到独显模式-腾讯云开发者社区-腾讯云

在这里插入图片描述
我的甚至都不是nouveau

使用nvidia-setting、sudo prime-select nvidia等命令都显示没有GPU,所以准备重装一下

打包镜像,重装驱动(失败)

打包镜像,防止重装导致一些问题

docker ps
docker commit 容器id 镜像名

ubuntu系统gazebo卡顿问题解决—显卡消失问题_gazebo运行特别卡-

失败失败失败
sudo apt-get install nvidia-driver-535
apt --fix-broken install 

Gazebo GPU加速【gzserver running in GPU】_gazebo怎么通过gpu-

官网下载run文件
sudo chmod a+x NVIDIA-Linux-x86_64-535.171.04.run
失败失败
sudo ./NVIDIA-Linux-x86_64-535.171.04.run --no-x-check --no-noveau-check
sudo prime-select nvidia
sudo reboot

Xorg

Ubuntu 20.04 不使用我的 GPU,即使正确加载了 NVIDIA 驱动程序 — Ubuntu 20.04 does not use my GPU even if NVIDIA drivers are loaded correctly

快速理解 X server, DISPLAY 与 X11 Forwarding_xserver

重新配置DAVE环境(补充之前教程中的一些细节)

感觉官方镜像应该是支持GPU的,准备重新配置一遍

配置环境真是让人心累,第三次配了,还是一堆bug

看着之前的教程,补充一些细节:
1.使用DAVE官方docker配置环境的,如果你的显卡支持cuda12.4,就不需要再配置cuda,镜像自带,只需要配置环境变量即可(学习记录0.5)

2.DAVE官方镜像配置方法(学习记录1.5),官方docker run语句中有rm,在退出容器的时候会删除容器,所以复制官方命令并删除rm参数,创建容器。

如果用的是公共服务器,个人建议修改相关参数-v /home/ouc/ros_dave:/data,不然在docker中操作一些文件会改变服务器上的文件,然后最好配置一下端口映射,这样在mobaxterm中可以用文件管理器,方便一点

docker run -it -p 50005:22 -v /home/ouc/ros_dave:/data  --name dockwater_noetic_runtime   --gpus all -v /dev:/dev --group-add video   -e DISPLAY -e TERM   -e QT_X11_NO_MITSHM=1   -e XAUTHORITY=/tmp/.docker74z95fw6.xauth -v /tmp/.docker74z95fw6.xauth:/tmp/.docker74z95fw6.xauth   -v /tmp/.X11-unix:/tmp/.X11-unix   -v /etc/localtime:/etc/localtime:ro  7c9399c1f9c1 /bin/bash

进入容器后,首先是要换源,不然很慢,然后下载代码

下载完源码后,在uuv_ws/src中使用catkin_init_workspace(命令不存在的话,source一下ros)
在uuv_ws中使用rosdep install --from-paths src --ignore-src -r -y自动安装相关依赖(有些安装不了的可以先不用管)
然后catkin build
在这里插入图片描述

3.运行一下多波束声呐的示例程序(学习记录2.5)

roslaunch nps_uw_multibeam_sonar sonar_tank_blueview_p900_nps_multibeam_ray.launch

注意当前的cuda版本nvcc --version
尝试nvidia-settings是否能打开

解决声呐图像黑屏问题

如果声呐图像显示全黑,个人猜测可能是cuda的原因,镜像自带cuda12.4,如果装新版本的时候,没有正确覆盖(看一下/usr/local里有几个cuda),且你自己的显卡不支持这个版本,就会不显示

安装新版cuda后,需要catkin clean后重新catkin build,不clean的话可能报错:

在这里插入图片描述
如果还是黑屏,尝试完全删除cuda12.4(locate cuda)

在这里插入图片描述

这篇关于【声呐仿真】学习记录3.5-docker中Gazebo是否使用GPU?解决声呐图像黑屏的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/986796

相关文章

如何使用Docker部署FTP和Nginx并通过HTTP访问FTP里的文件

《如何使用Docker部署FTP和Nginx并通过HTTP访问FTP里的文件》本文介绍了如何使用Docker部署FTP服务器和Nginx,并通过HTTP访问FTP中的文件,通过将FTP数据目录挂载到N... 目录docker部署FTP和Nginx并通过HTTP访问FTP里的文件1. 部署 FTP 服务器 (

解读docker运行时-itd参数是什么意思

《解读docker运行时-itd参数是什么意思》在Docker中,-itd参数组合用于在后台运行一个交互式容器,同时保持标准输入和分配伪终端,这种方式适合需要在后台运行容器并保持交互能力的场景... 目录docker运行时-itd参数是什么意思1. -i(或 --interactive)2. -t(或 --

MySQL 日期时间格式化函数 DATE_FORMAT() 的使用示例详解

《MySQL日期时间格式化函数DATE_FORMAT()的使用示例详解》`DATE_FORMAT()`是MySQL中用于格式化日期时间的函数,本文详细介绍了其语法、格式化字符串的含义以及常见日期... 目录一、DATE_FORMAT()语法二、格式化字符串详解三、常见日期时间格式组合四、业务场景五、总结一、

Python中配置文件的全面解析与使用

《Python中配置文件的全面解析与使用》在Python开发中,配置文件扮演着举足轻重的角色,它们允许开发者在不修改代码的情况下调整应用程序的行为,下面我们就来看看常见Python配置文件格式的使用吧... 目录一、INI配置文件二、YAML配置文件三、jsON配置文件四、TOML配置文件五、XML配置文件

Go使用pprof进行CPU,内存和阻塞情况分析

《Go使用pprof进行CPU,内存和阻塞情况分析》Go语言提供了强大的pprof工具,用于分析CPU、内存、Goroutine阻塞等性能问题,帮助开发者优化程序,提高运行效率,下面我们就来深入了解下... 目录1. pprof 介绍2. 快速上手:启用 pprof3. CPU Profiling:分析 C

springboot3.4和mybatis plus的版本问题的解决

《springboot3.4和mybatisplus的版本问题的解决》本文主要介绍了springboot3.4和mybatisplus的版本问题的解决,主要由于SpringBoot3.4与MyBat... 报错1:spring-boot-starter/3.4.0/spring-boot-starter-

MySQL InnoDB引擎ibdata文件损坏/删除后使用frm和ibd文件恢复数据

《MySQLInnoDB引擎ibdata文件损坏/删除后使用frm和ibd文件恢复数据》mysql的ibdata文件被误删、被恶意修改,没有从库和备份数据的情况下的数据恢复,不能保证数据库所有表数据... 参考:mysql Innodb表空间卸载、迁移、装载的使用方法注意!此方法只适用于innodb_fi

Python中conda虚拟环境创建及使用小结

《Python中conda虚拟环境创建及使用小结》本文主要介绍了Python中conda虚拟环境创建及使用小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录0.前言1.Miniconda安装2.conda本地基本操作3.创建conda虚拟环境4.激活c

Spring Retry 实现乐观锁重试实践记录

《SpringRetry实现乐观锁重试实践记录》本文介绍了在秒杀商品SKU表中使用乐观锁和MybatisPlus配置乐观锁的方法,并分析了测试环境和生产环境的隔离级别对乐观锁的影响,通过简单验证,... 目录一、场景分析 二、简单验证 2.1、可重复读 2.2、读已提交 三、最佳实践 3.1、配置重试模板

Spring中@Lazy注解的使用技巧与实例解析

《Spring中@Lazy注解的使用技巧与实例解析》@Lazy注解在Spring框架中用于延迟Bean的初始化,优化应用启动性能,它不仅适用于@Bean和@Component,还可以用于注入点,通过将... 目录一、@Lazy注解的作用(一)延迟Bean的初始化(二)与@Autowired结合使用二、实例解