自主机器人

2024-09-11

自主机器人(共7篇)

自主机器人 篇1

机器人足球比赛是近年国际上开展起来的一种高科技对抗活动。虽然历时不长, 但由于它集高新技术、娱乐、比赛于一体, 所以引起了社会的广泛关注和极大兴趣。机器人足球比赛, 已成为人工智能与智能机器人研究领域中一个十分令人注目的热点。

足球机器人性能取决于软件和硬件两个方面, 其中机构设计又是硬件中的重要部分, 它的设计具有现代机构学设计的特点。综合国内外先进的机器人设计技术和足球机器人国际比赛规则, 根据制定的设计指标, 采用新的设计手段和分析方法应用到机器人设计中具有重要的意义。

1 运动控制系统的设计要求

运动控制系统是整个足球机器人自主控制系统的基础, 足球机器人的一切动作最后都要由运动控制系统来执行, 因而从某种意义上说运动控制系统的控制质量对整个系统的控制效果有着决定性的影响。运动控制系统的设计要求如下。

(1) 运动控制系统必须具备电机驱动的功能, 控制的对象是全向移动机构的四个驱动电机, 因此系统应该有四个或者四个以上的独立的电机驱动单元。 (2) 足球机器人应有踢球机构, 运动控制系统应具有对踢球机构控制的功能, 实现足球机器人的射门、传球和防守。 (3) 辅助功能, 如电池电压检测功能。

2 足球机器人控制系统的硬件设计

2.1 处理器单元

(1) 处理器选型。在本系统设计过程中对Microchip, Intel, Atrnel, Motorola, TI和AD等公司生产的一些型号的处理器均做了对比。最终采用TI公司的数字信号处理器TMS320LF2407A该芯片是专门为工业控制和机器人控制设计的集成芯片, 其主要优点在于资源丰富, 运算速度快; (2) 双DSP架构。本文采用双DSP架构, 其中一个DSP芯片为主处理器, 另外一个DSP芯片为从处理器, 主从DSP分别处理两路的电机码盘信号和输出电机驱动信号。

DSP对时钟的要求是能持续稳定地输出没有毛刺的时钟, 利用DSP芯片内部提供的晶振电路, 在DSP芯片的引脚XTALI/CLKIN, XTALZ之间连接一个晶体和适当容量的电容内部振荡器就可以工作, 生时钟信号。晶体为普通无源晶振, 与芯片内部电路组成并联谐振电路。这种形式的振荡电路受温度和芯片工作电压的影响。TMS320LF2407A的运行速度最大可以达到40MHz, DSP控制器的时钟。

2.2 电机驱动单元

为了控制直流电动机, 需用半导体功率器件进行驱动。本文采用H型单极可逆PWM驱动系统。它由四个开关管和4个续流二极管组成, 单电源供电。

2.3 足球机器人挑球机构设计

足球机器人的能根据场上的形势, 选择合适力度的踢球, 这使得足球机器人在射门、传球中更能掌握优势, 更加智能化。所以挑球力度控制电路是运动控制系统必须具备的功能。控制电路采用电子开关控制挑球力度。电磁铁瞬时工作电流可达30A, 工作电压是410V, 因此控制电路采用工作电流是100A, 耐压是1000v的大功率IGBT管做为电子开关。挑球控制电路图如图1所示。

根据实验测试数据, 挑球最高点为3.5米, 挑球点到落球点的最远距离可达7.3米。

2.4 电源单元

本设计采用24/7AH的铅酸电池, 铅酸电池具有可以大电流放电的特性, 可以保证机器人在比赛过程中能够频繁的启动、加速和高速运动。

电源单元设计的可靠性关系到整个机器人控制系统的稳定性。机器人运动控制系统中, 四个直流伺服电动机、射门机构升压电路是大功率负载, 而且直流电动机驱动电路和升压电路工作于开关状态, 会产生电源噪声, 所以必须对这些电源噪声进行处理, 才能保证DSP处理器等控制电路的正常、可靠工作。

3 足球机器人自主运动控制系统的软件流程

整个系统软件编程采用C语言, 程序采用模块化的方式进行编写。其实质是是在CCS开发环境中对DSP的编程。

4 结语

本文在对足球机器人运动控制系统作了较深入的研究基础上, 研制出基于双DSP架构的足球机器人运动控制系统。经过比赛实战, 证明了该系统具有高可靠性、硬件电路简洁、高可靠性等特点, 完全达到了全自主足球机器人的运动控制的要求。本文的创新点在于:研制出基于双DSP架构的全自主足球人运动控制系统, 该系统采用主从双DSP架构的方式共同处理全自主足球机器人底层硬件信息, 有效的解决了单个DSP或者单个控制芯片导致电路复杂, 电路可靠性降低, 系统处理速度不高, 实时性不强等缺点。实验证明, 本文研制的运动控制系统应用在基于全向移动平台的足球机器人上, 充分发挥了全向移动平台的优势, 使得机器人运动性能得到很大的提高。

参考文献

[1]王学慧, 柳林.足球机器人小车总体设计思想及其单片机选型[J].机器人技术与应用, 2001 (5) :10~14.

