天津理工大学中环信息学院 300380
市级大学生创新创业训练计划项目资助,《深海探索者ROV》项目编号:201813897004
摘要:随着海洋资源开发以及水下领域作业任务的增加,水下机器人在水下作业中发挥着越来越重要的作用。ROV作为水下作业的重要工具,对运动控制算法要求较高,采用开源软件ArduSub,结合一种模糊串级PID控制算法实现ROV控制系统的设计,重点对ArduSub的特点、适应配置及PID控制算法原理,包含运动和姿态方面进行了阐述,能够良好实现ROV的水下控制。
1引言
随着海洋资源开发以及水下领域作业任务的增加,水下机器人在水下作业中发挥着越来越重要的作用。其中ROV续航持久,成本相对较低,逐渐成为水下作业的重要工具。ROV工作于水下环境,具有非线性、易受环境影响等特点,对运动控制算法要求较高,同时要求整个控制系统要有较好的实时性和可靠性。
2开源软件ArduSub简介
ArduSub水下机器人的控制器是一个完整的开源解决方案,提供远程操作控制(通过智能潜水模式)和全自动的执行任务。作为DroneCode软件平台的一部分,它能够无缝地使用地面控制站的软件,可以监控车辆遥测和执行强大的任务规划活动。它还受益于DroneCode平台的其他部分,包括模拟器,日志分析工具,为车辆管理和控制和更高层次的api。
其主要特点在于以下几个方面:
反馈控制和稳定性:ArduSub控制器基于多旋翼自动驾驶系统,具有精确的反馈控制,可主动维持方向。
深度保持:使用基于压力的深度传感器,ArduSub控制器可以将深度保持在几厘米内。
航向保持:默认情况下,ArduSub在未命令转动时自动保持其航向。
相机倾斜:通过操纵杆或游戏手柄控制器与伺服或万向节电机进行相机倾斜控制。
灯光控制:通过操纵杆或游戏手柄控制器控制海底照明。
无需编程:ArduSub控制器适用于各种ROV配置,无需任何自定义编程。大多数参数可以通过地面控制站轻松更改。
兼容性好:ArduSub兼容许多不同的ROV框架,支持PWM输出。
由于以上特征,使得ArduSub成为一款可以很好适用于水下机器人RPV控制系统的开源软件。
ArduSub兼容基于串行和以太网的通信接口。使用的硬件自动驾驶仪必须支持选择的选项。Pixhawk仅支持串行连接,但可以通过配套计算机连接到以太网。其他autopilots原生支持以太网。ArduSub软件主要用于通过ArduSub进行接口,ArduSub是一种开源的跨平台用户界面,适用于所有类型的无人机。该接口通过系绳连接到ArduSub控制器并显示车辆状态信息,并允许更新参数和设置。最重要的是,QGC与用于指挥车辆的操纵杆或游戏手柄控制器连接。
ArduSub包含一个高级的电机库,支持多个框架,例如具有6自由度推进器定位的BlueROV配置(图1所示)、带有并排垂直推进器的矢量ROV(图2所示)、采用单垂直推进器的ROV(图3所示)等等。
在传感器和执行器方面,除了标准的板载传感器(IMU,指南针),ArduSub控制器还支持许多外部传感器,包括:用于测量和自动深度保持的压力/深度传感器、GPS用于表面位置(不在水下工作),未来,ArduSub控制器将能够与更多传感器连接,如深度探测仪,扫描声纳,温度传感器和电导率传感器。控制器可以命令可调光灯,并且可以配置为标准控制伺服系统以及实现其他功能。
图3 采用单垂直推进器的ROV
综上,可以归纳得到ArduSub的主要应用方面包括:观察和探索、破坏发现和记录、摄影和摄像、船和设备检查、生物取样和测量、水下检索以及学术研究、科技竞赛等等。
3 ROV运动与姿态控制
ROV的动力来源于电机驱动螺旋桨旋转产生的反推力,电机的放置位置、放置方向和数目直接决定了ROV可以实现的运动形式。以搭载4个电机的ROV系统为例,如果ROV在多个维度上运动,则电机的实际转速是各维度对电机转速控制作用的叠加。ROV控制算法的输入量是被控维度的设定值和传感器测量值,输出是该维度的控制量,然后根据公式把各维度控制量转化为对电机的控制量从而对电机进行控制。
ROV的控制算法采用PID控制算法,PID算法是目前应用最为广泛的一种控制算法,它根据设定值和反馈值构成控制偏差,将偏差的比例、积分和微分通过线性组合构成控制量,对被控对象进行控制[1]。在ROV的PID控制中,只考虑了对姿态角的闭环控制作用,对角速度并没有反馈控制。角度-角速度串级PID是在角度PID的基础上增加一个角速度环PID控制器,即外环是角度PID,内环是角速度环PID,二者共同组成一个控制器。外环PID输入的是角度设定值和测量值,输出是角速度的期望值;内环PID输入的是角速度的期望值和测量值,输出是该维度的控制量。角度—角速度串级PID对角度和角速度都有反馈机制,拥有更好的稳定性和响应速度。
但ROV是一个非线性系统,且难以对其构建精确的模型,上述控制算法不能够满足要求。模糊控制 (Fuzzy Control) 是模拟人的模糊推理和决策过程的一种非线性控制方法,不依赖于精确的数学模型,易于实现对不确定性系统及强非线性系统的有效控制。本文采用模糊控制器根据设定 (期望) 值和测量值的偏差e以及该偏差的变化率ec,输出PID控制器的比例、积分、微分系数, 然后再进行串级PID控制。在角度—角速度串级PID控制中,由于内环角速度环直接输出各维度的控制量,所以采用模糊控制器输出内环PID控制器的控制数,外环PID控制器的系数则采用固定值。
参考文献
[1]王建华,宋燕,魏国亮,袁彬.串级PID控制在水下机器人俯仰控制系统中的应用[J].上海理工大学学报,2017,39(03):229-235.
论文作者:穆蔚伟 熊英杰 龚嘉豪
论文发表刊物:《科技新时代》2019年3期
论文发表时间:2019/5/9
标签:水下论文; 控制器论文; 角速度论文; 算法论文; 维度论文; 作业论文; 传感器论文; 《科技新时代》2019年3期论文;