前言
水下仿生机器人是一个水下高技术仪器设备的集成体,在军事和民用领域都有很大的应用前景。目前,水下仿生机器人在速度、灵活性以及能源利用率方面与水下生物还存在较大差距,为了提高水下仿生机器人的水下运动能力和续航时间,本书以实验室研制的仿生机器鱼样机为依托,对仿生机器鱼的姿态控制和返航系统进行了研究。
本书先对水下机器人进行了概述。水下机器人,也称作无人水下潜水器或水下航行器,分为载人潜水器和无人潜水器两种,其中无人潜水器又分为有缆水下机器人和无缆水下机器人,本书介绍的水下仿生机器人属于无缆水下机器人。
接着,本书从仿生学角度介绍了水下仿生机器鱼,它通过模仿鱼类摆动来实现推进。然后根据Lighthill等人提出的细长体理论对仿生机器鱼的物理模型进行坐标建立,在该物理模型中将鱼体简化成无限柔软的二维样条曲线,该曲线与鱼体的对称中心线重合。尾鳍简化成刚性的波板,其绕自身的转轴做旋转运动,并随鱼体做平动运动。头部简化成刚性的直线,其与鱼体的样条曲线连接,连接点为鱼体运动的波动起点。为了减小仿生机器鱼头部的晃动,推导出尾部的运动模型,尾部运动方程等于身体波方程减去头部晃动方程。通过这一模型的优化,使仿生机器鱼关节摆动的范围增大,关节摆动范围越大,仿生机器鱼所获得的推力越大,游动速度相应地也加快。
从仿生学角度来说,仿生机器鱼的外形和游动姿态越接近真实的鱼类,设计出的机器鱼将越能够模拟鱼的游动曲线。所以本书又对仿生机器鱼的机械结构进行分析,本书所用的仿生机器鱼样机采用三关节结构,并对运动机构进行模块化设计。3个运动关节采用主从结构设计,能够更好地模拟鱼类运动曲线。调节上浮下潜的装置采用重心调节,并建立了上浮下潜运动模型对重力块位置进行分析。关于尾鳍的研究是对比了几种尾鳍形状,根据相关公式给出了适合本书中所用机器鱼样机的尾鳍参数。
介绍完仿生机器鱼的硬件结构后,接着介绍了仿生机器鱼的控制系统。本书中的仿生机器鱼样机采用嵌入式控制系统,并且嵌入式系统采用模块化编程思想。经过嵌入式平台的对比,选择了BeagleBone Black作为主控制板控制各个子模块。同时也介绍了各个子模块的工作原理。
有了嵌入式系统的控制平台后,仿生机器鱼还需要相关的运动控制算法。本书针对仿生机器鱼直游、C形转弯和上浮下潜3种姿态进行了详细分析,同时还对仿生机器鱼的返航系统进行了初步探索。在直游运动学建模中,考虑了仿生机器鱼头部晃动和转动中心偏移量这两个因素,对已有的运动学模型进行了修正,并利用最小误差法进行曲线拟合,减小了仿生机器鱼头部晃动的角度,提高了游动速度。在C形转弯运动学建模中,在传统C形控制算法上进行改进的一种具有角速度反馈的模糊控制算法,优化了仿生机器鱼的C形转弯姿态。本书选用重心偏移法设计仿生机器鱼上浮下潜结构,并根据所设计的结构建立上浮下潜运动学模型,采用PID控制算法对仿生机器鱼的深度进行控制。仿生机器鱼的返航系统是利用GPS实现初步定位,再利用红外实现精确定位。
有了以上的控制算法,那么选择合适的编程语言以及编程思想去实现以上控制算法就很重要。本书的机器鱼样机的主控制模块采用Python语言编写,子模块采用C语言编写。关于机器鱼上的每个模块本章将对程序流程图进行相应的介绍。
本书中的仿生机器鱼样机不仅能够完成在水下游动,还需要采集水下相关的数据。所以在仿生机器鱼样机上搭载了红外传感器、温度传感器和深度传感器。红外传感器可以获知障碍物的位置,温度传感器可以获取水的温度,深度传感器可以获取机器鱼当前所处的深度。通过这些传感器数据的采集与运用,仿生机器鱼周围的环境可以初步展现出来。
最后的章节是搭建实验环境、搭建硬件和软件平台后,对前几章所提出的各种控制算法进行实验验证,主要进行4个实验验证,包括直游姿态实验对比、C形转弯实验对比、上浮下潜运动实验对比和水下自主返航充电实验对比,通过实验数据验证理论的可行性。
娄保东
2018年1月