账号:
密码:
最新动态
产业快讯
CTIMES / 文章 /
以HT46R24建构模组化机器人
 

【作者: 郭智宏,蘇國嵐,禕瞵,莊政憲】2011年04月28日 星期四

浏览人次:【11100】

机器人是一个由许多的子系统构成的复杂系统,传统的设计方式是将这许多的子系统,建构在一起,因此在开发、制造及后续的维护上,就须要有专业人员,也会需要较多的成本与时间;由于这样的系统过于复杂,之后就开始有模组化的架构出现,也就是将机器人的各个功能予以模组化,然后再将这些模组连接起来组成机器人,但此种方式仍有些问题存在,由于各个模组间的通讯、连接方式及参数设定并无标准化,因此仍然需要专业人员来进行,虽然可以减少一些时间与成本,但事实上仍无法解决机器人系统复杂的问题,因此本文即提出一个以HOLTEK单晶片为模组核心,并且透过标准的通讯介面I2C与通讯协定,使得机器人的各个模组都能快速连接,而达到”随插即用”的功能,并且透过一个易使用的介面,让维护人员或使用者,能够快速的知道那些模组已经连接,以及对连线的模组进行设定,使得机器人的建构与维护能够更为快速,并且由于”随插即用”的特性,不论开发人员或使用者,都能够依照自己的需求来更换模组,让机器人的建构更加灵活快速,也使机器人的应用更为广泛。


系统架构

机器人的系统架构如图一,分为三个部分,模组化系统主要就是构成机器人所需的马达驱动与控制、电力侦测与控制、环境侦测、机器人状态感测及避障侦测等模组,利用这些模组来将机器人建构起来。在本文中所有模组所使用的单晶片皆为盛群公司所生产的,之所以会选用盛群公司的产品,主要原因有三,(1)单晶片为RISC结构,使用学习方便,(2)具备A/D、D/A、PWM及I2C与RS232等功能,且整合在一颗IC中功能强大,(3)价格低廉、取得容易由于盛群为台湾本地公司,相关资料、晶片及技术资源容易取得,因此我们选用盛群的单晶片来作为机器人模组的主控晶片。


在马达驱动与控制部分,负责接收控制命令,并且将命令转换成驱动马达动作,而控制机器人的运动。电力侦测与控制则是负责侦测机器人电力消耗,与机器人电力的规划,让机器人系统能够正常。环境侦测与机器人状态感测部分,则是负责侦测外界与机器人内部状态,依照感测的目的可分为用来侦测环境舒适度与保全功能的环境感测、机器人方位与倾斜状态的感测等。而避障感测则是用来侦测机器人所在环境中的障碍物,然后利用侦测的结果,作为机器人运动决策与路径规画的依据;在工业级电脑(IPC)的部分则是用来将所有模组化系统的资料做一有效的整合与显示,然后透过软体与易使用的介面,使机器人能够快速且有效的被控制,并且在机器人发生问题时,也能够快速的被发现与解决;而最后一部分部分则是组装机器人的基本元素包含机器人的配线组装,与电池电力系统等等,接下来我们将详细介绍各部份模组与功能。



《图一 机器人系统架构图》
《图一 机器人系统架构图》

马达控制与驱动模组

在马达控制与驱动模组上,我们采用的架构是将马达的控制器与驱动器分开,会这样设计的原因是,当有较大马达扭力需求时,仅需要更换马达驱动器即可,如此可以增加整个的弹性。本文所设计的机器人是以伺服马达为主,整个马达控制与驱动的架构如图二,在机器人上我们使用两颗伺服马达来让机器人运动,每个马达都具备有一个驱动模组,在驱动模组方面可分为两部分,一个为功率驱动部分,这部分可依马达的扭力大小而更换,另外一部分则为马达控制,在马达控制部分,主要是将运动控制命令转换成实际驱动的信号,在这个系统中,我们采用的是PWM (Pulse Width Modulation)的控制方式,透过调整脉波宽度来控制马达,同时驱动模组也会接收伺服马达上的编码器信号,透过编码器信号来确认马达是否有照控制命令动作,若无则作补偿,最后驱动模组还会将编码器的资料,与驱动模组的状态,回传到伺服马达控制器。


