工控网首页
>

应用设计

>

机器人的学习记忆模式

机器人的学习记忆模式

2013/11/27 10:10:31

      机器人是人类所创造出来的,人们一直努力地让这些机器人可以达到像人类一样的能力,可以记忆、可以思考,可以执行像人一样的工作;当机器人头脑累积了大量的资料之后,人们又开始钻研人工智慧或类神经网路等科学,让机器人有机会可以迅速地在各个资料储存区域找到相关的资讯,而且将这些资讯有逻辑地连结起来,作为智慧型判断的参考基础,经过了机器人大脑的思考、判断后,机器人就能将动作命令传送到各个运动部位,产生有意义的动作。 换个角度来看,机器人记忆的能力,是机器人达到像人类一样的能力时的基础之一;究竟实现机器人记忆能力的方法为何? 本文将就记忆相关的技术逐一说明。 规则记忆的基石-阵列阵列可以算是最简单的资料存放格式,可以用于机器人模仿人类的记忆能力所用,而且依照维度分类,阵列可以被分为一维(如图1所示)、二维、三维…n维阵列。 程式人员常应用阵列的资料存放,让机器人记忆一些较为固定不变的资讯,如图2之具有被教导与学习能力功能的机器手臂操作程式,从这个操作程式介面我们可以看到红色圈选处的方格,就是教导机器手臂时,程式会纪录教导过程中,完成每一道动作各轴马达的位置以及速度,运用这种阵列型态资料结构的机器手臂常应用于生产线上,于某固定位置上取放物品。 实际应用上,只要拉着机器手臂作动,并且让机器手臂纪录所有时间点应执行的动作及定位座标,再搭配上合适的状态控制机及路径规画,之后就可以利用机器手臂替我们执行重覆性的工作。        记忆体位置A[0]A[1]A[2]…A…A[k]内容abc…@#&…#%$        图1 一维阵列示意图

      SCARA机器手臂操作程式

       图2 SCARA机器手臂操作程式        在实际应用上,生产线上机器手臂可能需要记忆多元的资讯,如各轴马达需要运动的程度与位置;为了使得资料结构可以灵活应用,阵列型态的资料结构常常会有下列几个重要的操作模式︰        1. 取出阵列中的某个元素。 (这当然是最基本不过了,若无此操作模式,就等于是存了一堆资料而不能看也不能用)。        2. 从阵列的头到尾或是从阵列的尾到头读取阵列内容,这样对于可逆性的动作,才可以节省机器人的记忆空间。        3. 计算阵列的长度,便利于分析整个阵列内容。        4. 将一笔新的资料新增至阵列中,如此才能让人们临时增加教导机器人从事更多的工作或动作。        5. 将阵列中的一笔资料删除,有时候要删减工作或动作使用,但也常常因为犯错乃人之常情,给个机会改过向善,才是人性化的机器人系统。        上面的两个图例仅仅针对一维的阵列结构,至于二维阵列、三维阵列…乃至于n维阵列,其使用上大致如同一维阵列之方法,只是要再加上分群的观念;至于多维阵列的操作模式亦同于一维阵列之方法,要处理这些不同大小、维度的阵列,其关键均为阵列的位址,而位址又与阵列的群组息息相关,所以要制作可教导式的机器人,对于阵列的资料结构以及分群的概念必须更加清楚,才可以制造出精准且高效率的机器人。        另外值得一提的是,机器人的控制系统,几乎都是由微处理器所构成的,而矩阵是极为适合微处理器做数学或逻辑运算的结构,藉由矩阵的格式,微处理器可以做大量资料的快速运算或批次处理,而阵列与矩阵的格式又是极为相像,所以让机器人的运动控制由阵列的方式表达,那是最合适不过了,如此才能结合更行各业之所长,进而将机器人的功能、运作速度、精准度及多工性发展到极致。        伫列式资料存取结构当我们在教导机器人或机器手臂动作时,若是非常确定地都是依照顺序的教导,不会临时穿插任何突发奇想的动作,其实还可以使用另一种类似阵列结构,但是不利用相对位置资讯的资料结构-伫列,如同图3之伫列结构概念图所示(每一颜色均代表一笔资料)。 这种伫列资料结构是可以在后端将资料一笔一笔做加入的动作,而在伫列的前端则是可以执行依序取出并删除该资料的操作,藉由以上的操作描述便可以知道,伫列的资料流处理是具有先进先出的特性,伫列的最大优势就是处理符合需要先来先服务特性的事件。

      线性伫列资料结构示意图

       图3 线性伫列资料结构示意图        机器手臂或机器人在使用伫列资料结构时,难免会遇到一些特例或是不方便的地方,特例就如一些生产线中,机器手臂不一定是每个步骤都会参与动作,因为有些工厂关卡像是影像检测、对位或是比较复杂的制程动作等,常常都会需要较多步骤与时间来完成,此时单纯的机器手臂取放相对地显得比较容易,在程序上的安排也会使用较少的步骤与时间就可以完成,若是以步骤排程为主的控制方式而言,就有需要在机器手臂不需要动作的时候,安插适当数量的空伫列资料,但是这些空伫列资料将造成整个伫列无法做删除的工作。 不方便处,就如生产线上常使用转盘,借以作出管线式的设计,让整条生产线可以满载,不浪费任何产线上的空间与生产力,而目前我们所采用的皆为线性伫列,若要配合环型之生产线,就必须多出许多控制法则以及感测器,借以了解是否已经转过一轮了。 类似以上这两种例子的状况发生时,就必须将一般常用的线性伫列调整成环状伫列,这些恼人的问题便可迎刃而解,而环状伫列之概念图如图4所示(每一颜色均代表一笔资料)。

      环状伫列资料结构示意图

       图4 环状伫列资料结构示意图        堆叠式资料存取如图2所示的机器手臂系统,经常出现在固定步骤组装的生产线上,主要是因为这种机器手臂的运动范围足够宽广,稳定度也够高,而且仅由三到五个轴向马达所组成,可以用简易的教导式运动控制让此种SCARA做出某些重复性的动作,对于教导的动作就如刚刚所提及的阵列与伫列方式,只要做恰当的程序控制与资料管理,都可以让SCARA依照我们所教导的位置与速度依序完成动作,周而复始地工作。        以下将简单地描述堆叠的加入操作与删除操作,藉由这两种简单的操作模式,将可以完成堆叠的所有运作。 堆叠的观念有如一唯一开口的容器,此容器有它最大的容量限制,每次加入的元素都会往上堆积,有如堆书本一般,因此,可以推论而知堆叠结构加入资料与删除资料都是在同一端点进行的,如图5所示(红色为堆叠之开口处,常常被称为顶端,堆叠的加入与删除资料操作均发生在此处,而其他方形色块则为资料存放区) 。 堆叠的资料加入操作必须特别注意加入的元素是否会造成堆叠超出其最大容量,而将资料从堆叠中删除时,则必须注意堆叠是否为空。

