嵌入式机器人控制器的设计
2019-10-21雷蕾
雷蕾
摘 要:本文介绍了嵌入式系统在机器人控制中的应用——嵌入式机器人控制器设计的基本方法,首先介绍了机器人控制系统的基本结构和基于 PC 的控制方法,然后着重介绍了嵌入式机器人控制系统,以及 PC 的控制算法和控制程序移植到嵌入式控制器上的方法。
关键词:嵌入式控制器内嵌实时操作系统(RTOS);数字信号处理(DSP);G 代码(G Code);PC;机(Personal Computer)
1.基于PC的机器人控制系统
一个典型的机器人控制系统包括控制器、驱动系统、传感器和被控对象(机器人机械本体)。控制器负责完成机器人运动学解算、轨迹规划,并向下面的伺候驱动器发布控制命令。
基于 DSP 的网络直流伺候驱动器是用于实现对两自由机器人系统中的电机进行伺候控制,它负责接收来自控制器的伺候控制命令,主要完成两个方面的工作:
(1)利用专用 RS-485 总线,完成网络的建立、网络中信号的传递、总线控制权的仲裁,以及与上位机之间的通信工作。
(2)完成对电机的伺候控制。主要通过对电机的光电码盘及电流的检测,对电机进行闭环控制,以完成必要的控制任务。
1.1基于 DSP 的嵌入式网络直流伺候驱动器
网络直流伺候驱动器由两个主要部分组成,控制部分及电机伺候驱动部分。
系统在结构上分两层,第一层主要为 DSP、外围电路及网络部分;第二层为电机伺候驱动部分。
第一层中,DSP 是整个系统的核心,完成对外部芯片的控制。两片 128KB 的8-bit 存储器组成 16-bit 的存储器,可以存放程序和数据。MAX232 芯片完成 TTL电平信号与标准 RS-232 信号之间的转换,用于接收来自上机位串口的信号。MAX491 芯片用于组成 RS-485 现场总线网络。
驱动部分完成对直流电机的驱动,包括调速和正反转,并且在负载变化时能够保持相对恒定的速度。通过使用 DSP 的 PWM 输出端口输出具有不同占空比的周期信号,来控制桥驱动器的两相按照一定的关系导通,最后输出一定的关系导通,最后输出一定的直流电压大小到直流电机电梳两端。同时还增加了对电机回路的电流反馈,当电流达到一定值时,可以控制桥控制器停止工作,从而关断电机,以保证电机在堵转的情况下不会因为持续发热而烧毁。
1.2 PC 机与网络直流伺候驱动器的接口关系
基于 DSP 的网络直流伺候驱动器是用于实现对两自由度机器人系统中的电机进行伺候控制的,它负责接受来自上机位的伺候控制命令,基于 485 的现场总线提供了一套完整的网络协议。
网络驱动器既有 RS-232 接口,也有 RS-485 接口,如果使用 RS-232 接口,则可以直接通过 PC 机的串口向驱动器发送伺候命令,控制电机按照要求运转,但这样只能控制一个模块,即模块没有网络能力。如果要建立网络,则需要使用
RS-232 到 RS-485 的信号转换,然后通过 PC 机串口向多个模块发送网络控制命令,组建 RS-485 网络。通过对不同的模块分配网络地址,在以后的控制过程中,每一条命令都是针对不同地址的网络驱动器,只有符合地址条件的网络驱动器才执行相应的命令。这样,就可以通过在 PC 端进行二次开发和编程,通过串口向网络驱动器发送命令,实现复杂的控制功能。
2.两自由度机器人控制软件结构设计
两自由度机器人控制软件是一个机器人控制的集成环境,负责建立起用户和机器人的接口。一方面,它从用户那里获取用 G 代码代表的轨迹,帮助用户对 G代码进行仿真调试,另一方面,它向底层网络控制器发送相应的命令,控制机器人实现对用户所输入的轨迹。
基于控制软件的功能需求,对软件的结构进行了大致的划分,软件大体上有
以下主要模块:
1、G 代码编辑环境。能够允许用户在其中对输入的 G 代码进行编辑,并使用一些友好的提示,仅允许输入大写字母和数字。
2、G 代码的识别与解析。输入的 G 代码是文本形式,必须要通过数字化识别才能为计算机所使用。需要对文本形式的 G 代码进行解析,得到用户所描述的轨迹,然后才能执行下一步的操作。
3、直线插补与圆弧插补算法。对解析得到的 G 代码信息进行插补,然后显示出其轨迹。
4、两自由度机器人的运动学逆解。对运动进行逆解,求出各个插补点的电机位置角,然后用此数据进行机器人运动的仿真。
5、机器人控制部分,这部分主要面临建立与机器人的通信问题。在此基础上完成诸如机器人初始化,机器人自动零点查找,以及机器人轨迹执行等操作。
2.1嵌入式机器人的控制器设计
轨迹仿真正确之后,轨迹上的每个点的电机位置便形成了。接下来,只需要在进行机器人零位调整之后将电机的位置以网络控制指令的形式发送给底层模块,机器人就会按照预定的轨迹执行。
2.2嵌入式控制器可以取代 PC 机
以往,进行机器人控制或是机电控制的时候,如果要实现人机接口,一般都会选用 PC 机,使用 CTR 显示器和键盘进行人机接口,向受控对象发送指令,而反馈信息再返回到显示器上。也有以 LED 显示简单信息,或以按钮来进行简单的信号输入的,但那些应用的环境都很有限。嵌入式控制器具有液晶显示器,完全可以替代 CTR 显示器在控制器系统中所扮演的角色。键盘响应也具有很高的实时性,可以完全满足信息的输入和对控制系统的干预等工作。而且嵌入式控制器还具有以下突出的优点:
(1)体积小,嵌入式控制器整个系统体积只及 PC 机的几十分之一。
(2)成本低,嵌入式控制器可以量身定做,量体裁衣,不但可以将成本降到最低,而且去掉不需要的部件,也可以提高控制系统的可靠性。
(3)功耗小,适用于野外环境或电力无法延及的环境。
2.3嵌入式机器人控制器应用程序设计
基于 ARM 的嵌入式控制器实际上就是一台计算机,它“麻雀虽小”,但“五脏俱全”。PC 机上的机器人控制程序具有下载能力,通过一个 USB 下载软件,可以将 PC 机上调试好的 G 文件代码下载到嵌入式控制器,用控制器来实现对机器人的控制。嵌入式控制器使用基于μC/OS-II 内核 RTOS 操作系统。大体可以分为两部分:界面和相应的处理程序。
由于 ARM7TDMI 芯片中没有 MMU 文件,所以其操作系统和用户程序的地址编辑完全是固定的,并编辑在一起,最后生成一个文件,下载到嵌入式控制器中便可执行。在这一点上,不同于 DOS 或 Windows 这种 PC 机操作系统下形成的概念。它的操作系统文件和用户应用程序是分开的,而且可以有多个应用程序同时存于主机中。嵌入式操作系统和应用系统是在一起的,要想换一个,必须重新下載。
(作者单位:内蒙古师范大学 计算机科学学院)