掌桥专利:专业的专利平台
掌桥专利
首页

机器人、机器人控制方法和可读存储介质

文献发布时间:2023-06-19 11:34:14


机器人、机器人控制方法和可读存储介质

技术领域

本发明涉及人工智能领域,尤其涉及一种机器人、机器人控制方法和可读存储介质。

背景技术

对于可编程的积木机器人,通常是编码电机带动执行模块(例如各个积木)运动来使积木机器人执行各种动作或变换出各种形状。不同的执行模块可以连接不同的编码电机。根据积木机器人需要执行的动作,不同的编码电机可以带动所连接的执行模块分别进行不同的运动(例如部分编码电机可以控制所连接的执行模块朝上运动,部分编码电机可以控制所连接的执行模块朝左运动),来使积木机器人执行所需的动作。通常,积木机器人的执行模块越多,可以执行的动作越多或可变换出的形状越多。这种机器人目前存在用户使用不方便的问题,用户体验感还有待提高。

发明内容

本申请提供一种改进的机器人、机器人控制方法和可读存储介质,可以提高用户体验感。

本申请提供一种机器人,所述机器人包括:

运动部件;

多个电机,每个所述电机用于驱动所述机器人的至少一个所述运动部件运动;

多个驱动控制器,每个所述驱动控制器连接至少一个所述电机,用于控制所连接的所述电机工作;

地址设置电路,用于设置各所述驱动控制器的地址标识,不同所述驱动控制器的所述地址标识不同;各所述驱动控制器分别连接所述地址设置电路,以获取对应的所述地址标识;

主控制器,与所述多个所述驱动控制器连接,所述主控制器用于发送携带目标地址标识的报文给各所述驱动控制器,使得各所述驱动控制器解析所述报文,在确定解析出的目标地址标识中,存在与从所述地址设置电路获取到的地址标识一致的地址标识时,根据所述报文控制所连接的电机工作。

本申请提供一种机器人控制方法,所述机器人控制方法包括:

机器人的驱动控制器从所述机器人的地址设置电路获取对应的地址标识,其中,所述地址设置电路用于设置所述驱动控制器的地址标识,不同所述驱动控制器对应的地址标识不同;

当所述驱动控制器接收到所述机器人的主控制器发送的携带目标地址标识的报文时,解析所述报文,若解析出的目标地址标识中,存在与从所述地址设置电路获取到的地址标识一致的地址标识时,根据所述报文控制所连接的电机工作。

本申请提供一种机器人,所述机器人包括一个或多个处理器,用于实现如上所述的机器人控制方法。

本申请提供一种可读存储介质,其上存储有程序,该程序被处理器执行时,实现如上所述的机器人控制方法。

本申请的一些实施例中,机器人包括地址设置电路。地址设置电路可以用于设置各驱动控制器的地址标识。各驱动控制器的地址标识可以无需固化设置于对应的驱动控制器。用户可以通过地址设置电路设置各驱动控制器的地址标识,用户使用更方便,体验感更好。

附图说明

图1是本申请的一个实施例提供的机器人的示意图;

图2是本申请的另一个实施例提供的机器人的示意图;

图3是本申请的另一个实施例提供的机器人的示意图;

图4是本申请的一个实施例提供的机器人控制方法的流程图;

图5是本申请一个实施例提供的机器人的模块框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施例并不代表与本说明书一个或多个实施例相一致的所有实施例。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。

需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。

图1是本申请的一个实施例提供的机器人100的示意图。

参见图1,机器人100包括运动部件11、多个电机12、多个驱动控制器13、地址设置电路14和主控制器15。每个电机12用于驱动机器人100的至少一个运动部件11运动。在一些实施例中,电机12与运动部件11一一对应连接,每个电机12用于驱动对应的运动部件11运动。在同一时刻,不同的电机12可以驱动机器人100的不同运动部件11执行不同的运动,以使机器人100完成特定的动作或变换出特定的形状。例如在时刻t0,机器人100的部分电机12可以驱动对应的运动部件11朝前运动,另一部分电机12可以不驱动对应的运动部件11运动,以实现机器人100朝前迈步。而在不同时刻,同一电机12可以驱动机器人100的同一运动部件11执行不同的运动,以使机器人100完成不同的动作或变换出不同的形状。例如在时刻1,对于其中一个电机12,可以驱动其对应的运动部件11朝前运动,以实现机器人100朝前迈步;在时刻t2,该电机12可以驱动相应的运动部件11朝后运动,以实现机器人100向后退步。

