ROV与AUV开源解决方案Ardusub文档整理(一)

一、概览

英文原文
本指南中的信息适用于 ArduSub V3.5 及更高版本。如果您使用的是旧版本,请进行更新

1. ArduSub 和 ArduPilot 项目

ArduSub 项目是一个针对远程操作水下载具(ROV)和自主水下载具(AUV)的功能齐全的开源解决方案。ArduSub 是 ArduPilot 项目的一部分,最初是从 ArduCopter 代码派生而来的。ArduSub 具有广泛的功能,包括反馈稳定控制、深度和航向保持,以及自主导航能力(AUV)。

ArduSub 的设计旨在安全、功能丰富、开放式,即使对于初学者也易于使用。

ArduSub 与地面控制站软件无缝配合,可以监控车辆遥测数据并执行强大的任务规划活动。它还受益于 ArduPilot 平台的其他部分,包括模拟器日志分析工具以及用于水下载具管理控制的高级 API。

ArduSub 处于海洋机器人技术的前沿,面向任何希望在水面下操作载具的人。它支持许多不同的 ROV 配置,并且添加自定义设计非常简单。

2.关于本篇

本篇文章是一项持续进行的工作,旨在记录 ArduSub 软件以及支持软件和硬件的相关信息。本书中的文档基于编写时的最新软件版本。在某些情况下,这里记录的功能或选项可能仅适用于软件的开发版本。本书的编写和 ArduSub 项目得到了 Blue Robotics 的赞助。

3.许可协议

ArduSub 和 ArduPilot 代码使用 GPLv3 许可协议发布。
本书使用 CC-NC-SA 4.0 许可协议发布。

二、特点

1. ArduSub具有许多功能,包括:

  1. 内置支持多种结构选项电机配置(也可以实现自定义配置)
  2. 高度可扩展的软件和硬件,支持定制化
  3. 姿态和航向参考系统(AHRS)和惯性导航滤波器(EKF)
  4. 广泛的用户可配置参数系统
  5. 完善的地面控制站软件,用于驾驶控制和配置
  6. 兼容许多针对MAVLink启用的载具的开发工具
  7. 传感器和数据记录
  8. 无需编程/减少编程工作

2.支持的载具结构

ArduSub包括一个高级电机库,可以配置任何配置的电机。该库用于实现多种支持的车架配置。所有配置都从俯视图显示。绿色推进器表示逆时针螺旋桨,蓝色推进器表示顺时针螺旋桨(或反之),红色箭头表示俯视前进方向。
(–也有自定义配置的方式–)
目前支持的配置有:
在这里插入图片描述

  • BlueROV1配置,带有6自由度推进器定位。(架构:bluerov)
    在这里插入图片描述
  • Vectored ROV,侧向竖直推进器并排布置。用于BlueROV2。(架构:vectored)
    在这里插入图片描述
  • Vectored ROV带有四个竖直推进器,8推进器配置,具有6自由度控制和承重能力。用于BlueROV2 Heavy。(车架:vectored6dof)
    在这里插入图片描述
  • 单个垂直推进器的ROV。(车架:simplerov)
    在这里插入图片描述
  • 侧向垂直推进器的ROV。(车架:simplerov)
    在这里插入图片描述
  • 带有侧推进器和侧向垂直推进器的ROV。(车架:simplerov)

3. 支持的硬件

ArduPilot项目支持多种硬件平台。ArduSub固件适用于其中许多平台,但仅对Pixhawk 1进行了完全测试和支持。

以下是已知适用于ArduSub的平台:

  • Pixhawk
  • Pixhawk 2
  • Pixhawk Mini

如果您在其他平台上测试过ArduSub,请告诉我们!

4. 基本功能

  1. 反馈控制和稳定性:基于多旋翼自动驾驶系统,ArduSub控制器具有精确的反馈控制,以主动维持方向。
  2. 深度保持:使用基于压力的深度传感器,ArduSub控制器可以将深度保持在几厘米精度内。
  3. 航向保持:默认情况下,ArduSub在未被命令转向时会自动保持航向。
  4. 摄像机俯仰控制:通过摇杆或游戏手柄控制器,可控制摄像机的俯仰。
  5. 灯光控制:通过摇杆或游戏手柄控制器,可控制水下照明。

5. 可扩展性

除了标准的 板载传感器(IMU、罗盘)外,ArduSub 控制器直接支持多种外部传感器,包括:

  • 用于测量和自动深度保持的压力/深度传感器(例如 Bar30)
  • 其他传感器,特别是高带宽和专用传感器,作为伴侣传感器集成,连接到伴侣计算机(如机载的树莓派或者jetson)并与ArduSub并行运行,共享通信路径。这允许快速集成新的和独特的有效负载,并允许您使用制造商的用户界面来控制传感器。

通过伴侣进行的传感器集成包括:

即将推出的传感器包括:

  • 电导率传感器(检测水质用的)

三、应用领域

ArduSub 提供了广泛的功能,可用于各种应用场景,从简单的观察型 ROV 到复杂的研究型 ROV。以下是 ArduSub 驱动的 ROV 可用于的一些应用示例:(用做AUV 的不多)

  • 观察和探索
  • 沉船发现和记录
  • 摄影和摄像
  • 船舶和设备检查
  • 生物采样和调查
  • 水下回收
  • 学术和科研项目
  • ROV 和 AUV 竞赛

ArduSub 的应用示例

以下展示了 ArduSub 在 Blue Robotics BlueROV1 和 BlueROV2 上的应用。请注意,ArduSub 也可以应用于许多不同的 ROV 设计,从独特的 DIY 配置到专业的载具。
视频1;
视频2;
视频3;
视频4

这些视频展示了 ArduSub 在不同情境下的应用,以及它在水下探测和操作中的实际效果。
通过 ArduSub,用户可以灵活地应用于各种水下任务和项目,并根据需要定制和扩展其功能。

四、需要的硬件

硬件选项

以下部分详细介绍了 ArduSub 的所有可用硬件选项。
如果未提及特定设备或组件,请在 Blue Robotics 论坛的 ArduSub 分类中询问。

-1-.连接方式:

本部分涵盖了主要系统组件和第三方设备的连接图示。
连接图示

以下连接图示展示了如何将设备连接到ArduSub控制系统。
除了每个设备的电源需求外,未显示电源分配,以便展示清晰的连接方式。如果电压未知,将显示“+Vin”。最大电压应符合制造商的规格要求。
有关连接的更多细节,请参考制造商的产品页面文档
最低要求和推荐的硬件:
在这里插入图片描述

 组件的大小比例不显示,某些组件被放大以显示连接位置。
 出于清晰的原因,未显示电源分配连接,但显示了输入电压范围。

-2-.所需的必要硬件:

本部分详细介绍了工作控制系统的最低硬件要求。
请参考连接图示,了解每个组件的连接方式。
1. 自动驾驶仪(Autopilot)

在ArduSub控制系统中,自动驾驶仪板(也称为飞行控制器)是加载与运行ArduSub固件的组件的。自动驾驶仪处理操作员的输入和传感器数据,并控制载具上的电机、灯光、舵机和继电器

尽管有许多不同的自动驾驶仪板可供选择,但以下是其一般特征

  • 能够加载任何ArduPilot二进制固件文件(Copter,Plane,Rover/Boat,Sub)
  • 包含输入和输出连接,用于连接多个外围设备
  • 包含嵌入式IMU(惯性测量单元),磁罗盘和陀螺仪,以确定载具的方向
  • 能够保存载具日志

== 推荐的自动驾驶仪板
最初推荐用于ArduSub的自动驾驶仪板是由 3D Robotics(3DR)于2013年至2016年制造的Pixhawk 1。当3DR在2016年停止制造硬件后,其他制造商获取了开源设计文件,并创建了自己的飞行控制器。

以下是用于ArduSub的推荐自动驾驶仪板列表(估计都停产了,pixhawk 2 也行):

== 不推荐使用的自动驾驶仪板
根据其他用户的反馈,不推荐使用以下自动驾驶仪板与ArduSub一起使用:

  • **Cube模块(所有颜色)**及其对应的载板 Github问题编号#322

    问题:无法在固件v4.0及以上版本中自动连接到伴随计算机。
    
  • RadioLink Pixhawk(国产 乐迪飞控)

    问题:只有专有的固件二进制文件,仅适用于RadioLink版本的Mission Planner,连接器(接头)也不正确。
    
  • 具有Picoblade系列连接器而非DF13连接器的任何自动驾驶仪板(需要DF13端子线)

    问题:与许多Blue Robotics产品上使用的DF13连接器不兼容。
    

== 尚未经过测试的其他自动驾驶仪板
ArduPilot列出了其他兼容的自动驾驶仪板:自动驾驶仪硬件选项

这些板块尚未经过测试或报告称其能与ArduSub一起使用。

2. 配套计算机(Companion Computer)

配套计算机负责将视频流传输到地面计算机
并通过以太网中继MAVLink通信,将自动驾驶仪和地面计算机连接起来(中继器)。

配套计算机通常是指小型单板计算机(SBC),可以连接到自动驾驶仪板上,并使用MAVLink协议进行通信。配套计算机接收自动驾驶仪的MAVLink遥测数据,并可以路由或直接处理这些遥测数据。

在ArduSub控制系统中,配套计算机具有两个主要功能:

  1. 向地面计算机(Topside Computer)传送高清视频流

  2. 通过以太网通信在自动驾驶仪和地面计算机之间中继通信

    配套计算机必须运行ArduSub配套计算机软件才能与ArduSub系统正确配合使用。

    1. Ardusub入门教程-树莓派设置
    2. 树莓派镜像使用方法

支持的硬件 :

只有树莓派3 Model B(网上树莓派4 B也用)支持与配套计算机软件一起使用。

不支持的硬件:

以下单板计算机与当前的ArduSub配套计算机软件映像不兼容:

  • 树莓派Zero
  • 树莓派Zero W
  • 树莓派1 Model B+
  • 树莓派1 Model A+
  • 树莓派2 Model B
  • 树莓派3 Model B+
  • 树莓派3 Model A+
  • 树莓派4 Model B
  • 其他任何单板计算机

参考资料

ArduPilot文档中有关配套计算机的更多阅读材料,但这些软件映像与ArduSub系统不兼容

ArduPilot:配套计算机

3. 地面计算机(Topside Computer)

地面计算机接收和显示实时视频遥测信息。操作员可以使用摇杆输入控制命令,从而控制连接的载具。

地面计算机运行QGroundControl应用程序,是连接到机载伴随计算机的设备。
地面计算机用于观察实时视频和遥测信息。手柄必须连接以进行手动控制。——ROV

支持的操作系统:
QGroundControl已经经过测试并支持以下操作系统:

  • Windows 10 - 64位
  • macOS 10.20或更高版本
  • Ubuntu 18.04或更高版本

运行QGroundControl的最低推荐硬件要求为(加一个边缘计算为打造AUV提供可能):

  • i5处理器或更高
  • 8GB RAM
  • 固态硬盘(SSD)

消费级计算机

QGroundControl在符合上述最低规格的消费级笔记本电脑上运行良好。这些类型的笔记本电脑通常设计用于室内使用,因此它们缺乏明亮的屏幕和防水性能,不适合室外使用。如果可能的话,尽量选择具有最明亮屏幕的计算机。截至2020年,Blue Robotics的工程部门使用戴尔XPS 15笔记本电脑

耐用和半耐用计算机

如果需要更亮的屏幕或防水性能,则耐用或半耐用笔记本电脑可能是更好的选择。从性能角度看,现代耐用笔记本电脑与消费级对手基本相当。

  • 松下Toughbook系列
  • 戴尔Rugged系列
  • 吉泰克(Getac)笔记本电脑和平板电脑

定制计算机

随着ArduSub系统的推出和与主要操作系统的兼容性,用户正在构建自己的地面计算机系统,通常安装在耐用旅行箱中。在箱盖上安装高亮度屏幕(>1000尼特),计算机组件安装在箱子的其余部分。

以下是来自Blue Link的一个示例案例:
在这里插入图片描述
不支持的操作系统
尽管QGroundControl可以在这些操作系统上下载,但ArduSub不支持:

  • Android
  • iOS
4. 摇杆------手柄(Joystick)
手柄(也称为手持控制器、游戏手柄等)连接到地面计算机时,用户可以通过手柄向车辆提供控制输入。
这些输入可以是移动(摇杆控制)或动作(按键按压)。

QGroundControl支持Microsoft的XInput游戏控制器API,这意味着任何支持XInput的控制器都可以使用。

QGroundControl支持具有最多4个控制轴和16个按钮的控制器。

支持的商用手柄

以下手柄经过测试并受到支持:

  • Logitech F310(有线)
  • Logitech F710(无线)
  • Microsoft Xbox One 手柄(有线和无线)
  • Sony PlayStation 4 手柄(仅有线)

自定义手柄

通过使用行业标准驱动程序和API,可以使用手柄控制板和标准按钮和摇杆构建自定义控制器。
Marine Simulation编写了一个快速教程:自定义手持控制器设计

已知可以工作的控制板:

  • Leo Bodnar Electronics
    • BU0836X 12位手柄板
    • BU0836A 12位手柄控制器
    • BU0836A-NC 12位手柄控制器(无连接器)
  • Ultimarc
    • Mini-PAC Standard

自定义手柄示例

以下是一些由ArduSub用户创建的自定义手柄示例。

5. 摄像头(Camera)

摄像头允许操作员从载具的视角观看和录制。如果配备了摄像头倾斜支架或其他云台,可以在操作过程中移动摄像头到相应的角度。

 伴随计算机软件包含一系列驱动程序,
 可以将载具的全高清(FHD)视频流传输到地面控制站(GCS)。
 每次只能连接一个摄像头到伴随计算机。虽然计划支持多摄像头流,但目前尚未实施。

支持的摄像头

USB摄像头

大多数现代USB摄像头与伴随计算机软件兼容,只要它们具备以下规格:
  • H.264输出
  • 1080p或4K分辨率
    在这里插入图片描述

已经测试可以工作的USB摄像头包括:

   目前没有已知符合这些规格的4K USB摄像头。

