一种基于机器人开发平台的运动控制方法与流程

文档序号:11133058阅读:462来源:国知局
一种基于机器人开发平台的运动控制方法与制造工艺
本发明涉及机器人开发运动模块,具体涉及一种基于机器人开发平台的运动控制方法。
背景技术
:2016年是人工智能元年,谷歌的AlphaGo震惊世界。机器是人工智能技术的载体,由此,世界各地的研究所或者公司也推出多款机器人,从类人机器人,服务机器人到军方的战备机器人,可以说机器人行正如当年的移动互联网一样蓬勃火热发展。市面上的机器人多以工业机器人和服务机器人为主,这些机器人一般是按照特定的功能定制的,比如焊接机器人,扫地机器人等,要在这些机器人上做进一步修改升级就相当困难,基本上都要重新设计。而一般的机器人开发平台入门又比较高,而且基本都是大公司垄断,价格昂贵,一些小的企业或个人基本上不会考虑。那些小的机器人开发平台往往只提供一些开发板或开发模组,只适合用来学习或做简易的玩具。目前,急需一种开发简便、模块化程度高的机器人开发平台。在机器人开发平台中,运动处理是机器人运动的核心,如何从单一重复性的动作到智能化高仿真动作,都是目前研究领域的空白。技术实现要素:本发明的目的在于克服现有技术存在的以上问题,提供一种基于机器人开发平台的运动控制方法,本发明运动控制灵活,机器人动作仿真程度高。为实现上述技术目的,达到上述技术效果,本发明通过以下技术方案实现:一种基于机器人开发平台的运动控制方法,包含动作响应方法、运动通信方法,所述的动作响应方法包含用户动作响应、自由动作响应;所述的用户动作响应用于响应用户侧定义的动作指令;所述的自由动作响应用于响应机器人空闲状态自由动作指令;所述的运动通信采用总线通信协议进行传输;所述的运动通信包括指令发送、指令接收;所述的指令接收用于接收所述的动作指令;所述的指令发送以动作指令格式发送。进一步的,所述的用户动作响应包含以下步骤:变量初始化、解析动作指令(动作类型判断、动作状态判断、发送动作指令、执行动作指令、动作同步判断、动作超时判断、动作循环判断)、更新机器人状态、错误判断、删除动作指令。进一步的,所述的用户动作响应方式包括单一动作响应、连续动作响应。进一步的,所述的自由动作响应包含以下步骤:变量初始化、延时设定、空闲状态判断、判断用户配置、设定情景模式、情景模式判断(执行情景模式)、自由状态模式判断、避障判断(执行避障)、生成随机数判断执行概率、执行随机动作进一步的,所述的动作指令格式为帧头+机器代号+指令类型+数据长度+子命令+子命令数据+校验帧+帧尾。进一步的,所述的指令发送流程如下:用户侧发送动作指令,等待应答标志,等待超时请求用户侧重新发送动作指令,收到应答标志后,并进行动作指令数据校验,动作指令数据包有误请求用户侧重新发送动作指令数据包,动作指令数据包无误返回应答标志,指令发送结束。进一步的,所述的指令接收步骤如下:等待接收,等待用户侧动作指令数据接收;帧头校验,无误后开始接受并保存用户侧动作指令数据,有误则继续等待;接受数据,接受并保存用户侧动作指令数据包;帧尾校验,以接收到正确的帧尾结束用户侧动作指令数据包的接收;数据校验,检验用户侧动作指令数据包里所包含的数据长度和校验帧,判断用户侧动作指令数据包所包含的数据是否正确,数据正确返回应答正确标志,否则返回应答错误标志。进一步的,所述的子命令数据以动作数据包传输,所述的运动数据包格式动作执行数值A+动作执行数值B+动作执行数值C+优先权位+故障位+指令+动作执行预留位A+动作执行预留位B。进一步的,所述的总线通信协议设有发送优先权控制,发送优先权的级别由所述的优先权位大小决定;多个动作执行单元发送执行动作反馈信息时,总线优先响应发送优先权级别高的动作执行单元,优先权级别高的动作执行单元发送执行动作反馈信息,发送优先权级别低的动作执行单元放弃发送转为接收指令。进一步的,所述的动作执行数值为角度值、速度值、电流值。本发明的有益效果是:本发明提供一种基于机器人开发平台的运动控制方法,包含动作响应方法、运动通信方法,所述的动作响应方法包含用户动作响应、自由动作响应;所述的用户动作响应用于响应用户侧定义的动作指令;所述的自由动作响应用于响应机器人空闲状态自由动作指令;所述的运动通信采用总线通信协议进行传输;所述的运动通信包括指令发送、指令接收;所述的指令接收用于接收所述的动作指令;所述的指令发送以动作指令格式发送。本发明运动控制灵活,控制精准度高,极大的提高了机器人动作的仿真程度。上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,并可依照说明书的内容予以实施,以下以本发明的较佳实施例并配合附图详细说明如后。本发明的具体实施方式由以下实施例及其附图详细给出。附图说明此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:图1是本发明的一种基于机器人开发平台的运动控制方法框架示意图;图2是本发明的用户动作响应流程图;图3是本发明的自由动作响应流程图;图4是本发明的一种机器人的分解结构示意图;图5是本发明的一种机器人内部结构示意图;图6是本发明的一种机器人转向示意图;图7是本发明的一种机器人连续动作响应可视化窗口示意图;图中标号:机器人1、头部2、尾部3、仿生鱼鳍4、骨架5、方向舵机6、辅助舵机7、下颚21、鱼鳍骨架41、动力舵机60。具体实施方式下面将参考附图并结合实施例,来详细说明本发明。参照图1-7所示,一种基于机器人开发平台的运动控制方法,如图1所示,包含动作响应方法、运动通信方法,所述的动作响应方法包含用户动作响应、自由动作响应;所述的用户动作响应用于响应用户侧定义的动作指令;所述的自由动作响应用于响应机器人空闲状态自由动作指令;所述的运动通信采用总线通信协议进行传输;所述的运动通信包括指令发送、指令接收;所述的指令接收用于接收所述的动作指令;所述的指令发送以动作指令格式发送。如图2所示,所述的处理单元包括用户指令处理,所述的用户指令处理用于响应用户端发出的指令。用户指令处理包含以下步骤:变量初始化,解析动作指令(动作类型判断、动作状态判断、发送动作指令、执行动作指令、动作同步判断、动作超时判断、动作循环判断)判断是否是实时测试动作,根据分类,对待解析动作结构体指针赋予不同的指针值。接下来一步步解析动作,根据动作类型,超时,动作重复次数,每个动作状态的同步位,动作控制模式等,设定舵机角度,舵机速度等,执行完一次动作解析后,将会判断动作类型,释放信号量,告诉处理单元可以开始继续运行,更新机器人状态,错误判断并删除动作指令。如图3所示,所述的处理单元还包括自由动作处理,所述的自由动作处理用于响应用户端指令空闲状态下的随机指令。自由动作处理流程如下:首先,优先级上,情景模式这种特殊情况优先级最高,检测传感单元数据,综合判断,符合某一情景模式的话,将直接执行该情景模式设置的动作命令,当没有符合的情景模式时,先去判断传感单元值,进行避障操作,如果不需要避障,则判断当前机器人状态,执行相应的动作,如果为自由状态,则首先生成在动作指令数量范围内的随机数,同时计算随机数执行概率来决定是否执行该动作,到达出现次数后,执行对应随机数的命令。如图4所示,为一具体实施例中机器人1结构分解示意图,机器人1包括头部2、尾部3、仿生鱼鳍4、骨架5,如图5所示,骨架5上前部安装有方向舵机6,骨架5中部与尾部各安装有一动力舵机60;所述的方向舵机响应处理单元发出的方向指令;所述的动力舵机响应处理单元发出的前进指令。骨架5还安装有4台辅助舵机7;4台辅助舵机7呈前后各一对仿生鱼鳍4对称布置;所述的辅助舵机7连接仿生鱼鳍4;如图6所示,机器人1转向时,单侧辅助舵机7运动带动单侧仿生鱼鳍4运动,如机器人1向右转向时,左侧辅助舵机7运动带动左侧仿生鱼鳍4运动,完成辅助向右转向;向左转向原理同上。同时,仿生鱼鳍4还作为辅助动力舵机,当机器人1不执行转向运动时,两侧辅助舵机7带动两侧仿生鱼鳍4运动,运动方式为同步游动与异步游动。优选地,所述的动作执行单元还包括动作定制单元;所述的动作定制单元包括沉浮动作单元、反向动力动作单元;所述的沉浮动作单元响应处理单元发出的上浮或下沉指令;所述的反向动力动作单元响应处理单元发出的后退指令。在沉浮动作单元响应上浮或下沉指令时,仿生鱼鳍4在两侧辅助舵机7带动两侧仿生鱼鳍4运动,运动方式为同步游动与异步游动,起到仿真运动与辅助上浮、下沉作用。优选地,所述的传感单元包括陀螺仪传感器、加速度传感器、距离传感器、角度传感器、湿度传感器、温度传感器、水压传感器、电流传感器、霍尔传感器;所述的陀螺仪传感器感应机器人位姿信息反馈至处理单元;所述的加速度传感器感应机器人运动加速度信息反馈至处理单元;所述的距离传感器包括红外测距传感器、超声波测距传感器、声呐测距传感器;所述的距离传感器感应机器人与外界环境的距离信息反馈至处理单元;所述的角度传感器感应舵机旋转角度信息反馈至处理单元;所述的湿度传感器感应舵机内湿度信息反馈至处理单元;所述的温度传感器感应舵机内温度信息反馈至处理单元;所述的水压传感器感应沉浮动作单元内水压信息反馈至处理单元;所述的电流传感器感应舵机中相电流信息反馈至处理单元;所述的霍尔传感器感应舵机内电机转子位置信息反馈至处理单元。声呐传感器是一种专门应用在水中测距用的传感器,声呐信号在水中传播不容易衰减,信号的稳定性好。在应用中把两个声呐传感器安装在鱼头的下方,两个声呐的夹角约20度,分别用来检测左前方和右前方的距离变化。机器鱼游动时,处理单元间歇式控制声呐传感器发射声呐信号,并实时接收声呐的返回信号,通过计算声呐发射后接收的时间差和声呐在水中的传输速度,即可算出机器鱼和障碍物之间的距离,声呐从发射到收到反射信号这段时间就是声呐一个来回的时间,这个时间与声呐在水中传输速度的乘积结果除以2就是实际的距离值。处理单元实时判断距离的变化,提前控制机器人1的左转或者右转,实现避开障碍物的功能。陀螺仪传感器,加速度传感器,水压传感器,配合两个方向的声纳测距(前方和下方),可以实时检测机器人1运动姿态和规划运动路径。流量计用来计量储水罐的进水量和出水量,液位计用来检测机器人在水池中的深度,水压传感器用来检测储水罐中的蓄水量。机器人1身体两侧各安装若干个可见光感应器,感应器可以检测光照强度,机器人通过对比两侧光强,控制前进方向,实现趋光或避光运动。机器人身体安装激光接收器,用于接收经过特殊调制的激光束,用户使用激光笔照射不同接收器可以触发机器人作出对应的动作;机器人1的某些运动部位有可能接触或伤害到人和其他动物,在这些部位加入了压力传感器和微动开关,可以防止意外事故的发生;电流传感器检测舵机内无刷电机的相电流,霍尔传感器舵机内无刷电机转子的位置,温度传感器检测电机模块温度,湿度传感器检测舵机内电机是否进水,磁角度传感器检测舵机内电机旋转角度。优选地,运动通信包括数据发送、数据接收,运动通信以动作指令数据包传输,如表1所示,动作指令数据包格式为帧头+机器代号+指令类型+数据长度+子命令+子命令数据+校验帧+帧尾。表1动作指令数据包格式说明:(1)帧头,用两个字节表示,分别是0xfe、0xef;(2)机器代号,不同的设备,定义不同的代号来区分;(3)指令类型,用于表示这个数据包所要执行的功能,可以自行定义;(4)数据长度,除去帧头,帧尾四个字节后的数据长度;(5)子命令,指令类型下面的子命令类,即二级命令;(6)子数据,传输的用户端数据;(7)校验帧,采用CRC校验,帧头后到CRC校验值前的数据经CRC计算后的结果值。(8)帧尾,用两个字节表示,分别是0xfd、0xdf。如图2所示,数据发送根据用户侧的发送请求,按照动作指令数据格式将数据组成一串数据包,并把该串数据包通过无线发送出去,等待应答标志接收,开启等待应答超时计数。若超时计数完成未收到应答标志或者收到的应答标志错误则重新发送数据,若接收应答标志正确,且未超时,则结束本次发送。数据接收端接收到第一个字节后判断该字节是否是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查询can通讯错误率0x21实时舵机控制0x31写入基本动作组合0x32测试基本动作组合0x33写入用户配置数据0x34擦除命令flash0x35IAP升级命令0x36用户配置读取0x37动作命令读取0x38设定舵机绝对位置0x39设定机器人进入自由模式0x3A使机器人进入空闲状态0x41机器人错误码0x41使设备进入can烧写模式0x42使主控进入can烧写模式优选地,动作数据包中定义一个数据结构体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预留。下以如图3所示的一种机器人为例,下称机器鱼,前进动作指令代码如下:FEFF00064500320000BFFB000000004000020002000000030018000300400D0700000001503C00023C3200031E1400030018000300400D070000000150C4FF023CCEFF031EECFF000000DAF39A40FDDF这条命令通过控制机器鱼鱼头舵机以速度30,角度范围-20度至20度,机器鱼鱼身舵机以速度60,角度范围-50度至50度,机器鱼鱼尾舵机以速度80,角度范围-60度至60度的设定进行摆动实现游行前进。在总线空闲时,所有的动作执行单元都可以发送数据,最先访问的先获得控制权。在总线协议中,所有的消息都以固定的格式发送。总线空闲时,所有与总线相连的动作执行单元都可以开始发送新消息。两个以上的动作执行单元同时开始发送消息时,根据标识符ID决定优先级。ID并不是表示发送的目的地址,而是表示访问总线的消息的优先级。两个以上的单元同时开始发送消息时,对各消息ID的每个位进行逐个仲裁比较。仲裁获胜(被判定为优先级最高)的单元可继续发送消息,仲裁失利的单元则立刻停止发送而进行接收工作。当多个动作执行单元同时发送信息时,对各消息ID的每个位进行逐个仲裁比较。仲裁获胜(被判定为优先级最高)的动作执行单元可继续发送反馈信息给主控模块,仲裁失利的动作执行单元则立刻停止发送而进入接收状态。总线可以判断出错误的类型是总线上暂时的数据错误(如外部噪声等)还是持续的数据错误(如单元内部故障、驱动器故障、断线等)。由此功能,当总线上发生持续数据错误时,可将引起此故障的单元从总线上隔离出去。总线是可同时连接多个单元的总线。可连接的单元总数理论上是没有限制的。但实际上可连接的单元数受总线上的时间延迟及电气负载的限制。降低通信速度,可连接的单元数增加;提高通信速度,则可连接的单元数减少。通信时主动作执行单元按结构体定义的数据包,通过总线的通信方式,把数据传输至总线上,挂载在总线上的从动作执行单元的总线过滤器会自动识别该数据帧里包含的ID非主动作执行单元,该数据包会被过滤掉,不再接收后面的数据。如果过滤器识别出该帧数据ID是本主动作执行单元,则接收整帧数据,解析数据包里的命令功能,从动作执行单元根据命令码和数据执行相应的动作,并把反馈信息需要反馈给用户侧。优选地,用户动作响应方式包括单一动作响应、连续动作响应;具体形式命令码的格式,如表4所示:表4如图7所示,连续动作响应时,用户侧想要生成需要的各种动作组合,可以在工作控制窗口选中上面建立的命令码中的某几个组成一个动作组,同样可以选中多个动作组形成相应的组合命令码。组合命令码生成后你可以点击测试按钮,测试你生成的动作有没有达到你预想的效果,如果不符合,还可以调整上面的参数,直到达到你的要求为止。创建传感器与动作组联系起来,当传感器的值符合设定的阈值范围时,便执行相应的动作组命令码。当用户生成一条符合要求的组合命令码时要及时命名并保存到本地数据库,同时下载其他用户动作组命令码更新至本用户的机器人硬件平台,而命令码的翻译工作在硬件系统中进行。用户也可以选择将组合命令码上传到云服务器上共享或出售。本发明提供一种基于机器人开发平台的运动控制方法,包含动作响应方法、运动通信方法,所述的动作响应方法包含用户动作响应、自由动作响应;所述的用户动作响应用于响应用户侧定义的动作指令;所述的自由动作响应用于响应机器人空闲状态自由动作指令;所述的运动通信采用总线通信协议进行传输;所述的运动通信包括指令发送、指令接收;所述的指令接收用于接收所述的动作指令;所述的指令发送以动作指令格式发送。本发明运动控制灵活,控制精准度高,极大的提高了机器人动作的仿真程度。以上所述,仅为本发明的较佳实施例而已,并非对本发明作任何形式上的限制;凡本行业的普通技术人员均可按说明书附图所示和以上所述而顺畅地实施本发明;但是,凡熟悉本专业的技术人员在不脱离本发明技术方案范围内,利用以上所揭示的技术内容而做出的些许更动、修饰与演变的等同变化,均为本发明的等效实施例;同时,凡依据本发明的实质技术对以上实施例所作的任何等同变化的更动、修饰与演变等,均仍属于本发明的技术方案的保护范围之内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1