一种机器人内部模块无线组网的系统和方法与流程

文档序号:12270028阅读:253来源:国知局
一种机器人内部模块无线组网的系统和方法与流程
本发明涉及机器人内部通讯
技术领域
,具体是一种机器人内部模块无线组网的系统和方法。
背景技术
:机器人一般由多个模块组成,为了完成相应的动作,模块之间需要进行信息交换。目前机器人内部各个模块之间主要通过电缆连接,利用电缆进行内部通讯。由于机器人存在大量、长时间的关节运动,因此电缆的耐磨性和抗折弯性显得的尤为重要,长期使用后,电缆一定会有所损伤。而电缆一旦损坏,必然会影响信号传输,从而使得机器人无法正常使用,同时也会产生安全隐患,并且电缆不容易维护,替换起来非常麻烦。机器人内部设置的电缆也占用了大量空间,使得本身就很狭小的内部空间更加紧张。技术实现要素:本发明要解决的问题是提供一种机器人内部模块无线组网的系统和方法,该方法能够实现机器人内部模块间的无线通讯,节约了机器人的内部空间,减少了零部件的损耗,降低了维修成本,提高了机器人的稳定性。为实现上述发明目的,本发明的机器人内部模块无线组网的系统,包括主控单元、伺服控制子系统、电源管理子系统、运动控制子系统和无线通讯单元,所述运动控制子系统中包括表情控制子系统。无线通讯单元包括第一至第五子单元,所述第一至第五无线通讯子单元分别与所述主控单元、伺服控制子系统、表情控制子系统、电源管理子系统、运动控制子系统组合;所述第一无线通讯子单元用于主控单元向各子系统发出控制指令,以及接收各子系统上报的工作状态;所述第二至五无线通讯子单元用于接收主控单元的下发的控制指令,以及上报与该无线通讯子单元组合的子系统的工作状态。进一步的,所述主控单元包括机器人人工智能行为智能模块,自然语言理解模块,视觉智能模块,运动智能模块,表情、LCD触摸显示模块,肢体语言模块,环境感知模块,网络知识模块。另一种改进,所述伺服控制子系统用于执行电机控制算法,定时获取多路有刷或无刷伺服电机的角度工作电流与工作温度采样,根据传感器反馈数据,完成多路有刷或无刷伺服电机的驱动与控制,定时对伺服控制的情况进行检测,产生异常事件,并对电机堵转,过流,过温等异常情况进行保护。另一种改进,所述表情控制子系统用于对机器人的表情进行控制,读取传感器的信息,并进行回传。另一种改进,所述运动控制子系统用于接收主控中心的指令,获取传感器信息,控制伺服控制器、表情控制器等,完成对机器人的控制。完成运控DSP的初始化、传感器的初始化及规划系统状态变化时的处理动作。获取到基本控制指令,结合传感器反馈的情况,进行综合判断,完成指令的执行。综合到轨迹控制指令,完成动作分解,结合传感器反馈的情况,进行综合判断,下达基础控制指令。获取到任务指令,完成轨迹规划和路径规划,结合传感器反馈的情况,进行综合判断,完成指令的执行。一种机器人内部模块无线组网的方法,包括以下步骤:节点的加入与退出:所述主控单元进入正常工作状态,周期性检测有无新的待加入子系统节点加入网络或者有无原来的子系统节点退出网络,如果有原来的子系统节点退出网络,就调用加入/退出网络子程序。所述待加入子系统节点首先进入接收状态,并判断现在信道是否被占用,如果信道被占用,则进行一个随机延时,再检测信道是否被占用,如此直到信道为空时才能与所述主控单元通信,从而加入网络。如果所述待加入子系统节点连续N次检测到信道被占用,则所述待加入子系统节点就退出加入网络状态,等待下一个加入网络时段再加入网络,所述N次为预先根据需要人为设定的次数。所述主控单元定时发送网络维护信号,检测网络中的子模块是否因断电或者模块损坏退出网络。当新的待加入子系统节点加入到网络系统中,所述网络系统会及时反映新加入节点。当网络系统检测到子系统节点由于电源电压低于工作电压,或人为破坏引起失效时,会从网络中删除该节点的拓扑结构及相关信息,检测方法有手动刷新和定时采样两种。节点级别分配:网络系统包含一个主控单元节点和若干子系统节点;所述子系统节点上电初始化后,首先向所述主控单元节点发出请求分配级别的命令,然后进入低功耗状态并打开定时器。所述子系统节点在设定时间内收到所述主控单元节点分配的级别,所述子系统节点就会向主控单元节点发送自组织信息的数据包。如果所述子系统节点在设定时间内没有收到所述主控单元节点分配的级别,该节点会从低功耗状态唤醒,再次发送请求分配级别的命令,如此循环。当所述子系统节点发出请求所述主控单元分配级别的命令达到设定上限后,仍然没有确定自己在网络系统中的级别。所述子系统节点就会向全网络系统发出广播命令,然后进入低功耗状态并打开定时器。定时时间到,所述子系统节点重新回到发射广播命令状态。当所述子系统节点发射广播的次数达到设定值,所述子系统节点就会将接收到的应答信息进行整理,确定自己在网络中的级别,并确定上级、同级和下级节点的相关信息。所述子系统节点再向上级节点发送包含这些信息的数据包,直到数据包传送到所述主控单元节点,这样可确定整个网络的拓扑结构。进一步的,所述网络系统采用的无线通讯协议中,通过定义数据包的格式和关键字来实现节点的自组织,数据包中包含一个关键字和多个字节的数据,其中包括了节点自身信息、数据包长度、数据路由,数据校验和标志位信息;关键字表示不同性质的包,区分各种情况的数据,提升网络的通讯能力。只需要改变数据包中的标志位,就可以对信息进行加密。进一步的,为了防止串口通信过程中丢失数据,所述组网方法还包括握手协议。当所述主控单元节点每发送一个数据包给子系统时,所述子系统节点都会向所述主控单元节点发送应答信号,直到数据包发送给所述所述主控单元节点。所述主控单元节点接收到数据包后,节点会从低功耗模式中唤醒,根据接收到的数据中标志位的不同字符分别进入不同的处理单元。进一步的,多个子系统节点同时与主控单元节点通信时,存在挣抢信道的现象。为了避免多个子系统节点同时与主控单元节点通信造成数据丢失,所述组网方法采用一定的退避机制,级别高的节点优先于级别低的节点。本发明的一种机器人内部模块无线组网的系统和方法,利用短距离、低功耗的无线通信技术,对机器人内部模块进行组网,用来取代有限电缆的通讯方式,消除了由于电缆长时间的磨损和折弯导致的电气故障,提高机器人的安全和可靠性。且无线网络中的任意节点之间都可进行数据通讯,在有模块加入和撤出时,无线网络具有自动修复功能,网络时延短,响应速度较快,功耗低,通讯速度高,可靠性好,安全性高。附图说明图1为本发明网络系统拓扑结构图;图2为无线通讯子单元电路原理图;图3为子系统节点的自组织流程图。具体实施方式下面结合附图,对本发明提出的一种机器人内部模块无线组网的系统和方法进行详细说明。如图1所示,本发明的机器人内部模块无线组网的系统,包括主控单元、伺服控制子系统、电源管理子系统、运动控制子系统和无线通讯单元,所述运动控制子系统中包括表情控制子系统。无线通讯单元包括第一至第五子单元,所述第一至第五无线通讯子单元分别与所述主控单元、伺服控制子系统、表情控制子系统、电源管理子系统、运动控制子系统组合;所述第一无线通讯子单元用于主控单元向各子系统发出控制指令,以及接收各子系统上报的工作状态;所述第二至五无线通讯子单元用于接收主控单元的下发的控制指令,以及上报与该无线通讯子单元组合的子系统的工作状态。每个无线通讯子单元电路如图2所示。具体来讲,网络系统的结构如下:主控单元+第一无线通讯子单元:主要由机器人人工智能行为智能模块,自然语言理解模块,视觉智能模块,运动智能模块,表情,LCD触摸显示,肢体语言模块,环境感知模块,网络知识模块构成,无线通讯部分主要用于下发主控单元的控制指令,以及接收各子系统上报的工作状态。伺服控制子系统+第二无线通讯子单元:执行电机控制算法,定时获取多路有刷或无刷伺服电机的角度工作电流与工作温度采样,根据传感器反馈数据,完成多路有刷或无刷伺服电机的驱动与控制,定时对伺服控制的情况进行检测,产生异常事件,并对电机堵转,过流,过温等异常情况进行保护,无线通讯部分主要用于接收主控单元的下发的控制指令,以及上报本系统的工作状态。表情控制子系统+第三无线通讯子单元:存在于运动控制中心之下,用于对机器人的表情(点阵)进行控制,读取传感器的信息,并进行回传,无线通讯部分主要用于接收主控单元的下发的控制指令,以及上报本系统的工作状态。电源管理子系统+第四无线通讯子单元:根据充电器输出的最大充电电压,充电电流,以及电池组的当前电压,温度,实时调整充电电流,对电池组进行充电管理,并根据电池组的当前电压,温度,以及子系统的供电的情况对电池组进行放电管理,实时监测电池组的温度,总电压,单节电压,电池组电量,充电电流,放电电流,以供其他模块调用,决策,无线通讯部分主要用于接收主控单元的下发的控制指令,以及上报本系统的工作状态。运动控制子系统+第五无线通讯子单元:存在于主控中心之下,用于接收主控中心的指令,获取传感器信息,控制伺服控制器、表情控制器等,完成对机器人的控制。完成运控DSP的初始化、传感器的初始化及规划系统状态变化时的处理动作。获取到基本控制指令,结合传感器反馈的情况,进行综合判断,完成指令的执行。综合到轨迹控制指令,完成动作分解,结合传感器反馈的情况,进行综合判断,下达基础控制指令。获取到任务指令,完成轨迹规划和路径规划,结合传感器反馈的情况,进行综合判断,完成指令的执行,无线通讯部分主要用于接收主控单元的下发的控制指令,以及上报本系统的工作状态。一种机器人内部模块无线组网的方法,包括以下步骤:节点的加入与退出:如图1所示,本无线网络系统为星型网络,硬件组网成功之后,网络所述主控单元就进入正常的工作状态,一直处于循环检测的状态,周期性检测有无新的待加入子系统节点加入网络或者有无原来的节点退出网络,如果有,就调用加入/退出网络子程序。待加入子系统节点首先进入接收状态,是否被占用,如果信道被占用,不能与所述主控单元通信,只能再进行一个随机延时,再检测信道是否被占用,如此直到信道为空时才能与主控单元通信,从而加入网络。如果所述待加入子系统节点连续N次检测到信道被占用,节点就退出加入网络状态,等下一个加入网络时段再加入网络。,本实施例设定N为3。节点发送加入网络信号后,如果收到主控单元的特定的应答信号,就表明加入网络成功,退出网络也是如此。人机主控单元定时发送网络维护信号,检测网络中的终端节点是否因断电或者模块损坏退出网络。当新的子系统节点加入到网络中,系统会及时反映新加入节点。当系统检测到子系统节点由于电源电压低于工作电压,或人为破坏引起失效时,会从网络中删除该节点的拓扑结构及相关信息,检测方法有手动刷新和定时采样两种。节点级别分配:网络系统包含一个主控单元节点和若干子系统节点,主控单元节点上电初始化后就进入低功耗模式。子系统节点上电初始化后,首先会向主控单元节点发出请求分配级别的命令,然后进入低功耗状态并打开定时器。在设定时间内收到主控单元节点分配的级别,该子系统节点就会向主控单元节点发送自组织信息的数据包。如果在设定时间内没有收到主控单元节点分配的级别,该节点会从低功耗状态唤醒,再次发送请求分配级别的命令,如此循环。当子系统节点发出请求主控单元分配级别的命令达到设定上限后,仍然没有确定自己在网络中的级别。该节点就会向全网发出广播命令,然后进入低功耗状态并打开定时器。定时时间到,节点重新回到发射广播命令状态。当子系统节点发射广播的次数达到设定值,该节点就会将接收到的应答信息进行整理,确定自己在网络中的级别,并确定上级、同级和下级节点的相关信息。该节点再向上级节点发送包含这些信息的数据包,直到数据包传送到主控单元节点,这样可确定整个网络的拓扑结构,子系统节点初始化后,首先发送请求主控单元节点分配级别的命令,同时打开一个定时唤醒的定时器;然后进入低功耗模式,等待外部事件的唤醒。若子系统发送请求主控单元节点分配级别的次数达到设定上限,仍未确定节点在网络中的级别,则该节点就会向周围子系统节点广播信息。当广播次数达到设定值时,子系统节点就根据收到的信息确定自己的级别以及与该节点有直接联系的节点的信息,并把这些信息发送给主控单元。节点的自组织流程如图3所示。数据包格式:在无线通讯协议中,通过定义数据包的格式和关键字来实现节点的自组织,数据包中包含一个关键字和多个字节的数据,其中包括了节点自身信息、数据包长度、数据路由,数据校验和标志位信息,关键字表示不同性质的包,区分各种情况的数据,提升网络的通讯能力。只需要改变数据包中的标志位,就可以对信息进行加密,自组织协议格式如下表示。PreKeyFromFinalLengthDataCheckFlag其中Pre表示前导码,通过测试和试验发现,噪声中不容易产生像0xAA和0x55非常有规律的信号,这些字符杂波不容易产生;Key表示关键字,来区分不同性质的数据包,接收节点会根据这些关键字分别进入不同的数据处理单元;From表示源地址,是发送数据的节点自身信息;Final表示数据的目标地址;Data表示有效数据,这些数据随着字符Key的不同采用不同的格式,可携带不同的信息;Check表示检验位,可避免接收错误的数据包;Flag表示数据包的结束标志位。根据协议格式中的Key可以将节点通讯时捎带的数据包分为自组网信息、环境突变信息、主控单元的控制命令、子系统的状态上报数据、广播信息,系统故障信息等。例如下给出了主控单元在发送控制命令时的数据包格式:0x550x550x200x010x070x010x0D0x110x010x100x060x080xAA其中0x55和0x55为数据前导码,0x20为主控单元直接向伺服子系统发送的关节电机驱动控制指令,0x01表示主控单元发送节点的源地址,0x07为数据包要到达的伺服子系统目标地址,0x01表示节点在当前网络中的级别,0x0C表示本数据包的字节数,0x11表示要驱动的关节电机的序号,0x01表示关节电机转动的方向,0x10表示关节电机转动的绝对角度,0x06表示关节电机转动的速度,0x5B为前面数据和的低8位,作为数据包的检验码,0xAA为数据包的结束标志。接收节点子系统需要向发送节点主控单元做出应答,下表为应答状态突变时的数据包格式。0x550x550x210x070x010x040x0A0x010xE20xAA其中0x21就表示子系统对主系统的应答指令,后面分别是发送节点和接收节点的地址,0x04表示本节点在当前网络中的级别,0x0A表示本数据包的字节数,0x01表示要子系统指令执行成功。为了防止串口通信过程中丢失数据,软件设计上加了握手协议。当主控单元节点每发送一个数据包给子系统时,子系统都会向主控节点发送应答信号,直到数据包发送给主控单元。接收到数据包后,节点会从低功耗模式中唤醒,根据接收到的数据中标志位的不同字符分别进入不同的处理单元。多个子系统节点同时与主控单元节点通信时,存在挣抢信道的现象。为了避免多个子系统节点同时与主控单元节点通信造成数据丢失,软件上采用一定的退避机制,级别高的节点优先于级别低的节点。以上实施例仅用以说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,其均应涵盖在本发明的权利要求范围当中。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1