CSI接口摄像头
具有树莓派上的CSI接口输入,这种类型的摄像头可以与伴随计算机软件配合使用。
直到2017年中期,树莓派摄像头模块预装在BlueROV2上,后来被低光HD USB摄像头替代。

已经测试可以工作的CSI摄像头包括:
在这里插入图片描述

以太网摄像头
虽然没有测试过以太网摄像头,但与QGroundControl直接工作的最低要求是:

  • H.264输出
  • RTSP
6. 电子速度控制器(Electronic Speed Controls,ESCs)

电子速度控制器用于控制电机和推进器的速度/推力。
ArduSub设计用于与无刷和有刷电子调速器(ESC)配合使用,以控制电机和推进器。对应的ESC将需要用于相似类型的电机。例如,如果使用无刷推进器,则需要使用无刷ESC。
ArduPilot不支持同时控制有刷和无刷电机

ESC的最低要求如下:

  • 双向控制 - 它们可以前进和倒退操作(大多数用于无人机和爱好者无人机的ESC只能单向操作)
  • 通过PWM输入进行控制,其中:
    • 1900微秒为全速前进
    • 1500微秒为停止
    • 1100微秒为全速倒退

1. 无刷ESC

以下无刷ESC可用于与ArduSub配合使用:

2.有刷ESC

尚未有报告显示有刷ESC与ArduSub一起使用,但以下是ArduPilot的参考文档:

7. 推进器(Thrusters)

推进器是水下载具操纵的必要部件。载具上推进器的数量和方向确定了其可操作的自由度(DoF)

在选择要安装在载具上的推进器类型和数量时,载具上电源供应的最大电流吸取是一个重要考虑因素。应将所有推进器在预期电压下的最大电流吸取总和起来。如果这超过了电源的额定电流,则需要降低电源电压或减少推进器数量。

虽然ArduSub可以使用无刷或有刷推进器,但它们不能混用,并且推进器类型需要与适当的电子调速器(ESC)配对。

无刷推进器

无刷推进器是推进的良好选择,因为它们没有必须受到保护或磨损的刷子。

推荐的无刷推进器------T200
在这里插入图片描述

有刷推进器

有刷推进器通常比无刷推进器便宜,但必须使用内部密封系统或轴封进行密封。

过去曾经使用部分拆卸的船舶泵马达与螺旋桨进行过浅水密封推进器单元的组装。

有刷推进器必须使用适当的有刷电子调速器(ESC)。

8. 电源传感模块(Power Sensing Module)

电源传感模块为载具上的自动驾驶仪提供模拟电流和电压感知。它用于测量电池电量和载具的功耗情况。(一般卖pixhawk的会有配套)

ArduSub支持固件中的各种模块,在正确设置后,QGroundControl将显示电池电量和电流消耗的视觉指示。
  • 推荐的电源感应模块

以下电源感应模块经过测试并推荐使用:

  • Blue Robotics Power Sense Module

    仅提供电压和电流感应,不为自动驾驶仪提供电源。
    
  • Mauch HS Series Power Module

    需要额外的4-14S混合BEC以为板卡提供电源。
    
  • 不推荐的电源感应模块

以下模块经过测试,不推荐使用:

  • mRobotics Classic Power Module (BEC) 4S LIPOs

    • 问题:由于未知原因,会短路并将12V给到自动驾驶仪,从而损坏电源模块和自动驾驶仪。
  • 其他电源感应模块

ArduPilot有其他电源感应模块的列表,但这些尚未经过测试或验证:

9. 电源供应(Power Supply)

电源供应分配系统为所有机载电子设备供电,包括推进器的高电流负载。调节器将主要供应的电源(来自电池或其他电源)转换为更适合敏感电子设备的电压 - 必须确保稳定的供电,以避免计算机重新启动并失去对载具的控制。

 工作电压通常与推进器的最大额定电压相关联。
 电压调节器将较高电压降低到较低电压以供电子设备使用。
(1)电池供电

出于安全考虑,建议设计水下车辆以电池供电。锂电池是一种受欢迎的选择,因为它们在紧凑的尺寸中具有高存储容量。在为新车辆选择电池时,以下是一些重要考虑因素:

  • **电池电压:**锂电池通常将其标称组电压和相应的“S”等级规范为电池内串联的3.7V单体数量。电池的电压需要与您的电子调速器(ESCs)和推进器的额定电压匹配。

    例如,Blue Robotics Basic ESC支持2S至6S(7-26V)电池,但T200推进器的最大额定电压仅为20V。
    因此,在此系统中推荐使用的最大电池是4S电池,因为充电完毕的电池电压为16.8V。
    
  • **容量:**电池通常以mAh为单位指定其容量,数字越大,电池存储的能量越多,您的ROV可以运行的时间越长。

  • **电流等级:**电池通常会指定电流的C等级。为了计算以安培为单位的额定电流,请将电池的容量以Ah(mAh/1000)乘以C等级。

    例如,容量为10000mAh(10Ah)的电池,具有10C等级,额定电流为100安培。
    作为一个经验法则,您的电池应该能够承受每个推进器的连续电流负载,该负载为15安培。
    

除非在主要电子设备外壳内分配了空间,否则电池还需要自己的防水外壳(WTE)。

已知以下电池可适配3英寸内径(WTE):

  • Blue Robotics锂离子电池(14.8V,18Ah)
  • Blue Robotics锂离子电池(14.8V,15.6Ah)
  • Turnigy Li-po(14.8V,10Ah)(Hobby King)
(2)通过线缆供电(高电压)
由于水下环境中高电压的固有危险性,ArduSub开发人员强烈建议用户不要制造自己的高电压电源。

如果需要一种通过线缆供电的解决方案,则Blue Robotics销售Outland Technology Power Supply(OTPS)用于BlueROV2。尽管OTPS系统是为了替换BlueROV2上的电池外壳而重新设计的,但它可以用于其他车辆项目。

(3)电压调节器

根据使用的电子设备,车辆的主要电压很可能需要降压和调节,以供应较为敏感的电子设备,例如伴随电脑和自动驾驶仪。
已测试的以下调节器提供了足够的电力:

10. 数据线(Tether)

数据线是一根连接伴随计算机和地面计算机的电缆。它允许在水中与载具进行低延迟高带宽的通信,这是其他技术所不适合的。

(1)Tether(连接线)

连接线是一根电缆,用于连接伴随电脑与地面电脑。无线电频率(RF)波无法在水中传播很远,声学调制解调器的带宽有限,因此连接线是将载具连接到地面电脑的关键组件。

要求:

伴随电脑通过10/100 Base以太网进行通信。因此,可以使用标准Cat 5电缆将其连接到载具和地面电脑。Cat5电缆的最大传输长度约为100m

10/100 Base以太网指的是以太网的传输速率和标准。
这里的“10/100”表示以太网可以支持两种不同的速率:10 Mbps(10Base-T)和100 Mbps(100Base-T)。
这两种速率是以太网局域网中最常见的传输速率之一。
(2)连接线接口

虽然对于基本功能来说是可选的,不是必需的,但连接线接口可以提高以太网通信的范围和可靠性

铜双绞线对接口

使用Homeplug AV标准的接口板提供了强大的高速、长距离以太网连接,仅使用一对电线。这些接口板能够在300m以上的连接线长度上实现高清视频和高带宽数据传输。
在这里插入图片描述

  • 以下接口板得到支持(买不到,寻找可靠方案):

Blue Robotics Fathom-X连接线接口板套装

(3)光纤电缆接口

由于通信是基于以太网的,因此还可以使用光纤电缆,并在ROV内部和地面安装以太网到光纤转换器。
已知以下光纤接口板可以使用:
DeltaROV海底光纤到以太网通信套件

-3-.推荐附件:

这些组件不是操作所必需的,但对水下载具非常推荐。
(1)压力传感器(Pressure Sensor)
需要外部压力传感器来估算载具的深度。它们通常包含一个简单的温度传感器。

水压传感器是用于获取深度读数并启用深度保持功能的外部传感器。一次只能连接一个传感器。
ArduSub已经预先安装了以下传感器类型的驱动程序:

支持的传感器产品:
在这里插入图片描述
以下传感器产品可以直接连接到自动驾驶仪(pixhawk):

Bar30 高分辨率300米深度/压力传感器
用于Bar30 高分辨率300米深度/压力传感器的PCB板
Bar100 高分辨率1000米深度/压力传感器

(2)摄像头倾斜支架(Camera Tilt Mount)/云台
 摄像头倾斜支架或其他云台用于移动和/或稳定摄像头,以获得更流畅的视频画面,
 并且无需旋转或移动整个载具即可查看周围环境。

相机云台
ArduSub支持多达3轴云台的控制和姿态稳定。水下车辆最常见的云台类型是1轴倾斜支架,因为大多数标准ROV框架可以控制其他自由度(DoF)。

ArduSub支持两种类型的云台:

  • 简单的伺服驱动(PWM)云台,其中自动驾驶仪的内置IMU控制稳定性
  • 以及具有自身自稳控制器的无刷直驱(UART)云台。

支持的相机云台
以下相机云台在ArduSub中得到支持:

(3)水下灯光(Lights)
灯光对于视觉检查和导航至关重要,特别是在夜间、在掩蔽物下或阳光无法到达的深度下。

ArduSub具有控制使用脉宽调制(PWM)信号的灯光的能力。可以通过两个不同的输出通道控制两组独立的灯光。

