一种写字机器人控制系统

文档序号:27830333发布日期:2021-12-07 22:06阅读:626来源:国知局
一种写字机器人控制系统

1.本发明涉及机器人技术,具体涉及一种写字机器人控制系统。


背景技术:

2.目前的写字机器人控制系统,稳定性有待进一步的提高,书写规则还不够完善。


技术实现要素:

3.本发明的主要目的在于提供一种写字机器人控制系统。
4.本发明采用的技术方案是:一种写字机器人控制系统,包括:硬件控制模块,用于写字机器人的硬件控制;软件控制模块,用于写字机器人软件控制;控制算法模块,用于写字机器人算法控制。
5.进一步地,所述硬件控制模块包括:控制机构,采用英飞凌xmc4500永磁同步电机控制器,xmc4500微控制器由上层的控制板和下层的功率板组成;控制板由xmc4500主控芯片和周边的辅助电路构成,功率板通过功率信号接口与控制板连接,控制板包含电源输入、辅助电源产生、电机驱动与电流采样模块,具有过压、欠压、过流的报警和保护功能;执行机构,包括永磁同步电机、角度舵机;所述永磁同步电机为两个,两个永磁同步电机分别控制x轴和y轴,在系统的运行过程中,两个电机将相互配合来完成任务;所述角度舵机用于控制写字笔的上抬与下落;通信电路,用于实现上位机和下位机的通信。
6.更进一步地,所述软件控制模块包括写字方案模块、上位机模块、下位机模块;所述写字方案模块包括:汉字笔画方式设计单元,用于按笔画结合手写板实现的输入方式;取字模方式设计单元,用于通过识别二进制点阵的方法来完成写字任务,一个汉字的点阵是36
×
36的矩阵,每一个点走的距离为1mm,也就是一个笔尖的宽度;文字图片方式设计单元,用于将用户要写的文字转化成图片格式,然后将图片二值化,从而取得整张图片的二进制矩阵,然后将这个矩阵发送给下位机进行处理,接下来的电机控制策略与第一种方式一样逐行扫描;所述位机平台设计模块包括:参数设置单元,用于选择正确的串口、波特率、数据位;控制面板单元,用于设置电机复位转速、手动控制电机以及电机实时转速控制;解析面板单元,用于取字模的操作,然后解析字模生成二进制点阵,最后发送给下位机;主要实现对所要写的字进行解析,生成下位机能识别的数据并发送给下位机;用户输入单元,用于汉字输入、图片输入以及写字板输入,三种输入方式均是对文
字图片的处理;所述下位机模块用于主要完成对各个寄存器的配置、外设的初始化、系统时钟的配置、电流的过流检测、电机参数初始化和系统参数初始化;其中,功能子模块则能够实现坐标变换、svpwm生成、位置检测及速度计算;其中,中断程序则是定时器触发,主中断程序中通过定时器实现电机的控制;其中,串口中断程序通过处理上位机的指令实现电机的单独运动以及舵机的动作。
7.更进一步地,所述控制算法模块包括初始化种群和选取变异概率;初始化种群用于确定算法的操作空间;选取变异概率用于对该空间内的个体进行最优化操作;初始化种群包括:算法中设定的种群大小是30,那么有蒙特卡洛序列产生的一组随机数a是一个30
×
1的矩阵,为了实现维数的扩展,首先将a矩阵转置,然后矩阵a乘以转置矩阵a’即可得到一个30
×
30的矩阵b如式(4

6),b矩阵就是初始化的种群;
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4

