CN109976326A - 轮式机器人的控制方法、装置、终端设备及介质 - Google Patents
轮式机器人的控制方法、装置、终端设备及介质 Download PDFInfo
- Publication number
- CN109976326A CN109976326A CN201711451161.2A CN201711451161A CN109976326A CN 109976326 A CN109976326 A CN 109976326A CN 201711451161 A CN201711451161 A CN 201711451161A CN 109976326 A CN109976326 A CN 109976326A
- Authority
- CN
- China
- Prior art keywords
- speed
- preset duration
- service
- steering engine
- control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000004590 computer program Methods 0.000 claims description 19
- 238000001514 detection method Methods 0.000 claims description 2
- 230000000694 effects Effects 0.000 abstract description 6
- 230000001276 controlling effect Effects 0.000 description 12
- 230000006870 function Effects 0.000 description 11
- 230000008569 process Effects 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 241000282326 Felis catus Species 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000007613 environmental effect Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000003028 elevating effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 235000013305 food Nutrition 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000011112 process operation Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0214—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0221—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0276—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本发明适用于机器人控制技术领域,提供了一种轮式机器人的控制方法、装置、终端设备及介质,该方法包括:获取当前时刻的运行速度;计算预设时长内,与运行速度匹配的参考运行距离;控制舵机在预设时长内以所述运行速度进行转动,并检测预设时长内的实际运行距离;其中,舵机运行于速度模式;在预设时长的结束时刻,根据实际运行距离以及参考运行距离的差值,更新当前时刻的运行速度;控制舵机以更新后的运行速度在下一预设时长内进行转动。本发明达到了以速度模式来实现位置控制的效果,通过实时调整每一预设时长内的舵机运行速度,能够精确地对轮式机器人的运行轨迹进行控制,保证了轮式机器人的平稳运行,简化了控制流程,提高了控制准确率。
Description
技术领域
本发明属于机器人控制技术领域,尤其涉及一种轮式机器人的控制方法、装置、终端设备及介质。
背景技术
轮式机器人是一种靠底盘的驱动轮转动而进行运动的机器人。在运动过程中,轮式机器人对速度的要求不高,但是对驱动力的要求比较大。目前,由于舵机包含有齿轮减速系统,而齿轮减速系统正好具备转速小且驱动力大的特点,因此,现有技术中,通常都会采用舵机来作为轮式机器人底盘的驱动部件。
舵机是一种位置控制的运动部件,一般采用位置模式来运行。在位置模式下,其转动范围一般不会超过一圈,即,转动范围在0至360度之间。然而,为了控制轮式机器人按预设的轨迹进行运动,安装在轮式机器人底盘上的舵机通常要求执行连续驱动,故其转动范围会远远超过一圈。此时,根据数值较大的转动度数来控制轮式机器人的运行距离,则需要通过复杂的内部算法进行运算处理后,才能确定出电机的具体运转方向,该过程运算复杂,容易产生控制错误,因此,降低了对轮式机器人的控制准确率。
发明内容
有鉴于此,本发明实施例提供了一种轮式机器人的控制方法、装置、终端设备及介质,以解决现有技术中轮式机器人的控制准确率低以及控制流程复杂的问题。
本发明实施例的第一方面提供了一种轮式机器人的控制方法,包括:
获取当前时刻的运行速度;
计算预设时长内,与所述运行速度匹配的参考运行距离;
控制舵机在所述预设时长内以所述运行速度进行转动,并检测所述预设时长内的实际运行距离;其中,所述舵机运行于速度模式;
在所述预设时长的结束时刻,根据所述参考运行距离以及所述实际运行距离的差值,更新当前时刻的所述运行速度;
控制所述舵机以更新后的所述运行速度在下一所述预设时长内进行转动。
本发明实施例的第二方面提供了一种轮式机器人的控制装置,包括:
第一获取单元,用于获取当前时刻的运行速度;
计算单元,用于计算预设时长内,与所述运行速度匹配的参考运行距离;
第一控制单元,用于控制舵机在所述预设时长内以所述运行速度进行转动,并检测所述预设时长内的实际运行距离;其中,所述舵机运行于速度模式;
第一更新单元,用于在所述预设时长的结束时刻,根据所述参考运行距离以及所述实际运行距离的差值,更新当前时刻的所述运行速度;
第二控制单元,用于控制所述舵机以更新后的所述运行速度在下一所述预设时长内进行转动。
本发明实施例的第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的轮式机器人的控制方法的步骤。
本发明实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述的轮式机器人的控制方法的步骤。
本发明实施例中,将常用于位置控制的舵机的运行模式设置为速度模式,达到了以速度模式来实现位置控制的效果,实现了通过位置模式外的另一模式来驱动轮式机器人的行走。由于舵机的整个控制过程包含多个预设时长,因而通过实时调整每一预设时长内的舵机运行速度,能够精确地对轮式机器人的运行轨迹进行控制,且由于预设时长内的运行速度为匀速值,故在一定程度上保证了轮式机器人的平稳运行;另外,本发明实施例提供的轮式机器人控制方法不再需要基于位置控制的方法来获取舵机的数值较大的转动度数,而只需获取运行速度,便能准确控制电机的运转方向,因而简化了控制流程,避免了复杂运算所带来的计算误差,由此也提高了对轮式机器人的控制准确率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的轮式机器人的控制方法的实现流程图;
图2是本发明实施例提供的轮式机器人的控制方法S101的具体实现流程图;
图3是本发明实施例提供的轮式机器人的控制方法S104的具体实现流程图;
图4是本发明实施例提供的主控制板与舵机的交互示意图;
图5是本发明又一实施例提供的轮式机器人的控制方法的实现流程图;
图6是本发明实施例提供的轮式机器人的控制装置的结构框图;
图7是本发明实施例提供的终端设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
本发明实施例中轮式机器人的控制方法的执行主体包括但不限于轮式机器人所内置的主控制板、舵机、与轮式机器人无线连接的外置控制器以及各类组合部件等。为了便于说明,本发明的各个实施例中,以轮式机器人所内置的主控制板以及舵机组合而成的部件为例,对本发明所述的技术方案进行阐述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
请参见图1,图1是本发明实施例提供轮式机器人的控制方法的实现流程图。如图1所示的实现流程包括步骤S101至S105,各步骤的实现原理具体如下:
S101:获取当前时刻的运行速度。
在每一时刻,轮式机器人所内置的主控制板将接收到外部实时输入的运行速度,或者,主控制板读取预先存储的与当前时刻对应的一个运行速度。
当前时刻获取得到的运行速度为轮式机器人的目标运行速度。
示例性地,用户可在各个不同的时刻,将速度控制指令发送至轮式机器人的主控制板。因此,根据用户输入的速度值,主控制板可获取得到当前时刻的运行速度。
作为本发明的一个实施例,图2示出了本发明实施例提供的轮式机器人的控制方法S101的具体实现流程,详述如下:
S1011:获取轮式机器人的目标运动轨迹。
本发明实施例中,在控制轮式机器人底盘的舵机执行运转之前,通过预设的各个传感器,检测轮式机器人附近范围的环境特征。上述环境特征包括但不限于障碍物信息、人脸信息以及目标物信息等。例如,若接收到用户发出的语音信息,且该语音信息用于指示轮式机器人将食物搬运到小猫所在的位置,则对该语音信息进行识别后,可确定出目标物为猫,因此,基于猫这一目标物的特征信息,确定出附近范围内的所存在的猫,以获取猫所在的目标位置点。其中,目标位置点为轮式机器人所需到达的目的地点。
将传感器所检测得到的各类环境信息输入预设模型,以确定轮式机器人的当前位置点到目标位置点的目标运动轨迹,即,确定出轮式机器人在到达目标位置点的过程中,其所需行走的路径方向。
优选地,本发明实施例中,轮式机器人底盘设置有两个或两个以上的舵机。每一舵机在运转时,将会带动轮式机器人往该舵机对应的控制方向进行运动。因此,需要根据轮式机器人的目标运动轨迹,分别计算出每一方向上的运动轨迹分量。
S1012:根据所述目标运动轨迹以及所述目标运动轨迹的目标运行时间,对于所述轮式机器人底盘的每一所述舵机,分别确定该舵机在各个所述预设时长内的运行速度。
本发明实施例中,获取目标运动轨迹的目标运行时间。目标运行时间表示轮式机器人沿着目标运动轨迹达到目标位置点时,其所需经历的时长大小。目标运行时间可由用户根据自己的实际控制需求进行输入,也可以基于预设算法对目标运动轨迹进行处理,以得到目标运行时间。
示例性地,若预设算法为匀加速控制算法,则根据目标运动轨迹所对应的目标运行总距离,在预设的加速度值之下,计算轮式机器人行走该目标运行总距离时所需的时间值,并将该时间值输出为上述目标运行时间。
本发明实施例中,将目标运行时间分成预设时长的多个时间段。基于预设的速度控制算法,对目标运行时间以及目标运行轨迹进行处理,可计算出在各个时间段内,轮式机器人所需的一个匀速的运行速度,即,计算出各个预设时长内的运行速度。将计算出的各个预设时长及其运行速度的对应关系进行存储。由于每一舵机的运动轨迹分量不同,因而在目标运行时间内,每一方向上的运行速度也不同。对于轮式机器人底盘的每一舵机,在该舵机对轮式机器人的控制方向上,计算各个预设时长及该舵机的运行速度的对应关系。
优选地,上述预设时长为0.002秒到0.02秒之间的任一数值。
优选地,若接收到预设时长调节指令,则返回执行上述S1012,以重新计算出各个时间段内,轮式机器人底盘每一舵机所需的一个匀速的运行速度。
S1013:根据当前时刻所对应的一个所述预设时长,读取预先确定的该预设时长内的所述运行速度。
对于每一舵机,在预存储的各个预设时长以及运行速度的对应关系中,根据当前时刻所属的一个时间段,确定出其对应的一个预设时长,并读取该预设时长对应的该舵机的运行速度。
本发明实施例中,通过分别计算轮式机器人底盘各个舵机的运动轨迹分量以及运行速度,使得在每一预设时长内,能够针对每一舵机所控制的机器人行驶方向,准确控制舵机的的运行速度;由于轮式机器人底盘的舵机数量为两个以上,因而在后续主控制板发送不同的运行速度给到相应的舵机后,就可以实现轮式机器人整机的直行和拐弯等复杂动作,因而降低了复杂动作操控过程中的运算难度,达到了更好的控制效果。
S102:计算预设时长内,与所述运行速度匹配的参考运行距离。
由于运行速度为匀速运行的速度值,因此,在当前时刻所对应的一个预设时长内,根据获取得到的运行速度V,通过公式S=V·T,可计算出该预设时长内的运行距离值。其中,T表示上述预设时长。由于该运行距离值为理论计算得到的运行距离,故将该运行距离值作为该预设时长内的参考运行距离。
S103:控制舵机在所述预设时长内以所述运行速度进行转动,并检测所述预设时长内的实际运行距离;其中,所述舵机运行于速度模式。
舵机由电机、电控、位置传感器以及减速齿轮等部分构成,其为一种位置、角度伺服的驱动器,适用于角度需要不断变化并且可以保持角度持续固定的控制系统。舵机的主要任务是根据位置传感器所检测的位置和目标位置的偏差来进行反馈控制,使得电机能够通过正反转动,稳定于目标位置。例如,可以用于对人形机器人的手臂和腿等遥控模型进行方向控制,也可用于对汽车等大型设备中的车窗进行升降控制。
本发明实施中,主控制板通过数字总线,将携带该运行速度的速度控制指令发送至轮式机器人底盘的舵机,以使舵机能够响应该速度控制指令,从而在当前的一个预设时长内,以速度控制指令所指示的运行速度进行运转。其中,上述速度控制指令的发送频率为预设时长的倒数,从而保证了在主控制板计算完当前时刻的运行速度后,能够实时将速度控制指令进行发送。
速度控制指令的发送频率越高,则对舵机控制的实时性越高,因此,轮式机器人的控制准确率越高。优选地,将主控制板发送速度控制指令的频率设置为50Hz至500Hz之间的任一数值。
当舵机在当前预设时长内启动运转时,令位置传感器进行实时检测。在当前所属的一个预设时长结束时,根据位置传感器所检测得到的参数值,确定舵机在该预设时长内的实际运行距离。
舵机在运转过程中,其实际运行速度会与速度控制指令所指示的运行速度之间会存在一定的误差,因此,预设时长内的实际运行距离也与参考运行距离存在差别。
S104:在所述预设时长的结束时刻,根据所述参考运行距离以及所述实际运行距离的差值,更新当前时刻的所述运行速度。
在当前的一个预设时长结束时,舵机将检测得到的实际运行距离反馈至主控制板,并且,重置位置传感器。
基于上述S103所获取得到的预设时长内的参考运行距离,主控制板计算该参考运行距离以及当前所接收得到的实际运行距离的差值。若参考运行距离以及实际运行距离的差值为正值,则确定舵机在预设时长内的运行速度比所需设置的运行速度要小,故将当前时刻的运行速度增大;若参考运行距离以及实际运行距离的差值为负值,则确定舵机在预设时长内的运行速度比所需设置的运行速度要大,因此,将当前时刻的运行速度减小。
所述将当前时刻的运行速度减小(或增大),具体是指,在当前时刻所属的一个预设时长内,读取预先存储的与该预设时长对应的运行速度,将该运行速度减小(或增大)后,确定为当前时刻更新后的运行速度。
作为本发明的一个实施例,如图3所示,上述S104具体包括:
S1041:在所述预设时长的结束时刻,计算所述参考运行距离以及所述实际运行距离的差值,并根据所述差值与所述预设时长的比值,确定出所述预设时长内的误差速度。
主控制板根据舵机所反馈的该预设时长内的实际运行距离,计算该预设时长的参考运行距离以及实际运行距离的差值ΔS,并将ΔS与预设时长τ的比值ΔS/τ输出为该预设时长的误差速度。
S1041:将所述误差速度与实时输入的所述运行速度的和确定为更新后的所述运行速度。
本发明实施例中,在上一预设时长结束时,返回执行上述S101,则主控制将从预存储的预设时长以及运行速度的对应关系中,获取得到当前时刻所属的一个预设时长所对应的运行速度。当前获取得到的运行速度即上述实时输入的运行速度。
将误差速度与实时输入的运行速度的和确定为更新后的运行速度,即,通过误差速度来修正当前预设时长内的运行速度。
S105:控制所述舵机以更新后的所述运行速度在下一所述预设时长内进行转动。
在当前时刻,主控制板生成携带更新后的运行速度的速度控制指令,并将该速度控制指令再次发送至舵机,由此保证了舵机能够基于接收得到的速度控制指令,以该更新后的运行速度,在当前的一个预设时长内再次进行转动。在该预设时长结束时,舵机同样将该预设时长内所检测得到的实时运行距离反馈至主控制板,并使主控制板返回执行上述S101。
为了便于理解,示例性地,对于上述步骤S104至S105,图4示出了主控制板与舵机之间的交互示意图,详述如下:
假设预设时长为τ,在第一个预设时长τ之内,舵机反馈至主控制板的实际运行距离为ΔS1,第一个预设时长τ所预设对应的运行速度为V1,且读取得到的第二个预设时长τ所对应的运行速度为V2,则更新后的运行速度V’2为:
根据更新后的运行速度V′2,主控板生成速度控制指令,并将该速度控制指令发送至舵机,以使舵机在第二个预设时长τ内,以速度V’2进行运转。
在时间τ过后,舵机将其在第二个预设时长τ内的实际运行距离ΔS2反馈至主控制板;
如果第二个预设时长τ内的目标运行距离τV2和实际运行距离ΔS2之间存在差值,则主控制板会更新第三个预设时长τ内的运行速度V3,使得更新后的运行速度V′3为:
其中,V3为预先设置的第三个预设时长τ所对应的运行速度。
如此类推,在各个预设时长,主控制板可基于实时更新得到的速度值,控制舵机以修正后的运行速度进行运转。
本发明实施例中,将常用于位置控制的舵机的运行模式设置为速度模式,达到了以速度模式来实现位置控制的效果,实现了通过位置模式外的另一模式来驱动轮式机器人的行走。由于舵机的整个控制过程包含多个预设时长,因而通过实时调整每一预设时长内的舵机运行速度,能够精确地对轮式机器人的运行轨迹进行控制,且由于预设时长内的运行速度为匀速值,故保证了轮式机器人的平稳运行;另外,本发明实施例提供的轮式机器人控制方法不再需要基于位置控制的方法来获取舵机的数值较大的转动度数,而只需获取运行速度,便能准确控制电机的运转方向,因而简化了控制流程,避免了复杂运算所带来的计算误差,由此也提高了对轮式机器人的控制准确率。
作为本发明的另一实施例,上述步骤S103中,在所述控制舵机在所述预设时长内以所述运行速度进行转动之后,在所述检测所述预设时长内的实际运行距离之前,还包括:
若未检测到所述预设时长内的实际运行距离,则在下一所述预设时长内,控制所述舵机以上一次更新后的所述运行速度进行转动。
根据上述分析可知,正常状态下,主控制板在将速度控制指令发送至每一舵机之后,舵机将会以该速度控制指令所指示的运行速度进行转动,并在预设时长后,将其在该预设时长内所检测到的实际运行距离反馈至主控制板。因此,为了记录速度控制指令发送时刻以及实际运行距离接收时刻的时长间隔,主控制板在发送速度控制指令时,启动计时器开始计时。本发明实施例中,若计时器的计时值大于预设值,则确定为舵机超时未响应,此时,将计时器复位,并重新发送上一次所发送的速度控制指令。其中,用于确定超时的计时器的预设值大于或等于上述预设时长。
例如,若主控制板将运行速度为1米/秒的速度控制指令发送至舵机,但在0.2秒内依然未接收到舵机所反馈的其在该0.2秒内的实际运行距离,则主控制板将确定舵机未接收到该速度控制指令,因而重新发送该运行速度为1米/秒的速度控制指令。
优选地,在超时事件触发时,发出错误提示信息,以提示用户当前轮式机器人出现控制错误。
本发明实施例中,若未接收到舵机反馈的其在预设时长内的实际运行距离,通过再次控制舵机以上一次更新后的运行速度进行转动,保证了主控制板不会因未接收到实际运行距离而无法修正计算当前时刻舵机的运行速度,避免了主控制板无法对舵机后续各个预设时长内的速度进行控制的情况出现,因此,达到了更为稳定的控制效果。
图5示出了本发明又一实施例提供的轮式机器人的控制方法的实现流程,详述如下:
S501:获取当前时刻的运行速度。
S502:计算预设时长内,与所述运行速度匹配的参考运行距离。
S503:控制舵机在所述预设时长内以所述运行速度进行转动,并检测所述预设时长内的实际运行距离;其中,所述舵机运行于速度模式。
S504:获取各个所述预设时长内所述实际运行距离的累积值。
在主控制板接收到舵机所反馈的每一实时运行距离时,对该实时运行距离进行存储,并计算已存储的各个实时运行距离的累积值。
判断已存储的各个实时运行距离的累积值是否大于或等于预先获取的目标运行距离,若是,则主控制板执行步骤S505;若否,则主控制板执行步骤S506。
S505:若所述累积值大于或等于预设的目标运行距离,则更新当前时刻的所述运行速度为零,以控制所述舵机停止转动。
本发明实施例中,主控制板停止获取预先存储的当前预设时长内的运行速度,停止计算基于该运行速度的更新值,而直接将当前时刻的运行速度确定为零,并将携带该运行速度的速度控制指令发送至舵机。由于运行速度为零,因而舵机在接收到该速度控制指令后,将停止转动,以使得轮式机器人静止于当前所在位置。
S506:若所述累积值小预设的目标运行距离,则在所述预设时长的结束时刻,根据所述参考运行距离以及所述实际运行距离的差值,更新当前时刻的所述运行速度。
S507:控制所述舵机以更新后的所述运行速度在下一所述预设时长内进行转动。
本发明实施例中未提到的步骤的实现原理与上述步骤S101至S105的实现原理相同,因此不再一一赘述。
本发明实施例中,基于预先确定出轮式机器人的目标运行距离,在各个预设时长内的实际运行距离的累积值大于或等于该目标运行距离时,通过直接生成运行速度为零的速度控制指令,避免了基于上述速度修正方式而得到当前时刻为非零值的另一运行速度,使得舵机能够快速停止运转,实现对轮式机器人的精准位置控制,保证轮式机器人能够停止于预先计划的目标位置点。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
对应于上文实施例所述的轮式机器人的控制方法,图6示出了本发明实施例提供的轮式机器人的控制装置的结构框图,为了便于说明,仅示出了与本发明实施例相关的部分。
参照图6,该装置包括:
第一获取单元61,用于获取当前时刻的运行速度。
计算单元62,用于计算预设时长内,与所述运行速度匹配的参考运行距离。
第一控制单元63,用于控制舵机在所述预设时长内以所述运行速度进行转动,并检测所述预设时长内的实际运行距离;其中,所述舵机运行于速度模式。
第一更新单元64,用于在所述预设时长的结束时刻,根据所述参考运行距离以及所述实际运行距离的差值,更新当前时刻的所述运行速度。
第二控制单元65,用于控制所述舵机以更新后的所述运行速度在下一所述预设时长内进行转动。
可选地,所述第一更新单元64包括:
计算子单元,用于在所述预设时长的结束时刻,计算所述参考运行距离以及所述实际运行距离的差值,并根据所述差值与所述预设时长的比值,确定出所述预设时长内的误差速度。
更新子单元,用于将所述误差速度与实时输入的所述运行速度的和确定为更新后的所述运行速度。
可选地,所述第一获取单元61包括:
获取子单元,用于获取轮式机器人的目标运动轨迹。.
确定子单元,用于根据所述目标运动轨迹以及所述目标运动轨迹的目标运行时间,对于所述轮式机器人底盘的每一所述舵机,分别确定该舵机在各个所述预设时长内的运行速度。
读取子单元,用于根据当前时刻所对应的一个所述预设时长,读取预先确定的该预设时长内的所述运行速度。
可选地,该装置还包括:
第三控制单元,用于若未检测到所述预设时长内的实际运行距离,则在下一所述预设时长内,控制所述舵机以上一次更新后的所述运行速度进行转动。
可选地,该装置还包括:
第二获取单元,用于获取各个所述预设时长内所述实际运行距离的累积值。
第二更新单元,用于若所述累积值大于或等于预设的目标运行距离,则更新当前时刻的所述运行速度为零,以控制所述舵机停止转动。
本发明实施例中,将常用于位置控制的舵机的运行模式设置为速度模式,达到了以速度模式来实现位置控制的效果,实现了通过位置模式外的另一模式来驱动轮式机器人的行走。由于舵机的整个控制过程包含多个预设时长,因而通过实时调整每一预设时长内的舵机运行速度,能够精确地对轮式机器人的运行轨迹进行控制,且由于预设时长内的运行速度为匀速值,故保证了轮式机器人的平稳运行;另外,本发明实施例提供的轮式机器人控制方法不再需要基于位置控制的方法来获取舵机的数值较大的转动度数,而只需获取运行速度,便能准确控制电机的运转方向,因而简化了控制流程,避免了复杂运算所带来的计算误差,由此也提高了对轮式机器人的控制准确率。
图7是本发明一实施例提供的终端设备的示意图。如图7所示,该实施例的终端设备7包括:处理器70、存储器71以及存储在所述存储器71中并可在所述处理器70上运行的计算机程序72,例如轮式机器人的控制程序。所述处理器70执行所述计算机程序72时实现上述各个轮式机器人的控制方法实施例中的步骤,例如图1所示的步骤101至105。或者,所述处理器70执行所述计算机程序72时实现上述各装置实施例中各单元/子单元的功能,例如图6所示单元61至65的功能。
示例性的,所述计算机程序72可以被分割成一个或多个单元/子单元,所述一个或者多个单元/子单元被存储在所述存储器71中,并由所述处理器70执行,以完成本发明。所述一个或多个单元/子单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序72在所述终端设备7中的执行过程。
所述终端设备7可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器70、存储器71。本领域技术人员可以理解,图7仅仅是终端设备7的示例,并不构成对终端设备7的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器70可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器71可以是所述终端设备7的内部存储单元,例如终端设备7的硬盘或内存。所述存储器71也可以是所述终端设备7的外部存储设备,例如所述终端设备7上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器71还可以既包括所述终端设备7的内部存储单元也包括外部存储设备。所述存储器71用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、子单元的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、子单元完成,即将所述装置的内部结构划分成不同的功能单元或子单元,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、子单元的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、子单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述单元或子单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元/子单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种轮式机器人的控制方法,其特征在于,包括:
获取当前时刻的运行速度;
计算预设时长内,与所述运行速度匹配的参考运行距离;
控制舵机在所述预设时长内以所述运行速度进行转动,并检测所述预设时长内的实际运行距离;其中,所述舵机运行于速度模式;
在所述预设时长的结束时刻,根据所述参考运行距离以及所述实际运行距离的差值,更新当前时刻的所述运行速度;
控制所述舵机以更新后的所述运行速度在下一所述预设时长内进行转动。
2.如权利要求1所述的控制方法,其特征在于,所述在所述预设时长的结束时刻,根据所述参考运行距离以及所述实际运行距离的差值,更新当前时刻的所述运行速度,包括:
在所述预设时长的结束时刻,计算所述参考运行距离以及所述实际运行距离的差值,并根据所述差值与所述预设时长的比值,确定出所述预设时长内的误差速度;
将所述误差速度与实时输入的所述运行速度的和确定为更新后的所述运行速度。
3.如权利要求1或2所述的控制方法,其特征在于,所述获取当前时刻的运行速度,包括:
获取轮式机器人的目标运动轨迹;
根据所述目标运动轨迹以及所述目标运动轨迹的目标运行时间,对于所述轮式机器人底盘的每一所述舵机,分别确定该舵机在各个所述预设时长内的运行速度;
根据当前时刻所对应的一个所述预设时长,读取预先确定的该预设时长内的所述运行速度。
4.如权利要求1所述的控制方法,其特征在于,在所述控制舵机在所述预设时长内以所述运行速度进行转动之后,在所述检测所述预设时长内的实际运行距离之前,还包括:
若未检测到所述预设时长内的实际运行距离,则在下一所述预设时长内,控制所述舵机以上一次更新后的所述运行速度进行转动。
5.如权利要求1所述的控制方法,其特征在于,在所述控制舵机在所述预设时长内以所述运行速度进行转动,并检测所述预设时长内的实际运行距离之后,还包括:
获取各个所述预设时长内所述实际运行距离的累积值;
若所述累积值大于或等于预设的目标运行距离,则更新当前时刻的所述运行速度为零,以控制所述舵机停止转动。
6.一种轮式机器人的控制装置,其特征在于,包括:
第一获取单元,用于获取当前时刻的运行速度;
计算单元,用于计算预设时长内,与所述运行速度匹配的参考运行距离;
第一控制单元,用于控制舵机在所述预设时长内以所述运行速度进行转动,并检测所述预设时长内的实际运行距离;其中,所述舵机运行于速度模式;
第一更新单元,用于在所述预设时长的结束时刻,根据所述参考运行距离以及所述实际运行距离的差值,更新当前时刻的所述运行速度;
第二控制单元,用于控制所述舵机以更新后的所述运行速度在下一所述预设时长内进行转动。
7.如权利要求1所述的控制装置,其特征在于,所述第一更新单元包括:
计算子单元,用于在所述预设时长的结束时刻,计算所述参考运行距离以及所述实际运行距离的差值,并根据所述差值与所述预设时长的比值,确定出所述预设时长内的误差速度;
更新子单元,用于将所述误差速度与实时输入的所述运行速度的和确定为更新后的所述运行速度。
8.如权利要求6或7所述的控制装置,其特征在于,所述第一获取单元包括:
获取子单元,用于获取轮式机器人的目标运动轨迹;
确定子单元,用于根据所述目标运动轨迹以及所述目标运动轨迹的目标运行时间,对于所述轮式机器人底盘的每一所述舵机,分别确定该舵机在各个所述预设时长内的运行速度;
读取子单元,用于根据当前时刻所对应的一个所述预设时长,读取预先确定的该预设时长内的所述运行速度。
9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711451161.2A CN109976326B (zh) | 2017-12-27 | 2017-12-27 | 轮式机器人的控制方法、装置、终端设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711451161.2A CN109976326B (zh) | 2017-12-27 | 2017-12-27 | 轮式机器人的控制方法、装置、终端设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109976326A true CN109976326A (zh) | 2019-07-05 |
CN109976326B CN109976326B (zh) | 2022-05-10 |
Family
ID=67071950
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711451161.2A Active CN109976326B (zh) | 2017-12-27 | 2017-12-27 | 轮式机器人的控制方法、装置、终端设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109976326B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110568843A (zh) * | 2019-08-19 | 2019-12-13 | 广东博智林机器人有限公司 | 移动作业设备的控制方法、控制装置 |
CN110780597A (zh) * | 2019-10-23 | 2020-02-11 | 四川航天烽火伺服控制技术有限公司 | 一种用于舵机防振荡的控制方法、装置、设备及介质 |
CN112440282A (zh) * | 2020-11-23 | 2021-03-05 | 乐聚(深圳)机器人技术有限公司 | 一种舵机控制方法、装置、电子设备及存储介质 |
CN115005714A (zh) * | 2022-06-22 | 2022-09-06 | 宁波国琅机器人科技有限公司 | 一种扫地机器人控制方法、系统、存储介质及智能终端 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102353804A (zh) * | 2011-06-30 | 2012-02-15 | 浙江工业大学 | P-p结构蛇形机器人的爬行速度测量方法 |
CN103753535A (zh) * | 2014-01-08 | 2014-04-30 | 深圳市优必选科技有限公司 | 一种机器人单总线模块化数字舵机控制装置及控制方法 |
US20160376003A1 (en) * | 2015-06-26 | 2016-12-29 | Yuri Feldman | Aircraft |
CN106394724A (zh) * | 2016-11-09 | 2017-02-15 | 江苏信息职业技术学院 | 自适应运动多关节行走机器人 |
WO2017133498A1 (zh) * | 2016-02-03 | 2017-08-10 | 林勇 | 智能设备以及智能设备控制方法 |
CN107172359A (zh) * | 2017-07-03 | 2017-09-15 | 天津智汇时代科技有限公司 | 摄像头人脸跟踪系统及人脸跟踪方法 |
CN206749956U (zh) * | 2017-04-07 | 2017-12-15 | 华南理工大学广州学院 | 一种带轮机器人腿部机构 |
-
2017
- 2017-12-27 CN CN201711451161.2A patent/CN109976326B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102353804A (zh) * | 2011-06-30 | 2012-02-15 | 浙江工业大学 | P-p结构蛇形机器人的爬行速度测量方法 |
CN103753535A (zh) * | 2014-01-08 | 2014-04-30 | 深圳市优必选科技有限公司 | 一种机器人单总线模块化数字舵机控制装置及控制方法 |
US20160376003A1 (en) * | 2015-06-26 | 2016-12-29 | Yuri Feldman | Aircraft |
WO2017133498A1 (zh) * | 2016-02-03 | 2017-08-10 | 林勇 | 智能设备以及智能设备控制方法 |
CN106394724A (zh) * | 2016-11-09 | 2017-02-15 | 江苏信息职业技术学院 | 自适应运动多关节行走机器人 |
CN206749956U (zh) * | 2017-04-07 | 2017-12-15 | 华南理工大学广州学院 | 一种带轮机器人腿部机构 |
CN107172359A (zh) * | 2017-07-03 | 2017-09-15 | 天津智汇时代科技有限公司 | 摄像头人脸跟踪系统及人脸跟踪方法 |
Non-Patent Citations (3)
Title |
---|
宁等: "一种基于I~2C总线通讯的机器人舵机系统的设计", 《机电工程技术》 * |
宋怡雯 等: "基于STM32的双足机器人运动控制系统设计", 《煤矿机电》 * |
谢自强 等: "基于线性CCD的新型智能循迹机器人的系统设计", 《机床与液压》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110568843A (zh) * | 2019-08-19 | 2019-12-13 | 广东博智林机器人有限公司 | 移动作业设备的控制方法、控制装置 |
CN110780597A (zh) * | 2019-10-23 | 2020-02-11 | 四川航天烽火伺服控制技术有限公司 | 一种用于舵机防振荡的控制方法、装置、设备及介质 |
CN110780597B (zh) * | 2019-10-23 | 2023-03-21 | 四川航天烽火伺服控制技术有限公司 | 一种用于舵机防振荡的控制方法、装置、设备及介质 |
CN112440282A (zh) * | 2020-11-23 | 2021-03-05 | 乐聚(深圳)机器人技术有限公司 | 一种舵机控制方法、装置、电子设备及存储介质 |
CN115005714A (zh) * | 2022-06-22 | 2022-09-06 | 宁波国琅机器人科技有限公司 | 一种扫地机器人控制方法、系统、存储介质及智能终端 |
Also Published As
Publication number | Publication date |
---|---|
CN109976326B (zh) | 2022-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109976326A (zh) | 轮式机器人的控制方法、装置、终端设备及介质 | |
CN103019163B (zh) | 具有分布式运动规划的工业控制系统 | |
CN108638066B (zh) | 一种用于机器人的传送带同步跟踪的装置、方法及系统 | |
US10632615B2 (en) | Servo driving method, apparatus, and robot thereof | |
CN110381476A (zh) | 一种天线对准方法及装置 | |
US10762724B2 (en) | Vehicle control device, server, vehicle motor control system, and vehicle motor control method | |
CN109605370A (zh) | 机器人的控制方法及装置、机器人的控制系统 | |
CN109960290A (zh) | 舵机输出控制方法、系统及装置 | |
CN102582466B (zh) | 用于电马达的编码器速度信号的抖动补偿 | |
CN106502259A (zh) | 电力巡检用小型光电吊舱控制装置、吊舱、无人机及方法 | |
CN104865961B (zh) | 控制方法、装置及电子设备 | |
CN107491079B (zh) | 自动导引运输车控制方法、装置及计算机可读存储介质 | |
CN103941110A (zh) | 汽车旋转连接器的耐久性试验装置及试验方法 | |
CN110083158B (zh) | 一种确定局部规划路径的方法和设备 | |
CN103817695A (zh) | 一种机器人柔性关节的控制方法及驱动装置 | |
Szomiński et al. | Development of a cyber-physical system for mobile robot control using erlang | |
CN107891422B (zh) | 一种控制舵机的方法 | |
CN104950683A (zh) | 一种视觉伺服机械臂系统的自适应间隙逆模型发生装置 | |
CN109910635A (zh) | 一种电动车的车速控制方法、系统及终端设备 | |
CN209059712U (zh) | 轮椅控制装置及轮椅 | |
CN110466594A (zh) | 方向盘位置调节方法、装置及车载设备 | |
Xue et al. | Remote sensing and teleoperation of a mobile robot via the internet | |
Ivoilov et al. | The power consumption decreasing of the two-wheeled balancing robot | |
CN107783532A (zh) | 一种磁导航agv控制系统 | |
CN109768738A (zh) | 电动机控制装置、控制系统以及电动机控制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |