基于模块化平台的机器人开发系统架构及其主控单元的制作方法

文档序号:11154362阅读:601来源:国知局
基于模块化平台的机器人开发系统架构及其主控单元的制造方法与工艺
本发明涉及机器人开发系统架构,具体涉及模块化平台的机器人开发系统架构及其主控单元。
背景技术
:2016年是人工智能元年,谷歌的AlphaGo震惊世界。机器是人工智能技术的载体,由此,世界各地的研究所或者公司也推出多款机器人,从类人机器人,服务机器人到军方的战备机器人,可以说机器人行正如当年的移动互联网一样蓬勃火热发展。市面上的机器人多以工业机器人和服务机器人为主,这些机器人一般是按照特定的功能定制的,比如焊接机器人,扫地机器人等,要在这些机器人上做进一步修改升级就相当困难,基本上都要重新设计。而一般的机器人开发平台入门又比较高,而且基本都是大公司垄断,价格昂贵,一些小的企业或个人基本上不会考虑。那些小的机器人开发平台往往只提供一些开发板或开发模组,只适合用来学习或做简易的玩具。目前,急需一种开发简便、模块化程度高的机器人开发平台。技术实现要素:本发明的目的在于克服现有技术存在的以上问题,提供基于模块化平台的机器人开发系统架构,本发明逻辑结构巧妙,模块化程度高,方便人们在此平台架构上进行机器人的研究与开发。为实现上述技术目的,达到上述技术效果,本发明通过以下技术方案实现:基于模块化平台的机器人开发系统架构,包括主控单元、传感单元、动作执行单元、交互单元;所述的传感单元、动作执行单元、交互单元由主控单元控制;用户通过所述的交互单元输入指令至主控单元,传感单元感应外部信号传输至主控单元,主控单元处理并生成控制所述的动作执行单元的指令,所述的动作执行单元执行指令;所述的传感单元、动作执行单元、交互单元与主控单元之间通信采用交互通信,所述的各交互通信的通信协议保持一致。进一步的,所述的交互单元包括PC端交互、移动端交互、动作模拟器交互;所述的PC端交互、移动端交互都与云服务器连接;所述的交互单元与主控单元的传输方式采用无线透传;所述的移动端交互包括语音交互、智能模块、动作识别交互、人脸表情识别交互、动作模拟交互。进一步的,所述的基于模块化平台的机器人开发系统架构还包括特殊动作执行单元;所述的特殊动作执行单元、传感单元、动作执行单元、交互单元内都设有反馈单元;所述的反馈单元与主控单元连接,为主控单元提供反馈信息。基于模块化平台的机器人开发系统主控单元,包括初始化模块、指令交互模块、信息交互模块、动作执行模块;所述的初始化模块初始化动作执行单元参数与主控单元中系统变量参数;所述的指令交互模块接收交互单元指令并编译成动作指令;所述的信息交互模块采集传感单元数据;所述的动作执行模块执行所述的动作指令;所述的初始化模块在主控单元中优先级最高。进一步的,所述的初始化模块包含以下步骤:硬件初始化、设备初始化、系统全局变量初始化、创建模块任务。进一步的,所述的初始化模块还包含以下步骤:主电源开启、输出版本信息、用户配置加载、开启时钟中断、开启系统多任务切换、预警警报循环。进一步的,所述的指令交互模块包含以下步骤:等待指令、中断检测、选择指令类型。进一步的,所述的指令交互模块还包含以下步骤:变量设定及初始化、指令校验、发送反馈消息。进一步的,所述的信息交互模块包含以下步骤:设置采样频率、传感单元采样、查询动作执行单元信息。进一步的,所述的信息交互模块还包含以下步骤:任务内变量初始化、滤波、阈值判断、统计循环次数、获取设备信号、判断信息对错。进一步的,所述的动作执行模块包含以下步骤:动作类型判断、动作状态判断、发送动作指令、执行动作指令。进一步的,所述的动作执行模块还包含以下步骤:变量初始化、动作同步判断、动作超时判断、动作循环判断、更新机器人状态、错误判断、删除动作指令。进一步的,基于模块化平台的机器人开发系统主控单元,还包括自由状态模块、调试测试模块,所述的自由状态模块为无交互单元操作时机器人控制模块;所述的调试测试模块供调试维修使用。进一步的,所述的自由状态模块包含以下步骤:空闲状态判断、设定情景模式、情景模式判断(执行情景模式)、自由状态模式判断、生成随机数判断执行概率、执行随机动作。进一步的,所述的自由状态模块还包含以下步骤:变量初始化、延时设定、判断用户配置、避障判断(执行避障)。本发明的有益效果是:本发明提供基于模块化平台的机器人开发系统架构,包括由主控单元控制的传感单元、动作执行单元、交互单元,所述的主控单元包括初始化模块、指令交互模块、信息交互模块、动作执行模块;所述的初始化模块初始化动作执行单元参数与主控单元中系统变量参数;所述的指令交互模块接收交互单元指令并编译成动作指令;所述的信息交互模块采集传感单元数据;所述的动作执行模块执行所述的动作指令。本发明逻辑结构巧妙,模块化程度高,采用一致的通信标准,统一各传感单元、动作执行单元与主控单元的通信协议,从而方便人们基于本平台架构对机器人进行研究与开发。上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,并可依照说明书的内容予以实施,以下以本发明的较佳实施例并配合附图详细说明如后。本发明的具体实施方式由以下实施例及其附图详细给出。附图说明此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:图1是本发明的基于模块化平台的机器人开发系统架构图;图2是本发明的主控单元组织结构图;图3是本发明的初始化模块流程示意图;图4是本发明的指令交互模块流程示意图;图5是本发明的信息交互模块流程示意图;图6是本发明的动作执行模块流程示意图;图7是本发明的自由状态模块流程示意图;图8是本发明的调试测试模块流程示意图;图9是本发明的用户侧通信数据发送流程示意图;图10是本发明的用户侧通信数据接收流程示意图;图11是本发明的传感单元通信结构示意图;图12是本发明的动作执行单元通信结构示意图;图13是本发明的传感单元通信流程示意图;图14是本发明的动作执行单元通信流程示意图。具体实施方式下面将参考附图并结合实施例,来详细说明本发明。参照图1-14所示,基于模块化平台的机器人开发系统架构,如图1所示,包括主控单元、传感单元、动作执行单元、交互单元、特殊动作执行单元,传感单元、动作执行单元、交互单元、特殊动作执行单元由主控单元控制;特殊动作执行单元包括水下沉浮模块、水下避障模块。如图2所示,主控单元包括初始化模块、指令交互模块、信息交互模块、动作执行模块;初始化模块初始化动作执行单元参数与主控单元中系统变量参数;指令交互模块接收交互单元指令并编译成动作指令;所述的信息交互模块采集传感单元数据;动作执行模块执行所述的动作指令;初始化模块在主控单元中优先级最高。优选地,传感单元、动作执行单元、交互单元内都设有反馈单元;所述的反馈单元与主控单元连接,为主控单元提供反馈信息。主控单元根据反馈信息判断是否执行用户指令、判断指令是否完成、判断指令是否完整传输,判断指令是否能顺利执行、判断机器人是否需要避障、判断机器人是否进入自由状态等。结合图3,初始化模块流程如下:系统初始化,系统中断未开启前,进行各种硬件的初始化,中断开启(1ms),进入系统全局变量初始化,读取主控单元flash内的用户配置信息,检查错误,创建其余模块任务,之后进入死循环,检查错误,如有错误,设置警报闪灯频率。结合图4,指令交互模块流程如下:该模块任务为阻塞型任务,主要接收交互单元的指令(通信命令和数据)。等待中断获取到的消息,如果中断接收到符合帧头帧尾,并判断机器人状态及接受长度没有异常后,发送指令,动作执行单元接收到指令后,首先判断进行CRC校验,校验通过后根据结构解析命令解析出指令类型,执行解析后指令,最后返回消息。结合图5,信息交互模块流程如下:任务内变量初始化,延时设定,形成采样频率,传感单元采样、滤波,统计循环次数,阈值判断,超过阈值,查询动作执行单元信息,获取设备信号、判断信息对错。信息交互模块用于高频率采集机器人各种传感单元数据,处理分析,根据需要做出相应动作或更新机器人输出数据包内容。传感单元的类型大致包括电压电流传感单元、深度传感单元、霍尔传感单元、声呐传感单元、距离红外传感单元、陀螺仪。优选地,动作执行单元还包括舵机、水泵、气泵。加角速度和陀螺仪信号通过IIC接口收集,主要用于平衡和稳定性控制;电压、电流、深度信号通过AD接口收集,用于欠压报警,过流保护,沉浮控制判断等;声呐测距和各动作执行单元的角度、速度信息通过总线收集,分别用于避障,与主控单元通讯及各动作执行单元执行情况的判断。结合图6,动作执行模块流程如下:变量初始化,解析动作指令(动作类型判断、动作状态判断、发送动作指令、执行动作指令、动作同步判断、动作超时判断、动作循环判断)判断是否是实时测试动作,根据分类,对待解析动作结构体指针赋予不同的指针值。接下来一步步解析动作,根据动作类型,超时,动作重复次数,每个动作状态的同步位,动作控制模式等,设定舵机角度,舵机速度等,执行完一次动作解析后,将会判断动作类型,释放信号量,告诉主控单元可以开始继续运行,更新机器人状态,错误判断并删除动作指令。优选地,如图1所示,交互单元包括PC端交互、移动端交互、动作模拟器交互;PC端交互、移动端交互都与云服务器连接;交互单元与主控单元的传输方式采用无线透传。移动端交互包括语音交互、智能模块、动作识别交互、人脸表情识别交互、动作模拟交互。交互单元通过wifi无线透传连接主控单元,可以设定机器人的各个动作执行单元的角度、速度等信息,同时可以读取各个动作执行单元和判断各传感单元的状态,通过一定规律的动作组合经过测试编译后实现各种想要达到的动作,动作组合会以命令码的形式保存到主控单元的Flash,同时也可以上传到云服务器上共享或者收费出售。机器人要执行某种命令时就从主控单元的Flash里读取出相应的指令序列并由硬件系统自动解析成相应的命令传达到各个动作执行单元。信息交互模块可以实时查询机器人的各种状态,出现故障时能及时报警,如果某个动作执行单元损坏,直接更换损坏的动作执行单元并做一定的参数设置就可以继续使用,维修简单方便。整个系统架构真正实现模块化智能设计,可扩展性非常强。动作模拟器通过无线模块连接主控单元,可以简单的控制各动作执行单元执行各种基础动作,结合交互单元可以更快的调试出你想要的组合动作。如图2所示,主控单元还包括自由状态模块、调试测试模块;自由状态模块为无交互单元操作时机器人控制模块;调试测试模块供调试维修使用。结合图7,自由状态模块流程如下:本模块用于处理情景模式、避障,生成自由动作命令。首先,优先级上,情景模式这种特殊情况优先级最高,检测传感单元数据,综合判断,符合某一情景模式的话,将直接执行该情景模式设置的动作命令,当没有符合的情景模式时,先去判断传感单元值,进行避障操作,如果不需要避障,则判断当前机器人状态,执行相应的动作,如果为自由状态,则首先生成在动作指令数量范围内的随机数,同时计算随机数执行概率来决定是否执行该动作,到达出现次数后,执行对应随机数的命令。结合图8,调试测试模块采用示波器,通过设置延时与观测示波器中输出来判断机器人各模块各单元是否正常。应当理解,所述单元表示为实际硬件实体,所述模块表示为软件逻辑处理。优选地,所述的传感单元、动作执行单元、交互单元与主控单元之间通信采用交互通信,所述的各交互通信的通信协议保持一致。所述的交互通信包括用户侧通信、传感单元通信、动作执行单元通信,如图1所示,用户侧通信用于传输交互单元发出的指令至主控单元,经过主控单元处理后通过所述的用户侧通信将指令反馈信息传输回交互单元;传感单元通信用于传输主控单元处理后的指令至传感单元,传感单元感应后通过所述的传感单元通信将传感反馈信息传输回主控单元;动作执行单元通信用于传输主控单元处理后的指令至动作执行单元,动作执行单元执行动作后通过所述的动作执行单元通信将执行动作反馈信息传输回主控单元。优选地,用户侧通信的传输方式为无线透传或wifi传输或蓝牙传输。用户侧通信包括数据发送、数据接收,用户侧通信以用户侧数据包传输,如表1所示,用户侧数据包格式为帧头+机器代号+指令类型+数据长度+子命令+子命令数据+校验帧+帧尾。表1用户侧数据包格式说明:(1)帧头,用两个字节表示,分别是0xfe、0xef;(2)机器代号,不同的设备,定义不同的代号来区分;(3)指令类型,用于表示这个数据包所要执行的功能,可以自行定义;(4)数据长度,除去帧头,帧尾四个字节后的数据长度;(5)子命令,指令类型下面的子命令类,即二级命令;(6)子数据,传输的用户侧数据;(7)校验帧,采用CRC校验,帧头后到CRC校验值前的数据经CRC计算后的结果值。(8)帧尾,用两个字节表示,分别是0xfd、0xdf。如图9所示,数据发送根据交互单元的发送请求,按照用户侧数据包格式将数据组成一串数据包,并把该串数据包通过无线发送出去,等待应答标志接收,开启等待应答超时计数。若超时计数完成未收到应答标志或者收到的应答标志错误则重新发送数据,若接收应答标志正确,且未超时,则结束本次发送。如图10所示,数据接收端接收到第一个字节后判断该字节是否是0xfe,如果是则继续接收第二个字节,判断第二个字节是0xef,帧头正确,开始保存后面收到的有效数据,并记录接收的数据长度。当接收到的数据是0xfd,且下一个收到的数据是0xdf时,表示收到帧尾,该数据包结束,比较数据包里的长度值和接收记录的长度值是否相等,如果不相等,说明数据在发送过程中有丢失,该数据包的数据有误,不能使用。如果两者长度相等则表明数据包长度正确,再通过CRC计算校验值,把计算的校验值和数据包里的CRC校验值对比,若相等,说明数据正确,若不等,说明数据在发送过程中由于其他原因出错,该数据包不可用,请求重新发送。若收到的数据经过检验正确则返回正确的应答标志,反之返回错误的应答标志,请求发送端重新发送数据,确保每一次通信的数据都是正确的。表2中为指令类型。表2指令类型值定义0x01用户侧1(手机pad)发读取命令0x02用户侧2(动作模拟器)发出读取命令0x03用户侧3(Pc配置软件)发出读取命令0x04用户侧1(手机pad)发出写入命令0x05用户侧2(动作模拟器)发出写入命令0x06用户侧3(PC配置软件)发出写入命令0x07用户侧1(手机pad)发出控制命令0x11主控单元向用户侧1(手机pad)反馈读命令结果0x12主控单元向用户侧2(动作模拟器)反馈读命令结果0x13主控单元向用户侧3(PC配置软件)反馈读命令结果0x14主控单元向用户侧1(手机pad)反馈写命令结果0x15主控单元向用户侧2(动作模拟器)反馈写命令结果0x16主控单元向用户侧3(PC配置软件)反馈写命令结果0x17主控单元向用户侧1(手机pad)反馈控制命令结果10x18主控单元向用户侧1(手机pad)反馈控制命令结果20x19主控单元向用户侧1(手机pad)反馈控制命令结果3表3中为子命令类型。表3子命令类型值定义0x01机器人状态更新0x02静止0x03自由游动0x11查询机器人信息0x12查询动作执行单元信息0x13查询沉浮模块信息0x14查询通信错误率0x21实时动作执行单元控制0x31写入基本动作组合0x32测试基本动作组合0x33写入用户配置数据0x34擦除命令flash0x35IAP升级命令0x36用户配置读取0x37动作命令读取0x38设定动作执行单元绝对位置0x39设定机器人进入自由模式0x3A使机器人进入空闲状态0x41机器人错误码0x41使设备进入烧写模式0x42使主控单元进入烧写模式优选地,传感单元通信采用总线通信协议进行传输。传感单元中定义一个数据结构体struct{data1;data2;data3;data4;data5;data6;data7;data8};数据结构体里面有8个字节的数据分别为传感数值A+传感数值B+故障位+优先权位+指令+预留位A+传感预留位B+传感预留位C,在不同的传感单元中,每个字节所表示的意义也有所不同:(1)声呐传感器:data1字节表示声呐测量的距离;data2字节表示声呐的电流;data3字节表示声呐模块的故障信息;data4表示声呐模块的ID;data5表示命令,data6,data7,data8预留。(2)视频传感器:data1字节表示图像的颜色;data2字节表示图像的亮度;data3字节表示视频模块的故障信息;data4表示视频模块的ID;data5表示命令,data6,data7,data8预留。(3)超声波测距传感器:data1字节表示实测距离的高8位;data2字节表示表示实测距离的低8位;data3字节表示超声波模块的故障信息;data4表示超声波模块的ID;data5表示命令,data6,data7,data8预留。(4)红外测距传感器:data1字节表示实测距离的高8位;data2字节表示表示实测距离的低8位;data3字节表示红外模块的故障信息;data4表示红外模块的ID;data5表示命令,data6,data7,data8预留。(5)温湿度检测传感器:data1字节表示测量温度值;data2字节表示表示测量湿度值;data3字节表示温湿度模块的故障信息;data4表示温湿度模块的ID;data5表示命令,data6,data7,data8预留。优选地,动作执行单元通信采用总线通信协议进行传输。动作执行单元中定义一个数据结构体struct{data1;data2;data3;data4;data5;data6;data7;data8};数据结构体里面有8个字节的数据分别为动作执行数值A+动作执行数值B+动作执行数值C+优先权位+故障位+指令+动作执行预留位A+动作执行预留位B,在不同的动作执行单元中,每个字节所表示的意义也有所不同:(1)舵机执行模块:data1表示舵机的角度;data2表示舵机的速度;data3表示舵机的电流;data4表示舵机模块的ID;data5表示命令,data6表示舵机的故障信息,data7,data8预留。(2)伺服电机执行模块:data1表示伺服电机的角度;data2表示伺服电机的速度;data3表示伺服电机的电流;data4表示伺服电机模块ID;data5表示命令,data6表示伺服电机的故障信息,data7,data8预留。(3)步进电机模块:data1表示步进电机的角度;data2表示步进电机的速度;data3表示步进电机的电流;data4表示步进电机模块的ID;data5表示命令,data6表示步进电机的故障信息,data7,data8预留。如图11-14所示,在总线空闲时,所有的动作执行单元(传感单元)都可以发送数据,最先访问的先获得控制权。在总线协议中,所有的消息都以固定的格式发送。总线空闲时,所有与总线相连的动作执行单元(传感单元)都可以开始发送新消息。两个以上的动作执行单元(传感单元)同时开始发送消息时,根据标识符ID决定优先级。ID并不是表示发送的目的地址,而是表示访问总线的消息的优先级。两个以上的单元同时开始发送消息时,对各消息ID的每个位进行逐个仲裁比较。仲裁获胜(被判定为优先级最高)的单元可继续发送消息,仲裁失利的单元则立刻停止发送而进行接收工作。当主控单元与动作执行单元(传感单元)同时发送信息时,主控单元发送优先权最高,动作执行单元(传感单元)停止发送,转而进入接收主控单元发送的指令状态,判断指令ID是不是本动作执行单元(传感单元)的ID,是则接收指令数据,否则放弃指令接收。当多个动作执行单元(传感单元)同时发送信息时,对各消息ID的每个位进行逐个仲裁比较。仲裁获胜(被判定为优先级最高)的动作执行单元(传感单元)可继续发送反馈信息给主控单元,仲裁失利的动作执行单元(传感单元)则立刻停止发送而进入接收状态,接收主控单元发送的指令。总线可以判断出错误的类型是总线上暂时的数据错误(如外部噪声等)还是持续的数据错误(如单元内部故障、驱动器故障、断线等)。由此功能,当总线上发生持续数据错误时,可将引起此故障的单元从总线上隔离出去。总线是可同时连接多个单元的总线。可连接的单元总数理论上是没有限制的。但实际上可连接的单元数受总线上的时间延迟及电气负载的限制。降低通信速度,可连接的单元数增加;提高通信速度,则可连接的单元数减少。通信时主动作执行单元(传感单元)按结构体定义的数据包,通过总线的通信方式,把数据传输至总线上,挂载在总线上的从动作执行单元(传感单元)的总线过滤器会自动识别该数据帧里包含的ID非主动作执行单元(传感单元),该数据包会被过滤掉,不再接收后面的数据。如果过滤器识别出该帧数据ID是本主动作执行单元(传感单元),则接收整帧数据,解析数据包里的命令功能,从动作执行单元(传感单元)根据命令码和数据执行相应的动作,并把反馈信息需要反馈给主控单元。本发明提供基于模块化平台的机器人开发系统架构,包括由主控单元控制的传感单元、动作执行单元、交互单元,所述的主控单元包括初始化模块、指令交互模块、信息交互模块、动作执行模块;所述的初始化模块初始化动作执行单元参数与主控单元中系统变量参数;所述的指令交互模块接收交互单元指令并编译成动作指令;所述的信息交互模块采集传感单元数据;所述的动作执行模块执行所述的动作指令。本发明逻辑结构巧妙,模块化程度高,采用一致的通信标准,统一各传感单元、动作执行单元与主控单元的通信协议,从而方便人们基于本平台架构对机器人进行研究与开发。以上所述,仅为本发明的较佳实施例而已,并非对本发明作任何形式上的限制;凡本行业的普通技术人员均可按说明书附图所示和以上所述而顺畅地实施本发明;但是,凡熟悉本专业的技术人员在不脱离本发明技术方案范围内,利用以上所揭示的技术内容而做出的些许更动、修饰与演变的等同变化,均为本发明的等效实施例;同时,凡依据本发明的实质技术对以上实施例所作的任何等同变化的更动、修饰与演变等,均仍属于本发明的技术方案的保护范围之内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1