一种自动识别机器人驱动器的方法、装置及介质与流程

文档序号:31359184发布日期:2022-08-31 14:15阅读:104来源:国知局
一种自动识别机器人驱动器的方法、装置及介质与流程

1.本发明涉及机器人领域,具体来说,涉及一种自动识别机器人驱动器的方法、装置及介质。


背景技术:

2.目前轮式机器人都采用直流伺服驱动器及伺服电机来进行运动控制,但是因为驱动器厂家众多,同一款机器人很有可能会采用不同厂家的伺服驱动器及电机,因为每一套驱动器的协议及电机参数是不一致的,如果机器人能适配多套驱动器及电机就要采用以下两种方式,第一种方式:针对每一套驱动器及电机烧录对应的程序,第二种方式:烧录一套程序然后通过上位机或其他方式对接入的驱动器进行配置。
3.上述两种实现方式需要依赖在生产阶段针对机器人接入的不同驱动器烧录对应的程序,或是通过上位机进行配置,这种方式带来的问题是研发侧要维护多套程序,针对每一套驱动器会有一套程序,新增或修改一个功能要同时考虑到多套程序,同时生产、售后管理也十分困难。另外只用一套程序采用配置驱动器的方式,如果后续配置丢失也会造成机器人无法进行运动控制的重大问题。
4.本文提供的背景描述用于总体上呈现本公开的上下文的目的。除非本文另外指示,在该章节中描述的资料不是该申请的权利要求的现有技术并且不要通过包括在该章节内来承认其成为现有技术。


技术实现要素:

5.针对相关技术中的上述技术问题,本发明提出一种自动识别机器人驱动器的方法,所述机器人有多种驱动器套件,所述多种驱动器套件至少有两个是使用不同协议的,其特征在于:其还包括如下步骤:
6.s1,机器人上电;
7.s2,通过预先绑定通信接口,依次下发驱动识别命令;
8.s3,驱动器有正确的指令返回,获取对应的第一驱动器;
9.s4,加载与第一驱动器对应的驱动器及电机的参数,然后通过第一驱动器对应的通信协议进行通信。
10.具体的,步骤s2,具体为:轮询检测can和rs485通信接口,所述can以及rs485接口用于和驱动器进行通信。
11.具体的,所述依次下发驱动器识别指令为依次下发获取驱动器厂商名称的指令。
12.具体的,所述驱动器有正确的指令返回为等待超时时间内收到正确应答。
13.具体的,所述通过预先绑定通信接口,依次下发驱动识别命令具体为:依次获取协议库中的协议,并通过预先绑定通信接口,依次下发于所述协议对应的获取驱动器厂商名称的指令。
14.第二方面,本发明的另一个实施例提供了一种自动识别机器人驱动器的装置,所
述机器人有多种驱动器套件,所述多种驱动器套件至少有两个是使用不同协议的,其特征在于:其还包括如下单元:
15.上电模块,用于实现机器人上电;
16.驱动识别模块,用于通过预先绑定通信接口,依次下发驱动识别命令;
17.驱动器获取模块,用于在驱动器有正确的指令返回,获取对应的第一驱动器;
18.运动控制模块,用于加载与第一驱动器对应的驱动器及电机的参数,然后通过第一驱动器对应的通信协议进行通信。
19.具体的,所述驱动识别模块用于轮询检测can和rs485通信接口,所述can以及rs485接口用于和驱动器进行通信。
20.具体的,所述依次下发驱动器识别指令为依次下发获取驱动器厂商名称的指令。
21.具体的,所述驱动器有正确的指令返回为等待超时时间内收到正确应答。
22.具体的,所述通过预先绑定通信接口,依次下发驱动识别命令具体为:依次获取协议库中的协议,并通过预先绑定通信接口,依次下发于所述协议对应的获取驱动器厂商名称的指令。
23.第三方面,本发明的另一个实施例提供了一种机器人,所述机器人包括中央处理器,存储单元,所述存储器上存储有所述存储器上存储有指令,所述指令在被所述处理器执行时,用以实现上述的自动识别机器人驱动器的方法。
24.本发明通过内置协议库以及与对应协议相关的电机参数,通过下发协议对应的厂商名称获取指令来判断是否是有效的协议,从而可以正确识别对应的驱动器,并自动加载正确的电机控制参数。实现了如下的技术效果:
25.1、生产简单,只要是机器人支持的驱动器,直接按组装指导接入即可,不用烧录特殊的程序,也不用特殊配置;
26.2、机器人驱动有异常,技术支持更换驱动器简单,直接领用更换即可,不用协调研发指导程序烧录及参数配置。
27.3、研发人员维护代码工作量大大减少,只维护一套代码即可,当增加了新的驱动器及电机,直接增加通信协议、修改驱动识别模块,然后增加相关驱动参数即可。
附图说明
28.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
29.图1是本发明实施例提供的一种自动识别机器人驱动器的方法流程图;
30.图2是本发明实施例提供的一种自动识别机器人驱动器装置示意图;
31.图3是本发明实施例提供的机器人示意图。
具体实施方式
32.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于
本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
33.实施例一
34.参考图1,本实施例公开了一种自动识别机器人驱动器的方法,其包括如下步骤:
35.s1,机器人上电;
36.具体的,机器人在开机上电后,会进行初始化,例如对硬件进行初始化,对驱动器进行初始化等。
37.具体的,本实施例的机器人包括运动控制模块、驱动识别模块、通信模块、各种外设驱动套件、运动控制硬件。
38.其中运动控制模块用于分解机器人导航下发的v和w,同时也会根据驱动器反馈的转速或角度信息进行合成为v和w,然后上报给机器人控制中心。
39.分解是根据机器人的运动模型,如差速运动模型或阿克曼模型等,运动控制模块会结合驱动器、电机的参数将v和w分解为各个电机转动的速度或转动的角度。同样合成是运动控制模块根据拿到的各个电机转速或转动角度再结合运动模型来合成机器人运动模型的v和w。
40.驱动识别模块用于遍历驱动协议库找到机器人当前安装的驱动器。具体是当机器人还没有识别出外接驱动器时,驱动识别模块依次从协议库中取出机器人适配过的协议,然后进行封装下发,收到正确的协议返回后,识别出正确的驱动器及电机,开始初始化运动模型中相应的参数。
41.通信模块用于协议报文下发和接收协议报文,例如通过can接口下发封装好的协议报文,然后等待can接口返回,接收到完整返回的协议报文,解析出需要用到的数据,给到运动控制模块进行分析,组装。
42.运动控制硬件用于接收机器人运动控制的命令,然后根据运动模型及外接的驱动器进行下发,使各个驱动器正常工作,例如机器人有哪些运动控制硬件,运动控制板、电源管理板等。
43.驱动器套件用于机器人运动的最终执行机构,接收运动控板的指令,进行相应的动作,比如对运动控制板下发的命令进行速度、位置或力矩的执行。
44.本实施例的机器人有多种驱动器套件,所述多种驱动器套件至少有两个是使用不同协议的。
45.s2,通过预先绑定通信接口,依次下发驱动识别命令;
46.具体的,驱动识别模块会通过预先绑定的通信接口,通过通信接口下发驱动识别指令。
47.驱动识别模块会去轮询检测can和rs485通信接口,所述can以及rs485接口用于和驱动器进行通信。
48.具体的can以及rs485用于建立物理通信链路。
49.本实施例的机器人有多种驱动器套件,每个驱动器都有一个获取厂家名称的指令,是专用指令,依次给通信接口发送不同获取厂家名称的通信指令然后等待应答,有正确应答即为识别成功,然后用此命令对应的协议与驱动器通信。
50.本实施例的步骤s2中,依次下发获取驱动器厂商名称的指令。
51.本实施例还包括一驱动模块,所述驱动模块有一个协议库,所述协议库中存放有不同驱动器的通信协议,所述通信协议中包括有获取厂商名称的通信指令。
52.例如:协议1,getvender指令1;
53.协议2,getvenname指令2;
54.……
55.协议n,getvendern指令n;
56.例如驱动识别模块从协议库中取出协议1,并下发协议1的getvender指令。
57.在从协议库中依次取出协议进行发送,如果协议在等待超时时间内收到正确应答,则确认为当前协议。
58.具体的,驱动识别模块在下发协议1的getvender指令后,在预设的等待超时时间,例如5s,收到正确应答,则认为协议1是一个有效的协议,可以实现与对应的驱动器进行通信。
59.如在等待超时时间内没有收到正确应答,例如没有收到应答,则认为协议1是一个无效的协议,该协议不能与对应的驱动器进行通信。
60.s3,驱动器有正确的指令返回,获取对应的第一驱动器;
61.即,在预设的等待超时时间,例如5s,收到正确应答,则认为协议1是一个有效的协议,可以实现与对应的驱动器进行通信。进而获取与协议1对应的驱动器,使用协议1与驱动器进行通信。
62.s4,加载与第一驱动器对应的驱动器及电机的参数,然后通过第一驱动器对应的通信协议进行通信;
63.具体的,本实施例预先会建立与协议库中对应的驱动器以及电机参数,例如:
64.协议1,驱动器1,电机参数1;
65.协议2,驱动器2,电机参数2;
66.……
67.协议n,驱动器n,电机参数n;
68.本实施例通过步骤s3获取有效的通信协议后,自动根据对应的协议获取相应的驱动器的电机参数,并加载对应的电机参数,从而实现对驱动器的控制。
69.本实施例通过内置协议库以及与对应协议相关的电机参数,通过下发协议对应的厂商名称获取指令来判断是否是有效的协议,从而可以正确识别对应的驱动器,并自动加载正确的电机控制参数。实现了如下的技术效果:
70.1、生产简单,只要是机器人支持的驱动器,直接按组装指导接入即可,不用烧录特殊的程序,也不用特殊配置;
71.2、机器人驱动有异常,技术支持更换驱动器简单,直接领用更换即可,不用协调研发指导程序烧录及参数配置。
72.3、研发人员维护代码工作量大大减少,只维护一套代码即可,当增加了新的驱动器及电机,直接增加通信协议、修改驱动识别模块,然后增加相关驱动参数即可。
73.实施例二
74.参考图1,本实施例公开了一种自动识别机器人驱动器的装置,其包括如下单元:
75.上电模块,用于实现机器人上电;
76.具体的,机器人在开机上电后,会进行初始化,例如对硬件进行初始化,对驱动器进行初始化等。
77.具体的,本实施例的机器人包括运动控制模块、驱动识别模块、通信模块、各种外设驱动套件、运动控制硬件。
78.其中运动控制模块用于分解机器人导航下发的v和w,同时也会根据驱动器反馈的转速或角度信息进行合成为v和w,然后上报给机器人控制中心。
79.分解是根据机器人的运动模型,如差速运动模型或阿克曼模型等,运动控制模块会结合驱动器、电机的参数将v和w分解为各个电机转动的速度或转动的角度。同样合成是运动控制模块根据拿到的各个电机转速或转动角度再结合运动模型来合成机器人运动模型的v和w。
80.驱动识别模块用于遍历驱动协议库找到机器人当前安装的驱动器。具体是当机器人还没有识别出外接驱动器时,驱动识别模块依次从协议库中取出机器人适配过的协议,然后进行封装下发,收到正确的协议返回后,识别出正确的驱动器及电机,开始初始化运动模型中相应的参数。
81.通信模块用于协议报文下发和接收协议报文,例如通过can接口下发封装好的协议报文,然后等待can接口返回,接收到完整返回的协议报文,解析出需要用到的数据,给到运动控制模块进行分析,组装。
82.运动控制硬件用于接收机器人运动控制的命令,然后根据运动模型及外接的驱动器进行下发,使各个驱动器正常工作,例如机器人有哪些运动控制硬件,运动控制板、电源管理板等。
83.驱动器套件用于机器人运动的最终执行机构,接收运动控板的指令,进行相应的动作,比如对运动控制板下发的命令进行速度、位置或力矩的执行。本实施例的机器人有多种驱动器套件,所述多种驱动器套件至少有两个是使用不同协议的。
84.驱动识别模块,用于通过预先绑定通信接口,依次下发驱动识别命令;
85.具体的,驱动识别模块会通过预先绑定的通信接口,通过通信接口下发驱动识别指令。
86.驱动识别模块会去轮询检测can和rs485通信接口,所述can以及rs485接口用于和驱动器进行通信。
87.具体的can以及rs485用于建立物理通信链路。
88.本实施例的机器人有多种驱动器套件,每个驱动器都有一个获取厂家名称的指令,是专用指令,依次给通信接口发送不同获取厂家名称的通信指令然后等待应答,有正确应答即为识别成功,然后用此命令对应的协议与驱动器通信。
89.本实施例的驱动识别模块,依次下发获取驱动器厂商名称的指令。
90.本实施例还包括一驱动模块,所述驱动模块有一个协议库,所述协议库中存放有不同驱动器的通信协议,所述通信协议中包括有获取厂商名称的通信指令。
91.例如:协议1,getvender指令1;
92.协议2,getvenname指令2;
93.……
94.协议n,getvendern指令n;
95.例如驱动识别模块从协议库中取出协议1,并下发协议1的getvender指令。
96.在从协议库中依次取出协议进行发送,如果协议在等待超时时间内收到正确应答,则确认为当前协议。
97.具体的,驱动识别模块在下发协议1的getvender指令后,在预设的等待超时时间,例如5s,收到正确应答,则认为协议1是一个有效的协议,可以实现与对应的驱动器进行通信。
98.如在等待超时时间内没有收到正确应答,例如没有收到应答,则认为协议1是一个无效的协议,该协议不能与对应的驱动器进行通信。
99.驱动器获取模块,用于在驱动器有正确的指令返回,获取对应的第一驱动器;
100.即,在预设的等待超时时间,例如5s,收到正确应答,则认为协议1是一个有效的协议,可以实现与对应的驱动器进行通信。进而获取与协议1对应的驱动器,使用协议1与驱动器进行通信。
101.运动控制模块,用于加载与第一驱动器对应的驱动器及电机的参数,然后通过第一驱动器对应的通信协议进行通信;
102.具体的,本实施例预先会建立与协议库中对应的驱动器以及电机参数,例如:
103.协议1,驱动器1,电机参数1;
104.协议2,驱动器2,电机参数2;
105.……
106.协议n,驱动器n,电机参数n;
107.本实施例获取有效的通信协议后,自动根据对应的协议获取相应的驱动器的电机参数,并加载对应的电机参数,从而实现对驱动器的控制。
108.本实施例通过内置协议库以及与对应协议相关的电机参数,通过下发协议对应的厂商名称获取指令来判断是否是有效的协议,从而可以正确识别对应的驱动器,并自动加载正确的电机控制参数。实现了如下的技术效果:
109.1、生产简单,只要是机器人支持的驱动器,直接按组装指导接入即可,不用烧录特殊的程序,也不用特殊配置;
110.2、机器人驱动有异常,技术支持更换驱动器简单,直接领用更换即可,不用协调研发指导程序烧录及参数配置。
111.3、研发人员维护代码工作量大大减少,只维护一套代码即可,当增加了新的驱动器及电机,直接增加通信协议、修改驱动识别模块,然后增加相关驱动参数即可。
112.实施例三
113.参考图3,图3是本实施例的机器人的结构示意图。该实施例的机器人20包括处理器21、存储器22以及存储在所述存储器22中并可在所述处理器21上运行的计算机程序。所述处理器21执行所述计算机程序时实现上述方法实施例中的步骤。或者,所述处理器21执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能。
114.示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器22中,并由所述处理器21执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述机器人20中的执行过程。例如,所述计算机程序可以被分割成实
施例二中的各个模块,各模块具体功能请参考上述实施例所述的装置的工作过程,在此不再赘述。
115.所述机器人20可包括,但不仅限于,处理器21、存储器22。本领域技术人员可以理解,所述示意图仅仅是机器人20的示例,并不构成对机器人20的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述机器人20还可以包括输入输出设备、网络接入设备、总线等。
116.所述处理器21可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器21是所述机器人20的控制中心,利用各种接口和线路连接整个机器人20的各个部分。
117.所述存储器22可用于存储所述计算机程序和/或模块,所述处理器21通过运行或执行存储在所述存储器22内的计算机程序和/或模块,以及调用存储在存储器22内的数据,实现所述机器人20的各种功能。所述存储器22可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
118.其中,所述机器人20集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器21执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
119.需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解
并实施。
120.以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1