Abstract: With the development of bionic technology, the bionic underwater robot is widely concerned and applied to various fields. In the shallow water search operation, the work efficiency will be reduced, and the existing underwater robot control accuracy is not high. In order to improve the control precision of the underwater robot, the control system of the small bionic underwater robot is designed. The structure of the control system hardware, the main control program design and the software design of the main control module are introduced.
Key words: Bionics Robot Control system
【中图分类号】TP242 【文献标识码】B 文章编号1606-5123(2018)01-0000-00
1 引言
控制系统的设计是实现仿生水下机器人实现智能化的基础,同时也是机器人整体的核心,只有实现仿生水下机器人的智能化控制,才能保证其顺利完成水下作业任务。为了更好的服务于人类,有必要对控制系统进行合理设计。
2 控制系统的硬件结构
仿生水下机器人嵌入式控制系统硬件结构如图1所示。
其中,ARM11作为上位机,ATmega2560作为下位机。ARM11中安装相应的驱动程序之后,可以直接通过串口与ATmega2560通信。
其中,步进电机模块和浮力调节装置组成了仿生水下机器人的动力装置,而浮力调节装置主要包括微型双向隔膜泵、微型电磁阀和水囊。超声波测距传感器、压力传感器和MPU9255构成了仿生水下机器人的传感器系统。
在该嵌入式系统中,上位机ARM11主要对图像进行处理,其过程是通过摄像头来采集水下的图像信息,并经图像处理程序,进行目标物的识别。如果识别到的是目标物,那么就可以通过串口通信,传递给下位机,并投放标识。其下位机可以对仿生水下机器人的动力装置进行控制、以及对小型电磁铁是否通电进行控制,另外还可以接收传感器检测到的数据信息。其中,超声波测距传感器共有6个,其中5个可以组成避障模块,并位于仿生水下机器人前舱段的前端;1个用于测量仿生水下机器人距离水底的高度,位于中舱段的下方。
3 主控制程序设计
主控制程序控制小型仿生水下机器人,进行水下目标物搜索作业时的整体工作流程如图2所示。其中机器人通过浮力调节进行下潜,以及利用扑翼推进装置进行航行等的具体控制程序时,将通过动力装置控制模块、避障模块和位姿调整模块来实现。
4 主要控制模块的软件设计
4.1 动力装置控制模块程序设计
仿生水下机器人的动力装置主要包括浮力调节装置、扑翼推进装置和尾翼调节装置。其中,浮力调节装置起到浮力调节的作用,进而使机器人完成上浮和下潜的动作。扑翼推进装置可以为机器人提供前进的动力。尾翼调节装置可以对位姿进行调节,并且可以辅助转向。ATmega2560实现对整个动力装置的控制。其中浮力调节装置的原理流程图如图3所示。
步进电机可以为扑翼推进装置和尾翼调节装置提供动力。另外,每个步进电机均有一个单独的驱动芯片,其运动可单独受 Atmega2560的控制。扑翼推进装置和尾翼调节装置硬件结构图如图4所示。
ATmega2560的任务是以正确的顺序和速率给线圈输入合适的高电平和低电平驱动电机轴转动。使用ATmega2560控制步进电机,首先需要设置每个步进电机的每一相的对应引脚。例如,设置步进电机1的A相的引脚为22,代码如下:
const int A=22;
在使用ATmega2560时,需要设定引脚的输入、输出状态。设定A相的引脚为输出状态的代码为:
pinMode (A, OUTPUT);
要使步进电机的A相通电,只需使对应引脚输出高电平,其它三个引脚输出低电平即可,部分代码如下:
void loop{
……
digitalWrite(A,HIGH);
digitalWrite(B,LOW);
digitalWrite(C,LOW);
digitalWrite(D,LOW);
delay(2);
……
}
由于仿生水下机器人在航行过程中的仿生扑翼拍动和俯仰角度幅值均为30度,因此,需要步进电机1、步进电机2、步进电机3和步进电机4,这四个电机同时进行往复摆动动作,其摆角为30度。另外采用的是减速比为1/64内置减速器的步进电机,经过计算,当步进电机转子旋转45圈时,步进电机的输出轴旋转了30度。
4.2 避障模块程序的设计
(1)水下超声波测距模块程序设计:
本文使用的水下超声波探头,体积小,只适用于小型的机器人,但不影响测距的效果。超声波在水中的传播速度是1400m/s,根据记录的时间t,采用时间差测距法就可以计算出发射点距离障碍物的距离d。其中水下超声波测距模块,在连接电源后,模块以每100ms自动进行一次测距,完成测距后,并以串口的形式输出距离值。
ATmega2560可以通过Serial.begin(speed,config)函数来配置串口通信的波特率、数据位、校验位和停止位等。水下超声波测距模块的串口输出形式为9600n81,即波特率为9600,数据位为8位,无校验位,停止位为1。则串口初始化函数的设置如下:
Serial.begin(9600,SERIAL_8N);
而串口数据的读取通过Serial.read()函数即可完成。
(2)避障模块程序设计:
避障模块位于仿生水下机器人的前舱的最前端,由5个水下超声波测距模块组成。其水下超声波测距避障模块的探头指向如图5所示。
由于所采用的一体式超声波探头存在测量盲区,即在di0.3m范围内的障碍物无法被检测到,测量范围在0.3m<di<3.6m,(i=1,2,3,4,5)是有效的。由于仿生水下机器人的航行速度约为0.2m/s,所以超声波测距模块的测量范围是可以满足实际需要。
仿生水下机器人采用超声波测距模块进行避障的工作原理是,通过5个不同方向的超声波探头所测得的距离值,来估计障碍物的大致位置,并通过这5个方向的距离值,计算出转向角度。由于仿生水下机器人的航行速度较慢,因此选择当与障碍物之间的距离小于3m时进行转向。其超声波测距避障模块的程序流程图如图6所示。
5 结束语
通过对小型仿生水下机器人的控制系统硬件结构进行了设计,分析了各个硬件的功能和作用。并结合仿生水下机器人水下目标物搜寻作业,对仿生水下机器人的主控制程序进行了设计。提出了利用主控程序控制仿生水下机器人的整体工作流程,模块程序控制仿生水下机器人的具体运动。同时对仿生水下机器人几个主要的控制模块程序进行了详细的设计。其中,对由浮力调节装置、扑翼推进装置和尾翼调节装置组成的动力装置的控制程序,仿生水下机器人的避障模块进行了设计。
参考文献
[1]王洪达.混合驱动水下机器人控制系统设计[D]. 天津大学, 2010.
[2]李建朋.水下机器人浮力调节系统及其深度控制技术研究[D]. 哈尔滨工程大学, 2010.
[3]周丽丽,孙晶,王涛等.水下机器人嵌入式控制系统设计和运动控制仿真[J]. 自动化技术与应用, 2012, (11):16-20.
[4]郭志军.水下机器人运动控制器的设计[D].哈尔滨工程大学, 2013.
[5]吴乃龙.小型AUV动力学建模及推力控制研究[D].中国海洋大学, 2012.
作者简介
袁玉荣 (1988-) 女 工学学士 研究生 研究方向:机构创新与机器人技术方向
共0条 [查看全部] 网友评论