在本实施例中,机器人100包括积木机器人,运动部件11包括机器人100的积木。每个电机12与至少一个积木连接,用于驱动所连接的积木运动,以使积木机器人可以执行不同的动作或变换不同的形状。在一些实施例中,运动部件11还可以包括设置于积木机器人上的非积木部件,例如设置于积木机器人上的滑轮等。

在一些实施例中,电机12包括编码电机。编码电机可以反馈表示转速、位置等工作信息的信号,便于根据反馈的信号对编码电机进行有效控制。

在一些实施例中,每个驱动控制器13连接至少一个电机12,用于控制所连接的电机12工作。每个驱动控制器13可以控制所连接电机12的工作时长、转速以及转动方向等。通过对所连接电机12的工作进行控制,驱动控制器13可以对电机12所连接的运动部件11的运动(例如运动方向、运动速度)进行控制,进而可以控制机器人100的动作或形状。

在一些实施例中,至少部分驱动控制器13各自包括多个驱动控制端131,多个驱动控制端131分别用于连接不同的电机12。驱动控制器13可以通过各驱动控制端131,分别对各驱动控制端131所连接的电机12进行控制。在一些实施例中,根据机器人100所需执行的动作或需要变换的形状,驱动控制器13的不同驱动控制端131可以对所连接的电机12进行不同的控制。例如,假设一个驱动控制器13包括N个驱动控制端131,每个驱动控制端131分别连接不同的电机12。在同一时刻,该驱动控制器13的第一个驱动控制端131可以控制所连接的电机12正向转动,且第二个驱动控制端131可以控制所连接的电机12反向转动,如此,可以对不同电机12所连接的运动部件11进行不同的运动控制。

在一些实施例中,根据机器人100所需执行的动作或需要变换的形状,驱动控制器13的部分驱动控制端131可以对所连接的电机12进行相同的控制。

在本实施例中,每个驱动控制器13包括四个驱动控制端131。每个驱动控制器13可以连接四个电机12。每个电机12连接一个运动部件11。如此,每个驱动控制器13可以通过控制电机12,对四个运动部件11分别进行运动控制。

在一些实施例中,可以根据机器人100的运动部件11的数量,确定机器人100所需的电机12的数量,进而确定机器人100所需的驱动控制器13的数量。

在一些实施例中,主控制器15与多个驱动控制器13连接,用于发送携带控制信息的报文给驱动控制器13。控制信息可以包括对电机12的转速、转动方向等进行控制的信息。驱动控制器13根据接收到的报文,可以对各驱动控制端131所连接的电机12进行相应控制。在本实施例中,多个驱动控制器13串联连接于主控制器15。主控制器15与该多个驱动控制器13串口通信连接。每个驱动控制器13可以有对应的地址标识。每个地址标识用于标识对应的驱动控制器13。不同驱动控制器13的地址标识不同。主控制器15可以发送携带目标地址标识的报文给各驱动控制器13,使得各驱动控制器13解析报文,在确定解析出的地址标识中,存在与其对应的地址标识一致的地址标识时,可以根据报文(例如报文中对电机12的转速、转动方向等进行控制的信息)控制所连接的电机12工作。目标地址标识可以包括机器人100的部分或全部驱动控制器13的地址标识。在一些实施例中,若驱动控制器13解析报文,确定解析出的地址标识中,不存在与其对应的地址标识相一致的地址标识时,则不控制所连接的电机12工作。

在一些实施例中,每个驱动控制器13的驱动控制端131可以有对应的端口号。对于同一个驱动控制器13,不同驱动控制端131的端口号可以不相同。对于不同的驱动控制器13,不同驱动控制器13的驱动控制端131的端口号可以相同。例如假设其中一个驱动控制器13包括四个驱动控制端131,该驱动控制器13的四个驱动控制端131的端口号不相同,分别为A、B、C、D;而与该驱动控制器131不同的另一个驱动控制器131也可以包括四个驱动控制端131,且该四个驱动控制端131的端口号也可以分别为A、B、C、D。主控制器15根据需要控制的电机12,在发送给各驱动控制器13的报文中的目标地址标识可以包括电机12所连接的驱动控制器13的地址标识,同时,报文还可以包括电机12所连接的驱动控制端131的端口号。各驱动控制器13接收到报文后,对报文进行解析,在确定解析出的目标地址标识中,存在与其对应的地址标识相一致的地址标识后,根据报文中与该地址标识相对应的驱动控制端131的端口号以及报文中对电机12的控制信息,控制对应驱动控制端131所连接的电机12工作。例如,假设一个驱动控制器13包括的驱动控制端131的端口号分别为A、B、C、D,该驱动控制器13解析报文后,若确定解析出的目标地址标识中,包括与其对应的地址标识相一致的地址标识,且报文中与该地址标识相对应的驱动控制端131的端口号为C、D,则该驱动控制器13控制相应驱动控制端131(即端口号为C、D的驱动控制端131)所连接的电机12工作。

在一些实施例中,主控制器15包括控制报文接收端151,控制报文接收端151与上位机16连接,用于接收对机器人100进行控制的控制信息,以根据该控制信息,发送报文给驱动控制器13。上述对机器人100进行控制的控制信息可以包括对机器人100的电机12进行控制的控制信息。在一些实施例中,根据机器人100需要执行的动作或需要变换的形状,用户可以确定机器人100需要工作的电机12,以及对各个需要工作的电机12进行控制的控制信息(例如各电机12的转速、转动方向等)。根据需要工作的电机12,用户通过上位机16可以设置电机12对应的驱动控制器13的地址标识、驱动控制端131的端口号以及各个电机12的控制信息。上位机16可以将驱动控制器13的地址标识、驱动控制端131的端口号以及各个电机12的控制信息发送给主控制器15,以使主控制器15根据接收到的信息,生成并发送报文给驱动控制器13,由驱动控制器13根据报文对需要工作的电机12进行控制。

在一些实施例中,地址设置电路14可以用于设置各驱动控制器13的地址标识。地址设置电路14可用于初始化或修改各驱动控制器13的地址标识。在一些实施例中,地址设置电路14可以用于给用户操作。用户通过操作地址设置电路14,可以设置各驱动控制器13的地址标识。用户在使用机器人100的过程中,可以根据机器人100需要执行的动作或需要变换的形状,确定机器人100需要工作的电机12,以及对各个需要工作的电机12进行控制的控制信息(例如各电机12的转速、转动方向等),然后根据在地址设置电路14侧设置的各驱动控制器13的地址标识,针对需要工作的电机12,在上位机16侧设置该些电机12对应的驱动控制器13的地址标识、驱动控制端131以及各个电机12的控制信息。各驱动控制器13分别连接地址设置电路14,可以获取对应的地址标识。如此,上位机16将该驱动控制器13的地址标识发送给主控制器15,由主控制器15根据接收到的地址标识,发送报文给驱动控制器13后,各驱动控制器13解析从主控制器15侧接收到的报文,在确定解析出的地址标识中,存在与从地址设置电路14获取到的地址标识相一致的地址标识时,可以根据报文控制所连接的电机12工作。

