仿手写机器人系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

仿手写机器人系统
作者:沈刘兴
来源:《西部论丛》2019年第32期
摘要:机器人产业是国家大力支持的新兴产业,机器人可以代替人做许多繁琐重复的工作,在减轻人的工作量的同时提高工作效率与质量。

具有写字能力的机器人能够代替人完成手写的任务,并且同时能够在教学工作、科普和日常生活方面等方面发挥非常重要的作用。

经过市场调研,目前市面上的高速仿手写机器人还比较少,功能比较完善的写字机器人控制软件也比较少。

针对市场需求,在已有产品上进行改进,设计了仿手写机器人并开发了相关上位机软件。

关键词:路径规划;高速书写;仿手写
一、作品简介
本系统主要由写字机器人机械结构、写字机器人上位机、录制字体APP这三部分构成。

首先用户使用录制字体APP录制完一份字体库后,使用写字机器人上位机软件导入文档或者表格,上位机会将文档或者表格信息以及用户设置的模板或者表格参数根据用户设置的模板调用字体进行仿手写路径规划。

然后上位机进行高速可视化预览。

最后用户点击书写后机器就开始进行高速仿手写任务。

二、机器工作原理
此机器采用Corexy运动结构,运动导轨采用直线导轨,传动结构选用GT2同步带,运动电机使用42步进电机,机器框架采用20铝型材。

机器整体稳定、书写精度高。

Corexy结构的工作原理是:当1号与2号步进电机以同等的速度值及速度方向在顺时针及逆时针方向转动时,机构滑块就开始沿着X轴方向滑动;当其以同等的速度值及相反的速度方向在順时针及逆时针方向转动时,机构滑块就开始沿着Y轴方向滑动。

抬笔部分采用步进电机+直线导轨+钢丝绳,使用3D打印机打印一个机臂固定在步进电机上。

一毫米直径的软钢丝绳一端固定在机臂上,另一端固定在笔夹上。

机臂配合钢丝绳实现驱动抬笔落笔。

主控板固件选择Grbl固件,Grbl本质上是机电控制中嵌入式的软件,该软件对于当前普遍应用的数控软件的数控代码都能够较好地识别与执行,与搭载Atmega168、Atmega328P等芯片的开发板均能够完美兼容。

主控板刷入Grbl固件后,既可以发送Gcode代码到主控板实
现便捷的控制电机轴的精确运动。

Gcode在工业控制上用的很多,是一种通用的控制指令。

比如‘G1 X10Y20F10000’指的是控制机器以10000的速度移动到横坐标10mm纵坐标20mm处。

三、软件原理
完整的仿手写机器人系统离不开好用的上位机软件的支持。

本系统的上位机软件主要负责将用户导入的文档或者进行路径规划然后控制写字机书写。

横线格功能的路径规划,在用户导入文档后,后端遍历文档的每一个字符。

假如该字符存在于用户选择的字体中,则进行数据处理。

如果不在字体库中则该字符位置留空。

从第一个字符开始,将第一个字符的所有坐标点不变化,计算出第一个字符最右端的横坐标位置。

然后将第二个字符中的所有坐标点横坐标加上第一个字符最右端的横坐标和用户设置的字符间隔。

在每个文字处理数据的过程中,还需要判断每个文字的横坐标是否超出用户设置的页面宽度。

如果没超出则按照原来的流程处理。

如果超出,则需要进行换行,需要将该字符的横坐标移动到下一行的起点位置,需要将该字符的纵坐标往下移动一行。

在判断字符是否需要进行换行操作的时候还需要判断是否换行到下一页。

如果不是下一页则按照原来的流程操作,如果是下一页则保存当前页面的坐标内容,重新创建一个变量用于下一页面的坐标处理。

图片功能的路径规格,就是让写字机器人能够实现导入一张图后进行路径规划使得机器人能够快速的将图片画出来,使用Python中PIL库将导入的图片进行二值化,然后使用Opencv 库和Numpy库得到像素值矩阵。

逐行遍历这个二值化后的像素矩阵,比如某行遇到了第一个是黑色的像素点,则在同一行中往后遍历,直到遇到第一个不为黑色点的像素,记录下这一段像素点的起始点与结束点的像素坐标,将这两个点的坐标加入到数组中,这个数组对应的就是一条实心线。

将所有的点都判断完毕之后会产生很多数组,每一个数组都是一条实心线,将这些数组在保存到一个大数组中,这个大数组就是整张图片的所有线段。

接下来路径规划的大致思路是:控制机器移动到第一个线段的起始点位置,落笔。

控制机器移动到第一个线段的终点位置,抬笔。

然后继续下一个线段的循环直到所有线段处理完毕。

录制字体APP,使用JavaScript实现了一个可以用于画图的画布。

用户在录制字符的时候,每隔0.1毫米采样一个坐标点。

最后把所有的坐标点加入到该字体库中的该字符中。

录制完一份字体库即可实现导入文档进行数据处理。

四、创新点
(1)该机器的抬笔部分选用钢丝绳+步进电机+直线导轨,因为软钢丝绳在收到外力作用时候会发生形变,所以对于不同的纸张或者是书写笔记本时候,页面的高低不平也可以很好解,即钢丝绳在纸张不同位置发生的形变不同。

抬笔部分实现了抬笔落笔零延迟,完美兼容各种类型的本子与纸张。

(2)上位机部分使用PyQt开发,后端语言使用Python。

可以很快速的移植到MAC端电脑,可以快速的实现跨平台,满足更多人的使用需求。

(3)录制字体APP可以让用户使用自己的字体进行控制写字。

满足了更多人的书写需求。

五、市场前景
根据调研,发现目前市场上的高速书写机器比较少,能兼容多数笔记本与纸张的机器也很少。

市场前景广阔。

(1)市面上的控制软件多数不能进行录制字体操作,不能使用自己的字体进行书写。

本系统中的录制字体功能是对传统写字机软件的挑战。

(2)市面上的写字机器人,写笔记本时候多数不太完美,笔记本的高低不平导致写字机对于抬笔结构的设计要求很高。

本系统的抬笔结构可以完美兼容各种笔记本。

相关文档
最新文档