摘要:随着科技的发展,利用机器人对特定环境进行自主巡视扫描越来越普遍,本设计综合利用视觉识别、惯性导航、压力数据等传感器信息,可以实现机器人在水下多点判断障碍物位置,依次跨越障碍物,最终在目的时间点去搜寻特定物体的功能。
系统方案
本系统的功能模块分为姿态解算及调整模块、图像处理模块、通信数据模块、状态机逻辑控制模块四部分。
1.1姿态结算及调整模块
该模块硬件部分采用陀螺仪加速度及磁力计传感器mpu9250,单片机通过IIC通信接口协议读取其三轴加速度及角速度原始数据。
利用mahony算法进行姿态解算,根据加速度计和地磁计的数据,转换到地理坐标系后,与对应参考的重力向量和地磁向量进行求误差,这个误差利用龙格库塔法来校正陀螺仪的输出,然后用陀螺仪数据进行四元数更新,再转换到欧拉角。最后利用PID闭环控制算法控制机器人的姿态角。
1.2图像处理模块
图像处理模块的硬件采用带有GPU的微型PC机,由于识别的目标物复杂度较低,并且对处理速度要求较高,采用QVGA(320*240)格式的图片进行处理。
对于目标物的识别算法,采用YOLO算法,其不需要region proposal阶段,可以直接产生物体类别概率和位置坐标值,经过单次检测即可得到最终检测结果,因此处理速度极快,非常适合于该实时系统中。
对于检测出的众多目标物中,筛选出概率大的目标物后,需要判断目标物的距离和角度。由于摄像头为单目摄像头,并且对于水下,不同距离时颜色衰变较大,因此可以根据RGB像素的平均数进行目标物距离的判断。由于每个目标物大小一致,因此根据视野中目标物x方向长度和y方向长度的比例判断巡游机与目标物法线的夹角。
1.3通信数据模块
通信部分采用数据帧的方式,图像处理器将摄像头拍摄内容进行识别并将识别内容封装成数据帧格式。数据帧头为0x35 0x46 0x57 0x24;紧跟着的是识别的目标物数目N;接下来是每个目标物的信息,分为目标物深浅度、中心x坐标、中心y坐标、目标物x方向长度、目标物y方向长度。数据帧最后是16bit的CRC帧校验位。
1.4状态机逻辑控制模块
开通定时器,定时器中断时,依据姿态角、深度等全局变量进行巡游机姿态及深度的调整。
判断是否为受控模式,若是的话,则将遥控数据装入底层电机驱动函数。
若不是受控模式,则进入自主巡游模式。
第一状态为准备状态,在此状态中,进行参数的复位,并跳入定向状态。
在定向状态中,通过改变姿态变量,使得巡游机模仿动物搜寻目标——先左转180度,再右转180度,转动过程中进行障碍物的度量判定。度量判定标准主要依据当前环境编写相应函数。在巡游钻框机器人,度量判定依据为框的长和宽,当长或宽大于相应阈值或者两者相乘大于相应阈值,即可判定为出路方向,并标记该方向。在左右转动巡视过程中,或许可以检测到多个出路方向。此系统设计中方案为对相应方向上框的长宽等参数加权求和并进行排序,排序结果最大者方向即为目标方向,并将巡游机姿态调整为目标方向。接下来跳入校姿状态。
在校姿状态中的任务便是调整巡游机与目标物法线的角度,使该角度不至过大。
该调整过程中有时需巡游机进行横向平移,横向平移控制操作采用微元积分的思想,即向斜前方前进微小距离,再将机头调正,向后退微小距离。这几个微小距离调整的参数由经验的出,当参数调整合适时,巡游机可在微小的震动中平移,直至平移到合适的方位,接着跳入搜寻状态。
在搜寻状态中,通过闭环控制使得巡游机方向与目标物中心时刻处于阈值误差内,并控制机器人不断缓慢前行。当目标物大小超过设定的阈值范围时,跳入冲击状态。在该状态内,巡游机通过陀螺仪固定好特定方向,向着目标物加速前进,即可穿越目标物。
至此,一个巡游状态结束,接下来跳入准备状态,继续循环。
论文作者:邢苏阳 赵新灿 金仁标
论文发表刊物:《知识-力量》2019年10月41期
论文发表时间:2019/9/11
标签:目标论文; 状态论文; 方向论文; 模块论文; 姿态论文; 数据论文; 陀螺仪论文; 《知识-力量》2019年10月41期论文;