本发明涉及机器人控制,具体涉及一种独轮编程机器人的控制方法。
背景技术:
1、独轮编程机器人通常只有一个轮子,通过陀螺仪和传感器来维持平衡,其结构紧凑,适合在狭小的空间内移动,独轮编程机器人的发展得益于机器人技术、传感器技术和计算能力的提升,从最初的简单模型到现在具有高度智能化和自主能力的机器人,独轮编程机器人在硬件和软件方面都有了显著的进步;
2、现有技术存在以下缺陷:
3、1、现有的独轮编程机器人控制系统在机器人姿态出现偏差时,无法消除稳态误差,导致机器人在长时间内存在小的姿态偏差,不能完全恢复到竖直状态,尤其在外部扰动频繁时,过于简单或不完善的控制方法可能导致系统振荡,无法平稳地保持独轮编程机器人平衡;
4、2、现有控制方法通常是结合独轮编码机器人的倾斜状态来控制动量轮的转动加速度,即独轮编码机器人倾斜角度越大,动量轮的转动加速度越大(以使独轮编码机器人快速恢复到竖直状态),然而,在实际应用中,若动量轮的驱动系统存在异常时,仍采取较大的输出功率(输出功率越大,动量轮的转动加速度越大),可能会导致驱动系统故障,从而使独轮编码机器人完全失衡倾倒;
5、基于此,本发明提出一种独轮编程机器人的控制方法,基于pid控制思想确认动量轮的转动方向和转动加速度,再结合驱动系统运行状态调节动量轮的转动加速度,不仅能够迅速、稳定地调整独轮机器人的姿态,而且还能保障驱动系统使用的可靠性,进而提高独轮编码机器人运行的稳定性。
技术实现思路
1、本发明的目的是提供一种独轮编程机器人的控制方法,以解决背景技术中不足。
2、为了实现上述目的,本发明提供如下技术方案:一种独轮编程机器人的控制方法,所述控制方法包括以下步骤:
3、控制系统实时监测独轮编码机器人驱动系统的运行数据,结合运行数据为驱动系统生成状态指数,依据状态指数与指数阈值的对比结果判断驱动系统是否支持运行;
4、若判断支持运行,通过陀螺仪和加速度计获取独轮编码机器人的当前倾斜角度,并计算目标倾斜角度与当前倾斜角度之间的误差;
5、根据比例增益和误差计算比例部分的控制输出,根据误差的积分项以及积分时间常数计算积分部分的控制输出,根据误差的导数项和微分时间常数计算微分部分的控制输出,将比例部分、积分部分和微分部分的控制输出相加得到校正力矩;
6、依据校正力矩取值的正负结果确认驱动系统驱动动量轮的旋转方向;
7、取校正力矩的绝对值作为力矩指数,结合力矩指数以及状态指数生成调节系数,依据调节系数调整动量轮的转动加速度。
8、在一个优选的实施方式中,结合运行数据为驱动系统生成状态指数,包括以下步骤:
9、控制系统实时监测独轮编码机器人驱动系统的运行数据,运行数据包括电机的温度上升速率、电流偏差以及功效比;
10、将温度上升速率、电流偏差以及功效比进行归一化处理,使温度上升速率、电流偏差以及功效比的取值范围映射到[0,1]之间,获取温度上升速率归一化值、电流偏差归一化值以及功效比归一化值,依据温度上升速率归一化值、电流偏差归一化值以及功效比归一化值与状态指数的正反比关系,对温度上升速率归一化值、电流偏差归一化值以及功效比归一化值加权计算获取状态指数。
11、在一个优选的实施方式中,依据状态指数与指数阈值的对比结果判断驱动系统是否支持运行,包括以下步骤:
12、将获取的状态指数与指数阈值进行对比,指数阈值用于判断驱动系统是否支持运行,若状态指数大于指数阈值,判断驱动系统整体性能差,不支持运行。
13、在一个优选的实施方式中,计算目标倾斜角度与当前倾斜角度之间的误差,表达式为:
14、error=target_angle-current_angle,式中,target_angl为目标倾斜角度,current_angle为当前倾斜角度,error为误差。
15、在一个优选的实施方式中,将比例部分、积分部分和微分部分的控制输出相加得到校正力矩,包括以下步骤:
16、校正力矩的计算表达式为:t=p+iout+d,式中,t为校正力矩,p为比例控制输出,iout表示积分控制输出,d为微分控制输出。
17、在一个优选的实施方式中,依据校正力矩取值的正负结果确认驱动系统驱动动量轮的旋转方向,包括以下步骤:
18、获取校正力矩后,将校正力矩与数值0进行对比;
19、若t>0,表示独轮机器人当前处于向右倾斜状态,需要施加向左的力矩来抑制右倾,以独轮编程机器人的后方作为基准,驱动系统驱动动量轮逆时针转动;
20、若t<0,表示独轮机器人当前处于向左倾斜状态,需要施加向右的力矩来抑制左倾,以独轮编程机器人的后方作为基准,驱动系统驱动动量轮顺时针转动。
21、在一个优选的实施方式中,取校正力矩的绝对值作为力矩指数,结合力矩指数以及状态指数生成调节系数,包括以下步骤:
22、取校正力矩的绝对值作为力矩指数,表达式为:zmoment=|t|,式中,t为校正力矩,zmoment为力矩指数;
23、结合力矩指数以及状态指数生成调节系数,表达式为:
24、tjx=α*zmoment-β*zstate,式中,tjx为调节系数,zmoment为力矩指数,zstate为状态指数,α、β分别为力矩指数、状态指数的比例系数,且α、β均大于0。
25、在一个优选的实施方式中,依据调节系数调整动量轮的转动加速度包括以下步骤:
26、在获取调节系数后,将调节系数与预设的系数阈值进行对比,判断需要对动量轮当前转动加速度进行调大或调小处理,调节算法为:
27、式中,sdnew为调节后的转动加速度,sdold为调节前的转动加速度,tjx为调节系数,tjz为系数阈值。
28、在一个优选的实施方式中,根据比例增益和误差计算比例部分的控制输出,包括以下步骤:
29、将计算得到的误差代入比例控制公式获取比例控制输出,表达式为:
30、p=kp*error,式中,p为比例控制输出,kp为比例增益,error为误差;
31、根据误差的积分项以及积分时间常数计算积分部分的控制输出,包括以下步骤:
32、对计算得到的误差进行积分运算,积分运算需要累积历史误差,表达式为:式中,i为积分项,t表示当前时间,表示在时间时的误差;
33、利用积分增益和积分项计算积分控制输出,表达式为:iout=ki*i,式中,为i为积分项,ki为积分增益,iout表示积分控制输出;
34、根据误差的导数项和微分时间常数计算微分部分的控制输出,包括以下步骤:
35、通过当前误差与上一次误差计算误差变化率作为误差导数项,表达式为:式中,error_derivative为误差导数项,errork为当前误差,errork-1为上一次误差,δt为采样时间间隔,基于微分增益和误差导数项计算微分控制输出,表达式为:
36、d=kd*error_derivative,式中,d为微分控制输出,kd为微分增益,error_derivative为误差导数项。
37、在一个优选的实施方式中,所述温度上升速率的获取逻辑为:获取电机在当前时刻的温度值以及在上一时刻的温度值,通过当前时刻的温度值减去上一时刻的温度值获取温度差值,将当前时刻减去上一时刻获取监测时长,通过温度差值比上监测时长获取温度上升速率;
38、所述电流偏差的获取逻辑为:获取电机的实时电流值,将实时电流值减去标准电流值获取电流偏差:
39、所述功效比的获取逻辑为:获取电机的输出功率和输入功率,将输出功率比上输入功率获取功效比。
40、在上述技术方案中,本发明提供的技术效果和优点:
41、1、本发明通过将比例部分、积分部分和微分部分的控制输出相加得到校正力矩,依据校正力矩取值的正负结果确认驱动系统驱动动量轮的旋转方向,取校正力矩的绝对值作为力矩指数,结合力矩指数以及状态指数生成调节系数,依据调节系数调整动量轮的转动加速度。该控制系统基于pid控制思想确认动量轮的转动方向和转动加速度,再结合驱动系统运行状态调节动量轮的转动加速度,不仅能够迅速、稳定地调整独轮机器人的姿态,而且还能保障驱动系统使用的可靠性,进而提高独轮编码机器人运行的稳定性;
42、2、本发明通过实时监测独轮编码机器人驱动系统的运行数据,结合运行数据为驱动系统生成状态指数,依据状态指数与指数阈值的对比结果判断驱动系统是否支持运行,控制系统能够综合分析驱动系统的运行状态,从而判断驱动系统能否支持独轮编码机器人运行,进一步保障独轮编码机器人运行的稳定性;
43、3、本发明独轮编码机器人驱动系统采取预设的动量轮转动加速度,通常由人工根据经验输入,动量轮转动加速度可进行调大也可进行调小,例如,当力矩指数较大,且状态指数较小时,表明独轮编码机器人当前倾斜较大,且驱动系统的性能较好,因此,需要加快动量轮转动加速度来使独轮编码机器人更快速的恢复到竖直状态,当力矩指数较小,且状态指数较打时,表明独轮编码机器人当前倾斜较小,且驱动系统的性能较差,因此,需要放慢动量轮转动加速度来使独轮编码机器人恢复到竖直状态,以避免驱动系统由于输出功率过大导致故障。