[2]刘和平, 王维俊, 江渝, 等.TMS32OLF2 4OXDSPC语言开发应用[M].北京:北京航空航天大学出版社, 2003.

[3]王晓明, 王玲.电动机的DSP控制一TI公司的DSP应用[M].北京:北京航空航天大学出版社, 2004.

一种多功能智能自主机器人 篇2

把人从繁重单调的家务中解放出来, 各国学者设计了很多家务机器人[1~4], 也有学者针对老年人生活特性设计助老机器人[5~7]。这些机器人的功能只侧重于某些家务劳懂方面, 对于老年人精神生活功能设计较少。目前我国进入独生子女社会, 而且子女和老年人生活在不同城市, 有许多空巢老人, 目前设计的机器人功能不能满足空巢老人的家务劳动和精神生活灵的需要。本文设计了一种多功能智能自主机器人, 它可以帮助人们取东西, 搬东西, 放东西, 比如, 从书架上取一本书, 送到主人手里;可以帮助人进行低高空作业, 换灯泡, 擦玻璃, 还可以帮老年人取报纸, 读报纸等等。

当今社会发展迅猛, 科技日新月异, 生活水平不断提高, 我们的国家人人都在追求高质量的生活。所以我们是从人文角度出发, 设计一个在日常生活中发挥巨大作用的设备, 提高人们生活质量, 节约时间, 提高效率, 为人们的生活带来便捷, 丰富生活。

2 功能设计

智能自主机器人, 顾名思义, 就是可以代替人们完成一些日常工作, 使其发挥更大的功能, 为人们提供更多的便利。

它具有抓、举、升、降、行等功能, 不仅可以人为操控, 还可以自主识别。根据不同需求, 可以制作不同版本。但我们最初主要是从人文角度出发, 以方便人们, 提高生活质量为宗旨设计的。

它可以遥控输入命令, 操控它进行上升、飞行、抓取、下降等一系列动作, 帮助人们够取物品、搬运物品到人们手中。也可以语音识别和红外线感应相结合, 帮助特殊的人们进行任务。这在以下的结构功能中将讲到。总而言之, 这就是一款智能的搬运器, 具有超强大功能的搬运器, 提高生活质量。

2.1 空间感知功能

机器人主要工作地点为室内, 所以对家的空间感知尤为重要。在传统机器人的基础上, 在该机器人眼睛处安置了3D空间视觉识别处理器。在机器人开始应用之前, 先对主人家庭进行3D影像采集录入数据库, 在机器人工作时, 眼睛看见的景象与数据库匹配, 确立所在的家庭位置。

当主人通过语音操控时, 机器人会迅速从数据库中搜索到相应空间影像, 寻找命令地点, 同时自动启动行走命令, 到达指定位置。

2.2 定时工作

可以根据家庭生活习惯需要, 给机器人的某项工作定时, 让机器人每次按时进行相应工作。比如给机器人定时每天早晨七点半取报纸, 八点做早餐等。当到定时时间时, 机器人会自动工作, 不需主人重复输入命令。

2.3 身体健康护理

针对老年人设计的机器人, 最重要的一点便是可以给老年人的生活带来便利的同时, 可以根据老年人身体健康状况, 制定一套既有针对性又灵活多变的健康提醒护理系统。将中医和西医的一些基本检查方式设计到机器人中, 可以定期自动检查老年人身体状况, 并提醒老年人注意饮食、运动等习惯, 改善老年人生活质量, 从而做到疾病提前预防。然而, 当主人生病时, 机器人可以第一时间对主人身体进行基本检查, 可以根据病情严重与否, 自主判断是自行开药方还是打急救电话。

机器人的手是一个多功能感应器, 可以根据操控命令, 启动相应感应器, 进行比如三天一次给主人量血压, 心跳脉搏频率等功能。

2.4 家务劳动

该机器人的最基本功能就是可以代替人们, 做家务, 让老年人从繁琐的家务劳动中解脱。机器人可以根据主人需要“学习”多种菜谱, 多种面食等基础家务。定期清扫房屋。此外, 机器人还可以和老年人语音聊天, 语音读报纸, 陪老年人下棋等。

3 机器人结构构成

这是一个除了腿以外还有螺旋桨, 仿生手, 存储箱, 红外线感应器等结构的机器人, 各个部件既分工又统一。

对主要结构说明如下:

A、螺旋桨:为了能够实现高处取物和换灯泡等功能, 采用螺旋桨实现机器人能够到达高处, 实现机器人飞行功能。

B、仿生手:仿生手就是用来做一些动作, 具有手的灵活, 与传统机器人的手有很大的区别, 取代人们的劳作, 节约时间, 提高效率。

C、感应器:为了实现机器人壁障和设置了各种感应器, 主要有红外感应器和温度感应器。

红外线感应器:机身共设置多个传感器, 前方和后方分别设置三个红外传感器侧面各设置两个红外传感器, 前后放置传感器是为了当遇到物体时能够迅速作出反应。

温度感应器:主人不在家时, 可以提前输入命令, 机器人根据温度变化, 做出反应, 执行命令。

4 结束语

此机器人结合了飞行、地上行走、红外感应, 语音读写等功能于一身, 将功能发挥到极致, 大大的提高人们的生活品质, 提升人们的幸福指数。尤其, 当今社会, 空巢老人越来越多, 他们配备了此机器人, 可以帮助他们做一些危险的事情, 减少了事故的发生率, 让在外工作的儿女们放心。

智能自主机器人涉及机械、电子控制、检测识别技术、程序控制等方面。包括各种传感器检测自身位置、检测目标位置、检测自身姿态。

控制器编写程序控制整个遥控飞行智能搬运器的行为, 多个执行器实现行走、飞行、搬运、辅助, 对周围环境识别, 勘探等功能。

此机器人制作成本不高, 应用广泛, 家庭、办公室等场所都可使用, 具有很高的灵活性, 适合市场生产。

参考文献

[1]一冰.德国研制出新一代家庭机器人[J].老友, 2009.7, P65.

[2]李彬“.家务机器人”可两腿行走做家务[J].共产党员, 2010.6, P52.

[3]王伟.日本推出新型家务机器人[J].机器人技术与应用, 2007.2, P16.

[4]青云.机器人会做煎饼了[J].知识就是力量, 2010.2, P51.

[5]侯锐, 曹宏, 刘加.老年陪护机器人系统的设计与实现[J].电声技术, 2011, vol.35 (05) , P41~44.

[6]周风余, 田国会, 郭丹等.助老助残服务机器人机载计算机软件系统设计及实现[J].山东大学学报 (工学版) , 2011, Vol.41 (1) , P32~39.

自主机器人 篇3

目前, 自主机器人仍需要额外的参照系统, 如激光、雷达三角测量、GPS等, 主要是根据原来的设计环境、磁道、反光带或复杂和昂贵的感官光学或声纳/雷达系统的测绘数据。对于一些工业部门, 特别是那些危险或人迹罕至的环境, 这些系统是不能使用的。

英国纽卡斯尔大学的工程师发明了一种拥有导航识别和定位结构特点的机器人, 能够为一个自主维修的媒介创建可溯源的地标地图。通过结合这些功能定位地标、磁性探测、精确的光学水平以及垂直距离测量, 从而锁定地标, 可以创造一些特别工作环境中的高度精确的2-D指导图, 可反复使用。

该技术已经在欧洲、新加坡和阿拉伯联合酋长国申请专利。

一种移动机器人自主循迹的算法 篇4

目前, 各行业大量使用了循迹移动机器人来代替劳动力, 去完成一些任务。循迹机器人需要快速检测到路线并循迹。目前, 摄像管和CCD视觉传感器测量精度较高, 但是价格也较高。而红外传感器作为接近觉传感器, 价格较低, 移动机器人应用红外传感器循迹是一种实用有效的方法。[1]

1 检测线路的原理

应用接近觉红外传感器检测线路, 线路最好是黑色或者白色。本文使用了5个QIT (Quick Track Infared) 传感器, 三个引脚分别是电源地线GND、5V直流电源VCC和信号脚SIG, 最佳探测距离为5~10mm。[2]QIT检测到黑线, 信号脚输出高电平, 检测到白色则输出低电平。它与单片机的连接很方便, 每个QIT只需要接单片机的1个IO口。传感器的安装示意图如图1所示。

2 硬件电路设计

本文使用AT89S52单片机作为控制芯片, 单片机的P1.0和P1.1脚分别给移动机器人的左右两个伺服电机输入控制信号。单片机的P2.0~P2.4脚接5个QIT传感器。硬件电路设计如图2所示。

3 软件设计

主函数通过循环查询P2.0~P2.4脚的信号, 根据5个IO接口的信号情况, 按照表1中的运动策略对机器人的伺服电机的进行控制。表1中的“Y”表示QIT检测到黑线, “N”表示QIT没有检测到黑线。控制程序如下:

4 结束语

QIT传感器的最佳探测距离为5~10mm, 安装时需要注意调整其与地面的垂直距离。为了减少误差, 也可以在QIT的信号输出端加一个电压比较器, 这样, 传输到单片机的信号更加准确。

摘要:移动机器人在进行无支路循迹的时候, 常因为循迹错误而导致越出轨道, 从而影响了移动机器人的工作质量。本文使用了五个QIT传感器, 设计了一个基于单片机的循迹方法。

关键词:QIT传感器,循迹,方法

参考文献

[1]秦自强.C语言原来可以这样学[M].电子工业出版社, 2012.

[2]刘群.红外反射式传感器的自寻迹小车的设计[J].实验科学与技术, 2007 (05) .

自主机器人 篇5

本文所述水下机器人要解决的技术问题是提供一种操作简单、结构精巧、机械手灵活基于图像处理的自主控制的水下机器人。

为解决上述技术问题, 这种水下机器人所采取的技术方案是:一种基于图像处理的自主控制水下机器人, 其特征在于:包括水下机器人主体、通过电缆与水下机器人主体进行通讯的岸基设备以及设在水下机器人主体上的驱动装置、矿石采集装置和信息采集装置;所述信息采集装置将采集到的矿石采集装置与水下物块的位置视频信号, 通过电缆传回岸基设备, 操作者可根据接收到的视频信号, 实时改变水下机器人本体的运动姿态。

