HI,欢迎来到起点商标网!
24小时服务QQ:2880605093

乒乓球发球机器人的多轴控制方法及多轴控制装置与流程

2021-01-11 12:01:43|270|起点商标网
乒乓球发球机器人的多轴控制方法及多轴控制装置与流程

本申请属于电机控制技术领域,具体涉及一种乒乓球发球机器人的多轴控制方法及多轴控制装置。



背景技术:

乒乓球作为国球深受国人的喜爱,因此越来越多的人参与到乒乓球的训练中来。然而,目前乒乓球训练时还主要依靠教练发球或者发球机发球。以机器人的形式实现教练形式发球的情况还十分少见。为了更好的帮助运动员进行日常的练习和训练,需要有一款能够发球的机器人来辅助他们训练。

现阶段关于乒乓球发球机器人的多轴同步控制的实现方式较少。现有的工业机器人或者服务机器人控制多采用工控机或者控制板卡的控制方式。工控机多为x86架构或者armcortex架构的cpu单元为主控制器的主板,控制多采用总线控制形式,例如,ethercat总线控制。这种机器人多轴电机同步控制的方案移植到乒乓球发球机器人控制上,虽然也可以实现乒乓球发球机器人的多轴控制,但是控制过程过于冗余复杂且实现成本高。



技术实现要素:

为至少在一定程度上克服相关技术中存在的问题,本申请提供了一种乒乓球发球机器人的多轴控制方法及多轴控制装置。

根据本申请实施例的第一方面,本申请提供了一种乒乓球发球机器人的多轴控制方法,其包括以下步骤:

获取乒乓球的有效发球轨迹;

按照乒乓球的有效发球轨迹,根据乒乓球发球机器人的关节数n,采用pwm的控制形式对乒乓球发球机器人的n-1个关节处的轴进行控制,采用can总线的控制形式对乒乓球发球机器人剩余的1个关节处的轴进行控制。

上述乒乓球发球机器人的多轴控制方法中,所述步骤按照乒乓球的有效发球轨迹,根据乒乓球发球机器人的关节数n,采用pwm的控制形式对乒乓球发球机器人的n-1个关节处的轴进行控制,采用can总线的控制形式对乒乓球发球机器人剩余的1个关节处的轴进行控制的具体过程为:

计算乒乓球发球机器人各关节处轴的周期任务;

根据乒乓球发球机器人的关节数n,设置n+1个时间片;

在第j个时间片向第j轴发送pwm脉冲,其中,1≤j≤n-1,且j为整数;

在第n个时间片向第n轴的can总线发送同步报文并通过can总线获取状态回复信息;

在第(n+1)个时间片向第n轴发送can位置指令;

判断各关节处轴是否已到达对应的轨迹目标位移,如果到达,则运行轨迹结束;否则进入下一个周期任务,重新在第1个时间片向第一轴发送pwm脉冲。

进一步地,所述步骤计算乒乓球发球机器人各关节处轴的周期任务中,各关节处轴的周期任务根据各关节处轴的轨迹运算得到,各关节处轴的轨迹指的是各关节处轴的位移与时间的函数以及速度与时间的函数;

各关节处轴在某控制周期的任务就是以该周期的运动速度运动到该周期的目标位移。

更进一步地,所述步骤计算乒乓球发球机器人各关节处轴的周期任务的过程为:

实际目标运动位移pf满足速度能够达到最大速度vmax,运动轨迹包括运动位移p与时间t的函数以及速度v与时间t的函数;

其中,运动位移p与时间t的函数为:

速度v与时间t的函数为:

式中,

实际目标运动位移pf满足速度无法达到最大速度vmax就开始减速,运动轨迹函数包括运动位移p与时间t的函数以及速度v与时间t的函数;

其中,运动位移p与时间t的函数为:

速度v与时间t的函数为:

式中,

更进一步地,根据所述动位移p与时间t的函数,得到第i个轴在第n+1个周期的运动位移δpi((n+1)t)的运算表达式为:

δpi((n+1)t)=pi((n+1)t)-pi(nt);

式中,pi((n+1)t)为pi(t)在第(n+1)t时刻的目标位移值,pi(nt)为pi(t)在第nt时刻的目标位移值,pi(t)是时间t和位置p的函数,t表示控制周期。

更进一步地,根据速度v与时间t的函数,得到第i个轴在第n+1个周期的运动速度在目标运动位移pf满足的情况下的表达式为:

得到第i个轴在第n+1个周期的运动速度在目标运动位移pf满足的情况下的表达式为:

进一步地,每个所述时间片的时长为其中,t表示控制周期。

进一步地,所述在第j个时间片向第j轴发送pwm脉冲的脉冲频率fpwm为:

fpwm(t)=kjv(t);

脉冲个数为cpwm为:

cpwm(t)=kjpj(t);

第n+1个周期的脉冲频率为:

fpwm((n+1)t)=kjv((n+1)t);

第n+1个周期的脉冲个数为:

δcpwm((n+1)t)=cpwm((n+1)t)-cpwm(nt);

通过在第n+1个周期,按照脉冲频率fpwm((n+1)t)向第j轴发送δcpwm((n+1)t)个脉冲,完成第j个时间片的任务;

其中,kj为第j轴的脉冲角度系数,vj(t)为第j轴的速度与时间的函数,pj(t)为第j轴的位移与时间的函数,1≤j≤n-1,且j为整数。

进一步地,所述判断各关节处轴是否已到达对应的轨迹目标位移,主要是比较当前时刻的位移p(t)和目标位移pf,如果p(t)=pf,则目标位移达到,运行结束;如果p(t)<pf,则目标位移未达到,重新进入下一个周期任务。

根据本申请实施例的第二方面,本申请还提供了一种乒乓球发球机器人的多轴控制装置,其包括:

存储器和处理器;

所述处理器被配置为基于存储在所述存储器中的指令,执行上述任一项所述的乒乓球发球机器人的多轴控制方法。

根据本申请的上述具体实施方式可知,至少具有以下有益效果:本申请采用单片机实现乒乓球发球机器人的多轴控制,能够大大降低硬件成本。本申请融合了脉冲控制和can总线控制的多关节控制,同时具有脉冲控制实现形式简单以及实现成本低的优势,以及can总线的状态读取回复的优势。本申请通过定时器将整个控制划分成为多个时间片,通过各时间片来实现对各个轴的控制,每个时间片运行不同的控制任务,实现逻辑简单且更加清晰。

应了解的是,上述一般描述及以下具体实施方式仅为示例性及阐释性的,其并不能限制本申请所欲主张的范围。

附图说明

下面的所附附图是本申请的说明书的一部分,其示出了本申请的实施例,所附附图与说明书的描述一起用来说明本申请的原理。

图1为本申请实施例提供的一种乒乓球发球机器人的多轴控制方法的流程图之一。

图2为本申请实施例提供的一种乒乓球发球机器人的多轴控制方法中控制过程的流程图。

图3为本申请实施例提供的一种乒乓球发球机器人的多轴控制方法中乒乓球发球机器人各轴运动梯形规划中的梯形曲线示意图。

图4为本申请实施例提供的一种乒乓球发球机器人的多轴控制方法中乒乓球发球机器人各轴运动梯形规划中的三角形曲线示意图。

图5为本申请实施例提供的一种乒乓球发球机器人的多轴控制方法的流程图之二。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚明白,下面将以附图及详细叙述清楚说明本申请所揭示内容的精神,任何所属技术领域技术人员在了解本申请内容的实施例后,当可由本申请内容所教示的技术,加以改变及修饰,其并不脱离本申请内容的精神与范围。

本申请的示意性实施例及其说明用于解释本申请,但并不作为对本申请的限定。另外,在附图及实施方式中所使用相同或类似标号的元件/构件是用来代表相同或类似部分。

关于本文中所使用的“第一”、“第二”、…等,并非特别指称次序或顺位的意思,也非用以限定本申请,其仅为了区别以相同技术用语描述的元件或操作。

关于本文中所使用的方向用语,例如:上、下、左、右、前或后等,仅是参考附图的方向。因此,使用的方向用语是用来说明并非用来限制本创作。

关于本文中所使用的“包含”、“包括”、“具有”、“含有”等等,均为开放性的用语,即意指包含但不限于。

关于本文中所使用的“及/或”,包括所述事物的任一或全部组合。

关于本文中的“多个”包括“两个”及“两个以上”;关于本文中的“多组”包括“两组”及“两组以上”。

关于本文中所使用的用语“大致”、“约”等,用以修饰任何可以细微变化的数量或误差,但这些微变化或误差并不会改变其本质。一般而言,此类用语所修饰的细微变化或误差的范围在部分实施例中可为20%,在部分实施例中可为10%,在部分实施例中可为5%或是其他数值。本领域技术人员应当了解,前述提及的数值可依实际需求而调整,并不以此为限。

某些用以描述本申请的用词将于下或在此说明书的别处讨论,以提供本领域技术人员在有关本申请的描述上额外的引导。

本申请提供的乒乓球发球机器人的多轴控制方法用于控制模拟人的动作实现教练形式的发球的乒乓球发球机器人,其通过单片机实现对乒乓球发球机器人的多轴控制,既能够满足机器人多轴控制的需求,也能够实现控制过程简单且成本低的目的。

图1为本申请实施例提供的一种乒乓球发球机器人的多轴控制方法的流程图。

如图1所示,本申请提供的乒乓球发球机器人的多轴控制方法包括以下步骤:

s1、获取乒乓球的有效发球轨迹;

s2、按照乒乓球的有效发球轨迹,根据乒乓球发球机器人的关节数n,采用pwm(脉宽调制)的控制形式对乒乓球发球机器人的n-1个关节处的轴进行控制,采用can总线的控制形式对乒乓球发球机器人剩余的1个关节处的轴进行控制,如图2所示,其具体过程为:

s21、计算乒乓球发球机器人各关节处轴的周期任务;

其中,各关节处轴的周期任务根据各关节处轴的轨迹运算得到,各关节处轴的轨迹指的是各关节处轴的位移与时间的函数以及速度与时间的函数。

在每一个新的控制周期的开始,计算各关节处轴的运动位移以及该控制周期的运动速度。

各关节处轴在该控制周期的任务就是以该周期的运动速度运动到该周期的目标位移。

各关节处轴均采用梯形规划,其加速度为a,根据速度v是否到达最大规划速度vmax,这里通常要分两种情况来讨论:

第一种情况,实际目标运动位移pf较大,即速度可以达到最大速度vmax,最终速度曲线如图3所示的梯形曲线。

第二种情况,实际目标运动位移pf较小,即速度无法达到最大速度vmax就开始减速,最终速度曲线如图4所示的三角形曲线。

对于第一种情况,运动轨迹函数包括运动位移p与时间t的函数以及速度v与时间t的函数。

其中,运动位移p与时间t的函数为:

速度v与时间t的函数为:

式(1)和式(2)中,

对于第二种情况,运动轨迹函数包括运动位移p与时间t的函数以及速度v与时间t的函数。

其中,运动位移p与时间t的函数为:

速度v与时间t的函数为:

式(3)和式(4)中,

根据上述运动位移p与时间t的函数,可以得到第i个轴在第n+1个周期的运动位移δpi((n+1)t)的运算表达式为:

δpi((n+1)t)=pi((n+1)t)-pi(nt)(5)

式(5)中,pi((n+1)t)为pi(t)在第(n+1)t时刻的目标位移值,pi(nt)为pi(t)在第nt时刻的目标位移值,pi(t)是时间t和位置p的函数,t表示控制周期。

根据上述速度v与时间t的函数,可以得到第i个轴在第n+1个周期的运动速度在第一种情况下的表达式为:

可以得到第i个轴在第n+1个周期的运动速度在第二种情况下的表达式为:

因此,得到了第i个轴在第n+1个周期的运动位移δpi((n+1)t)和运动速度vi((n+1)t)。

需要说明的是,在本申请实施例中,乒乓球发球机器人的各关节处对应设置有一个轴,也就是说关节数与轴数相同,均为n。

s22、根据乒乓球发球机器人的关节数n,设置n+1个时间片,结合控制周期t得到每个时间片的时长为

s23、在第j个时间片向第j轴发送pwm脉冲。

根据第j轴的运动位移及运动速度,第j轴的脉冲产生单元会在该周期内产生运动位移的脉冲,脉冲频率即为第j轴的运动速度。

一般的电机的运动角度和脉冲个数有某对应关系,例如,细分数2000的步进电机旋转360度需要的脉冲数为2000个,因此,脉冲角度系数k为2000除以360,得到每角度的脉冲个数。因此,脉冲个数由角度位移乘以k得到。脉冲频率由运动速度乘以系数k得到。

脉冲频率fpwm为:

fpwm(t)=kjv(t)(8)

脉冲个数cpwm为:

cpwm(t)=kjpj(t)(9)

第n+1个周期的脉冲频率为:

fpwm((n+1)t)=kjv((n+1)t)(10)

第n+1个周期的脉冲个数为:

δcpwm((n+1)t)=cpwm((n+1)t)-cpwm(nt)(11)

在第n+1个周期,按照式(10)的脉冲频率fpwm((n+1)t)向第j轴发送式(11)计算得到的δcpwm((n+1)t)个脉冲即可完成第j个时间片的任务。其中,计算过程中的kj为第j轴的脉冲角度系数,vj(t)为第j轴的速度与时间的函数,pj(t)为第j轴的位移与时间的函数。其中,1≤j≤n-1,且j为整数。

s24、在第n个时间片向第n轴的can总线发送同步报文并通过can总线获取状态回复信息。

同步报文即canopen协议里的同步帧,在本申请中,控制器做can主站,驱动器做从站,同步帧设置为0x80报文内容,由控制器向can总线上发送0x80作为can帧同步指令,驱动器向控制器回复伺服驱动的状态字帧,控制器根据伺服驱动的状态字帧判断伺服驱动是否有报错等状态监控信息。

s25、在第(n+1)个时间片向第n轴发送can位置指令。

位置指令根据第n轴的运动轨迹计算得到,第n轴在该周期的目标位移如式(1)或式(3)所示,通过canopen协议里的目标位移指令在第n+1个周期向伺服驱动器的第n轴发送目标位移p((n+1)t),支持位置插补模式的伺服驱动器会进行插补运算,并控制电机运行到目标位移。其中,支持can协议的伺服驱动器属于现有技术,已经是非常成熟的产品。

s26、判断各关节处轴是否已到达对应的轨迹目标位移,如果到达,则运行轨迹结束,返回步骤s1,重新获取乒乓球的有效发球轨迹;否则返回步骤s23,进入下一个周期任务。

判断各关节处轴是否已到达对应的轨迹目标位移,主要是比较当前时刻的位移p(t)和目标位移pf,如果p(t)=pf,则目标位移达到,运行结束;如果p(t)<pf,则目标位移未达到,返回步骤s23,进入下一个周期任务。

为便于更清楚地理解上述乒乓球发球机器人的多轴控制方法的流程,下面采用具体的实施例进行说明。

假设乒乓球发球机器人为5轴机器人,采用pwm的控制形式对乒乓球发球机器人的4个关节处的轴进行控制,采用can总线的控制形式对乒乓球发球机器人剩余的1个关节处的轴进行控制。其中,pwm的控制形式通过发脉冲的形式实现,can总线控制通过发can报文的形式实现。通过采用can总线,能够更多地获取其所控制轴的状态信息,例如,获取伺服是否报错的状态字等。控制周期t为6ms。

采用can总线的控制形式控制的乒乓球发球机器人剩余的1个关节处的轴为挥拍轴,可以采用can总线来获取更多的状态信息,例如,当前速度、力矩等。因为速度和力矩决定了当前乒乓球发球机器人的出球速度等,需要单独的获取该轴信息来实现期望的发球轨迹。

图5为本申请实施例提供的一种乒乓球发球机器人的多轴控制方法的流程图之二。

如图5所示,将单片机的1个16位定时器作为精准定时时基,其定时中断设为最高优先级,1ms定时器时间到达,产生定时器中断,因此该定时器将整个控制划分成6个1ms的时间片,通过1ms时间片来实现各个轴的协同控制,每个1ms运行不同的控制任务,这些控制任务包括实现pwm脉冲的下发、can同步报文的下发、can位置指令的下发等多轴控制所需的指令。

在第1ms向第一轴发送pwm脉冲。

在第2ms向第二轴发送pwm脉冲。

在第3ms向第三轴发送pwm脉冲。

在第4ms向第四轴发送pwm脉冲。

在第5ms向第五轴的can总线发送同步报文并通过can总线获取状态回复信息。

在第6ms向第六轴发送can位置指令。

判断各关节处轴是否已到达对应的轨迹目标位移,如果到达,则运行轨迹结束;否则进入下一个6ms周期任务。

通过上述以6ms为周期的多轴任务执行控制过程,实现乒乓球发球机器人需求的机器人各关节的运动轨迹。

与传统的工控机及控制卡的基于x86架构或者armcortex架构的cpu单元为主控制器的方案相比,本申请采用单片机实现乒乓球发球机器人的多轴控制,能够大大降低硬件成本。

本申请融合了脉冲控制和can总线控制的多关节控制,同时具有脉冲控制实现形式简单以及实现成本低的优势,以及can总线的状态读取回复的优势。

本申请通过定时器将整个控制划分成每个时长为的时间片,通过各时间片来实现对各个轴的控制,每个时间片运行不同的控制任务,实现逻辑简单且更加清晰。

在示例性实施例中,本申请实施例还提供了一种乒乓球发球机器人的多轴控制装置,其包括存储器以及耦接至该存储器的处理器,处理器被配置为基于存储在存储器中的指令,执行本申请中任一个实施例中的乒乓球发球机器人的多轴控制方法。

其中,存储器可以为系统存储器或固定非易失性存储介质等,系统存储器可以存储有操作系统、应用程序、引导装载程序、数据库以及其他程序等。

在示例性实施例中,本申请实施例还提供了一种计算机存储介质,是计算机可读存储介质,例如,包括计算机程序的存储器,上述计算机程序可由处理器执行,以完成本申请中任一个实施例中的乒乓球发球机器人的多轴控制方法。

上述的本申请实施例可在各种硬件、软件编码或两者组合中进行实施。例如,本申请的实施例也可表示在数据信号处理器(digitalsignalprocessor,dsp)中执行上述方法的程序代码。本申请也可涉及计算机处理器、数字信号处理器、微处理器或现场可编程门阵列(fieldprogrammablegatearray,fpga)执行的多种功能。可根据本申请配置上述处理器执行特定任务,其通过执行定义了本申请揭示的特定方法的机器可读软件代码或固件代码来完成。可将软件代码或固件代码发展表示不同的程序语言与不同的格式或形式。也可表示不同的目标平台编译软件代码。然而,根据本申请执行任务的软件代码与其他类型配置代码的不同代码样式、类型与语言不脱离本申请的精神与范围。

以上所述仅表示本申请示意性的具体实施方式,在不脱离本申请的构思和原则的前提下,任何本领域的技术人员所做出的等同变化与修改,均应属于本申请保护的范围。

起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。

此文章来源于网络,如有侵权,请联系删除

tips