基于μC/OS-II操作系统的竞赛机器人资源调度方案

来源 :硅谷 | 被引量 : 0次 | 上传用户:stwl1976
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要: 针对竞赛机器人在传统编程过程中带来的资源管理调度不完善现象,在机器人的控制芯片中装入一个嵌入式的实时操作系统内核μC/OS-II,该内核能够进行基于优先级的多任务处理,并且能够很好的管理与调度系统资源,具有很好的实时性和稳定性。在竞赛机器人的实际运用中,该内核减轻程序开发的负荷量,为软件调试人员的调试工作带来很大的方便。
  关键词: μC/OS-II;操作系统;机器人
  中图分类号:TP2文献标识码:A文章编号:1671-7597(2011)0320017-01
  
  0 引言
  在各种机器人竞赛中,机器人控制系统的资源管理分配、控制算法的优劣往往决定着最终的竞赛结果。目前,机器人控制系统方案中主控芯片以C8051、AVR、ARM9、DSP等主流芯片系列为主。这些控制芯片大多数都采用C语言的编程开发环境,但是,传统的C语言编程对嵌入式CPU的资源调度存在大量的浪费,例如软件延时程序,这些代码往往用循环的方式浪费CPU的资源。另外,传统的C语言编程无法很好的实现多任务的处理,无法达到多个线程的同时运行与实时处理,在处理实时性要求比较高的指令环节时,这些嵌入式CPU往往采用中断的方式进行实时处理,但是,这也带来了一个问题,就是当需要处理的任务增多时,中断的方式极容易带来不同中断间的相互嵌套,以及中断程序跟主程序的资源冲突问题。
  1 μC/OS-II操作系统
  1.1 内核简介
  µC/OS-II是著名的源代码公开的实时内核,是一个完整的,可移植、固化、裁剪的抢占式实时多任务内核。µC/OS-II是用ANSI C编写的,包含一小部分与微处理器类型相关的汇编语言代码,使之可供不同架构的微处理器使用。虽然µC/OS-II是在PC机上开发和测试的,但µC/OS-II的实际对象是嵌入式系统,并且很容易移植到不同架构的微处理器上。至今,从8位到64位,µC/OS-II已在超过40中不同架构的微处理器上运行。
  1.2 μC/OS-II的优点
  ΜC/OS-II是一个抢占式的内核,即已经准备就绪的高优先级任务可以剥夺正在运行的低优先级任务的CPU使用权。这个特点保证了它的高实时性。以51单片机为例,假如需要用中断方式采集一批数据并进行处理,在传统的编程方法中不能在中断服务程序中进行复杂的数据处理,因为这会使得关中断时间过长。所以经常采用的方法是置一标志位,然后退出中断。由于主程序是循环执行的,所以它总有机会检测到这一标志并转到数据处理程序中去。但是因为无法确定发生中断时程序到底执行到了什么地方,也就无法判断要经过多长时间数据处理程序才会执行,中断响应时间无法确定,系统的实时性不强。如果使用μC/OS-II的话,只要把数据处理程序的优先级设定得高一些,并在中断服务程序中使它进入就绪态,中断结束后数据处理程序就会被立即执行。这样可以把中断响应时间限制在一定的范围内。对于竞赛机器人这类对中断响应时间有严格要求的系统,这是必不可少的。
  2 μC/OS-II在竞赛机器人上的任务管理
  对于竞赛机器人来说,程序的模块化管理极为重要,传统的编程方式则是在主函数里面进行走模块以及动作执行模块的控制,中断环节进行位置的PID调节,外部信号的读取等。这种程序设计虽然简单易懂,但是当中断函数处理数据量加大时,会带来中断时间过长,程序的实时性反而不高的缺点,带来的缺点确实CPU资源的大量浪费,例如行走函数的退出检测条件通常用的是while(position!=destination);这其实是在大量的浪费CPU时间,CPU可以利用这些时间进行PID调节及其外部信号的读取等等。
  采用操作系统的编程方式,则不会出现这种资源的浪费现象,并且能够很好的管理系统的资源以及各个任务之间关系。对于基于μC/OS-II操作系统作为控制系统内核的机器人,可以对传统的程序做很多优化的处理,在软件设计方面,开启两到三个线程任务进行机器人的行走以及其他任务的控制。任务1进行行走以及各动作的全局动作控制,任务2进行行走时的PID调节以及外部手柄等信号的读取,任务3进行与外界的通信实现。各任务之间设置不同的优先级。当机器人行走的时候,把PID调节的线程优先级设为最高级,这样,在保证PID调节任务正常进行的情况下,把PID调节空余的时间拿来执行其他的线程任务,例如读取外部遇障信号,读取外部手柄控制信号,以及跟外界的通信等等。当机器人停止行走而开始执行其他动作任务时,可以调整其他线程的优先级为最高级,保证其他任务的顺利进行。而当机器人又开始行走时,又可以把行走环节以及PID调节的线程的优先级设为最高级。这样根据实际的情况进行优先级高低的切换,从而达到真正的多任务实时性处理。
  3 总结
  基于μC/OS-II的操作系统在竞赛机器人编程方式上取得很大的突破,解决了传统C语言编程给编程人员带来的资源分配不合理以及资源浪费等问题,很好的使程序达到了模块化设计的效果,使系统的资源管理技术上升了一个档次,并且增加系统的稳定性,真正发挥了32位机器的多任务的功能。在实际应用中,μC/OS-II操作系统也为编程人员的提供了一条快速编程的捷径,大大减少了软件开发的周期,对于系统的调试、检查也带来很大的方便,并且取得了较好的效果。
  
  参考文献:
  [1][美]Jean J Labrosse,嵌入式实时操作系统μC/OS-II(第二版)[M].邵贝贝等译,北京:北京航空航天大学出版社,2004.
  [2]任哲,嵌入式实时操作系统原理及应用[M].北京:北京航天航空大学出版社,2005.
  [3]宗光华,机器人的创意设计与实践[M].北京:北京航空航天大学出版社,2004.
  [4]方建军等,智能机器人[M].北京:化学工业出版社,2003.
