【声呐仿真】学习记录2.5-DAVE项目部分文档大纲

【声呐仿真】学习记录2.5-DAVE项目

  • 一、Dave Models 模型
    • Vehicle Models 航行器模型
      • New Underwater Vehicle 新型水下航行器
      • Dave ROV Models
      • Dave Glider Models
      • Manipulator Models 机械臂模型
      • UUV Simulator Examples
        • rexrov
        • rexrov2
        • desistek saga rov
        • eca_a9
        • Light Autonomous Underwater Vehicle (LAUV) 轻型自主水下航行器
    • Bathymetry Models 探测模型
      • Bathymetry Models
      • Build from heightmap 从高度图构建
    • Object Models
      • Dave Object Models 物体模型
      • Object Degradation Tool
  • 二、Dave Sensors传感器
    • 1.Multibeam Sonar 多波束声纳
      • 1.1介绍
      • 1.2 Background 背景
        • Characteristics/fidelity/Features 特性/保真度/特性
        • 1.3 Related works 相关著作
      • 1.4 Approach 方法
      • 1.5 Installation 安装
  • 1.6 ==多波束声纳快速入门==
    • Launch commands 启动命令
    • Raster vs GPURay
      • 光栅版本
      • GPURay 版本
    • Sonar image 声呐图像
  • Configurations 配置
    • Gazebo Coordinate Frames Gazebo坐标系
    • Parameters 参数
      • Viewport properties 视口属性
      • Sonar properties 声纳属性
      • Plugin properties 插件属性
    • ROS Topic names
    • Variational Reflectivity 变分反射率
      • 按型号名称划分的反射率
        • How it works 运作方式
        • Results 结果
      • 自定义 SDF 标签的反射率
        • Quickstart 快速入门
        • How it works 运作方式
        • Results 结果
    • Output ROS msg 输出 ROS 消息
      • Rviz Sonar Image Viewer Plugin 图像查看器插件
    • Scenario demonstrations 场景演示
      • Local area search scenarios 本地搜索方案
        • 适用于本地搜索方案的 GPU Ray 与 Raster
    • Degradaded object detection scenarios
      • Examples 例子
    • Terrain Aided Navigation Scenarios 地形辅助导航场景
  • ==多波束声纳END==

一、Dave Models 模型

Vehicle Models 航行器模型

New Underwater Vehicle 新型水下航行器

一个创建uuv的示例,不过貌似缺少相关的纹理文件
在这里插入图片描述

Dave ROV Models

预览所有已有ROV模型

roslaunch dave_robot_launch uuv_collection.launch paused:=true

在这里插入图片描述

Dave Glider Models

预览glider模型

roslaunch dave_robot_launch glider_collection.launch paused:=true

右键move to即可看到水下滑翔机: Slocum, hybrid and wave.
在这里插入图片描述

Manipulator Models 机械臂模型

roslaunch uuv_dave uuv_predator.launch

在这里插入图片描述

UUV Simulator Examples

rexrov

在这里插入图片描述

rexrov2

在这里插入图片描述

desistek saga rov

在这里插入图片描述

eca_a9

在这里插入图片描述

Light Autonomous Underwater Vehicle (LAUV) 轻型自主水下航行器

在这里插入图片描述

Bathymetry Models 探测模型

Bathymetry Models

有两种方法在Gazebo中模拟高度图:
一是使用Gazebo中的通用Ogre’s高度图生成功能;
另一种是使用Bathymetry_Converter从大型测深高度图文件中分解并生成一个或多个测深面片。

用户可以任意选择。但前者(在2022年2月22日,发现有错误,无法在运行中删除和插入新的测深数据)。此外,其需要更长的时间来加载到场景中的测深。
后者可以与测深自动生成/删除插件一起使用,该插件可以按需根据车辆的位置插入和删除测深图块。

Build from heightmap 从高度图构建

创建一个新的高分辨率海底的示例

Object Models

Dave Object Models 物体模型

DAVE特定物体模型存储在两个位置:
1.dave存储库中的dave_object_models ROS包
2.Within the DAVE collection of the Ignition Fuel online model repository.
在点火燃料在线模型库的DAVE集合中。

有一些鱼、炮弹、罐子之类的物体

Object Degradation Tool

物体扭曲工具,参考#Degradaded_object_detection_scenarios

二、Dave Sensors传感器

1.Multibeam Sonar 多波束声纳

1.1介绍

以前的声纳传感器插件基于图像处理领域,通过将感知图像的每个子像素(点云)转换为类似于具有或不具有声纳方程的声纳传感器(对以前基于图像的方法的详细回顾)。在这里,我们开发了一个基于射线的多波束声纳插件,以考虑声信号的相位phase和再兆应物理场,使用点散射模型提供原始声纳强度范围数据(A图)。