本申请的一些实施例中,机器人100包括运动部件11、多个电机12、多个驱动控制器13、主控制器15以及地址设置电路14。地址设置电路14可以用于设置各驱动控制器13的地址标识。各驱动控制器13分别连接地址设置电路14,可以获取对应的地址标识。在主控制器15发送携带地址标识的报文给所连接的驱动控制器13时,各驱动控制器13可以根据报文中的地址标识和地址设置电路14侧设置的各驱动控制器13的地址标识,来确定是否控制所连接的电机12工作。由于通过地址设置电路14可以设置各驱动控制器13的地址标识,使得每个驱动控制器13的地址标识可以无需固化设置于对应的驱动控制器13。用户可以根据实际情况,通过地址设置电路14设置各驱动控制器13的地址标识,用户使用更方便,体验感更好。相比一些方案中没有设置地址设置电路的机器人来说,这些方案中的机器人将各驱动控制器的地址标识固化设置于各驱动控制器,用户使用不方便。例如这些方案中的机器人在出现驱动控制器损坏、丢失等情况时,假设损坏或丢失的驱动控制器的地址标识为5,而用户手中有一个地址标识为3的空闲驱动控制器,这种情况下,如果机器人已使用的驱动控制器中,还未有包括地址标识为3的驱动控制器,则可以将该地址标识为3的驱动控制器替换到机器人(即将已损坏或丢失的驱动控制器的地址标识更换为3)。但若机器人已使用的驱动控制器中,已经包括了地址标识为3的驱动控制器,则用户手中地址标识为3的空闲驱动控制器,则不能替换到机器人(可能会造成机器人的驱动控制器的地址标识重复,机器人控制出现冲突)。通常,用户可以将地址标识固化为3的驱动控制器寄回生产厂家,由生产厂家将该驱动控制器的地址标识修改为5(或者与机器人已使用的驱动控制器的地址标识不重复的其他地址标识),再寄还给用户,以进行驱动控制器替换,较为麻烦。或者用户可以重新购买一个地址标识为5的驱动控制器进行替换(或者重新购买与机器人已使用的驱动控制器的地址标识不重复的其他地址标识的驱动控制器进行替换),较为麻烦的同时成本较高。而本申请的机器人100出现驱动控制器13损坏或丢失的情况时,若用户手中有空闲的驱动控制器13,则可以直接用该空闲驱动控制器13替换损坏或丢失的驱动控制器13,该空闲驱动控制器13替换到机器人100后,可以通过地址设置电路14将该驱动控制器13的地址标识设置为5。用户使用较为方便,大大提高了用户的体验感。

继续参见图1,在本实施例中,机器人100包括多个地址设置电路14,地址设置电路14与驱动控制器13一一对应连接,每个地址设置电路14用于设置对应的驱动控制器13的地址标识。用户可以通过操作地址设置电路14,设置对应的驱动控制器13的地址标识。在本实施例中,地址设置电路14可以允许用户通过拨键的方式设置对应的驱动控制器13的地址标识。在其他一些实施例中,地址设置电路14允许用户通过触摸屏、键盘、语音等方式输入驱动控制器13的地址标识。在一些实施例中,通过为每个驱动控制器13分别设置一个地址设置电路14,每个地址设置电路14只需用于设置对应的驱动控制器13的地址标识,地址设置电路14的设计可以较为简单,可实施性高。

在本实施例中,机器人100包括多个驱动电路板17,各驱动控制器13和对应的地址设置电路14设置于一个驱动电路板17。机器人100的模块化程度高,其中任一个驱动控制器13或其对应的地址设置电路14出现故障,只需替换对应的驱动电路板17即可,其他驱动控制器13和地址设置电路14可以不受影响,较为方便,有利于产品升级等。在一些实施例中,也可以是多个驱动控制器13和对应的地址设置电路14设置于一个驱动电路板17。例如相邻多个电机12对应的驱动控制器13以及相应的地址设置电路14,可以设置于一个驱动电路板17,可以节省成本。在一些实施例中,也可以是一个或多个驱动控制器13设置于一个驱动电路板17,一个或多个地址设置电路14设置于另一个驱动电路板17。电路设计较为灵活。

在一些实施例中,至少部分地址设置电路14包括地址编码器件141,各地址设置电路14的地址编码器件141与对应的驱动控制器13连接,驱动控制器13用于读取地址编码器件141的编码来确定驱动控制器13的地址标识。其中,地址编码器件141可以包括拨码开关。拨码开关为较为容易获取到的电路元器件。