其他文献
该项课题是中国石油天然气集团公司“九五”重点攻关项目———石油勘探、开发应用软件工程化与集成技术中的一个子课题,由我院计算机科学系吴继周、李从信教授等人历经两年
我们是共产党员心海里航行着南湖的红船肩负着民族复兴的重担党指向哪里就向哪里扬帆摇桨就向哪里跃马扬鞭我们是共产党员战争年代我们冲锋陷阵死而无憾和平时期我们任劳任怨
挥发性有机化合物是一类环境有机污染物,如醛类、酯类和有机酸类有机物。VOCs主要来源于工业生产、食品加工、机动车辆尾气。长期暴露会对人体具有致畸、致突变和致癌等作用
相对于动物的其他感觉系统,嗅觉系统是一种在种系发生上最原始、退化上最快、结构上最简单而研究上又起步较晚的化学感觉系统,它的研究对感觉神经系统、脑信息处理机制和记忆机
电视作为大众传播工具,是群众了解信息的重要渠道,必须围绕党和政府一段时间的中心工作,以受众的需求为工作起点,以受众的关注为报道重点,以受众的收视率为节目的落脚点,通过
母牛处于妊娠阶段的时候身体各项机能相对比较脆弱,容易出现各种各样的繁殖系统疾病,其中卵巢疾病是常见的一种.母牛卵巢类疾病会导致母牛生产性能的下降,同时犊牛的健康水平
目的比较根治切除术与姑息性手术治疗肝胆管结石合并肝胆管癌的临床效果。方法回顾性分析四川省射洪县中医院外1科2008年9月—2011年11月收治的肝胆管结石合并肝胆管癌患者44
左权的牺牲让妻子刘志兰哭坏了眼睛,整整一年都精神恍惚/此后的几十年里,刘志兰都为还左权一个完整的政治生命而奔波左权是员儒将,一个情感细腻的男子,内心世界很丰富。在苏联
士官支委在参与集体领导时应注意克服和纠正三种倾向性问题。一、纠正“自由放任”的倾向。有的基层党支部在执行党内纪律上出现“弱化”的趋势,原因就在于一些党员干部还包
用物理一化学方法分析顿巴斯煤炭得出,不同类别煤炭的化学成分和组织构造,其互相间的突出危险性不同。这些区别在突出危险地带的煤炭中特别明显。用光谱分析的方法可得出这些煤