机器人控制系统实时性的研究
实时系统是能够在确定的时间内执行计算或处理事务并对外部事件作出响
应的计算机系统。 对工业机器人控制来说, 实时性是一个相当重要的内容, 尤其
是在远程机器人控制中, 如果不能很好地满足系统所需的实时性要求, 就失去了
研究的基础和意义。 当前专用的实时操作系统很多, 但是遗憾的是它们的价格高
昂, 增加了开发成本。 在考虑实时操作系统核心的性能之外, 更应该对开发工具、
编译器、 调试器之类的开发环境进行全面考虑, 尤其是随着应用的不断升级, 要
求实时操作系统支持各类网络协议和编程语言, 系统的通用性和可移植性也应当
列入考虑的范围内。 于是力求寻找一种高性能的、 低价的甚至是免费的实时操作
系统,且功能必须完备,通用性必须强。 RT— Linux 与 Linux 的结合是一项比较
新颖的技术,一方面它提供了面向非实时的 POSIX. 1的标准功能,另一方面又
提供了非常高效的满足底层硬件设备的实时性能需要。 这种实现方法可以充分利
用 Linux 的强大功能和 RT— Linux 的实时性能。 而且 RT— Linux 是免费的, 完全
开放源代码,可降低开发成本,适用范围广泛。
1 RT-Linux 的系统结构
RT-Linux 的基本思想就是使 Linux 运行在实时核心之下, 见图 1。 RT— Linux
是一个可加载的核心模块。一个小的 RT-Linux 实时内核同原来的 Linux 内核共
同控制处理器。 实时内核直接管理硬件中断, 因此实时内核操纵着机器的响应时
间,原来的 Linux 就无法影响实时任务了。在 RT- Linux 中设计了两类中断。软
中断是正常的 Linux 中断, 硬中断则是真正的实时中断, 执行时几乎没有任何延
迟。实现时, RT-Linux 是通过在 Linux 核心和中断处理器之间设计一个仿真软
件来达到其目的的。
实时中断不经过中断仿真器, 标准 Linux 的所有硬件中断首先被中断仿真器
捕获, 所以也根本无法影响实时进程的处理。 当实时内核禁止中断时, 仿真器中
的一个标志位被置 0。当有其它非实时中断产生时,仿真器检查那个标志位,如
果为 0,说明不允许中断,否则可以立即执~ Linux 中断处理程序。筒而言之,
Linux 不能中断自身,但是 RT-Linux可以中断 Linux,这也就达到了所谓
的”RT— Linux的核心可抢占机制”。 实时任务与普通进程之间的通信是通过封