基于ARM的浆果采摘机械手运动控制研究

发布者:电子科技爱好者最新更新时间:2015-04-23 来源: eechina关键字:ARM  采摘机械手  运动控制 手机看文章 扫描二维码
随时随地手机看文章
随着计算机和自动控制技术的迅速发展,农业机械将进入高度自动化和智能化时期。浆果采摘机器人的应用可以提高劳动生产率和产品质量,改善劳动条件,解决劳动力不足等问题。浆果采摘机器人主要由机械手及末端执行器、视觉及决策系统、控制系统等部分组成。本文将阐述如何利用ARM 微处理器实现浆果采摘机器手的运动控制。

本控制系统采用ARM(Advanced RISC Machine)微处理器,其与单片机和DSP 等相比具有很强的通用性,以其高速度、高性价比和低功耗等优点被广泛应用于各个领域。

1 控制系统功能要求

浆果采摘机器人的主要执行部分———机械手分为手臂和手腕两部分。机械手如何躲避障碍物并能准确到达果实目标的位置是由机械手的自由度决定的,通常机械手在空间的位置和运动范围主要取决于手臂部分的自由度,为了使机械手能够到达空间的任一指定位置,其手臂部分至少应具有3 个自由度。手腕部分自由度主要是用来调整末端执行器在空间的姿态,为了使末端执行器在空间也能取得任意要求的姿态,在理论上要求手腕部分也应具有3 个自由度。其示意简图如图1 所示。




控制系统的任务是从上位机接受指令,驱动各自由度所对应的电机,从而使采摘机械手到达指定位置进行作业。

2 控制系统硬件设计

机器人控制系统一般需要满足以下几个基本要求。

①控制系统的小型化、轻型化和模块化;

②控制系统的实时性;

③系统的稳定性和开放性。

为此将本控制系统设计成由主控制模块、驱动模块和反馈模块三部分组成,如图2 所示。[page]





2.1 主控制模块设计

为了能够满足机器人控制需求,同时兼顾机器人对控制器体积、重量、功耗等敏感特性的要求,主控制模块采用Samsung 公司基于ARM920T 核(适用于实时环境) 的低功耗、16/32bit、高性能的RISC 微处理器S3C2410,其主频为266MHz。操作系统则选用源码公开、专为ARM 设计,可靠性高的实时、多任务内核arm-Linux。

要使微处理器能够正常工作,必须对其外围进行扩展,图3 所示为实现整个ARM 主控制模块的硬件系统原理图。





电源模块负责为整个模块提供稳定、干净的直流电源。JTAG 调试单元用来实现程序的在线调试。串行通信模块则通过RS232 通讯标准实现主控制模块与上位机的通讯。为使系统能够运行较大的程序(如LINUX内核和文件系统),在微处理器外围扩展了32M 字节的SDRAM 内存芯片。扩展了16M 字节的FLASH 芯片作为程序和数据的存储设备,以保证掉电时程序和数据不会丢失。

2.2 驱动模块设计

本机器人系统采用直流电机控制,电机驱动芯片选用ST 公司的L298。L298 是ST 公司生产的一种高电压、大电流电机驱动芯片。该芯片的主要特点是工作电压高,输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;内含两个H 桥的高电压大电流全桥式驱动器,可用来驱动直流电动机、步进电动机、继电器和线圈等感性负载;采用标准TTL 逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作;有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可外接检测电阻,将变化量反馈给控制电路。

2.3 反馈模块设计

本系统的电机使用光电编码器进行测速。光电编码器具有低惯量、低噪声、高分辨率和高精度等特点,适合于控制直流电机。将编码器产生的脉冲信号经变换得到电动机速度用于速度反馈形成速度闭环,同时可以对脉冲信号进行计数和运算,从而得到采摘机器手的位置和速度。

3 控制系统软件设计

控制系统中控制任务的实现由应用程序来完成,应用程序设计的好坏将直接决定整个系统的控制质量和控制效率。为了更好地进行系统调试以及功能扩展,控制系统软件也采用了模块化结构设计。系统主程序主要分为初始化模块和运行模块两大部分。

3.1 初始化模块