考虑物理特性,包括时间和角度模糊以及散斑噪声。时间和角度模糊度是相干成像系统的点扩散函数(即由于匹配滤波和波束成形导致的旁瓣)的函数。

斑点是由于许多小于成像系统分辨率极限的干扰散射体而导致的图像颗粒状外观。

features 特点:

  • 使用点散射模型计算物理声纳波束/射线
    – 生成强度范围(A图)原始声纳数据
    – 使用 UW APL 的声纳图像消息格式发布数据
  • NVIDIA CUDA 核心 GPU 并行化
    – 10Hz刷新率,10m范围(光栅版)

注意:要获得闪闪发光的声纳图像, artificialVehicleVibration 光栅版本的标签应为 true。对于 GPU Ray 版本, stddev 或 gaussian_noise_stddev 应大于 0.0(例如 0.01)

1.2 Background 背景

Characteristics/fidelity/Features 特性/保真度/特性
  • 基于声纳方程的声学特性 (SNR = SL-2TL-(NL-DI)+TS)

声纳方程不考虑相位、光线之间的混响

  • 更高保真度的声学特性
  • 插件图请添加图片描述
1.3 Related works 相关著作

在 2015 年的 Demarco 中,使用光线追踪开发了 Gazebo 声纳传感器模型。Gazebo 光线追踪功能可生成转换为声纳图像的 3D 点云。

在 Cirqueira 2017 中,使用光栅化开发了基于 GPU 的声纳模拟器。该模型有两种类型的声纳:机械扫描成像声纳(MSIS)和前视声呐(FLS)。其模型中提供的声学特征是准确的,并且代表了声音传播。

1.4 Approach 方法

Original Research paper 原创研究论文:
Choi, W., Olson, D., Davis, D., Zhang, M., Racson, A., Bingham, B. S., … & Herman, J. Physics-based modelling and simulation of Multibeam Echosounder perception for Autonomous Underwater Manipulation. Frontiers in Robotics and AI, 279. 10.3389/frobt.2021.706646的部分文章

1.5 Installation 安装

参照之前的文章,最好用docker安装

1.6 多波束声纳快速入门

Launch commands 启动命令

该存储库包括四种声纳型号(Blueview P900、Blueview M450、Seabat F50 和 Oculus M1200d)

# Raster version
roslaunch nps_uw_multibeam_sonar sonar_tank_blueview_p900_nps_multibeam.launch
roslaunch nps_uw_multibeam_sonar sonar_tank_blueview_m450_nps_multibeam.launch
roslaunch nps_uw_multibeam_sonar sonar_tank_seabat_f50_nps_multibeam.launch
roslaunch nps_uw_multibeam_sonar sonar_tank_oculus_m1200d_nps_multibeam.launch
# GPU Ray version
roslaunch nps_uw_multibeam_sonar sonar_tank_blueview_p900_nps_multibeam_ray.launch
# URDF description version (gpu_ray true/false to change between Raster and GPU ray versions)
roslaunch nps_uw_multibeam_sonar sonar_tank_blueview_p900_nps_multibeam_urdf.launch

Raster vs GPURay

存储库中有两种类型的多波束声纳插件。光栅版本和 GPURay 版本。它们输出相同的结果,但 GPURay 版本可以自由使用更多数量的光线,以节省计算时间和变分反射率特征。
请添加图片描述

光栅版本

它基于 depth camera 传感器获取点云数据集,用于声纳信号计算。

它通常比 GPURay 版本快,但无法定义垂直光线的数量。此外,根据模型名称的变分反射率也适用。

GPURay 版本

它基于为Velodyne模拟器打包的 GPU Ray 传感器,以获得用于声纳单次计算的点云数据集。

它通常比光栅版本慢,但它可以使用 fidelity 参数定义垂直光线的数量。它只能在所有型号的恒定反射率值下使用。

Sonar image 声呐图像

  • 使用 image_view 在启动文件中定义的实时取景捕获绘制。

右键单击它会将图像保存在目录中 /tmp

如果要动态调整大小,请将标记更改 autosize 为 false 启动文件。

  • 使用 MATLAB 脚本可视化的导出数据,网址为 scripts/plotRawData.m

Configurations 配置

Gazebo Coordinate Frames Gazebo坐标系

该插件使用 marine_acoustic_msgs/ProjectedSonarImage ROS 消息输出声纳数据。该消息将每个声纳波束的方位定义为围绕向下轴线的旋转,使得负方位角位于前舷,正轴承位于右舷(如果声纳安装在其“典型”前视方向上)。

