安防人上中安网!

关注我们  

安防网 >> 工程方案 >> 其他

基于LPC2104的爬壁机器人控制系统设计(二)

2009-07-31 18:44:16 来源:安检排爆网 作者:Boxer 责任编辑: boxer158 收藏本文
OS_CPU_A.ASM文件要实现在多任务启动函数中调用OSSTartHightRdy(),任务切换函数OSCtxSw(),中断任务切换函数OSIntCtxSw()和时钟节拍服务函数OSTickISR...

  3.1.2OS_CPU_A.ASM文件的移值


  OS_CPU_A.ASM文件要实现在多任务启动函数中调用OSSTartHightRdy(),任务切换函数OSCtxSw(),中断任务切换函数OSIntCtxSw()和时钟节拍服务函数OSTickISR()这4个汇编函数的改写。上层任务调度部分不需要任何改动。

  3.2系统任务划分及调度


  3.2.1系统任务划分


  嵌入式实时系统中的任务不同于前后台系统中的子程序模块,任务是处理机按程序处理数据的过程,是个动态的概念。一般,一个任务对应于一段独立的主程序。它可以调用各种子程序,并使用各种系统资源如中断、外设等,以完成某种预定的功能,且允许多个任务并行运行。嵌入式系统任务划分,是将系统中所有要处理的事情划分为一个个相对独立的任务模块,所有待处理的任务模块按顺序建立一个个的任务,并分配任务的优先级。在主程序中,所需要做的工作只是建立这些模块的任务,然后每次执行就绪任务队列中优先级最高的任务。根据微型爬壁机器人控制系统的性能指标和技术要求,对可系统进行如下的任务划分:前进、后退、左转弯、右转弯、串行通信、数据采样与数据处理等任务。


  3.2.2任务调整


  μC/OS-II的任务调度是按优先级进行的,根据各任务的实时性要求及重要程度,分别置它们的优先级为10、9、5、6、12、11,其中0、1、2、3、OS_LOWEST_PRIO3、OS_LOWEST_PRIO3、OS_LOWEST_PRIO2、OS_LOWEST_PRIO1、OS_LOWEST_PRIO0这几个优先级保留以被系统使用。优先级号越低,任务的优先级越高。


  为了在后台实时检测同步信号的变化,及时产生相应的事件,可直接利用嵌入式微控制器所提供的各种中断,通过对中断服务处理程序传递信号量,来唤醒等待同步信号的任务,使这个任务从挂起状态到就绪状态,送到CPU执行,从而达到实时处理的目的。


  在多任务系统中,消息、信号是系统能够在各个任务之间通信最常用的手段,其中,使用信号量是协调多任务最简单有效的手段。在μC/OS-II中,一个任务或者中断服务子程序,通过事件控制块来向另外的任务发信号。当微型爬壁机器人启动之后,首先通过接触传感器和压力传感器检测4只吸盘是否很好的与壁面吸合;同时,通过红外传感器检测前面是否有障碍物。如果一切正常就发送信号量给直线前进任务,直线前进任务接受到信号量开始运行,通过协调控制12个电机并配合相应传感器使爬壁机器人沿直线运行。当红外传感器检测到前面有障碍物时,会进入中断程序,在中断程序中发送信号给停止任务,停止任务接收以信号量后运行。首先使机器人停下来调整好姿势确保机器人四足吸在壁面上,然后发送信号量唤醒左转或者右转任务,控制机器人绕过障碍物。以后还可以给微型爬壁机器人配备微型摄像头,对目标现场进行实时数据采集。总之,在微型爬壁机器人的控制系统中,信号、消息不断传递,使得各个任务不断切换运行,整个系统得以正确运转工作。


  4未来的工作


  因为微型爬壁机器人的关键技术是基于微机械电子技术、微驱动器技术、微传感器技术、高分子材料技术等方面,所以只有在这些方面有所突破,微型爬壁机器人才能走向实用化。所设计的微型爬壁机器人目前只能采用半闭环控制,因为微型电机没有理想的位置反馈传感器,所以目前只能通过反复和实验测出各位置的时间,然后通过时间来控制微型电机的转动位置,在以后的研究工作中,我们希望能在微型传感器方面有所突破。

【想第一时间了解安防行业的重磅新闻吗?请立即关注中安网官方微信(微信号:cpscomcn)——安防行业第一人气微信,万千精彩,千万不要错过!!!

中安网官方微信

网友评论

共有0条评论  点击查看全部>>

所有评论仅代表网友观点,与本站无关。

24小时阅读排行

本周阅读排行

订阅邮件
安防速递

每天三个要闻,知晓行业关键

E 周 刊

一周事,一朝知

Email: