【技术实现步骤摘要】
一种基于关键帧动作的舵机控制方法及系统
[0001]本专利技术涉及舵机控制
,特别指一种基于关键帧动作的舵机控制方法及系统。
技术介绍
[0002]在儿童玩具、创客教育用具、电动模型等自动控制产品中,均涉及舵机控制,针对舵机控制,传统上通过单片机下发实时信号以控制舵机执行对应动作,当需要同时对多个舵机进行控制时,对于功能较为局限的单片机将会产生控制冲突。
[0003]即单片机通过延时函数来控制舵机的转动角度,不断轮询判断当前角度是否达到目标角度,此过程全程占用单片机的运算资源,因此在同一时间内仅能实现单独舵机或是一组绑定的舵机的动作控制,对应用舵机的机器人的动作灵活度有较大的限制。另外,在对角度的多次更新中,时间上的误差会由于数据存储精度而逐渐累积,最终导致舵机动作在时间上的不精确。
[0004]针对多舵机控制的冲突问题,可以将相关舵机的动作通过硬件代码预先烧录,通过预置多种协同动作方案的方式进行舵机的驱动,但在使用中便无法对舵机的动作进行实时调整。随着技术的发展,人们对舵机的控制要求朝精细化、智能化发 ...
【技术保护点】
【技术特征摘要】
1.一种基于关键帧动作的舵机控制方法,其特征在于:包括如下步骤:步骤S10、获取各舵机的动作控制数据;步骤S20、基于时间对各舵机的各所述动作控制数据进行排序,进而构建动作节点数据数组;步骤S30、设定一帧间隔ts,基于接收的动作执行指令,对系统时间t进行初始化,以所述帧间隔ts为周期执行中断函数,并更新所述系统时间t;步骤S40、基于所述动作节点数据数组以及系统时间t确定舵机的旋转角度,并基于预设的动作调制函数对角度旋转过程进行控制。2.如权利要求1所述的一种基于关键帧动作的舵机控制方法,其特征在于:所述步骤S10中,所述动作控制数据包括舵机编号、时间以及角度。3.如权利要求1所述的一种基于关键帧动作的舵机控制方法,其特征在于:所述步骤S20具体为:分别对各舵机的各所述动作控制数据按时间升序进行排列,进而构建包含若干个动作节点的动作节点数据数组;所述动作节点携带时间和角度。4.如权利要求1所述的一种基于关键帧动作的舵机控制方法,其特征在于:所述步骤S30具体为:设定一帧间隔ts,基于接收的动作执行指令,将系统时间t初始化为0,以所述帧间隔ts为周期执行中断函数,并将所述系统时间t不断累加帧间隔ts。5.如权利要求1所述的一种基于关键帧动作的舵机控制方法,其特征在于:所述步骤S40具体包括:步骤S41、基于所述系统时间t从动作节点数据数组中查找各舵机相邻的两个动作节点,基于相邻的两个所述动作节点获取时间t1、角度a1、时间t2、角度a2;其中,t1<t2,a1<a2;步骤S42、设定一动作调制函数f(x),基于所述系统时间t、时间t1以及时间t2计算时间比率Rt:Rt=(t
‑
t1)/(t2
‑
t1);步骤S43、基于所述动作调制函数f(x)、时间比率Rt、角度a1以及角度a2计算实时角度a:(a
‑
a1)/(a2
‑
a1)=f(Rt)a=f(Rt)*(a2
‑
a1)+a1。6.一种基于关键帧动作的舵机控制系统,其特征在于:包括如下模块:动作控...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。