基于Petri网的多线程技术在机器人编队中的应用

来源 :科协论坛·下半月 | 被引量 : 0次 | 上传用户:cairinga
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:传统的单机器人难以适应复杂的任务以及灵活多变的环境,因此多机器人的研究受到越来越多的关注。结合多线程技术为机器人编队建立Petri网模型,运用Petri网模型对系统各线程对共享区资源的独占性存取,线程之间同步协作进行模拟分析,提出机器人编队的多线程软件解决方案。
  关键词:机器人编队 多线程技术 Petri网 解决方案
  中图分类号:TP242 文献标识码:A 文章编号:1007-3973(2013)006-047-02
  1 引言
  多机器人编队以其能够更加有效、准确的获取环境信息,提高工作效率,增加系统鲁棒性等优点成为机器人研究领域中的一个热点。编队成员之间通过加速度计、里程计、电子罗盘等传感器收集自身位姿信息实现自身定位,结合超声波、视觉等感知型传感器获得周围环境信息,采用无线组网的方式将个体的位置与环境信息在群体内共享并计算机器人之间的相对位置实现机器人编队。
  编队移动过程中对系统实时性要求较高,常需要多个任务并行运行,常规的软件设计方案难以满足要求,本文结合多线程技术为机器人编队的软件设计方案提供参考。引入多线程技术之后,由线程并发运行所造成的非确定性使得系统变得更加复杂,协调线程以配合完成系统控制任务、对共享区数据的访问进行限制等问题使常规的系统设计方法难以满足要求。Petri网理论是一种直接易用的系统建模工具,具有严格的数学定义,对具有并发行为的系统能够合理描述,对系统的运行过程能够直观的模拟。结合多线程技术为机器人编队建立Petri网模型,利用模型对机器人编队中的多线程的运行做模拟分析,提出机器人编队的多线程软件解决方案。
  2 多线程技术在机器人编队中的设计与实现
  多线程技术可以通过时分轮转调度算法在单片机中实现。每个活动的线程轮流使用CPU,每个线程占用CPU的一个时间片,CPU在多个线程间快速切换,宏观上表现为多个线程同时执行。本文将机器人编队划分为多个进程:主进程,获取任务命令进程,机器人间的通讯进程,进程中包含多个线程。本文所选的主控芯片为Freescale Kinetis系列,采用ARM Cortex-M4内核,处理速度快,外设接口丰富,能够较好的满足本设计的要求。
  主进程利用周期中断定时器产生时间片用于线程切换。时间片的长短根据各个线程的执行时间和各任务的响应要求来综合考虑。主进程中包含的线程有:获取机器人自身姿态线程、实现自身定位线程、实现机器人移动线程等。
  获取任务命令进程根据任务要求创建。机器人进行通信获取任务,根据目标任务的要求激活相应的子线程。若没有接到任务命令,则不执行本进程。
  机器人之间的通讯进程采用外部中断服务函数实现。当收到外部通信中断请求,或者本机对外通讯的中断请求时创建激活本进程。若没有接到通信中断请求,则不执行本进程。
  3 机器人编队的多线程Petri网模型
  本文主要研究的是带禁止弧的时间Petri网,该Petri网的定义请参考文献[2],本文不做过多的描述。
  用位置表示进程、线程和与此有关的工作状态,用变迁表示进程、线程的执行以及与此有关的工作过程,结合多线程技术为机器人编队建立Petri网模型,如图1所示。图中各标号相同的位置表示同一位置。表1是各主要位置和变迁实施的具体含义。
  在主进程中主要包含获取机器人自身姿态线程、实现自身定位线程、实现机器人移动线程(T0→T15)。每个线程能够执行应同时满足:轮巡的时间片到达、线程是活动的。例如在图1中实现机器人自定位线程的启动除了要等待时间片轮巡到P8,即等待所有传感器信息采集完毕,还需要系统对自定位线程的使能,使T5具有发生权,P7得到令牌。T11为获取命令进程的变迁节,只有当系统处于任务等待状态且收到任务命令时才创建并执行。
  机器人之间的通讯进程包含数据的接收线程与发送线程。每个线程在运行的过程中需要调用全局变量,如果一个线程访问并修改全局变量时,另一个线程启动并访问该变量,此时该变量的值将变得不确定,给系统带来安全隐患,因此需要对线程进行互锁。将所有线程需要访问的全局变量存放在一个共享区进行共享。图1中P11位置表示对访问共享区的线程进行互锁,只允许T9,T33,T16变迁中有且仅有一个线程对共享区进行访问,一个变迁节使能将使其他变迁节不能发生。图1中T18→T27表示数据发送子线程将数据以队列的形式进行传送。P28→T25的权值为3,即需要数据队列准备完毕才能开始建立连接。P28想要获得令牌,取决于变迁T22,T23,T24的引发,而这三个变迁的引发是相互竞争冲突的。本文引入禁止弧P25→T23和P26→T24可以使这三个变迁获得T22的优先级高于T23,T23的优先级高于T24的引发次序,从而确保数据队列的正确建立。
  图1 机器人编队的多线程时间Petri网模型
  表1 图1 Petri网中主要位置和变迁节的含义
  4 机器人编队的多线程软件解决方案探讨
  机器人编队中进程、线程之间的同步协作、对共享区资源的独占性存取、线程的启动与结束等方面的问题在上文中的Petri网模型均有体现。通过该模型的模拟运行,可以直观的了解各进程、线程之间工作流程中执行顺序、并发、竞争冲突以及同步关系。以此为基础,针对机器人编队中多线程的实现提出软件设计方案。
  线程优先级的设置以及调用通过函数ThreadScheduler实现。程序上通过switch-case与break结合,识别线程编号priority_num。优先级的设置通过case语句的排列顺序实现,优先级较高的排列靠前。线程的调用由线程编号决定,只有priority_num为某个线程的编号时,该线程才启动,实现时间片在多个线程之间的轮巡。
  主进程中线程的启动在中断定时器PIT0中实现,划分时间片长度为20ms(根据经验)即PIT0定时周期为20ms。周期中断一次,时间片TIME的数值加1,根据时间片TIME值的不同调用线程使能函数ThreadSet使能相应的线程。
  由于篇幅有限,本文仅提出机器人编队的多线程软件框架。详细的线程之间的互锁、同步、竞争等关系,编队通讯队列的建立等具体代码的实现将在后续论文中给予体现。
  5 结束语
  在机器人编队的软件设计中使用了多线程技术,使编队的多个任务能够同时执行,增强了编队的实时性,切实提高了编队效率。建立多线程的机器人编队带禁止弧的Petri网模型,可以直观明了地掌握多线程在工作流程中的执行顺序、竞争冲突、并发以及同步关系。为后期代码的实现提供参考,能够有效的避免多个线程对共享资源存取不当、线程不同步等常见问题,从而提高了机器人编队的稳定性和安全性。
  参考文献:
  [1] Arai T,Pagello E,Parker L E.Guest editorial advances in multirobot systems[J].IEEE Transaction on Robotics and Automation,2002,18(5):655-611.
  [2] 詹惠琴,袁亮,古天祥.基于多线程的智能仪器Petri网[J].仪器仪表学报,2005(9):909-912.
  [3] 陈宁,程磊,王永骥.基于多线程同步的多机器人协调技术和实现[A].中国人工智能学会第10届全国学术年会[C].2003.
  [4] 吴哲辉.Petri网导论[M].北京:机械工业出版社,2006.
  [5] 卢海军.最小的多线程框架[J].单片机与嵌入式系统应用,2010(4):70-71.
其他文献
纺锤体观测仪(polscope)是1966年美国Marine 生物实验室开发的,其将液晶可变减速器、电子成像及数码成像技术结合起来,可以观测到具有双折射特性的物质.
主动脉夹层(aortic dissection,AD)是指主动脉壁自内向外的裂口深及中膜,将管壁剥离形成壁内瘤腔,原主动脉称为真腔,新形成的瘤腔称为假腔,夹在两者之间的管壁称为夹层….该
32届世界眼科大会于今年6月5日至9日在德国柏林国际会议中心召开,参会代表就眼科学的最新进展及热点问题进行了研讨,其中玻璃体内注药、飞秒激光技术及纳米技术在眼科中的应用成为三大热点问题最为引人注目。
目的 总结腔镜辅助颈部小切口甲状腺切除术在甲状腺肿瘤中的应用.方法 回顾性分析我院自2006年1月至2009年12月行腔镜辅助颈部小切口甲状腺术式53例甲状腺肿瘤的临床资料.结果 除5例中转行常规开放手术外,余手术均获成功;术后暂时性喉返神经损伤1例,术后皮下积液3例,切缘皮肤烧伤3例,均未使用镇痛药物;无出血、低血钙等并发症发生;术后随访3~35个月,行甲状腺超声、CT、甲状腺核素扫描检查无复发
摘 要:介绍福建水口发电集团的4号机组励磁变压器高压侧绕组在直流电阻的测试数据中存在异常,继而分析数据,查找故障,最终确定励磁变压器存在绕组变形的故障,保障机组的安全稳定运行。  关键词:励磁变压器 绕组直路电阻 绕组变形  中图分类号:TM406 文献标识码:A 文章编号:1007-3973(2013)006-041-02  1 事件概述  福建水口发电集团在2011年4号机组励磁变的大修电气试
摘 要:近年来,随着低压配电系统智能化程度不断提高,低压无功补偿系统中复合开关较传统接触器使用比重日益增加。与此相伴的是:各复合开关生产厂家技术水平参差不齐,复合开关在使用过程中问题频出,安全问题日益突出。对低压复合开关在使用过程中出现的问题进行剖析,找出问题的根源,同时提出一种全新的思路和切实可行的解决方案。  关键词:复合开关 可控硅 CPU(中央处理单元) 过零 反馈  中图分类号:TM76
摘 要:作为电力系统的重点管理对象,安全生产管理一直是电力系统管理中的重中之重。分析电力系统中安全管理问题的产生现状,提出当前常用的管理手段和措施,指出电力系统安全管理中仍应努力的方向。研究的目的是防止引发安全事故的因素再次出现,对于已发事故能够及时通过各种手段和措施减少已发事故所造成的损失,为企业创造更好的经济效益。  关键词:电力系统 安全生产管理 管理措施 研究方向  中图分类号:TM73
摘 要:结合工程实例,介绍SR防渗材料在混凝土面板堆石坝接缝中的应用,为新型防渗材料在工程中的应用提供经验。  关键词:SR 防渗材料 面板坝 应用  中图分类号:TV223.4 文献标识码:A 文章编号:1007-3973(2013)006-028-03  1 工程概况  宁波溪口抽水蓄能电站位于浙江省奉化市溪口镇西北部,枢纽建筑物主要由上水库、下水库、输水系统、发电厂房和升压开关站等组成。电站
摘 要:在总结输电线路故障评判标准的基础上,针对影响电网可靠运行的雷击故障、污闪故障、微风振动故障等线路故障,从事故现象、形成原因、故障特点、危害等方面入手,分析各类故障的防范措施,对于输电线路的安全可靠运行具有积极的现实意义。  关键词:输电 安全 故障 防范  中图分类号:TM732 文献标识码:A 文章编号:1007-3973(2013)006-035-02  1 线路故障及评判标准  线路
摘 要:火力发电厂中,输送带做为燃料的输送媒介,起着非常重要的作用,同时输送带的粘接检修也困扰着各个发电厂输送带的应用,虽然目前输送带的热硫化粘接能使输送带得到更好的运行,但是复杂的粘接工艺,使很多电厂宁愿选择冷粘接来暂时保障输送带的运行。其实,只要方法得当,粘接工艺标准,冷粘接也可以达到很好的效果,来延长输送带的使用寿命,以保障输送带的运行。  关键词:输送带 粘接 寿命 伸缩量 修补剂 固化