图2是本申请的另一个实施例提供的机器人200的示意图。

图2所示的机器人200与图1所示的机器人100基本类似,主要区别在于,机器人200包括的驱动控制器23中,至少部分多个驱动控制器23连接于同一个地址设置电路24。通过一个地址设置电路24设置多个驱动控制器23的地址标识,较为节省成本。

在一些实施例中,该多个驱动控制器23分别设置于各自对应的驱动电路板27,该多个驱动控制器23连接的地址设置电路24设置于该多个驱动控制器23各自对应的驱动电路板27外。该多个驱动控制器23连接的地址设置电路24可以设置于一个单独的电路板。如此,根据该多个驱动控制器23之间的位置关系,可以灵活调整地址设置电路24所在电路板的位置,较为灵活。且地址设置电路24设置于单独的电路板,模块化程度高,使用和升级较为方便。例如地址设置电路24出现问题时,只需要替换地址设置电路24对应的电路板即可,对其他驱动控制器23所在的电路板没有影响。在其他一些实施例中,该多个驱动控制器23对应的地址设置电路24也可以设置于该多个驱动控制器23对应的其中一个驱动电路板27,有利于降低成本。

图3是本申请的另一个实施例提供的机器人300的示意图。

图3所示的机器人300与图1所示的机器人100基本类似,主要区别在于,机器人300包括的驱动控制器33中,至少部分驱动控制器33连接至主控制器35的不同端口,主控制器35的该些不同端口串联连接。其中,主控制器35的该些不同端口可以指主控制器35用于连接驱动控制器33的多个端口。连接至主控制器35不同端口的驱动控制器33之间通过主控制器35的端口串联连接。在一些实施例中,主控制器35包括多个用于连接驱动控制器33的端口,可以根据每个驱动控制器33的位置,来确定各驱动控制器33连接至主控制器35的方式。例如,若某个驱动控制器33离主控制器35比较远,则该驱动控制器33可以通过串联至其他驱动控制器33的方式连接到主控制器35。若某个驱动控制器33离主控制器35较近,则可以直接连接至主控制器35的一个端口。连线方式较为灵活。

图4是本申请的一个实施例提供的机器人控制方法的流程图。参见图4,机器人控制方法可应用于上述机器人100、200、300,此处以机器人控制方法应用于机器人100为例进行说明。机器人控制方法包括步骤S41和步骤S42。

步骤S41,机器人100的驱动控制器13从机器人100的地址设置电路14获取对应的地址标识,其中,地址设置电路14用于设置驱动控制器13的地址标识,不同驱动控制器13对应的地址标识不同;

步骤S42,当驱动控制器13接收到机器人100的主控制器15发送的携带目标地址标识的报文时,解析报文,若解析出的目标地址标识中,存在与从地址设置电路14获取到的地址标识一致的地址标识时,根据报文控制所连接的电机12工作。

机器人控制方法的原理,具体可以参见对机器人100、200、300的相关描述,此处不赘述。

图5是本申请一个实施例提供的机器人500的模块框图。

在一些实施例中,机器人500包括一个或多个处理器501,用于实现如上描述的机器人控制方法。在一些实施例中,机器人500可以包括可读存储介质509,可读存储介质可以存储有可被处理器501调用的程序,可以包括非易失性存储介质。在一些实施例中,机器人500可以包括内存508和接口507。在一些实施例中,机器人500还可以根据实际应用包括其他硬件。

本申请实施例的可读存储介质509,其上存储有程序,该程序被处理器501执行时,用于实现如上描述的机器人控制方法。

本申请可采用在一个或多个其中包含有程序代码的存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。可读存储介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。可读存储介质的例子包括但不限于:相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。

以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

相关技术
  • 运送机器人系统、运送机器人的控制方法及存储有机器人控制程序的计算机可读存储介质
  • 运送机器人系统、运送机器人的控制方法及存储有机器人控制程序的计算机可读存储介质
技术分类

06120112974921