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

news2024/11/24 23:04:36

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

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

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

相关文章

为什么 Cloudflare 是 2024 年 Vercel 的最佳替代品?生态系统和价格比较

本文探讨了 Vercel 的功能,并与 Cloudflare 生态系统中的类似产品进行了比较。从托管到存储,我们将看到为什么 Cloudflare 可以在 2024 年成为 Vercel 的最佳替代品。 文章目录 介绍什么是 Cloudflare?Cloudflare vs Vercel:托管和…

【Web】CTFSHOW 单身杯 题解

目录 web签到 easyPHP 姻缘测试 web签到 用data协议包含php标签闭合 payload: filedata://text/plain,<?php system($_GET[1]);?>>?;)]1[TEG_$(metsys php?<,nialp/txet//:atadeasyPHP 一眼awk命令执行 payload: cmdawk&param{system("ta…

汽车EDI:IAC Elmdon EDI 对接指南

近期收到客户C公司的需求&#xff0c;需要与其合作伙伴IAC Elmdon建立EDI连接&#xff0c;本文将主要为大家介绍IAC Elmdon EDI 对接指南&#xff0c;了解EDI项目的对接流程。 项目需求 传输协议&#xff1a;OFTP2 IAC Elmdon 与其供应商之间使用的传输协议为OFTP2。OFTP2是…

华为eNSP小型园区网络配置(下)

→跟着大佬学习的b站直通车&#xff0c;感谢大佬← →华为eNSP小型园区网络配置&#xff08;上&#xff09;← 目标1&#xff1a;telnet配置 R1 # interface GigabitEthernet0/0/2ip address 100.1.1.2 255.255.255.0 # user-interface vty 0 4authentication-mode aaa # aaa…

Sybase数据库分页查询(指定起始位置)

针对单表数据量过大的场景&#xff0c;分页查询必不可少。针对sybase数据库分页查询的案例全网稀少&#xff0c;特别是指定起始页的分页查询实现。 本文依靠实际开发场景&#xff0c;特此总结Sybase数据库分页查询&#xff08;指定起始位置&#xff09;。 目录 一、 SQL实现分…

G.AB路线【蓝桥杯】/bfs+可重复走

AB路线 bfs可重复走 思路&#xff1a;本题和传统的bfs题目不同&#xff0c;本题为了满足题目先走K个A再走K个B&#xff0c;可能需要重复走某个格子才能继续走下去&#xff0c;故vis数组可以多开一维&#xff0c;vis[x][y][z]表示第z次走到x行y列这种情况是否出现过 A A A B B …

最新版在线客服系统源码

源码介绍 首发最新在线客服系统源码&#xff0c;优化更好并且重构源码布局UI 性能不吃cpu并发快,普通1H2G都能带动最新版只要是服务器都能带动 搭建即可使用,操作简单,易懂 修复了老版本bug 内附有搭建教程 gofly.v1kf.com 运行环境 Nginx 1.20 MySQL 5.7 演示截图

搜索的未来:OpenAI 的 GPT 如何彻底改变行业

搜索的未来&#xff1a;OpenAI 的 GPT 如何彻底改变行业 概述 搜索引擎格局正处于一场革命的风口浪尖&#xff0c;而 OpenAI 的 GPT 处于这场变革的最前沿。最近出现了一种被称为“im-good-gpt-2-chatbot”的神秘聊天机器人&#xff0c;以及基于 ChatGPT 的搜索引擎的传言&am…

MySQL企业级开发重点之事物和索引

事物 -- 解散学工部 delete from tb_dept where id 1;-- 删除部门下的员工 delete from tb_emp where dept_id 1; 介绍和操作 我们应该将两个语句写成一个语句 -- 开启事物 start transaction ;-- 解散学工部 delete from tb_dept where id 3;-- 删除部门下的员工 delete fr…

开源框架平台:功能优势多,助力数字化转型!

伴随着科技越来越发达&#xff0c;低代码技术平台、开源框架平台逐渐在各中小型企业里获得重视和青睐&#xff0c;成为助力企业实现流程化办公&#xff0c;进入数字化转型的的有力武器。在众多服务商中&#xff0c;谁拥有市场竞争力&#xff0c;谁在服务和产品方面更具核心价值…

ASP.NET网上图书订阅系统的设计

摘 要 网上图书订阅系统基于 Microsoft SQL Server 2000和ASP.NET平台&#xff0c;以C#为编程语言开发,实现了网上图书预订和借阅&#xff0c;订阅信息查询&#xff0c;图书和用户信息的修改&#xff0c;借阅排行和新到图书的查询等功能&#xff0c;这样不但可将管理员从繁重…

鸿蒙ArkUI-X跨平台开发电商应用

一、ArkUI-X 简介 ArkUI-X 是由 OpenHarmony TSC - 跨平台应用开发框架 TSG 所孵化的开源项目,使用ArkUI-X可以让开发者基于一套主代码, 就可以构建支持多平台的精美、高性能应用。目前支持OpenHarmony、HarmonyOS、Android、 iOS,后续会逐步增加更多平台支持。 ArKUI跨平台…

5款AI工具推荐

当下AI大行其道&#xff0c;各种神奇的工具层出不穷。除了ChatGPT、Midjourney等耳熟能详的明星产品&#xff0c;还有不少可圈可点的AI应用值得一提。 Kimi 这是一款基于GPT技术的国产对话AI&#xff0c;对中文的理解和生成能力相当出色。不管是闲聊对话&#xff0c;还是应对…

SQL编程 (变量的定义与使用)

一、标识符的命名规范 1不能数字开头 2不允许保留关键字 3符号只允许_或$ 二、变量的声明 set用于声明变量&#xff0c;update声明修改的表&#xff0c;set是声明修改的列。 set userName大聪明; select userName as 名称; 可以简便的统写为 set userName:大聪明; 先建…

Hive Windows Functions 窗口函数

Hive Windows Functions 窗口函数 在 Hive 中&#xff0c;窗口函数&#xff08;Window Functions&#xff09;用于在查询结果中执行聚合、排序和分析操作&#xff0c;而无需将数据分组。窗口函数允许你在查询结果中的一组行上执行计算&#xff0c;而不会改变原始数据的行数&am…

如何做好产业园运营?树莓集团成都数字产业园运营模式全解析

如何做好产业园运营&#xff1f;本篇将对树莓集团产业园运营模式进行介绍&#xff0c;并详情分析旗下运营代表案例&#xff0c;成都数字产业园运营——国际数字影像产业园。 树莓集团作为数字产业生态链建设者&#xff0c;秉持高效、友善、敢为的集团核心文化&#xff0c;有效链…

免费的国内版 GPT 推荐,5个国产ai工具

提起AI&#xff0c;大家第一个想到的就是GPT。 虽然它确实很厉害&#xff0c;但奈何于我们水土不服&#xff0c;使用门槛有些高。 不过随着GPT的爆火&#xff0c;现在AI智能工具已经遍布到各行各业了&#xff0c;随着时间的推移&#xff0c;国内的AI工具也已经“百花盛放”了…

ImportError: cannot import name ‘compare_mse‘ from ‘skimage.measure‘

问题描述 在复现模型代码的时候遇到错误&#xff1a;ImportError: cannot import name compare_mse from skimage.measure 。 解决方案 这是由于 scikit-image 的版本问题&#xff0c;由于scikit-image版本升级后就修改了库函数。 方法1&#xff08;修改scikit-image版本&…

【数据分析面试】40.20个数据开发治理基础问题

在当今数字化时代&#xff0c;数据已成为企业最重要的资产之一 。如何管理数据、确保数据的安全性和质量&#xff0c;以及如何有效地利用数据来推动业务发展&#xff0c;这些都是我们面临的挑战。 目录 数据开发基础概念1. **什么是数据字典&#xff1f;它在数据管理和数据开发…

Excel——项目管理,设置时间到期自动提醒及颜色高亮

效果图 第一步、自动获取合同到期日期 1、首先合同【签约日期】和【到期日期】下面的数据必须是日期格式&#xff0c;不能是其它的格式否则无法计算&#xff0c;如果是其它格式需要转换成标准的日期格式&#xff0c;如下图所示。 2、在“到期日期”下面的第一个单元格中输入公…