初始化模块需要完成的工作是:异常向量表定义、堆栈初始化、系统变量初始化、中断系统初始化、I/O 初始化和外围初始化等操作。

3.2 运行模块

运行模块通过中断形式进行,包括测速模块、PID控制模块和PWM 波输出模块。主要工作流程为:首先判断是否有新的速度指令,若有,则判断出速度大小和方向,并将其转换成程序中规定的统一形式,以方便进行PID 控制;然后判断是否有新的传感器反馈值,若有,则计算出电机的速度大小,并执行电机的PID 控制程序,接着调用电机驱动程序,改变PWM 占空比,输出PWM 波,实现电机的速度控制。测速模块每隔一定采样时间对光电编码器脉冲进行采样,以得到速度反馈值,运行模块的主要流程如图4 所示。





4 结束语

基于ARM 的运动控制系统是浆果采摘机器人系统的一个重要组成部分。ARM 微处理器性能好、功耗低、体积小、移植性较好。以ARM 微处理器为核心的运动控制系统可以通过硬件平台的改进和升级、软件算法的再生和模块化使整个控制系统具备可移植性,具有一定应用价值。
关键字:ARM  采摘机械手  运动控制 引用地址:基于ARM的浆果采摘机械手运动控制研究

上一篇:MiniGUI在基于OMAP5912开发板上的移植
下一篇:采用STM32设计的四轴飞行器飞控系统

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

ARM处理器Linux下浮点运算单元运用
1). 浮点运算单元(FPU)简介 Float Point Unit,浮点运算单元是专用于浮点运算的协处理器,在计算领域,例如三角函数以及时域频域变换通常会用到浮点运算。当CPU执行一个需要浮点数运算的程序时,有三种方式可以执行:软件仿真器(浮点运算函数库)、附加浮点运算器和集成浮点运算单元。 区别于以往的ARM9处理器,目前基于Cortex构架的ARM处理均集成了浮点运算单元。如Nvidia Tegra 2, Tegra 3和 NXP/Freescale i.MX 6集成了VFPv3浮点运算单元,NXP/Freescale i.MX 7 则集成了VFPv4浮点运算单元。ARM 浮点架构 (VFP) 为半精度、单精度和双精度浮
[单片机]
站在食物链的顶端——ARM的成功之道
有人说,ARM的成功是钻了英特尔的空子,在芯片巨人忽视的领域长成茁壮的大树;也有人说,ARM是在一个合适的产业选择了一种聪明的发展模式,既避免了与对手正面碰撞,又联合了上百家有实力的厂家;还有人说,ARM靠提供芯片的知识产权发家,处于产业链的上游,宛如自然界食物链的最高一环。   知识产权的英文是Intellectual property,简称IP,在中国,IP还是一个尚未全面普及的概念,ARM的成功之道或能给中国产业界带来深刻的思考。 走近ARM   英国的辉煌伴随着大不列颠帝国的远逝而慢慢褪色,在很多人的记忆里只有曼联球队那团略显旺盛的火焰,因为英国已经彻底沉默在美国的声音之中。然而,一个叫做ARM的公司宛如
[焦点新闻]
ARM 常用的段分类及说明
一.ARM存储区各段分布 二.概念 .text段:代码段,用来放置代码(code),一般是只读。 .data段:数据段,用来存放经过初始化的全局变量和经过初始化的静态变量(static)一般是可读可写。 .bss段:全局变量数据段:用来存放未初始化的全局变量和未初始化的静态变量,一般是可读可写的,之所以把.bss与.data分开,是因为系统会为.bss段的变量初始值清零。 .rodata段:常量数据段,用来存放常量(const),一般是只读的,可以归类为代码段。 栈:存放局部变量和函数参数等数据,向下生长(向低地址增长)。 堆:给动态分配内存使用,向上生长(向高地址增长) 注:代码段和数据段之间有明确的分
[单片机]
arm-linux,arm-elf-交叉编译环境下载地址
最常用的编译版本是arm-linux-gcc-3.4.1 和 arm-linux-3.3.2 的,现在的嵌入式开发基本上用的是这些,3.4.1的用于编译2.6的内核,而3.3.2的常用于编译busybox,和bootloader(u- boot),编译的版本配合不好的话就会出错,所以要选择好编译版本,如果这个版本不行的话,可以试试其他的版本,在uclinux上用的多的就是 arm-elf-tools-20030314 http://www.handhelds.org/download/projects/toolchain/arm-linux-gcc-3.4.1.tar.bz2 http://www.handhelds.org/do
[单片机]
ARM指令集(数据处理指令)
ARM指令集可以分为数据处理指令、跳转指令、Load/Store指令、程序状态寄存器传输指令、协处理器指令和异常中断产生指令。根据使用的指令类型不同,指令的寻址方式分为数据处理指令寻址方式和内存访问指令寻址方式。 数据处理指令寻址方式 概述:数据操作指令是指对存放在寄存器中的数据进行操作的指令。主要包括数据传送指令、算术指令、逻辑指令、比较与测试指令及乘法指令。如果在数据处理指令后使用“S”后缀,指令的执行结果将会影响CPSR中的标志位。数据处理指令的基本语法格式如下: 1.MOV指令 MOV是最简单的ARM指令,MOV指令是将《shifter_operand》表示的数据传送到目标寄存器《Rd》中,其中《shifter_o
[单片机]
<font color='red'>ARM</font>指令集(数据处理指令)
ARM的启动代码(1):介绍
很多朋友搞嵌入式,写起代码来一点问题没有,到最后上板子调试的时候,挂了。究其原因,还是对芯片的启动地址、启动方式、bootloader和操作系统的衔接出了问题。今天就闲聊一下这个问题。 对于一个新处理器,我们最关心的是什么呢?并不是它支持不支持C编译器,有没有良好的开发环境。从程序员的角度说,要把一个新处理器吃透,必须明白两样东西:a)新处理器的内存模型;b)新处理器的中断方式、中断源等等。以ARM的AT91SAM9260为例。 一个ARM芯片可能有N种不同的启动方式,支持从SPI flash启动、Norfalsh、nandflash、片内rom 等等。一些操作系统,如vxworks、ecos也支持这些五花八门的启动方式,如果不理
[单片机]
<font color='red'>ARM</font>的启动代码(1):介绍
基于ARM的多路同步的A/D和D/A设计解析
ARM处理器是一种32位精简指令集RISC微处理器,片内集成了丰富的硬件资源,广泛的应用于许多嵌入式系统中。S3C2440是一款基于ARM920T内核的32位RISC嵌入式处理器,运行主频可达400MHz.本文阐述选用S3C2440处理器设计的一种同步、高速、高精度、多通道的数据采集与信号输出系统的设计方法。 1 多路同步A/D设计 1.1 ADS8556的功能 系统选用TI公司生产的16位6路同步逐次逼近型模数转换芯片ADS8556.输入模拟信号电压范围为-12V~+12V.常规应用下功耗为251.7mW,最大功耗为298.5mW,信噪比可达91.5dB.ADS8556芯片内部包含6个独立的采样保持模块和对应的6
[单片机]
基于<font color='red'>ARM</font>的多路同步的A/D和D/A设计解析
基于MAX194在ARM单片机系统中的设计
火力发电厂和大型工业锅炉,通常采用向炉水中添加少量磷酸盐以防止钙、镁水垢的生成,磷酸根浓度不够,不能有效防止结垢,磷酸根离子含量过高,会导致炉水的pH值变高。因此磷酸根离子浓度是炉水检测的重要参数。ARM处理器具备高性能、低功耗、低成本等优点,将其应用于在线磷酸根离子分析仪的管理控制系统,可以提高磷酸根分析仪的处理速度和精度。 1 结构及测量原理简介 磷酸根离子分析仪整体结构包括光路系统、水路系统和管理控制系统三个部分。 光路系统主要包括:专用的单色LED冷光源、比色皿和光电传感器。 水路系统由比色皿、柱塞泵、多通道切换阀、流通池、样水/标液切换阀、流量计、排污阀、溢流管等组成。 利用化学吸光法原理,即在一定的
[单片机]
基于MAX194在<font color='red'>ARM</font>单片机系统中的设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

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