所谓“实时” ,是表示“及时” ,而
实时系统(Real Time System)是指系统能及时(或即时)响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。其中实时任务是随环境而改变的,适用实时系统是指适用于某一类环境或应用的实时系统。
简介
适用实时系统是指适用于某一类环境或应用的
实时系统。设计适用于实时环境的操作系统的主要困难是,在实时环境规定的时间限额内,必须对用户做出相应的响应。如果系统不能在规定的时间限额内完成指定的任务,那么就可能导致整个系统的崩溃;其次实时系统应用场景具有不确定性,多变性和适用性。例如自动驾驶系统和火车的订票系统的适用性是不同的。适用实时系统是实时系统中的一种,是针对解决实际应用中关键的问题而设计的。
需求
实时控制
当把计算机用于生产过程的控制, 以形成以计算机为中心的控制系统时,系统要求能实时采集现场数据,并对所采集的数据进行及时处理,进而自动地控制相应的执行机构,使某些(个)参数(如温度、压力、方位等)能按预定的规律变化,以保证产品的质量和提高产量。类似地,也可将计算机用于对武器的控制,如火炮的
自动控制系统、
飞机的自动驾驶系统,以及导弹的制导系统等。此外,随着
大规模集成电路的发展,已制作出各种类型的芯片,并可将这些芯片嵌入到各种仪器和设备中,用来对设备的工作进行实时控制,这就构成了所谓的智能仪器和设备。在这些设备中也需要配置某种类型的、能进行实时控制的系统。通常把用于进行实时控制的系统称为实时系统。
实时信息处理
通常,人们把用于对信息进行实时处理的系统称为实时信息处理系统。该系统由一台或多台主机通过通信线路连接到成百上千个远程终端上,计算机接收从远程终端上发来的服务请求,根据用户提出的请求对信息进行检索和处理,并在很短的时间内为用户做出正确的响应。典型的实时信息处理系统有早期的飞机或火车的订票系统、情报检索系统等。
实时任务
在实时系统中必然存在着若干个实时任务,这些任务通常与某个(些)外部设备相关,能反应或控制相应的外部设备,因而带有某种程度的紧迫性。可从不同的角度对实时任务加以分类。
按任务执行时是否呈现周期性来划分
(1) 周期性实时任务。外部设备周期性地发出激励信号给计算机,要求它按指定周期循环执行,以便周期性地控制某外部设备。
(2) 非周期性实时任务。外部设备所发出的激励信号并无明显的周期性,但都必须联系着一个截止时间(Deadline)。它又可分为开始截止时间(某任务在某时间以前必须开始执行)和完成截止时间(某任务在某时间以前必须完成)两部分。
根据对截止时间的要求来划分
(1) 硬实时任务(Hard real-time Task)。系统必须满足任务对截止时间的要求,否则可能出现难以预测的结果。
(2) 软实时任务(Soft real-time Task)。它也联系着一个截止时间,但并不严格,若偶尔错过了任务的截止时间,对系统产生的影响也不会太大。
实时系统的基本特点
时间约束
实时系统的任务具有一定的时间约束(截止时间)。根据截止时间,实时系统的实时性分为“硬实时”和“软实时”。硬实时是指应用的时间需求能够得到完全满足,否则就造成重大安全事故,甚至造成重大的生命财产损失和生态破坏,如在航空航天、军事、核工业等一些关键领域中的应用。软实时是指某些应用虽然提出时间需求,但实时任务偶尔违反这种需求对系统运行及环境不会造成严重影响,如监控系统等和
信息采集系统等。
可预测性
可预测性是指系统能够对实时任务的执行时间进行判断,确定是否能够满足任务的时限要求。由于实时系统对时间约束要求的严格性,使可预测性成为实时系统的一项重要性能要求。除了要求硬件延迟的可预测性以外,还要求软件系统的可预测性,包括
应用程序的
响应时间是可预测的,即在有限的时间内完成必须的工作;以及
操作系统的可预测性,即实时原语、调度函数等运行开销应是有界的,以保证应用程序执行时间的有界性。
可靠性
大多数实时系统要求有较高的
可靠性。在一些重要的实时应用中,任何不可靠因素和计算机的一个微小故障,或某些特定强实时任务(又叫关键任务)超过时限,都可能引起难以预测的严重后果。为此,系统需要采用
静态分析和保留资源的方法及冗余配置,使系统在最坏情况下都能正常工作或避免损失。
可靠性已成为衡量实时系统性能不可缺少的重要指标。
交互作用
实时系统通常运行在一定的环境下,外部环境是实时系统不可缺少的一个组成部分。计算机子系统一般是
控制系统,它必须在规定的时间内对外部请求做出反应。外部物理环境往往是被控子系统,两者互相作用构成完整的实时系统。大多数控制子系统必须连续运转以保证子系统的正常工作或准备对任何异常行为采取行动。
多任务类
在实时系统中,不但包括
周期任务、偶发任务、非周期任务,还包括非实时任务。实时任务要求要满足时限,而非实时任务要求要使其
响应时间尽可能的短。多种类型任务的混合,使系统的可调度性分析更加困难。
复杂性
任务的约束包括时间约束、
资源约束、执行顺序约束和
性能约束。时间约束是任何实时系统都固有的约束。资源约束是指多个实时任务共享有限的资源时,必须按照一定的资源访问控制协议进行同步,以避免死锁和高优先级任务被低优先级任务堵塞的时间(即优先级倒置时间)不可预测。执行顺序约束是指各任务的启动和执行必须满足一定的时间和顺序约束。例如,在分布式端到端(end-to-end)实时系统很重,同一任务的各子任务之间存在前驱/后驱约束关系,需要执行同步协议来管理子任务的启动和控制子任务的执行,使它们满足时间约束和系统可调度要求。
性能约束是指必须满足如
可靠性、可用性、可预测性、服务质量(Quality of Service,QoS)等性能指标。
适用于室内服务机器人的实时物体识别系统
随着科技的进步和人口老龄化问题的加剧, 服务机器人得到了国内外的普遍关注和深入研究。物体的操作与搬运是服务机器人最重要的基础功能之一,而一个功能完善的物体操作过程的实现离不开准确、实时的物体检测与识别。因此,快速、 准确的物体检测与识别是服务机器人研究领域非常具有应用前景的课题。国际服务机器人标准测试 RoboCup@Home 也专门将物体检测和识别作为了一项挑战测试。
为了能够准确地执行手臂规划和抓取操作, 机器人的物体识别系统不仅需要识别出目标物体的标识,还需要提供目标物体及其附近障碍物的准确空间位置信息(物体定位)。 由于真实环境复杂多变, 在机器人上实现实时可靠的物体识别系统仍是具有挑战性的任务。
一般地, 根据处理数据的类型不同, 机器人的物体识别分为基于
二维图像以及基于深度信息的方法。 基于二维图像的物体识别主要利用图像的颜色、纹理、局部特征等。
物体识别系统总体流程如图所示,输入为三维点云和彩色图像,共分为两步。第一步实现物体的检测,由于室内环境中的机器人可操作物体(如饮料、杯子等)通常放置于桌子、架子等水平面上,我们首先将这些水平面从三维点云中分割出来(如图, 水平面分割过程中 RGB-D 图像上Ⅰ处绿色标记的区域), 以此为基础再对每个水平面之上的剩余点云进行分割得到相互独立的物体聚类, 这些聚类即检测出的物体。 第二步进行物体识别,首先定位每个物体聚类在彩色图像中的区域, 并提取每个区域的 SURF 特征,然后与物体特征数据库进行特征匹配, 输出识别的物体标识。
实时的物体检测和识别是机器人视觉领域一个具有挑战性的任务。本文设计并实现了一种适用于室内服务机器人的物体识别系统, 通过三维点云分割实现快速有效的物体检测和定位,采用 SURF 特征匹配的方法实现准确的物体识别。在真实室内环境多个场景中的实验结果以及 RoboCup@Home 物体识别相关测试的结果共同表明了该系统有效可行,可较好地满足室内服务机器人物体检测和识别的实时性和可靠性要求。