教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 高中教育 >

基于RT-Linux的二自由度机械手运动控制系统的实现

来源:网络收集 时间:2026-09-13
导读: 操作系统 第17卷第1期2003年3 月 河海大学常州分校学报 JOURNALOFHOHAIUNIVERSITYCHANGZHOU Vol.17No.1Mar.2003 文章编号:1009-1130(2003)01-0073-05 基于RT-Linux的二自由度机械手 运动控制系统的实现 毛 玲 梅志千 213022) (河海大学机电工程学院 江苏常州

操作系统

第17卷第1期2003年3

河海大学常州分校学报

JOURNALOFHOHAIUNIVERSITYCHANGZHOU

Vol.17No.1Mar.2003

文章编号:1009-1130(2003)01-0073-05

基于RT-Linux的二自由度机械手

运动控制系统的实现

梅志千

213022)

(河海大学机电工程学院 江苏常州

摘要:分析了RT-Linux操作系统的特点 在此基础上构造了基于RT-Linux操作系统平台上的机械手运动控制系统 介绍了该控制系统软硬件结构以及多任务通信机制 并且对实验结果进行了分析.

关键词:RT-Linux;实时操作系统;运动控制;进程间通信中图分类号:TP273

文献标识码:A

控制系统的关键问题是实时性.实时操作系统按事件触发使程序运行 保证优先级高的事件的信息及时被采集.只有采用实时操作系统才能保证关键任务在规定时间内完成.

伴随着Linux自由软件的迅速发展 用于实时领域的Linux实时操作系统开始出现.目前已有RT-Linux RDE-Linux KURT RTAI等各种实时Linux操作系统.它们都以稳定~高效的Linux内核为基础 通过扩展而建立开放~标准~高效~便宜的多任务实时操作系统.实时Linux操作系统能够在使用Linux的网络~XWindow等开发环境的同时 提供很好的实时能力[1].Linux+RT-Linux是目前理想的基于PC机控制系统的开发操作系统平台.

1

RT-Linux特点

RT-Linux是建立在Linux源代码开放的基础上 通过底层路线实现对Linux实时改造的硬实时(严格实时)操作系统.RT-Linux通过修改Linux/arch/i386下的体系结构有关的部分 在Linux与硬件之间创建一个硬实时内核.Linux作为此内核的一个优先级最低的任务运行 所有的实时任务的优先级都要高于Linux本身以及Linux下的一般任务.RT-Linux的数据和控制流程如图1所示.

RT-Linux实现了在Linux本身内核之下的

收稿日期:2002-06-06

作者简介:毛玲(1971-) 女 黑龙江牡丹江人 硕士研究生 机械电子工程专业.

图1Fig.1

RT-Linux数据和控制结构图DiagramofdataandcontroloftheRT-Linuxoperationsystem

操作系统

74

河海大学常州分校学报

2003年3月

一个精巧的内核,它只需要完成底层任务创建~中断服务程序,并在底层任务~ISR和Linux进程之间进行通信排队工作.将RT-Linux和Linux相结合进行工作,设计简单,完全抢占Linux内核任务,响应速度特别快[2].RT-Linux是 硬 实时系统.在一台386机器上,RT-Linux从处理器检测到中断处理程序开始工作不超过15pS,对周期性任务,在35pS内定会执行;若是普通Linux,一般是在600pS内开始一个中断服务程序,而对周期性的任务很可能超过20pS才会执行.

2

RT-Linux的编程接口API

RT-Linux中以Linux标准模块的方式,提供了RT-Linux编程和控制接口(API).通过使用这些API,可以提供对实时任务的创建和删除~任务的调度和控制等功能.这些模块有,(a)rtlSched,提供了基于优先级的调度方法;(b)rtltime,提供了控制处理器时钟及时钟处理过程的抽象接口;(c)rtlpoSixio,提供了使用POSIX方式的驱动程度的读/写/打开调用;(d)rtlfifo,提供了实时任务和Linux进程的通信接口,通过一个Linux进程可以读写FIFO设备进行通信;(e)Semaphore,是给实时任务提供信号量的模块;(f)mbuff,是内核进程和Lin-ux用户进程进行通信的共享内存驱动程序,通过mbuff可让实时任务和用户线程共享内存.RT-Linux的API中断机制

RT-Linux模块提供了小延时并且不能被Linux延迟和抢占的的中断处理过程,以及一些底层的同步和中断控制过程.Linux的控制信号都要先交给RT-Linux内核进行处理,在2.1

RT-Linux内核中实现了一个虚拟中断机制.Linux本身不能屏蔽中断,它发出的中断屏蔽信号和打开中断信号都修改成向RT-Linux发送的一个信号.对所有的中断,分成Linux中断和实时中断两类.如果RT-Linux内核收到的中断信号是普通Linux中断,就设置一个标志位;如果是实时中断,就继续向硬件发出中断.实时任务和Linux进程间的通信是非阻塞的,从来不用等待进队列和出队列的数据.

RT-Linux的进程通信机制

RT-Linux中存在两种进程,实时进程,运行在实时核心下;普通进程,运行在普通Linux核心下.Linux核心可被实时进程抢先.实时进程间的通信采用UNIXVIPC机制,即共享内2.2

存~信号和消息队列;而实时进程和普通进程间的通信采用FIFO.

3

3.1

基于RT-Linux的二自由度机械手运动控制系统的设计

系统的工作原理

基于RT-Linux的二自由度机械手运动控制系统的硬件配制如图2所示.

机械手的控制信号(即输出信号)由计算机的ISA总线发出,经过I/O板发送给2台步进电机的电机驱动器,由其控制步进电机的转动速度和方向.机械手的运动参数也由I/O板经由ISA总线输送回计算机,从而由计算机调整和控制步进电机运动的位移,最终由电机驱动机械手按照即定的轨迹运动.

操作系统

第1!卷第1期

玲 等基于RT-Linux

的二自由度机械手运动控制系统的实现

!5

图2基于RT-Linux的二自由度机械手运动控制系统的硬件配制图

Fig.2Hardwareconfigurationdiagramofthemanipulator/smotioncontrol

systemwithtwo-degrees-of-freedombasedonRT-Linux

3.2

软件部分

本控制系统的软件部分是在Linux操作系统平台上编制的非实时域程序.编制RT-Lin-ux的实时任务模块时 采用Linux的可装载模块技术实现 可实现动态的加载和删除.

按照开放式控制系统层次划分 此控制系统的软件分为应用单元和控制单元两大部分.应用单元向用户提供图形化应用软件环境和标准系统功能函数 如操作界面~数据管理等;控制单元完成基本的控制功能 包括译码~伺服控制(速度~位移--)~I/O处理等.按照对实时性的要求 控制单元中的功能模块又可分为两大部分,一部分是对实时性要求不高的非实时性任务 例如编译~预处理等 它们可在非实时域执行 通过对FIFO设备的读取 实现和RT-Linux间的通信;另一部分是对实时性要求高的实时性任务 如位置控制和速度控制~I/O处理~异常处理等 它们在实时域执行.RT-Linux对实时任务和非实时任务按优先级进行统一调度[3].RT-Linux实时进程和Linux普通进程间通过RT-FIFO通信.下面的实时域程序使用时钟产生中断 在每一个中断请求时刻触发输出端口 实现了将定时消息发送给FIFO 与Linux普通进程进行通信的功能.

charsave

cmos

A charsave

cmos

B;

voidshutdown(void);

设置程序停止标志staticintshutdownflag=O;

/ 每次向FIFO写入数据时 可定义自动处理函数 由系统自动调用 当主程序向FIFO发送命令时 由系统自动调用以下处理函数处理命令 /

unsignedinthandler(unsignedintirg

switch(shutdown

~

number structptregs p){

flag){

PORT);

REG

向输出口输出脉冲

CaseO,outb(output LPToutput=output;(void)CMOSrtfsamp

--

C); 清除中断请求

put(O gsamp sizeof(samp)), 写入FIFOsizeof(samp)字节的数据

READ(RTC;

flag=2;}

可装载模块初始化 当装载时自动执行

break;

Case1,shutdownreturnO,}intinit

module(void){unsignedcharctemp;

操作系统

76

河海大学常州分校学报

2003年3月

intoldrtlS …… 此处隐藏:4993字,全部文档内容请下载后查看。喜欢就下载吧 ……

基于RT-Linux的二自由度机械手运动控制系统的实现.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1729266.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)