范文一:水面机器人:水面清洁新利器
2016-01-11 科学网
①风光互补水面机器人
②水面污染物自动清理机器人效果图
③溢油自动去除水面机器人效果图
■本报记者 沈春蕾
日前,中国科学院合肥智能机械研究所(以下简称智能所)纳米材料与环境检测研究室研发出“风光互补”自主式水面机器人。研究室副主任余道洋告诉告诉《中国科学报》记者:“这款水面机器人的动力系统、自动控制、通讯数据传输以及智能决策等技术水平达到了国内领先。”
风光互补动力
目前,国内外水面机器人的主要用途有水采样及水质监测、水下地貌测绘和水文测量、水面垃圾清理、巡逻及救援等。
余道洋介绍,水面自动清洁机器人由水面漂浮物自动回收装置和水面机器人组成,主要应用于海洋、湖泊、河道、滩涂,景区内的湖泊、池塘的固体垃圾、浮萍等清理以及危险区域进行远程作业。相对于无人船,水面机器人的关键技术是动力系统、推进系统、自动控制和智能决策等。
已经面世的“领航者”号无人船处于国内民用水面机器人领先水平。该无人船融合船舶、通信、自动化、机器人控制、远程监控、网络化系统等技术,实现了自主导航、智能避障、远距离通信、视频实时传输和网络化监控等功能。
然而,续航动力是束缚水面机器人发展的一大技术难题。余道洋指出,现有的垃圾清理水面机器人多数都是小型船体,清理的垃圾有限,采用电池供电,动力不足。比如,全自动水面保洁船最多清理1立方米小型垃圾,最长巡航8小时。
纳米材料与环境检测研究室研发的水面机器人除了具备人工智能等功能外,首创风力和太阳能发电动力技术,动力来源于大容量电池、风力和太阳能发电混合电源系统,解决了水面机器人长时间持续巡航的动力问题。
“我们的水面机器人采用风光互补动力,基本上不需要充电即可连续巡航。在此基础上研发的垃圾清理无人船采用抓捕式垃圾清洁方式,各种水面漂浮物、蓝藻等均可以清理,实用性更强,使用更方便。”
水质检测采样
余道洋称,国内现有的水面机器人一般只能在线检测常规水质的五类参数指标,并且须把水样采集好后再到实验室去检测,很难全面检测水中有机物、营养盐和重金属,因此无法实现水中重金属等重要污染物的原位和实时检测。
“另外,现有技术一般只能检测水域的浅层水,无法检测水域中不同深度层面的水质立体断面污染分布状况。”纳米材料与环境检测研究室以水面机器人为平台,结合研制的新型小型化重金属检测仪器、不同深度水质自动采样装置以及水质原位在线检测装置,实现了水质立体断面的原位和实时检测与污染状态分析。
“我们利用水面机器人平台,搭建多种自主研制的水质监测仪器,小型化后集成到水面机器人平台之中,形成水质监测移动实验室,可以取代目前常用的水质固定监测站或者监测浮标,实现任意水域、全天候、原位和低成本水质监测与预警,大幅度缩减建设监测站和浮标的费用。”
纳米材料与环境检测研究室还采用视觉和雷达双模目标识别方法,在此基础上自主开发了水面目标的路径优化和自主避障等智能算法,攻克了水面机器人的全局路径规划和局部实时避障难题。另外,融合了多模导航系统、三维电子罗盘、驱动器自动调速控制技术、高带宽无线数据实时传输技术以及人工智能等技术,解决了水面目标自动控制问题。
清理水面油污
2010年,位于墨西哥湾的一处钻井平台发生爆炸并引发大火,沉没的钻井平台每天漏油达到5000桶,并且海上浮油面积以每日9900平方公里逐渐扩张,造成的经济损失达数千亿美元。
同年,位于我国辽宁省大连新港附近的原油罐区输油管道发生爆炸,造成原油大量泄漏并引起火灾。
如今,在国内各港口、码头和溢油应急中心,使用吸油拖栏、静态收油系统、收油网等溢油回收设备已相当普遍。
船用溢油回收系统是当前国内外自动化程度和回收效率较高的回收设备,但国内生产的船用溢油回收系统性能一般,而国外生产的船用溢油回收系统则有造价高、船体大、系统结构复杂、操作专业等问题。
余道洋指出,现有的物理吸附原理的溢油回收方法相对简单,但是普遍受制于回收材料的吸附效率低、一次性使用和自动化程度低等缺陷而难以推广。
为此,纳米材料与环境检测研究室解决了两个关键问题:一是研制高效、低成本和可重复使用的有机硅修饰的超疏水和亲油轻质材料,解决了溢油吸附材料问题;二是研制出水面油污清洁机器人,自动识别溢油水域、自主巡航、自动清洁和回收溢油,提高效率、节约成本。
点击展开全文
范文二:中科院自主研发“风光互补”水面清洁机器人
记者8日从中科院合肥物质科学研究院获悉,该院智能研究所刘锦淮研究员课题组研发出一种新型混合动力水面自动清洁机器人,可广泛应用于各种海洋、湖泊、河道、滩涂等水面的固体垃圾、浮萍、油污清理,并可赴危险区域进行远程作业。
专家介绍说,这项科研成果的全名为“风光互补”自主式水面机器人,相对于此前广泛使用的水面无人船,该机器人包括几大新的核心技术:
动力来源于大容量电池、风力和太阳能发电混合电源系统,解决了一般性水面机器人长时间持续巡航的动力问题;
采用视觉和雷达双模目标识别方法,自主开发了水面目标的路径优化和自主壁障等智能算法,解决了全局路径规划和实时避障问题;
融合了多模导航系统、三维电子罗盘、驱动器自动调速控制技术、高带宽无线数据实时传输技术以及人工智能等技术,解决了水面目标自动控制问题。
中科院智能所专家还搭建多种自主研制的具有行业领先水平的水质监测仪器,并小型化后集成到这一新型水面机器人平台之中,形成水质监测移动实验室,可以取代目前常用的水质固定监测站或者监测浮标,实现任意水域、全天候、低成本水质监测与预警。
据了解,目前,中科院智能所已完成这款机器人的样机和相关试验,并积极推进产业化进程。
范文三:新型高效水面自动清洁机器人问世
2015.12月7日从中科院合肥研究院获悉,该院智能研究所课题组近日研发出新型水面自动清洁机器人样机,并积极推进其产业化进程。
水面自动清洁机器人由水面漂浮物自动回收装置和水面机器人组成,动力来源于大容量电池、风力和太阳能发电混合电源系统。研发人员采用视觉和雷达双模目标识别方法,自主开发了水面目标的路径优化和自主避障等智能算法,解决了水面机器人的全局路径规划和局部实时避障问题。水面机器人融合了多模导航系统、高带宽无线数据实时传输技术以及人工智能等技术,可自动控制水面目标。中科院合肥研究院的科学家们还计划将多种自主研制的具有行业领先水平的水质监测仪器小型化后集成到水面机器人平台之中,形成水质监测移动实验室。该实验室可以取代目前常用的水质固定监测站或者监测浮标,实现任意水域、全天候和低成本水质监测与预警,大幅度的缩减建设监测站和浮标的费用。
范文四:遥控式多功能水面清洁机器人
遥控式多功能水面清洁机器人
程仁政 孙亚军 程翔 王少锋 张迪 绳荣金 侯启岳
:滨州学院,山东滨州,256600:
摘 要
本文设计了一种全新概念的遥控式多功能水面清洁机器人,该机器人由遥控系统、传动系统、垃圾收集系统、太阳 能自动跟踪控制系统、撒饲机、船体六部分组成,其特殊的动力轮可实现水陆两栖式运动,通过遥控器可远程遥控机 器人迅速移动到指定的水面区域完成垃圾的自动收集、打包、卸载等任务,外置自动撒饲装置可进行鱼食播撒,并采 用混合动力设计,太阳能自动跟踪模块实现对太阳能的高效利用。
关键词:机器人,水面清洁,水陆两栖
0 引言 太阳能自动跟踪控制模块可分为太阳能板、舵机、单
片机、光敏电阻等; 撒饲机可分为舵本文对遥控式多功能水面清洁机器人的机械结构和
机、单片机等。 控制系统进行了大胆设计。先利用 solidworks 软件进行实
体建模:图 1:,在电脑上绘制机器人的机械结构框架并
模拟其功能,然后根据 3D 设计图购买材料、加工零件,
继而组装各个功能模块,最后完成整个机器人的组装。
图 2 水中作业实物
1.2 传动系统
传动系统分为:蓄电池、12V 电机、同步带轮、同步
带、链轮、链条、齿轮、水陆两用轮等,电机提供动力, 图 1 3D 设计构想图 利用新式的同步带轮与同步带传动,将扭力和转矩经同步 1 结构设计 带传送给左右水陆两用轮,实现船体的前进后退,既保证 1.1 模块组成 了传动效率又尽量减轻了船体的重量。 机器人由遥控模块、传动模块、垃圾收集模块、太阳 1.3 垃圾收集系统能自动跟踪控制模块、撒饲机、船体六部分组成:图 2:。 垃圾收集系统分为:旋转聚集器:图 3:,旋转收集器、 遥控模块分为遥控接收 / 发送模块、AVR 单片机等; 垃圾箱、齿轮、同步带。 传动模块分为蓄电池、12V 电机、同步带轮、同步带、 旋转聚集器位于船体前部,分左右,由齿轮的外啮合 链轮、链条、齿轮、水陆两用轮等; 使左右旋转聚集器旋转方向相反,高效收集水面垃圾。其 3:垃圾收集模块分为旋转聚集器、旋转收集器;
本项目为国家级大学生创新训练项目,项目编号:201310449115。
36 机器人技术与应用 2014 5
技术应用 Technique anapplicationd
框架由较轻的铝合金管支撑,变形链接处用较紧的销连接, 与单片机 I/O 口相连,根据单片机 I/O 口接收到的电平高 铝合金管上有传动的同步带轮,其保证聚集器的机械运动。 低变化编写程序,运用驱动控制电机正反转,来实现船体
由于船体分为左右两部分,在船的中间有足够的空间 的进退与转向,例如,按下遥控器的 W 键船体将向前运动, 来保证垃圾通过旋转聚集器汇聚到达旋转收集器附近,然 按下 S 键船体将后退,按下 A 键船体将利用左右两轮的
差速向左转向,按下 D 键船体将右转。 后旋转收集器转动将垃圾拨到垃圾桶里。
3 实物操作
3.1 遥控收集垃圾
遥控器发送信号给单片机,单片机发出信号控制电机
运转,使机器人到达指定区域,电机提供的动力由皮带传
送给左右旋转聚集器,旋转聚集器位于船前侧,齿轮的外
啮合使左右旋转聚集器旋转方向相反,船前面的垃圾由旋
转聚集器收集到船体中间,然后旋转收集器转动将垃圾拨
到垃圾桶里。
3.2 陆上行走
该机器人要用一种全新的水陆两用轮设计,使机器人
图 3 旋转聚集器 既可在陆地上行走,也可在水中实现拨水功能:图 2:,
其前侧的旋转聚集器可实现变形,成为陆地行走时的前轮
:图 4:,在位于后侧的水陆两用轮的驱动下实现陆上行走。
:如图 5:
图 4 轮子模式
2 电气控制设计
2.1 控制系统
控制模块主要包括 AVR 单片机、遥控模块、电机驱
动等元器件。
2.2 太阳能自动跟踪系统
运用光敏电阻因光照强弱其电阻值会发生变化这一 图 5 陆上行走模式 原理,再利用 AD 转换,将电阻变化的模拟量转化为单片 4 结语 机可识别的数字量,单片机根据返回的数字量大小调节舵 市面上有不少的大型人工清洁船,其功能相对单一, 机转向,控制太阳能电池板的角度,使其光照接收面积最 大多数仅仅是收集垃圾,不能实现在陆地上行走和太阳能 大,可最大限度地为蓄电池充电。 充电。因此,遥控式多功能水面清洁机器人与之相比有极 2.3 遥控水上行走转向大的优势,该理念可以减少运输成本,节省能源,具有良 采用 12V 电机作为动力源,遥控接收模块相应引脚 好的应用前景。
参考文献
[1] 陈恳,杨向东,刘莉等 . 机器人技术与应用 [M].北 京 : 清华大学出版社 ,2006:6-7.
[2] 孙光伟 . 仿人机器人控制系统设计与稳定性研究 [D]. 西华大学 ,2010.
[3] 王琪民 . 微型机械导论 [M]. 合肥 : 中国科技大学出版社 ,2003.
[4] 任芸丹 , 王翔〃多智能体遥控船绿色性评价方法的应用研究 [J]〃机械设计与制,造 2011(7).
[5] 于运满 . 精密间歇机构 [M].北 京 : 机械工业出版社 ,2000.
Robot Technique and Application2014 5 37
范文五:水面清洁机器人伺服系统及视觉信息预处理
水面清洁机器人伺服系统及视觉信息预处理
吉林大学硕士研究生论文
提 要
自主式水面清洁机器人就是能够自己发现并清理漂浮污染物的智能型环 保设备。大体可以分为五个部分:障碍探测传感器,船体,CCD视觉及平衡 调节系统,动力驱动系统,垃圾收集仓。目前,难点主要集中在几个关键技 术领域:机器人视觉信息的实时处理技术,机器人视觉伺服跟踪系统,图像 理解,路径规划等。
针对机器人所处环境为非结构空间环境,视觉信息量大,实时性要求高 的特点,视觉系统采用多 FPGA和多单片机分工协作提高图像采集处理的能 力。在图像预处理部分,重点讨论了预处理的 FPGA实现:采用中值滤波器 作为边缘检测前预滤波器;针对单方向边缘检测只对检测方向效果好,而对 另一个未检测方向效果不理想的情况,采用了 X和 Y方向同时检测的方法, 这种方法用硬件实现结构不是很复杂,但 FPGA软件较为复杂,检测效果好, 边缘线清晰。另外,为达到场同步处理要求,采用两块 FPGA和两块 RAM 组成流水线工作方式以提高处理速度。
为了调节因水面波浪、风力,甚至人为的干扰作用造成的视觉系统不稳 定性,采用了三个步进电机分别控制 CCD摄像头三个独立转动自由度,步 进电机运转由单片机控制。中央控制器根据 CCD相隔 0.2秒取进的两幅图
像
信息分别算出摄像头轴向转角偏差?仰俯角偏差和水平面内转角偏差,然后
由单片机控制步进电机旋转的角位移?方向和速度,纠正这种偏差。这样连
续不断地调整可以将摄像头保持暂稳平衡。
另外,还探讨了一种新型处理系统-----基于邻域图像帧存储体结构并行
处理系统。这种并行处理系统较为成功地解决了单点或单行的串行数据流影
响处理速度的“瓶颈”问题,真正做到数据并行?处理并行。
主题词:自主式智能机器人,非结构环境,中值滤波,边缘检测,伺服随
动平衡,并行处理系统。 2吉林大学硕士研究生论文
目 录
第一章 水面清洁机器人总论????????????.?????.1 ?1.1 引言????????????????????????1 ?1.2 水面清洁机器人系统概述???????????????2?1.2.1 结构和功能简介..??????..??????????.2?1.2.2 系统运作原理??????????????????.6
?1.3 研究的难点及解决办法????????????????6?1.3.1 研究的难点及目前水平??????????????.6?1.3.2 论文提出的解决方法???????????????.7
第二章 水面清洁机器人伺服随动系统?????????????..9 ?2.1 机器人伺服随动系统结构???????????????9
?2.2 单片机控制步进电机恒速运转程序???????????12
?2.3 单片机控制步进电机变速运转程序???????????17 ?2.4 单片机与中央控制器通讯???????????????22 ?2.5 步
进电机的角位移和转向求取?????????????23?2.5.1 水岸线拟合和 CCD轴向转角 γ的调整???????23
?2.5.2 水平面内转角 α和垂直面内转角 β的求取??????.30
?2.5.3 CCD转角与步进电机角位移换算??????????34
第三章 水面清洁机器人视觉系统???????????????..35 ?3.1 水面清洁机器人视觉系统结构?????????????.36 ?3.2 水面清洁机器人视觉系统预处理????????????.37
?3.2.1 中值滤波的统计特性???????????????..37
?3.2.2 边缘检测的 FPGA实现?????????.?????41
?3.2.2.1 单方向边缘检测???????????????42
?3.2.2.2 两个方向边缘检测??????????????46
?3.3 本章小结??????????????????????.53
第四章 邻域图像帧存处理系统??????.??????.????54 ?4.1 邻域图像帧存储体结构原理?????????????54 ?4.2 邻域图像并行处理机的实现?????????????57
第五章 结 论?????????????????..??????63? 3吉林大学硕士研究生论文
参考文献??????????????????????????..65
致 谢???????????????????????????..67
摘 要???????????????????????????..?
Abstract????????????????????????????4吉林大学硕士研究生论文
第一章 水面清洁机器人总论
?1.1 引言
从机器人诞生到本世纪 80年代初,机器人技术经历了一个长期缓慢的发 展过程。到了 90年代,随着计算机技术、微电子技术、网络技术等的快速
发
展,机器人技术也得到了飞速发展。近年来,人类的活动领域不断扩大,机 器人应用也从制造领域向非制造领域发展。像海洋开发、宇宙探测、采掘、 建筑、医疗、农林业、服务、娱乐等行业都提出了自动化和机器人化的要求。 这些行业与制造业相比,其主要特点是工作环境的非结构化和不确定性,因 而对机器人的要求更高,需要机器人具有行走移动的功能,对外感知能力以 及局部的自主规划能力等,这是机器人技术的一个重要发展方向。另外,由 于在这种环境下工作,机器人视觉图像信息量大,而且实时性处理要求高, 使得整个机器人视觉系统设计变得复杂,因此,机器人视觉系统的研制也是 一个急待解决的问题。
近年来,随着工业和其他服务行业的蓬泼发展,人们在重视其经济效益 时却往往忽略了他们对环境的污染,特别是江河湖泊上的垃圾漂浮物污染。 这种水上污染对人类的水源够成很大的威胁,如果不及时清除,其将进一步 恶化,最终反过来影响经济的发展和人类的生存健康。海洋上远洋运输船泄 露的石油和过往船只排放的漂浮物急剧增加,海洋生态平衡遭到严重破坏, 很多海滨浴场都可看见石油污染的痕迹;江河漂浮物污染也很严重,被迫用 人工清理上游漂来的大量污染物。湖泊尤其是旅游胜地和市内湖泊,更是无 法逃避漂浮物污染的厄运,举目可见各种日常消费品的包装物在湖面上漂
浮。
污染的加剧也唤醒了人们的环境意识,水源是人类赖以生存的重要自然资源,
因此为了自身及子孙后代的健康发展,人们强烈要求根治水源污染,还我净
水资源。
水面污染源在短期内不可能有大的改观,因此水面污染的治理也是一项
艰难的长期任务,是全人类必须面对的共同问题。用人工清理水面漂浮物只
是权益之计,有些危险水域人无法工作。很多发达国家把着眼点放在了二十
一世纪,致力于水面污染治理设备的研究。如石油清理设备,但只是用于大
量泄露石油的清理。目前,我国研制清洁水面漂浮物的设备还未见报道,国 5吉林大学硕士研究生论文
外研制的也不多,但价格昂贵,而且实现的功能也不尽人意,这对于地域辽
阔的国家不太现实,因此,开发一种性能优良,价格便宜,操作简单,使用
安全的自主智能式水面清洁机器人已成为一种必要,而且有较好的市场前景。
尽管如此,研制这种自主式机器人还面临着许多问题。如非结构空间环境的
理解和实时性处理等,只有这些问题的真正解决才能将机器人从实验室研制
水平转到生产实际应用中去。
?1.2 水面清洁机器人系统概述
?1.2.1 结构和功能简介
水面清洁机器人大体可以分为五个部分(参见图 1.1及图 1.2):障碍探
测传感器,船体,CCD视觉及伺服随动平衡系统,动力驱动系统,垃圾收集
仓。现将各部分功能综述如下:
1.障碍探测传感器位于设备主体前下方,装备具有触觉功能的探测 头,防止主体与岩石或其他非漂浮物体相撞;
2.船体 主体由双体船构成,由于船体前进和两驱动叶轮的转动,造成 两船体中间水流速度速度相对向后,漂浮污染物随水流由船前方经由两船体 中间进入后方污物仓,完成污物收集;
3. CCD视觉及伺服随动平衡系统 为了保证 CCD视觉系统工作稳定性, 由三个步进电机分别控制 CCD摄像头三个独立转动自由度,根据 CCD指示 的水平角?俯仰角和轴向转角偏移量分别进行修正,使 CCD始终处于相对 平稳状态;同时由步进电机带动 CCD在水平面内转动一定的角度,可以得 到同一物体的两幅不同图象,由此来测量距离;根据探测到的信息推测出是 否为漂浮物以及漂浮物的大小与距离,由中央控制器作出是否收集的决定以 及收集的最佳路径;能判断出污染物密集区,识别湖水与湖岸及其他固定物; 4.动力驱动系统 水面清洁机器人的动力源为蓄电池,由两叶轮转动方 向不同来调整前进方向;
5.垃圾仓 暂时存放垃圾。
此外,水面清洁机器人还具有以下功能:
1)配备风向标,能够根据风向判断出漂浮污染物密集区;
2)为了节省能源,顺风航行时,利用船帆;逆风时,收起帆;3)电源测试功能,
每隔一定时间对电源电压进行测试,若低于一定值,6吉林大学硕士研究生论文 即自动返回定居点充电;4)可以预先设定返回时间,到达预定时刻后,由定居
点发出返回兼导向
信号,指引其返回固定地点。
5)具有自主学习功能,能够通过传感器探测到的环境信息,建立工作环 境的模型,而且当局部发生改变时,能够重新学习,修改原来的整体模型。? 7
吉林大学硕士研究生论文8
1. 障碍探测传感器 2.船体 3.CCD视觉及伺服随动平衡系统 4.动力驱
动系统 5.垃圾收集仓
图1.1 水面清洁机器人总体结构(主视图) 吉林大学硕士研究生论文 图1.2 水面清洁机器人总体结构图 (左视图) 9吉林大学硕士研究生论文 ?1.2.2 系统运作原理
如图 1.3所示,水面清洁机器人系统运作框图:
CCD图像输入 数字化 图像分割
图像预处理特征提取
执行机构 驱动单元
中央控制系统
模式匹配
图像理解人机交互图1.3 水面清洁机器人系统运作框图
通过以上系统框图可以看出:整个机器人工作是靠一个大的封闭环系统 进行的。在这个封闭环系统中,中央控制系统是整个机器人的神经中枢,它 协调着整个机器人的运作。 CCD摄像头将执行机构执行的结果反馈回机器
人
视觉系统,视觉系统将当前情况送中央控制器,中央控制器根据当前情况与 以前情况相比较的结果,不断调整执行命令,使得整个机器人正常地工作,
完成既定的任务。
?1.3 研究的难点及解决办法
?1.3.1 研究的难点及目前水平
水面清洁机器人技术涉及运动学与动力学理论,机械设计与制造技术, 控制理论,电动伺服随动系统,机器人视觉技术,传感器技术,电子通信技 术等。目前,水面清洁机器人船体机械部分已经做出,难点主要集中在几个 关键技术领域的研究与突破,这些关键技术包括:机器人视觉信息的实时处 理技术,机器人视觉伺服跟踪系统,图像理解等。我现在主要分析两个方面: (1) 机器人视觉信息的实时处理技术
由于机器人获取外界环境信息主要靠视觉系统,能否及时将获取的信息 处理掉并传送给决策系统作决策直接关系到机器人任务的执行好坏。这就要 求机器人快速处理由 CCD摄像头进来的图像信息,这种图像信息量大,实 时性要求高,而且机器人所处环境不可预测,各种干扰因素多(比如波光反
10吉林大学硕士研究生论文
射,光照不均匀等),这使得整个视觉系统设计变得复杂,寻求一种高效简洁 的设计方法是机器人视觉系统的一项关键技术。目前,许多机器人视觉系统 都采用性能良好的硬件和辅之以高效的软件,但它们都是针对特定的工作环 境(如结构环境)和某些特殊要求场合,局限性很大,通用的方法还没有。 另一方面,它们采用的硬件结构复杂,成本造价高,不适宜在一般的生产应 用中推广,属高消费产品。针对水面上特殊非结构空间环境的视觉系统迄今 为止还没有出现,因此其研制的难度就可想而知了。
(2) 机器人视觉伺服跟踪系统
机器人视觉伺服跟踪系统控制着机器人视觉系统的运动,而视觉系统稳 定与否直接关系着获取信息质量的好坏,甚至能否获取信息,跟踪目标。由 水波、风力,甚至人为的干扰作用或其他客观因素造成船体的颠簸、偏转等, 这给视觉系统带来了不稳定平衡,因此探索一种视觉伺服跟踪系统来解决这 种视觉系统不稳定性成为一种必要,为视觉系统提供一个相对稳定的工作环 境。在这些不稳定因素中,由风力引起的水波波浪是最为常见的,而波浪的 运动模型未知,大小方向也是未知的,这些可通过模型预测近似地得到其运 动规律,然后向电动伺服机构发送驱动命令,矫正视觉系统的自身位姿,以 达到近似平衡的目的。当然也可以用前馈控制的方法进行控制,这需要其他 传感器传来的环境信息,将这些信息送中央控制器决策,中央控制器通过单 片机向伺服电机发送驱动命令,最后摄像头再次将获取的目标信息返送回中 央控制器,中央控制器将获得的信息与前一时刻的位置比较判断,然后再向 电机发送驱动命令纠正误差,这样不断地调整可以将误差控制在某一个范围 内。其他的控制方式有最优控制、PID控制、模糊控制等。 ?1.3.2 论文提出的解决方法
本论文主要探讨的问题是机器人视觉系统的实时处理技术和伺服随动系 统。根据机器人所处的环境为非结构空间环境,视觉系统信息量大,实时性 要求高的特点,本人提出如下方法:
第一,采用多 FPGA和多单片机分工协作提高图像采集处理的能力,利 用 FPGA并行处理数字信号的快速性以及其自身设计修改的灵活性(可在线 修改),构成视觉系统图像处理部分。在图像预处理部分中,滤波采用中值滤 波的方法,边缘检测采用 X方向和 Y方向同时检测的方法,这种方法用硬件
实现结构不是很复杂,所需成本较低,但软件较为复杂。整个图像预处理都
11吉林大学硕士研究生论文
采用 FPGA实现。
第二,运用并行处理系统。本论文探讨的并行系统是基于邻域图像帧存 储体结构的并行处理系统,其最大的特点是处理结构和存储结构为同一结
构,
系统处理效率高。它是一种新型的数据存储结构,目前,这种方法的应用只 是处于初级阶段,对于复杂的图像处理则需要多 FPGA阵列和存储器阵列, 这样生产成本就大大提高了。
对于视觉伺服跟踪系统,则采用三个步进电机分别控制 CCD摄像头三 个独立转动自由度来实现,而步进电机的运动则由单片机控制完成。如果三 个步进电机的转速相同且为恒速,则用一块单片机就可完成。如果要求三个 步进电机的转速不同或者为变速运动,则必须用三块单片机分别控制三个步 进电机完成。至于步进电机旋转的角位移?速度和方向可由上位机中央控制 器发给单片机位移?速度和方向代码决定。中央控制器根据 CCD摄像头每 隔 0.2秒取进的相邻两幅图像,分别算出摄像头轴向转角偏差?仰俯角偏差 和水平面内转角偏差,然后再换算成步进电机的旋转步数并确定好回转方
向,
向单片机发送角位移代码和方向代码。速度代码由中央控制器根据各个电机 的特性和周围环境变化的快慢来确定。这样通过三个步进电机不断地调整控 制摄像头的位姿来保持视觉系统的相对平衡,为视觉系统提供一个相对稳定 平衡的环境,保证目标物体不“飞出”机器人视场以外。12吉林大学硕士研
究生论文
第二章 水面清洁机器人伺服随动系统
由于机器人获取外界环境和目标信息主要靠视觉系统,而视觉系统稳定 与否直接关系着获取信息质量的好坏,甚至能否获取目标信息,跟踪目标。 由于水面波浪、风力,甚至人为干扰的作用造成船体的颠簸、偏转等,这些 都给视觉系统造成了不稳定,因此很有必要探索一种伺服随动平衡系统来解 决这种视觉系统不稳定性,为视觉系统提供一种相对稳定的环境。在这些不 稳定因素中,由风引起的水波波浪是最为常见的,一般来说波浪振动的频率 不是很高,都在几赫兹之内,只要 CCD摄像头能在每隔 0.2秒以内,甚至更 短的时间取一幅图像并处理掉,然后快速向电动伺服机构发送驱动命令,在 步进电机本身响应频率又足够高的情况下,这伺服随动系统就能够矫正视觉 系统自身位姿,以达到近似平衡的目的。当然这也存在一些偏差,只有 CCD 摄像头不断地获取图像并且由前置处理部分快速处理掉,中央控制器不断地 与其前一时刻位置信息比较,然后根据这个偏差再向步进电机发送驱动命令 纠正,这样不断地调整可以将误差控制在某一个范围内。同时,这种伺服随 动系统也有跟踪移动目标物体的功能,保证目标物体在机器人视场以内。 ?2.1 机器人伺服随动系统结构
水面清洁机器人视觉伺服随动系统硬件结构由两部分构成:一是机械部 分,由机械传动减速和固定支架组成。二是电控部分,主要由控制 CCD摄 像头三个转动自由度的步进电机以及相关的驱动电路和控制电路组成。控制 步进电机由单片机完成,视觉前置处理部分由 FPGA完成。三个步进电机分 别控制摄像头仰俯运动图 2.1-3?摄像头的轴向转动图 2.1-1和水平面内
的
转动图 2.1-2。水平面内转动和垂直面内转动控制主要是为了摄像头能跟踪
目标物体,保证目标物体在 CCD视场中央部分,另外,水平面内转动单目
测距时还要用。轴向转动的控制主要是为了保证图像的匹配和三维重构以及
摄像头自身方位的确定,防止船体因水面波浪等原因而引起左右晃动?颠簸,
使得摄像头“晕船”,无法进行图像的模式匹配。? 13吉林大学硕士研究生论文
(一).机械部分。如图所示,分别为主视图和左视图:
1. 步进电机 a及其传动减速机构 2. 步进电机 b及其传动减速机构2. 步进电机 c及其传动减速机构 4. CCD摄像头 5. 船体 6. 固定支架 图 2.1 伺服随动系统结构图 14吉林大学硕士研究生论文 (二).电控部分。控制步进电机的单片机不能与电机驱动电路直接连接。
第一,单片机的 I/O口驱动能力有限,必须将输出信号放大才能接到步进电
机上。第二,单片机的工作电压为 5伏左右,而驱动电路上的电压可达几十
伏,电流也很大,这样驱动电路上的电压电流很容易返回单片机接口,烧坏
单片机。所以必须在单片机与驱动电路之间加一级光电隔离。步进电机的驱
动电路主要由三极管型光电隔离器和复合达林顿管 MC1413组成。其电路结
构如图2.2所示:
图2.2 步进电机控制电路结构图(三).步进电机的选择。本实验采用的是 Brother公司的4相步进电机,
工作电压为 18V,内阻为 180欧,步距角为 7.5?。由于控制水平面内转动的 15吉林大学硕士研究生论文
步进电机 b(如图 2.1)需要的力矩比其他两个大,所以采用功率更大的步进 电机。步进电机又称电脉冲马达,可按照输入的脉冲指令一步一步地旋转, 即可将输入的数字指令信号转化为相应的角位移。由于摄像头跟踪目标物体 要求角位移分辨率较高,根据步进电机本身的相数和带负载的能力决定步进 电机的工作方式采用 4相 8拍。控制步进电机的正反转是通过改变输入各
相
定子绕组的脉冲顺序来实现,即假定 A?AB?B?BC?C?CA?A??为正 向,则反向工作为 A?AB?B?BC?C?CA?A??(反相)。由于整个伺 服跟踪系统要求摄像头能快速跟踪物体,即电机的响应速度要快,而电机的 转速取决于其自身的工作频率,即单片机发给步进电机每一个脉冲的时间间 隔τ,如果这时间间隔越小,其工作频率越高,步进电机的转速越大,然而 这个时间间隔不能无限的小,当达到某一个极限值时,步进电机就响应不过 来,出现丢步,甚至“死机”不动的现象。因此步进电机响应的最高工作频 率成为本实验的一个瓶颈,其响应的最高频率大约在 600-700赫兹。步进电 机的转速公式为:
60 n
T ?N
式中: n?步进电机的转速(转/分);N?步进电机旋转一周需输出的字节数;T?
代码字节的输出变化周期。
由上式可以看出控制单片机输出代码字节的变化周期 T即可控制了步进电
机
的旋转速度。控制单片机输出代码字节个数即可控制了步进电机的旋转角
度。
?2.2 单片机控制步进电机恒速运转程序
由步进电机的转速公式可以看出影响转速的因素有两个:一个是步进电
机旋转一周需输出的字节数,这由步进电机本身的特性以及工作方式决定的;
另一个是代码字节的输出变化周期,就是单片机发给步进电机每一个代码的
时间间隔τ。通常改变转速是通过改变代码的时间间隔τ来实现的,而这时
间间隔用软件实现时是调用延时子程序或采用定时中断。单片机获取代码是
通过查表的方式来实现的,即先将各个电机的脉冲代码按照电机本身的相序
排列成顺序表,然后根据上位机发来的指令,是正转多少步还是反转多少步
来控制步进电机正反转,当然正反转也可直接调用正反转子程序来实现。控16吉林大学硕士研究生论文
制步进电机运转的单片机是通过串行口与上位机通信,上位机中央控制器向
单片机发送转速代码τ和正反转步数指令,单片机每隔 0.2秒由串行口中断
形式来接收这些指令控制步进电机运转。在单片机中断串行口服务程序中有
串行口接收数据标志位 20H.3,它主要是显示是否有上位机发给单片机新的
数据。在单片机控制电机主程序每次完成操作后必须将这标志位清零,单片
机控制的步进电机主程序开始就是查询是否有新的转速代码τ和正反转步数
指令进来,如果没有就等待再查询,直至单片机接收到新的数据为止。
假设 R2?R3?R4中分别存放着上位机发给单片机控制步进电机 a?b?
c运转的步数,而运转方向存放在 20H.0?20H.1?20H.2位单元中,高电平 为正转,低电平为反转。R5?R6?R7寄存器中存放着步进电机 a?b?c相 序表地址,也就是相序指针。由于各电机的旋转步数以及相序指针不一样, 故其正反转子程序不一样。这种不一样只是在存放相序地址的寄存器和控制 步进电机的 I/O口方面,所以下面各个电机的正反转一步子程序流程图只
须
写一种即可,其他两个都类似。延时子程序采用双重计数循环的办法,要改 成单循环计数的方法,只须将外循环次数令为零即可。延时时间的长短由内 外循环次数决定。本次实验是用一块单片机同时控制三个独立运转的步进电 机。原因有如下:
第一,本次实验目的是看单片机在接收到三个步进电机的旋转步数和方 向指令后能否在最短的时间内控制三个步进电机完成 CCD摄像头由一个位 置转到另一个位置,而这旋转过程中不需要三个步进电机同时完成操作。即 旋转步数最多的步进电机可能最后完成,其他两个可能提前完成。因此,单 片机控制三个步进电机完成 CCD摄像头由一个位置转到另一个位置的时间 由最后完成操作的步进电机运转的时间决定,它的旋转步数和转速代码τ的 大小决定着整个执行机构的完成一次操作的时间。
第二,用一块单片机控制比用三块单片机控制的成本低。但是当要求三 个步进电机的转速不一样时,用一块单片机则不能实现。因为普通的 MCS-51 单片机只有两个定时器,这样就不能实现三个定时延时的功能,而且多个定 时器中断同时使用会出现抢中断的现象,无法实现预定的功能。因此,在要 求三个步进电机的转速不一样和实现步进电机变速控制的场合下,必须用三
块单片机分别控制三个独立的步进电机,这样一块单片机就可独立控制一个 步进电机完成预定的功能。由于本次实验是用一块单片机控制三个步进电机,
17吉林大学硕士研究生论文
故三个电机的转速必须是一样,而且都是调用延时子程序来实现延时,延时 时间长短由转速代码τ决定。图 2.3是一块单片机控制三个步进电机流程
图。
开始
栈指针和各 SFR初始化CPU开放中断
定义串行口中断为唯一的中断源
送初始相位代码 7?R5?R5?R7电机相位初始化
否
检查串行口接收数据标志位 20H.3是否为“1”?
是 4
是
R2-10?否
否
是
20H.0是否为“1”?
调用电机 a 正 调用电机 a 反转一步子程序 转一步子程序 1
2
3 18吉林大学硕士研究生论文
24
1 3
是
R3-10?否是 否
20H.1是否为“1”?
调用电机 b反
调用电机 b正转一步子程序
转一步子程序
是R4-10?否是 否20H.2是否为“1”? 调用电机 c反
调用电机 c正转一步子程序
转一步子程序
调用延时子程序
假
R2-10 AND R3-10 AND R4-10真清除串行口接收数据标志位
一块单片机同时控制三个步进电机主程序? 19吉林大学硕士研究生论文
开始
否
R57?是
0?R5
R5+1?R5
根据R5查表取代码?P1口返回步进电机a正转一步子程序
开始否R50?是R5?0
R5-1?R5根据R5查表取
代码?P1口返回步进电机a反转一步子程序? 20吉林大学硕士研究生论文 开始
R1?外循环次数
A?外循环次数
A?A-1否A=0?是R1?R1-1
否R1=0?是返回双重计数循环延时子程序图2.3 一块单片机控制三个步进
电机程序流程图
?2.3 单片机控制步进电机变速运转程序
以上讨论的是步进电机的恒速运转情况。为了使步进电机在运行中不出 现失步现象,控制信号频率一般要小于步进电机的响应频率,在该频率以内, 步进电机可以任意启动?停止或反转而不发生失步,但这频率通常比较低。 在有些时候,步进电机走过的步数较多,这时要求步进电机能低速启动,高 速运转,再降低速度,最后停止。这就解决了快速而不失步的矛盾。由于步 进电机是变速运转,因此只能用一块单片机控制一个步进电机,而不能用一 块单片机同时控制多个变速步进电机。步进电机的延时方式可以采用定时器 中断方式或调用延时子程序方式。实现变速控制的基本思想就是改变控制信
21吉林大学硕士研究生论文
号的频率,即改变单片机发给步进电机脉冲的时间间隔τ的大小,就可改变 步进电机的转速。
假设一个步进电机的变速控制过程如图 2.4所示:L1~L3分别代表各个
不同运行阶段的步长(总的步数),f代表步进电机当前运行频率,f0为步进 电机的最高响应频率。从图中可以看出 L2段为恒速运行,L1段为加速运行, L3段为减速运行。ff0L1L2 L3 步数 图2.4 步进电机变速控制过程示意图 加(减)速控制过程可以预先确定其加(减)速的方式(例如直线方式 或指数方式等)和加(减)速的快慢,即控制信号的频率升(降)阶梯。本 次实验采用的是线性加(减)速方式。利用定时器 T0中断作延时,定时器 T0工作方式为 1,在加速阶段,定时器的初值由小变大,延时时间则由长变 短;在减速阶段,定时器的初值由大变小,延时时间则由短变长;在恒速阶 段,定时器的初值始终保持不变。不同阶段定时器 T0的初值采用查表的方 式获取,加速?减速?恒速分别各自作成一张表。正反转模型分别查正反转 相序地址表。运行方式(恒速“0”/变速“1”),变速方式(加速“1”/减速 “0”),恒速转向(正转“0”/反转“1”),加速转向(正转“0”/反转“1”), 减速转向(正转“0”/反转“1”)和程序运行结束标志(结束“0”/未结束 “1”)分别定义了自己的标志位。图 2.5是用一块单片机控制一个步进电
机
实现变速运转流程图。22吉林大学硕士研究生论文
主程序
设置标志位
设 T0初值指针
阶梯计数器赋值
阶梯步数赋值Y
N
转向标志是否为“0”?
置正转模型地址 置反转模型地址 设置 T0定时器CPU开中断 N
阶梯计数器是否为零?YN有程序结束标志?YCPU关中断程序结束
1
2? 23吉林大学硕士研究生论文 21
Y N恒速转向是否为“0”? 置正转模型地址 置反转模型地址 步数计数器赋值
N
步数是否为零? YCPU关中断 设减速标志
装入转向标志
设置程序结束标志
图2.5 单片机控制步进电机变速运转流程 图 2.6是定时器中断服务程序流程图: 中断服务程序
保护现场
124吉林大学硕士研究生论文 1
输出控制模型
模型地址加 1
Y
模型结束?N恢复模型首址
N变速?YN
阶梯步数为零?YY
阶梯数减 1后为零?N恒速步数减 1
阶梯步数赋值
更新 T0初值指针 T0赋初值N
Y
加速?
赋加速 T0初值 赋减速 T0初值
恢复现场
中断返回
图2.6 定时器中断服务流程 25吉林大学硕士研究生论文 ?2.4 单片机与中央控制器通讯
中央控制器采用 DSP。单片机与 DSP的通讯采用串行口中断,利用 DSP
自身带有的串行口资源。它连接简单,保密性强,不增加任何附加成本。单
片机串行口中断接收数据流程图如图 2.7所示。以上单片机都采用 MCS-51
系列单片机。
中断服务程序入口
保护现场
清接收中断标志位 RI
接收数据未完
接收完毕?完毕
置串行口接收数据标志位 20H.3
恢复现场
中断返回 图2.7 单片机串行口中断服务流程 26吉林大学硕士研究生论文
?2.5 步进电机的角位移和转向求取当机器人视觉系统进行模式识别完成以后,知道谁是要跟踪的目标,谁
是参照物。通常,参照物的选择多以具有明显特征的物体为基础。对于水面
清洁机器人来说,水岸线?岸上和水中的标志物?水纹理方向等都可以作为
参照物。通常比较理想的参照物是水岸线或地平线。对于水域比较窄的湖泊,
摄像头的视场一般都能包括水岸线(摄像头的视场为 90度)。如果是水域比
较宽的湖泊,则多以地平线为参照物。机器人摄像头的运动控制是由 3个步
进电机完成,它们分别控制着摄像头的水平面内转动(转角 α)?垂直面内
转动(转角 β)和摄像头的轴向转动(转角 γ)。图 2.8为其分解示意图: Zβ
O γ α Y
X
图2.8 CCD转角几何分解原理图水平面内转动和垂直面内转动控制主要是为了摄像头能跟踪目标物体,保证
目标物体在 CCD视场中央部分。轴向旋转控制主要是为了保证图像的匹配
和三维重构,防止船体左右摆动时摄像头“晕船”,无法进行图像模式匹配。 ?2.5.1 水岸线拟合和 CCD轴向转角 γ的调整
由于水岸线是水面清洁机器人比较常用的参照物,因此水岸线是机器人 视觉中很重要的信息,它获取质量的好坏直接关系着机器人视觉系统的定
位。
通常水岸线是在水面与陆地的交界处,正是这种陆地与水面的各种特征差
别,
使得机器人比较容易确认水岸线在什么位置。但是实际中的水岸线并非都是 直线,往往呈现出各种曲线形状。如果水岸线距离摄像头比较远的话,那么
27吉林大学硕士研究生论文
形状不是特别复杂的水岸线可以通过曲线拟合的办法近似获得。由于一般水 岸线以直线或近似直线居多,故本篇论文主要以近似直线的水岸线来研究。 通常拟合直线的办法是用最小二乘法,最小二乘法的原理是这样的:假 设列表函数 y f x (i0,1,?,m),我们想用一个通常的 n(n?m) i i
次多项式 p x a +a x + ? +a x 去近似它。问题是应该如何选择 n 0 1 n n
a ,a ,a , ? a 使 p x能较好的近似列表函数 f x,我们记: 0 1 2 n n
δ f x p x ,无疑 δ 是衡量被确定的的参数a ,a ,a , ? a 好坏的重 k k n k k 0 1 2 n
要标志之一。可以规定许多原则来确定参数a ,a ,a , ? a ,例如:(1)使
0 1 2 n
2
T| δ |为最小,(2)使 δ 为最小,(3)使 δ 为最小等。由概论 k ? k ? k
k k
理论证明可得,只有(3)这样的原则才能使观测或实验的偶然误差对于所作 m
2
的近似多项式 p x有最小的影响。令Sa ,a , ? ,a f xp x ,
?
n 0 1 n i n i
i 0
注意到 S为非负,且是a ,a ,a , ? a 的2次多项式,它必有最小值。求 S
对
0 1 2 n
a ,a ,a , ? a 的偏导数,并令其等于零,得:
0 1 2 n
m
n k
y ?a ?a x? ?a x x 0 (k0,1,2?,n) 。进一步改写成: ? i 0 1 i n i i
i 0
m m m m
k k k +1 k +n
y x a x +a x + ? +a x (k0,1,2?,n) 。 ? i i 0 ? i 1 ? i n ? i
i 0 i 0 i 0 i 0
引进记号:
m m
k k
s x 和 u y x ,则上述方程组成为: k ? i k ? i i
i 0 i 0 s a +s a + ? +s a u0 0 1 1 n n 0s a +s a + ? +s a u
1 0 2 1 n +1 n 1 s a +s a + ? +s a u
n 0 n +1 1 2n n n 它的系数行列式是: 28吉林大学硕士研究生论文ss s0 1 nX ss s
n +1 1 2 n +1 ?? ? ss s n n +1 2n
由s i 0,1, ? ,2n 的定义及行列式性质,可以得出: i
1
2 X W ξ , ξ , ? , ξ
n +1 ? 0 1 n
n +1!
此处符号W表示范得蒙行列式,而?是对所有可能的 ξ i 0,1, ? ,n求
和,每
i
ξ ? ξ
个 ξ可取值x ,x , ? ,x ,并且当 i?j时 。由 X 及范得蒙行列式 i j
i 0 1 m n +1
的性质可知,当x ,x , ? ,x 互异时,
0 1 m11 1 W ξ , ξ , ? , ξ ξ ξξ ?0
0 1 n 0 1 n ? ? ?
n n n ξ ξ ξ
0 1 n
从而X ?0,方程组有唯一的解a ,a ,a , ? a ,且使 Sa ,a , ? ,a 取极 n +1 0 1 2 n 0 1 n
小值。由于本次实验是用最小二乘法拟合直线,因此 p x取一次项式。 n
由于水岸线要用于摄像头轴向转角γ的调整,因此,水岸线应具有方向 性。当然,这种方向性不是水岸线本身带有,而是在摄像头内绝对坐标系中 先假定某个方向为正方向,这样摄像头相对于水岸线正方向旋转多少角度就 可一算出。通常取水岸线上相隔一定距离具有明显特征的两个标记作为参
考,
假设为 A和 B。当摄像头处在某一位置时假定其矢量正方向为由 A指向 B, 以后其他时刻位置都可以参照这个初始位置。图 2.9是由 CCD取进的水岸
线
经过视觉系统预处理以后包括中值滤波?X方向和 Y方向边缘检测等步骤, 再由微机串行口将结果数据采集进来并用 C++Builder 语言编程拟合成直
线
的结果。拟合的方法采用最小二乘法。? 29吉林大学硕士研究生论文 30 图2.9 水岸线拟合成直线吉林大学硕士研究生论文
如图 2.9第一幅图所示,经最小二乘法拟合成直线,其矢量 AB 与 X轴 正向夹角为 85.49,即矢量的幅角为θ 185.49,第二幅图为转动一个角度 后的结果,其矢量的幅角为θ2172.24。图中 XOY坐标系是指摄像头内的 绝对坐标系。图中矢量幅角是由程序自动运算显示在屏幕上的结果。整个直 线拟合和幅角求取的程序流程图如图 2.10所示。
行计数器 j1
total0N
j300?Y r[j]?1?
Y
j++
r[j]存放边界点
个数的数组
Nl[j]c[r[j]-1][j]-c[0][j]
xc[j]c[r[j]-1][j]+c[0][j]/2
totaltotal+l[j] c[i][j]存放边界点坐标值的数组 行计数器 j1
k0N
j300?Y
3
2
1 31
吉林大学硕士研究生论文 2
31
Y
l[j]0?
j++
Nss+j, ssss+j×j,
kk+1, tt+xc[j] ,stst+j×xc[j]
ns×t- st×k / s×s- k×ss mt- s×n / k
n为拟合直线的斜率
m为拟合直线的切距N
Y
n0?
kk1 / n
kktan(π/2)
Angle arctan(kk)Angle是拟合直线与X轴正向的夹角Angle转化成幅角 程序结束
图2.10 直线拟合和幅角求取流程32吉林大学硕士研究生论文 由于 CCD取进来的图像数据只有三百多行,故上面流程图的行计数器最大 限制在三百行。最后由夹角转化为幅角,其遵循如下规则: 假定摄像头某一位置时 Angle计算值为θ,同时令 A至 B为矢量正方向,
则:
(1) 当θ?0时
X ?X 则矢量的幅角为:θ+π; X ?X 则矢量的幅角为:θ。 a b a b
(2) 当θ?0时
X ?X 则矢量的幅角为:θ-π; X ?X 则矢量的幅角为:θ。 a b a b
X ?X 为 A和 B两点在摄像头绝对坐标系中的 X坐标值。 a b
对于沿摄像头轴向转动角γ的调整,主要是依靠摄像头在相邻两个时刻 获取参照物水岸线或水平线的矢量幅角之差来决定。若某时刻图像内的水岸 线在摄像头内绝对坐标系中(复平面)矢量为V1,另一时刻矢量为V2,摄像 头回转γ角才能转回原来的位置。γ角的求取可以通过以下原理得到: 令V1 r1 cos θ1 +isin θ1 V2 r2 cos θ 2 +isin θ 2 ( r1?r2?
θ1?θ2分别为矢量V1?V2 的模和幅角主值)
V 2
r2
Z cos θ 2θ1 +i sin θ 2θ1
r1
V1
如果取V1?V2 的模为单位 1,则 Z 可表示为:Z cos γ +isin γ cos θ 2θ1 +isin θ 2θ1
因此,只要知道摄像头在相邻两个时刻获取参照物的矢量幅角,就可以用上
述方法求得γ角的大小。而幅角的求取已由前面的论述可得。至于γ角调整
旋转方向,由于摄像头内的绝对坐标系(如图 2.8所示),它与我们平常直角
坐标系不一样,方向刚好相反。因此,当求得的γ角为正值时,摄像头在三
维坐标系 OXYZ中的 XOZ面内应沿顺时针方向回转,而当求得的γ角为负
值时,摄像头在三维坐标系 OXYZ中的 XOZ面内应沿逆时针方向回转。? 33吉林大学硕士研究生论文
?2.5.2 水平面内转角 α和垂直面内转角 β的求取
由前面的论述可知,CCD轴向转角γ的求取是为了控制轴向转动,调整
摄像头自身的方位,保证图像的匹配和三维重构,防止船体左右摆动?颠簸
时造成摄像头“晕船”,无法进行正确的定位和模式匹配。本篇论述的则是水
平面内转角 α和垂直面内转角 β的求取和调整。它们求取的好坏则直接关系
着 CCD摄像头能否跟踪盯住目标物体,保证目标物体在 CCD视场中央区域。 然而实际中的目标物体会呈现出各种形状,特别是在经过边缘检测,模式匹 配以后,有的目标物体甚至是外形边界不封闭,这给目标跟踪带来了很大的 困难。为了简化和求取的方便,常常采用简化模型的办法,即将目标物体外 在形状忽略,把目标物体视为一个质点。这样,跟踪目标物体就跟踪其二维 图像的重心即可。而重心的求取则可由物体外围边缘所围成的区域算得。物 体的重心也就是物体的几何中心。对于某些因为模式匹配或其他原因造成不 能将物体外围边界封闭的情况,我们常常采用相邻断点连接最近的原则将不 连续的边界点连成封闭的外围边界。这样就可以进行物体的重心求取。规则 物体的重心很容易求得,对于不规则物体我们常采用积分求面积的方法来确 定。通过上述方法,我们将物体简化成一个质点后,物体的移动就变成了其 重心的移动。这种利用重心移动来代替物体本身移动去计算物体移动的位移 方法具有很好的鲁棒性,其实验结果也证明了这一点。
由 CCD获取的图像经过视觉系统预处理后存入 RAM中的数据是目标物 体边缘点坐标值。在计算物体的重心时,就是利用每行边缘点的首尾两点, 将其坐标值之差作为该行的“面积”SS,同时,取该两点的中值作为该行的 重心。对于物体存在凹陷的情况,就取每两点组对,计算该行每段的“面积” 和重心,然后利用加权求和的办法计算该行的重心和“面积”。在每行的重心 和“面积”求得之后,再次利用加权求和的办法计算整个目标物体的重心。 图 2.11是 CCD取进图像经过视觉系统预处理以后,再由微机串行口将目标 物体边缘点坐标值读进来并用 C++Builder语言编程计算其重心流程图。?
34吉林大学硕士研究生论文行计数器 j1
total0Nj300?Yr[j]?1?Y
r[j]存放边界
j++点个数的数组Nk0 tl0 i0N
k?r[j]?Y
lh[i][j]c[k+1][j]-c[k][j] xt[i][j]c[k+1][j]+c[k][j]/2 kk+2
l[j]l[j]+lh[i][j] ii+1 c[k][j]存放边界点坐标值的数组l[j]是存放行“面积”值的数组 xt[i][j]是存放同行相邻两边界点坐标中值的数组 si-1 i03
21 35吉林大学硕士研究生论文
23
N
1
i?s?Y
Rt[i][j]lh[i][j]/l[j] xc[j]xc[j]+xt[i][j]×Rt[i][j]
i++xc[j]是存放行重心的数组
totaltotal+l[j]Ratio[j]l[j]/total
xbxb+xc[j]*Ratio[j]
ybyb+j*Ratio[j]
Ratio[j]存放行边界距权值数组xb,yb物体重心 X,Y坐标值值 显示重心程序结束图2.11 计算目标物体重心流程图
图 2.13是目标物体由 CCD取进经过视觉系统预处理后将边缘点的坐标值 通过微机串行口送入计算机并计算其重心的结果。图中小黑点即为其重心, 图中下方重心坐标值是由程序自动运算的结果。
XQ1
O
P1
Q0
P0
H
Y
图2.12 转角 α和 β几何分解原理36吉林大学硕士研究生论文 图2.13
计算目标物体重心
图 2.13中重心坐标值是按像素点计算的,要计算其在摄像头内绝对坐标 系中的位置,就必须转化为实际的距离,即用米制计算。假设摄像头一帧图 像有 m行,n列像素点,而摄像头一帧图像宽 b毫米,高为 h毫米,则重心 为 P(X,Y)的物体其对应于摄像头中的位置为: x′坐标X×b/n毫米y′坐
标Y×h/m毫米。
最后,怎样计算水平面内转角 α和垂直面内转角 β,可以通过以下方法 获得。CCD每隔 0.2秒取进一幅图像,假设某一时刻摄取图像经由前述方法 将目标物体重心算出,即在摄像头内绝对坐标系中绝对坐标为点 P0(x0′,
y0′),下一时刻该目标的绝对坐标为 P1(x1′,y1′),若要求摄像头相对 于目标物体在水平面内和垂直面内应回转动多少度,则根据图2.12分解所
示,
假定目标物体初始位置为 Q0,下一时刻位置为 Q1,对应在摄像头 XOY平 面内的位置分别为 P0?P1,H为摄像头绕轴转动的中心位置。如果摄像头绕 轴转动的半径为 R(通过测量可得出),则摄像头在水平面内应回转的角度为
37吉林大学硕士研究生论文
α(x1′-x0′)/ R,在垂直面内应回转的角度为 β(y1′-y0′)/ R。 而 X和 Y方向的坐标值可以通过 P0?P1在摄像头内图像像素点的位置转化 求得。由于实际中水平方向和垂直方向的回转半径不一样,故在求 α? β时 应分别取其各自的回转半径 Rx?Ry。至于旋转的方向遵循如下规则: 如果 x1′>x0′,则摄像头在三维坐标系 OXYZ中的 XOY面内沿逆时 针方向旋转。
如果 x1′
转载请注明出处范文大全网 » 水面机器人:水面清洁新利器