基于RT-Linux的二自由度机械手运动控制系统的实现
操作系统
第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字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [高中教育]电子线路高频非线性部分2.1
- [高中教育]中班美术活动——我的小手
- [高中教育]常用三极管参数大全
- [高中教育]计算机常见故障及解决办法
- [高中教育]风机基础环水平度控制方法探讨
- [高中教育]机械安全工程(专升本)阶段性作业3
- [高中教育]2009年安徽省高考语文考试说明刍议
- [高中教育]unit5 let's eat公开课教案设
- [高中教育]计算机网络原理课后习题答案
- [高中教育]2016-2022年中国新能源市场研究与投资
- [高中教育]2015-2020年中国会议行业市场评估及投
- [高中教育]经销商大会峰会主持人串词开场白
- [高中教育]2014新版北师大数学三年级上册小熊购物
- [高中教育]七年级第一学期体育与健康全套教案
- [高中教育]第三章:国际金融市场
- [高中教育]六年级下册数学单元测试-2.比例 北师大
- [高中教育]2016年上海海事大学法学院624刑法之《
- [高中教育]中国碳化钙产业竞争现状及未来五年投资
- [高中教育]网络时代,我们怎么玩
- [高中教育]圆锥曲线——高中数学基础知识与典型例
- 高集医院世界艾滋病宣传日活动方案
- 苏教版六年级英语上册期末试卷含答案
- 全民枪战生化英雄模式幽灵怎么玩 生化
- 灿烂的宋元文化一导学案
- 第2章货币资金与应收款项
- 北师大版八年级下册数学第三章《分式》
- 浅析高分子材料成型加工技术
- 华南理工大学2013年度共青团先进集体及
- 教师资格科目二小学教案模板(共合集)
- 工程扩建可研报告
- 中华人民共和国海事局2014年度招录公务
- 提高农村小学生作文能力的教学尝试
- 徒手心肺复苏术操作步骤
- 毛概试题库7-15章
- 2014-2015学年度(上)初中班主任工作计
- 企业驾驶员安全生产责任书
- 第07章 不等式测试题-2016年高考文科数
- 医疗器械经营企业工作程序
- 考研英语必背36篇_彩版_精华
- 初中9月13-15假期作业 (1)