6)选取变异概率包括:采用分段处理的方式,将所有适应度的个体按高低分为三个部分,然后针对每个部分选取一个变异概率进行变异操作;这种做法会在很大程度上保留种群中的优良个体而且又可以产生较好的个体;变异概率分段选取的公式如式(4

7):(4

7)式中:pm1 = 0.6,pm2 = 0.05,pm3 = 0.001,bestfi是种群中适应度最好个体的适应度值,fi是待变异的个体的适应度值,f31和f32分别是适应度值由高到低排在1/3、2/3处的个体的适应度值。
8.本发明的优点:本发明的写字机器人控制系统具备多种输入功能,可以通过输入法输入汉字;可以在pc端软件界面的书写区域,用鼠标进行写字或者画图来完成输入;可以通过外接写字板进行写字和画图来完成输入。pc端的控制软件能将输入的汉字或者图片转换成“0”,“1”编码传输给下位机,最终完成汉字的书写。下位机实现汉字书写的方式有两种:一种是参照打印机进行逐行扫描式的书写;另一种是根据设定的笔画规则,按照笔画顺序完成汉字的书写。
9.除了上面所描述的目的、特征和优点之外,本发明还有其它的目的、特征和优点。下面将参照图,对本发明作进一步详细的说明。
附图说明
10.构成本技术的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
11.图1是本发明的控制器结构框图;图2是本发明的系统硬件接口示意图;图3是本发明的控制流程图;图4是本发明的写字板输入图;图5是本发明的取字模界面图;图6是本发明的主程序流程图。
具体实施方式
12.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
13.参考图1至图6,一种写字机器人控制系统,包括:硬件控制模块,用于写字机器人的硬件控制;软件控制模块,用于写字机器人软件控制;控制算法模块,用于写字机器人算法控制。
14.本发明的写字机器人控制系统具备多种输入功能,可以通过输入法输入汉字;可以在pc端软件界面的书写区域,用鼠标进行写字或者画图来完成输入;可以通过外接写字板进行写字和画图来完成输入。pc端的控制软件能将输入的汉字或者图片转换成“0”,“1”编码传输给下位机,最终完成汉字的书写。下位机实现汉字书写的方式有两种:一种是参照打印机进行逐行扫描式的书写;另一种是根据设定的笔画规则,按照笔画顺序完成汉字的书写。
15.硬件控制模块包括:控制机构,采用英飞凌xmc4500永磁同步电机控制器,xmc4500微控制器由上层的控制板和下层的功率板组成;控制板由xmc4500主控芯片和周边的辅助电路构成,功率板通过功率信号接口与控制板连接,控制板包含电源输入、辅助电源产生、电机驱动与电流采样模块,具有过压、欠压、过流的报警和保护功能;控制器的结构框图如图1所示。
16.执行机构,包括永磁同步电机、角度舵机;所述永磁同步电机为两个,两个永磁同步电机分别控制x轴和y轴,在系统的运行过程中,两个电机将相互配合来完成任务;作为整个系统重要的执行机构,永磁同步电机运行的稳定性是整个系统完成任务的关键。两个永磁同步电机分别控制x轴和y轴,在系统的运行过程中,两个电机将相互配合来完成任务。用永磁同步电机是由两根线连接值控制器,一根是电源线,一根是编码线。电源线是与控制器的功率板连接,主要将功率板的输出输送给电机;编码线是与控制板连接
的,主要实现控制板与电机之间的信号传输。当电机接收到控制板发送的脉冲信号时,电机就会有响应的运动状态。如果是连续的脉冲信号,电机会一直转动,其转速会根据脉冲信号的不同而有所不同;如果是单一的脉冲信号,电机会根据不同的脉冲信号转动不同的角度。经过测试得出,本设计中所使用的电机在接收到单一脉冲是,运转的最小距离为1mm。
17.所述角度舵机用于控制写字笔的上抬与下落;通信电路,用于实现上位机和下位机的通信。
18.在硬件结构中两台控制器是相互独立的,并且一台控制器提供的一个,要实现两套设备的通信,需要外接一个通信电路来实现。在设计通信电路时,只选择了两块max232芯片,经过测试发现xmc4500控制板作为u1c0串口的接收端带负载能力不够,导致单片机无法正常识别低电平,输出的波形一直在高电平附近,这也就导致了没有接收到正常的数据。
19.于是,首先通过max232进行电平转换,保证输出和输入电平在高+5v、低0v,这样避免芯片引脚被烧坏,而这种方式比直接把两块控制板引脚直接交叉连接输出的电平更加具有稳定性。通过改进,增加了一个sn75179bd(差分驱动器和接收器),使输出电平经过比较输出逻辑电平“0”或“1”,保证数据的正常传输。最后通过一块sn74lv245a芯片,按照其逻辑功能表,把第10引脚和第2引脚接地,再通过把dir接+3.3v,这样就保证了信号输出只能是从a端输出到b端。通过sn74lv245a芯片,也保证了输出电平是控制板所能接受的0