支持的灯光产品
以下灯光产品可以由自动驾驶仪控制:

-4-.额外外围设备:

这些组件不是操作所必需的,但极大地增强了 ArduSub 载具的功能和能力以及定制性。

链接信息可以在制造商的产品页面上找到。

1. 漏水传感器(Leak Sensors)
Leak Sensor(泄漏传感器)是在发生泄漏时保护电子设备箱的重要附件。

当设置为GPIO模式时,ArduSub可以通过辅助伺服引脚读取泄漏传感器。当检测到泄漏时,可以配置失效保护动作,例如发送警告或自动使车辆浮出水面。

支持的传感器产品:
在这里插入图片描述
Blue Robotics SOS Leak Sensor

2. 温度传感器(Temperature Sensor)
辅助温度传感器可以连接,以获得比集成压力传感器更快速和更精确的读数。
这在研究或需要准确温度估算的场合非常有用。

每次只能连接一个温度传感器。

ArduSub已预装了以下传感器类型的驱动程序:

  • Measurement Specialties TSYS01

支持的传感器产品:
在这里插入图片描述
以下传感器产品可以直接连接到自动驾驶仪:

  • Celsius快速响应,±0.1°C温度传感器(I2C)
  • Celsius快速响应,±0.1°C温度传感器(PCB版)
3. 舵机(Servos)
 舵机在需要执行或旋转组件时非常有用。
 它们可以位于封闭空间内,用于旋转摄像头等物体,也可以是深度评级的,并用于封闭空间之外。

普通舵机可以安装在防水外壳内,用于旋转摄像机等设备。
而耐水深舵机则可以用于外部安装,不需要防水外壳。
通过适当的信号输出,最多可以通过摇杆按钮功能操作三个舵机。
大多数自动驾驶仪不能为舵机提供电源,因此需要将5V电源连接到输出信号线。

支持的舵机
ArduSub支持模拟或数字PWM控制的舵机,以下舵机已经经过测试:

  • Hitec HS-5055MG舵机(用于Blue Robotics摄像机倾斜系统)
  • Blue Trail Engineering防水舵机SER-110X
4.继电器(Relays)

继电器对于打开和关闭辅助设备的高电压(>5V直流)非常有用。
继电器用于控制开关高电压(>5V DC)的辅助设备。
最多可以通过摇杆按钮功能操作三个继电器,当连接到适当的信号输出时。
大多数自动驾驶仪无法为输出线提供电源以触发继电器,因此需要将5V电源连接到空闲的输出上。

5.抓手和操纵器(Grippers and Manipulators)
抓手是一个有用的工具,用于拾取小物体、固定恢复线,或解开纠缠的引导线。
其他操纵器可能在清洁、检查或维修任务中非常有用。

ArduSub具有通过指定摇杆按钮和伺服输出来本地控制抓取器的能力,用于使用脉宽调制(PWM)进行控制的抓取器。
其他抓取器通常具有自己的控制软件和界面,用于分配控制功能。在这种情况下,建议使用带有RS485控制(而不是RS232)的抓取器,因为它们可以利用拖线中的空余双绞线对进行数据传输,而无需为伴随计算机编写自定义软件。

