基于FPGA的机器人控制策略分析

2021-03-28 04:43:32孟庆仙
电子元器件与信息技术 2021年12期
关键词:舵机遥控器按键

孟庆仙

(云南机电职业技术学院,云南 昆明 650203)

0 引言

机器人是一种自动控制的装置,它能够接受来自人类的语音或者按键的指挥,也可以去运行一系列我们输入的编写好的程序。它目前主要是服务于人类的车间生产、建筑行业,还有一些非常危险消防这些工作。所以它对人类起到了至关重要的作用。近几年国内外涌现的控制系统大多数都是采用分散控制,没有统一的主控系统,但是机器人作为一个类人的产品,它必须能够保证每个关节之间的信息传递,那么该系统的控制就需要大量的I/O口,并且对数据采集的实时性要求非常高。由于FPGA具有丰富的I/O接口,高速的数据处理能力,所以采用当下比较流行的FPGA作为中央主控系统的主控板,可以高速、准确地传递信息,并且开启舵机等待及运行模式,控制舵机的实时角度,本文主要是制定一系列动作编排的策略,编写相应的程序,让机器人能够按照指定的动作平稳运行[1]。

1 机器人的主控系统组成

本文所使用的机器人是一个具有多自由度的类似人体的组织结构,那么这种机器人在运动过程中就需要多个关节同时运动,那么也就需要大量I/O口来控制。在控制方面有机械控制和手持设备两种控制方式,该实验使用手持设备通过无线装置来控制机器人的运动[2]。同时,针对机器人的特殊要求,根据它的重量,功耗,以及考虑它的稳定性、平衡性,提出了一整套完整的解决方案。控制系统结构如图1所示。

图1 机器人主控系统结构

该系统把机器人的主控制系统分为上位机和下位机两个部分。上位机它主要的是处理是在使用ARM芯片来完成的,它还负责完成无线遥控器的信号发射和信号的接收。ARM芯片中包括了两个主要的功能模块:信号调制和解调模块。而下位机就是我们的机器人主控系统的核心部分,它主要由FPGA以及控制机器人运动的舵机组成,当FPGA接收到ARM芯片传递过来的动作指令信号,就会将其按照之前预设的转换模式,将其转换成驱动舵机的PWM脉冲信号,通过实时改变脉冲的占空比,就可以改变舵机所运动的角度,并且我们在上位机中设计了几个地址线,通过地址线来选择哪个舵机工作。FPGA是整个下位机的主控核心部分,也是我们整个机器人平稳运行的最重要的组成部分[3]。

2 系统设计

该控制系统的上位机采用无线遥控器的发射接收两个模块信号来控制,ARM芯片作为上位机的核心控制系统,负责处理来自遥控器的信息请求。下位机使用FPGA作为主控器,来完成机器人舵机角度的精准控制。最终实现机器人平稳运行。

2.1 系统控制设计的主要内容

(1)机器人能够在舵机的转动角度范围内自由活动。

(2)多个舵机能够同时被控制,完成指定动作的协调与分配。

(3)控制舵机的各个系统、舵机还有一些外围电路都放在了机器人身体内部,不至于放在外面影响机器人运动。

(4)手持的无线遥控器可以远距离控制机器人的机械运动。(5)利用FPGA控制机器人的准确运动。(6)编写高速有效的verilog程序。

2.2 系统硬件设计

目前国内大多采用一个伺服驱动器控制一个伺服电机的方式,这种方式机器人体积庞大,项目之间配合时出现延迟,而本课题采用一个FPGA主控芯片作为伺服驱动器,来完成驱动机器人腿部的伺服电机的工作,使机器人重量减轻,体积减小,达到精准控制。

在该实验中,我们所使用的机器人一共有18个舵机,他们分别由PWM的内核模块集中控制,每个舵机占用一个I/O口。每个舵机之间我们加入了光电耦合器TLP521-4。因为信号在传输过程中经过了反向,那么就必须把光电耦合出来的信号再次经过反向才能还原成原来的信号。系统整体硬件由一个能够独立行走的机器人,以及一个手持的遥控设备,还有一个arm板、FPGA主控系统构成,最终控制18路舵机分时运转,达到让机器人运动的目的[4]。系统实验中FPGA管脚配置硬件接口电路分配图如图2所示。