3.3v之间的范围。通过将两块max232对应连接,并将通信电路与两块控制板共地,就可以完成正常的通信。运动控制器能够实现2轴闭环控制。定时器可以实现可变脉冲输出,驱动伺服的信号有3种,分别是方向+脉冲信号、相差90度的双路脉冲信号和单路脉冲信号。运动控制器能够实现上述3种脉冲驱动方式。单轴信号有伺服驱动信号、伺服使能信号、制动信号、归零信号。系统硬件接口示意图如图2。
20.运动控制器具备完善的控制功能。rs232用于实现上位机和下位机的通信,两块板子之间通过uart转rs422的电路实现板间数据的相互传输。两块板子分别按照接收到的指令实现电机的运行和停止。
21.软件控制模块包括写字方案模块、上位机模块、下位机模块;为了方便程序的编写,对于每一个汉字都是用36
×
36的矩阵来储存。在硬件系统搭建完成后,经测量得出,设计的系统x轴的最大行程为23cm,y轴的最大行程为21cm,一个点的直径为1mm,一个汉字的大小为25mm
×
25mm。
22.所述写字方案模块包括:汉字笔画方式设计单元,用于按笔画结合手写板实现的输入方式;按笔画实现的设计中主要有两个工作,一是笔画的存储,如“天”字,在写完第一笔“横”,数据会存储在缓冲区中,延时1ms,让中断调用缓冲内数据,然后清空缓冲区,继续存储下一个笔画的数据,直到完成所有笔画的存储;二是在取点的时候只提取三个坐标点,写出来的字会有很大的失真,为了处理数据的方便,本设计没对过多的坐标点进行提取。
23.取字模方式设计单元,用于通过识别二进制点阵的方法来完成写字任务,一个汉字的点阵是36
×
36的矩阵,每一个点走的距离为1mm,也就是一个笔尖的宽度;在该系统中一台电机驱动x轴扫描,一台电机驱动y轴扫描,舵机z驱动写字笔的上下。这种方式是通过识别二进制点阵的方法来完成写字任务,一个汉字的点阵是36
×
36的矩阵,每一个点走的距离为1mm,也就是一个笔尖的宽度。主要流程:在上位机中调用字模库
来生成所写的字的字模,解析生成二进制点阵,将这些点阵发送给下位机,下位机在识别上位机发送来的点阵后,通过逐行扫描的方式先控制x轴扫描一行遇到点阵上为0的点则z轴的舵机往下运转一定的角度,让写字笔下落,完成这个点的涂写;扫描一行后会接着扫描下一行,当x轴完成一行的扫描后,y轴会往下一行移动1mm,然后又让x轴扫描一行
……
如此反复,直到完成一个字的书写,控制流程图如图3。此控制方式相对简单,并且只能实现单一文字的输入,实现较为容易,但由于matlab对于字模的处理比较麻烦,所以需调用第三方软件来取字模,使得用户的操作步骤比较多,所以这种方式主要是在调试过程中使用。
24.文字图片方式设计单元,用于将用户要写的文字转化成图片格式,然后将图片二值化,从而取得整张图片的二进制矩阵,然后将这个矩阵发送给下位机进行处理,接下来的电机控制策略与第一种方式一样逐行扫描;这种方式首先是将用户要写的文字转化成图片格式,然后将图片二值化,从而取得整张图片的二进制矩阵,然后将这个矩阵发送给下位机进行处理,接下来的电机控制策略与第一种方式一样逐行扫描。这种方式主要是在用户输入方面做了简单化,用户只需要输入需要写的文字,并且支持多文字的输入,由于是处理图片的方式,所以用户可以在人机界面选择一张单色的图片作为输入。这种方式的用户输入比较灵活,且用户的操作简单,只需要输入文字并点击发送或者选择图片点击发送即可。
25.用户还可以通过写字板连接电脑,写字板输出的是一张单色的图片,在写字板上手写或者画图,可以在上位机中实时显示所写的文字或者所画的图片,并将其作为系统的输入。如图4所示,(a)图是一个写字板的实物图,通过数据线连接到电脑,可以在上位机的写字板的面板中输入文字,(b)图就是上位机中接收到写字板输入的文字,(b)图中所得到的图片尺寸很大,不利于转化成数据的存储和数据的发送,因此需要对图片进行压缩,(c)图就是进过处理后的图片。为了方便数据的传输,这里所有的文字图片方式的图片尺寸均处理为36
×
36的点阵,这也有利与下位机接收统一大小的数据,处理起来比较方便。
26.所述位机平台设计模块包括:参数设置单元,用于选择正确的串口、波特率、数据位;控制面板单元,用于设置电机复位转速、手动控制电机以及电机实时转速控制;解析面板单元,用于取字模的操作,然后解析字模生成二进制点阵,最后发送给下位机;主要实现对所要写的字进行解析,生成下位机能识别的数据并发送给下位机;用户输入单元,用于汉字输入、图片输入以及写字板输入,三种输入方式均是对文字图片的处理;1)参数设置本设计中,计算机与写字机器人通信是用串口实现的,所以在开始操作时候需保证上位机与下位机的已经建立通信,这就需要选择正确的串口、波特率、数据位等。下位机接收信号的波特率是19200,所以在设计的时候就将波特率选项的默认值定为19200,如果遇到下位机的波特率发生变化的情况,在下拉菜单中也可以修改,常用的波特率值(300 600 1200 2400 4800 9600 38400 43000 56000 57600 115200)都有,其它的设置默认就行。
27.2)控制面板在控制面板中主要有连接串口的按钮,设置电机复位转速的按钮、手动控制电机
的按钮以及电机实时转速的显示等。<打开串口>按钮是上位机与下位机连接的总开关,初始状态的颜色是黄色,按下去会变成绿色。<设置复位转速>按钮是可以设定手动回零点的转速,在它后面的显示栏中设置。<电机转速> 是下位机反馈的转速显示栏。<x开始>和<x停止>是控制x轴电机启动与停止,<y开始>和<y停止>是控制y轴电机启动与停止。<笔尖动作>按钮是一个可以手动控制笔的上抬与下落的按钮。<开始>按钮是启动电机的按钮。<暂停>按钮可以暂停电机的动作。<y+>按钮是y轴电机的逆时针控制按钮。<y

