基于RT-Linux机器人控制系统实时性的研究
时间:11-17
来源:互联网
点击:
(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中断请求到来时,中断服务例程将数据缓冲队列中的脉冲数据写入三轴位置控制卡的动作控制芯片的缓冲区,驱动机器人本体运行。因此,我们将用户层的用户进程开始调用系统调用发送脉冲数据的时刻作为测试开始时刻,将下一个DDA中断请求到来时,相应的DDA中断服务例程将数据写入三轴位置控制卡的动作控制芯片的缓冲区,以驱动机器人本体运行的时刻作为测试结束的时刻。图3反映了上述过程。
3.2测试结果
我们分别设置DDA周期为8、12、16、24ms的4种情况作了测试,经过计算,可以得出表1所示的结果。
表1 低负载下D DA中断响应处理时问测试结果
可见,在低负载下RT-Linux的测量时间要比Linux下快0.5—0.6ms左右,证明了采用RT—Linux系统确实能够提高系统的实时性能。在这里有几点需要说明:
(1)RT—Linux直接接受硬件中断,所以我们将PCL一832卡的DDA中断和OV中断安装在实时域中,目的就是让RT-Linux最先捕获这两个实时中断,进行处理。但是在标准Linux下采用的是软中断的概念,也就是说无法保证DDA中断和OV中断最先执行。我们的机器人控制器一旦加上网络通信模块,进行监视和仿真时,则在运行过程中DDA中断和OV中断要受到来自网卡中断的影响。所以在这种情况下,为了保证机器人运动的实时性,采用RT- Linux的优势就体现出来了。如果在网卡干预的情况下测试,标准Linux下的中断处理时间将比RT.Linux下要来得更长。
(2)如果用户应用层开辟大量的用户进程,则对于分时的标准Linux来说会受到很大程度的影响。但是对于RT-Linux来说,实时进程不会受到非实时域中用户进程的影响,所以在这种重负载情况下,RT-Linux的实时性比标准Linux下要高。
由测试结果可以看出,RT-Linux系统中断响应比标准Linux延时时间短,这个结果也预示在系统高负载情况下RT-Linux系统中的实时性能的优势将更为明显。实际使用该实时机器人控制器时,机器人运行非常稳定,能满足实时控制的需要。
4 总结
在机器人控制器的设计中,如何最大程度的提高机器人控制的实时性是一个关键问题。本文中我们运用了将软件任务划分实时域与非实时域的思想,提出并实现了一种将RT-Linux与Linux结合的实时机器人控制系统。该系统的优点是:一方面提供了非常高效的满足底层硬件设备的实时性能,另一方面可以充分利用 Linux的强大功能。而且RT-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中断请求到来时,中断服务例程将数据缓冲队列中的脉冲数据写入三轴位置控制卡的动作控制芯片的缓冲区,驱动机器人本体运行。因此,我们将用户层的用户进程开始调用系统调用发送脉冲数据的时刻作为测试开始时刻,将下一个DDA中断请求到来时,相应的DDA中断服务例程将数据写入三轴位置控制卡的动作控制芯片的缓冲区,以驱动机器人本体运行的时刻作为测试结束的时刻。图3反映了上述过程。
3.2测试结果
我们分别设置DDA周期为8、12、16、24ms的4种情况作了测试,经过计算,可以得出表1所示的结果。
表1 低负载下D DA中断响应处理时问测试结果
可见,在低负载下RT-Linux的测量时间要比Linux下快0.5—0.6ms左右,证明了采用RT—Linux系统确实能够提高系统的实时性能。在这里有几点需要说明:
(1)RT—Linux直接接受硬件中断,所以我们将PCL一832卡的DDA中断和OV中断安装在实时域中,目的就是让RT-Linux最先捕获这两个实时中断,进行处理。但是在标准Linux下采用的是软中断的概念,也就是说无法保证DDA中断和OV中断最先执行。我们的机器人控制器一旦加上网络通信模块,进行监视和仿真时,则在运行过程中DDA中断和OV中断要受到来自网卡中断的影响。所以在这种情况下,为了保证机器人运动的实时性,采用RT- Linux的优势就体现出来了。如果在网卡干预的情况下测试,标准Linux下的中断处理时间将比RT.Linux下要来得更长。
(2)如果用户应用层开辟大量的用户进程,则对于分时的标准Linux来说会受到很大程度的影响。但是对于RT-Linux来说,实时进程不会受到非实时域中用户进程的影响,所以在这种重负载情况下,RT-Linux的实时性比标准Linux下要高。
由测试结果可以看出,RT-Linux系统中断响应比标准Linux延时时间短,这个结果也预示在系统高负载情况下RT-Linux系统中的实时性能的优势将更为明显。实际使用该实时机器人控制器时,机器人运行非常稳定,能满足实时控制的需要。
4 总结
在机器人控制器的设计中,如何最大程度的提高机器人控制的实时性是一个关键问题。本文中我们运用了将软件任务划分实时域与非实时域的思想,提出并实现了一种将RT-Linux与Linux结合的实时机器人控制系统。该系统的优点是:一方面提供了非常高效的满足底层硬件设备的实时性能,另一方面可以充分利用 Linux的强大功能。而且RT-Linux是完全开放源代码的免费软件,降低了开发成本。因此该技术具有非常广泛的产业化前景。
- 基于MSP430的自主式移动机器人设计与实现(06-12)
- 如何制作一个最简单的机器人(02-23)
- 机器人技术的新进展(02-23)
- CAN总线技术在工业码垛机器人控制系统中的应用研究(06-27)
- 制作机器人常用传感器盘点(02-23)
- 基于LabVIEW构建智能的移动机器人及无人驾驶车(10-27)