【声呐仿真】学习记录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 urdf
  roslaunch nps_uw_multibeam_sonar local_search_blueview_p900_nps_multibeam_raster.launch
  # urdf standalone
  roslaunch nps_uw_multibeam_sonar local_search_blueview_p900_nps_multibeam_urdf_standalone_raster.launch

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

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

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

  • Ray version Ray 版本
  # generic sdf; not urdf
  roslaunch nps_uw_multibeam_sonar local_search_blueview_p900_nps_multibeam_ray.launch
  # urdf standalone
  roslaunch 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

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

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

相关文章

二叉搜索树模拟实现

目录 认识二叉搜索树: 模拟实现: 节点结构体构建: insert(插入): find(查找): erase(删除)(重点): 全部代码 认识二叉…

[算法][单调栈] [leetcode]316. 去除重复字母

去除重复字母 给你一个字符串 s ,请你去除字符串中重复的字母,使得每个字母只出现一次。需保证 返回结果的 字典序最小(要求不能打乱其他字符的相对位置)。 字典序最小: 考虑字符串 a 与 字符串 b,如果字…

Pytest测试实战 —— 分布式执行!

在这篇文章中,我们将从头开始介绍如何使用Pytest进行测试实战,并探讨如何在分布式环境中执行测试。Pytest是一个功能强大且易于使用的Python测试框架,它提供了丰富的功能和灵活的配置选项,使得编写和执行测试变得简单而又高效。 …

决策管理中的数学方法

需要注意的是,用excel求解的时候需要导入线性规划加载项如下: pert分析需要DecisionTools中的RiskSolver插件 1.链接:https://pan.baidu.com/s/1wKhUFWgNmQ7U33kl5AypZw 提取码:zqkn 2.“Palisade_Book_expires_Aril_10_2025.lic”文件复制到以下路径: C:\Program Files …

在视频号搞变现,又不想直播,可以试试它!

大家好,我是电商糖果 视频号这两年流量比较大,甚至有了即将赶超抖音,快手的趋势。 再加上它的用户都是来自微信,属于是私域流量。 所以视频号的用户粘性比较大,而且非常容易变现。 就有不少人想在视频号搞变现&…

保健品小程序商城线上经营的作用是什么

保健品涵盖酒水、醋、食品等多个类型,无论厂商还是经销商,手里的品牌和数量都比较多,由于特殊性,商家经营时需要找到目标客户,而市场中虽然有大量客户,但商家实际想要触达却并不容易。 渠道多样化&#xf…

C#知识|无边框的WinForm窗体,如何拖动位置?

哈喽,你好啊,我是雷工! 上一节时练习做了一个简单的登录窗体界面,为了美观设置成了无边框, 当运行起来,发现无边框的窗体无法用鼠标拖动位置, 本节记录通过添加代码实现无边框窗体实现移动&…

VR智慧文旅:开启“韵味”旅游季的新篇章

为了充分满足游客的假日文化旅游需求,各地纷纷“解锁”新花样,沉浸式实景观展震撼“出圈”。在数字化浪潮的推动下,文化旅游行业正经历着变革,在万物皆可沉浸的时代,VR智慧文旅燃起了不一样的热度。 许多业内人士认为&…

【数据结构】顺序表(一)

✨✨✨专栏:数据结构 🧑‍🎓个人主页:SWsunlight 不怕别人看不起,就怕自己不争气。路是人走出来的,关键要靠自己闯。振作起来,生活的含义就是前进。 目录 一、顺序表的概念: 二…

安卓实现视频录制与显示和翻转摄像头

权限&#xff1a; <!-- 相机权限 --> <uses-featureandroid:name"android.hardware.camera"android:required"false" /> <uses-permission android:name"android.permission.CAMERA" /><!-- 录音权限&#xff08;包括麦克…

企业网站从传统服务器迁移到弹性云有什么优势呢?

现代企业对于网站和应用程序的可用性和性能要求越来越高&#xff0c;传统基础设施可能无法满足这些需求。弹性云作为一种新兴的云计算服务模式&#xff0c;对于企业网站的运行和管理带来了许多优势。下面是企业网站从传统服务器迁移到弹性云的五大优势&#xff1a; 灵活弹性&a…

数据结构(一)绪论

2024年5月11日 一稿 数据元素+数据项 逻辑结构 集合 线性结构 树形结构 </

水表智能抄表系统是什么?

水表智能抄表系统是一种现代化水资源保护专用工具&#xff0c;它利用先进的物联网、云计算和大数据剖析&#xff0c;完成了智能抄表、实时监控系统、数据分析等作用&#xff0c;大大提高了水务管理的效率和精确性。 1.功能特点 1.1远程控制自动抄表 传统水表抄水表方法采用人…

SAP-CentralFinance - 会计核算中的组织要素 - 学习心得1

1. 定义SAP组织架构和理解各组织架构含义 组织结构遍布SAP 系统的所有重要功能范围。FI 中最重要的组织要素是公司代码。它是“财务会计”中的最小组织单位,可以为其编制自主式完整科目集供外部报告使用。其他重要的组织要素是利润中心业务范围和段。您可以为各个利润中…

Linux系统编程——进程控制

目录 一&#xff0c;进程创建 1.1 fork回顾 1.2 写时拷贝 1.3 fork用处 1.4 fork调用失败原因 二&#xff0c;进程退出 2.1 进程退出场景 2.2 mainCRTStartup调用 2.3 进程退出码 2.3.1 main函数返回值 2.3.2 strerror ​编辑 2.3.3 命令的退出码 2.4 进程正常退…

LeetCode-258. 各位相加【数学 数论 模拟】

LeetCode-258. 各位相加【数学 数论 模拟】 题目描述&#xff1a;解题思路一&#xff1a;循环解题思路二&#xff1a;进阶 O(1)解题思路三&#xff1a; 题目描述&#xff1a; 给定一个非负整数 num&#xff0c;反复将各个位上的数字相加&#xff0c;直到结果为一位数。返回这个…

记录一次pods 导入 SocketRocket库的经历

折腾一上午&#xff0c;brew 安装成功了 cococapod 然后项目启动下载一个SocketRocket库 下载成功后总是报错&#xff1a; 睡了2个多小时&#xff0c;我在qq就交流群里求助&#xff1a; 终于把项目管理&#xff0c;在命令行里执行这句&#xff1a; open chat_app.xcworkspace…

企业破产重整:从“至暗时刻”到“涅槃重生”

今天我们不谈星辰大海&#xff0c;而是要潜入商业世界的深海区&#xff0c;探索那些濒临绝境的企业是如何借助“破产重整”的神秘力量&#xff0c;实现惊天大逆转的&#xff01; 一、破产重整&#xff0c;到底是个啥&#xff1f; 想象一下&#xff0c;企业像是一位远航的船长…

【Redis】Redis 事务

Redis 的事务的本质是一组命令的批处理。这组命令在执行过程中会被顺序地、一次性 全部执行完毕&#xff0c;只要没有出现语法错误&#xff0c;这组命令在执行期间不会被中断 1.事务特性 仅保证了数据的一致性 这组命令中的某些命令的执行失败不会影响其它命令的执行&#xff…

geoserver SQL注入、Think PHP5 SQL注入、spring命令注入

文章目录 一、geoserver SQL注入CVE-2023-25157二、Think PHP5 SQL注入三、Spring Cloud Function SpEL表达式命令注入&#xff08;CVE-2022-22963&#xff09; 一、geoserver SQL注入CVE-2023-25157 介绍&#xff1a;GeoServer是一个开源的地理信息系统&#xff08;GIS&#…