本研究提出了基于ROS–凉亭的单眼视觉框架,用于利用ArUco标记对自主水下载具进行姿态估计。估计姿势与模拟里程计数进行比较,显示出稳定的跟踪能力以及在受控条件下与地面真实高度吻合。
研究文章
本研究提出了基于ROS–凉亭的单眼视觉框架,用于利用ArUco标记对自主水下载具进行姿态估计。估计姿势与模拟里程计数进行比较,显示出稳定的跟踪能力以及在受控条件下与地面真实高度吻合。
本研究提出了基于仿真的框架,利用单眼视觉系统在ROS-凉亭环境中对无人水下载具(UUV)进行姿态估计。RexRov2 UUV模型与ArUco_ROS集成,用于检测虚拟标记,并在模拟水下环境中估算位置和方向。采用透视点(PnP)方法进行姿态估计,比例积分导数(PID)控制器基于标记来源特征调节车辆运动。该系统通过将估计姿态与模拟器获得的真实里程进行比较来评估。在名义条件下,结果证明了稳定姿态估计,估计与真实位置及方向高度一致。该系统保持平稳的轨迹跟踪,波动极小,表明在受控环境中表现可靠。然而,在流体动力干扰增强时,系统会出现位置和方向的偏差,导致跟踪性能不稳定。这些结果凸显了经典PID控制在非线性水下环境中的局限性,并提示需要更稳健的控制策略。总体而言,该框架提供了一个安全、灵活且经济高效的平台,用于测试水下导航算法和评估模拟环境中的感知-控制集成。
无人水下载具(UUV)常用于人类存在有限的场景,如海洋监测、勘探和石油工业。它们配备了先进的传感器,能够从复杂的水下环境中收集数据,这需要强大且经济高效的测试平台。包括使用ArUco标记的基于视觉的方法在内的仿真技术,为降低UUV实际部署风险提供了有效手段。
从第一款专用水下研究载具到现代自主水下载具,UUV的历史凸显了它们在科研、国防和工业中的重要性。自主水下载具的发展进一步强调了在模拟环境中准确定位、导航和测试的需求 2,3。
图1展示了UUV模拟系统的传统架构。机器人操作系统(ROS)与凉亭模拟器的结合,提供了一个多功能的建模、控制和实时通信平台。ROS促进传感器、执行器和控制模块之间的高效通信,而Gazebo则提供真实的3D模拟环境,用于测试导航和控制算法4,5。在此背景下,基于ArUco标记的方法通过精确检测和跟踪参考点来增强姿态估计6。

图1:UUV模拟系统的传统架构。图示展示了ROS–Gazebo框架内仿真、感知和控制组件之间的相互作用。请点击此处查看该图的放大版本。
多项研究推动了超外射线模拟、导航和感知技术的发展。ROS–Gazebo框架在机器人建模中的适用性已被证明4,该方法已通过UUV模拟器扩展到水下应用,用于多机器人和干预任务5。基于视觉的定位也通过结合ArUco标记与跟踪算法得到改进。同样,通过先进的模拟平台实现了水下任务的高保真模拟和监督,同时在有限环境中使用标杆进行稳固定位也已得到演示。
这些技术发展辅以调查研究。水下导航和定位挑战的进展已被全面审查10,11,商业和开源模拟平台系统性评估12。其他综述还考察了自主水下载具的技术水平,以及多载体系统的编队控制和通信策略。此外,稳健跟踪控制15和深度学习方法(如门控循环单元16)状态估计的进步,进一步提升了自主水下任务的可靠性。这些研究共同展示了在模拟、导航和无人载具智能控制的真实性方面取得了显著进展。
尽管取得了这些进展,但仍面临若干研究挑战。电流模拟器缺乏准确的传感器模型,尤其是在前视声纳和侧扫声纳系统方面。大多数平台仅支持单一AUV作战,多AUV协调和编队能力有限。传感器和动态模型的不准确可能导致性能不佳,环境干扰如电流和噪声在模拟器间难以一致地模拟。为解决这些局限性,本研究引入了基于ArUco标记的姿态估计的ROS–Gazebo仿真框架,以实现更准确的状态估计和对UUV导航算法的严谨评估。
本研究提供了三大主要贡献。首先,它采用了基于ArUco的单眼姿态估计方法,应用于水下ROS–凉亭模拟环境,采用RexRov2模型。其次,它分析不同扰动条件和控制场景下的姿态稳定性。第三,它指出了在动态扰动下非线性水下环境中经典PID控制的局限性。此外,这项工作将感知、控制和仿真整合为统一框架,弥合了此前独立处理这些组成部分的研究中的空白。
访问受限。请登录或开始试用以查看此内容。
1. 软件环境的设置
一台运行Ubuntu 20.04和机器人操作系统(ROS)Noetic的Linux工作站被用作实现水下自我定位系统17的主要开发平台。系统初始化时,创建了一个带有mkdir -p ~/catkin_ws/src的catkin工作区,然后用catkin_init_workspace初始化。uuv_simulator和aruco_ros包被克隆到源目录中,并用catkin_make命令编译,以支持水下干预建模。
通过启动默认水下世界并通过rostopic list命令确认主动通信,验证了ROS中间件与Gazebo 9模拟器之间的连接。图像处理和姿态估计节点采用Python 3.8实现,并集成了ArUco库,利用OpenCV计算相对姿态。ROS环境配置为管理依赖关系并支持实时数据通信,使机器人能够相对于多个人工标记进行定位。该配置还使得在不同条件下评估标记检测性能成为可能。 图1 展示了ROS–凉亭环境中模拟、感知和可视化节点之间的通信。
2. UUV模型与流体动力参数化
RexRov2 车辆模型从uuv_descriptions包中获得,并在 Gazebo 上线,使用其统一机器人描述格式(URDF)文件5。该飞行器模型由连杆和接头组成,干质量为1863公斤,体积排水量为1.838立方米,对应于密度为1000公斤/立方米的水中近中性浮力。
利用uuv_underwater_object_plugin模拟了流体动力学效应,包括线性和二次阻尼力。新增的质量浪涌系数设定为779.79,阻尼参数根据报告的RexRov2特性校准,以模拟真实飞行器运动19。 图2 展示了整体仿真架构。

图2:仿真环境的整体架构。 图中展示了UUV模型、传感器输入、感知流水线以及用于姿态估计和导航的控制模块的集成情况。 请点击此处查看该图的放大版本。
3. 摄像机、标记和环境设置
一台单眼相机安装在rexrov2/camera_link画面上。相机参数设置为1280×720像素,30赫兹。相机配置文件中定义了内在参数,焦距为554.25像素,主点为(640.5,360.5)。
一个边长0.5米的固定垂直ArUco标记,从6×6_250词典(编号:582)中选取,坐标为(20.0, 0.0, -10.0)。模拟环境配置为水深10米,X方向恒流速度为0.1米/秒,采用/uuv_simulation_app/set_current_velocity ROS服务。使用0.8的光强以确保标记9的可见性。图3展示了模拟的水下环境。

图3:凉亭9号的模拟水下环境。 环境包括RexRov2无人机、虚拟ArUco标记以及受控环境条件,如水深、照明和水流。 请点击此处查看该图的放大版本。
4. 姿态估计与导航控制
标记检测流水线通过ArUco ROS节点启动,该节点订阅了/rexrov2/forward_camera/image_raw主题。通过透视点(PnP)方法估算车辆姿态,以计算旋转矩阵(R)和平移矢量(t)相对于已知三维标记几何形状。
估计姿势通过静态变换发布器从摄像机帧转换为全局参考帧。PID控制器通过向/rexrov2/thruster_manager/input主题发送速度命令来调节飞行器运动。激增轴和上下舵轴的比例增益(Kp)分别设置为1500和2000,以确保跟踪性能稳定。
5. 评估与真实比对
基于视觉的姿态估计与模拟轨迹之间的一致性通过uuv_gazebo_ros_p3d插件提供的/rexrov2/pose_gt主题进行了评估。基于ArUco的管道估计姿态与真实里程计数据进行了比较,以评估系统的稳定性和一致性。
评估通过轨迹比较和实时可视化进行,利用Rviz和rqt_plot监测位置(X、Y、Z)和方向(滚转、俯仰、偏航)。这使得在正常和扰动诱导条件下都能观察到偏差。
该研究侧重于定性和比较性评估。利用均方根误差(RMSE)进行定量评估被视为未来工作,将利用多次模拟运行来评估位置和方向误差。
6. 结果生成与可视化
Rviz 被用作三维可视化工具,用于监测 UUV 的轨迹和姿态。对/rexrov2/camera_link和/aruco_marker_frame坐标系进行了可视化,以评估车辆与标记2之间的空间关系。
rqt_plot工具用于实时生成飞行器姿态(滚转、俯仰、偏航)的图,使用/rexrov2/pose_gt和/aruco_pose主题。rosbag 记录命令用于捕获仿真数据,包括视频流和控制输入,进行定性分析。
模拟在理想视觉条件下进行,假设光线良好且浊度低。阿鲁科标志被认为保持无阻碍。流体动力阻尼效应采用简化系数建模,传感器噪声未被纳入。
访问受限。请登录或开始试用以查看此内容。
利用模拟水下环境评估了利用RexRov2无人机提出的ROS–凉亭系统。波形模拟环境(图3)提供了一个动态且可控的环境,用于评估基于标记的姿态估计系统。
图4 展示了检测到的ArUco标记与所得UUV轨迹之间的关系。基于ArUco标记检测的感知流程,成功实时检测并跟踪了受托标记。该感知流水线与RexRov2模型和PID控制器(见图5)集成,实现了相对于标记器的实时姿态估计。探测结果被用来通过透视点(PnP)方法估算车辆的相对姿态。

访问受限。请登录或开始试用以查看此内容。
数值观察支持该框架在受控条件下的有效性。位置(约10⁻2 米)和方向(约10⁻² 弧度)的微小变化表明姿态跟踪稳定。这些结果表明ArUco标记为短距离定位提供了可靠的参考。此外,仿真平台支持生成专门数据集以实现稳健的SLAM,支持在人工标记可能不存在的环境中进行定位。
结果也凸显了经典PID控制在非线性水下环境中的局限性。缺乏适应性导致在动态扰动下出现超冲和不稳定性15。与基于自适应和基于学习的方法相比,如基于粒子滤波的估计16 或利用视觉-惯性传感器集成的自主对接系统,这一局限性更加明显。
表1 展示了RexRov2代理人在扰动条件下的位置估计。...
访问受限。请登录或开始试用以查看此内容。
作者声明本文发表无利益冲突。
作者贡献:
尼尔马拉乔蒂·纳里塞蒂博士提出了该研究的构思并制定了方法论。Sirisha Potluri博士创建并实现了该模拟模型。P. 奥尔查纳博士参与了结果的解释,并对手稿进行了修订和编辑。德布纳特·巴塔查里亚博士参与了实验设计、技术讨论、方法学的完善和论文审阅。金泰勋博士在整个研究过程中提供了高级学术指导、技术监督和咨询支持。研究工作的整体技术开发和完善均在他的监督下完成。所有作者都阅读并批准了手稿的最终版本。
该研究由全南国立大学资助(资助编号:2026-1109-01)。
访问受限。请登录或开始试用以查看此内容。
| 姓名 | 公司 | 目录编号 | 评论 |
|---|---|---|---|
| ArUco 标记检测库 | OpenCV | N/A(开源) | 基于视觉的标记检测用于姿态估计 |
| Gazebo 模拟器 | Open Robotics | N/A(开源) | 用于无人水下航行器测试的3D模拟环境 |
| REXROV2 无人水下航行器模型 | 无人水下航行器模拟器项目 | N/A(开源) | 用于姿态估计实验的预定义无人水下航行器模型 |
| 机器人操作系统(ROS) | Open Robotics | N/A(开源) | 用于通信和控制的中间件 |
| RViz | Open Robotics | N/A(开源) | 用于无人水下航行器模型和传感器数据的可视化工具 |
| Ubuntu Linux(20.04 LTS) | Canonical Ltd. | N/A | 支持ROS和Gazebo的操作系统 |
| 无人水下航行器模拟器包 | 挪威科技大学(NTNU) | N/A(开源) | ROS-Gazebo水下模拟框架 |
申请许可以重复使用本 JoVE 文章的文本或图表
申请许可