(计算机应用技术专业论文)面向对象的微操作机器人语言的设计与实现.pdf_第1页
(计算机应用技术专业论文)面向对象的微操作机器人语言的设计与实现.pdf_第2页
(计算机应用技术专业论文)面向对象的微操作机器人语言的设计与实现.pdf_第3页
(计算机应用技术专业论文)面向对象的微操作机器人语言的设计与实现.pdf_第4页
(计算机应用技术专业论文)面向对象的微操作机器人语言的设计与实现.pdf_第5页
已阅读5页,还剩72页未读 继续免费阅读

(计算机应用技术专业论文)面向对象的微操作机器人语言的设计与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ab s t r a c t ab s t r a c t t h e m i c r o- o p e r a t i o n r o b o t ( mr ) i s a k i n d o f i n t e l l i g e n t r o b o t s y s t e m t h a t m a i n l y p e r f o r m s d e l i c a t e o p e r a t i o n s o n n .m s c a l e o r m u c h s m a l le r o b j e c t s . t h e m r h a s w i d e i n d u s t r i a l i z a t i o n p r o s p e c t s i n m e d i c i n e a n d b i o e n g i n e e r i n g d o m a i n s . i n m i c r o - - o p e r a t i o n s y s t e m , o p e r a t i o n s a r e m a i n l y p e r f o r m e d i n u n s t r u c t u r e d e n v i r o n m e n t s o t h a t f u l l o r h a l f - a u t o m a t i c a l l y w o r k i n g i s v e ry d i f f i c u l t . t h e p a p e r res e a r c h e s s o m e k e y p r o b l e m s i n m i c r o - o p e r a t i o n r o b o t a u t o m a t i c a ll y w o r k i n g . f i r s t l y , t h e p a p e r p u t s f o r w a r d t h e b a s i c o b j e c t - o r i e n t e d s y s t e m s t r u c t u r e f o r mr , a n d t h e d e s i g n o f s y s t e m o b j e c t c l a s s e s . b y a d o p t in g o b j e c t - o r i e n t e d s y s t e m , t h e mr c a n h a v e t h e a b i l i ty o f l e a rn i n g , a n d p e r f o r m s p e c i a l t a s k a u t o m a t i c a l l y i n b a t c h a n d c a n o v e r c o me u n s t r u c t u r e d p r o b l e ms d u r i n g a u t o m a t i c o p e r a t io n . b y a d o p t i n g a p r o g r a m m i n g l a n g u a g e f o r m i c r o - o p e r a t i o n r o b o t , u s e r s c a n p r o g r a m t h e r o b o t t a s k s . mi c r o - o p e r a t i o n r o b o t l a n g u a g e ( mr l ) e n c a p s u l a t e s p r o g - r a m m mi n g d e t a i l s o f s p e c i f i c m o t i o n c o n t r o l a n d u n c o n s t r u c t e d p r o b l e m s . mr c a n d o a l l k i n d s o f j o b s j u s t e x e c u t i n g s o m e p r o g r a m s . m r l i n c re a s e s r o b o t s fl e x i l i ty i n a l l - p u r p o s e a n d c a n s t o re h u m a n i n t e l l i g e n c e a n d k n o w l e d g e i n c o d e s . f u r t h e r m o r e , t h e p a p e r a n a ly s e s t h e p r o b l e m o f m i c r o i m a g e , l i k e t h e s e n s i t i v e r a n g e a n d t h e a m o u n t o f i n f o r m a t i o n , p u t s f o r w a r d e ff e c t i v e a p p r o a c h e s f o r g e tt i n g t h e p l a i n p o s i t i o n o f m i c r o - n e e d l e i n t h e d e f o c u s e d m i c r o i m a g e , c a l l e d t h e s c a n l i n e a l g o r i t h m ( s l a ) . t h e s l a f u l f i l s t h e s y s t e m s d e m a n d s f o r re a l t im e a n d e ff i c i e n c y b y f e e d i n g b a c k th e p o s i t i o n o f t h e m i c r o-n e e d l e , a n d m a k e s a n i m p o r ta n t s t e p i n mr s a u t o ma t i z at i o n . f i n a l l y , t h e p a p e r p r e s e n t s s o ft w a r e d e s i g n o f mr l , e x p e c i a l l y t h e i n t e r p r e t e r , a n d p u t s f o r w a r d t h e u s a g e o f mu l t i - t h r e a d s i n m i c r o - o p e r a t i o n s y s t e m . k e y wo r d s : mi c r o - o p e r a t i o n r o b o t , mi c r o i m a g e p r o c e s s i n g , mi c r o - o p e r a t i o n r o b o t l a n g u a g e , o b j e c t - o r i e n t e d s y s t e m s t r u c t u r e 南开大学学位论文版权使用授权书 本人完全了解南开大学关于收集、 保存、使用学位论文的规定,同意如下 各项内 容: 按照学校要求提交学位论文的印刷本和电子版本;学校有权保存学 位论文的印 刷本和电子版,并采用影印、缩印、扫描、数字化或其它手段保存 论文;学校有权提供目 录检索以 及提供本学位论文全文或者部分的阅览服务; 学校有权按有关规定向国家有关部门 或者机构送交论文的复印 件和电子版;在 不以赢利为目 的的前提 卜 ,学校可以适当 复制论文的部分或全部内容用于学术 活动 。 学 位 论 文 作 者 签 名 : 4 11 啥卉 -刁年 月感口 经指导教师同意,木学位 论文属于保密,在年解密后适用本授权书。 一- -一门 指导教师签名: 解密时间: 学位论文作者签 丁 谈 籍 年月 各密级的最长保密年限及书写格式规定如 下: 内部5年 ( 最长 5 年,可少于 5 年) 秘密t o 年 ( 最长 1 0 年,可少于 t o 年) 机密2 0 年 ( 最长 2 0 年,可少于 2 o年) 南开大学学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师指导下, 进行研究工作 所取得的 成果。除文中已 经注明 引用的内容外, 本学位论文的 研究成果不包 含 任何他人创作的、已 公开发表或者没有公开发表的 作品的内 容。 对本论文所 涉 及的 研究工 作做出贡献的 其他个人和集体, 均已 在文中以明 确方式 标明。本学 位论文原创性声明的 法律责 任由 本人承担。 学 位 论 文 作 者 签 名 : 川 。 考 共 , 叮年5月n日 第一章 绪论 第一章 绪论 第一节 徽操作机器人 微操作机器人 ( m i c r o - m a n i p u l a t o r r o b o t . m r ) , 又称为 微驱动机器人。 它 的外型体积未必很小,但是运动精度高,操作对象微小,能够完成一些精细操 作和加工组装过程。微操作机器人本身形体可以很大 ( 如面向生物医学领域的 微操作机器人系 统就包括一台 倒置的显微镜) , 但是它的操作 精度非 常高,能 够 完成微米或亚微米级的细微操作。 微操作机器人系统是现代机器人控制思想和高精度精密仪器相结合的产 物,它采用机器人控制思想实现对高精度平台的自 动化 控制,实现对微小物体 的操作。 微操作机器人系统能够帮助人完成细微操作,它的出现使得机器人技 术的应用领域从常规空间进入到微米和纳米空间。微操作机器人系统是人类手、 眼等器官向微观领域的延伸,它帮助人类感知和认识微观世界并进行操作,具 有很强的应用背景和发展前景,已经成为机器人领域中的研究热点。 随着科学技术的发展,微电子工程、计量科学与技术、光学和光电子工程、 微机械系统、生物工程、纳米技术等领域迫切需要能够在微米乃至亚微米、纳 米级空间 进行操作的 机器人系统, 微操作机器人技术己 经成为前沿科学和工程 技术领域的关键技术之一。目前世界上从欧美的发达国家到亚非的发展中国家, 都在这一领域中投入了相当多的资金,对其基础理论和应用技术进行研究,相 继开发出 应用于不同 领域的 微操作机器人系统。 南开 大学机器人与 信息自 动化 研究所较早地开展了微操作机器人系统的研究,在微驱动和微操作的关键技术 方面取得了一定的成果,研制出n k t y mr系列的微操作机器人系统样机 ( 见 图1 . 1 ) , 成功完成了 小鼠卵 细胞转基因注射和植物细胞染 色体切割操作【 1 0 微操作机器人的应用 2 在工业、国防中的应用有大型天文望远镜的抛物反射面反射镜的制造, 计算机大型设备大容量磁鼓和磁盘的制造, 微电子技术中大规模集成电 路和超 大规模集成电路的制造等。机器人技术的发展和微型机械技术的发展均以超微 定位技术为核心,像精密伺服阀、压 电陀螺等精密零件的装配作业都要求超微 精确定位技术来完成,此外还有隧道扫描电子显微镜的微定位系统等。 第一章 绪论 i i .非结构环境下的系统规划 使 机器 人语言实 现自 动 编程,必须解决 在非结构化环境下的全局 几何推理 的问题,或使机器人具有对各个局部几何推理进行适 当管理的能力。当描述机 器人及环境物的数据结构中包含有物体几何形状和尺寸信息后,就可使它满足 自动编程所需的空间推理的要求。面向对象技术最适合于建立这样的数据结构, 例如空间实体对象具有位置、尺寸等属性。如果使对象成为最小的相对独立的 组成单位,反映机器人及环境物的真实结构,以此为基础开发出面向对象的系 统, 使机器人 懂得所描述的作业任务,实 现推理的基础, 完成任务规划, 这是 机器人系统的一个研究方向。 1 1 1 .离焦显微图像的信息提取 视觉传感器作为微操作机器人系统的最主要传感手段,是感知环境信息的 来源,而感知的环境信息是实行动态任务规划的基础。但是由于显微镜的小视 野和大细节的特性,使得每次感知的信息非常少,尤其是景深的限制,当物体 离焦时显微图像处理就是个瓶颈。提出适合显微图像信息提取的方法,并能够 实时的 反馈目 标和操作工具的 位置,以 及构建环境模型,是微操作 机器人自 动 化作业中的关键一步。 上述三个问 题是在显微视野下的非结 构化环境中进行微细操作所 具有的普 遍问题。它们的解决,可以大大推进微操作机器人系统的自动化和实用化进程, 为目 前己 经成熟的智能机器人控制策略在微操作机器人系统中的运用扫清道 路,也为智能微操作的拓广和深入开辟一条可行、有效的途径。 那么,建立面向对象的微操作机器人语言系统将是解决以上问题的可行途 径。由 对象组 成的机 器人系统,是实现非 结构化环境下几何推理的基础。机器 人语言系统的建立,可以为用户提供可编程的系统环境,使系统的应用更加广 泛,可以使系统针对不同的工作 目 标设置不同的动作序列. 经过对微操作机器人系统的研究以及上面的分析,得到设计 mr机器人语 言系统的 基本思路 实行面向 对象的系 统设计,以 及基于软 件的 对象级的 机 器人语言,对输入程序采用命令解释的执行方式。语言系统的设计还需要有系 统编程环境的支持,例如文本编辑器、调试器及文件系统等。 从智能系统的角度来看,面向对象的系统设计提供了实现任务级语言的基 础。通过良好的环境建模和任务规划,可以实现任务的自动识别和执行,这也 第一章 绪论 是未来的发展趋势。 本论文的 研究是在国 家 8 6 3计 划支持下,针对 微操作机器人自 动 作业中机 器人语言系统进行了研究。论文的研究具有很强的实际应用背景,解决了微操 作机器人系统软件面向 用户 和任务的 可编程问 题, 从而为 微操作 在非结构环境 下实现操作自 动化提供了 编程基 础。 论文中 各章的内 容安 排如下: 第一章绪论,介绍微操作机器人及其应用情况,通过对机器人语言的发展 历史、 语言特点和级别等的 介绍, 并分析了 微操作机器人语言系 统的 建立的意 义,从而阐述本文的选题意义. 第二章面向对象的微操作机器人语言系统,提出面向对象的微操作机器人 语言的系统, 建立由 对象和相关机制构成的语言系统, 并给出 语言解释器的实 现机制。 第三章离焦状态显微图 像平面位置信息的提取,针对离焦状态下显微图 像 不同于一般数字图像的特点,提出了显微图像处理而获取微操作工具微针 平 面位置的 特殊方法,并通过实 验验证了方法的 有效 性及适用范围。 第四 章面向 对象的微操作机器人语言的实现, 详细介绍了 微操作语言解释 器的功能, 给出了 解释器实现的主要的类的代码实现和使用语言的例程。另外 对 线程进行了介绍并给出了 在现有系统加入线 程的 优点。 第五章结论与展望,对本论文的 研究工作进行了总结, 提出 今后有待发展 的研究方向。 课题来源 研究生期间, 本人 作为主要研究 人员参与了南开大学机器人与信息自 动化 研究所承担的以下科研项目: 国 家 8 6 3计划资 助项目“ 基于系统 辨识技术的 显微图像深 度信息恢复方 法及其在微操作机器人系 统全自 动操作中的应 用” ( 2 0 0 2 a a 4 2 2 2 0 0 ) 国 家自 然科学基金资助项目“ 生物医学工程中大范围多目 标、 运动目 标 的 显微视觉反馈与定位 研究” ( 6 0 4 7 5 0 3 8 ) 本文的工作主要依托于以上两个科研课题,以本所研制的面向生物医学工 程的微操作机器人系统为硬件平台,研究面向对象的微操作机器人语言系统。 第二章 面向对象的微操作机器人语言系统 第二章 面向对象的微操作机器人语言系统 第一节 引 言 微操作,主要是在一种非结构化的环境中进行的精细操作。m r系列的微操 作机器人系统,主要是由计算机控制的高运动精度的操作机械。操作员通过显 微视觉系统,根据自 己 的观测, 使用鼠 标或者键盘等设备 控制机器人完成原来 手动很难或者不能完成的精细操作。这是一种以人为主导的任务规划方式,机 器人只是简单地执行所 接收的 运动命 令,即 使对同 类目 标 进行同种操作, 每次 由于其位置不同,也需要由人来重新进行规划。 要实现微操作机器人的通用化,主要障碍是在用户和机器人系统之间缺乏 合 适而有效的通信方法, 使用户能控 制机器人完成预定的 任务。 解决这一问 题 的最通用方法就是采用高级编程技术。机器人一般由计算机进行控制,而人与 计算机进行通信的最有 效方法就是使 用高级 编程语言。 在当 前工业机器人领域, 普遍采用机器人编程的方法来实现机器人系统的多用性。那么微操作机器人的 编程问题,不可能和工业机器人一样,主要是微操作机器人在非结构化环境下 工作,无法实现重复操作所需的微米级目标预定位。此外,对于像细胞和染色 体之类的生物体,也不可能要求其位置完全固定. 面向 对象的 微操作机 器人语言系统的设计,目 标就是 建立一套 适用于微操 作机器人的高 级编程语言, 解决非结构化环境下微操作 任务的描述、表示和自 动执行问 题, 实现基于语言 控制的任务示教和再现。微 操作机器人 语言对具体 的运动控制和程序实现细节进行了有效屏蔽,内部封装了对于非结构化问题的 处理。 使用面向 对象的编程语 言描述操作任务,机器人通 过简单地执行适当的 程序就可完成各种不同 的工作, 大大增强了 机器人系统的 柔性和多用性。并且 人的智能和知 识可以以 机器人 语言 作为载体, 通过程序的 形式保存起来。 面向对象的机器人语言控制的基本思想是把整个系统的感知功能和运动功 能按照一定要求 封装成为基本 对象开 放给用户。 用户对要实 现的 任务进行分析 和规划,将其抽象为一系列的对象的操作步骤并形成程序,然后语言系统对此 程序进行解释 和执行。 这样,由于系 统可以 获取视觉反馈的 显微图 像, 对图 像 的处理能够获取工作环境的信息,规划好的程序可以再次执行而不需要改变。 第二章 面向 对象的微操作机器人语言系统 第二节 面向对象的系统结构 2 . 2 . 1微操作机器人系 统 机器人是实时控制系统,一般用多机协作的工作方式,即由下位机 ( 控制 机柜) 实现实时性要求高的运动控制和伺服控制, 采用嵌入式系统; 上位机( m r 软件系统)通过多轴控制板与控制机柜通信,主要实现任务规划,轨迹规划和 显微图像的处理、 分析和理解等智能化操作1代 为了提高微操作机器人系统的灵活性和稳定性,控制系统的设计采取了模 块化的构造原则。 图2 . 1 是微操作机器人的系统结构示意图, 其中各主要部分的 功能为: :多轴控制板的功能 定时( 每l o m s ) 接收 上 位机发送来的数据包, 并将各轴的 速度值定时( i m s ) 下发到相应的寄存器中; 读各轴的状态寄存器,定时的反馈给上位机;如果各 轴出 现限位或故障, 停止电 机的运动。 i i . 图像采集卡的 功能 接收c c d采集的图 像信号, 通过显示卡写到屏幕中相应的位置。 图2 . 1微操作机器人系统结构 川 , 控制系 统的 功能 控制系统通过两个接口 来实现感知环境和操作物体对象的功能。由图像接 口 模块读取显卡中的显微图像,运动接口模块实现定时读取机器人下位机的各 种信息,以及将规划好的各轴的运动速度值封装成数据包,定时 ( l o m s )传送 给多轴控制板。 第二章 面向对象的微操作机器人语言系统 通过显示器提供给用户一个图形界面。图形界面中包括显示c c d采集的实 时图像的区域;菜单栏、工具栏、对话框等控件便于用户操作和反馈系统的位 置信息和状态信息;从键盘和鼠标获取对机器人控制的基本指令. 控制系统提供微操作机器人语言的功能,是高层次的控制机器人运动的接 口。系统将可以实现的功能用语句封装,给用户提供语言编辑的界面以及帮助, 对用户输入的程序进行解释执行。 2 . 2 . 2面向对象系统的设计准则 机器人系统由一台或多台机器人、传感器、目 标物体、计算机及其他周围 环境物以适当的内部联接方式按一定的空间位置关系布置而成,以便在执行所 需要的任务时便于组件之间的通信和协作。机器人系统的结构和功能特点有: 物理结构上的分布性和功能上暂时的平行性,接口 的重要性,高度柔性,强祸 合性, 动态性 和机器人角 色的多 面 性, 设备状态的 复 杂多 变性等2 9 ) , 机器人系 统的复杂性体现在结构和行为两个方面,它们相互作用和影响。 面向对象的方法 ( o o m)是一种对机器人系统进行分析、设计和实现的理 想手段,但是由于机器人系统存在着上述多方面的特性,使得对o o m需慎用。 机器人对象结构与行为的复杂性决定了机器人是个复杂的对象, 在o o m中, 复 杂对象重用性差。为了使机器人对象具有好的重用性需要对其进行很好的抽象 和分类。另外机器人系统的强祸合性使软件系统中对象之间有着强的关联作用, 这对于对象的独立性和重用性, 特别是软件的模块性是不利的。下面对用o o m 设计及开发机器人编程系统时的准则进行简要的介绍: i .对象的设计 对象是一种抽象数据类型,每一对象的设计要考虑三方面的信息:一般化 信息、内部结构信息、外部关系信息。一般化信息是对象普遍具有的特性,如 对象名、标识。对象内部结构信息是指对象组元及相互之间的关系。外部关系 是指对象间的相互关系,包括位置关系等。 机器人系统由相互独立的各种对象组成,包括具有运动特性的对象和静止 对象。运动对象包括主动操作对象和被动操作对象,由多个具有自由度的部件 对象组成。静止对象由基本对象组成。所有这些类型的对象实例都是具有明确 物理意义的相对独立的实体,不用对它们进行分割,只需把相对复杂的对象分 解成相对简单的对象。 第二章 面向对象的微操作机器人语言系统 i i . 系统的设计准则 准则一:使描述问题的问题空间和解决问题的方法空间在结构上尽可能地 一致。即分析、设计和实现系统的方法学原理与认识世界的过程尽可能地一致. 这是面向对象方法学的出发点和基本原则,也是机器人编程系统设计应首先遵 守的准则。机器人系统是由机器人等客观对象以及这些对象间的各种联系和相 互作用组成的,不同的对象及其之间的不同联系和相互作用可以组成不同的机 器人系统。机器人语言系统必须直接反映这些相对固定或独立的对象以及它们 之间的联系和相互作用,在软件中通过组合不同的对象形成不同的机器人系统。 准则二:对象设计应在关于其他对象行为的最小假设下进行。机器人系统 是个动态的强祸合系统,系统中各元素 ( 对象)之间有着频繁的相互作用,在 这种情况下 应使各设计 对象尽可能地 相对独立,并尽可能避免使用全局信息, 使对象尽量局部 化。 对象之间的 相互 作用仅通过发送和接受消息以通信的 形式 来完成,以尽可能实现系统中各对象,特别是像机器人等重要对象之间的松散 祸合,使得各个单个的对象能被方便地修改、扩充和替换。对象间的松祸合对 提高系统的容错 性是极 其重要的, 在系统中某些对象出 故障时其他对象仍能 继 续存在并起作用。 准则 三: 在高 度抽象化的 基础上设计系统接口 。机器人系统的 “ 全域” 是 事先不能 被完全 确知的, 系统有可能 用于执行新的任务,或加入新对象以 增强 其功能, 或和其他系 统集成和通信, 这都须通 过对象间 和系统间的 接口 来 完成。 接口 是对象的外部 表现形式, 是对象间 通信的唯一方法和系统间集成的 唯一通 道。 机器人系统结构 行为的复 杂性使系统中对象间的集成和系统可扩充性的 实 现并非易事,必须对接口进行适当的抽象以达到集成和扩充的灵活性。 准则四: 应尽可能 地避免 对机器人系统具体任务的描述和设计, 而应对其 对象行为进行高度抽象以提供一个高层次的设计方案,从而使系统设计独立于 它的任何具体应用.独立于任何具体应用的设计旨在高度抽象,使组成系统的 所有类都能被完整地设计出。在实现具体应用时只要创建相应的类对象并通过 对象上的 操作来完 成具 体系 统的 具体 任务。由 于类被完整地定义了, 使系统从 执行一种具体应用任务到另一种具体应用任务变得方便可行。 准则五:以消息通信的形式描述机器人作业任务。在对机器人系统作业进 行抽象时 应避免 受 “ 过程法”思 维方式的影响。以消息流的形式来抽象机器人 系统作业任务才真正 体现了o o m的 风格。 至于接受消息 的对象 对消息处理的 细 第三章 面向对象的微操作机器人语言系统 节留给对象自己 去做。消息 可以有多个层次,以 满足复杂作业任务的需要。在 任何一种面向对象的设计方法和标准中,对象类设计是整个设计过程的中心, 它处理系统的 功能需 求。 类不 仅在o o d方法中 具有最高的优先权, 类设计也是 整个o o d方法的核心所在。 川 .对象类的设计 类是对一组对象 全部相似性的描述,由 数据和方法组成, 并按 超类、 子类 关系形成类的 层次继 承关系结构。 类的形式定义如 下: 类: :-i d , i n h, d d ,m) 其中 i d为类的标识或类名,i n h为类的继承性描述,d d为类的数据结构 的描述,m 为类的方法集。一个具体的对象仅仅是类的一个实例。 好的软件设计应使对象类间具有尽可能弱的祸合度和尽可能强的内聚度, 并尽可能降 低对象类的复杂 性。要同时做到这些是困 难的, 它们之间存在着相 互矛盾之处,有时只能采取折衷的方案。如为实现重用和对类进行复杂性管理 需要继承,为增强内聚降低复杂性却要限制继承。较优的选择是:藕合度小 类 间内聚度低 类的复杂性小。因为祸合性小可使设计及开发人员的工作间的关联 减少到最小,而内聚度高祸合性小的设计可在一定程度上实现类的复杂性管理。 2 . 2 . 3面向对象的微操作机器人语言系统的设计 如果将智能作为 一种计算现象处理3 3 1 ,这 种现象因闭 合回路的联合作用而 出现 ( 见图 2 . 2 ) ,闭 合回路具有四 个基本 过程:行为生 成、 环境模型、 感知信 息处理和判值。 那么智能现象也就是任务目 标由 上层产生, 感知的结果与期望 的目标进行比较并形成规划,生成相应的行为并作用于环境,使结果与规划相 对应,达到任务目 标。 环境模型反 映环境 图2 .2智能体基本作用回路 第二章 面向对象的微操作机器人语言系统 体并返回给调用者。 图2 .7显微图像类的u mi . 静态结构图 地图类 ( m a p ) : 地图由 多个 显微图 像对象 组成, 用对象链表 记录原始对象, 用生成的压缩图像 ( 包括相应的压缩比率)来作为地图。地图的操作主要包含 获取显微物体的位置,这是因为相对于单个显微图像,其中包含的物体可能只 有局部,将图像拼接形成的地图可以获取整个物体的信息.另外对于一种显微 物体,比如细胞,在显微镜中可能不止一个,对地图图像的处理获取物体的大 致位置,再通过原始图像获取物体的精确位置。将找到的每一个显微物体都作 为对象用链表保存起来,为环境的创建提供基础信息。 对象识别( o b j e c t r e c o g n i z a ti o n ) : 根据显微物体 子系 统提供的 物体的 形状模 型信息, 在图像中识别相应的物体。由于识别的工 作比 较复 杂, 需要很多的计 算量,所以将此功能从图像和地图对象中对立出来。可以被图像和地图对象进 行调用。此类还包括了图像处理的基本操作,比如:图像增强 ( 包括图像灰度 化、灰度直方图的求取和利用直方图均衡化进行图像增强) ,图像滤波 ( 去除噪 声) ,图 像变换 ( 傅立叶变换) , 图像分割 ( 分割背景和 物体) , 特征抽取 ( 图像 的形态学腐蚀和膨胀和物体轮廓提取,物体边界用链码表示法进行表示)等。 i i .图像接口 第二章 面向对象的微操作机器人语言系统 图像卡接口 类 ( i t n a g e c a r d l n t e r f a c e ) :负责将采集到的显 微图 像实时的显示 到屏幕的相关区域。在微操作系统中,工作空间的工具和目标经过倒置显微镜 在c c d上成像,图 像采集卡以3 0 帧/ 秒的 速度进行图 像捕捉, 并以 直接把图像 数据写到显卡显存的相应区域的方式将图像输出到计算机屏幕上.对外的接口 主要是图像存取。 2 . 3 . 3编程类 微操作机器人语言 系统的 作用即 在于给用户 提供方便有效的编程环境,使 用户要实 现的 任务可以 用语言 系统提供的 对像的 操作命令和流程控制命令来实 现。由 于系统具有全局的环境 信息, 所以 对于输 入程序中的命令的参数可以是 相对的, 并由 系统 运行时的 状态来决定。 对于已 有的程序可以 作为一个子任务 在新的程序中调用。 图2 . 8编程类的u ml静态结构图 微操作机器人系统结构的重点之一是提出了 基于对象的命令及其解释器系 统。编程类是机器人语言为基础的机器人程序的处理类 ( 见图 2 . 8 ) .主要包括 命令、 程序的输入、结果及错误的显示、程序解释执行类等部分。 :命令基类 ( n c m d b a s e )/ 命令 ( c o m m a n d ) 命令基类定 义了 所有命令数据的公 共部分, 包括命令i d , 所需的参 数列表, 命令所在程序行的位置等,以及命令的执行接口,包括装载参数,前期处理和 命令的执行等。命令派生自 命令基类,对于不同类型的命令,实现命令基类中 第二章 面向对象的微 操作机器人语言系统 提供的接口。命令包括程序流程控制命令和对象命令和其他系统命令。 程序流程控制命令:流程控制命令控制程序的执行顺序,程序的执行需要 流程控制,才能实现不同情况下程序执行的不同结果。流程控制命令包括循环, 条件,跳转,函数调用,返回等,另外变量定义和赋值命令由于涉及到程序执 行时的管理,所以将之归类到程序流程控制命令中.流程控制命令相对应于系 统定义的对象的特定操作,是一对一的关系。系统可以执行的流程控制命令见 表 2 . 1 e 表 2 . 1流程控制命令 命令名参数名称说明 1f o r起始:间隔:终止 循环开始定义循环体开始 2i f 条件条件判断 满足条件则执行程序体. 不满足 则跳到e l s e( 如果有的话) 3 e l s e无条件判断 和 i f相对应, 可以只有 i f 而无 e l s e 4s w i t c h条件条件选择 根据条件选择要执行的程序体 5c a s e 条件标识条件可执行的程序体 6b r e a k无跳出 跳出循环体 7 b e g i n ( ” ) 无开始程序体开始 8 e n d( “ ”) 无结束程序体结束 9g o t o标签名跳转跳转到相应的行 1 0l a b e l 标签名标签定义可跳转的行 1 1c a l l函数名调用函数调用函数 1 2r e t u r n 无返回退出函数体 1 3f u n c t i o n函数名函数定义函数体 1 4d e f i n a t i o n 变量名 二 初值声明变量定义变量,可以赋初值 1 5s e t变量名二 值赋值变量给变量赋值 1 6 “ / /”说明文字行注释此行在解析时即被去掉 对象命令/ 系统命令:对象命令和系统命令指的是针对系统中的对象调用的 操作,其解释执行的过程和流程控制命令基本一样。对象命令相对应于系统中 第二章 面向对象的微操作机器人语言系统 的已定义的对象的操作,即系统中已有的对像,如左操作臂 ( l a r m ) ,调用时需 要指定对象 ( l a r m ) ,对象对外的接口函数作为可用的命令。其执行的对象命令 可以由解析器调用相应的对象操作函数来完成。 对程序中对象命令的解析也即获取对象名,通过对象名产生相应的对象命 令,包括要执行的函数的参数。所以执行对象命令,需要解释器获取对象操作 名称和操作的参数,这样调用相应的对象对外的操作函数。对象命令的执行对 于命令链表的执行顺序没有改变。 1 1 . 解释器 在微操作机器人语言中,解释器负责完成整个程序的解析,命令对象的生 成,对象功能的映 射和执行,以 及程序的流程控 制等工 作。 对于给定的 输入程 序,每当 一行输入命令与 一个已定 义的命令相匹配时, 就生成 可执行的 命令对 象,随着对程序的解析,就生成可以执行的对象列表。当程序解析完成后就可 以执行对象列表中相应的对象功能。在解析过程中,需要从输入源程序中获得 相应的 信息,如参数类型、 参数值等信息, 这在生成对象过程中作为 对象属 性 进行设置。解释器的执行框架如图 2 . 9 所示。解释器的基本工作模块可以包括: 预定义命令类型:解释器可以执行的命令都必须事先定义好,由解析脚本 文件保存。预定义命令文件给出了可以执行的命令的基本情况,比如名称、参 数类型、i d标识号等等。 解释器在解析 输入程序前, 必须知道自 身可以 处理的 命令的情况。 通过处理预定义命令文件获得可以 识别的 命令类型列表, 其中参 数的识别主要是类型识别,并将插入对应的参数链表中。由面向对象的程序设 计来看,需要设计的类包括:参数类型结构,参数类,命令类型类。 图2 .9 解释器执行框架 第二章 面向对象的微操作机器人语言系统 命令链表:通过用脚本文件中获得的命令名称来生成己定义的可执行的对 象 ( 在文件中定义命令的同时需要在程序中实现命令)列表.在运行时从要执 行的程序中获得对象,在对象列表中获取对象的情况并生成该对象,包括执行 时的参数,形成命令链表。这样只需要生成用到的命令对象,而没有用到的命 令对象不做处理,有利于资源的利用及运行速度的加快。 命令执行: 对于不同的命令,其执行方式是不同的, 从解释器执行框架中 看出,流程控制命令的执行可以看作是内部执行,执行结果是对命令链表执行 过程的控制。而对象执行操作命令将执行相应的对象函数,而完成一定的机器 人功能和操作。 差错控制:微操作机器人的执行环境是非结构化的,用户输入程序在执行 过程中会有很多预料之外的情况发生。为尽可能避免错误的发生,包括程序语 法错误, 系统应该具有一定的错误检测和处理能力,以避免规划不当、资 源不 足或者环境异常所导致的死锁和失败。在微操作中,目前还无法使用形式化方 法对非结构化环境进行分析,但可以对一些情况进行警示。对于微操作过程中 出 现的系统错误, 我们采取 “ 出错即停止” 的原则,即一 旦发现错误立即 停止 操作的执行,并根据返回的错误号查找相应的错误信息显示给用户。对于某些 需要详细说明的错误,可以设定信息管理类成员变量的值,这样系统 自 动在缺 省错误信息下面增加所设定的详细错误信息. i i :命令 输入对 话框类 ( i n p u t d i a l o g ) 用户输入程序的窗口,可以实现程序的修改、保存、新建和执行等功能。 i v .结果 输出 对 话框类 ( o u t p u t d i a l o g ) 在程序执行过程中, 对于 每条命令的执行都会 在结果窗口中 输出相应的执 行结果。如果发生一般性的错误,则输出相应的行号和错误原因。 2 . 3 . 4显微物体类 显微物体为细胞等 微小的 在显微镜下观察的物体,主 要有卵 细胞、精子、 微针等。建立显微物体类的目的是要将系统中的操作对象和操作工具形成可识 别的具有几何特性的,能够用来推理和规划的对象。通过形状模型统计的各种 不同的物体对象的图像特性为显微图像子系统中的对象理解器识别对象提供信 息,其中形状模型中的数据可以通过系统的运行逐步扩充和改进。 第二章 面向对象的微操作机器人语言系统 显微物体类主要包括显微物体基类 ( o b j e c t m ) 、细胞 ( c e l l ) ,卵细胞 ( o o c y t e ) , 精子 ( s p e r m ) 、 微针 ( m i c r o n e e d l e ) , 形状模型 ( s h a p e t e m p l a t e ) ( 见图2 . 1 0 ) 0 图2 . 1 0显微物体类的u ml静态结构图 显微物体基类:是所有微小物体的基类,包含了识别物体需要的特性,包 括大小、形状 和所处 位置等数据, 类中函 数是对这些数据的 操作。由于物体之 间是相互联系的,并且显微物体大多情况下都附着在可移动的操作工具上,所 以 提供接口l i n k t o() 来设置其关联的 对象。 这样当 物体所处的 环境发生变化 时,通过获取其附着的对象的位置变化量,计算得到物体当前的位置。显微物 体提供的操作只限于性质及位置的获取和设置,而不存在主动操作的函数接口, 这是因为所有的物体都是被操作对象,不论是细胞还是微操作工具微针。只有 其附着的对象发生变化,其位置也才能改变。 细胞:派生自显微物体,由于细胞所处的环境一般是培养皿,所以类中包 含的数据也要反映这一情况。 卵细胞:派生自细胞,类中增加反映卵细胞自身特点的数据。 精子:派生自细胞,同卵细胞相似,类中增加反映精子自身特点的数据。 微针:派生自显微物体,微针是微操作工具的一种,应用在对微小物体注 射液体等操作。虽然微针整体尺度上不能算作显微物体,但是只有在显微镜下 其针尖的细节特征才能被观察到,比如其位置和针尖的直径等情况,所以也将 第二章 面向对象的微操作机器人语言系统 其归类在显微物体下。微针类中数据增加了微针的特有性质。 形状模型:存储了各种显微物体的形状特性,用来为对象的识别提供物体 性质信息。 2 . 3 . 5 控制系 统类 控制子系统是控制机器人作业的核心,将用户要求的机器人的任务进行处 理,确定动作序列,并实时的给用户做出反馈 ( 见图 2 . 1 1 ) 。主要包括环境理解 器 ( e r e c o 酗z a ti o n ) 、 环境 ( e n v ir o n m e n t ) 、 规 划器 ( p l a n ) 、 人 机交 互界 面 ( i n t e r f a c e ) 、已定义命令 ( a c o mm a n d )和状态信息 ( s t a t u s i n f o ) e :环境理解器 环境理解器负责用从显微图像系统的对象理解器分析得到的对象创建和更 新相应的 环境模型。主 要工作有建立坐 标系 统, 对识别出的对象 进行定 位和设 定它们之间的关系。由于环境的理解是一个不断交互的过程,从地图中识别出 准物体目 标的位置,然后再从相应的原始图像中识别出目标物体。环境理解器 和对象理解器是互为 输入的, 交互实现环 境的 识别。 i i .环境 环境是已 识别的目 标物体之间的关系 地图。 环境能否比 较准确的反映微操 作的 现实状态,是系 统规划生成的操作的 实现效果是否达到预期的 关键。 i i i .规划 规划模块用于机器人即为 机器人规划, 也称机器人问题求解。机器人系统 通过规划,运用感知信息建立的环境模型,产生适应对象和环境的动作,最后 解决任务问题.规划功能的强弱反映了机器人的智能水平的高低。在智能化程 度最高的机器人语言中,其重要功能就是生成 自 动规划。根据规划级别分为轨 迹规划和任务规划。 轨迹规划 ( t r o j e c t o ry p l a n ) :完成空间 点到点运动的路径生成, 在进行运动 路径生成时,考虑路径上的障碍问题并进行避碰处理。在此类中,主要存在两 类模块:一类是对当前工作空间状态的感知,一类是运动轨迹规划和避碰处理。 当前的工作空间状态由环境模型提供,由类中的私有函数进行封装;用公有函 数对轨迹规划模块进行封装,在函数内部生成一系列的运动控制指令,通过调 用运动接口对象的公有函数实现。 任务规划 ( t a s k p l a n ) :就是机器人的问题求解,根据用户提出的要求,感 第二章 面向对象的微操作机器人语言系统 知当前工作空间状态,求取完成任务所要执行的动作序列并执行,自 动生成完 成该任务的机器人执行程序。 盯 飞歹 硕 舀 而 一一一一一 ! s y s te m s ta tu s i i im a g e d is p la y ma g e ca rd l n t e rf a c plantrojecloryplan intaskplan statuslnfo 升 movlnterfacr environment旦 acommandobjedmap program programlnput 图2 . 1 1控制系统类的u mi . 静态结构图 i v .状态信息 从操作臂系统中运动接口获取机器人操作臂的状态信息,为环境模块提供 信息并实时将信息显示到人机交互界面上。 v .人机交互界面 人机交互模块负责接收用户的指令,调用其它对象的服务模块去执行,然 后把执行结果以友好的方式反馈给用户,以图形的方式同用户进行交互。人机 交互界面分为显示部分和用户操作部分。界面显示包括图像实时显示和系统状 态实时显示两部分。用户操作一般可分为两类:一类是系统提供的己定义的命 令的 按钮或菜单,包括机器人运动操作, 系统参数的设 置等功能;另一 类类是 任务操作,通 过编写相应程序由 编程子系统解释执 行实现。 图 像实时显示类 ( i m a g e d i s p l a y ) :负 责将采集到的显微图像实时的显示。 从图像卡接口获取图像并显示,提供了显微图像的输出功能,可以把视频图像 第二章 面向对象的微操作机器人语言系统 保存到图 像文件或从文件中 提取图 像数据显示到计算机屏幕上。 也可以 把显微 图 像以 文件的 形式保存到磁盘上,同时 还可以 把磁盘上的 显微图 像文件显示到 屏幕的视

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论