前视声呐目标识别定位(九)-声呐驱动

前视声呐目标识别定位(一)-基础知识

前视声呐目标识别定位(二)-目标识别定位模块   

前视声呐目标识别定位(三)-部署至机器人

前视声呐目标识别定位(四)-代码解析之启动识别模块

前视声呐目标识别定位(五)-代码解析之修改声呐参数

前视声呐目标识别定位(六)-代码解析之目标截图并传输

前视声呐目标识别定位(七)-代码解析之录制数据包

前视声呐目标识别定位(八)-代码解析之各模块通信

前视声呐目标识别定位(九)-声呐驱动

        识别定位是需要声呐原始数据流,当时手头上的声呐为Oculus M750D,但我拿到时只有一个Oculus官网的Windows下的客户端,肯定是无法满足需求的,Oculus官网也没有相应的API或协议什么的。从采购员那拿到某个国内的代理供应商的联系方式,联系后只得到一句没有这种东西,商品售出后就不属于他们管的回复,然后无论说啥都不回复了。当时实在是气的不行。后续我只能在github上找的开源项目,修改调试后拿到数据。由于不是官方的程序,不确定使用是否有风险。

         驱动是用ros neotic写的,经过测试可以将声呐数据以sensor_msgs/Image的topic格式发布出来,也能通过reconfigure动态调整声呐参数。为了满足识别模块位置解算需求,声呐的水平开角和量程数据写进了msg中header的frame_id中。

项目地址:GitHub - cabinx/oculus_m750d: oculus m750d forward looking sonar with ros neotic

        其中oculus_sonar_node.py是前文提及的软件框架中使用的,添加了与center_server的通信。而oculus_sonar_node_origin.py是只有驱动程序,只发布Image topic。唯一需要注意的是在launch文件中声呐的IP地址需要设定好,我记得是可以通过客户端设定IP地址。

         代码很久远了,现在我已经无法测试了,仅供参考吧。

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

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

相关文章

Spring——框架介绍

每一个Java技术中都会存在一个“核心对象”,这个核心对象来完成主要任务为了得到核心对象,需要创建若干个辅助对象,从而导致开发步骤增加JDBC中 JDBC 核心对象——PreparedStatement 通过DriverManager得到数据库厂商提供的Driver对象DriverM…

京东云轻量云主机8核16G配置租用价格1198元1年、4688元三年

京东云轻量云主机8核16G服务器租用优惠价格1198元1年、4688元三年,配置为8C16G-270G SSD系统盘-5M带宽-500G月流量,华北-北京地域。京东云8核16G服务器活动页面 yunfuwuqiba.com/go/jd 活动链接打开如下图: 京东云8核16G服务器优惠价格 京东云…

MySQL数据库基础--存储引擎

MySQL体系结构 连接层 最上层是一些客户端和链接服务,主要完成一些类似于连接处理,授权认证,及相关的安全方案,服务器也会为安全接入的每个客户端验证他所具有的操作权限。 服务层 第二层架构主要完成大多数的核心服务功…

【C++入门】缺省参数、函数重载与引用

💞💞 前言 hello hello~ ,这里是大耳朵土土垚~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹 💥个人主页&#x…

就业班 第二阶段(python) 2401--4.3 day2 python2

七、标准数据类型 1、为什么编程语言中要有类型 类型有以下几个重要角色: 对机器而言,类型描述了内存中的电荷是怎么解释的。 对编译器或者解释器而言,类型可以协助确保上面那些电荷、字节在程序的运行中始终如一地被理解。 对程序员而言…

C++算法 —— 递归

一、汉诺塔问题 1.链接 面试题 08.06. 汉诺塔问题 - 力扣&#xff08;LeetCode&#xff09; 2.描述 3.思路 4.参考代码 class Solution { public:void hanota(vector<int>& A, vector<int>& B, vector<int>& C) {dfs(A.size(),A,B,C);}void…

MySQL中的锁(二) - 行锁

一、行锁简介 MySQL中行锁是一种用于控制并发访问的锁机制&#xff0c;它可以在事务中对数据库表的行进行加锁&#xff0c;以保证数据的一致性和完整性。行锁是MySQL中最细粒度的锁&#xff0c;只锁定事务需要修改的数据行&#xff0c;而不是锁定整个表或者数据库。 MySQL行锁…

Java项目:基于Springboot+vue社区医院管理系统设计与实现(源码+数据库+毕业论文)

一、项目简介 本项目是一套基于Springbootvue社区医院管理系统 包含&#xff1a;项目源码、数据库脚本等&#xff0c;该项目附带全部源码可作为毕设使用。 项目都经过严格调试&#xff0c;eclipse或者idea 确保可以运行&#xff01; 该系统功能完善、界面美观、操作简单、功能…