>按钮是y轴电机的顺时针控制按钮。<x+>按钮是x轴电机的逆时针控制按钮。<x

>按钮是x轴电机的顺时针控制按钮。在这一板块中主要实现对电机的手动控制以及回零点的操作。
28.3)解析面板在解析面板中包括取字模的操作,然后解析字模生成二进制点阵,最后发送给下位机。<取字模>按钮,点击该按钮会弹出图5的界面,在这里可以获取汉字的字模,然后将其复制到上位机的<字模>显示栏,点击<二进制点阵>按钮就可以将字模解析成二进制点阵,并在该按钮旁边的空白显示栏中显示。<发送点阵>按钮,点击该按钮就可以将解析完成的二进制点阵发送给下位机。在这一控制面板主要实现对所要写的字进行解析,生成下位机能识别的数据并发送给下位机。
29.4)用户输入在用户输入面板中包括汉字输入、图片输入以及写字板输入,三种输入方式均是对文字图片的处理。
30.在汉字输入面板中,用户可以在文字输入栏中输入文字,输入完毕点击<确认输入>,输入的文字就会被二值化并保存在程序缓冲区中,用户再点击本面板中的<发送>按钮,二值化的信息就会以矩阵的形式发送给下位机。
31.在图片输入面板中,用户可以通过<选取图片>的按钮,选择一张图片,这张图片的路径会在显示栏中显示,以便用户查询所选取的图片是否正确,上位机会自动将这张图片二值化并保存在缓冲区中,用户点击本面板中<发送>按钮就可以将二值化的矩阵发送给下位机。
32.在写字板输入面板中,用户可以在已经连接好的写字板中手写文字或者图片,如果对所写或者所画的不满意,用户可以点击<清除写字板>按钮,然后重新输入,如果对于输入的结果满意,点击<保存图案>按钮,用户的输入就会被保存起来,当用户点击<发送>按钮时,所保存的图片就会以二进制矩阵的形式发送给下位机。当用户的输入确认完成以后,点击控制面板的<开始>按钮,下位机就会控制执行机构来完成写字的任务。
33.所述下位机模块用于主要完成对各个寄存器的配置、外设的初始化、系统时钟的配置、电流的过流检测、电机参数初始化和系统参数初始化;其中,功能子模块则能够实现坐标变换、svpwm生成、位置检测及速度计算;其中,中断程序则是定时器触发,主中断程序中通过定时器实现电机的控制;其中,串口中断程序通过处理上位机的指令实现电机的单独运动以及舵机的动作。主程序流程图如图6。
34.更进一步地,所述控制算法模块包括初始化种群和选取变异概率;初始化种群用于确定算法的操作空间;选取变异概率用于对该空间内的个体进行最优化操作;
初始化种群包括:算法中设定的种群大小是30,那么有蒙特卡洛序列产生的一组随机数a是一个30
×
1的矩阵,为了实现维数的扩展,首先将a矩阵转置,然后矩阵a乘以转置矩阵a’即可得到一个30
×
30的矩阵b如式(4

6),b矩阵就是初始化的种群;
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4

