APM装机教程(五):测绘无人船
文章目录
- 前言
- 一、元生惯导RTK使用
- 二、元厚HXF260测深仪使用
- 三、云卓H2pro遥控器
- 四、海康威视摄像头
前言
船体:超维USV-M1000
飞控:pix6c mini
测深仪:元厚HXF160
RTK:元生惯导RTK
遥控器:云卓H12pro
摄像头:海康微视防水云台相机
地面站:超维定制版QGC
固件:Ardupilot Rover4.4
一、元生惯导RTK使用
型号:YIN680
说明书wangpan
通过网盘分享的文件:YESENSE YIN680产品手册-V1.0.pdf
链接: https://pan.baidu.com/s/1Uv0dckpbHqfnsIKvcxbusw?pwd=yi9b 提取码: yi9b
–来自百度网盘超级会员v7的分享
模块默认的波特率是460800
模块默认发送的是私有的16进制数据,飞控识别不到
将模块的main口连接到串口助手,以16进制发送下面的配置指令:
59 53 4e 22 00 03 00 00 00 73 fa
发送完后模块会输出gga和rmc语句
然后将模块main口接到飞控上,设置飞控的GPS参数,设置完后飞控就能识别出来RTK
由于APM固件默认没有用RMC航向,所以要改下固件,修改下面的文件

在下面的位置添加 _new_gps_yaw = -_parse_decimal_100(_term)+9000;

在下面的位置添加:
if (_last_AGRICA_ms != 0 || _expect_agrica) {// use AGRICAbreak;}if (isnan(_new_gps_yaw)) {// empty sentencebreak;}_last_yaw_ms = now;state.gps_yaw = wrap_360(_new_gps_yaw*0.01f);state.have_gps_yaw = true;state.gps_yaw_time_ms = now;// remember that we are setup to provide yaw. With// a NMEA GPS we can only tell if the GPS is// configured to provide yaw when it first sends a// HDT sentence.state.gps_yaw_configured = true;

二、元厚HXF260测深仪使用
1.测深仪命令列表

2.打开测深仪,显示内存卡图标,表示测深仪自带内存卡未损坏

3.将测深仪自带的内存卡拔出,使用读卡器连接电脑,内存卡自带Xlogger.cfg文件,使用文本文件打开可以更改(另外机器要断电内存卡插拔,不支持热插拔,时间长了容易损坏内存卡文件系统。)

4.如果自带内存卡损坏或无法正常使用,可以使用32G以下的其他内存卡代替,先将内存卡文件系统格式化为FAT32,再将卡插入机器会自动创建配置文件

5.连接飞控时修改参数,DT_FMT连接飞控时建议更改为DBT,其他修改如下图(其中波特率需修改为115200或更低)

DB9是标准RS232接口,我们使用的北天UM982RTK电平为TTL电平,需要使用232接口转换,可以使用杜邦线连接两头TX,RX,GND。(TX,RX需交叉,232模块需要供电)

标准版固件和定制版固件RTK发送信息设置区别
定制版固件升级后只解读PYRMC,如RTK无法发送PYRMC数据会导致无法接收到RTK数据。定制版固件需要GPRMC和GPGGA。
下图为RTK发送数据(标准版)

配置完成后,在室内连接RTK后会出现WAIT标志,标志出现后说明RTK与测深仪通讯正常,然后可以去户外等待RTK信号锁定后屏幕上会出现经纬度,如下图

教程及后期处理文件
通过百度网盘分享的文件:测深仪
链接:https://pan.baidu.com/s/16Kt1VvqW78OdSHQPfYHVkQ
提取码:cwkj
–来自百度网盘超级会员V4的分享
三、云卓H2pro遥控器
说明书下载地址:
链接:https://pan.baidu.com/s/18bzsqw2YT21sRbNLVN20sA?pwd=wkek
提取码:wkek
–来自百度网盘超级会员V6的分享
H12Pro的接收机是5V供电,如果供电不足会导致接收机一直是亮红灯。
接线
用原装的接收机线,串口端接飞控的Telem1,telem1设置为数传口,并且波特率为57600。SBUS口接飞控的RCIN口。

遥控器和电脑传输文件
将遥控器通过typec usb线连接到电脑,选择已关联的设备-》USB

点击USB选择传输文件

然后在电脑上就会出现遥控i的内存,打开往里面拖文件就行

拖完后可以在文件管理器里面找到

连接地面站软件
遥控器会默认连接到地面站,但是需要确保遥控器波特率的飞控的波特率一致,遥控器默认波特率是921600,可以通过H12Pro助手修改,如果H12Pro助手没有下面的选项,就给遥控器联网更新一下软件

设置完点保存设置即可,波特率一致后,打开地面站后会自动连接

摄像头
我这里接的是H12pro专用的网口三体摄像头,接线如下

打开云卓H12Pro助手,进入视频查看,点击底部设置按钮

视频流地址设置为网口三体,正常的话就会显示出图像,把这个RTSP地址复制到QGC里就可以在QGC里显示图像

四、海康威视摄像头

MINI PTZ摄像机

使用网口线连接接收机网口端;
连接方式如下:


H12pro遥控器端口定义图

H16遥控器端口定义图

将水晶头与对应的H16接收机网口端引脚链接;
可以焊接或定制相应的链接线

电源采用了一个12v的稳压模块连接摄像机DC口进行供电

H16接收机连接飞控采用POW+SBUS端口连接:
》》上文准备工作完毕后开始摄像头设置
要用在H16接收机的LAN口,需要具备:摄像头设备ip必须为192.168.144.xxx。网关设置为192.168.144.11或者192.168.144.10。无防火墙,无验证功能,电脑VLC可显示图像。有rtsp拉流地址(显示视频):rtsp地址不能为192.168.144.10(因为接收机已经占用10)或者自带app。控制:接收机有sbus控制协议(可实体键控制),串口控制协议(配合APP使用)网口网络协议(配合APP使用)
吊舱设置拉辅码流 720p,固定码流1m~2m码流
》》使用网口连接摄像头和电脑(注:同时需要使用DC口给摄像头供电)
局域网电脑下载“设备网络搜索”软件
下载地址:https://www.hikvision.com/cn/support/tools/hitools/clea8b3e4ea7da90a9/

安装“设备网络搜索”软件,打开软件,软件会自动搜索局域网内所以海康设备,找到需要修改的设备IP。
左侧勾选需要修改的设备,右侧“修改网络参数”中修改对应信息(IP、子网掩码等等),输入待修改设备的管理员密码,点击修改。
√ 注意事项:
1、如果“修改网络参数”是灰色无法编辑,请先关闭“启用DHCP”,再修改
2、提示“修改失败”:一般是输入的“设备密码”不对导致的,如果忘记了密码,可做密码重置 https://hkrobot.hikvision.com/servlet/WXShow?action=sac&sysNum=145716889796196&wxcId=111&FromUserName=xubotao&question=%E7%82%B9%E6%AD%A4%E6%9F%A5%E7%9C%8B&fid=&sId=337043&MsgType=workflow
要用在H16接收机的LAN口,摄像头IP需要设置为192.168.144.xxx。网关设置为192.168.144.11或者192.168.144.10。
我这里ip设置的是192.168.144.123,如下图所示:

(注:首次连接设备网络助手时会自动提示设置密码,请勿遗忘密码,如忘记密码可以按照上文方式修改密码)
修改完毕摄像头ip地址后同时修改电脑网口的ip地址保持在同一网段:
更改协议版本4

将电脑网口的网段设置为192.168.144.XXX(注:电脑和摄像机的ip最后三位不能相同)如下图:

设置完成后可以使用VLC播放器拉流查看,VLC下载百度网盘连接:(https://pan.baidu.com/s/1HY1RtxZnquX1gK–m_RonQ)
密码:cwkj
下载完成后,打开VLC》媒体》打开网络串流

选择网络协议选项,
输入子码流:rtsp://用户名:密码@IP地址:554/Streaming/Channels/102
(注:输入子码流即可,主码流在使用H16遥控器查看时会出现延迟卡顿现象,如果尝试主码流后未出现延迟卡顿也可以使用主码流进行查看)
主码流:rtsp://用户名:密码@IP地址:554/Streaming/Channels/101
用户名一般为:admin 密码为在首次打开设备网络搜索时设置的密码
如下图:

如输入后VLC正常显示画面代表设置未出现问题,如未出现画面报错,则检查电脑和摄像机的ip设置
在VLC显示正常后打开浏览器输入摄像机ip地址
如下图:

进入界面后输入账号密码(账号一般为:admin 密码为首次登陆时设置的那个)

进入界面后选择配置选项》视音频
随后按照我下图的设置进行主码流和辅码流设置:



摄像头设置完成后连接H16接收机,打开遥控器》H16助手》视频查看》视频流地址》自定义
如下图:



自定义内ip为上文中VLC拉流时所使用的ip地址

设置完成后回到视频查看界面,有画面说明设置成功。
然后把RTSP地址填到QGC中,就可以在QGC中查看摄像头的画面

在连接成功后,如需要更改摄像头朝向位置或设置巡航可以在浏览器上进行设置,如下图:
如摄像头图像颠倒:可以将镜像设置为中心

如需更改摄像头开机后朝向及巡航可以先将摄像头调整至预期位置,随后保存预设点,如需摄像头巡航设置多个预设点即可。

相关文章:
APM装机教程(五):测绘无人船
文章目录 前言一、元生惯导RTK使用二、元厚HXF260测深仪使用三、云卓H2pro遥控器四、海康威视摄像头 前言 船体:超维USV-M1000 飞控:pix6c mini 测深仪:元厚HXF160 RTK:元生惯导RTK 遥控器:云卓H12pro 摄像头…...
微信小程序 运行出错 弹出提示框(获取token失败,请重试 或者 请求失败)
原因是:需要登陆微信公众平台在开发管理 中设置 相应的 服务器域名 中的 request合法域名 // index.jsPage({data: {products:[],cardLayout: grid, // 默认卡片布局为网格模式isGrid: true, // 默认为网格布局page: 0, // 当前页码size: 10, // 每页大小hasMore…...
IDEA的service窗口中启动类是灰色且容易消失
大家在学习Spring Cloud的过程中,随着项目的深入,会分出很多个微服务,当我们的服务数量大于等于三个的时候,IDEA会给我们的服务整理起来,类似于这样 但是当我们的微服务数量达到5个以上的时候,再启动服务的时候,服务的启动类就会变成灰色,而且还容易丢失 解决方法 我们按住…...
R中利用ggplot2绘制气泡图
闲来无事,整理了一下自己的绘图笔记,顺便分享到CSDN上。 一、介绍 气泡图(Bubble Plot)是一种常用的数据可视化方法,用于展示三个变量之间的关系。气泡图的特点是通过气泡的大小、颜色和位置来表达数据中的多维信息。…...
CID引流电商
ClickID技术是基于多家媒体平台开发的电商引流服务,通过媒体提供的宏参数,间接解决电商平台订单数据的回传问题,帮助账户收集到极致精准的数据模型,搭建不同媒体往各平台引流的桥梁。简单来说就是通过ClickID数据监测到另外一个平…...
在google cloud虚拟机上配置anaconda虚拟环境简单教程
下载anaconda安装包 wget https://repo.anaconda.com/archive/Anaconda3-2022.10-Linux-x86_64.sh 安装 bash Anaconda3-2022.10-Linux-x86_64.sh 进入base环境 eval "$(/home/xmxhuihui/anaconda3/bin/conda shell.bash hook)" source ~/.bashrc 安装虚拟环境…...
windows下用vs搭配clang一起生成抽象语法树
如果你使用的是 Visual Studio 环境,并且想要通知 Clang 关于 C 语言标准库的位置,你可以通过以下几种方法来实现。Visual Studio 提供了完整的 C/C 标准库,Clang 可以与之协同工作。以下是具体步骤: 1. 使用 clang-cl Visual S…...
输入法:点三下输入一个汉字
作者常用的双拼输入法,需要26键。虽然也有9键的方案,但重码率较高。计算一下,9键点2下,共81种排列组合。而汉字的读音,不计声调,有400多个。相差甚多。 所以,设计了“三拼输入法”,…...
URL访问网址的全过程
前言 当我们通过一个网址连接输入到浏览器中,此时会有哪些步骤呢? 过程 大致有这几个流程 1:DNS解析,得到IP地址 2:浏览器根据IP地址,访问服务器,建立TCP连接 3:建立完TCP连接后&…...
Thonny IDE + MicroPython + ESP32 + GY-302 测量环境中的光照强度
GY-302是一款基于BH1750FVI光照强度传感器芯片的模块。该模块能够直接测量出环境中的光照强度,并将光照强度转换为数字信号输出。其具体参数如下表所示。 参数名称 参数特性 测量范围 0-65535 LX 测量精度 在环境光下误差小于20%,能够自动忽略50/60…...
小程序-基于java+SpringBoot+Vue的智慧校园管理系统设计与实现
项目运行 1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可 4.硬件环境:…...
基于Java+Swing+Mysql的网络聊天室
博主介绍: 大家好,本人精通Java、Python、C#、C、C编程语言,同时也熟练掌握微信小程序、Php和Android等技术,能够为大家提供全方位的技术支持和交流。 我有丰富的成品Java、Python、C#毕设项目经验,能够为学生提供各类…...
javascript 的map()和join()
map()和join() 1. map()方法 定义 map()是JavaScript数组的一个高阶函数。它创建一个新数组,这个新数组中的元素是原始数组中的元素经过某种函数处理后的结果。 语法 array.map(callback(element[, index[, array]])[, thisArg])其中callback是一个函数࿰…...
深入理解 PyTorch 自动微分机制与自定义 torch.autograd.Function
文章目录 前言一、pytorch使用现有的自动微分机制二、torch.autograd.Function中的ctx解读1、forward 方法中的 ctx2、backward 方法中的 ctx3、小结 三、pytorch自定义自动微分函数(torch.autograd.Function)1、torch.autograd.Function计算前向与后向传…...
《C++ 赋能 K-Means 聚类算法:开启智能数据分类之旅》
在当今数字化浪潮汹涌澎湃的时代,人工智能无疑是引领科技变革的核心驱动力之一。而在人工智能的广袤天地中,数据分类与聚类作为挖掘数据内在价值、揭示数据潜在规律的关键技术手段,正发挥着前所未有的重要作用。K-Means 聚类算法,…...
对 JavaScript 说“不”
JavaScript编程语言历史悠久,但它是在 1995 年大约一周内创建的。 它最初被称为 LiveScript,但后来更名为 JavaScript,以赶上 Java 的潮流,尽管它与 Java 毫无关系。 它很快就变得非常流行,推动了 Web 应用程序革命&…...
spring下的beanutils.copyProperties实现深拷贝
spring下的beanutils.copyProperties方法是深拷贝还是浅拷贝?可以实现深拷贝吗? 答案:浅拷贝。 一、浅拷贝深拷贝的理解 简单说拷贝就是将一个类中的属性拷贝到另一个中,对于BeanUtils.copyProperties来说,你必须保…...
蓝桥杯二分题
P1083 [NOIP2012 提高组] 借教室 题目描述 在大学期间,经常需要租借教室。大到院系举办活动,小到学习小组自习讨论,都需要向学校申请借教室。教室的大小功能不同,借教室人的身份不同,借教室的手续也不一样。 面对海量租…...
3D数字化革新,探索博物馆的正确打开新方式!
3D数字化的发展,让博物馆也焕发新机,比如江苏省的“云上博物”,汇聚江苏全省博物馆展陈资源,采取线上展示和线下体验两种方式进行呈现的数字展览项目。在线上,用户可以通过H5或小程序进入“云上博物”数字展览空间&…...
工业检测基础-工业相机选型及应用场景
以下是一些常见的工业检测相机种类、检测原理、应用场景及选型依据: 2D相机 检测原理:基于二维图像捕获,通过分析图像的明暗、纹理、颜色等信息来检测物体的特征和缺陷.应用场景:广泛应用于平面工件的外观检测,如检测…...
多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度
一、引言:多云环境的技术复杂性本质 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,基础设施的技术债呈现指数级积累。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...
React hook之useRef
React useRef 详解 useRef 是 React 提供的一个 Hook,用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途,下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...
376. Wiggle Subsequence
376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...
MMaDA: Multimodal Large Diffusion Language Models
CODE : https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA,它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构…...
ETLCloud可能遇到的问题有哪些?常见坑位解析
数据集成平台ETLCloud,主要用于支持数据的抽取(Extract)、转换(Transform)和加载(Load)过程。提供了一个简洁直观的界面,以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...
多种风格导航菜单 HTML 实现(附源码)
下面我将为您展示 6 种不同风格的导航菜单实现,每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...
RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文全面剖析RNN核心原理,深入讲解梯度消失/爆炸问题,并通过LSTM/GRU结构实现解决方案,提供时间序列预测和文本生成…...
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...
规则与人性的天平——由高考迟到事件引发的思考
当那位身着校服的考生在考场关闭1分钟后狂奔而至,他涨红的脸上写满绝望。铁门内秒针划过的弧度,成为改变人生的残酷抛物线。家长声嘶力竭的哀求与考务人员机械的"这是规定",构成当代中国教育最尖锐的隐喻。 一、刚性规则的必要性 …...
GB/T 43887-2024 核级柔性石墨板材检测
核级柔性石墨板材是指以可膨胀石墨为原料、未经改性和增强、用于核工业的核级柔性石墨板材。 GB/T 43887-2024核级柔性石墨板材检测检测指标: 测试项目 测试标准 外观 GB/T 43887 尺寸偏差 GB/T 43887 化学成分 GB/T 43887 密度偏差 GB/T 43887 拉伸强度…...