百元不入耳蓝牙耳机哪个好?必入五款高性价比产品

喜欢听歌的朋友都会遇到一个常见问题&#xff0c;长时间戴耳机容易导致耳朵不适&#xff0c;甚至疼痛难忍。这种情况下&#xff0c;要是不听音乐反而感到不舒服&#xff0c;真是让人苦恼&#xff0c;仿佛音乐与耳机无法和谐共存。但是&#xff0c;难道就没有一款既舒适又让人心…

【STL】list的底层原理及其实现

文章目录 list的介绍list的整体结构设计list的构造代码模拟实现&#xff1a; list节点类的实现list 迭代器Iterator的使用以及实现Iterator的使用Iterator的底层实现反向迭代器 list与vector的比较实现list类 list的介绍 list是可以在常数范围内在任意位置进行插入和删除的序列…

4.7学习总结

java学习 一.Stream流 (一.)概念: Stream将要处理的元素集合看作一种流&#xff0c;在流的过程中&#xff0c;借助Stream API对流中的元素进行操作&#xff0c;比如&#xff1a;筛选、排序、聚合等。Stream流是对集合&#xff08;Collection&#xff09;对象功能的增强&…

使用ShardingSphere报错

使用ShardingSphere报错 1604 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near SHOW VARIABLES LIKE sql_mode; SELECT COUNT(*) AS support_ndb FROM information_ at line 1报错…

【STL学习】(4)vector的模拟

前言 本文将模拟实现vector的常用功能&#xff0c;目的在于更深入理解vector。 一、前置知识 在模拟之前先对vector的结构和常用接口学习&#xff0c;有一个大致了解。看源码&#xff0c;本文参考的源码是SGI版本的stl3.0。 技巧&#xff1a; 看源码不要一行一行的看&#xff…

全局监听钩子实现 笔记本x键坏了用其他键代替,或者类似游戏一键连招功能实现 (附带脚本开机一键运行)

前言 问题:博主使用笔记本时擦键盘不小心 进水了导致 坏了2个键盘 更换太麻烦所以想出了几个方法 1 系统自带的模拟键盘 可是每次都要点出来太麻烦 2 使用第三方工具 结果只找到github源码 下载地址找不到 /(ㄒoㄒ)/~~ 3 使用java方法 KeyListener 使用KeyListener监听键盘事件…

【全套源码教程】基于SpringBoot+MyBatis+Vue的流浪动物救助网站的设计与实现

目录 前言 需求分析 可行性分析 技术实现 后端框架&#xff1a;Spring Boot 持久层框架&#xff1a;MyBatis 前端框架&#xff1a;Vue.js 数据库&#xff1a;MySQL 功能介绍 前台界面功能介绍 动物领养及捐赠 宠物论坛 公告信息 商品页面 寻宠服务 个人中心 购…

Qt+OpenGL入门教程(四)——VBO、VAO和EBO

前面我们已经简单绘制了一个三角形&#xff0c;但这只是个小demo是远远不够的&#xff0c;当顶点数据很多时&#xff0c;解析很麻烦时我们应该如何处理呢&#xff1f;接下来我们来介绍一下在OpenGL开发中帮助我们提升渲染性能的几种数据对象。 注意&#xff1a;所有代码都是基…

全面探究 LangChain Text Splitters

全面探究 LangChain Text Splitters 0. 引言1. 文本拆分器的类型2. 探究各个文本拆分器2-1. Split by HTML header2-2. Split by HTML section2-3. Split by character2-4. Split code2-5. MarkdownHeaderTextSplitter2-6. Recursively split JSON2-7. Recursively split by ch…

力扣---分隔链表

给你一个链表的头节点 head 和一个特定值 x &#xff0c;请你对链表进行分隔&#xff0c;使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。 你应当 保留 两个分区中每个节点的初始相对位置。 示例 1&#xff1a; 输入&#xff1a;head [1,4,3,2,5,2], x 3 输出&a…

【Nginx】配置Nginx实现跨域策略

弹琵琶又见当年镜前你梳头 拨一首满花春秀 今日月下再醉孤酒 雨落枝头年复一年谁白发留 让爱随相思入梦左右 梦见我们还挽着手 &#x1f3b5; 马天宇《青衣》 在现代web开发中&#xff0c;跨源资源共享&#xff08;CORS&#xff0c;Cross-Origin Resource…

C语言调用Python

目录 1.直接调用python语句 头文件引用 2.调用无参有参函数 1、调用无参函数 1.建立nopara.py文件 2.使用c语言根据上面流程进行调用 2、调用有参函数 1.建立nopara.py文件 2.使用c语言根据上面流程进行调用 C语言调用python需要我们已经安装好了libpython3的 dev依赖…