关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 20kg级自主水下机器人控制软件设计与实现

20kg级自主水下机器人控制软件设计与实现

作者:时间:2012-03-16来源:网络收藏


在AUV进行Ji-1~Ji段的航行时,AUV根据导航算法不断算出坐标并判断是否到达指定区域,当离指定区域为R时(R很小),即可判定到达指定区域。在到达指定区域之前不断利用AUV PID航向角闭环算法修正航向角θ,最终AUV的GPS/INS组合导航。

本文引用地址:http://www.eepw.com.cn/article/160948.htm

k.JPG

4 界面及实验结果
4.1 界面
本文界面左侧上半部分和右侧主要对AUV的,界面左侧中下部分的3个仪表盘和TAB页控件显示AUV的各个状态信息。
单击开机、关机按钮将AUV的开启与关闭;单击询问AUV按钮,此时应答情况为AUV存在,表示监控软件与AUV的通信正常,否则应该检查无线模块和AUV。单击前舱参数、GPS经纬度、GPS时间、推进器状态、AUV航向角等按钮将持续获得AUV相应的信息;步进电机控制按钮用于实现方向舵的调整,进而实现AUV方向的调整。为了防止步进电机失步,这里还特意了步进电机的微调按钮,目的是在步进电机失步时将方向舵调整回原位置。
该控制软件还以仪表盘的方式显示推进转速、罗盘、温、湿度等信息。
以速度仪表盘为例,当从串口接收到的数据中提取出水平推进器或垂直推进器速度信息时,将速度信息存放到成员变量m_Spd1或者m_Spd 2。利用API函数得到控件IDC_STATIC_SPD的区域坐标rect2,调用API函数InvalidateRect(&rect2)重绘,将进入函数CDspsockDlg:OnPaint()重绘。利用MFC中的函数Pie,Ellipse,SetBkColor,TextOut画出仪表盘背景。最后通过下列两个公式将速度值转换成对话框上的坐标值,调用函数画一条连接该区域中心位置到该点(a1,b1)的直线,最终实现仪表指针随速度值的变化。坐标(a1,b1)计算公式如下:
b1=60sin((m_Spd1×3/25+150)π/180)
a1=60cos((m_Spd1×3/25+150)π/180)
4.2 实验结果
软件运行期间界面显示如下。图6显示了温、湿度分别是32°,51.5°;单击复位按钮、温湿度指针将分别指向-30°,20°位置处;图6还显示了2个推进器的速度信息,其中水平推进器速度为1 180 r/min,垂直推进器速度为0.此时AUV在水平方向运动垂直方向静止。

m.JPG

n.JPG

5 结语
介绍了20 kg级便携式AUV控制软件的实现,该软件利用串口通信技术、多线程编程技术在传输数据量不很大的情况下表现了良好的性能。软件以稳定的性能、友好的界面及简单的操作方法满足了对便携式AUV的监视和控制。


上一页 1 2 3 4 下一页

评论


相关推荐

技术专区

关闭