基于ARM的嵌入式系统在机器人控制系统中的应用

发布者:江上HZ最新更新时间:2012-05-21 来源: 微计算机信息关键字:嵌入式系统  控制系统  ARM  机器人 手机看文章 扫描二维码
随时随地手机看文章

1 前言

随着科学技术的发展,机器人将在太空探测、救灾防爆、海洋开发等领域有着广阔的应用前景,因而其发展正在成为国内外研究人员关注的焦点[1,2,3]。分析上述各种用途的机器人,其构成不外乎机构本题和控制系统两大部分。机构本体在体现机器人特色的同时,也决定了其必然是无人系统,在恶劣的

环境下,机器人要具备一定的自主能力。这就要求机器人有一定的“判断能力”和“想法”,需要复杂的算法,包括运动算法和模式识别算法。一般的微处理器是无法完成这项任务,而上述各种机器人又无法使用计算机控制作业,32位微处理器和嵌入式操作系统的出现解决了此问题。

嵌入式系统是指以应用为核心、以计算机技术为基础、软硬件可裁剪,以及适应应用系统对功能、可靠性、成本、体积和功耗严格要求的专用计算机系统[4,5,6,7]。作为嵌入式系统的核心,嵌入式微处理器为8位、16位或32微处理器。但由于8位和16位微处理器的运行速度、寻址能力和功耗等问题,已较难满足相对复杂的嵌入式应用场合。在32位嵌入式应用领域内,ARM(Advanced RISC Machine)获得了巨大的成功[8,9,10,11]。 ARM微处理器一般具有体积小、低功耗、低成本、高性能的特点;例如,由于它有大量的使用寄存器,指令执行速度更快,于是大多数数据操作都在寄存器中完成;它的寻址方式灵活简单,执行效率高,指令长度固定等。在ARM中,可以嵌入嵌入式操作系统,在此系统上可完成复杂的算法,可以代替PC机完成各种任务。

本文首先介绍了嵌入式系统的结构,然后介绍如何利用嵌入式操作系统和ARM 、DSP构建机器人控制系统,最后说明使用此控制系统控制7自由度串联机器人[12]。

2  嵌入式系统的结构

嵌入式系统主要由嵌入式操作系统和承载操作系统的硬件组成。

2.1  嵌入式操作系统

嵌入式操作系统是嵌入式系统的控制中心,主要用于对系统的信息处理部件和用户交互界面加以控制。

2.1.1嵌入式操作系统的实时性

在嵌入式领域中,实时是一个非常重要的概念。实时系统是指在确定的时间内完成规定功能,并能对外部异步事件作出正确响应的计算机系统。

实时系统的核心是必须在确定的时间内执行完一项预先定义的操作,否则将引起性能下降甚至系统崩溃等严重后果。需要说明的是,实时系统并不是说系统的响应和处理速度非常快,实时系统的实时性的实现需要软硬件的配合来完成。首先应该保证硬件的处理速度满足实时性的要求,同时相对软件而言,实时性体现在组成软件系统的各个任务的执行时限。

在嵌入式系统中,评价一个实时系统的性能要从任务调度功能、内存管理功能、最小内存开销、任务切换时间、最大中断禁止时间等方面考虑。

2.1.2 嵌入式系统中的软件

嵌入式系统的软件部分,具有以下特点:

1) 嵌入式软件的开发与硬件紧密相关。由于嵌入式软件的开发式针对具体硬件平台进行的,它往往牵涉硬件驱动方面的一些软硬结合部分。

2) 软件代码要求高效率和高可靠性。嵌入式系统中软件运行空间有限,内存空间非常宝贵,在软件的编程过程中需时刻考虑软件的运行效率。在实时系统中,处理器必须严格处理异步发生的各种任务。此外,嵌入式软件系统还应有异常处理、快速复位等特点。

3) 软件一般固化在FLASH或ROM中。为了提高执行速度和系统的可靠性,同时缩短系统复位时间,一般在嵌入式软件调试完毕后,会下载固化到目标板中的FLASH或ROM中。

2.1.3 嵌入式系统的应用 

嵌入式系统产品遍布人们的日常生活,从手机、PDA到家中的空调、冰箱,从小汽车到波音飞机,甚至武器库中的巡航导弹,都有它的踪迹。嵌入式产品已经在很多领域得到广泛的使用,如国防、工业控制、通信、办公自动化和消费电子领域等。

2.2 嵌入式系统的硬件系统

与普通的PC硬件相比,嵌入式系统的硬件系统具有以下特性:

1) 体积小,集成效率高。嵌入式系统去除了冗余,力争用最小的系统完成目标功能。

2) 面向特定应用。

3) 低功耗,电磁兼容性好,能在恶劣环境下工作,死机时能够快速重启。

嵌入式系统硬件在价格、功能、体积、重量、能耗等方面都有严格的限制。

3 系统功能与设计

3.1 系统功能

本着既能满足多种类型机器人的实际需  要,又尽量节约资源的原则,控制系统提供的功能如下:

1) 上位机监控.响应控制台发出的指令. 向下位机发送数据和命令;

2) 通讯总线. 现场总线,用于和其他控制器信息交互;

3) 传感器集成.直接集成姿态、位置、深度、高度、速度、加速度等传感器,或者预留接口;

4) 脉宽调制.用于调整电机的速度和位置,从而控制机器人的速度和姿态等;

5) A/D采集.监视工作电压、电流、压力等A/D量,用于系统控制或状态记录;

6) I/O控制.用于对外围开关量的监控;

7) 数据记录.用于设定参数的存储、运动路线的定制或相关监控数据的记录;

8) 通讯协议.便于控制器之间及机器人与上位机之间信息可靠、高效传递;

9) 信息处理.各种传感器输出数据的提取、处理及多传感器信息融合;

10) 控制算法.下位计算法主要是前馈算法和PID算法,上位机算法视具体的机器人而定。[page]

3.2 系统设计

此系统的设计主要是为了能够满足多种机器人控制需求,同时兼顾机器人对控制器体积、重量、功耗等敏感的特性。

上位机CPU选用Samsung公司的基于ARM920T[5,6]核(适用于实时环境)的低功耗、16/32 bit、高性能RISC微控制器S3C2410,它的主频为266MHz;操作系统选用源码公开、专为ARM设计的、可靠性高的实时、多任务内核arm- Linux;下位机选用Ti公司的具有低功耗、灵活指令集、内部操作灵活、高速的运算能力等性能的DSP-TMS320LF2407。

3.2.1 体系结构

基于ARM、DSP和arm-Linux的机器人控制系统硬件结构图如图1所示。

图1 机器人控制器硬件结构

上位机主要解决算法问题,处理各个传感器送回的信号,根据各个信号,向下位机发送控制命令,同时,上位机接收来自下位机的信号,判断下位机的状态,以便发送相应的数据和命令。下位机主要是对电机的控制,根据上位机发送过来的命令和数据,结合前馈算法和PID算法,对电机进行速度、位置等控制。

不同类型的机器人,其主要区别在于上位机的算法编写,上位机的算法与具体的机器人所要求完成的任务有关。在一个机器人系统中,只需一个上位机,作为机器人的“大脑”;下位机的个数则根据机器人需要而定。

3.2.2 硬件设计

硬件设计的原则是:部件模块化,接口标准化,互换性、扩展性好,可靠性高。

硬件可划分为CPU模块、外设模块。两个模块层可叠在一起,机械上可拆分,相互之间有接口相连,便于互换和维护。

1)CPU模块:上位机包括S3C2410、SDRAM、NAND FLASH、晶振等系统运行的基本要素;下位机包括TMS320LF2407、SDRAM、晶振等系统运行的基本要素。

2)外设模块:上位机包括电源接口、485总线接口、A/D接口、I/O接口、PWM接口、下位机通讯接口、USB HOST接口、USB SLAVE 接口、LCD接口等,同时它也是传感器模块和CPU模块连接的桥梁;下位机包括电源接口、485总线接口、I/O接口、PWM接口、光电编码器接口、上位机通讯接口、A/D接口,FLASH等。

S3C2410芯片本身集成了一些通用的外围器件,所以像A/D、USB、I/O等通道直接利用其资源。片内的2个UART分别用作485总线及与下位机通讯接口,这两个串口属于对外连接口,为了避免引入外界干扰,用高速光隔HCPL2630进行隔离。      TMS320LF2407芯片本身也集成了一些通用的外围器件,可直接利用PWM、A/D、I/O、光电编码器接口等资源。片内UART用作与上位机通讯接口,也用了光电隔离。

针对不同的机器人,硬件部分只需做简单的接口调整或传感器增删。

控制器集成尺寸:上位机模块为60mm×45mm×35mm,总功耗约为5V ×200mA,其中CPU模块功耗尽为3.3V×30mA;下位机模块尺寸60mm×40mm×30mm,功耗也是很低的,而一般的PC104总线CPU模块功耗约为5V×1000mA。

3.2.3 软件设计

软件设计的基本原则是:软件结构化,驱动标准化,系统可定制[13]。

软件设计的主要工作是操作系统的移植、驱动程序的设计、常用API函数的封装、多任务的分解与设计、上位机算法的编写和下位机驱动程序与算法的编写等。其中关键在于上下位机的同步性,当多个控制器一起工作时,同步问题更加重要了。上位机把数据传送给下位机,先把控制器的标号给传下去,只有与此号码相对应模块才能接收下面的数据,当下位机接收到信号后,需要向上位机发送一个确认信号。需要同步多个处理器,分别占用总线。为了使多机通讯同步,不发生信号冲突,在设计硬件时,每个微处理器使用了一个I/O口,并把每个处理器的I/O口用线连在一起。当一个控制器接收或发送数据时,向其它处理器发送一个高信号,来说明自己正在使用总线。接受到该信号的处理器得知总线正在忙,不再发送数据,可避免总线冲突。事实证明这种方法是可行的,不会发生总线冲突,多处理器工作时同步性很好。[page]

本软件中传感器数据的读取、校验、提取、处理均按照NMEA0183标准进行,便于系统升级。

系统可定制主要是考虑到针对不同机器人其上层软件不尽相同。

4 实验研究

应用于7自由度串联机器人

为了验证该机器人控制系统的性能,设计了场景试验:7自由度串联机器人首先抓取第一工件放在加工台上;把其它两个工件依次前移;最后把加工完的工件放在最后的位置上,整个过程如图6~图9所示。

机器人完成这个任务所要经过的过程:①机器人抓取第一个工件,并把它放在加工台上,如图2~图3所示;②机器人把第2个工件移到第一个位置,准备进行加工,如图4~图5所示;③把第三个工件移到第二个位置上,图6~图7所示;④机器人抓取加工好的工件,并把它放在第三个位置上,如图8~图9所示。

这样一个循环周期便完成了一个工件的加工,可使后面的工件依次得到加工。

在该控制系统内,上位机(S3C2410)首次算好1000个点,通过RS485总线传送给每个下位机控制器并把这些点存于下位机FLASH中。每个下位机运行各自的点,每当运行的点数超过500时,便向上位机要500个数据。这样节省了上下位机交互的时间,改善了串联机器人的同步性,提高了跟踪精度。另外,由于ARM9的存在,不需要计算机的控制。上述7自由度串联机器人的每个动作都是“自主”完成的,即没有计算机的控制。

通过实验证明,该控制系统稳定性好,实时性,可以在恶劣的环境下工作,通用性较强。

5  结论

本文中设计的嵌入式机器人控制系统在七自由度串联机器人上的应用取得了一定成效,实时性、可靠性、通用性均有良好的表现,其体积小、功耗低,实际情况比较令人满意;此控制系统在上位机(ARM)中写控制算法,通过总线方式对下位机(DSP)进行控制,而不需要计算机的控制,可独立自主的判断如何动作。目前,该嵌入式控制系统的性能上还存在着诸多不足,主要表现在控制器中的控制算法的设计和功能的完善上,这也是今后努力的方向。

本文的创新点是机器人的自主性质,即机器人有自己的“判断能力”,不须计算机控制。

参考文献

[1]Richard M.Murray, Li Zexiang, S.Shanker Sastry. A Mathematical Introduction to Robotic Manipulation[M]. America: CRC Press, 1994.

[2]Weihai Chen, Guilin Yang, Edwin Hui Leong Ho. Interactive-Motion Control of Modular Reconfigurable Manipulators[J]. Proceedings of the 2003 IEEE/RSJIntl. Conference on Intelligent Robots and SystemsLas Vegas, Nevada . October 2003.

[3]L. Romdhance. Design and analysis of a hybrid serial parallel manipulator[J]. Mechanism and Machine Theory.1999,34:1037-1055.

[4]Karim Yaghmour. Building Embedded Linux Systems[M]. America:  O'Reilly, 2004.

[5] Michael Barr. Programming Embedded Systems in C and C++[M].  America: O'Reilly, 2001.

[6]John Catsoulis. Designing Embedded Hardware [M].  America: O'Reilly,2001.

[7]严丽平,曾辉,宋凯.嵌入式智能家庭网关的研究与设计[J]. 微计算机信息. 2005,2: 14~16.

[8] 孙天泽,袁文菊,张海峰. 嵌入式设计及LINUX驱动开发指南——基于ARM 9处理器[M].北京:电子工业出版社,2005.

[9] 陈渝,李明,杨晔. 源码开放的嵌入式系统软件分析与实践——基于SKYEYE和ARM开发平台[M].北京:北京航空航天大学出版社,2004. 

[10] 周立功.ARM微控制器基础与实践[M]. 北京:北京航空航天大学出版社,2003.

[11] 李驹光,聂雪媛,江泽明.ARM应用系统开发详解.[M]北京:清华大学出版社,2003.

[12] 刘和平,王维俊,江渝.TMS320LF240xDSPC语言开发应用[M]. 北京:北京航空航天大学出版社.2003.

[13] 王松,李新军,梁建宏.微小型机器人嵌入式自驾仪设计[J]. 北京航空航天大学学报.2005,31(7):775-779. 

关键字:嵌入式系统  控制系统  ARM  机器人 引用地址:基于ARM的嵌入式系统在机器人控制系统中的应用

上一篇:基于ARM的FPGA加载配置实现
下一篇:海思半导体获得一系列ARM Mali图形处理器授权

推荐阅读最新更新时间:2024-03-16 13:00

