[0027] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
[0028] 因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0029] 应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
[0030] 在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
[0031] 在本发明的描述中,还需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
[0032] 此外,术语“水平”、“竖直”、“悬垂”等术语并不表示要求部件绝对水平或悬垂,而是可以稍微倾斜。如“水平”仅仅是指其方向相对“竖直”而言更加水平,并不是表示该结构一定要完全水平,而是可以稍微倾斜。
[0033] 如何提供一种可对自行车机器人的惯性轮的转速进行控制,能够使自行车机器人更为持久地保持平衡,避免造成严重损失的惯性轮控制方法及装置,对本领域技术人员而言,是急需解决的技术问题。
[0034] 下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
[0035] 请参照图1,是本发明较佳的实施例提供的自行车机器人10的一种结构示意图。在本发明实施例中,所述自行车机器人10包括车体11及惯性轮12。所述惯性轮12设置在所述车体11上,以在所述车体11倾斜时转动,使所述车体11重新保持平衡,实现自行车机器人10的自平衡控制。
[0036] 请参照图2,是本发明较佳的实施例提供的自行车机器人10的一种方框示意图。在本发明实施例中,所述自行车机器人10还可以包括惯性轮控制装置100、存储器13及处理器14。
[0037] 所述存储器13及处理器14各个元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述惯性轮控制装置100包括至少一个可以软件或固件(firmware)的形式存储于所述存储器13中或固化在所述自行车机器人10的操作系统(operating system,OS)中的软件功能模块。所述处理器14用于执行所述存储器13中存储的可执行模块,例如所述惯性轮控制装置100所包括的软件功能模块及计算机程序等。在本实施例中,所述惯性轮控制装置100可对自行车机器人10中的用于在车体11发生倾斜时通过转动保持车体11平衡的惯性轮12的转速进行控制,使所述车体11能够更为持久地保持平衡,实现自行车机器人10的自平衡控制,避免造成严重损失,具体的所述惯性轮控制装置100对所述惯性轮12进行控制的方法在后文中进行详细描述。
[0038] 其中,所述存储器13可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。在本实施例中,所述存储器13还用于存储程序,所述处理器14在接收到执行指令后,执行所述程序。
[0039] 所述处理器14可以是一种具有信号的处理能力的集成电路芯片。所述处理器14可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。在本实施例中,所述处理器14优选为单片机。
[0040] 可以理解的是,图2所述的结构仅为自行车机器人10的一种结构示意图,所述自行车机器人10还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。图2中所示的各组件可以采用硬件、软件或其组合实现。
[0041] 请参照图3,是本发明较佳的实施例提供的惯性轮12控制方法的一种流程示意图。下面对图3所示的惯性轮12控制方法的具体流程和步骤进行详细阐述。
[0042] 在本发明实施例中,所述惯性轮12控制方法包括以下步骤:
[0043] 步骤S210,对自行车机器人10的倾斜角度进行采集,得到所述自行车机器人10的倾斜角度值。
[0044] 在本实施例中,所述惯性轮12的转动方式与所述自行车机器人10中的车体11在竖直方向上的倾斜角度方向有关。且所述惯性轮12发生转动时的旋转加速度值与所述自行车机器人10中的车体11在竖直方向上的倾斜角度值有关,具体地,可以参照下文中的详细描述。因此,要实现对所述惯性轮12的转动速度进行控制,需要对自行车机器人10的倾斜角度进行采集。
[0045] 具体地,请参照图4,是图3中步骤S210包括的子步骤的流程示意图。在本发明实施例中,所述步骤S210可以包括以下步骤:
[0046] 子步骤S211,对自行车机器人10的偏转角度进行采集,得到所述自行车机器人10的偏转角度。
[0047] 在本实施例中,可以通过加速度计对重力加速度在垂直于所述自行车机器人10的倾斜方向的方向上的加速度分量进行采集,并相应地对所述加速度分量进行数据处理,从而得到所述自行车机器人10在运动过程中发生倾斜时对应的偏转角度,其中,采集到的加速度分量因为自行车机器人10自身的运动存在误差,使得所述偏转角度仅能反映自行车机器人10在运动过程中发生倾斜的角度,而无法反映自行车机器人10仅在重力的作用下真实的倾斜角度。
[0048] 子步骤S212,对自行车机器人10的角速度进行采集,得到所述自行车机器人10的角速度。
[0049] 在本实施例中,可以通过陀螺仪对自行车机器人10的角速度进行采集,所述角速度基本不受所述自行车机器人10运动的影响,因此对所述角速度进行积分运算得到的角度值基本可以反映所述自行车机器人10在重力的作用下对应的倾斜角度。
[0050] 子步骤S213,对所述角速度进行积分运算得到与所述角速度对应的角度值,并根据所述偏转角度对与所述角速度对应的角度值进行校正,得到所述自行车机器人10的倾斜角度值。
[0051] 在本实施例中,可以通过对采集到的所述角速度进行积分运算得到能够基本反映所述自行车机器人10在重力的作用下的倾斜角度的角度值,但是由于采集到的角速度中可能存在误差,并在积分的作用下,误差将会变大,使计算得到的角度值逐渐偏离真实的倾斜角度值。因此,需要根据所述偏转角度对经由积分运算得到的角度值进行校正,进一步地减小误差,得到可以真实反映所述自行车机器人10仅在重力的作用下发生倾斜的倾斜角度值。
[0052] 步骤S220,对惯性轮12的转动速度进行采集,得到所述惯性轮12的转动速度值,并根据所述转动速度值得到所述自行车机器人10的平衡角度值。
[0053] 在本实施例中,为实现对所述惯性轮12的转动速度进行控制,需要对所述惯性轮12的转动速度采集,具体地,可以通过转速传感器对所述惯性轮12的转动速度进行采集,得到所述惯性轮12的转动速度值。在本实施例中,所述平衡角度值为所述自行车机器人10在惯性轮12的转动下能够保持平衡的在竖直方向上的角度值,所述平衡角度值的大小、方向极性与所述惯性轮12的转动速度值有关。且在本实施例中,所述惯性轮12的转动方式还与所述平衡角度值有关。具体地,可以参照下文中的详细描述。
[0054] 具体地,请参照图5,是图3中步骤S220包括的子步骤的流程示意图。在本发明实施例中,所述步骤S220中根据所述转动速度值得到所述自行车机器人10的平衡角度值的步骤可以包括以下步骤:
[0055] 子步骤S221,按照自行车机器人10的比例系数对转动速度值进行角度值的运算,得到相应的角度值。
[0056] 在本实施例中,所述比例系数代表着所述自行车机器人10根据所述惯性轮12的转动速度值对所述平衡角度值进行角度补偿时的补偿强度,所述比例系数根据所述自行车机器人10的不同硬件设置及软件设置可以相应地进行调整。在本实施例中,以所述比例系数对所述转动速度值进行角度值的运算后得到的角度值,便是所述惯性轮12对所述自行车机器人10的平衡角度值进行角度补偿时使用的角度补偿值。具体地,所述角度补偿值可通过将采集到的惯性轮12的转动速度值与所述比例系数进行相乘运算而得到。
[0057] 子步骤S222,将与所述转动速度值的方向极性相反的方向极性作为所述角度值的方向极性,得到对应的平衡角度值。
[0058] 在本实施例中,为实现对所述惯性轮12的转动速度的控制,使所述自行车机器人10保持平衡时处于直立状态,即平衡角度值接近0度,且对应的惯性轮12维持在一个极为缓慢的转动速度,需要当所述惯性轮12存在有转动速度时,通过对平衡角度值进行角度补偿,相应地改变平衡角度值来抑制惯性轮12的转动。因此,在本实施例中,将与所述转动速度值的方向极性相反的方向极性作为所述角度补偿值的方向极性,从而得到对应的平衡角度值。
[0059] 步骤S230,将所述倾斜角度值与所述平衡角度值进行比较。
[0060] 在本实施例中,所述倾斜角度值代表着所述自行车机器人10发生倾斜时在重力的作用下的倾斜角度,而所述平衡角度值代表着所述自行车机器人10在惯性轮12的转动下能够保持平衡的在竖直方向上的角度值,将所述倾斜角度值与所述平衡角度值进行比较,可以判断所述自行车机器人10是否处于倾斜状态。
[0061] 步骤S240,当所述倾斜角度值不同于所述平衡角度值时,根据所述倾斜角度值及平衡角度值,得到与所述倾斜角度值对应的所述惯性轮12的旋转加速度,并控制所述惯性轮12按照所述旋转加速度进行转动,以使所述自行车机器人10保持平衡。
[0062] 在本实施例中,当所述倾斜角度值不同于所述平衡角度值时,说明所述自行车机器人10并未处于平衡状态。因此,可以根据所述倾斜角度值及平衡角度值,得到能使所述自行车机器人10在所述倾斜角度值对应的倾斜状态下重新恢复平衡的惯性轮12的旋转加速度,控制所述惯性轮12按照所述旋转加速度进行转动,从而使所述自行车机器人10保持平衡。具体地,当所述车体11向所述平衡角度值对应方向偏左的方向发生倾斜时,所述惯性轮12便会按照所述旋转加速度逆时针地加速或顺时针地减速转动,使所述车体11重新恢复平衡;当所述车体11向所述平衡角度值对应方向偏右的方向发生倾斜时,所述惯性轮12便会按照所述旋转加速度顺时针地加速或逆时针地转动,使所述车体11重新恢复平衡;当所述车体11从向所述平衡角度值对应方向偏左的方向倾斜变为向所述平衡角度值对应方向偏右的方向倾斜时,所述惯性轮12便会按照所述旋转加速度在逆时针转动方向上逐步减速,待到所述惯性轮12的转速为零时,又会顺时针地加速转动,以使所述车体11重新保持平衡。
[0063] 具体地,请参照图6,是图3中步骤S240包括的子步骤的流程示意图。在本发明实施例中,所述步骤S240中根据所述倾斜角度值及平衡角度值,得到与所述倾斜角度值对应的所述惯性轮12的旋转加速度的步骤可以包括以下步骤:
[0064] 子步骤S241,将平衡角度值与倾斜角度值进行相减运算,得到相应的角度偏差。
[0065] 在本实施例中,当所述倾斜角度值不同于所述平衡角度值时,所述自行车机器人10并未处于平衡状态,所述平衡角度值与倾斜角度值之间存在差值,可通过将平衡角度值与倾斜角度值进行相减运算,得到相应的角度偏差。
[0066] 子步骤S242,对所述角度偏差进行数据处理,得到对应的惯性轮12的旋转加速度。
[0067] 在本实施例中,为使所述自行车机器人10在所述倾斜角度值对应的倾斜状态下重新恢复平衡,所述惯性轮12需具备与所述倾斜角度值对应的旋转加速度,使所述惯性轮12按照所述旋转加速度进行转动,实现对所述惯性轮12的转动速度的控制,使所述自行车机器人10能够更为持久地保持平衡,避免造成严重损失。在本实施例中,可以通过对平衡角度值与倾斜角度值之间的角度偏差进行数据处理,得到对应的所述惯性轮12的旋转加速度。
[0068] 在本实施例中,对所述角度偏差进行数据处理,得到对应的惯性轮12的旋转加速度的步骤可以包括:
[0069] 对所述角度偏差进行比例运算,得到所述旋转加速度中的回复加速度分量,其中,所述回复加速度分量用于向所述自行车机器人10提供可使所述自行车机器人10恢复平衡的回复力;
[0070] 对所述角度偏差进行微分运算,得到所述旋转加速度中的阻尼加速度分量,其中,所述阻尼加速度分量用于向所述自行车机器人10提供可使所述自行车机器人10恢复平衡的阻尼力;
[0071] 将所述回复加速度分量与所述阻尼加速度分量进行线性叠加,得到所述惯性轮12的旋转加速度。
[0072] 在本实施例中,所述回复加速度分量可以使所述惯性轮12在所述自行车机器人10在处于与倾斜角度值对应的倾斜状态时,相应地转动产生可使所述自行车机器人10恢复平衡的回复力。所述阻尼加速度分量可以使所述惯性轮12获得能配合所述回复力以确保所述自行车机器人10能够恢复平衡的阻尼力,以便所述惯性轮12能在较短时间内完成对转动速度的调整,使得所述自行车机器人10重新恢复平衡。在本实施例中,将所述回复加速度分量与所述阻尼加速度分量进行线性叠加,便可得到所述惯性轮12在当前的平衡角度值和倾斜角度值下的旋转加速度,并通过控制与所述惯性轮12相连的电机按照所述旋转加速度进行转动,带动所述惯性轮12转动,进而实现对所述惯性轮12的转动速度的控制,使所述自行车机器人10能够更为持久地保持平衡,避免造成严重损失。
[0073] 在本实施例中,只要所述惯性轮12存在转动速度,所述平衡角度值便会发生变换,并相应地得到能使所述自行车机器人10恢复平衡的方向极性与惯性轮12的转动方向相反的旋转加速度,抑制所述惯性轮12发生转动,使得惯性轮12的转动速度变小,平衡角度值也相应地变小,又会使惯性轮12的转动速度变小,最终使得所述自行车机器人10保持平衡时处于直立状态,即平衡角度值接近0度,且对应的惯性轮12维持在一个极为缓慢的转动速度,从而使所述自行车机器人10能够更为持久地保持平衡,避免造成严重损失。
[0074] 请参照图7,是本发明较佳的实施例提供的图2中所示的惯性轮控制装置100的一种方框示意图。在本发明实施例中,所述惯性轮控制装置100包括:倾斜角度采集模块110、平衡角度获取模块120、角度比较模块130及惯性轮控制模块140。
[0075] 所述倾斜角度采集模块110,用于对自行车机器人10的倾斜角度进行采集,得到所述自行车机器人10的倾斜角度值。
[0076] 在本实施例中,所述倾斜角度采集模块110可以执行图3中步骤S210,具体的描述可参照上文中对步骤S210的详细描述。
[0077] 请参照图8,是本发明较佳的实施例提供的图2中所示的惯性轮控制装置100的另一种方框示意图。在本发明实施例中,所述倾斜角度采集模块110可以包括:偏转角度采集子模块111、角速度采集子模块112及倾斜角度计算子模块113。
[0078] 所述偏转角度采集子模块111,用于对自行车机器人10的偏转角度进行采集,得到所述自行车机器人10的偏转角度。
[0079] 在本实施例中,所述偏转角度采集子模块111可以执行图4中子步骤S211,具体的描述可参照上文中对子步骤S211的详细描述。
[0080] 所述角速度采集子模块112,用于对自行车机器人10的角速度进行采集,得到所述自行车机器人10的角速度。
[0081] 在本实施例中,所述角速度采集子模块112可以执行图4中子步骤S212,具体的描述可参照上文中对子步骤S212的详细描述。
[0082] 所述倾斜角度计算子模块113,用于对所述角速度进行积分运算得到与所述角速度对应的角度值,并根据所述偏转角度对与所述角速度对应的角度值进行校正,得到所述自行车机器人10的倾斜角度值。
[0083] 在本实施例中,所述倾斜角度计算子模块113可以执行图4中子步骤S213,具体的描述可参照上文中对子步骤S213的详细描述。
[0084] 所述平衡角度获取模块120,用于对惯性轮12的转动速度进行采集,得到所述惯性轮12的转动速度值,并根据所述转动速度值得到所述自行车机器人10的平衡角度值。
[0085] 在本实施例中,所述平衡角度获取模块120根据所述转动速度值得到所述自行车机器人10的平衡角度值的方式包括:
[0086] 按照自行车机器人10的比例系数对转动速度值进行角度值的运算,得到相应的角度值;
[0087] 将与所述转动速度值的方向极性相反的方向极性作为所述角度值的方向极性,得到对应的平衡角度值。
[0088] 在本实施例中,所述平衡角度获取模块120可以执行图3中步骤S220及图5中子步骤S221、子步骤S222,具体的描述可参照上文中对步骤S220、子步骤S221及子步骤S222的详细描述。
[0089] 所述角度比较模块130,用于将所述倾斜角度值与所述平衡角度值进行比较。
[0090] 在本实施例中,所述角度比较模块130可以执行图3中步骤S230,具体的描述可参照上文中对步骤S230的详细描述。
[0091] 所述惯性轮控制模块140,用于当所述倾斜角度值不同于所述平衡角度值时,根据所述倾斜角度值及平衡角度值,得到与所述倾斜角度值对应的所述惯性轮12的旋转加速度,并控制所述惯性轮12按照所述旋转加速度进行转动,以使所述自行车机器人10保持平衡。
[0092] 在本实施例中,所述惯性轮控制模块140根据所述倾斜角度值及平衡角度值,得到与所述倾斜角度值对应的所述惯性轮12的旋转加速度的方式可以包括:
[0093] 将平衡角度值与倾斜角度值进行相减运算,得到相应的角度偏差;
[0094] 对所述角度偏差进行数据处理,得到对应的惯性轮12的旋转加速度。
[0095] 而所述惯性轮控制模块140对所述角度偏差进行数据处理,得到对应的惯性轮12的旋转加速度的方式可以包括:
[0096] 对所述角度偏差进行比例运算,得到所述旋转加速度中的回复加速度分量,其中,所述回复加速度分量用于向所述自行车机器人10提供可使所述自行车机器人10恢复平衡的回复力;
[0097] 对所述角度偏差进行微分运算,得到所述旋转加速度中的阻尼加速度分量,其中,所述阻尼加速度分量用于向所述自行车机器人10提供可使所述自行车机器人10恢复平衡的阻尼力;
[0098] 将所述回复加速度分量与所述阻尼加速度分量进行线性叠加,得到所述惯性轮12的旋转加速度。
[0099] 在本实施例中,所述回复加速度分量可以使所述惯性轮12在所述自行车机器人10在处于与倾斜角度值对应的倾斜状态时,相应地转动产生可使所述自行车机器人10恢复平衡的回复力。所述阻尼加速度分量可以使所述惯性轮12获得能配合所述回复力以确保所述自行车机器人10能够恢复平衡的阻尼力,以便所述惯性轮12能在较短时间内完成对转动速度的调整,使得所述自行车机器人10重新恢复平衡。在本实施例中,将所述回复加速度分量与所述阻尼加速度分量进行线性叠加,便可得到所述惯性轮12在当前的平衡角度值和倾斜角度值下的旋转加速度,并通过控制与所述惯性轮12相连的电机按照所述旋转加速度进行转动,带动所述惯性轮12转动,进而实现对所述惯性轮12的转动速度的控制,使所述自行车机器人10能够更为持久地保持平衡,避免造成严重损失。
[0100] 在本实施例中,所述惯性轮控制模块140可以执行图3中步骤S240及图5中子步骤S241、子步骤S242,具体的描述可参照上文中对步骤S240、子步骤S241及子步骤S242的详细描述。
[0101] 综上所述,在本发明较佳的实施例提供的惯性轮控制方法及装置中,所述惯性轮控制方法及装置能够对惯性轮的转速进行控制,能够使自行车机器人更为持久地保持平衡,避免造成严重损失。具体地,所述惯性轮控制方法根据采集到的自行车机器人的倾斜角度值及通过采集到的惯性轮的转动速度值而得到的自行车机器人的平衡角度值,得到与所述倾斜角度值对应的惯性轮的旋转加速度,并控制所述惯性轮按照所述旋转加速度进行转动,从而实现对所述惯性轮的转速的控制,使所述自行车机器人能够更为持久地保持平衡,避免造成严重损失。
[0102] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。