支持的抓取器和操纵器
在这里插入图片描述
以下抓取器已在ArduSub车辆上使用过:

  • Blue Robotics Newton水下夹持器(从自动驾驶仪输出PWM进行控制
  • Blueprint Lab系列抓取器(通过拖线上的RS485进行通信)
6.水下定位和GPS(SBL和USBL)
定位系统对于导航(前往特定位置、在地图上显示当前位置)非常有用,以及对收集的数据进行位置标记。

可用于在QGroundControl中显示数字位置坐标或车辆在地图上的位置。

下面是使用Water Linked水下GPS系统定位沉船的示例

 自动驾驶仪具有利用外部定位系统执行自主操作的功能:
 例如保持位置、单击到指定位置、航线和预先计划的航点任务,但这仍在开发中。
 位置启用的飞行模式被认为是稳定的,截至最新固件版本,仍然无法正常工作。在功能添加时,本页面将进行更新。
GPS模块

ArduSub与ArduPilot团队的其他固件保持相同的GPS模块驱动程序,因此兼容的GPS模块可以直接连接到自动驾驶仪上的GPS端口。当载具位于水面上且模块未浸入水中时,才能获得位置信息。如果模块浸入水中,则无法获得定位,因为高频率的无线电波无法穿透水介质。

声学定位系统是在水下提供位置信息的唯一可靠方式。

SBL定位系统

短基线(SBL)声学定位系统使用水下潜航器上的声学发射器传输定时声波脉冲。这些脉冲由水面上多个接收器以排列的几何图案接收。计算每个接收器记录声波脉冲的时间,然后可以绘制水下潜航器的整体位置。

由于可调节的接收器位置,SBL系统可以在高反射环境中实现更好的定位精度。

支持的SBL系统:
Water Linked水下GPS探险家套件(页面没了)

USBL定位系统
超短基线声学定位系统与SBL系统类似,其中车辆上的发射器发送声波脉冲,然后由水面上的接收器接收。USBL不仅计算飞行时间,还计算范围和方位角。
在这里插入图片描述

与SBL系统相比,USBL系统更紧凑,其接收器和换能器固定在一个发射器头上。

在这里插入图片描述

支持的USBL系统
Cerulean Sonar ROV定位器

7. 声纳(Sonars)
声纳在能见度低的环境中非常有用,用于获取到表面的距离测量或声学成像目标。
它们在导航中非常有用,特别是在没有其他定位系统的结构化环境中。
  • 回波声纳和高度计
    一种有用的声纳类型是回波声纳,也称为高度计,当安装在水下潜航器上时。高度计是一种单波束声纳,用于从ROV底部到海底的距离测量。这在能见度低的情况下非常有用,因为此时到底部的距离是未知的。
    除了获得距离读数外,回波声纳还可以提供完整的回波响应(回波强度与时间的关系),可以绘制出鱼探声纳的显示方式。这对于定位航行器下方的目标或障碍物非常有用。

    • 支持的回波声纳/高度计
      在这里插入图片描述
      Blue Robotics Ping Sonar高度计和回波声纳(通过USB连接到伴随计算机)
  • 扫描成像声纳
    机械扫描声纳是导航和对目标进行声学成像的有用工具,可以在自顶向下的二维表示中显示。如果您对扫描声纳不熟悉,Blue Robotics编写了一篇介绍性指南,阐明了关键概念,并可帮助识别图像:了解和使用扫描声纳。

    • 支持的扫描声纳
      只有Blue Robotics Ping360扫描声纳与ArduSub系统完全集成,
      并具有高级功能,如航向旋转和直接连接到伴随计算机。
    • 以下扫描声纳已安装在ArduSub载具上:
  • 多波束声纳
    多波束成像声纳与机械扫描声纳类似,因为它们在自顶向下的二维表示中对目标进行声学成像。然而,使用多个声纳波束,刷新率要高得多,可以实时显示车辆前方的图像。

    • 以下多波束声纳已安装在ArduSub载具上:

      • Blueprint Subsea Oculus系列多波束声纳(以太网)
      • Tritech International Gemini 720im多波束声纳(通过电缆连接的以太网或RS485)
      • Tritech International Gemini 720ik多波束声纳(以太网)
  • 剖面声纳
    剖面声纳是具有旋转头部的一维回波声纳,能够获得准确的声学距离数据,以创建周围环境的“剖面”图。这些类型的声纳对于检查管道中的材料堆积非常有用。

五、需要的软件

ArduSub控制系统的必要软件组件包括:

1. ArduSub自动驾驶固件

这是控制ROV的核心软件,负责根据操纵输入和传感器数据控制ROV。
ArduSub固件运行在自动驾驶硬件上,例如Pixhawk飞控器,管理航行器的导航、稳定和控制。

ArduSub固件是一个二进制文件,加载到兼容自动驾驶控制板的内部存储器中。该固件包含了控制特定车辆类型(在这种情况下是潜艇)所需的逻辑处理过程。一些自动驾驶控制板(例如Pixhawk)有一个用于存储数据日志的SD卡。请注意,自动驾驶控制板固件并不位于SD卡上

  • 操作ArduSub时不需要进行软件编程,设置是通过用户可配置参数在连接到QGroundControl时进行更改的。
    在这里插入图片描述

ArduPilot项目

  • 支持多种航行器类型,每种航行器都有其自己的固件文件
  • 必须确保已使用ArduSub固件对自动驾驶控制板进行编程/刷入才能使用ArduSub

ArduPilot家族的其他航行器固件类型有:

版本
ArduSub固件有三个版本:

  • 稳定版(4.0.X):大多数用户推荐使用的版本。这些版本没有后缀,只有一个数字。

  • Beta版(4.0.X-beta):最新的Beta版发布,适用于希望在稳定发布之前测试新功能的用户。这些版本带有-beta后缀。

  • 开发版(4.1.X-dev):开发版本,经常更新。此版本应仅由开发人员和高级用户使用。这些版本带有-dev后缀。
    预编译的ArduSub二进制文件可在此处获取。

     提供了许多不同自动驾驶控制板的二进制文件,
     但只有Pixhawk 1(PX4-v2)经过了彻底测试并得到支持。
    

    关于二进制文件类型的更多信息可以在此处找到。

如何查看安装了哪个版本?
要查找自动驾驶控制板上安装的固件版本,请导航到航行器设置视图,然后转到摘要选项卡。固件版本将在“Frame”部分下列出。
在这里插入图片描述

发布历史
ArduSub发布历史可在此处找到。

2. 伴随计算机上的软件software

伴随计算机软件充当ArduSub自动驾驶固件与地面控制站(QGroundControl)之间的中间件。它通过以太网进行通信,并处理额外的功能,如向地面站传输高清视频。伴侣计算机通常运行定制的基于Linux的操作系统(例如带有伴侣软件的树莓派)。

伴随计算机软件镜像是一个修改过的Raspbian版本,写入到微型SD卡中,并安装在伴随计算机上。

  • 伴随计算机软件执行以下功能
  • 通过以太网通信中继自动驾驶和QGroundControl之间的通信。
  • 向QGroundControl传输高清视频流。
  • 允许使用兼容的驱动程序接口额外的外围设备(传感器和声纳)。
    在这里插入图片描述
    如何查看安装了哪个版本?
    要查找安装在伴随计算机上的软件版本,请打开一个网页浏览器(如Chrome、Firefox、Edge等),然后导航到 http://192.168.2.2:2770/。软件版本将在顶部标题部分列出。

发布历史
伴随计算机软件发布历史可在此处找到。

3. QGroundControl软件software

QGroundControl作为主要的用户界面,用于与ROV进行交互。它允许用户监视遥测数据,设置任务参数,手动或自主控制车辆,并查看ROV相机的实时视频。

以下是说明软件组件及其交互的图示
将原图分成了三个部分:
左上:
在这里插入图片描述
右上:
在这里插入图片描述
下面:
在这里插入图片描述

在这个设置中:

  • QGroundControl通过以太网连接与伴侣计算机通信。
  • 伴侣计算机通过串行或MAVLink连接与ArduSub自动驾驶固件(运行在单独的飞控器上)通信。
  • ArduSub自动驾驶固件根据从伴侣计算机接收的指令和传感器数据控制ROV的执行器(电机、舵机等)。
    这种软件架构为远程操作的水下载具提供了稳健而灵活的控制系统,实现了手动和自主操作,具有实时监控和控制功能。

QGroundControl(QGC)
是ArduSub的图形用户界面(GUI),提供设置和控制功能。
QGC可以在Windows、OS X和Linux平台上运行。

关键功能:

    1. 完整设置/配置ArduSub动力航行器。
    1. 视频流传输,可显示仪表盘叠加。
    1. 地图显示,显示使用水下定位系统的车辆位置、轨迹和航点。
      在这里插入图片描述

QGC用户界面采用Qt QML实现。QML提供了硬件加速功能,这是平板电脑或手机等低功率设备的关键功能。QML还提供了功能,允许创建一个可以根据不同屏幕大小和分辨率自适应的单一用户界面。

版本
QGroundControl软件有两个版本:

  • 1. 稳定版(4.0.X):大多数用户推荐使用的版本。
  • 2. 每日版(开发HEAD | Git版本 | 日期 | 时间):开发版本,频繁更新。这些版本仅用于开发目的,不建议常规使用。

如何查看安装了哪个版本?

 要查找安装在顶端计算机上的软件版本,请导航到“应用程序设置”并滚动到“常规”选项卡的底部。

发布历史
QGroundControl发布历史可在此处找到。

  • 5
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于开源软件ardusub的水下机器人ROV控制系统是一种使用开源软件ardusub来实现的水下机器人控制系统。ardusub是由ArduPilot团队开发的,是一款专门针对水下机器人设计的开源软件。这个控制系统可以用于控制ROV(Remotely Operated Vehicle)的运动和操作。 ROV是一种远程操作的水下机器人,主要用于进行工程、探测和科学研究等任务。传统的ROV控制系统往往需要自行设计和开发,而基于开源软件ardusubROV控制系统则能够大大简化ROV的开发过程。 使用ardusubROV控制系统具备以下特点和功能: 1. 硬件支持:ardusub可以与各种常见的ROV硬件设备进行兼容,如传感器、控制器、电机等。 2. 控制算法:ardusub提供了一套完整的控制算法,可以通过调整参数来实现ROV的姿态控制、运动控制和定位等功能。 3. 通信协议:ardusub支持各种通信协议,如RS485、Ethernet和CAN等,可以与上位机或其他设备进行数据交互和指令传输。 4. 自动化任务:ardusub支持编程和脚本控制,可以实现一些自动化任务,如路径规划、避障和采集数据等。 5. 用户界面:ardusub提供了一个友好的用户界面,可以实时显示ROV的状态和传感器数据,并进行手动操作和调试。 基于开源软件ardusub的水下机器人ROV控制系统具有灵活性、可扩展性和定制性,开发人员可以根据具体需求进行二次开发和定制。通过使用ardusub,可以加快ROV的开发速度,降低相关成本,同时为用户提供一个稳定可靠的控制系统。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值