其中, 所述机器人主体包括支架、与支架固定连接的连接箍。

其中, 所述驱动装置包括左舷直流减速电机、右舷直流减速电机、沉浮电机、正螺旋桨、反螺旋桨和附带螺旋桨;所述左舷直流减速电机、右舷直流减速电机和沉浮电机分别通过联轴器与正螺旋桨、反螺旋桨和附带螺旋桨连接;左舷直流减速电机、右舷直流减速电机和沉浮电机的外部分别设有左压力克透明筒、右压力克透明筒和隔水密封筒;正螺旋桨、反螺旋桨和附带螺旋桨的外部分别设有整流罩;左压力克透明筒、右压力克透明筒和隔水密封筒分别固定在连接箍上;左舷直流减速电机、右舷直流减速电机和沉浮电机的控制端分别通过电缆与岸基设备的相应输出端连接。

其中, 所述矿石采集装置包括与连接箍相连的储物台和机械臂、与机械臂连接的机械手;所述机械臂包括大臂、与大臂相连的小臂、设置在大臂内部的第一舵机、设置在小臂内部的第二舵机;所述机械手包括第三舵机和与第三舵机相连的夹持爪, 储物台的底部设有第四舵机;所述第一至第四舵机的控制端分别通过电缆与岸基设备的相应输出端连接。

其中, 所述信息采集装置包括设在机械手内部的第一摄像头和与连接箍相连的第二摄像头;第二摄像头的底部与第五舵机相连接, 并且第二摄像头的外部设有半球形防水透明罩;所述第一摄像头和第二摄像头的输出端分别与岸基设备的相应输入端连接, 第五舵机的控制端与岸基设备的输出端连接。

2 附图说明

图1是该机器人的主视图;图2是图1的局部剖视图;图3是图1的仰视图。图中:1.支架, 2-1.左压力克透明筒, 2-2.右压力克透明筒, 3.连接箍, 4-1.左舷直流减速电机, 4-2.右舷直流减速电机, 6-1.正螺旋桨, 6-2.反螺旋桨, 7.整流罩, 8.沉浮电机, 9.附带螺旋桨, 10.储物台, 11-1.大臂, 11-2.小臂, 12.隔水密封筒, 13.第一舵机, 14.第二舵机, 15.第三舵机, 16.夹持爪, 17.第一摄像头, 18.半球形防水透明罩, 19.第二摄像头, 20.第四舵机, 21.第五舵机。

3 具体实施方式

下面结合附图和具体实施方式对该机器人作进一步详细的说明。

如图1所示为该机器人的主视图, 一种基于图像处理的自主控制水下机器人, 包括水下机器人主体、通过电缆与水下机器人主体进行通讯的岸基设备以及设在水下机器人主体上的驱动装置、矿石采集装置和信息采集装置;其中, 驱动装置接收岸基设备的控制信号, 并驱动对应的电机, 控制其转动状态和速度;矿石采集装置接受岸基设备的控制, 实现水下物块的采集、移动、搬运、定点投放、卸下等工作;信息采集装置将采集到的矿石采集装置与水下物块的位置视频信号, 通过电缆传回岸基设备, 操作者可根据接收到的视频信号, 实时改变水下机器人本体的运动姿态。

图1中, 上述机器人主体包括支架1、与支架1固定连接的连接箍3。

如图2所示为图1的局部剖视图, 上述驱动装置包括左舷直流减速电机4-1、右舷直流减速电机4-2、沉浮电机8、正螺旋桨6-1、反螺旋桨6-2和附带螺旋桨9;左舷直流减速电机4-1、右舷直流减速电机4-2和沉浮电机8分别通过联轴器与正螺旋桨6-1、反螺旋桨6-2和附带螺旋桨9连接;当岸上操作者给驱动装置发出信号时, 驱动装置驱动对应的电机并控制其转动状态和速度, 其中左舷直流减速电机4-1、右舷直流减速电机4-2可以实现机器人的前进、后退和左右转向动作;沉浮电机8可以实现机器人的上升与下潜。

如图3所示为图1的仰视图, 上述矿石采集装置包括与连接箍3相连的储物台10和机械臂、与机械臂连接的机械手;所述机械臂包括大臂11-1、与大臂11-1相连的小臂11-2、设置在大臂11-1内部的第一舵机13、设置在小臂11-2内部的第二舵机14;所述机械手包括第三舵机15和与第三舵机15相连的夹持爪16, 储物台10的底部设有第四舵机20;所述第一至第四舵机13-15、20的控制端分别通过电缆与岸基设备的相应输出端连接。

第一舵机13、第二舵机14分别控制大小臂实现屈伸, 第三舵机15通过连接杆件控制两个夹持爪的闭合, 从而实现物块的采集移动搬运、定点投放等高精度复杂工作, 机械手与机械臂配合将物块放到储物台10上, 当收集完毕后, 在合适的位置, 第四舵机20转动储物台将物块卸下。

