【声呐仿真】学习记录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)

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/621259.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

公式识别软件免费的有哪些?简单好用的有三款

公式识别软件免费的有哪些?在数字化时代,公式识别软件已经成为科研、教育等领域不可或缺的工具。这些软件能够准确地将图像中的公式转化为可编辑的文本格式,极大地提高了工作效率。为了帮助大家轻松应对公式识别的挑战,今天本文就…

HarmonyOS开发案例:【Stage模型下Ability的创建和使用】

介绍 基于Stage模型,对Ability的创建和使用进行讲解。首先在课程中我们将带领大家使用DevEco Studio创建一个Stage模型Ability,并使用UIAbilityContext启动另一个Ability,然后借助Want,在Ability之间传递参数,最后我们…

【机器学习】人力资源管理的新篇章:AI驱动的高效与智能化

🧑 作者简介:阿里巴巴嵌入式技术专家,深耕嵌入式人工智能领域,具备多年的嵌入式硬件产品研发管理经验。 📒 博客介绍:分享嵌入式开发领域的相关知识、经验、思考和感悟,欢迎关注。提供嵌入式方向…

算法题解记录25+++验证二叉搜索树(百日筑基)

题目描述: 难度:中等 给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下: 节点的左 子树 只包含 小于 当前节点的数。节点的右子树只包含 大于 当前节点的数。所有左子树和右子树自身必…

浅谈现代消息队列与云存储

一、前言 1970 年代末,消息系统用于管理多主机的打印作业,这种削峰解耦的能力逐渐被标准化为“点对点模型”和稍复杂的“发布订阅模型”,实现了数据处理的分布式协同。随着时代的发展,Kafka,Amazon SQS,Ro…

【主题广泛|稳定检索】2024年社会科学、公共服务与人文艺术国际会议(SPSHA 2024)

2024年社会科学、公共服务与人文艺术国际会议(SPSHA 2024) 2024 International Conference on Social Sciences, Public Services, and Humanities and Arts 【会议简介】 本次会议定于2024年在中国的繁华都市——广州召开,汇聚了全球在该领…

使用Vue3开发项目,搭建Vue cli3项目步骤

1.打开cmd ,输入 vue create neoai遇到这样的问题 则需要升级一下电脑上 Vue Cli版本哈 升级完成之后 再次输入命令,创建vue3项目 vue create neoai安装完成后,输入 npm run serve 就可以运行项目啦~ 页面运行效果

C#知识|上位机UI设计-详情窗体设计思路及流程(实例)

哈喽,你好啊,我是雷工! 上两节练习记录了登录窗体和主窗体的实现过程,本节继续练习内容窗体的实现,以下为练习笔记。 01 详情窗体效果展示: 02 添加窗体并设置属性 在之前练习项目的基础上添加一个Windows窗体,设置名称为:FrmIPManage.cs 设置窗体的边框和标题栏的外…

Mask2former代码详解

1.整体流程 Mask2former流程如图所示,对于输入图片,首先经过Resnet等骨干网络获得多层级特征,对于获得的多层级特征,一个方向经过pixel decoder(基于DetrTransformerEncoderLayer)得到per-pixel embedding,另外一个方向经过transf…

【C++初阶】string模拟实现

✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅ ✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨ 🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿&#x1…

2024年抖店什么类目赚钱?这八个类目最赚钱,想开店的快来瞅瞅!

哈喽~我是电商月月 做抖音小店的商家都知道,选品是非常重要的 那什么样的商品类型赚钱,哪些商品又适合新手操作呢? 今天我就给大家推荐几个热销类目,特别是最后两个,下半年说不定会小爆一把哦 一.日用百货 这个类…

自制无感无刷电机驱动板

自制无感无刷电机驱动板 分别测试了基于C251的STC32G单片机、Arduino AVR的ATmega328PB、以及ARM的ST32F103单片机。 🧲测试转动效果 ✒目前市面上开源的有关无刷电机的项目数不胜数,其控制原理都大同小异,在没有领透其技术要领情况下&#x…

第六节笔记及作业----Lagent AgentLego 智能体应用搭建

关于 Agent 的相关理论 大语言模型存在一些局限性,比如会出现幻觉问题、有时效性问题以及可靠性问题。智能体的定义是具备感知、决策和行动能力的实体。智能体主要由感知部分、大脑部分和动作部分组成。智能体有多种类型,如 ReAct 类型(侧重…

5.10.8 Transformer in Transformer

Transformer iN Transformer (TNT)。具体来说,我们将局部补丁(例如,1616)视为“视觉句子”,并将它们进一步划分为更小的补丁(例如,44)作为“视觉单词”。每个单词的注意力将与给定视…

智慧党建小程序源码系统 源码全开源支持二次开发 带完整的安装代码包以及搭建部署教程

源码系统概述 智慧党建小程序源码系统是一款基于微信小程序开发的党建管理工具,它集党员管理、党费收缴、活动组织、信息发布等功能于一体,实现了党建工作的全面数字化。该系统采用先进的云计算和大数据技术,支持多平台、多终端访问&#xff…

J-STAGE (日本电子科学与技术信息集成)数据库介绍及文献下载

J-STAGE (日本电子科学与技术信息集成)是日本学术出版物的平台。它由日本科学技术振兴机构(JST)开发和管理。该系统不仅包括期刊,还有论文集,研究报告、技术报告等。文献多为英文,少数为日文。目前网站上所发布的内容来…

二.基础篇: 面向对象进阶

1. 基础篇语法篇:一.基础篇:基础语法-CSDN博客 面向对象进阶 本章主要学习内容: static继承包,final,权限修饰符,代码块抽象类接口多态内部类 1. static static翻译过来就是静态的意思static表示静态&am…

家用洗地机哪款最好用?附热门洗地机品牌推荐,看完这篇不踩坑

随着技术的不断发展,现在的洗地机功能已经越来越强大了,它可以高效的扫地、拖地、不用手动清洗滚刷,甚至有些中高端型号还能边洗地边除菌,远程操控自清洁,简直就是家居清洁的小能手!那么,家用洗…

‘vue-cli-service‘ is not recognized as an internal or external command解决方案

vue-cli-service is not recognized as an internal or external command, operable program or batch file.解决方案 先进行 : npm install -g vue/cli 命令安装vue cli 是必须的。 如果 npm run build 还是报错 遇到同样的提示: 这时候先安装依赖 np…

深入理解与应用C++ Vector

1. C Vector 简介与基本使用 C 的 vector 是一个序列容器,用于表示可变大小的数组。它结合了数组的高效元素访问和动态大小调整的灵活性。与静态数组相比,vector 的大小可以根据需要自动调整,这是通过在底层使用动态数组来实现的。当新元素被…