图2 硬件接口电路管脚分配图

基于FPGA的工业机器人控制系统不但可以让机器人平稳地行走,而且能够穿越一些坡度较陡的路,甚至楼梯,为机器人重心与行走的稳定性最佳参数配合的研究与开发起到指导作用。

2.3 控制策略的实现

该控制系统由上下两部分构成,一部分是来自上位机的ARM板子和无线遥控器,另一部分是下位机中的FPGA主控系统。无线遥控器经过调制解调后输出4个控制信号,信号连接至ARM板子作为他的输入信号,arm将其转换成可以控制的1位confirm线,1位run线,3位地址输入线,1位读写信号线,2位数据信号线;最后由arm板子编译后输出到相对应得FPGA主控板上,3位地址输入线主要是控制9个舵机选择哪个舵机运动,2位数据信号线主要是控制对应的舵机转动相应的角度,这个角度就代表了机器人动作的变化模式。

使用无线遥控器按下某个按键,它将触发系统模块产生相应的动作编码,然后经过arm板处理后送到FPGA来处理[5]。而动作译码模块主要功能就是在接收到的编码信号后,对信号进行分析,判断按键的动作,并进行舵机的选择。我们将根据动作的不同产生相应的控制信号,FPGA产生不同的PWM波来控制舵机的转动角度,那么机器人也就完成了动作变化。

在实验过程中对控制机器人的舵机进行了相应的简化,一共使用8个舵机,无线遥控器的1到8按钮主要是针对8个舵机的选择,当按下某个按键的时候,系统锁存器进行锁存,那么后面所有的操作都是针对该舵机进行控制,其余均不受到影响。遥控器上第9个按键和第10个按键是针对机器人的动作进行控制,如果按下第9键,那么代表该舵机要在原有角度的基础上转动加上45度,如果按下第10键,那么代表该舵机要在原有的角度基础上减去45度,按下11键的时候,系统确认该操作,机器人开始执行相应的转动。按下12键得时候,系统恢复初始化,回到初始状态。

3 实验测试

实验所用机器人模型主要是描绘出机器人在完成规定动作时舵机安装的位置,各姿态下PWM信号参数如表1所示(空格处参数与相应的直立时参数相同),论文主要完成了以下工作:主要是设计FPGA来控制两个以上的舵机的控制策略,它们能够同时完成机器人一系列动作的协调,并且在保持机器人平衡上准确地调整角度,来改变由于重心变化引起的不平衡。完成了FPGA引脚的分配,PWM 信号的发生程序设计,使用verilog语言实现了对机器人角度的精确控制,使得机器人能够平稳运动。

表1 仿人机器人各姿态下PWM 信号参数 单位:0.1 ms

4 结语

基于FPGA的工业机器人控制系统的研究具有很大的现实意义,现在我国新增工业机器人中超过70%依赖国外进口,而我国近几年工业机器人需求量增大,学生如果可以掌握该技术,那么对于学生的就业有很大的帮助。目前高职高专组进行的工业机器人大赛就是为了促进机器人技术的推广与发展,而这个项目的研究正是对大赛后续的一个补充,让学生可以多方面地掌握机器人运动的控制技术。现在学院开设了FPGA项目化教学,该系统的研究正是与这门课程的融合,既体现了当代机器人物联网要求,又拓展了学生对FPGA学习的动手能力,让学生对课程融会贯通,不再独立教学就能够让学生综合运用所学知识。

猜你喜欢
舵机遥控器按键
基于有限状态机的按键检测程序设计
电子制作(2021年3期)2021-06-16 03:14:26
爸妈有个“遥控器”
时间遥控器
含齿隙弹载舵机的全局反步模糊自适应控制
自动化学报(2019年6期)2019-07-23 01:18:36
行走的飞行遥控器
基于dsPIC单片机的飞艇舵机控制实现
电子制作(2018年1期)2018-04-04 01:48:14
基于高速同步485总线通信的多通道舵机控制器设计
一种多方向导光按键结构设计
电子制作(2016年1期)2016-11-07 08:43:05
按错遥控器
基于云模型的舵机同步控制