一站式智能家居电路及应用设计
设计综述 贝能国际一站式智能家居解决方案,致力实现更多智能交互。 本参考设计网关部分采用业内主流的ARM® Cortex®-MX芯片, 业内领先的基于 ARM® Cortex®-Mx系列,可在一个紧凑的封装内提供无与伦比的性能、功耗和代码密度。该系列搭载了一个EBI接口和TFT屏驱动模块,具有丰富外设,多个SPI和IIC接口,非常适合用于网关这种需要外接各种通信模块的设备。目前在该网关上实现了800*480总线型TFT彩屏驱动,触摸芯片驱动,小无线驱动,SPI FLASH芯片驱动,4G模块驱动,温湿度传感芯片驱动以及指示灯和按键,预留了Wi-Fi、蓝牙模块和多个传感模块的接口,非常适合用于一般智能家居的网关和工
[单片机]
一站式智能家居电路及应用设计
我们为啥一定要用工业机器人,根本原因原来是它
外媒报道称,中国制造业将由劳动密集型转型为资金密集型,2016年中国安装的工业机器人数量将位居全球之首。产业转型、机器人密度、年轻人的就业态度等因素是这场变革的主要原因。 大势所趋 吞噬了众多全球制造业工作之后,现在中国将把这些工作交给机器人。中国已经成为全球最大的工业机器人市场。2014年,中国地区工业机器人销售量同比增长54%,这表明中国正在加快工业机器人普及速度。国际机器人联合会(International Federation of Robotics)统计显示,2016年中国安装的工业机器人数量将位居全球之首。   中国有望成为一个自动化中心,这一现象否定了有关机器人和全球经济的诸多设想。经济学家
[嵌入式]
疫情下的机器人做了些什么
伴随着人工智能、、云计算等前沿技术不断深入发展,在机器人应用方面取得一定成绩,清洁奇迹人、接待机器人、送餐机器人、医疗机器人等等在各行业日渐运用,有效的推动智能化升级发展。 需求催生医疗机器人发展成主要增长点 据2019年数据显示,在我国服务机器人市场当中,医疗机器人远远超过家用和公共服务机器人的应用,市场占比达到40%,无疑成为了我国服务机器人发展的主要增长点。 医疗领域,服务机器人主要应用有配送、康复、手术等等环节上,医疗机器人的出现明显地缓解了医务人员的压力,也有效的解决了资源紧张问题,这也是医疗机器人应运而生的主要原因之一,,其应用价值十分显著,为医疗产业升级开启新契机。 据悉,目前北大深圳医院、广州
[机器人]
机器人裁缝颠覆纺织业 一日可产T恤80万件
“我们将建立21条生产线。当所有生产线完全投入使用时,每22秒就能制作出一件T恤。我们每天将为Adidas生产80万件T恤。在全球范围内,即使是最便宜的劳动力市场也无法与我们竞争。对此我感到很兴奋。”中国一家服饰公司董事长如此豪迈的说到。 是什么让他如此有底气呢?原来,这家公司在生产线上采用了机器人裁缝“Sewbot”,这款机器人缝制系统每22秒就能生产一件T恤,每天能为Adidas生产80万件T恤。据了解,机器人裁缝“Sewbot”在缝制服装之前,会使用相机和针的组合来追踪布料的摆放位置,其准确度远超人类。 如此之高的工作效率和准确度的机器人裁缝出现,可以说它彻底改变了纺织制造业。科技的进步固然是好事,但是机器人裁缝的出现对那些
[机器人]
【维科杯】恒科通机器人参评“维科杯·OFweek 2023中国机器人行业年度核心零部件创新产品奖”
维科杯· OFweek 2023中国 机器人 行业年度评选(简称OFweek Robot Awards 2023),是由中国高科技行业门户OFweek维科网及旗下权威的机器人专业媒体-OFweek维科网·机器人共同举办。该评选是中国机器人行业内的一大品牌盛会,亦是高科技行业具有专业性、影响力的评选之一。 此次活动旨在为机器人行业的产品、技术和企业搭建品牌传播展示平台,并借助OFweek平台资源及影响力,向行业用户和市场推介创新产品与方案,鼓励更多企业投入技术创新;同时为行业输送更多创新产品、前沿技术,一同畅想机器人行业的未来。 维科杯· OFweek 2023中国机器人行业年度评选“OFweek Robot Awards 2023
[机器人]
科沃斯案管机器人发布 推动案件一站式智能办理
过去很长一段时间,检察院一直在工作中面临案多人少的突出矛盾,司法责任制改革和以审判为中心的刑事诉讼制度改革深入以来,又对检务工作效率提出了更高要求,因此,通过运用人工智能、大数据、机器人和移动互联网等新技术提升检务工作质效,成为了整个检察体系的迫切需求。 人工智能与机器人能为检察业务做什么? 借助检察院大数据应用平台、侦监公诉系统、执检办案智能辅助系统、绩效考核系统和实体机器人等多个智能业务系统,人工智能、机器人、大数据等技术及应用已经覆盖了检察院侦监、公诉、执检、案管等业务部门的案件办理、对外监督和内部管理等核心业务流程,几乎贯穿了公检法司整个司法办案活动。其中,案件管理部门(简称“案管”)更是探索这些新技术应用的先锋。 检
[机器人]
UML 在嵌入式系统设计中的应用
摘要:介绍了UML及将UML应用于嵌入式系统设计中的作用和意义;分析了在嵌入式系统设计中应用UML的基本步骤和难点;结合车载GPS终端系统的设计,描述了一个UML的具体应用过程。 关键词:UML(统一建模语言) 嵌入式系统设计 车载GPS系统 嵌入式系统设计是一个软、硬件结合的协同设计(Hardware/Software Co-design),需要不同技术背景的人共同开发。 这就带来了一个问题,如何使这些具有不同技术背景和专长的人联合开发、协同设计。在软、硬件设计领域中,统一建模语言UML(Unified Modeling Language)采用一种简单而直观的图形化方式描述系统设计中的各个问题和细节。不同技术背景的设计师
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved