发明内容
本发明旨在至少解决现有技术或相关技术中存在的技术问题之一。
为此,本发明的第一方面提出一种机器人的减速控制方法。
本发明的第二方面提出一种机器人的减速控制装置。
本发明的第三方面提出一种机器人组件。
本发明的第四方面提出一种可读存储介质。
本发明的第五方面提出另一种机器人组件。
有鉴于此,本发明的第一方面提供了一种机器人的减速控制方法,其中,机器人包括关节,控制方法包括:采集关节的运动数据;根据运动数据,确定关节的力矩信息和力矩输出极值;根据力矩输出极值,确定机器人的第一减速度值;根据第一减速度值和力矩信息,确定机器人的运动曲线;基于运动曲线,控制机器人减速。
在该技术方案中,机器人包括关节,关节具体可以是机械臂上的一个活动轴,且关节通关电机驱动以实现围绕关节轴的转动,从而使机器人改变姿态。
在机器人运动过程中,当运动达到减速环节时,机器人通过编码器或设置在关节处的传感器,获取关节运动时的运动数据,根据该运动数据,对关节当前的力矩信息,以及关节的力矩输出极值进行确定。
然后,基于机器人动力学,根据关节的运动数据和机器人动力学,计算第一减速度值,其中,第一减速度值具体可以是机器人在减速运动时,在保证运行稳定和运动精度的前提下,能够实现的最大减速度值。
根据该第一减速度值和机器人的关节的力矩输出极值,确定运动曲线,运动曲线用于控制机器人进行制动停车的减速运动过程,基于该运动曲线控制机器人进行减速运动。
其中,由于该运动曲线是根据第一减速度值,也即机器人在减速运动过程中能够接收的最大减速度值进行确定,因此在通过该运动曲线控制机器人进行减速运动时,能够充分利用关节电机的减速力矩,从而有效提高减速运动时的制动力,从而降低机器人的停车距离,在需要紧急停止时,能够快速的实现制动,一方面提高机器人的停车效率,一方面能够降低紧急停车时的停车风险,保证生产安全。
另外,本发明提供的上述技术方案中的减速控制方法还可以具有如下附加技术特征:
在上述技术方案中,运动数据包括关节减速度、关节位置和关节速度;根据运动数据,确定关节的力矩信息和力矩输出极值,包括:根据关节减速度、关节位置、关节速度和力矩方程,确定力矩信息;根据关节速度和关节的力矩转速特性曲线,确定力矩输出极值。
在该技术方案中,关节的运动数据,具体包括关节减速度
关节位置、关节速度,还包括当前的关节速度。
其中,力矩方程包括惯性矩阵M(q)、速度项力矩方程
重力项力矩方程G(q)和摩擦力项力矩方程
具体地,在确定力矩信息时,可通过以下方程式进行计算:
其中,τ为力矩信息,M(q)为惯性矩阵,
为关节减速度,
为速度项力矩方程、G(q)为重力项力矩方程,
为摩擦力项力矩方程。
同时,根据关节速度和关节的力矩-转速的特性曲线,能够确定对应的力矩输出极值,其中,力矩输出极值具体可以理解成机器人的关节处的电机的最大力矩输出能力。力矩-转速的特性曲线具体为指示伺服电机的力矩特性和伺服电机的转速特性之间的关系的曲线图,该曲线图可以通过以下方程式进行表达:
τmax=TN(v)
其中,τmax为力矩输出极值,v为关节转速。
基于上述力矩转速特性曲线方程,和获取到的关节转速,能够对当前关节的力矩输出极值进行准确计算。
在上述任一技术方案中,根据力矩输出极值,确定机器人的第一减速度值,包括:根据力矩输出极值和力矩方程,确定关节对应的减速度阈值;根据减速度阈值,确定第一减速度值。
在该技术方案中,在确定第一减速度值时,可以通过机器人的关节的减速度阈值、关节的力矩输出机制和对应的力矩方程,来进行计算。
具体地,机器人的关节的减速度阈值,具体是在保证机器人姿态运行稳定性,关节的运动精度和关节自身的结构强度的前提下,关节能够承受的最大减速度值。
通过该减速度阈值来约束机器人减速运动过程中的第一减速度值,也即机器人减速运动过程中的最大减速度值,能够有效地保证机器人的运行稳定性和运动精度,在应对紧急刹车等情况时,也能够避免减速度过大损坏电机或关节,保证机器人的使用寿命。
具体地,可以通过以下方程,计算减速度阈值;
其中,
为关节的减速度阈值,τ
max为关机电机的力矩输出极值,M(q)为惯性矩阵,
为速度项力矩方程、G(q)为重力项力矩方程,
为摩擦力项力矩方程。
在上述任一技术方案中,根据减速度阈值,确定第一减速度值,包括:确定机器人的运动类型,其中,运动类型包括点对点运动和笛卡尔运动;根据运动类型和减速度阈值,确定第一减速度值。
在该技术方案中,机器人的运动类型,具体可以包括点对点运动(PTP运动)和笛卡尔运动。其中,点对点运动具体是机器人沿最快的路径将静态工具中心点(TCP,ToolCenter Point)从起始点引导至目标点的运动方式,笛卡尔运动则是按照笛卡尔坐标系引导机器人改变姿态的运动方式。
对于不同的运动方式,其对应的最大减速度值可能不同,因此可以根据上述方案中确定的减速度阈值,结合机器人的实际运动类型,来确定第一减速度值,从而保证得到的第一减速度值与机器人的运动类型相匹配。
在上述任一技术方案中,根据运动类型和减速度阈值,确定第一减速度值,包括:基于运动类型为点对点运动,根据关节的空间运动方向和减速度阈值,确定第一减速度值;基于运动类型为笛卡尔运动,根据关节的当前减速度值和减速度阈值,确定第一减速度值。
在该技术方案中,如果机器人的运动类型是PTP运动,也即点对点运动,则确定关节空间运动方向,和关节的减速度阈值,对指示接下来的减速运动的第一减速度值进行确定。
具体地,对于点对点运动的运动类型,可通过以下方程,对第一减速度值进行计算:
其中,Dec
max为第一减速度值,也即输入给机器人速度规划器的最大减速度值,Direction为机器人的关节空间运动方向,
为关节的减速度阈值。
如果机器人的运动类型是笛卡尔运动,则进一步获取关节当前的减速度值,根据关节当前的减速度值和关节的减速度阈值,对指示接下来的减速运动的第一减速度值进行确定。
具体地,对于笛卡尔运动的运动类型,可通过以下方程,对第一减速度值进行计算:
Decmax=K×Deccur
其中,
为当前减速度值,
为减速度阈值,Dec
cur为当前输入给机器人速度规划器的减速度值,Dec
max为第一减速度值。
在上述任一技术方案中,根据力矩输出极值,确定机器人的第一减速度值,包括:根据力矩信息和力矩输出极值,确定对应的增益值;获取预设策略;基于预设策略和增益值,确定第一减速度值。
在该技术方案中,在确定了机器人的关节处电机的力矩输出极值后,可通过当前关节的力矩信息和该关节对应电机的力矩输出极值,确定对应的增益值,并基于该增益值的具体大小,通过该预设策略对接下来的第一减速度值进行增益,即增加机器人减速运动时的减速度值,从而使机器人在进行减速运动时,能够充分利用关节电机的减速力矩,有效提高减速运动时的制动力,降低机器人的停车距离。
具体地,增益值为K,根据K和预设策略,对第一减速度值进行确定。
其中,预设策略包括:
if K≥tovershoot,then K1=K×weight;
Decmax=Deccur×1/K1。
其中,K为增益值,tovershoot为力矩超调比例,该力矩超调比例可根据机器人的技术需求确定,weight为力矩超限惩罚权重,weight为预设值,Decmax为第一减速度值,Deccur为当前减速度值。
预设策略还包括:
if K>K0,then Decmax=Deccur×1/K
其中,K0为增益阈值,Decmax为第一减速度值,Deccur为当前减速度值。
预设策略还包括:
if K>0,then Decmax=Decstop×Decfactor
else
Decmax=Decstop
其中,Decmax为第一减速度值,Decstop为系统设定的预设停车减速度,Decfactor为系统减速度因子,其中Decfactor可根据测试标定。
在上述任一技术方案中,根据力矩信息和力矩输出极值,确定对应的增益值,包括:根据力矩信息和力矩输出极值,确定关节的力矩使用率;根据力矩使用率的最大值,确定增益值。
在该技术方案中,增益值用于对电机在减速运动过程中的减速度值进行增益,从而充分利用关节电机的减速力矩。在确定对应的增益值时,可以根据当前关节的力矩信息,也即关节电机实际输出的力矩值,和关机电机的力矩输出极值,也即关节电机能够输出的最大力矩值,来确定关节电机的力矩使用率,也就是说,确定当前关节电机“出了多少力”。
根据关节电机的力矩使用率来确定后续控制机器人减速时的第一减速度,能够有效提高关节电机的减速力矩利用率,提高减速效果。
具体地,可通过以下方程计算关节电机的力矩使用率:
Tutility=τ÷τmax
其中,Tutility为力矩使用率,τ为当前关节的力矩信息,τmax为关节的电机的力矩输出极值。
根据关节电机的力矩使用率的最大值,确定对应的增益值,具体地,可通过以下方程确定增益值:
K=Max(Tutility(i))
其中,K为增益值,Tutility(i)为关节在减速运动过程中,i个减速周期对应的力矩使用率。
在上述任一技术方案中,减速控制方法还包括:获取关节的当前减速度值和预设的减速度因子;根据当前减速度值和减速度因子,确定第二减速度值;基于第二减速度值更新运动曲线。
在该技术方案中,在控制机器人进行减速运动的过程中,还可以通过当前关节的减速度值,和系统预设的减速度因子,对机器人的关节的当前减速度值进行修正,从而得到第二减速度值,其中,第二减速度值大于当前减速度值,基于第二减速度值更新运动曲线,并按照更新后的运动权限控制机器人进行减速运动,能够使机器人在减速运动过程中,更加充分地利用关节电机的减速力矩,减少停车距离。
在上述任一技术方案中,获取关节的当前减速度值,包括:基于关节开始减速运动,采集当前减速度值;基于关节未开始减速运动,将当前减速度值取值为预设减速度值。
在该技术方案中,对于已经开始减速运动的情况,也就是说关节已经处于运动状态,也即不是第一次进行减速规划,此时,可直接采集关节的当前减速度值。而如果关节没有开始减速运动,也即首次进行减速规划,此时,可以将关节的当前减速度值设置为系统标定的预设减速度值,从而针对不同的情况均可以实现对减速度的有效规划,降低停车距离。
在上述任一技术方案中,减速控制方法还包括:根据二分搜索算法和当前减速度值,确定第三减速度值;基于第三减速度值更新运动曲线。
在该技术方案中,可以通过采集到的关节的当前减速度,和系统预设的减速度因子,来对第二减速度进行确定。
具体地,二分搜索算法可以包括:
设置Declow=Dec0,Decupper=Dec1,Decn=Decupper;
设置vn=f1(Decn,tn),pn=f2(Decn,vn,tn),τ=g(pn,vn,an),τmax=TN(vn);
判断τ<τmax是否成立;是则设置Decmax=Decn;否则进一步判断i<N是否成立,是则设置Decn=(Declow+Decupper)÷2,否则设置Decmax=Decn,其中,i是二分法迭代计算的迭代次数,N为二分法迭代计算允许的最大迭代次数,N与DECmax的确定精度相关;
设置vn=f1(Decn,tn),pn=f2(Decn,vn,tn),τ=g(pn,vn,an),τmax=TN(vn);
再次判断判断τ<τmax是否成立;是则设置Declow=Decmid,否则设置Decupper=Decmid,并返回判断i<N是否成立。
在上述算法中,Decn为下一个周期的目标减速度值(即第二减速度值),vn为下一个周期的速度,pn为下一个周期的减速度,τ为关节的力矩信息,tn为下一个周期的时刻值,Decupper为减速度的上边界值,Dec1为Decupper的初始值,Declow为减速度的下边界值,Dec0为Declow的初始值。
通过二分搜索算法确定下个周期的第三减速度值,并基于第三减速度值更新运动曲线,通过更新后的运动曲线控制机器人进行减速运动时,能够充分利用关节电机的减速力矩,从而有效提高减速运动时的制动力,降低机器人的停车距离。
在上述任一技术方案中,运动曲线包括位置信息、速度信息和减速度信息。
在该技术方案中,运动曲线能够指示在下个周期中速度规划期输出的位置、速度和减速度,从而控制机器人在下一个周期中,按照速度曲线指示的速度信息以及减速度信息运动至目标位置。
其中,在通过第一减速度值或第二减速度值,确定或更新所述机器人的运动曲线是,可以通过以下方程表达:
(p,v,d)=f(p0,v0,d0,Decmax,Jd,t)
其中,P0为当前速度规划器输出的位置,V0为当前速度规划器输出的速度,d0为当前速度规划器输出的减速度,jd为为加价速度(设Dec是速度对时间的求导,jd即Dec对时间的求导),t为下个周期的时刻值,Decmax为第一减速度值或第二减速度值,p为根据第一减速度值或第二减速度值修正后的速度规划器输出的位置,V为根据第一减速度值或第二减速度值修正后的速度规划器输出的速度,d为根据第一减速度值或第二减速度值修正后的速度规划器输出的减速度。
本发明第二方面提供了一种机器人的减速控制装置,机器人包括关节,控制装置包括:采集模块,用于采集关节的运动数据;确定模块,用于根据运动数据,确定关节的力矩信息和力矩输出极值;根据力矩输出极值,确定机器人的第一减速度值;根据第一减速度值和力矩信息,确定机器人的运动曲线;控制模块,用于基于运动曲线,控制机器人减速。
在该技术方案中,机器人包括关节,关节具体可以是机械臂上的一个活动轴,且关节通关电机驱动以实现围绕关节轴的转动,从而使机器人改变姿态。
在机器人运动过程中,当运动达到减速环节时,机器人通过编码器或设置在关节处的传感器,获取关节运动时的运动数据,根据该运动数据,对关节当前的力矩信息,以及关节的力矩输出极值进行确定。
然后,基于机器人动力学,根据关节的运动数据和机器人动力学,计算第一减速度值,其中,第一减速度值具体可以是机器人在减速运动时,在保证运行稳定和运动精度的前提下,能够实现的最大减速度值。
根据该第一减速度值和机器人的关节的力矩输出极值,确定运动曲线,运动曲线用于控制机器人进行制动停车的减速运动过程,基于该运动曲线控制机器人进行减速运动。
其中,由于该运动曲线是根据第一减速度值,也即机器人在减速运动过程中能够接收的最大减速度值进行确定,因此在通过该运动曲线控制机器人进行减速运动时,能够充分利用关节电机的减速力矩,从而有效提高减速运动时的制动力,从而降低机器人的停车距离,在需要紧急停止时,能够快速的实现制动,一方面提高机器人的停车效率,一方面能够降低紧急停车时的停车风险,保证生产安全。
本发明第三方面提供了一种机器人组件,包括:存储器,用于存储程序或指令;处理器,用于执行程序或指令时实现如上述任一技术方案中提供的机器人的减速控制方法的步骤,因此,该机器人组件同时包括如上述任一技术方案中提供的机器人的减速控制方法的全部有益效果,为避免重复,在此不再赘述。
本发明第四方面提供了一种可读存储介质,其上存储有程序或指令,程序或指令被处理器执行时实现如上述任一技术方案中提供的机器人的减速控制方法的步骤,因此,该可读存储介质同时包括如上述任一技术方案中提供的机器人的减速控制方法的全部有益效果,为避免重复,在此不再赘述。
本发明第五方面提供了一种机器人组件,包括如上述任一技术方案中提供的机器人的减速控制装置;和/或如上述任一技术方案中提供的可读存储介质,因此,该机器人组件同时包括如上述任一技术方案中提供的机器人的减速控制装置和/或如上述任一技术方案中提供的可读存储介质的可读存储介质,为避免重复,在此不再赘述。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
下面参照图1至图3描述根据本发明一些实施例所述机器人的减速控制方法和装置、机器人组件和存储介质。
实施例一
在本发明的一些实施例中,提供了一种机器人的减速控制方法,其中,机器人包括关节,图1示出了根据本发明实施例的减速控制方法的流程图,如图1所示,控制方法包括:
步骤102,采集关节的运动数据;
步骤104,根据运动数据,确定关节的力矩信息和力矩输出极值;
步骤106,根据力矩输出极值,确定机器人的第一减速度值;
步骤108,根据第一减速度值和力矩信息,确定机器人的运动曲线;
步骤110,基于运动曲线,控制机器人减速。
在本发明实施例中,机器人包括关节,关节具体可以是机械臂上的一个活动轴,且关节通关电机驱动以实现围绕关节轴的转动,从而使机器人改变姿态。
在机器人运动过程中,当运动达到减速环节时,机器人通过编码器或设置在关节处的传感器,获取关节运动时的运动数据,根据该运动数据,对关节当前的力矩信息,以及关节的力矩输出极值进行确定。
然后,基于机器人动力学,根据关节的运动数据和机器人动力学,计算第一减速度值,其中,第一减速度值具体可以是机器人在减速运动时,在保证运行稳定和运动精度的前提下,能够实现的最大减速度值。
根据该第一减速度值和机器人的关节的力矩输出极值,确定运动曲线,运动曲线用于控制机器人进行制动停车的减速运动过程,基于该运动曲线控制机器人进行减速运动。
其中,由于该运动曲线是根据第一减速度值,也即机器人在减速运动过程中能够接收的最大减速度值进行确定,因此在通过该运动曲线控制机器人进行减速运动时,能够充分利用关节电机的减速力矩,从而有效提高减速运动时的制动力,从而降低机器人的停车距离,在需要紧急停止时,能够快速的实现制动,一方面提高机器人的停车效率,一方面能够降低紧急停车时的停车风险,保证生产安全。
在本发明的一些实施例中,运动数据包括关节减速度、关节位置和关节速度;根据运动数据,确定关节的力矩信息和力矩输出极值,包括:根据关节减速度、关节位置、关节速度和力矩方程,确定力矩信息;根据关节速度和关节的力矩转速特性曲线,确定力矩输出极值。
在本发明实施例中,关节的运动数据,具体包括关节减速度
关节位置、关节速度还包括当前的关节速度。
其中,力矩方程包括惯性矩阵M(q)、速度项力矩方程
重力项力矩方程G(q)和摩擦力项力矩方程
具体地,在确定力矩信息时,可通过以下方程式进行计算:
其中,τ为力矩信息,M(q)为惯性矩阵,
为关节减速度,
为速度项力矩方程、G(q)为重力项力矩方程,
为摩擦力项力矩方程。
同时,根据关节速度和关节的力矩-转速的特性曲线,能够确定对应的力矩输出极值,其中,力矩输出极值具体可以理解成机器人的关节处的电机的最大力矩输出能力。力矩-转速的特性曲线具体为指示伺服电机的力矩特性和伺服电机的转速特性之间的关系的曲线图,该曲线图可以通过以下方程式进行表达:
τmax=TN(v)
其中,τmax为力矩输出极值,v为关节转速。
基于上述力矩转速特性曲线方程,和获取到的关节转速,能够对当前关节的力矩输出极值进行准确计算。
在本发明的一些实施例中,根据力矩输出极值,确定机器人的第一减速度值,包括:根据力矩输出极值和力矩方程,确定关节对应的减速度阈值;根据减速度阈值,确定第一减速度值。
在本发明实施例中,在确定第一减速度值时,可以通过机器人的关节的减速度阈值、关节的力矩输出机制和对应的力矩方程,来进行计算。
具体地,机器人的关节的减速度阈值,具体是在保证机器人姿态运行稳定性,关节的运动精度和关节自身的结构强度的前提下,关节能够承受的最大减速度值。
通过该减速度阈值来约束机器人减速运动过程中的第一减速度值,也即机器人减速运动过程中的最大减速度值,能够有效地保证机器人的运行稳定性和运动精度,在应对紧急刹车等情况时,也能够避免减速度过大损坏电机或关节,保证机器人的使用寿命。
具体地,可以通过以下方程,计算减速度阈值;
其中,
为关节的减速度阈值,τ
max为关机电机的力矩输出极值,M(q)为惯性矩阵,
为速度项力矩方程、G(q)为重力项力矩方程,
为摩擦力项力矩方程。
在本发明的一些实施例中,根据减速度阈值,确定第一减速度值,包括:确定机器人的运动类型,其中,运动类型包括点对点运动和笛卡尔运动;根据运动类型和减速度阈值,确定第一减速度值。
在本发明实施例中,机器人的运动类型,具体可以包括点对点运动(PTP运动)和笛卡尔运动。其中,点对点运动具体是机器人沿最快的路径将静态工具中心点(TCP,ToolCenter Point)从起始点引导至目标点的运动方式,笛卡尔运动则是按照笛卡尔坐标系引导机器人改变姿态的运动方式。
对于不同的运动方式,其对应的最大减速度值可能不同,因此可以根据上述方案中确定的减速度阈值,结合机器人的实际运动类型,来确定第一减速度值,从而保证得到的第一减速度值与机器人的运动类型相匹配。
在本发明的一些实施例中,根据运动类型和减速度阈值,确定第一减速度值,包括:基于运动类型为点对点运动,根据关节的空间运动方向和减速度阈值,确定第一减速度值;基于运动类型为笛卡尔运动,根据关节的当前减速度值和减速度阈值,确定第一减速度值。
在本发明实施例中,如果机器人的运动类型是PTP运动,也即点对点运动,则确定关节空间运动方向,和关节的减速度阈值,对指示接下来的减速运动的第一减速度值进行确定。
具体地,对于点对点运动的运动类型,可通过以下方程,对第一减速度值进行计算:
其中,Decmax为第一减速度值,也即输入给机器人速度规划器的最大减速度值,Direction为机器人的关节空间运动方向。
如果机器人的运动类型是笛卡尔运动,则进一步获取关节当前的减速度值,根据关节当前的减速度值和关节的减速度阈值,对指示接下来的减速运动的第一减速度值进行确定。
具体地,对于笛卡尔运动的运动类型,可通过以下方程,对第一减速度值进行计算:
Decmax=K×Deccur
其中,
为当前减速度值,
为减速度阈值,Dec
cur为当前输入给机器人速度规划器的减速度值,Dec
max为第一减速度值。
在本发明的一些实施例中,根据力矩输出极值,确定机器人的第一减速度值,包括:根据力矩信息和力矩输出极值,确定对应的增益值;获取预设策略;基于预设策略和增益值,确定第一减速度值。
在本发明实施例中,在确定了机器人的关节处电机的力矩输出极值后,可通过当前关节的力矩信息和该关节对应电机的力矩输出极值,确定对应的增益值,并基于该增益值的具体大小,通过该预设策略对接下来的第一减速度值进行增益,即增加机器人减速运动时的减速度值,从而使机器人在进行减速运动时,能够充分利用关节电机的减速力矩,有效提高减速运动时的制动力,降低机器人的停车距离。
具体地,增益值为K,根据K和预设策略,对第一减速度值进行确定。
其中,预设策略包括:
if K≥tovershoot,then K1=K×weight;
Decmax=Deccur×1/K1。
其中,K为增益值,tovershoot为力矩超调比例,该力矩超调比例可根据机器人的技术需求确定,weight为力矩超限惩罚权重,weight为预设值,Decmax为第一减速度值,Deccur为当前减速度值。
预设策略还包括:
if K>K0,then Decmax=Deccur×1/K
其中,K0为增益阈值,Decmax为第一减速度值,Deccur为当前减速度值。
预设策略还包括:
if K>0,then Decmax=Decstop×Decfactor
else
Decmax=Decstop
其中,Decmax为第一减速度值,Decstop为系统设定的预设停车减速度,Decfactor为系统减速度因子,其中Decfactor可根据测试标定。
在本发明的一些实施例中,根据力矩信息和力矩输出极值,确定对应的增益值,包括:根据力矩信息和力矩输出极值,确定关节的力矩使用率;根据力矩使用率的最大值,确定增益值。
在本发明实施例中,增益值用于对电机在减速运动过程中的减速度值进行增益,从而充分利用关节电机的减速力矩。在确定对应的增益值时,可以根据当前关节的力矩信息,也即关节电机实际输出的力矩值,和关机电机的力矩输出极值,也即关节电机能够输出的最大力矩值,来确定关节电机的力矩使用率,也就是说,确定当前关节电机“出了多少力”。
根据关节电机的力矩使用率来确定后续控制机器人减速时的第一减速度,能够有效提高关节电机的减速力矩利用率,提高减速效果。
具体地,可通过以下方程计算关节电机的力矩使用率:
Tutility=τ÷τmax
其中,Tutility为力矩使用率,τ为当前关节的力矩信息,τmax为关节的电机的力矩输出极值。
根据关节电机的力矩使用率的最大值,确定对应的增益值,具体地,可通过以下方程确定增益值:
K=Max(Tutility(i))
其中,K为增益值,Tutility(i)为关节在减速运动过程中,i个减速周期对应的力矩使用率。
在本发明的一些实施例中,减速控制方法还包括:获取关节的当前减速度值和预设的减速度因子;根据当前减速度值和减速度因子,确定第二减速度值;基于第二减速度值更新运动曲线。
在本发明实施例中,在控制机器人进行减速运动的过程中,还可以通过当前关节的减速度值,和系统预设的减速度因子,对机器人的关节的当前减速度值进行修正,从而得到第二减速度值,其中,第二减速度值大于当前减速度值,基于第二减速度值更新运动曲线,并按照更新后的运动权限控制机器人进行减速运动,能够使机器人在减速运动过程中,更加充分地利用关节电机的减速力矩,减少停车距离。
在本发明的一些实施例中,获取关节的当前减速度值,包括:基于关节开始减速运动,采集当前减速度值;基于关节未开始减速运动,将当前减速度值取值为预设减速度值。
在本发明实施例中,对于已经开始减速运动的情况,也就是说关节已经处于运动状态,也即不是第一次进行减速规划,此时,可直接采集关节的当前减速度值。而如果关节没有开始减速运动,也即首次进行减速规划,此时,可以将关节的当前减速度值设置为系统标定的预设减速度值,从而针对不同的情况均可以实现对减速度的有效规划,降低停车距离。
在本发明的一些实施例中,减速控制方法包括:根据二分搜索算法和当前减速度值,确定第三减速度值;基于第三减速度值更新运动曲线。
在本发明实施例中,可以通过采集到的关节的当前减速度,和系统预设的减速度因子,来对第三减速度进行确定。
具体地,图2示出了根据本发明实施例的二分搜索算法的逻辑示意图,如图2所示,二分搜索算法可以包括以下过程:
步骤202,Declow=Dec0,Decupper=Dec1,Decn=Decupper;
步骤204,设置vn=f1(Decn,tn),pn=f2(Decn,vn,tn),τ=g(pn,vn,an),τmax=TN(vn);
步骤206,判断τ<τmax是否成立;是则进入步骤220,否则进入步骤208;
步骤208,判断i<N是否成立,是则进入步骤210,否则进入步骤220;
在步骤208中,i是二分法迭代计算的迭代次数,N为二分法迭代计算允许的最大迭代次数,N与DECmax的确定精度相关;
步骤210,设置Decn=(Declow+Decupper)÷2;
步骤212,设置vn=f1(Decn,tn),pn=f2(Decn,vn,tn),τ=g(pn,vn,an),τmax=TN(vn);
步骤214,判断判断τ<τmax是否成立;是则进入步骤216,否则进入步骤218;
步骤216,设置Decupper=Decmid,否则进入步骤218;
步骤218,设置Declow=Decmid,并返回步骤208;
步骤220,设置Decmax=Decn。
在上述算法中,Decn为下一个周期的目标减速度值(即第二减速度值),vn为下一个周期的速度,pn为下一个周期的减速度,τ为关节的力矩信息,tn为下一个周期的时刻值,Decupper为减速度的上边界值,Dec1为Decupper的初始值,Declow为减速度的下边界值,Dec0为Declow的初始值。
通过二分搜索算法确定下个周期的第三减速度值,并基于第三减速度值更新运动曲线,通过更新后的运动曲线控制机器人进行减速运动时,能够充分利用关节电机的减速力矩,从而有效提高减速运动时的制动力,降低机器人的停车距离。
在本发明的一些实施例中,运动曲线包括位置信息、速度信息和减速度信息。
在本发明实施例中,运动曲线能够指示在下个周期中速度规划期输出的位置、速度和减速度,从而控制机器人在下一个周期中,按照速度曲线指示的速度信息以及减速度信息运动至目标位置。
其中,在通过第一减速度值或第二减速度值,确定或更新机器人的运动曲线是,可以通过以下方程表达:
(p,v,d)=f(p0,v0,d0,Decmax,Jd,t)
其中,P0为当前速度规划器输出的位置,V0为当前速度规划器输出的速度,d0为当前速度规划器输出的减速度,jd为加加速度(设Dec是速度对时间的求导,jd即Dec对时间的求导),t为下个周期的时刻值,Decmax为第一减速度值或第二减速度值,p为根据第一减速度值或第二减速度值修正后的速度规划器输出的位置,V为根据第一减速度值或第二减速度值修正后的速度规划器输出的速度,d为根据第一减速度值或第二减速度值修正后的速度规划器输出的减速度。
实施例二
在本发明的一些实施例中,提供了一种机器人的减速控制装置,机器人包括关节,图3示出了根据本发明实施例的减速控制装置的结构框图,如图3所示,减速控制装置300包括:采集模块302,用于采集关节的运动数据;确定模块304,用于根据运动数据,确定关节的力矩信息和力矩输出极值;根据力矩输出极值,确定机器人的第一减速度值;根据第一减速度值和力矩信息,确定机器人的运动曲线;控制模块306,用于基于运动曲线,控制机器人减速。
在本发明实施例中,机器人包括关节,关节具体可以是机械臂上的一个活动轴,且关节通关电机驱动以实现围绕关节轴的转动,从而使机器人改变姿态。
在机器人运动过程中,当运动达到减速环节时,机器人通过编码器或设置在关节处的传感器,获取关节运动时的运动数据,根据该运动数据,对关节当前的力矩信息,以及关节的力矩输出极值进行确定。
然后,基于机器人动力学,根据关节的运动数据和机器人动力学,计算第一减速度值,其中,第一减速度值具体可以是机器人在减速运动时,在保证运行稳定和运动精度的前提下,能够实现的最大减速度值。
根据该第一减速度值和机器人的关节的力矩输出极值,确定运动曲线,运动曲线用于控制机器人进行制动停车的减速运动过程,基于该运动曲线控制机器人进行减速运动。
其中,由于该运动曲线是根据第一减速度值,也即机器人在减速运动过程中能够接收的最大减速度值进行确定,因此在通过该运动曲线控制机器人进行减速运动时,能够充分利用关节电机的减速力矩,从而有效提高减速运动时的制动力,从而降低机器人的停车距离,在需要紧急停止时,能够快速的实现制动,一方面提高机器人的停车效率,一方面能够降低紧急停车时的停车风险,保证生产安全。
在本发明的一些实施例中,运动数据包括关节减速度、关节位置和关节速度;
确定模块,还用于根据关节减速度、关节位置、关节速度和力矩方程,确定力矩信息;根据关节速度和关节的力矩转速特性曲线,确定力矩输出极值。
在本发明实施例中,关节的运动数据,具体包括关节减速度
力矩方程,关节位置、关节速度还包括当前的关节速度。
其中,力矩方程包括惯性矩阵M(q)、速度项力矩方程
重力项力矩方程G(q)和摩擦力项力矩方程
具体地,在确定力矩信息时,可通过以下方程式进行计算:
其中,τ为力矩信息,M(q)为惯性矩阵,
为关节减速度,
为速度项力矩方程、G(q)为重力项力矩方程,
为摩擦力项力矩方程。
同时,根据关节速度和关节的力矩-转速的特性曲线,能够确定对应的力矩输出极值,其中,力矩输出极值具体可以理解成机器人的关节处的电机的最大力矩输出能力。力矩-转速的特性曲线具体为指示伺服电机的力矩特性和伺服电机的转速特性之间的关系的曲线图,该曲线图可以通过以下方程式进行表达:
τmax=TN(v)
其中,τmax为力矩输出极值,v为关节转速。
基于上述力矩转速特性曲线方程,和获取到的关节转速,能够对当前关节的力矩输出极值进行准确计算。
在本发明的一些实施例中,确定模块,还用于根据力矩输出极值和力矩方程,确定关节对应的减速度阈值;根据减速度阈值,确定第一减速度值。
在本发明实施例中,在确定第一减速度值时,可以通过机器人的关节的减速度阈值、关节的力矩输出机制和对应的力矩方程,来进行计算。
具体地,机器人的关节的减速度阈值,具体是在保证机器人姿态运行稳定性,关节的运动精度和关节自身的结构强度的前提下,关节能够承受的最大减速度值。
通过该减速度阈值来约束机器人减速运动过程中的第一减速度值,也即机器人减速运动过程中的最大减速度值,能够有效地保证机器人的运行稳定性和运动精度,在应对紧急刹车等情况时,也能够避免减速度过大损坏电机或关节,保证机器人的使用寿命。
具体地,可以通过以下方程,计算减速度阈值;
其中,
为关节的减速度阈值,τ
max为关机电机的力矩输出极值,M(q)为惯性矩阵,
为速度项力矩方程、G(q)为重力项力矩方程,
为摩擦力项力矩方程。
在本发明的一些实施例中,确定模块,还用于确定机器人的运动类型,其中,运动类型包括点对点运动和笛卡尔运动;根据运动类型和减速度阈值,确定第一减速度值。
在本发明实施例中,机器人的运动类型,具体可以包括点对点运动(PTP运动)和笛卡尔运动。其中,点对点运动具体是机器人沿最快的路径将静态工具中心点(TCP,ToolCenter Point)从起始点引导至目标点的运动方式,笛卡尔运动则是按照笛卡尔坐标系引导机器人改变姿态的运动方式。
对于不同的运动方式,其对应的最大减速度值可能不同,因此可以根据上述方案中确定的减速度阈值,结合机器人的实际运动类型,来确定第一减速度值,从而保证得到的第一减速度值与机器人的运动类型相匹配。
在本发明的一些实施例中,确定模块,还用于基于运动类型为点对点运动,根据关节的空间运动方向和减速度阈值,确定第一减速度值;基于运动类型为笛卡尔运动,根据关节的当前减速度值和减速度阈值,确定第一减速度值。
在本发明实施例中,如果机器人的运动类型是PTP运动,也即点对点运动,则确定关节空间运动方向,和关节的减速度阈值,对指示接下来的减速运动的第一减速度值进行确定。
具体地,对于点对点运动的运动类型,可通过以下方程,对第一减速度值进行计算:
其中,Decmax为第一减速度值,也即输入给机器人速度规划器的最大减速度值,Direction为机器人的关节空间运动方向。
如果机器人的运动类型是笛卡尔运动,则进一步获取关节当前的减速度值,根据关节当前的减速度值和关节的减速度阈值,对指示接下来的减速运动的第一减速度值进行确定。
具体地,对于笛卡尔运动的运动类型,可通过以下方程,对第一减速度值进行计算:
Decmax=K×Deccur
其中,
为当前减速度值,
为减速度阈值,Dec
cur为当前输入给机器人速度规划器的减速度值,Dec
max为第一减速度值。
在本发明的一些实施例中,确定模块,还用于根据力矩信息和力矩输出极值,确定对应的增益值;获取预设策略;基于预设策略和增益值,确定第一减速度值。
在本发明实施例中,在确定了机器人的关节处电机的力矩输出极值后,可通过当前关节的力矩信息和该关节对应电机的力矩输出极值,确定对应的增益值,并基于该增益值的具体大小,通过该预设策略对接下来的第一减速度值进行增益,即增加机器人减速运动时的减速度值,从而使机器人在进行减速运动时,能够充分利用关节电机的减速力矩,有效提高减速运动时的制动力,降低机器人的停车距离。
在本发明的一些实施例中,确定模块,还用于根据力矩信息和力矩输出极值,确定关节的力矩使用率;根据力矩使用率的最大值,确定增益值。
在本发明实施例中,增益值用于对电机在减速运动过程中的减速度值进行增益,从而充分利用关节电机的减速力矩。在确定对应的增益值时,可以根据当前关节的力矩信息,也即关节电机实际输出的力矩值,和关机电机的力矩输出极值,也即关节电机能够输出的最大力矩值,来确定关节电机的力矩使用率,也就是说,确定当前关节电机“出了多少力”。
根据关节电机的力矩使用率来确定后续控制机器人减速时的第一减速度,能够有效提高关节电机的减速力矩利用率,提高减速效果。
具体地,可通过以下方程计算关节电机的力矩使用率:
Tutility=τ÷τmax
其中,Tutility为力矩使用率,τ为当前关节的力矩信息,τmax为关节的电机的力矩输出极值。
根据关节电机的力矩使用率的最大值,确定对应的增益值,具体地,可通过以下方程确定增益值:
K=Max(Tutility(i))
其中,K为增益值,Tutility(i)为关节在减速运动过程中,i个减速周期对应的力矩使用率。
在本发明的一些实施例中,采集模块,还用于获取关节的当前减速度值和预设的减速度因子;确定模块,还用于根据当前减速度值和减速度因子,确定第二减速度值;基于第二减速度值更新运动曲线。
在本发明实施例中,在控制机器人进行减速运动的过程中,还可以通过当前关节的减速度值,和系统预设的减速度因子,对机器人的关节的当前减速度值进行修正,从而得到第二减速度值,其中,第二减速度值大于当前减速度值,基于第二减速度值更新运动曲线,并按照更新后的运动权限控制机器人进行减速运动,能够使机器人在减速运动过程中,更加充分地利用关节电机的减速力矩,减少停车距离。
在本发明的一些实施例中,采集模块,还用于基于关节开始减速运动,采集当前减速度值;确定模块,还用于基于关节未开始减速运动,将当前减速度值取值为预设减速度值。
在本发明实施例中,对于已经开始减速运动的情况,也就是说关节已经处于运动状态,也即不是第一次进行减速规划,此时,可直接采集关节的当前减速度值。而如果关节没有开始减速运动,也即首次进行减速规划,此时,可以将关节的当前减速度值设置为系统标定的预设减速度值,从而针对不同的情况均可以实现对减速度的有效规划,降低停车距离。
在本发明的一些实施例中,确定模块,还用于根据二分搜索算法和当前减速度值,确定第三减速度值。
在本发明实施例中,可以通过采集到的关节的当前减速度,和系统预设的减速度因子,来对第三减速度进行确定。
通过二分搜索算法确定下个周期的第三减速度值,并基于第三减速度值更新运动曲线,通过更新后的运动曲线控制机器人进行减速运动时,能够充分利用关节电机的减速力矩,从而有效提高减速运动时的制动力,降低机器人的停车距离。
在本发明的一些实施例中,运动曲线包括位置信息、速度信息和减速度信息。
在本发明实施例中,运动曲线能够指示在下个周期中速度规划期输出的位置、速度和减速度,从而控制机器人在下一个周期中,按照速度曲线指示的速度信息以及减速度信息运动至目标位置。
其中,在通过第一减速度值或第二减速度值,确定或更新机器人的运动曲线是,可以通过以下方程表达:
(p,v,d)=f(p0v0,d0,Decmax,Jd,t)
其中,P0为当前速度规划器输出的位置,V0为当前速度规划器输出的速度,d0为当前速度规划器输出的减速度,jd为加价速度(设Dec是速度对时间的求导,jd即Dec对时间的求导),t为下个周期的时刻值,Decmax为第一减速度值或第二减速度值,p为根据第一减速度值或第二减速度值修正后的速度规划器输出的位置,V为根据第一减速度值或第二减速度值修正后的速度规划器输出的速度,d为根据第一减速度值或第二减速度值修正后的速度规划器输出的减速度。
实施例三
在本发明的一些实施例中,提供了一种机器人组件,包括:存储器,用于存储程序或指令;处理器,用于执行程序或指令时实现如上述任一实施例中提供的机器人的减速控制方法的步骤,因此,该机器人组件同时包括如上述任一实施例中提供的机器人的减速控制方法的全部有益效果,为避免重复,在此不再赘述。
实施例四
在本发明的一些实施例中,提供了一种可读存储介质,其上存储有程序或指令,程序或指令被处理器执行时实现如上述任一实施例中提供的机器人的减速控制方法的步骤,因此,该可读存储介质同时包括如上述任一实施例中提供的机器人的减速控制方法的全部有益效果,为避免重复,在此不再赘述。
实施例五
在本发明的一些实施例中,提供了一种机器人组件,包括如上述任一实施例中提供的机器人的减速控制装置;和/或如上述任一实施例中提供的可读存储介质,因此,该机器人组件同时包括如上述任一实施例中提供的机器人的减速控制装置和/或如上述任一实施例中提供的可读存储介质的可读存储介质,为避免重复,在此不再赘述。
本发明的描述中,术语“多个”则指两个或两个以上,除非另有明确的限定,术语“上”、“下”等指示的方位或位置关系为基于附图所述的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制;术语“连接”、“安装”、“固定”等均应做广义理解,例如,“连接”可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明的描述中,术语“一个实施例”、“一些实施例”、“具体实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或特点包含于本发明的至少一个实施例或示例中。在本发明中,对上述术语的示意性表述不一定指的是相同的实施例或实例。而且,描述的具体特征、结构、材料或特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。