本文系统设计由开发者针对目前的一些上肢肢体不健全、自主进食有困难的特殊群体,所提出的一款辅助进食的服务型桌面机械手控制系统,以语音、机器视觉等传感器技术为机器人提供人机交互的接口以及系统的反馈接口,使用物联网技术使机器人能够通过网络与用户进行数据交互,最终实现机械手能够按照预期辅助上身有缺陷的人群完成辅助喂食的一系列功能。 1系统功能实现针对目前家庭中服侍老人和特殊人群的要求,设计的辅助进食机械手系统,主要功能是通过语音的提示,指示机械手完成特定的动作,动作分为喂食 A、B 或 C 三类食物。当机械手收到正确有效的语音指令后,机器臂会取对应食物储存器中的食物,并通过搭载的摄像头会寻找人脸的目标位置,在检测到人脸并且等待人主动进食的过程中使用PID控制完成人脸的动态追随,直到人主动进食动作完成或者新的进食语音指令触发。机械手的主要工作流程是在第一次检测到人脸以后会将关节坐标记录作为下次喂食的终点坐标,同时进食动作的完成标志是机器人摄像头检测到人嘴张开动作的发生标记一次进食动作完成,如果没有新的语音指令中断发生,机械手继续下一轮的喂食动作。2系统整体硬件设计在整个辅助进食机械手控制系统中,硬件部分包含电源、通信、图像采集和处理、存储、语音输入、脉冲输出和网络通信模块,辅助进食机械手硬件系统框图如下所示。由硬件系统框图可以看出整个系统包含了人机交互单元(语音输入模块也是系统的输入单元) 、基于 STM32F427 图像处理单元(用于图像采集和处理、数据存储以及通讯) 、基于 STM32F103 运动控制单元(路径规划、伺服舵机控制以及通信)和桌面机械手平台,当然作为一款服务机器人在物联网(IOT)时代必然会包括一些家庭环境信息,这样我们可以通过网络来实时查看家庭环境状态,本文提供的是机械手的末端姿态信息、当前环境的温度和光照强度信息。硬件模块设计◆主控芯片:选择 Cortex-M3 内核STM32F103ZET6 作为主控制器芯片,集成有丰富的外设资源,其架构图如下所示。◆电源模块 :本设计的电源系统是采用 DC-DC(直流转直流)方式,外部电源输入可接受 6-24V之间的直流电源,通过电压转换芯片 MP2359 实现 5 伏电压输出。◆语音模块:选用的是支持非特定人声语音识别芯片 LD3320A,实现正确识别出候选语音后能够产生中断请求。◆摄像头模块:使用的是摄像头模块是 OV7725 搭载 STM32F427 处理器的机器视觉库 OpenMV 。◆电机驱动模块:采用数字舵机 TBS2701,就能够满足辅助进食机械手所需精度以及扭矩。◆WiFi 网络模块 :通过选用ESP8266WiFi模块,内嵌 TCP/IP 协议,能够完成 WIFI 数据和串口之间的交换,实现服务机器人与远程的客户端进行信息交互。3系统的物联网软件实现 本文的辅助进食机械手借助 WiFi 网络连接云端服务器,实现的功能是完成自身控制器的温度监控、机器人姿态角的上报、以及家庭工作环境的温度和光照强度信息实时上报远程客户端,能够实时为用户提供所需要的家庭环境信息。1、服务机器人接入机智云方案 机智云主要为用个人开发者和企业提供智能硬件开发和云服务平台,连入物联网无线WiFi网络是一种非常便捷的选择。本文服务机器人和机智云的接入方案是先在设备端(也就是机器人端连接WiFi通信模块)嵌入WiFi模块,然后设备通过路由器联网后与机智云进行通信,而在另一端手机应用 APP集成机智云提供的 SDK(应用 APP 是在机智云协议的框架下开发完成,具有特定产品密码类似于 ID 号,而且遵从机智云协议就能连入机智云平台)也能连入机智云,这样机智云就能为应用端和设备端搭建了网络通信桥梁。服务机器人和机智云接入方案,如图所示。 2、机械手传感器云端数据点创建 服务机器人在用户远程信息交互时,需要知道机器人的工作状态,其中做主要的是控制器是否工作正常,通过采集 STM32 芯片内部的温度以及通过传感器 (MPU6050)采集机器人末端姿态信息了解机器人的姿态信息。同时用户还可以通过机器人上面的温度传感器(DS18B20)采集的信息了解家庭环境的室温信息,通过光照强度传感器的采集信息了解居室光强信息,也能支持扩展更多的物联网功能。文中模拟了控制两个 LED 灯的开关。下图是在机智云上创建的产品传感器数据点的部分截图。 3、机智云生成的产品代码与硬件开发 ◆ 机智云平台开发产品的流程:①新建一个产品,然后新建产品相关的数据点信息,如机器人的传感器信息多是从设备上采集是一种只读类型的数值信息,而控制 LED 灯的数据点数据属于可写的布尔(BOOL)类型的信息,不仅需要从设备上读取,而且还需要应用端(APP)通过机智云能够修改。②在完成数据点创建信息后,根据 MCU 硬件平台生成对应的包含机智云协议和产品数据点信息的代码包,接下来就是代码移植和设备硬件开发工作,最后需要做的就是 APP 端联合调试过程。具体的开发流程如图所示。 ③ 在生成代码之前可以通过虚拟设备完成在线调试功能,比如手机端端打开 LED0 和LED1 云端会更新状态为 BOOL 值 1,如下所示。对于可写类型的数据点测试可以云端写入,APP 端更新。◆ 对于整个机智云移植流程以及硬件驱动的开发在这里以流程图的形式给出,详细步骤如下: 步骤1: 移植 FreeRTOS 系统内核 步骤2: 为机智云协议提供 1 毫秒(MS)时基 步骤3: 提供 WIFI 模块的通信接口,数据收发接口,这里是串口,并且封装机智云协议的数据接收和发送函数 步骤4:添加设备传感器驱动以及机智云的软复位程序 步骤5:创建 FreeRTOS 机智云任务(Gizwits_task()),主要包括机智云协议连接模式设置以及复位操作和传感器端的上行数据处理。 在完成整个开发以后就可以在远程 APP 端控制 LED 灯的点亮和熄灭以及实时查看服务机器人的工作状态,获悉机器人工作点的环境信息了。如图所示就是手机 APP端显示的机器人的实时工作状态。4系统总结整个辅助进食机械手系统,针对服务机器人的联网信息交互给出解决的方案,移植了物联网平台的机智云协议,物联网的嵌入不仅使远程的交互提供了可能,同时使辅助进食机械手的功能变得更加完善,成为物联网机器人。机械手实物图:辅助进食机械手取食运作过程:
-
物联网
+关注
关注
2909文章
44557浏览量
372741
发布评论请先 登录
相关推荐
评论