图1中, 信息采集装置包括设在机械手内部的第一摄像头17和与连接箍3相连的第二摄像头19;第二摄像头19的底部与第五舵机21相连接, 并且第二摄像头19的外部设有半球形防水透明罩18;所述第一摄像头17和第二摄像头19的输出端分别与岸基设备的相应输入端连接, 第五舵机21的控制端与岸基设备的输出端连接。

在实际操作中, 操作者可以通过由飞行摇杆改装而成的控制系统、线缆与岸基系统的实时信息传递, 控制机器人的运动速度和倾斜角度, 其中机器人的运动方向与运动速度、摇杆的倾斜方向和倾斜角度成正比关系。机械臂的运动是由一个比例模型控制的, 机械臂的姿态与比例模型的姿态瞬时对应。机器人供电采用12V电源, 当有市电接口时可以用开关电源提供电力, 当户外移动式时, 可以用铅酸蓄电池提供电力。

4 结语

本设计方案很好地解决了同一从动轮机构, 既能实现两个方向自由转动, 又能在需要时实现单方向限制性转动的问题, 且该机构实现简单, 成本低廉, 面向市场需要。

摘要:本文所述水下机器人涉及水下机器人技术领域, 特别是一种基于图像处理的自主控制水下机器人。水下自动机器人是一种非常适合于水下搜索、调查、识别和打捞作业的既经济又安全的工具。由于水下环境恶劣危险, 人的潜水深度有限, 因此提供一种操作简单、结构精巧、机械手灵活的水下机器人已成为急需解决的问题。

关键词:图像处理,自主,水下机器人

参考文献

[1]陈璟.齿轮连杆机构的分析与综合[D].福州大学, 2004.

[2]钮志红.机构运动误差分析方法及其运用[J].现代机械, 1995, 1.

[3]张星.差动轮系在自调匀整系统中的应用与分析[J].西北纺织工学院学报, 1998, 4.

[4]李昌熙, 乔石主编.矿山机械液压传动[M].煤炭工业出版社, 1985.

自主机器人 篇6

自主式移动机器人系统是指能够根据指令任务及环境信息进行自主路径规划,并且在任务执行过程中不断采集局部环境信息,做出决策从而实现安全行驶并正确到达目标地点执行任务的智能系统[1],文中介绍了以单片机SST89E564RD为智能控制核心在一种轮式移动灭火机器人中的应用,该机器人智能控制系统利用超声传感器、光敏传感器、碰撞传感器采集外部环境信息,采用无线通信芯片PTR2000实现下位机移动机器人与上位机计算机之间的通信,从而实现现场信息的反馈和计算机控制命令的发送。

单片机SST89E564RD是一款带有闪存(flash)存储器的单片机,它将特有的超级flash技术和小扇区结构与AT80C51单片机内核相结合,其最大的特点是具有两块独立的片内小扇区闪存存储器,称为BLOCK0和BLOCK1,在BLOCK0中运行的程序可以对BLOCK1进行编程,在BLOCK1中运行的程序也可以对BLOCK0进行编程,同时还可以通过适当配置内部特殊功能寄存器,将BLOCK1映射到BLOCK0中,利用该特点再配以合适软件易实现芯片的自开发功能[2],它具有如下特点:(1)1 KB的片内数据RAM,双DPTR数据指针;(2)64 KB+8 KB的片内闪存存储器,具有在应用中编程和在系统中编程功能,不需要硬件编程器,可通过串行口实现用户代码升级;(3)5通道可编程计数器阵列;(4)9个中断源,中断级别可达4级,3个高电流驱动引脚,可直接驱动LED;(5)低EMI模式,可禁止(地址锁存)ALE输出时钟,超强抗干扰,可靠性更高。

上述性能是采用该单片机的主要原因。

1 硬件结构

控制器SST89E564RD主要用来产生2路PWM信号,以及对传感器信息进行处理,实现对小车的智能控制,并利用光电编码器检测电机转速;由于机器人的精确直线行走是很难控制的,本设计通过电机上的光电码盘实现机器人小车的闭环PID控制,从而解决了机器人直线行走的难题;采用16路超声传感器作为系统的避碰和简单测距,采用光敏传感器使机器人可以实现对光源的感知和寻找;采用碰撞传感器感知碰撞,使机器人能做出紧急处理;采用无线通信芯片PTR2000实现机器人与计算机的无线通信。

1.1 电机的PWM控制

单片机SST89E564RD的PWM功能是建立在标准定时器之上的,它具有5路PWM输出,该移动机器人只用两路PWM信号,分别控制移动机器人的2个驱动电机,通过改变占空比大小来控制电机驱动电压,从而达到改变电机转速的目的。如图1所示,电机驱动电路中采用L298驱动芯片,外接8个续流二极管来驱动直流电机。

1.2 超声传感器子系统

