0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

RT-Linux与Linux相结合的机器人控制系统的设计与实时性能分析

电子设计 来源:郭婷 作者:电子设计 2018-12-06 08:02 次阅读

机器人控制器的设计中,如何最大程度的提高机器人控制的实时性是一个关键问题。这里我们运用了将软件任务划分实时域与非实时域的思想,实现了一种将RT-Linux与Linux结合的实时机器人控制系统。该系统的优点是:提供了非常高效的满足底层硬件设备的实时性能,可以充分利用 Linux的强大功能;而且RT-Linux是完全开放源代码的免费软件,降低了开发成本。

1 RT-Linux的系统结构

RT-Linux的基本思想就是使Linux运行在实时核心之下,如图1所示。RT—Linux是一个可加载的核心模块。一个小的RT-Linux实时内核同原来的Linux内核共同控制处理器。实时内核直接管理硬件中断,因此实时内核操纵着机器的响应时间,原来的Linux就无法影响实时任务了。在RT- Linux中设计了两类中断。软中断是正常的Linux中断,硬中断则是真正的实时中断,执行时几乎没有任何延迟。实现时,RT-Linux是通过在 Linux核心和中断处理器之间设计一个仿真软件来达到其目的的。

RT-Linux与Linux相结合的机器人控制系统的设计与实时性能分析

在RT-Linux中采用两种调度策略。一种是基于优先级的抢占式调度算法;另一种是lsmaelRipoll实现的 EDF(EarliestDeadlineFirst)算法。对于周期性任务可以采用单调率调度算法,即周期短的任务能够获得较高的优先级。调度策略将 Linux视为赋予最低优先级的实时任务。

Linux仅仅在实时系统没有其它任务时运行。Linux和实时任务之间的转换依据上述提及的软中断状态而定。RT-Linux通过这样一种设计方法,将标准的Linux核心改成一个可抢占的、具有低延迟中断处理的实时系统。

2 实时机器人控制系统的软/硬件结构

2.1硬件系统结构

整个实时机器人控制系统主要的硬件部件为:与IBM—PC兼容PentiumIII733MHzq-业控制微机(IPC),内存l28MB;三轴位置控制卡(PCL一832);l0/100M自适应网卡、集线器等以太网连接设备;机器人本体为具有5个自由度的日产PT500机器人。

机器人控制器运行于一台工业控制微型计算机(IPC)上。在该IPC上安装了两块三轴位置控制卡。每块三轴位置控制卡能对三轴进行联动插补控制。每轴有专用位置芯片控制,构成一个伺服位置和速度环。放在DDA脉冲缓冲器中的脉冲数被传到DDA发生器,在下一个DDA周期中输出。然后由三轴位置控制卡将各轴对应的脉冲数解释为相应的电平信号,驱动伺服驱动器以驱动机器人本体的运动。

2.2软件系统结构

整个机器人实时控制器的系统结构如图2所示,整个系统分为2个域:实时域和非实时域。实时域中实现的是实时设备驱动程序,负责PCL-832位置控制卡的控制与中断响应,驱动机器人本体运动;非实时域中实现的是上层的机器人控制界面和远程监控子系统;二者之问通过实时先进先出(RT-FIFO)缓冲队列进行数据交换。内核调度策略将Linux视为赋予最低优先级的实时任务,Linux中的非实时任务仅仅在实时系统没有其它任务时运行,以确保实时任务的最高实时优先级。

RT-Linux与Linux相结合的机器人控制系统的设计与实时性能分析

(1)RT-Linux中的实时模块

实时域中的软件模块主要是三轴位置控制卡(PCL一832)的设备驱动程序。驱动程序是能够直接访问硬件的模块,具有应用程序不具备的处理中断和读写端口的能力,是嵌入操作系统核心的底层软件。三轴位置控制卡以毫秒级发出DDA中断请求,对DDA中断的响应的快慢是决定整个机器人控制器实时性能的关键指标。RT-Linux中的三轴位置控制卡的实时设备驱动程序必须处理以下事务:

① 响应三轴位置卡的插补周期中断(DDA),并输出位置脉冲数值;

② 响应三轴位置卡的误差溢出中断(Ov),通知应用程序进行相应处理;

③ 为应用程序提供服务,如读写I/O端口、设置参数、读取状态等。

(2)Linux中的非实时模块

非实时域中的软件模块由机器人控制器和远程监控子系统组成。本地的机器人控制器负责将文本机器人指令解释成相应的位置脉冲数据,通过先进先出(RT- FIFO)缓冲队列发送给实时域中的驱动程序驱动机器人本体运动。同时具有权限的用户能够以离线编程方式或在线操作方式通过高速以太网分别与离线编程与仿真数据发生器和机器人控制器进行连接,实现离线编程和对机器人的实际控制。

3 实时系统的性能评估

实时系统的性能评估主要在8个方面进行。它们分别是任务换道性能、任务优先级性能、内存分配性能、任务内部通信性能、中断延迟时间、操作系统运行时效率、初始化时间和关机时间。而在机器人控制中最讲究的就是中断响应时问。因为就本项目而言,我们最关I~,RT-Linux系统对三轴位置控制卡(PCL一 832)的DDA中断的响应时间,所有工作的目的就是为了尽量减少中断响应时间。

3.1测试环境及方法

用于测试的工业控制微机的硬件配置为IntelPentium(clockl20MHz),RAM64MB;服务器软件是用 RedHatLinux6.0(内核版本号2.2.5一l5),RT-Linux的版本号2.2;网络环境l0/100M自适应网卡。中断响应时间的快慢直接反映了这样一个过程的快慢:在用户层的用户进程通过系统调用将脉冲数据写入位于核心层的实时驱动程序的数据缓冲队列,在下一个DDA中断请求到来时,中断服务例程将数据缓冲队列中的脉冲数据写入三轴位置控制卡的动作控制芯片的缓冲区,驱动机器人本体运行。图3反映了上述过程。

RT-Linux与Linux相结合的机器人控制系统的设计与实时性能分析

3.2测试结果

分别设置DDA周期为8、12、16、24ms的4种情况作了测试,经过计算,可以得出表1所示的结果。

RT-Linux与Linux相结合的机器人控制系统的设计与实时性能分析

表1 低负载下D DA中断响应处理时问测试结果

由此得出,在低负载下RT-Linux的测量时间要比Linux下快0.5—0.6ms左右,证明采用RT—Linux系统确实能够提高系统的实时性能。需要注意的是:

① RT—Linux直接接受硬件中断,所以我们将PCL一832卡的DDA中断和OV中断安装在实时域中,目的就是让RT-Linux最先捕获这两个实时中断,进行处理。

② 如果用户应用层开辟大量的用户进程,则对于分时的标准Linux来说会受到很大程度的影响。

由测试结果可看出,RT-Linux系统中断响应比标准Linux延时时间短,这个结果也预示在系统高负载情况下RT-Linux系统中的实时性能的优势将更为明显。实际使用该实时机器人控制器时,机器人运行非常稳定,能够满足实时控制的需要。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制系统
    +关注

    关注

    41

    文章

    6633

    浏览量

    110674
  • 机器人
    +关注

    关注

    211

    文章

    28483

    浏览量

    207437
  • Linux
    +关注

    关注

    87

    文章

    11314

    浏览量

    209807
收藏 人收藏

    评论

    相关推荐

    基于LinuxRTLinux实现实时机器人控制系统的设计

    实时系统是能够在确定的时间内执行计算或处理事务并对外部事件作出响应的计算机系统。对工业机器人控制来说,
    的头像 发表于 04-08 09:42 1.3w次阅读
    基于<b class='flag-5'>Linux</b>和<b class='flag-5'>RT</b>—<b class='flag-5'>Linux</b>实现<b class='flag-5'>实时机器人</b><b class='flag-5'>控制系统</b>的设计

    基于arm的实时linux操作系统

    最近想尝试使用armA8做一款机器人主控制器,一般说来目前的绝大部分工业机器人都是采用x86架构的处理器。这就造车了控制器体积、散热、功耗、扩展能力的诸多不便。由于机器人
    发表于 07-18 22:27

    如何设计智能灭火机器人控制器?

    应用对象相结合后的系统,其是硬件和软件紧密捆绑在一起的系统。将嵌入式系统应用于灭火机器人的设计中,对机器
    发表于 07-31 06:23

    4种实时操作系统实时性的分析对比分析,VxWorks、μC/OS-II、RT-Linux、QNX选哪个?

    本文从实时性的角度细致的分析对比了适用于此类有苛刻实时性要 求的4种操作系统—VxWorks、μC/OS-II、RT-Linux、QNX,为
    发表于 04-27 06:46

    如何实现基于RT-Linux的防危核?

    要保证危核的有效性需要遵循哪些原则?开发平台RT-Linux OS构架与特征是什么在RT-Linux中实现防危核的可行性如何实现基于RT-Linux的防危核?
    发表于 04-28 06:59

    机器人控制系统

    1、机器人控制系统控制”的目的是使被控对象产生控制者所期望的行为方式。 .“控制”的基本条件是了解被控对象的特性。 “实质”是对驱动器输
    发表于 09-13 08:40

    什么是机器人控制系统

    什么是机器人控制系统机器人的运动控制系统包含哪些方面?机器人控制系统的基本功能有哪些?
    发表于 10-11 09:38

    通过多轴工业机器人来聊聊机器人控制系统以及控制器的实现

    机器人控制系统当中。那么今天,我们就通过多轴工业机器人来聊聊机器人控制系统以及控制器的实现。 
    发表于 02-24 17:05

    基于ARM9和Linux机器人控制系统设计

    利用ARM 和嵌Linux 作为智能机器人平台具有很大的优势,但在国内还未发现用该平台开发智能机器人系统。本设计完成了对该
    发表于 11-30 12:04 10次下载

    变电站巡检机器人控制系统设计

    本文针对变电站设备巡检工作的实际情况,提出了一种基于嵌入式Linux 操作系统的巡检机器人控制系统的软件体系结构;完成了在PC104 硬件模块上的
    发表于 12-16 16:41 22次下载

    基于RT-Linux防危保障机制的实验模型

    本文以RT-Linux实时操作系统为平台,对十字路口交通灯控制建立安全实验模型,硬件防危核实现威廉希尔官方网站 ,为防危保障探索新的实现途径
    发表于 05-14 10:24 925次阅读
    基于<b class='flag-5'>RT-Linux</b>防危保障机制的实验模型

    几个RT-Linux 源码

    几个RT-Linux 源码
    发表于 01-08 14:27 11次下载

    关于四种实时嵌入式Linux操作系统的对比分析浅析

    本文对四种实时操作系统(RTOS)特性进行分析和比较。它们是:Lynx实时系统公司的LynxOS、QNX软件
    发表于 09-05 17:39 6333次阅读

    机器人控制系统分类_机器人控制系统有哪些

    机器人控制系统,就相当于人体的大脑,是机器人的核心组成部分。关于机器人控制系统有哪些分类呢?机器人
    发表于 11-04 08:45 2.7w次阅读

    工业实时操作系统对比:鸿道Intewell跟rt-linux有啥区别

    Intewell和RT-Linux是两种不同的实时操作系统(RTOS),它们具有各自独特的特点和优势。以下是Intewell操作系统的一些关键特性,以及与
    的头像 发表于 07-03 10:00 549次阅读
    工业<b class='flag-5'>实时</b>操作<b class='flag-5'>系统</b>对比:鸿道Intewell跟<b class='flag-5'>rt-linux</b>有啥区别