龙空技术网

移动机器人的电机控制原理

哈铁家园 75

前言:

眼前同学们对“fpga步进电机加速算法”可能比较讲究,我们都需要学习一些“fpga步进电机加速算法”的相关知识。那么小编在网摘上搜集了一些关于“fpga步进电机加速算法””的相关内容,希望各位老铁们能喜欢,看官们一起来学习一下吧!

机器人的应用日渐广泛,对工业生产与提高效能有重要作用。工业机器人主要利用伺服电机进行运动控制,从而实现移动和抓取工具。本文将详细讨论伺服电机的特点以及不同类型伺服电机相应的控制原理。

运动控制原理

运动控制与机器人密切相关。工业应用中的机器人必须透过由多款电机所构成的致动器才能自行移动,以执行任务或透过机器手臂抓取工具。

机器人的运动控制系统通常由电机控制器、电机驱动、电机本体(多为伺服电机)组成。电机控制器具备智能运算功能,并可传送指令以驱动电机。驱动可提供增压电流,根据控制器指令以驱动电机。电机可以直接移动机器人,也可通过传动系统或链条系统让机器人移动。

图1:机器人的运动控制系统

输出类型

移动机器人往往用于探索大范围面积的土地,并能够使用各种螺旋桨、机器脚、轮子、轨道或机器臂移动。例如各种NI展示平台,包括VINI、VolksBot与Isadora。这些机器人分别使用了全向轮(Mecanum wheel)、一般轮以及机器手臂。而针对嵌入式控制,则可通过NI CompactRIO等嵌入式平台,并整合实时控制器与FPGA。CompactRIO亦包含可重配置机箱,能够容纳多样化的I/O配置,包含传感器输入与电机控制。

VINI是使用全向轮的机器人平台,能以多方向行进。除了像传统轮子般的前进与后退,全向轮亦可将轮轴旋转为相反方向,以任何方向行进。此款车轮已普遍用于必须能在狭小空间中移动的自动堆高机等应用。

VINI还是一款地图描绘机器人,通过NI工业级控制器与CompactRIO执行路径规划与数据处理作业。嵌入式的工业级控制器提供雷射扫描地图,并执行机器视觉处理,让CompactRIO接收传感器数据,并在摄像机系统上控制伺服电机。

图2:VINI机器人

VolksBot搭载的车轮是由德国的弗劳恩霍夫研究所(Fraunhofer Institute)所开发的。

图3:德国Fraunhofer Institute研究机构开发的RT3 VolksBot

Isadora则是一种会跳舞的人形机器人,经由人类操作缩小版的机器人以取得输入数据。接着开始移动自己的机器手臂与躯干,以模仿缩小版机器人的运动。Isadora采用2组CompactRIO,其中1组用于仿真已记录的运动,另1组则是让机器人重现运动轨迹。

图4:Isadora跳舞机器人

伺服电机控制原理及其类型

伺服电机是机器人应用中常见的一种电机,其基本控制原理是利用控制回路、结合必要的电机反馈,从而协助电机进入所需的状态,如位置与速度等。由于伺服电机必须通过控制回路了解目前状态,因此其稳定性高于步进电机。

伺服电机有不同种类——带刷式与无刷式。有刷伺服电机与无刷伺服电机之间的差异在于其通讯机制。伺服电机的工作原理是根据反向磁力,进而移动或建立转矩。最简单的例子有固定磁场与旋转磁场。只要改变流过磁场的电流方向,即可变更磁极,并让磁极(转子)开始旋转。变更线圈的电流方向,即所谓的“换相”(commutation)。

有刷伺服电机

有刷伺服电机(brushed motor)的控制原理即是通过机械式电刷,改变电机线圈中的电流。由于有刷电机能改变流入的电流方向,因此可由直流电源(DC)供电。有刷伺服电机可分为2组零件:

电机机壳即具有场磁铁(Field magnet),即定子(Stator)转子(Rotor)是由线圈所构成,中间具有铁制核心,并连接至电流变换器

电刷则接触电流变换器,将电流导入线圈中。在使用一段时间之后,电刷即可能磨耗并对系统产生摩擦力;但在无刷伺服电机中则不会发生此种情况。

无刷伺服电机

大多数的无刷伺服电机均使用交流电源(AC)。无刷伺服电机的控制原理是将铁制核心置于外部。当转子成为暂时性的磁铁,定子则成为绕铁线圈。外部电路的电流将会在既定的转子位置进行反转。所以,此款伺服电机是由交流电所驱动的。当然亦有无刷DC伺服电机。这些电机一般均具备某些电子切换电路,可针对流入的DC进行变换。无刷伺服电机的价位较高,但较无磨损问题。

步进电机

在机器人运动应用中,步进电机不如伺服电机普及,但仍为电机的重要范例,而且使用方式较为简易。与伺服电机相比,步进电机的速度较慢亦较为精确。步进电机中具有一系列内建的无刷齿(Brushless teeth),可在电流通过而改变电磁电荷后,由下一组刷齿拉动转子,前一组刷齿推动转子,从而为步进电机通电。

相较于伺服电机,由于步进电机可通过刷齿的数量(即等于所移动的距离)进而精确进行控制,因此一般情况下并不需要反馈。但可能因为障碍物而遗漏刷齿,因此可用编码器做为反馈。

运动控制器与软件架构

许多制造商均建立了自家的驱动系统,以操控机器人。在考虑机器人应用中的运动控制系统时,可先了解初阶的网状循环,如下图所示。

图5:运动控制软件架构

至于机器人任务规划的较高阶功能,则是让机器人的行动达到最终的目标。它可能是以单一指令囊括多组目标,或可让机器人进入特定位置。若机器人采用遥控(Tele-operated)架构,那么这些指令最可能通过连接板外(off-board)的计算机而传送的,而且可在此人为操作选择机器人的后续动作或行为。在完全自动化的机器人中,根据决策用算法的不同,任务规划亦可能直接在板上执行。

在规划路径时,往往会产生“我应该如何到目的地以完成此任务?”或是“我应如何让机器手臂移动到该位置?”等问题。而此种问题均可由机器人运动控制器完成。

一旦清楚目的地与行进速度之后,伺服电机控制器将发出控制信号(PWM或电流等)至实际的电机驱动,使其得以到达目的地。一般均以PID建构控制功能。另请注意,此时亦应建置安全性功能。举例来说,若高速行进中的机器人在目前的路径上侦测到人类,则应发出紧急信号以停止电机或立刻煞车。

标签: #fpga步进电机加速算法