该插件将使用 Gazebo 框架名称作为 ROS 消息 frame_id 中的框架名称。为了使声纳数据正确地重新投射到 3D 空间中,它必须连接到 Gazebo 中的 X-Forward、Y-Starboard、Z-Down 框架。

Parameters 参数

声纳的参数在每个 model.sdfurdf/multibeam_sonar_blueview_p900.xacro 文件中配置

Viewport properties 视口属性

  • 光栅版本
    声纳的视口是使用深度相机参数配置定义的,包括 FOV、Clip(Range)、nBeams(宽度)、nRays(高度,也用作垂直视场)

  • GPU Ray版本
    声纳的视口使用gpu_ray型传感器配置定义,包括水平和垂直视场以及采样数

Sonar properties 声纳属性

声纳计算的参数也在 model.sdf or urdf/multibeam_sonar_blueview_p900.xacro 文件中定义,包括声纳频率、带宽、声速、声源电平。

Plugin properties 插件属性

可以更改计算设置,包括 Ray skips、Max distance、writeLog/interval、DebugFlag、Publishing 主题名称。

maxDistance :定义目标的最大距离,这也定义了每个波束的信号长度。理想情况下,它应该与 clip 深度相机属性的参数匹配。

ray skips :用于减少跳跃光线计算的计算时间。每个光束的光线总数由深度相机属性的 height 参数定义。

sensor gain :用于指定传感器增益,以获得更好的可视化效果。 plot scaler :用于缩放捆绑查看器窗口上的值,该窗口使用 ROS rqt_image_view 的包绘制。

writeLog 标志 :如果打开,则原始数据以 /tmp/ writeFrameInterval as SonarRawData_000001.csv 的速率保存为 csv 文件。此外,对于 GPU Ray 版本, SonarRawData_beam_angles.csv 已保存。

debugFlag 标志 :如果开启,则在控制台上打印每帧的计算时间。

artificialVehicleVibration 标志 :如果打开,高斯噪声值将不断变化,作为本维基上示例gif中的闪闪发光的声纳图像。

除非声纳所连接的车辆被移动或场景中的物体发生变化,否则在现实世界中不会发生闪光噪声(即使声纳场景是静态的,随机噪声值也会持续变化)。

在某些情况下,利用这些物理特性通过检测噪声变化来识别场景中的变化。在插件中,每当场景中对象的最大距离发生变化时,高斯噪声值(随机噪声值)就会发生变化。

此标志参数更改每帧上的随机值,以模拟车辆在原位振动。

ROS Topic names

您还可以为声纳图像和其他数据定义主题名称。

Variational Reflectivity 变分反射率

虽然高保真目标强度对于简单的实现来说是遥不可及的,但用户可以在场景对象上提供不同的表面反射率。

Note 注意

变分反射率会显着降低刷新率。

该插件将以恒定的反射率启动,可能需要几秒钟才能刷新具有变分反射率的图像。

按型号名称划分的反射率

How it works 运作方式
Results 结果

请添加图片描述

自定义 SDF 标签的反射率

Quickstart 快速入门
How it works 运作方式
Results 结果

请添加图片描述

Output ROS msg 输出 ROS 消息

声纳图像的最终输出以两种类型发送。

  • Topic name sonar_image

这是内部用于绘制与 ROS 包一起 image_view 使用的消息。

数据使用 OpenCV 的 CV_8UC1 格式生成,用 cv::NORM_MINMAX 归一化,用 cv::COLORMAP_HOT 着色,并使用 BGR8 格式更改为 msg 格式

  • Topic name sonar_image_raw

这是与 UW APL 的 ProjectedSonarImage.msg 相匹配的msg。

数据位于 uint8 中。

Rviz Sonar Image Viewer Plugin 图像查看器插件

有一个专用的声纳图像查看器 rviz 插件由 Roland Arsenault 开发。要使用它,请在 src 目录中包含rviz_sonar_image存储库并编译它们。

# clone and compile rviz_sonar_image repo
cd ~/uuv_ws/src/
git clone https://github.com/rolker/rviz_sonar_image
cd ../
catkin build rviz_sonar_image# run rviz after running the launch file
rviz

在 rviz 中,添加 ProjectedSonarImageDisplay 并选择 sonar_image_raw 要发布的声纳的主题。
请添加图片描述

Scenario demonstrations 场景演示

Local area search scenarios 本地搜索方案

多波束声呐的 GPU Ray 版本可以完全支持声呐向海底俯仰的局部搜索场景。使用 Dave 中的示例模型,包含用于用户演示的世界/启动文件。

适用于本地搜索方案的 GPU Ray 与 Raster

请添加图片描述

  • Raster version 光栅版本
  # generic sdf; not urdfroslaunch nps_uw_multibeam_sonar local_search_blueview_p900_nps_multibeam_raster.launch# urdf standaloneroslaunch nps_uw_multibeam_sonar local_search_blueview_p900_nps_multibeam_urdf_standalone_raster.launch

声纳视角掠过海底时仰角光线不足

基于光栅(深度相机)的声纳插件无法更改仰角光线的数量(使用水平/垂直 FOV 的定义进行修复)

512 个水平光束(每个光束有 228 条仰角射线)

  • Ray version Ray 版本
  # generic sdf; not urdfroslaunch nps_uw_multibeam_sonar local_search_blueview_p900_nps_multibeam_ray.launch# urdf standaloneroslaunch nps_uw_multibeam_sonar local_search_blueview_p900_nps_multibeam_urdf_standalone_ray.launch

当然,高程射线的数量是用户可以定义的,但计算时间成本很高

512 个水平光束(每个光束有 500 个仰角光线)

Degradaded object detection scenarios

多波束声纳可用于检测物体的退化。要实现此方案,您可以使用自动扭曲网格模型的 mesh_destortion 脚本来扭曲模型。

Examples 例子

  • 大型模型示例:Ship reck(原始与扭曲)
  roslaunch nps_uw_multibeam_sonar sonar_shipwreck_blueview_p900_nps_multibeam.launch

请添加图片描述

  • 小模型示例:花瓶(原始与扭曲)
  roslaunch nps_uw_multibeam_sonar sonar_vase_blueview_p900_nps_multibeam.launch

请添加图片描述

Terrain Aided Navigation Scenarios 地形辅助导航场景

TAN Scenarios | Project DAVE

多波束声纳END

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

互动科技如何强化法治教育基地体验?

近年来,多媒体互动技术正日益融入我们生活的各个角落,法治教育领域亦不例外。步入法治教育基地,我们不难发现,众多创新的多媒体互动装置如雨后春笋般涌现,这些装置凭借前沿的科技手段,不仅极大地丰富了法制…

排序1——直接插入排序,希尔排序,选择排序,堆排序

1.排序的概念及其运用 1.1排序的概念 排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。 稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录…

【MySQL】——课程平台的创建设计

💻博主现有专栏: C51单片机(STC89C516),c语言,c,离散数学,算法设计与分析,数据结构,Python,Java基础,MySQL,linux&#xf…

Three.js基础练习——渲染一个立方体

1.学习内容参考了 three.js入门教程--零基础也能学会_threejs菜鸟教程-CSDN博客 本章内容包含渲染立方体,并配合ui工具食用~ 2.效果图 import * as THREE from three import * as dat from dat.gui import { OrbitControls } from three/addons/controls/OrbitC…

在Tiled中制作动画瓦片图

什么是瓦片图?瓦片图是指用图块把游戏场景评出来 工具安装链接:Tiled | Flexible level editor 资源下载教程 资源下载:Mystic Woods - 16x16 Pixel Art Asset Pack by Game Endeavor 解压后得到一些资源 新建图块集合 Tiled的安装就不介绍…

H3C DHCP快速配置指南

1 配置DHCP服务器动态分配IPv4地址 1.1 简介 本案例介绍配置接口工作在DHCP服务器模式,实现动态分配IPv4地址的方法。 1.2 组网需求 如1.2 图1所示,公司将交换机做为核心交换机,现在需要在核心交换机上划分3个VLAN网段,Ho…

从零开始写 Docker(十四)---重构:实现容器间 rootfs 隔离

本文为从零开始写 Docker 系列第十四篇,实现容器间的 rootfs 隔离,使得多个容器间互不影响。 完整代码见:https://github.com/lixd/mydocker 欢迎 Star 推荐阅读以下文章对 docker 基本实现有一个大致认识: 核心原理:…

FTA、ETA和FMA相互融合——FMEA软件

免费试用FMEA软件-免费版-SunFMEA 在实际工作中,故障树分析(FTA)、事件树分析(ETA)和故障模式、影响及危害性分析(FMECA)是相互补充、相互关联的分析工具,它们在保障系统安全性和可…

Docker常用镜像安装

1. mysql 1.1 安装 获取镜像 docker pull mysql:8.0.30创建文件挂载目录 创建容器并运行 docker run -p 3306:3306 --name mysql8 \ -v /home/docker/mysql8/log:/var/log/mysql \ -v /home/docker/mysql8/data:/var/lib/mysql \ -v /home/docker/mysql8/mysql-files:/va…

三国杀背后的图形化编程 变量跟踪与吐槽的故事

在周末的公司里,卧龙凤雏等几位员工终于结束了加班任务,他们每个人都显现出些许疲惫之态,但心情还算较为轻松愉悦。突然,有人提议玩上几局三国杀,以此来让大家放松一下身心。于是乎,几人纷纷掏出手机&#…

QML配合VTK基本实现

采用 QT5.15 VTK9.2.0 建立QT QUICK项目 部分方法来源于 QML加载VTK main.cpp #include <QGuiApplication> #include <QQmlApplicationEngine>#include <QQuickVTKRenderWindow.h> #include <QQuickVTKRenderItem.h> #include <vtkPolyDataMapp…

geotrust dv通配符证书800

Geotrust是成立时间较久的正规CA认证机构&#xff0c;在过去的几十年间颁发了无数的SSL证书&#xff0c;这些SSL证书被各个开发者使用&#xff0c;受到大多数浏览器的信任。而Geotrust旗下的DV通配符证书因其广泛的应用范围受到了用户的青睐。今天就随SSL盾小编了解Geotrust旗下…

R2S+ZeroTier+Trilium

软路由使用ZeroTier搭建远程笔记 软路由使用ZeroTier搭建远程笔记 环境部署 安装ZeroTier安装trilium 环境 软路由硬件&#xff1a;友善 Nanopo R2S软路由系统&#xff1a;OpenWrt&#xff0c;使用第三方固件nanopi-openwrt。内网穿透&#xff1a;ZeroTier。远程笔记&…

人脸识别技术在访客管理中的应用

访客办理体系&#xff0c;能够使用于政府、戎行、企业、医院、写字楼等众多场所。在办理时&#xff0c;需求对来访人员身份进行精确认证&#xff0c;才能保证来访人员的进入对被访单位不被外来风险入侵。在核实身份时&#xff0c;比较好的方法就是选用人脸辨认技能&#xff0c;…

苹果电脑怎么清内存?2024有哪些好用的工具?

在使用苹果电脑的过程中&#xff0c;我们可能会遇到系统运行缓慢、程序响应迟缓或频繁出现应用程序崩溃的情况&#xff0c;这些问题很可能是由于内存占用过高所导致。内存&#xff0c;或称为RAM&#xff08;RandomAccessMemory&#xff09;&#xff0c;是计算机的临时存储区&am…

【Redis】用户登录校验

对于用 redis 对用户进行登录校验&#xff0c;大致可分为以下六步&#xff1a; 首先通过查询数据库来查找具有提供的用户名、密码和delFlag值为0的用户。如果未找到用户&#xff0c;则抛出一个带有消息"用户不存在"的ClientException&#xff08;用户不存在&#xf…

【计算机网络】计算机网络概述、计算机网络性能指标 习题1

0 1. 计算机网络可被理解为( )。 A.执行计算机数据处理的软件模块 B. 由自治的计算机互连起来的集合体 C.多个处理器通过共享内存实现的紧耦合系统 D. 用于共同完成一项任务的分布式系统 0 2.计算机网络最基本的功能是( )。 A.数据通信 B. 资源共享 C. 分布式处理 D. 信息综合…

06_图(Graph)

图的定义 图&#xff08;Graph&#xff09;是由顶点的有穷非空集合和顶点之间的集合组成&#xff0c;通常表示为&#xff1a;G(V,E)&#xff0c;其中&#xff0c;G表示一个图&#xff0c;V是图G中顶点集合&#xff0c;E是图G中边的集合。 对于图的定义&#xff0c;需要注意的地…

国产操作系统上安装软件包及环境管理系统Conda _ 统信 _ 麒麟

原文链接&#xff1a;国产操作系统上安装软件包及环境管理系统Conda | 统信 | 麒麟 Hello&#xff0c;大家好啊&#xff01;今天我们将讨论如何在国产操作系统上安装Conda。Conda是一款开源的软件包管理和环境管理系统&#xff0c;可以轻松管理多个数据科学和机器学习环境&…

鸿蒙应用开发DevEco Studio工程目录模块介绍

面向开发者&#xff0c;HarmonyOS 推出了 DevEco Studio 和 Dev Device Tool 两款开发工具&#xff0c;前者目前迭代至 3.1 版本&#xff08;对外开放版本&#xff09;&#xff0c;用于开发 HarmonyOS 应用&#xff1b;后者用于开发智能设备 应用的工程主体结构如上图 在这里我…