伺服马达控制器的功能在于整合马达驱动器的资料,可以让机器人的主控系统不用随时去监控马达的状态,并且这个控制器能够连接更多个马达驱动器,主控系统可以把马达的运动命令给控制器后,控制器就会将命令给对应的马达,并且在必要时将资料回传​​给主控系统,如此可以让机器人的系统更有效率。


另外在系统中还有一个运动控制资料整合模组,这个模组主要的功能在于将马达控制器,及与运动相关的感测模组,如避障模组、机器人姿态模组、机器人方位模组等资料做整合,并且在主控系统需要,或是各模组有重要资料要回传主控系统时,将资料汇整回传,并且随时接收主控系统的命令来传输给各模组。事实上这样的机制,就是分散式系统,透过这样的设计,让所有与运动有关的资讯都被整合后,再回传给主控系统,而主控系统要下命令时,也不用分别对每个模组发出命令,仅需透过此模组即可。



《图二 马达驱动与运动控制架构图》
《图二 马达驱动与运动控制架构图》

电力系统

由于机器人本身的动力来源是电池,因此电池的状态与电力的消耗状态,即成为机器人能否正常运作的重要课题之一,图三即为电力侦测与预估系统的架构图,在这个图中大致可分为两部分,第一个部分是电力量测,在电力量测部分我们可以量测电压与电流,并且各自使用了四个感测器,会如此的设计,除了要增加量测的精密度与准确性,以及防止因为单一感测器故障,就使量测功能丧失,因此我们做了这样的设计。


由于盛群晶片本身即具有多通道的A/D转换器,因此可以即时的将电压及电流感测器的信号,转换成数位资料,而电力预估部分即透过这些资料,来进行电力预估。在电力侦测及错误隔离方法中,我们在电力模组的单晶片中,放进了冗长资料管理(redundant management method)这个演算法。将电压及电流感测器的资料作分析,然后预估电力系统的剩余时间,并且将这些资料,传输回主控系统,监控并作为机器人运作的参考资料。


《图三 电力侦测与预估系统架构图》
《图三 电力侦测与预估系统架构图》

机器人避障系统

机器人在运动时,环境中通常会有障碍物出现,我们利用了反射型红外线与超音波感测器来作为障碍物的侦测,会这样设计是因为红外线对于透明的障碍物,及反射率较高的物体较不容易侦测,而超音波则是对较近的物体不易侦测,因此我们利用这两种感测器的互补特性,来侦测机器人周围的障碍物。


在反射型红外线部分,其架构如图四,我们用了八个反射型红外线感测器,由于反射型红外线的输出信号是12V,因此必须先经过信号转换,然后才可以输入到单晶片中,单晶片会将这8个感测器的信号整合在一起,然后透过通讯介面传输到主控系统,除此之外还会将每个感测器的信号,以LED来显示,以提供运作及维护的参考。


《图四 反射型红外线避障系统架构图》
《图四 反射型红外线避障系统架构图》

在超音波避障模组部分,我们采用的是Polaroid 6500系列的感测器,由于超音波感测器须要有驱动及计算距离的电路,因此我们把感测器接上驱动电路,感测器再经过驱动电路后,驱动电路即会将超音波的量测资料,转换成相对应的电压信号,此时就可以透过单晶片上的A/D转换,将电压信号转换成实际距离。在这个避障模组中,我们使用了8个超音波感测器,让机器人能够确实且精确的侦测机器人周遭的障碍物;感测模组在接收每个超音波传回的距离值后,会把这些资料整合传输到主控系统,让机器人作避障及运动的决策。



《图五 超音波避障系统架构图》
《图五 超音波避障系统架构图》

状态感测系统

机器人在环境运动时,除了要躲避障碍物外,还要能够侦测自己的方向与姿态,如此才能够确认机器人的运动方位与位置;另外由于环境中不一定都是平坦的地形,因此当有较陡或下坡地形出现时,若机器人无法侦测姿态,则将有可能使机器人失去重心,而倾倒损坏,方位感测及姿态感测方块图如图六。


在机器人方位部分,我们采用的是Hitachi HM55B 电子罗盘模组,它的原理是利用本身与地磁的相互关系,而侦测出方向;由于电子罗盘模组本身已经做好所有的信号处理与转换,因此单晶片可以直接以命令的方式,直接读取电子罗盘中的角度资料,然后将所读取到的资料传回给主控系统。


在机器人姿态侦测部分,我们采用的是加速度计,加速度计的工作原理是藉由内部气体的蒸发效应,透过四个感测器来侦测倾斜角度;我们所采用的加速度计是Memsic 2125双轴加速度计,这个加速度计的输出是把X及Y轴的倾斜角度,以PWM方式输出,也就是输出脉波宽度会随着角度不同而改变,因此我们只要计算脉波宽度,就能够得到倾斜角度,而单晶片就是负责计算感测器回传的倾斜角度资料,然后回传给主控系统。



《图六 加速度及电子罗盘系统架构图》
《图六 加速度及电子罗盘系统架构图》

环境感测系统

当我们完成了机器人的大部分模组后,我们想让机器人能够侦测环境的状况,如温度、湿度及照度等,除此之外我们也想让机器人能够侦测灾害的发生,因此我们设计了一个温湿度三合一的模组,以及一个火灾侦测模组,透过这两个模组,让机器人能够为人们的生活提供服务。


在温湿照模组中,我们采用的温湿度感测器是SHT11,这个感测器本身已具备温湿度感测及处理电路,因此我们可以透过通讯介面,直接读取温湿度的资料;而在照度感测器部分,我们使用的是hamamatsu公司所生产的照度感测器S1133,这个感测器基本上是一个光电晶体,他会随着光线的强度而改变输出电流的大小,由于他的输出是电流,因此我们设计了一个驱动电路,将感测器信号转换成电压,并且作相关的补偿与校正,然后再由单晶片的A/D转换器,将电压信号转成数位资料,此模组的方块图如图七。



《图七 温湿照三合一系统架构图》
《图七 温湿照三合一系统架构图》

火灾感测模组部分,我们使用的是R2868光电感测器,他的工作原理是利用光电管中两个高压闸极来感应波长在185~260um间的紫外线,其感应峰值波长为220um,而一般火焰所发出的光谱波长刚好符合这个感测器,因此我们用来侦测火焰信号;在这个感测模组上我们装设了三个火焰感测器,藉由多个感测器使用多数决之方法,来确认火焰是否真的出现,以防止假信号造成误动作,由于这个感测器需要高压驱动,因此我们透过驱动电路驱动感测器,并且将信号转换成单晶片可以接收的信号后,然后再由单晶片藉由三个感测器的信号,来判断是否真的有火焰产生,并将感测器资料与侦测状态,回传给主控系统。


通讯介面与协定

在完成了所有的硬体模组后,接下来要处理的就是如何将所有的模组连接在一起,以及处理各模组的资料。图八即为整个机器人系统的通讯结构方块图,在通讯结构部分,由于I2C是属于主从式架构,因此必须要有一个MASTER端,来轮询所有模组以获得资料,但也因此造成一个问题,就是如果所有的资料都需要由主控系统来轮询读取,那势必会耗用主控系统的资源,除此之外也将使主控系统的选用受到限制,为了解决这样的问题,我们设计了一个模组资料传输装置,利用这个装置去读取所有模组的资料,然后将模组资料打包成一个资料封包,然后再传输给主控系统,如此主控系统就能快速的获得模组资料。


在通讯协定部分,我们利用资料封包的架构,设计出一个标准的模组资料封包,其结构如表一,每个模组均使用相同的封包结构,在这个结构中包含几个部分:


  • ■Slave ID:这个部分是用来描述是哪个模组所传输的资料,由于我们已经将每个模组赋予不同的ID,因此可以由ID来辨认是哪个模组。


  • ■资料传送长度:这个部分是用来描述模组所传输的资料长度有多少Byte,以便主控系统解析资料。


  • ■资料接收长度:这个部分是用来描述当主控端要将资料传输给模组(如设定参数)时,总共传送了多少长度的设定资料。


  • ■资料内容:这个部分是真实的模组资料,长度随着不同模组而有不同。


  • ■检查和:这个部分是用来作资料确认用的,透过检查和的机制,可以确保资料在传输过程中的正确性。



在定义完模组的传输结构后,资料传输模组即会轮询每个模组,并且将连线正常的模组资料读回,读回后就会将所有有回传的模组资料,予以打包成一个封包,然后传输到主控系统,而这个资料的封包结构,如表3-2所示。在这个结构中包含几个部分:


  • ■ SLAVE 数量:这个部分是用来描述封包中总共有几个模组的封包资料,以表二为例,我们使用的方式是模组数量加224,会这样设计是因为资料封包的长度可能相当长,并且每个模组的资料封包中,都已经包含了检查和,所以如果再对整个资料封包作检查和,将可能耗用很多时间,但还是要确保资料的完整性,因此利用这样的机制,让资料封包能够具备资料侦错的功能,也不会耗用时间。


  • ■模组资料:这部分即是各模组的真实资料封包,由于资料传输模组是依照ID的顺序轮询模组,因此模组资料封包也会按照ID的顺序依次排好。


  • ■检查码:这个部分是用来表达资料封包的结束点,当主控系统收到此码,即代表资料封包已经结束。



在模组资料传输装置部分,我们为了考虑通用性,因此我们选择'RS232为输出到主控端的通讯介面,因为RS232几乎所有的微处理机、电脑都具备,并且已在工业界使用相当长的时间,并且也可以透过简单的电路,将其转换成RS422、RS485甚至是网路,因此让整个机器人系统的主控器选择弹性较大。



《图八 通讯接口方块图》
《图八 通讯接口方块图》
(表一) 模组资料封包结构
Slave ID 码 资料传送长度 资料接收长度 资料内容 检查和

(表二) 资料整合封包结构
SLAVE 数量 Slave 1 装置 Slave 2 装置 ~~~ Slave 15 装置 检查码
1~15 + 224         88

机器人系统实现

在详细介绍完机器人的每个模组与通讯系统后,我们即将这些模组组装起来,使其成为一个完整的机器人系统。图九即为整个机器人组装的架构,在这个架构中最底层安装的就是马达与轮子,使机器人具备运动能力,往上一层则是机器人的动力来源电池,电池安装在此,可以让机器人的重心降低,使机器人在运动时能更平稳;电池的上方即是各个机器人的模组,所有机器人的模组都安装在此层,如此可以让机器人的维护较容易。而在机器人的周围,我们放置了两层的红外线与超音波的避障感测模组,这是因为考量到仅放一层时,可能会有感测死角,因此放置了两层。而最上面两层则是主控器与人机介面,在主控器部分,我们使用的是工业电脑,并且设计相关软体与人机介面,使机器人系统能够受到控制及应用来执行工作。图十为实际机器人的实体照片。



《图九 机器人结构图》
《图九 机器人结构图》

《图十 机器人实体图》
《图十 机器人实体图》

接下来我们将介绍机器人的人机介面,图十一是整个机器人系统的主控中心,这个画面大致上可分为3个部分:


  • ■此区主要是设定主控器的RS232通讯介面的参数,透过这个设定,让机器人上的模组资料传输装置,能够与主控器沟通。


  • ■此区为各个模组的连线与通讯状态,由于我们的设计是可以让每个模组都能随插即用,因此当有模组加入或移除,都可以由此看到状态,并且可以看到详细的资料传输方向、资料长度及详细的传输资料。


  • ■此区为马达参数调整区,由于在实际应用时,所用的马达会有不同,因此针对这些差异,我们可以透过此介面,来调整马达驱动模组的参数,并且可以做马达的校正与调整,让马达能够发挥最高效率。




《图十一 模块连接与参数设定画面》
《图十一 模块连接与参数设定画面》

接下来我们介绍使用者的操作介面如图十二,在这个介面中,为了让人能够容易辨别各项资讯,因此大量采用图形的方式来表现,并且适度的将每个模组的资料以数值显示,让操作者能够快速的了解机器人的资讯;除此之外还提供了手动控制机器人的功能,让使用者可以遥控机器人运动。接下来我们将详细说明画面中每个部份的功能。


@小標: (A)


■A1:此区为火焰感测模组资讯,由于模组上有三个火焰感测器,画面上F1、F2、F3即为三个火焰感测器资料显示区,当有信号时会显示为”1”,而模组会以这个资料来作多数决,判定是否有火焰,而回传发现火焰,并在FIRE的地方显示”1”。


■A2:此区为温湿照模组的资料显示区,其中H代表的是湿度,Lux代表的是照度,T则是温度。


(B)

■B1:此区是反射型红外线模组的资讯,前面我们提到,我们使用了两层反射型红外线,而每一层各有8个感测器,因此在这里也分为两层来显示,当有物体进入感测范围时,画面上的相对位置就会变成红色,透过这样的表达,让操作者可以快速知道障碍物状态。


■B2:此区为超音波感测模组资讯,跟上面一样也是有两层,所以这里会将每个感测器的量测值显示出来,在这里我们已经将数值转换成公分,因此可以清楚知道目前哪个方向、距离多远处有物体。


(C)

■C1:此区是电子罗盘模组的资讯,我们除了以文字的方式,来表达目前机器人的角度及方位外,也以指针罗盘的方式,用图形来表达机器人的方位。


■C2:此区是两轴加速计的资讯,在这里我们可以看到两轴加速计的数值,并且模组利用这两轴感测器的资料,来换算出目前的加速度与运动方位角。


■C3:此区为机器人电力状态资讯,因为模组上各有四个电压及电流感测器,因此这里也会显示所有感测器的资料,同时模组上有冗长资料管理的演算法,因此模组也会将估测结果回传,并显示在此。


(D)

■D1:此区是简易的马达参数调整,由于每个马达特性不同,因此除了在前面的参数设定中进行详细的调整外,操作者也可以利用此区,进行简单的调整。


■D2:此区是机器人的手动控制区,操作者可以利用此区来控制机器人运动,并可切换手动与自走模式。



《图十二 模块数值与状态画面》
《图十二 模块数值与状态画面》

结论与展望

我们利用盛群的单晶片,将构成机器人的马达驱动、电力控制、姿态及方位感测、环境感测等主要模组建构出来,并且透过I2C介面将这些模组串接起来,除此之外还可以随时以”随插即用”的方式,加入或移除模组,透过这样的设计,让机器人不论再组装或维护上,都能够简单而快速的达成,同时也因为这样的设计,让机器人的成本大幅降低。


在操控人机介面部分,我们尽量以图形的方式,来表达模组的状态与资料,让操作者能够快速且清楚的知道目前机器人的状态,另外为了让操作者能够更快速的知道机器人的姿态与运动状态,我们还将这些资讯另外以整合的画面来表达,如此也让操作者能够不被其他资讯干扰,快速掌握机器人的状态。


我们利用单晶片模组建构了一个机器人系统,基本上这些模组已经涵盖了所有机器人的主要功能,当然机器人还有许多不同的种类,以及不同功能的需求,未来我们将继续秉持着模组化的架构,开发出更多功能更强,以及更多不同应用层面的模组,让机器人系统能够更人性化,更容易融入人类的生活中。


相关文章
ST以MCU创新应用技术潮流 打造多元解决方案
ST:精准度只是标配 感测器需执行简单运算的智慧功能
意法半导体持续专注永续发展 加速实现碳中和目标承诺
优化MCU SPI驱动程式实现高ADC吞吐率
ST:内部扩产与制造外包并进 全盘掌控半导体供应链
comments powered by Disqus
相关讨论
  相关新闻
» 贸泽电子2024年第一季度推出逾10,000项新元件
» 宜特2024年第一季合并营收突破10亿元 展现验证分析布局力道
» SAP加速AI驱动供应链创新 推动制造业转型
» 宇瞻迈入绿色显示市场 成功开发胆固醇液晶全彩电子纸
» 调研:2024年中国ADAS市场迈向Level 3自动驾驶


刊登廣告 新聞信箱 读者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 远播信息股份有限公司版权所有 Powered by O3  v3.20.1.HK84QBD8X00STACUKL
地址:台北数位产业园区(digiBlock Taipei) 103台北市大同区承德路三段287-2号A栋204室
电话 (02)2585-5526 #0 转接至总机 /  E-Mail: webmaster@ctimes.com.tw