6)选取变异概率包括:采用分段处理的方式,将所有适应度的个体按高低分为三个部分,然后针对每个部分选取一个变异概率进行变异操作;这种做法会在很大程度上保留种群中的优良个体而且又可以产生较好的个体;变异概率分段选取的公式如式(4

7):(4

7)式中:pm1 = 0.6,pm2 = 0.05,pm3 = 0.001,bestfi是种群中适应度最好个体的适应度值,fi是待变异的个体的适应度值,f31和f32分别是适应度值由高到低排在1/3、2/3处的个体的适应度值。
35.写字实验设计与分析:上位机平台测试针对设计好的上位机,将对其所包含各个模块的功能进行调试,检查所设计的功能是否能实现。
36.(1)上位机与下位机的通信首先确保下位机已经通过串口线连接到pc中,然后进入到上位机,在参数设置面板中,选择正确的串口号,并点击<打开串口>按钮,在<设置复位转速>按钮右方空白栏输入复位转速,点击<设置复位转速>按钮。
37.上位机与下位机的通信是实现控制的第一步,也是最重要的一步,后续的所有信息的传输都是建立在通信成功的基础上的。在上位机中有几种对文字和图片的处理方式,接下来将逐一对它们进行调试,通过串口助手软件观察输出结果。
38.(2)汉字笔画输入在汉字笔画输入方式中,用户可以在笔画输入范围内进行任意笔画的书写。通过在对该范围内的笔画进行图片保存,并将笔画以36
×
36的点阵中来存储。然后取出每个笔画的起始点、中点、终点坐标值。在笔画坐标的显示栏中,有12位数据,前6位分别是始点、中点、终点的x轴坐标值,后六位则是y轴坐标值。
39.(3)字模解析对文字的字模进行解析,并显示二进制矩阵,该种方式是通过调用外部软件取得十进制的字模数据,然后在上位机中实现转换并显示,操作过程比较繁杂,并且每次只能输入单个汉字,不利于用户的输入,这种方式实时显示汉字的转换过程,在调试的过程中比较适合。
40.(4) 汉字输入模块在该输入模块中,用户可以输入一个或者多个文字,在调试的过程中以一个和两个文字的输入为例。一个文字的输入,用表格来模拟输出,与写字机器人的写字效果进行对比。
41.这种输入方式相对字模输入方式来说,有了一定的改进,主要体现在输入汉字的数量与操作的过程,并且其输出可以被图片输入方式调用。
42.(5) 图片输入模块图片输入模块是比较灵活的输入方式,可以选取任意的图片作为输入,由于目前对图片处理上的能力不足,在上位机中对复杂的图片的处理的效果不好,所以最好选择单色图片。
43.该种输入方式也可以调用其他方式的输出作为输入,汉字输入以及写字板输入方式中,处理完输入的文字或者图片后,会将处理的结果以图片的形式保存起来,这些保存的图片就可以被作为输入来调用。这种选取图片的方式操作也比较简单,与汉字输入方式相比,这种方式不仅能输入汉字,而且能输入图片。
44.(6) 写字板输入模块在该输入方式中,用户可以根据自己的想法在上位机的写字板模块中绘制图片或者写字,可以直接用鼠标来操作,也可以外接一个写字板来操作。
45.这种输入方式相对上面几种输入方式来说显得更加灵活,这是由用户自己设计图案作为输入。只需要用户在写字区域内进行任意涂写,就能生成相应的点阵图。这种方式也是本设计方案的一个最大的亮点,摆脱了标准文字或者文字图片输入。但是该写字板输入方式生成点阵是通过matlab编程实现对图片的压缩之后的结果,因此对图片压缩程序越大对应的生成的点阵效果也越差。
46.下位机平台测试:在x轴、y轴的电机都启动的情况下,依次按键电机一次y+、两次x+、一次y

、两次x

,手动控制及其输出,其线条形状基本相同。
47.实验结果及分析该系统主要按写字实现方式来进行实验的,首先是汉字笔画输入的实现方式,实际输出结果与模拟的输出结果,模拟的输出是对手写板的直接存储结果,实际的输出是通系统下位机实现的结果。
48.在汉字笔画输入通过输入结果可以看出,对于在上位机上按照汉字笔画进行输入,写字机器人能够按照对应的笔画写出相应的字体,但对于“撇”笔画和“捺”笔画,因为控制策略方式的设计不够完善,因此并没有得到想要的字体笔画弧度。
49.通过实验,可以验证该写字机器人能基本完成四笔画汉字的书写,从效果来看,主
要存在的问题:一是硬件结果的问题,这个会导致汉字出现歪斜,二是在下位机识别点位的时候出现误差,以及下位在处理x、y轴电机使用的方法。
50.从输出的结果来看,产生了形变,这个问题也是图片压缩的精度不够高造成的。
51.通过上述实验结果来看,该写字机器人基本能完成所设计的任务,汉字笔画方式在写一个汉字需要的时间远小逐行扫面方式,但由于处理算法的原因,效果并没有逐行扫描得到的结果好。
52.从实验结果来看,上位机能基本实现所设计的功能,改进遗传算法也能取得明显的优化效果,下位机的控制也能基本实现,实验实际输出结果也基本能完成。该机器人控制系统基本能达到机器人入门教育的效果,但是还需改善,通过后续的学习和研究不断优化输出结果。
53.以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1