堆叠资料结构及其取放资料

       图5 堆叠资料结构及其取放资料        链结串列产业机器人在使用过程中,常常会因为生产制造上的制程不同,而必须多次修改教导或编程的内容以符合所需,虽然制程有所不同,但还不至于是全然不同而要将整个调校机器人的过程重头来过一次,倘若如此,每次都要重头调整产业机器人,那将是一件浩大的工程,既费时又费工,恐怕会有许多企业家不敢使用机器人大军从事生产了,而这种可以随时随地修改产业机器人动作或流程的操作方式,不就是前面不断提到的增加资料、插入资料与删除资料吗? 但从上述的内容看来,以阵列、伫列、环状伫列或堆叠存放资料时,若要将资料在一个非头部、非尾部的特定位置做插入操作或删除操作,就会倍感困难了,因此,我们利用链结串列来解决需要做特殊位置的插入与删除操作。        此外,利用阵列的方式存放资料时,我们一般会配置比实际所需要的空间更多的记忆体,因此会造成记忆空间的浪费,而链结串列就不会,因为链结串列会视实际的需求才配置合适的记忆空间。 链结串列的任意位置之资料加入操作与删除操作,因资料结构上的关系,比阵列、伫列及堆叠等结构都来的容易许多,因为链结串列仅需利用节点与指标加以处理就可以了。 但无可否认,在资料搜寻上,使用阵列结构之速度确实比链结串列来得快,因为我们从阵列的索引或是注标就可以得到想要的资料;然而链结串列需要花较多的时间去比较,才可以找到正确的资料。        在链结串列中一笔资料的基本资料型态通常会包含资料栏以及链结点栏,其概念如图6所示,而资料栏顾名思义当然是存放资料的地方,链结点栏是串列用来连结与下一笔资料之关系,如图7之所示(黄色栏位即资料栏,而红色栏中之黑点代表链结点,最后的卷曲线则是代表链结串列之尾端)。

      链结串列之资料栏位与链结栏位

       图6 链结串列之资料栏位与链结栏位

      具有四个节点(或者说四笔资料)的链结串列

       图7 具有四个节点(或者说四笔资料)的链结串列        由于链结串列的结构可以让资料的操作非常的多样化,也带来许多便利性,所以在机器人应用领域中经常被大量使用,除了上面已经提到的加入资料与删除资料操作之外,两个链结串列之相连接也是非常值得一提的,若是可以达成串列连接的操作,那么教导机器人的工作就可以分段进行,可由不同人教导不同部分的动作,然后再做动作连结,也可以将不同时间片段教导的动作整合起来,使得人们的行事效率可以提升,也不用一次就要把冗长的教导工作一次完成,甚至还可以将各种不同的动作集合做成模组,然后再视任务需求选取适当的动作模组组合,由此可知串列的结合功能不仅提升了人们工作时间的灵活度,也可让机器人动作得以模组化,大幅缩减了调校机器人的时间。        结论如果用技术的角度来看机器人的记忆是怎么一回事,事实上,记忆能力与资料库处理的原理技术几乎完全相同。 机器人的运动控制系统及控制器,经常需要处理许多的资料,而要让这些资料可以处理的有效率且正确,多是要靠着优良的资料结构规划才可以做到,因此选对资料结构来处理机器人的资料是非常重要的一件事,当然资料结构的型态不只有这些尔尔,本文所提及的方法多是一般常见的,有些时候还得变化一下才能符合实际使用的状况,例如以串列搭配堆叠,这样才可以实现正排序方向将串列资料输出,而也可以将串列资料以逆排序方向输出;也有些时候为了要精简记忆体的使用,也会以双边都有节点的双向链结串列来取代串列搭配堆叠的状况。 更重要的是,机器人便是用资料结构来模仿人脑的记忆,而人脑在记忆时,常常都需要将要记忆的资料特性做分析,然后有效的归类,这样人们才可以有逻辑地思考及找寻脑内记忆的资讯;当然若是想要有聪明的机器人,规划资料结构时,就得针对资料的特性做更详细的分析及归类。

投诉建议

提交

查看更多评论
其他资讯

查看更多

助力企业恢复“战斗状态”:MyMRO我的万物集·固安捷升级开工场景方案

车规MOSFET技术确保功率开关管的可靠性和强电流处理能力

未来十年, 化工企业应如何提高资源效率及减少运营中的碳足迹?

2023年制造业“开门红”,抢滩大湾区市场锁定DMP工博会

2023钢铁展洽会4月全新起航 将在日照触发更多商机