为减轻控制器SST89E564RD的负担,超声传感器系统由单片机AT89C1051控制,单片机AT89C1051是含有一个1 KB可编程E2PROM的高性能微控制器,它与工业标准MCS-51的指令和引脚兼容,因而是一种功能强大的微控制器,它对很多嵌入式控制应用提供了一个高度灵活有效的解决方案,单片机AT89C1051有以下特点:1 KB的E2PROM,128 B的RAM,15根I/O线,2个16位定时/计数器,5个向量2级中断结构,1个全双向的串行口,并且内含精密模拟比较器和片内振荡器,具有4.2~55.5 V的电压工作范围及24 MHz工作频率,同时还具有加密阵列的2级程序存储器加锁、掉电和时钟电路等。此外,单片机AT89C1051还支持2种软件设置的电源节电方式。空闲时,CPU停止,而让RAM、定时/计数器、串行口和中断系统继续工作;掉电时,保存RAM的内容,但振荡器停振以禁止芯片所有的其它功能直到下一次硬件复位。单片机AT89C1051控制超声波每60 ms发送一路,检测回波时间,并完成距离的计算,这样16路超声波循环检测一次约为1 s,在常温时超声波的速度约为344 m/s,这样就可以计算出障碍物的距离,最后将超声波传感器编号及距离信息传送给单片机SST89E564RD[3]。

超声波发射接收子系统如图2所示,单片机AT89C1051利用P1.0引脚向外发送40 kHz的脉冲信号,此信号作为4~16译码器74HC154的使能信号,引脚P1.1~P1.4作为译码信号,分别对应编号0~15的超声波传感器,此信号经过三极管9013放大后推动换能器产生40 k Hz的超声波信号。

LM567是一片锁相环电路,其5、6脚外接的电阻和电容决定了内部压控振荡器的中心频率f2,f2≈1/1.1RC,其1、2脚通常分别通过电容接地,形成输出滤波网络和环路单级低通滤波网络。2脚所接电容决定锁相环路的捕捉带宽:电容值越大,环路带宽越窄,LM567的工作电压为4.75~9 V,工作频率为0~500 k Hz,静态工作电流约为8 m A。

超声子系统基本功能概述如下:当接收器接收到超声波回波时,产生交流小信号,此信号经过LM358组成的2级放大电路后,幅值达到25 mV以上,当LM567的3脚输入幅度大于或等于25 m V,频率为40 kHz信号时,8脚由高电平变成低电平,此低电平信号被连接到AT89C1051的INT0引脚产生中断信号,AT89C1051在超声波发送时启动定时器,在INT0中断时关闭定时器,由此可以得到超声波的传播时间,并计算出障碍物距离。

应用本系统对所要求测量范围30~200 cm的平面物体做了多次测量发现,其最大误差为0.5 cm,且重复性好,如果加大超声波发射的驱动电流,接收部分放大电路再加一级,可以使检测距离增大到600 cm。

1.3 无线通信子系统

系统选用微小型、低功耗、高速率、19.2kbit/s的无线收发MODEM芯片PTR2000来实现机器人与计算机的无线通信,该芯片的工作频率为国际通用的数传频段433 MHz,采用FSK调制,可连接到计算机的RS232接口,系统采用的通信协议如下:

[开始字符][数据1][数据2][校验和][结束字符]

将无线通信收发模块PTR2000的DO、DIN引脚分别与单片机SST89E56RD的TXD和RXD相连,作为串行通信的通道,CS为PTR2000模块的频率选择信号,PWR为模块节能引脚,正常工作为高电平。TXEN是模块发射接收控制,由SST89E564RD的I/O口控制,PTR2000是收发一体的集成芯片,采用3.3 V供电,PTR2000作为发射端与PC机相连时,需要通过一个电平转换器(这里用MAX232)转换成RS232电平,对收发状态的控制,单片机SST89E564RD可以通过将输出口置1或清零,将无线通信收发模块PTR2000设置为发送或接收状态;对计算机串口的控制可通过VB的MSComm控件的RTSEnable属性实现。

1.4 光敏传感器子系统

机器人中所使用的光敏传感器为硫化镉光电管(CDS)。硫化镉光电管的电阻值随着照射在表面的光多少而变化,光线越强,电阻值越小。硫化镉光电管即光敏电阻,CDS的电阻值对较少的光线就能产生较大量的变化,是机器人系统较为常用的一种光敏传感器,在机器人车体上平均分布8个同样的光敏传感器,来感知机器人周围的光强变化,通过采集各传感器的输出电压,由软件算法确定机器人的路径,使机器人总是朝光线更强的方向行走,实现对光源的寻找。

将一个精密电阻与CDS器件串连,该电阻起分压作用,将CDS器件的电阻值转换成对模/数转换器件(ADC)适当的电压值,分压的输出给ADC,随后电压值转换成数字值,当更多的光线照在CDS器件上时,它的电阻和ADC上的输出的电压值都会减小,一般取这个精密电阻的阻值与ADC器件的最大电阻值相等。

2 软件编程

因为需要完成任务的差异,系统的软件设计有所不同,该移动式机器人系统的任务是在已知大小且光线较暗的封闭环境中自主寻找光源并执行相应的任务。

系统软件在启动后先进行系统的自检和初始化,然后进行路径的规划,采用先横向遍历整个环境,如果发现光源,机器人停止运动,等待命令;如果没有找到光源,再采用纵向遍历整个环境,如果发现光源机器人停止运动,还是没有找到,则显示出错信息,当超声波子系统发现前方有障碍物或机器人与障碍物发生碰撞时,将产生外部中断,中止程序的运行,控制器SST89E564RD将收到障碍物或碰撞信息,并由此重新规划路径,由此实现机器人的自主式移动[4]。

