×
家电数码 > 数码产品 > 详情

智能机器人保姆

发布时间:2020-06-08 发布时间:
|

1.前言

 随着科学技术的进步,机器人技术在国内外已经得到了较好的发展。例如美国REMOTEC公司设计研制的F6-A防爆机器人,它采用活节式履带,能够跨越各种障碍,在复杂的地形上行走。速度为0-5.6公里/小时,无级可调,完全伸展时,最大抓取重量11公斤,配有三个低照度CCD摄像机,可配置X光机组件(实时X光检查或静态图片)、放射/化学物品探测器、霰弹枪等等。可用于排爆、核放射及生化场所的检查及清理,处理有毒、有害物品,特警行动和机场保安。中国也由类似的遥控机器人,例如RAPTOR排爆机器人,外形紧凑、坚固可靠,可在会场过道、飞机机舱中自如活动,在各种大型机器人无法进入的狭窄环境中执行任务。附加摄像机,喊话器,放射线探测器,毒品探测器,散弹枪,各种水炮枪,探照灯等;模块化设计,所有部件可迅速拆装;遥控/线控可选,遥控距离300 -500米,线控距离100米。该机器人重量达49kg(全配置),最高速度20 米/ 分钟(合12千米/小时),配备有3台CCD摄像机,其中一台具有10 倍光学变焦,可满负荷连续工作 2 小时以上,4关节机械手抓持能力达5-15公斤。

本作品设计一个能够在人工采用无线干预的方式下完成取物工作的机器人保姆。主要是通过检测使用者手动作时产生的肌电信号以及手指运动情况来控制该机器人保姆,使该机器人保姆帮助使用者去远处(使用者视野不能达到的80M范围内)提取某些物品,然后在不需要使用者再次控制的条件下机器人保姆能够将所取的物体自主地运送回原出发地,交给使用者。在前往目的地时使用者可以通过机器人保姆的无线视频功能对机器人保姆的运行情况以及机器人周围环境信息进行监视。

2.总体设计

本作品采用模块化设计思想,按照本设计主体部分可以分为三大部分:肌电信号检测识别、无线通信设计、智能机器人设计。

  1. 肌电信号检测识别

该部分主要是通过采集人手动作时手臂表皮势电信号,通过信号放大以及控制算法的处理,将检测到的信号进行相关处理,最后得出人手相应的动作。主要是涉及到的技术有微弱信号检测、微弱信号放大、数据信息处理等技术。

  1. 无线通信设计

该部分主要是通过无线传输来实现上位机与智能机器人之间的数据交流——上位机的控制命令的发出,智能机器人视频信息的上传等。主要是涉及技术有无线通信电路设计、无线视频传输设计等。

  1. 智能机器人

  该部分主要是通过一个机器人的机械手臂能够在上位机的控制下完成取物操作,完成取物操作后,能够自主的返回到出发点,这过程中需要改机器人具备自主避障、视频信号的无线传输、记忆运动轨迹等功能。

总体设计框图如图1所示:

2.1 肌电信号检测设计

本设计中采用双通道的信号采集的方式,采用纽扣作为肌电信号采集的电极,使用微弱信号放大器并采用差分放大配置方式对信号进行放大;然后利用带通滤波和工频陷波技术,对噪声信号和工频干扰进行处理。将采集到的模拟信号通过A/D转换读入单MCU,在MCU上实现体表电生理信号的时域分析功能,获取相关的时域参数(如信号峰值等)提供给下一级模块使用。其设计框图如图2所示:

图2 肌电检测设计框图

2.1.1 差分放大设计

由于人体肌电信号非常弱小,因此需要采用信号放大才可以通过ADC采集到肌电信号,采用分二级放大方式,前级采用AD620进行一级微弱信号的放大处理,第一级放大增益并不高只有约100倍,我们主要的目的是要把体表信号尽可能完整的取出,并且不要在进入二级放大之后由于二级输入信号过大而造成最后的信号失真。因此需要在前级放大之后需要带通滤波。第一级放大电路如图3所示:

图3 第一级放大电路图

在进行带通滤波电路设计之前,我们是采用的仿真来设计出最佳的带通滤波电路,最后得到仿真电路如下图4所示:

图4 带通滤波电路仿真图

最后进入二级放大,但是设计中发现,通过两级放大后,会有很多干扰掺杂进入检测信号中,因此还需要进行调理,设计中利用TL072芯片设计了这一陷波电路,专门处理工频带来的噪声。其电路具体实现如下图5所示:

图5 陷波电路设计

2.1.2 软件设计

本设计首先是采用单片机进行编写调试该部分,主要完成的工作是进行信号的AD采集。设计中在AD采集数据过后还采用了均值法进行的再次的处理,这样得到的信号值更加准确。具体程序设计流程图如图6:

图6 信号采集软件流程图

2.2 无线通信设计

在本设计中,无线通信分为两个部分,一个部分是数据信号(控制命令)通信,一个是视频通信。数据通讯模块采用APC220多通道微功率嵌入式无线数传模块,该模块是高度集成半双工微功率无线数据传输模块,其嵌入高速单片机和高性能射频芯片。创新的采用高效的循环交织纠检错编码,抗干扰和灵敏度都大大提高,最大可以纠24bits连续突发错误,达到业内的领先水平。视频通信采用2.4GHz 无线音视频模块,2.4GHz和433MHz一样是一个公共频道,主要是开放给工业,科学、医学三个主要机构使用,不需授权即可使用,2.4GHz技术空中通信速率快,可达到2M/S,能满足视频传输对传输速率的要求,在本设计中,摄像头采用普通的CCD倒车雷达摄像头,水平成像角度为150度,摄像头输出的是标准的AV制式的信号,该信号直接连入视频发射模块,整个部分没有和单片机相连接,这样即使单片机在使用过程中出现问题,系统也能继续传输图像。

该部分都是采用现成模块而设计的,这样使用方便,而且稳定可靠。在软件设计上只需要对数据通信部分进行简单操作即可完成。

2.3 智能机器人设计

智能机器人的硬件主要设计部分在于机械手臂与摄像头的设计,其软件设计主要是遥控器部分、摄像头部分等的设计,下面主要来介绍着这几部分的设计。

2.3.1 机械手设计

1)机械手硬件设计

机械手是本设计的关键部分,机械手要完成一个抓取动作,需要有多个关节和一个可控制的夹持器,在机械手的关节设计上,模仿了人的手臂的工作方式,机械手有三个关节分别对应肩关节、肘关节、腕关节,其中肩关节使用一个金属齿轮舵机和一个塑料舵机分别控制机械手的两个自由度,肘关节使用一个金属齿轮舵机控制一个自由度,腕关节使用两个塑料舵机控制一个自由度和一个夹持动作。这五个舵机能在信号的作用下,同时协同工作,完成爪持的动作。所有关节与水平面成垂直关系时,安装时定义为舵机的零角度附近,这样每一个关节都能执行±90°的运动,关节的运动关系和对应关系如图7所示。

图7 机械手设计示意图

2)机械手的控制部分设计

本设计采用的是舵机来控制,舵机的工作原理是控制电路板接受来自信号线的控制信号,控制电机转动,电机带动一系列齿轮组,减速后传动至输出舵盘。舵机的输出轴和位置反馈电位器是相连的,舵盘转动的同时,带动位置反馈电位器,电位器将输出一个电压信号到控制电路板,进行反馈,然后控制电路板根据所在位置决定电机的转动方向和速度,从而达到目标角度后停止,这样,实现了舵机角度的闭环控制。舵机的输入线共有三条,红色中间,是电源线,一边黑色的是地线,这辆根线给舵机提供最基本的能源保证,舵机的第三根线是信号线,本设计中用到的舵机控线为白色或者黄色,舵机的控制信号时基脉冲周期是20ms的脉宽调制(PWM)信号,其中脉冲宽度从0.5ms到2.5ms,相对应舵盘的位置为0-180度,呈线性变化,其对应关系如图8所示。

图8 舵机输出角度与脉冲周期关系图

3)机械手电路设计
采用的是当机械手舵机在工作时,需要5V供电电压,同时工作的电流大概是2~3A,在

图9 机械手电路设计

本设计中,使用的电池是12V的硫酸铅蓄电池,为了满足供电的需要,设计中采用5个KIA7805芯片将12V的电压转换为5V的电压,分别为5个舵机供电。电路原理图如图9。

[page]

2.3.2 视频设计

视频采用的是已经集成的模块,其接线图如下图10所示:

图10 视频接线图


设计中为了能够提供很好的视频效果,还专门设计了照明灯。其设计电路图如图11所示:

图11 照明电路图

同样,为了使用者很好的视觉效果,摄像头部分设计了移动云台。摄像头云台的作用是通过遥控,控制云台的两个电机的转动,带动摄像头运动,从而使得操作者能更好的观察平台端周围的环境,获得更多的信息,也能在一定程度上消除视觉死角,对机械手的运动操作更加方便。云台的硬件如图12所示,两个小型直流减速电机成90度安装,电机1的正反转带动摄像头左右转动,使摄像头获得可调的水平视角,电机2的正反转带动摄像头的俯仰角度发生变化,使摄像头获得可调的俯仰视角,电机的控制和手臂驱动电机的控制方法和电路是一样的。

图12 云台设计示意图

2.3.3 智能机器人软件设计

本设计采用结构化和模块化的编程思想,二者相辅相成实现各模块间的连接,各个模块之间程序保持独立,模块之间通过入口参数和出口参数联系,这样有利于程序的调试与修改。

遥控端主程序设计


遥控端的主程序的任务是采集当前操作者的操作指令,对数据处理并发送给小车端,主程序完成遥控系统的初始化,AD转换器初始化,串行数据端口初始化,IO口初始化,终端服务程序初始化,遥控端主程序流程图如图13所示。

串型数据传输程序

在遥控端,数据完成采集之后,需要无线发送给平台端,作为控制信号来遥控平台端的各个执行机构完成操纵者的指令,单片机自带两个串行数据口,数据的传输使用到了单片机的串口0,将采集到的数据通过串行端口发送给无线收发模块,模块在接收到数据后,会自动的将数据转存之后按照设定的波特率发送给接受端,接收端在接收到数据后会返回一个值给发送端,作为发确认接收和送下一数据的信号,这个过程由无线收发模块自动完成。程序设计流程图如图14所示:

图14串行数据发送程序流程图

机械手控制程序设计

机械手的控制是通过分别控制5个舵机来控制的,在机械手控制程序中,根据舵机的控制原理,编程使得单片机能根据串口得到的遥控数据,计算出控制舵机的PWM波的占空比,并输出这个占空比,由此来控制电机。程序设计框图如图15所示:

平台端驱动程序设计

平台端的驱动电机采用12V电压供电的直流减速电机,电机控制信号通过光电隔离器,加载在LM298芯片上,实现单片机对电机的控制,对电机的控制也采用控制PWM波的占空比方式。程序设计框图如图16所示:

图16 平台驱动电机控制程序流程图

总结

本次设计在开始采用的是模块设计的思想,在设计过程遇到了不少的问题。同时最后没有能够最后完成所有模块的组装调试。遇到的主要问题有:

 

  1. 肌电检测不准确,通过本文设计的电路和软件检测肌电信号很不准确,主要是由于设计原理过于简单,所有器件误差大,同时软件上没有很好的处理。从而导致机器人的控制部分没有得到很好的解决,因此在机器人设计部分我们只有采用电位器的方式来进行调试。

  1. 在对机械手硬件制作的时候,先测试了用一块单片机采集遥控臂上的电位器电压信号,采用同一块单片机的定时器B输出PWM波来控制机械手,这个过程实现起来没有太大的问题,但后当用一块单片机A采集遥控信号,并通过无线模块将数据发送至另一块单片机B,单片机B根据接收到的数据产生PWM波来控制机械手,这时出现机械手控制失灵甚至失效的问题,从理论上来讲,只要数据一致,定时器B产生的PWM波一致,就不会存在这个问题,但是在实际测试中结果却不如同理论分析结果。

  1. 在对机器人软件设计上很多BUG没有处理的很好,比如机器人在得到控制命令后会有误操作的情况,这是由于控制命令发来后,由于数据量相对较大,就造成了误判的产生。同时在舵机的设计上没有很好的硬件设计,有些时候给一个小幅度动作信号,但是手臂运动幅度很大。

 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
英韧科技将携四款新控制器亮相FMS 2019