CN112440282A - 一种舵机控制方法、装置、电子设备及存储介质 - Google Patents
一种舵机控制方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112440282A CN112440282A CN202011324965.8A CN202011324965A CN112440282A CN 112440282 A CN112440282 A CN 112440282A CN 202011324965 A CN202011324965 A CN 202011324965A CN 112440282 A CN112440282 A CN 112440282A
- Authority
- CN
- China
- Prior art keywords
- target position
- steering engine
- intermediate target
- difference value
- current position
- 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.)
- Pending
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Steering Control In Accordance With Driving Conditions (AREA)
Abstract
本申请提供一种舵机控制方法、装置、电子设备及存储介质,涉及机器人技术领域。该方法包括:获取舵机的当前位置至第一运行目标位置的差异值;根据该当前位置以及该第一运行目标位置的差异值,确定该当前位置以及该第一运行目标位置之间的至少一个中间目标位置以及每个中间目标位置对应的运行速度;按照每个中间目标位置以及中间目标位置对应的运行速度,控制该舵机从该当前位置运行至该第一运行目标位置。应用本申请,可以显著改善舵机运行至第一运行目标位置(即该舵机最终需要运行到的位置)时的过冲现象。
Description
技术领域
本申请涉及机器人技术领域,具体而言,涉及一种舵机控制方法、装置、电子设备及存储介质。
背景技术
随着机器人行业的发展,舵机也得到了广泛的应用。舵机是设置在机器人中用于操纵机器人运行方向的部件,舵机可以带动机器人关节执行一系列的动作,直接影响着机器人的性能。
目前,舵机控制器可直接根据最终运行至的目标位置得到控制信号,根据该控制信号控制舵机运动。
然而,当目标位置与机器人当前的位置距离较大时,可能导致舵机在该目标位置处发生过冲的现象。
发明内容
本申请的目的在于,针对上述现有技术中的不足,提供一种舵机控制方法、装置、电子设备及存储介质,可以显著改善舵机运行至目标位置时的过冲现象。
为实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请实施例提供了一种舵机控制方法,所述方法包括:
获取舵机的当前位置至第一运行目标位置的差异值;
根据所述当前位置以及所述第一运行目标位置的差异值,确定所述当前位置以及所述第一运行目标位置之间的至少一个中间目标位置以及每个中间目标位置对应的运行速度;
按照每个中间目标位置以及中间目标位置对应的运行速度,控制所述舵机从所述当前位置运行至所述第一运行目标位置。
可选地,所述当前位置与所述中间目标位置、各所述中间目标位置、以及所述中间目标位置与所述第一运行目标位置之间的差异值均相同,且,每个中间目标位置对应的运行速度均为预设的第一速度。
可选地,上述根据所述当前位置以及所述第一运行目标位置的差异值,确定所述当前位置以及所述第一运行目标位置之间的至少一个中间目标位置以及每个中间目标位置对应的运行速度,包括:
若所述当前位置至所述第一运行目标位置的差异值大于预设阈值,则根据所述差异值确定至少一个中间目标位置,并确定各中间目标位置对应的运行速度均为预设的第二速度。
可选地,上述根据所述当前位置以及所述第一运行目标位置的差异值,确定所述当前位置以及所述第一运行目标位置之间的至少一个中间目标位置以及每个中间目标位置对应的运行速度,包括:
若所述当前位置至所述第一运行目标位置的差异值小于或等于预设阈值,则根据所述差异值确定至少一个中间目标位置,并确定与各中间目标位置分别对应的运行速度,各中间目标位置对应的运行速度不相同,第一中间目标位置对应的运行速度大于第二中间目标位置对应的运行速度,其中,所述第一中间目标位置与所述第一运行目标位置的差异值大于所述第二中间目标位置与所述第一运行目标位置的差异值。
可选地,当所述舵机当前处于静止状态时,所述获取舵机的当前位置至第一运行目标位置的差异值之前,所述方法还包括:
根据所述舵机的当前位置、预设的第一加速度以及所述预设的第一速度,获取第一加速时间,其中,所述第一加速度方向与所述舵机的运行方向一致;
相应地,所述获取舵机的当前位置至第一运行目标位置的差异值,包括:
获取所述舵机运行所述第一加速时间后对应的位置至第一运行目标位置的差异值。
可选地,所述方法还包括:
在所述舵机从所述当前位置运行至所述第一运行目标位置的过程中,接收所述舵机反方向运动控制指令,所述舵机反方向运动控制指令包括第二运行目标位置;
根据接收到所述舵机反方向运动控制指令时所述舵机对应的位置、所述第二运行目标位置以及第二加速度,确定所述舵机运行速度为0时对应的位置,其中,所述第二加速度的方向与所述舵机向所述第一运行目标位置运行的方向相反;
获取所述舵机运行速度为0时对应的位置至所述第二运行目标位置的差异值;
根据所述舵机运行速度为0时对应的位置至所述第二运行目标位置的差异值,控制所述舵机从所述运行速度为0时对应的位置运行至所述第二运行目标位置。
第二方面,本申请实施例还提供了一种舵机控制装置,所述装置包括:
获取模块,用于获取舵机的当前位置至第一运行目标位置的差异值;
确定模块,用于根据所述当前位置以及所述第一运行目标位置的差异值,确定所述当前位置以及所述第一运行目标位置之间的至少一个中间目标位置以及每个中间目标位置对应的运行速度;
控制模块,用于按照每个中间目标位置以及中间目标位置对应的运行速度,控制所述舵机从所述当前位置运行至所述第一运行目标位置。
可选地,所述当前位置与所述中间目标位置、各所述中间目标位置、以及所述中间目标位置与所述第一运行目标位置之间的差异值均相同,且,每个中间目标位置对应的运行速度均为预设的第一速度。
可选地,所述确定模块,具体用于若所述当前位置至所述第一运行目标位置的差异值大于预设阈值,则根据所述差异值确定至少一个中间目标位置,并确定各中间目标位置对应的运行速度均为预设的第二速度。
可选地,所述确定模块,还具体用于若所述当前位置至所述第一运行目标位置的差异值小于或等于预设阈值,则根据所述差异值确定至少一个中间目标位置,并确定与各中间目标位置分别对应的运行速度,各中间目标位置对应的运行速度不相同,第一中间目标位置对应的运行速度大于第二中间目标位置对应的运行速度,其中,所述第一中间目标位置与所述第一运行目标位置的差异值大于所述第二中间目标位置与所述第一运行目标位置的差异值。
可选地,所述获取模块,还用于根据所述舵机的当前位置、预设的第一加速度以及所述预设的第一速度,获取第一加速时间,其中,所述第一加速度方向与所述舵机的运行方向一致;获取所述舵机运行所述第一加速时间后对应的位置至第一运行目标位置的差异值。
可选地,所述获取模块,还用于在所述舵机从所述当前位置运行至所述第一运行目标位置的过程中,接收所述舵机反方向运动控制指令,所述舵机反方向运动控制指令包括第二运行目标位置;根据接收到所述舵机反方向运动控制指令时所述舵机对应的位置、所述第二运行目标位置以及第二加速度,确定所述舵机运行速度为0时对应的位置,其中,所述第二加速度的方向与所述舵机向所述第一运行目标位置运行的方向相反;获取所述舵机运行速度为0时对应的位置至所述第二运行目标位置的差异值;根据所述舵机运行速度为0时对应的位置至所述第二运行目标位置的差异值,控制所述舵机从所述运行速度为0时对应的位置运行至所述第二运行目标位置。
第三方面,本申请实施例提供了一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当所述电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行上述第一方面的舵机控制方法的步骤。
第四方面,本申请实施例提供了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述第一方面的舵机控制方法的步骤。
本申请的有益效果是:
本申请实施例提供一种舵机控制方法、装置、电子设备及存储介质,该方法可包括:获取舵机的当前位置至第一运行目标位置的差异值;根据该当前位置以及该第一运行目标位置的差异值,确定该当前位置以及该第一运行目标位置之间的至少一个中间目标位置以及每个中间目标位置对应的运行速度;按照每个中间目标位置以及中间目标位置对应的运行速度,控制该舵机从该当前位置运行至该第一运行目标位置。采用本申请实施例提供的舵机控制方法,可以将该舵机从当前位置运行至第一运行目标位置之间的轨迹,转换成根据多个中间目标位置规划的多个运动轨迹,舵机控制器根据每个中间目标位置对应的参数控制该舵机运动,这样可以避免该舵机运行至第一运行目标位置(即该舵机最终需要运行到的位置)时发生过冲的现象。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种舵机控制方法的流程示意图;
图2为本申请实施例提供的一种以预设的第一速度进行舵机运行轨迹规划的效果示意图;
图3为本申请实施例提供的另一种舵机控制方法的流程示意图;
图4为本申请实施例提供的一种在第一运行目标位置附近处进行舵机运行轨迹规划的效果示意图;
图5为本申请实施例提供的又一种舵机控制方法的流程示意图;
图6为本申请实施例提供的再一种舵机控制方法的流程示意图;
图7为本申请实施例提供的一种舵机既包括正向运行轨迹规划,又包括反向运行轨迹规划的示意图;
图8为本申请实施例提供的一种舵机控制装置的结构示意图;
图9为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
图1为本申请实施例提供的一种舵机控制方法的流程示意图。该方法的执行主体可以为舵机控制器。如图1所示,该方法可以包括:
S101、获取舵机的当前位置至第一运行目标位置的差异值。
其中,该第一运行目标位置可以是上位机向舵机控制器发送的该舵机需要运行到的位置,也就是该舵机最终需要运行到的角度,需要说明的是,本申请不对该舵机的具体性能进行限定,该舵机可以是180度(0-180度)舵机,或者360度(0-360度)舵机。上位机可将该第一运行目标位置发送给舵机控制器,该舵机控制器还可以通过位置传感器实时获取到该舵机当前所处的位置,需要说明的是,本申请不对该舵机当前所处的位置(角度)进行限定,可以为0度,也可以为其他角度。另外,舵机的当前位置,可以指舵机静止状态下的位置,也可以指舵机运行过程中的某一位置。本申请对此不做具体限定。
一种可选方式中,根据该第一运行目标位置以及该当前所处的位置可以计算得到这两个位置之间的位置差,也就是该舵机运行(机器人关节所转动)的角度差。相应的,上述差异值可以指该角度差。
另一种方式中,该舵机控制器还可以根据预设的运行速度以及上述位置差计算得到该舵机从当前位置运行至该第一运行目标位置所需要的时间。相应的,上述差异值可以指该所需要的时间。其中,该预设的运行速度可以设置在该舵机控制器中,也可以通过上位机发送给该舵机控制器,本申请不对其进行限定。需要说明的是,该预设的运行速度可以小于该舵机的最高运行速度,这样可以防止在负载发生变化时,该舵机的运行速度无法实现良好的跟随现象,可以保证该舵机运行过程中运行速度的一致性。
S102、根据该当前位置以及该第一运行目标位置的差异值,确定该当前位置以及该第一运行目标位置之间的至少一个中间目标位置以及每个中间目标位置对应的运行速度。
以上述差异值为上述的角度差为例,在根据该当前位置以及该第一运行目标位置计算得到该舵机运行的角度差后,可将该角度差分成多个区间,每个区间对应一个中间目标位置。示例性的,当前位置与第一运行目标位置相差90度,则可以每隔30度设置一个中间目标位置。也就是说,可在该当前位置以及该第一运行目标位置之间设置多个中间目标位置,并且还会根据预设的运行速度得到每个中间目标位置对应的时间信息以及运行速度。需要说明的是,本申请不对中间目标位置的个数进行限定。
可选的,中间目标位置对应的运行速度可以是指从上一个位置运行到该中间目标位置所使用的速度,或者,也可以是指从该中间目标位置运行到下一个位置所使用的速度。
S103、按照每个中间目标位置以及中间目标位置对应的运行速度,控制该舵机从该当前位置运行至该第一运行目标位置。
该舵机控制器具体可以为PID(Proportion Integration Differentiation,比例-积分-微分)控制器,该舵机控制器可以根据各个中间目标位置以及每个中间目标位置对应的运行速度分别建立控制参数模型,最后通过该控制参数模型控制该舵机依次从该当前位置运行至各中间目标位置,并运行至第一运行目标位置。
其中,该控制参数模型包括PID控制器对应的比例系数、积分时间参数以及微分时间参数,每个中间目标位置都有对应的比例系数、积分时间参数以及微分时间参数,即可输出对应的脉宽调制信号PWM(Pulse Width Modulation),通过各个中间目标位置对应的脉宽调制信号可控制该舵机从该当前位置先运行到最前的中间目标位置,再依次运行到其他中间目标位置,最后运行到该第一运行目标位置。
综上所述,本申请提供的舵机控制方法中,获取舵机的当前位置至第一运行目标位置的差异值;根据该当前位置以及该第一运行目标位置的差异值,确定该当前位置以及该第一运行目标位置之间的至少一个中间目标位置以及每个中间目标位置对应的运行速度;按照每个中间目标位置以及中间目标位置对应的运行速度,控制该舵机从该当前位置运行至该第一运行目标位置。采用本申请实施例提供的舵机控制方法,可以将该舵机从当前位置运行至第一运行目标位置之间的轨迹,转换成根据多个中间目标位置规划的多个运动轨迹,舵机控制器根据每个中间目标位置对应的参数控制该舵机运动,这样可以显著改善舵机运行至第一运行目标位置(即该舵机最终需要运行到的位置)时的过冲现象。另外,还可以使该舵机的启动轨迹更加平滑,该舵机齿轮上的冲击力会减少,在一定程度上可以起到保护舵机齿轮的作用。
上述步骤S102中,舵机控制器在确定至少一个中间目标位置以及各中间目标位置对应的运行速度时,可以按照如下两种方式执行。
第一种方式中,当前位置与该中间目标位置、各中间目标位置、以及该中间目标位置与该第一运行目标位置之间的差异值均相同,且,每个中间目标位置对应的运行速度均为预设的第一速度。
其中,根据该当前位置以及该第一运行目标位置之间的差异值可以得到各个中间目标位置对应的信息,该信息包括角度信息或者时间信息,并且,该当前位置、各个中间目标位置以及该第一运行目标位置之间的差异值相同,也就是说,该当前位置与距离最近的中间目标位置之间的角度差或者时间差、相邻中间目标位置之间的角度差或者时间差以及该第一运行目标位置与最近的中间目标位置之间的角度差或者时间差保持一致,并且,舵机从该当前位置运行到距离最近的中间目标位置对应的速度,与再从该中间目标位置运行到相邻的中间目标位置对应的速度都为预设的第一速度,以此类推。这样可以保证该舵机运行过程中运行速度的一致性。
图2为本申请实施例提供的一种以预设的第一速度进行舵机运行轨迹规划的效果示意图。如图2所示,A点表示舵机当前位置、D点表示舵机最终需要运行至的第一运行目标位置,A点和D点之间的B点、C点表示中间目标位置,且A点、B点、C点以及D点相邻两点之间的差异值相同,该差异值可以为横坐标表示的时间差,也可以为纵坐标表示的位置差(角度差),本申请不对其进行限定。舵机控制器可控制舵机从A点以预设的第一速度V1运行至B点,再控制该舵机从B点以预设的第一速度V1运行至C点,最后控制该舵机从C点以预设的第一速度V1运行至D点,即该舵机控制器可控制该舵机从当前位置(A点)运行至第一运行目标位置(D点)。
需要说明的是,上述图2只是一种示意图,本申请不对中间目标位置的具体个数进行限定。
使用上述第一种方式,舵机从当前位置运行至第一运行目标位置的过程中,以匀速的方式运行。具体的,当前位置与该中间目标位置、各中间目标位置、以及该中间目标位置与该第一运行目标位置之间的差异值均相同,并且各位置对应的运行速度均相同。应理解,该差异值均相同,可以指角度差均相同,或者,运行时间均相同。
这种方式的处理复杂度低,处理效率高。
第二种方式中,舵机控制器可以控制不同的中间目标位置使用不同的运行速度。
图3为本申请实施例提供的另一种舵机控制方法的流程示意图。如图3所示,可选地,上述步骤S102中根据该当前位置以及该第一运行目标位置的差异值,确定该当前位置以及该第一运行目标位置之间的至少一个中间目标位置以及每个中间目标位置对应的运行速度,包括:
S301、若该当前位置至该第一运行目标位置的差异值大于预设阈值,则根据该差异值确定至少一个中间目标位置,并确定各中间目标位置对应的运行速度均为预设的第二速度。
其中,该预设阈值可以是角度阈值,也可以是时间阈值,本申请不对其进行限定,由于角度参数和时间参数是成正比的关系,所以这里以时间阈值为例进行说明。举例来说,假设该当前位置至该第一运行目标位置所需要的时间为10ms,预设的时间阈值为2ms,那么可以从该舵机0ms对应的位置(该当前位置)到该舵机8ms对应的位置之间确定至少一个中间目标位置,比如确定一个中间目标位置为该舵机4ms对应的位置。该舵机可以以该预设的第二速度从该当前位置运行4ms到该中间位置,该舵机再以该预设的第二速度从该中间目标位置运行4ms到该舵机8ms对应的位置。其中,该预设的第二速度和上述提到的第一速度可以相等,也可以不相等,本申请对此不做具体限定。
当该当前位置至该第一运行目标位置的差异值大于预设阈值时,比如大于一定的时间或者一定的角度,表明舵机距离第一运行目标位置较远,在这种情况下,可以确定各中间目标位置所使用的运行速度均相同,即进行匀速运行。
另一种情况下,根据该当前位置以及该第一运行目标位置的差异值,确定该当前位置以及该第一运行目标位置之间的至少一个中间目标位置以及每个中间目标位置对应的运行速度,包括:若该当前位置至该第一运行目标位置的差异值小于或等于预设阈值,则根据该差异值确定至少一个中间目标位置,并确定与各中间目标位置分别对应的运行速度,各中间目标位置对应的运行速度不相同,第一中间目标位置对应的运行速度大于第二中间目标位置对应的运行速度,其中,该第一中间目标位置与该第一运行目标位置的差异值大于该第二中间目标位置与该第一运行目标位置的差异值。
该舵机在运行的过程中,位置传感器会实时将该舵机目前所处的位置反馈给该舵机控制器,该舵机控制器将该舵机目前所处的位置与该第一运行目标位置进行比较,如果两者之间的差异值(如时间差)小于或者等于预设的时间阈值,那么可根据该时间差确定至少一个中间目标位置。继续上述例子来说,当该舵机运行了8ms后,该舵机控制器可根据剩余的时间差(2ms)确定中间目标位置,比如确定一个中间目标位置,该中间目标位置具体可以为9ms对应的,那么可以根据该舵机运行8ms对应的速度(如第二速度)、预先设置好的和该舵机运行方向相反的加速度以及8ms到9ms之间的时间差(1ms)可以计算出该中间目标位置对应的运行速度,当中间目标位置个数为多个时,每个相邻的中间目标位置对应的运行速度都可以不相同,当然该舵机可以在多个中间目标位置之间形成匀速运行轨迹后,再形成减速运行轨迹,以此类推,直至该舵机的运行速度为0。
图4为本申请实施例提供的一种在第一运行目标位置附近处进行舵机运行轨迹规划的效果示意图。如图4所示,该舵机在当前位置A点时处于静止状态,经过一段加速轨迹后该舵机的运行速度变为第一速度V1,该舵机控制器控制该舵机以第一速度V1达到各中间目标位置,当该舵机到达的中间目标位置(如C点)与该第一运行目标位置D点之间的时间差t小于预设阈值(如2ms)时,可根据预先设置好的和该舵机运行方向相反的加速度计算中间目标位置(如E点)对应的运行速度,直至该舵机的该第一运行目标位置D点处的运行速度降为0。
当当前位置至该第一运行目标位置的差异值小于等于预设阈值时,比如小于一定的时间或者一定的角度,表明舵机开始接近第一运行目标位置,在这种情况下,通过上述的方式,可在该第一运行目标位置附近规划一个减速轨迹,使该舵机运行至该第一运行目标位置时可以预先减速,可以更好的避免该舵机运行至该第一运行目标位置时发生过冲的现象。
图5为本申请实施例提供的又一种舵机控制方法的流程示意图。如图5所示,可选地,当该舵机当前处于静止状态时,上述获取舵机的当前位置至第一运行目标位置的差异值之前,该方法还可包括:
S501、根据该舵机的当前位置、预设的第一加速度以及该预设的第一速度,获取第一加速时间。
其中,该第一加速度方向与该舵机的运行方向一致。当该舵机在当前位置的状态为静止状态时,该舵机控制器可根据预先设置好的第一加速度以及该舵机匀速运行时对应的第一速度,可以计算得到该第一加速时间。也就是说,该舵机通过该第一加速度,运行该第一加速时间后,可以达到匀速运行时对应的第一速度。
S502、获取该舵机运行该第一加速时间后对应的位置至第一运行目标位置的差异值。
在获取到该第一加速时间后,可根据该第一加速度计算得到该舵机预期运行到的位置,即该舵机的运行速度变为该第一速度时对应的位置。可根据预期达到该第一速度时对应的位置以及该舵机最终需要运行到的目标位置(第一运行目标位置)得到两个位置之间的差异值,该差异值可以为角度差或者时间差,该角度差指的就是这两个位置(角度)之间的差异值,该舵机控制器还可以根据预先设置的该第一速度以及该角度差计算得到时间差,需要说明的是,该第一速度可以根据实际需求进行设置,本申请不对其进行限定。
通过该实施例,可以使该舵机的启动轨迹更加平滑,可以减缓舵机的启动时间。
图6为本申请实施例提供的再一种舵机控制方法的流程示意图。如图6所示,该方法还可包括:
S601、在该舵机从当前位置运行至该第一运行目标位置的过程中,接收该舵机反方向运动控制指令,该舵机反方向运动控制指令包括第二运行目标位置。
S602、根据接收到该舵机反方向运动控制指令时该舵机对应的位置、该第二运行目标位置以及第二加速度,获取该舵机运行速度为0时对应的位置。
其中,该第二加速度的方向与该舵机向该第一运行目标位置运行的方向相反。在该舵机控制器控制舵机正在以正向运行速度朝该第一运行目标位置运行过程中,当该舵机控制器接收到与该舵机当前运行方向相反的该舵机反方向运动控制指令时,该舵机控制器需要根据该第二加速度计算得到该舵机运行速度为0时,所需要的第二加速时间,然后该舵机控制器再根据接收到该舵机反方向运动控制指令时该舵机对应的位置,以及该舵机的运行速度降为0时所需要的路程(角度)计算得到该舵机运行速度为0时对应的位置。其中,该第二加速度可从该舵机反方向运动控制指令中获取,当然该第二加速度也可预先设置在该舵机控制器中,或者通过上位机发送的其他控制指令中获取,本申请不对其进行限定。
S603、获取该舵机运行速度为0时对应的位置至该第二运行目标位置的差异值。
该舵机控制器可根据该舵机运行速度为0时对应的位置以及该舵机反方向运动控制指令中包含的该第二运行目标位置计算得到两者位置之间的差异值,该差异值可以为角度差或者时间差,该角度差指的就是这两个位置(角度)之间的差异值,该舵机控制器还可以根据预先设置的第三速度以及该角度差计算得到时间差,该第三速度可从该舵机反方向运动控制指令中获取。需要说明的是,该第三速度可以根据实际需求进行设置,本申请不对其进行限定。
S604、根据该舵机运行速度为0时对应的位置至该第二运行目标位置的差异值,控制该舵机从该运行速度为0时对应的位置运行至该第二运行目标位置。
可以根据该舵机的运行速度为0时对应的位置以及该舵机反方向运动控制指令中包括的第二运行目标位置重新规划该舵机运行的轨迹,其中,该轨迹可以是该舵机期望以一个匀速运行速度(第三速度)运行得到的,也可以是该舵机先运行一段加速的轨迹,然后再运行一段匀速的轨迹,最后再运行一段减速的轨迹而得到,需要说明的是,本申请不对该轨迹的具体内容进行限定。该部分的具体内容详见上述实施例描述,此处不再说明。
通过该实施例,当该舵机控制器接收到与该舵机当前运行方向相反的该舵机反方向运动控制指令时,可以首先根据预先设定的第二加速度将该舵机的运行速度降为0,再根据该舵机的运行速度降为0对应的位置以及该舵机反方向运动控制指令中包括的第二运行目标位置重新规划该舵机运行的轨迹,这样可以使该舵机运行速度可以更平滑的过渡,避免出现运行速度有大的跳动,使该舵机的动作执行更加稳定。
图7为本申请实施例提供的一种舵机既包括正向运行轨迹规划,又包括反向运行轨迹规划的示意图。如图7所示,F点表示第二运行目标位置,T点为舵机控制器接收到该舵机反方向运动控制指令时该舵机对应的位置,L点为该舵机运行速度为0时对应的位置。可以看出,当舵机控制器从B点以第一速度V1运行至位置G点时,接收到了包含该第二运行目标位置F点对应的该舵机反方向运动控制指令,可首先规划当该舵机从G点运行至L点时,该舵机运行的第一速度V1需要降为0,该舵机控制器再根据该舵机运行速度为0时对应的位置L点与该第二运行目标位置F规划该舵机的运行轨迹,具体内容可参考上述图4中的内容,此处不再进行详细描述。
图8为本申请实施例提供的一种舵机装置的结构示意图,如图8所示,该装置可以包括:
获取模块801,用于获取舵机的当前位置至第一运行目标位置的差异值;
确定模块802,用于根据该当前位置以及该第一运行目标位置的差异值,确定该当前位置以及该第一运行目标位置之间的至少一个中间目标位置以及每个中间目标位置对应的运行速度;
控制模块803,用于按照每个中间目标位置以及中间目标位置对应的运行速度,控制所述多级从该当前位置运行至该第一运行目标位置。
可选地,该当前位置与该中间目标位置、各中间目标位置、以及该中间目标位置与该第一运行目标位置之间的差异值均相同,且,每个中间目标位置对应的运行速度均为预设的第一速度。
可选地,确定模块802,具体用于若该当前位置至该第一运行目标位置的差异值大于预设阈值,则根据该差异值确定至少一个中间目标位置,并确定各中间目标位置对应的运行速度均为预设的第二速度。
可选地,确定模块802,还具体用于若该当前位置至该第一运行目标位置的差异值小于或等于预设阈值,则根据该差异值确定至少一个中间目标位置,并确定与各中间目标位置分别对应的运行速度,各中间目标位置对应的运行速度不相同,第一中间目标位置对应的运行速度大于第二中间目标位置对应的运行速度,其中,该第一中间目标位置与该第一运行目标位置的差异值大于该第二中间目标位置与该第一运行目标位置的差异值。
可选地,获取模块801,还用于根据该舵机的当前位置、预设的第一加速度以及该预设的第一速度,获取第一加速时间;获取该舵机运行该第一加速时间后对应的位置至第一运行目标位置的差异值。
可选地,获取模块801,还用于根据接收到该舵机反方向运动控制指令时该舵机对应的位置、该第二加速度,获取该舵机运行速度为0时对应的位置;获取该舵机运行速度为0时对应的位置至该第二运行目标位置的差异值。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(Digital Signal Processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
图9为本申请实施例提供的一种电子设备的结构示意图,该电子设备可以为上述提到的舵机控制器。如图9所示,该电子设备可以包括:处理器901、存储介质902和总线903,存储介质902存储有处理器901可执行的机器可读指令,当该电子设备运行时,处理器901与存储介质902之间通过总线903通信,处理器901执行机器可读指令,以执行上述舵机控制方法的步骤。具体实现方式和技术效果类似,这里不再赘述。
可选地,本申请还提供一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述舵机控制方法的步骤。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种舵机控制方法,其特征在于,所述方法包括:
获取舵机的当前位置至第一运行目标位置的差异值;
根据所述当前位置以及所述第一运行目标位置的差异值,确定所述当前位置以及所述第一运行目标位置之间的至少一个中间目标位置以及每个中间目标位置对应的运行速度;
按照每个中间目标位置以及中间目标位置对应的运行速度,控制所述舵机从所述当前位置运行至所述第一运行目标位置。
2.根据权利要求1所述的方法,其特征在于,所述当前位置与所述中间目标位置、各所述中间目标位置、以及所述中间目标位置与所述第一运行目标位置之间的差异值均相同,且,每个中间目标位置对应的运行速度均为预设的第一速度。
3.根据权利要求1所述的方法,其特征在于,所述根据所述当前位置以及所述第一运行目标位置的差异值,确定所述当前位置以及所述第一运行目标位置之间的至少一个中间目标位置以及每个中间目标位置对应的运行速度,包括:
若所述当前位置至所述第一运行目标位置的差异值大于预设阈值,则根据所述差异值确定至少一个中间目标位置,并确定各中间目标位置对应的运行速度均为预设的第二速度。
4.根据权利要求1所述的方法,其特征在于,所述根据所述当前位置以及所述第一运行目标位置的差异值,确定所述当前位置以及所述第一运行目标位置之间的至少一个中间目标位置以及每个中间目标位置对应的运行速度,包括:
若所述当前位置至所述第一运行目标位置的差异值小于或等于预设阈值,则根据所述差异值确定至少一个中间目标位置,并确定与各中间目标位置分别对应的运行速度,各中间目标位置对应的运行速度不相同,第一中间目标位置对应的运行速度大于第二中间目标位置对应的运行速度,其中,所述第一中间目标位置与所述第一运行目标位置的差异值大于所述第二中间目标位置与所述第一运行目标位置的差异值。
5.根据权利要求1-4任一项所述的方法,其特征在于,当所述舵机当前处于静止状态时,所述获取舵机的当前位置至第一运行目标位置的差异值之前,所述方法还包括:
根据所述舵机的当前位置、预设的第一加速度以及预设的第一速度,获取第一加速时间,其中,所述第一加速度方向与所述舵机的运行方向一致;
所述获取舵机的当前位置至第一运行目标位置的差异值,包括:
获取所述舵机运行所述第一加速时间后对应的位置至第一运行目标位置的差异值。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述舵机从所述当前位置运行至所述第一运行目标位置的过程中,接收所述舵机反方向运动控制指令,所述舵机反方向运动控制指令包括第二运行目标位置;
根据接收到所述舵机反方向运动控制指令时所述舵机对应的位置、所述第二运行目标位置以及第二加速度,确定所述舵机运行速度为0时对应的位置,其中,所述第二加速度的方向与所述舵机向所述第一运行目标位置运行的方向相反;
获取所述舵机运行速度为0时对应的位置至所述第二运行目标位置的差异值;
根据所述舵机运行速度为0时对应的位置至所述第二运行目标位置的差异值,控制所述舵机从所述运行速度为0时对应的位置运行至所述第二运行目标位置。
7.一种舵机控制装置,其特征在于,所述装置包括:
获取模块,用于获取舵机的当前位置至第一运行目标位置的差异值;
确定模块,用于根据所述当前位置以及所述第一运行目标位置的差异值,确定所述当前位置以及所述第一运行目标位置之间的至少一个中间目标位置以及每个中间目标位置对应的运行速度;
控制模块,用于按照每个中间目标位置以及中间目标位置对应的运行速度,控制所述舵机从所述当前位置运行至所述第一运行目标位置。
8.根据权利要求7所述的装置,其特征在于,所述当前位置与所述中间目标位置、各所述中间目标位置、以及所述中间目标位置与所述第一运行目标位置之间的差异值均相同,且,每个中间目标位置对应的运行速度均为预设的第一速度。
9.一种电子设备,特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当所述电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1-6任一所述舵机控制方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1-6任一所述舵机控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011324965.8A CN112440282A (zh) | 2020-11-23 | 2020-11-23 | 一种舵机控制方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011324965.8A CN112440282A (zh) | 2020-11-23 | 2020-11-23 | 一种舵机控制方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112440282A true CN112440282A (zh) | 2021-03-05 |
Family
ID=74737284
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011324965.8A Pending CN112440282A (zh) | 2020-11-23 | 2020-11-23 | 一种舵机控制方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112440282A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112985867A (zh) * | 2021-03-19 | 2021-06-18 | 乐聚(深圳)机器人技术有限公司 | 舵机测试方法、装置、设备及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63193213A (ja) * | 1987-02-06 | 1988-08-10 | Fanuc Ltd | パルスエンコ−ダを有するデイジタルサ−ボシステムの速度制御装置 |
CN109696910A (zh) * | 2017-10-23 | 2019-04-30 | 深圳市优必选科技有限公司 | 一种舵机运动控制方法及装置、计算机可读存储介质 |
CN109696825A (zh) * | 2017-10-23 | 2019-04-30 | 深圳市优必选科技有限公司 | 舵机的控制响应方法、装置及舵机 |
CN109960157A (zh) * | 2017-12-22 | 2019-07-02 | 深圳市优必选科技有限公司 | 舵机运动的平滑处理方法、装置、终端设备和存储介质 |
CN109960290A (zh) * | 2017-12-14 | 2019-07-02 | 深圳市优必选科技有限公司 | 舵机输出控制方法、系统及装置 |
CN109976326A (zh) * | 2017-12-27 | 2019-07-05 | 深圳市优必选科技有限公司 | 轮式机器人的控制方法、装置、终端设备及介质 |
CN110109491A (zh) * | 2019-05-30 | 2019-08-09 | 深圳市众为创造科技有限公司 | 连续s曲线加减速运动控制方法、系统及电子设备 |
CN111203870A (zh) * | 2018-11-22 | 2020-05-29 | 深圳市优必选科技有限公司 | 舵机运动控制方法、装置及终端设备 |
CN111376243A (zh) * | 2018-12-27 | 2020-07-07 | 深圳市优必选科技有限公司 | 一种舵机位置控制方法、装置及终端设备 |
-
2020
- 2020-11-23 CN CN202011324965.8A patent/CN112440282A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63193213A (ja) * | 1987-02-06 | 1988-08-10 | Fanuc Ltd | パルスエンコ−ダを有するデイジタルサ−ボシステムの速度制御装置 |
CN109696910A (zh) * | 2017-10-23 | 2019-04-30 | 深圳市优必选科技有限公司 | 一种舵机运动控制方法及装置、计算机可读存储介质 |
CN109696825A (zh) * | 2017-10-23 | 2019-04-30 | 深圳市优必选科技有限公司 | 舵机的控制响应方法、装置及舵机 |
CN109960290A (zh) * | 2017-12-14 | 2019-07-02 | 深圳市优必选科技有限公司 | 舵机输出控制方法、系统及装置 |
CN109960157A (zh) * | 2017-12-22 | 2019-07-02 | 深圳市优必选科技有限公司 | 舵机运动的平滑处理方法、装置、终端设备和存储介质 |
CN109976326A (zh) * | 2017-12-27 | 2019-07-05 | 深圳市优必选科技有限公司 | 轮式机器人的控制方法、装置、终端设备及介质 |
CN111203870A (zh) * | 2018-11-22 | 2020-05-29 | 深圳市优必选科技有限公司 | 舵机运动控制方法、装置及终端设备 |
CN111376243A (zh) * | 2018-12-27 | 2020-07-07 | 深圳市优必选科技有限公司 | 一种舵机位置控制方法、装置及终端设备 |
CN110109491A (zh) * | 2019-05-30 | 2019-08-09 | 深圳市众为创造科技有限公司 | 连续s曲线加减速运动控制方法、系统及电子设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112985867A (zh) * | 2021-03-19 | 2021-06-18 | 乐聚(深圳)机器人技术有限公司 | 舵机测试方法、装置、设备及存储介质 |
CN112985867B (zh) * | 2021-03-19 | 2023-11-17 | 乐聚(深圳)机器人技术有限公司 | 舵机测试方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3173883B1 (en) | Correction device, correction device controlling method, information processing program, and recording medium | |
CN110355751B (zh) | 控制装置和机器学习装置 | |
CN109483529B (zh) | 一种基于螺旋理论的机械臂伺服控制方法、系统及装置 | |
CN110320910B (zh) | 车辆的避让控制方法、装置、电子设备与存储介质 | |
EP0130570A2 (en) | Method and apparatus for controlling a robot hand along a predetermined path | |
CN106020124B (zh) | 伺服马达控制装置以及碰撞检测方法 | |
US11334074B2 (en) | System and method for integrated auto-steering and auto-braking mechanism in autonomous vehicles as a retro fit | |
CN110377065B (zh) | 速度控制方法、装置及计算机可读存储介质 | |
CN105022269A (zh) | 仿生机器鱼关节的控制方法及装置 | |
CN107309873B (zh) | 机械臂运动控制方法和系统 | |
CN112440282A (zh) | 一种舵机控制方法、装置、电子设备及存储介质 | |
CN114274147B (zh) | 目标跟踪控制方法及装置、机械臂控制设备和存储介质 | |
Bulsara et al. | Obstacle avoidance using model predictive control: An implementation and validation study using scaled vehicles | |
CN111813132B (zh) | 定位控制方法、装置、可编程逻辑控制器及可读存储介质 | |
CN112894827A (zh) | 一种机械臂运动控制方法、系统、装置及可读存储介质 | |
Flad et al. | Individual driver modeling via optimal selection of steering primitives | |
CN112720463A (zh) | 控制机器人的方法、装置及终端设备 | |
CN109067284B (zh) | 一种基于滤波误差的电机控制方法及装置 | |
Messner et al. | Efficient online computation of smooth trajectories along geometric paths for robotic manipulators | |
CN109634273A (zh) | 可移动设备的跟随控制方法及装置 | |
CN114734437A (zh) | 机器人关节控制方法及装置 | |
CN115097816A (zh) | 一种模块化多机器人协作控制方法 | |
CN114454150A (zh) | 一种基于复合学习的臂式机器人控制方法及机器人系统 | |
Das et al. | Genetic algorithm based optimal PI controller for position control of Maxon S-DC motor with dSPACE | |
JP2958978B2 (ja) | 学習制御方法 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210305 |
|
RJ01 | Rejection of invention patent application after publication |