3 结语

该智能控制系统在自主式移动机器人中的应用是一个基于单片机SST89E564RD智能控制系统,它可以应用到很多场合,最典型的就是灭火,该智能控制系统不仅满足了移动机器人控制系统的要求,同时也为机器人的转型应用提供了良好的技术支持,在此基础上,可以加入各种先进的控制算法来实现移动式机器人的进一步智能化。

参考文献

[1]张力.现代电力电子技术基础[M].北京:高等教育出版社,2003.

[2]徐爱钧.智能化测量控制仪表原理与设计[M].北京:北京航空航天大学出版社,1995.

[3]丁镇生.传感器及传感器技术应用[M].北京:电子工业出版社,1998.

自主机器人 篇7

自主式水下机器人(Autonomous Underwater Vehicle,AUV)代表着未来水下机器人的发展方向,因而是世界各国研究的热点[1]。而便携式AUV由于使用方便,可执行环境评估、水文地理、辅助水道测量、港口安全、岩屑区域绘图等工作以及可以用在未来战争中[2],将是未来AUV发展的重点。

本文主要论述了便携式AUV控制软件的设计及其实现,该软件主要用于监视AUV在水下运行时的状态信息以及控制AUV的运行。AUV在水下运行时的状态信息包括位置信息、航向、舱内温湿度、推进器转速、舵的方向角以及在水面时GPS传感器数据等信息,该软件将这些信息显示到界面上最终实现对AUV的监控和导航。

1 便携式AUV系统简介

该小型AUV由两个密封舱组成,前舱安置了传感器系统,后舱安置了AUV推进器以及方向舵的控制系统。两个密封舱中间放置的一个垂直推进器用来控制AUV的上下运动,后舱安放了用于控制AUV水平方向的水平推进器和方向舵。系统搭载了AHRS、数字罗盘、GPS等传感器,这些传感器采集到的数据用于AUV的导航。AHRS传感器用来测量AUV的航向角、俯仰角、横滚角、3个方向的速度、加速度;数字罗盘测量AUV的航向角等信息控制软件对一串口进行操作,该串口连接与AUV进行通信的无线模块。将从无线模块接收到的数据经过惯性导航算法处理,根据协议将惯性导航算法处理结果发送到AUV,最终实现对AUV的控制。

2 串口通信

串口在做文件处理时,简单的应用可以采用查询方式或定时方式,复杂的可以采用事件驱动的方式。所谓事件驱动,即当串口有数据进入输入缓冲区时,自动执行接收程序。利用WinAPI读/写串口操作可以有同步方式与异步方式。所谓同步方式是指发出写命令时,直到有数据写入到输出缓冲区写函数才返回。异步方式的重叠方式是指发出写操作命令后,不管写操作是否完成,写函数马上返回,写操作在后台继续进行,写操作完成后通过某种方式通知调用写操作的线程。这样避免了主线程被挂起,提高了程序的工作效率[3,4]。

2.1 串口通信设置

在实现串口通信时,首先在界面上设置串口号、波特率、校验等信息。单击按钮打开串口,进入命令响应函数OnBtnOpen(),利用API函数打开并对串口进行配置[5,6]。最后使用API函数CreateThread创建一个线程。由于软件工作过程中需要传送的数据量不大,所以仅仅打开一个串口。

主线程打开串口具体流程图如图1所示。

在主线程中打开串口的代码如下:

m_hCom=CreateFile(m_port,GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_FLAG_OVERLAPPED,NULL)

在串口操作线程中使用API函数ReadFile用于读取串口数据ReadFile(hCom,buf,19,&Length,&Eol);而在该线程中向AUV发送控制指令时使用:

fState=WriteFile(m_hCom,buf,19,&m_bytes,&m_osWrite)

2.2 串口通信协议

串口通信必须遵守一定的通信协议,才可实现该控制软件与AUV的正常通信。串口通信数据格式如图2所示,图中Data0,Data1,Data2…代表一个字(2 B)。

发送或接收的一帧数据最长为19 B,Data0中第1个字节代表指令(0xA1)、请求(0xB2)或者正常应答(0xC3)等含义;Data0中第2个字节代表具体指令、请求何种信息或者某种信息的应答。Data1,Data2,…代表发送或者接收到的数据。开关机指令长度为19 B,第19字节控制8个继电器,1,0分别表示开、关第零位控制总电源。开机、关机指令前18 B分别是:

~A16613579BDF02468ACE13579BDF02468A

~A166DF9B5713CE8A4602DF9B5713CE8A46

开机指令的第19个字节根据需要选择相应的继电器开启或关闭;关闭指令第19个字节为0x00,所有的继电器关闭。

3 软件实现

3.1 多线程实现

一个进程可有多个线程,使用多线程可提高软件的执行效率。该控制软件共有3个线程组成,包括一个主线程、一个导航线程和在成功打开串口后利用API函数CreateThread[7,8]创建的一个串口操作线程(如图3所示)。

串口操作线程读取串口数据,并提取有效数据,接着利用函数PostMessage将有效数据分别传送到主线程和导航线程。主线程将有效数据根据协议进行解包并把数据包中包含的AHRS、数字罗盘、GPS等传感器和推进器、前舱环境参数等数据显示到界面上。当使用摇杆控制AUV的运行时主线程每隔0.5 s从USB接口接收数据,并转换成推进器转速以及方向舵的方向角信息,且将这些信息发送到串口操作线程写入串口。

在主线程中创建串口操作线程的代码如下:

hThread=CreateThread(NULL,0,ThreadProc,

(LPVOID)this,0,NULL);

在串口操作线程中将有效数据发送到主线程的代码如下:

PostMessage(*pDlg,WM_MYMSG1,

(WPARAM)buf,(LPARAM)Length);

3.2 关键算法

由于惯性导航系统提供的位置估计精度会随时间而漂移,所以导航线程采用基于GPS/INS的组合导航[9]算法,用GPS辅助导航,即用GPS信息辅助修正惯导系统的输出,包括航向角和速度。对AUV的航向角信息修正是通过经典的PID控制算法来实现的,如图4所示。

Ji-1,Ji为AUV的2个节点,AUV即A点从Ji-1到Ji点运行。设正北方向矢量为ek=(1,0),根据图5按照下式可计算出角度θ。角度θ计算公式为:

θ=AJie|AJi||e|=(Jix-Ax,Jiy-Ay)(0,1)(Jix-Ax)2+(Jiy-Ay)202+12=Jiy-Ay(Jix-Ax)2+(Jiy-Ay)2

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

4 控制软件界面及实验结果

4.1 软件界面

本文设计的软件界面左侧上半部分和右侧主要实现对AUV的控制,界面左侧中下部分的3个仪表盘和TAB页控件显示AUV的各个状态信息。

单击开机、关机按钮将实现AUV的开启与关闭;单击询问AUV按钮,此时应答情况为AUV存在,表示监控软件与AUV的通信正常,否则应该检查无线模块和AUV。单击前舱参数、GPS经纬度、GPS时间、推进器状态、AUV航向角等按钮将持续获得AUV相应的信息;步进电机控制按钮用于实现方向舵的调整,进而实现AUV方向的调整。为了防止步进电机失步,这里还特意设计了步进电机的微调按钮,目的是在步进电机失步时将方向舵调整回原位置。

该控制软件还以仪表盘的方式显示推进转速、罗盘、温、湿度等信息。

以速度仪表盘为例,当从串口接收到的数据中提取出水平推进器或垂直推进器速度信息时,将速度信息存放到成员变量m_Spd1或者m_Spd2。利用API函数得到控件IDC_STATIC_SPD的区域坐标rect2,调用API函数InvalidateRect(&rect2)重绘,将进入函数CDspsockDlg::OnPaint()重绘。利用MFC中的函数Pie,Ellipse,SetBkColor,TextOut[10]画出仪表盘背景。最后通过下列两个公式将速度值转换成对话框上的坐标值,调用函数画一条连接该区域中心位置到该点(a1,b1)的直线[11],最终实现仪表指针随速度值的变化。坐标(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在水平方向运动垂直方向静止。

5 结 语

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

摘要:介绍了用于对20kg级便携式AUV的运行状态进行控制的软件设计以及实现。该软件是基于MFC对话框运行于Windows操作系统下的程序,使用了多线程编程技术和串口通信技术。串口操作线程用于向串口读取或写入数据,并且在处理后把最终结果发送给主线程和导航线程。在主线程中将数据显示到界面上,在导航线程根据导航算法计算出用于导航的数据并写入串口以控制AUV的运行状态,包括AUV上浮、下潜、前进、后退、左转弯、右转弯。实验结果表明,该软件达到了预定效果。

关键词:便携式AUV,多线程,串口通信,MFC

参考文献

[1]王璐,蔡自兴.未知环境中移动机器人并发建图与定位的研究进展[J].机器人,2004,26(4):380-384.

[2]徐玉如,庞永杰,甘永,等.智能水下机器人技术展望[J].智能系统学报,2006(1):9-16.

[3]龚建伟,熊光明.Visual C++/Turbo C串口通信编程实践[M].2版.北京:电子工业出版社,2007.

[4]李日云,王来禄,刘汇江.利用Win32API通信函数实现串口通信[J].地球科学与环境学报,2004,26(3):61-63.

[5]吕浩勇,余启港,董元和.Windows多线程同步技术研究[J].计算机与现代化,2006(10):86-89.

[6]JEFFREY J,CHRISTOPHE N.Windows核心编程[M].葛子昂,周靖,廖敏,译.北京:清华大学出版社,2008.

[7]候俊杰.深入浅出MFC[M].武汉:华中科技大学,2001.

[8]张筠莉,刘书智.Visual C++实践与提高:串口通信与工程(应用篇)[M].北京:中国铁道出版社,2006.

[9]秦永元.惯性导航[M].北京:科学出版社,2006.

[10]孙鑫,余安萍.VC++深入详解[M].北京:电子工业出版社,2006.

上一篇:大数据的信息力量下一篇:Excel逻辑函数