基于ARM 的浆果采摘机械手运动控制研究
随着计算机和自动控制技术的迅速发展,农业机械将进入高度自动化和智能化时期。浆果采摘机器人的应用可以提高劳动生产率和产品质量,改善劳动条件,解决劳动力不足等问题。浆果采摘机器人主要由机械手及末端执行器、视觉及决策系统、控制系统等部分组成。本文将阐述如何利用ARM 微处理器实现浆果采摘机器手的运动控制。
本控制系统采用ARM(Advanced RISC Machine)微处理器,其与单片机和DSP 等相比具有很强的通用性,以其高速度、高性价比和低功耗等优点被广泛应用于各个领域。
1 控制系统功能要求
浆果采摘机器人的主要执行部分———机械手分为手臂和手腕两部分。机械手如何躲避障碍物并能准确到达果实目标的位置是由机械手的自由度决定的,通常机械手在空间的位置和运动范围主要取决于手臂部分的自由度,为了使机械手能够到达空间的任一指定位置,其手臂部分至少应具有3 个自由度。手腕部分自由度主要是用来调整末端执行器在空间的姿态,为了使末端执行器在空间也能取得任意要求的姿态,在理论上要求手腕部分也应具有3 个自由度。其示意简图如图1 所示。
控制系统的任务是从上位机接受指令,驱动各自由度所对应的电机,从而使采摘机械手到达指定位置进行作业。
2 控制系统硬件设计
机器人控制系统一般需要满足以下几个基本要求。
①控制系统的小型化、轻型化和模块化;
②控制系统的实时性;
③系统的稳定性和开放性。
为此将本控制系统设计成由主控制模块、驱动模块和反馈模块三部分组成,如图2 所示。
2.1 主控制模块设计
为了能够满足机器人控制需求,同时兼顾机器人对控制器体积、重量、功耗等敏感特性的要求,主控制模块采用Samsung 公司基于ARM920T 核(适用于实时环境) 的低功耗、16/32bit、高性能的RISC 微处理器S3C2410,其主频为266MHz。操作系统则选用源码公开、专为ARM 设计,可靠性高的实时、多任务内核arm-Linux。
要使微处理器能够正常工作,必须对其外围进行扩展,图3 所示为实现整个ARM 主控制模块的硬件系统原理图。
电源模块负责为整个模块提供稳定、干净的直流电源。JTAG 调试单元用来实现程序的在线调试。串行通信模块则通过RS232 通讯标准实现主控制模块与上位机的通讯。为使系统能够运行较大的程序(如LINUX内核和文件系统),在微处理器外围扩展了32M 字节的SDRAM 内存芯片。扩展了16M 字节的FLASH 芯片作为程序和数据的存储设备,以保证掉电时程序和数据不会丢失。
2.2 驱动模块设计
本机器人系统采用直流电机控制,电机驱动芯片选用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 微处理器为核心的运动控制系统可以通过硬件平台的改进和升级、软件算法的再生和模块化使整个控制系统具备可移植性,具有一定应用价值。
|