四轮全向底盘控制方法及系统技术方案

技术编号:34474668 阅读:48 留言:0更新日期:2022-08-10 08:49
本发明专利技术提供了一种四轮全向底盘控制方法及系统,包括:步骤S1:设置底盘参数;步骤S2:接受控制底盘的速度;步骤S3:根据速度计算出四个舵机的位姿和四个直行电机的速度;步骤S4:读取舵机当前位置和直行电机当前速度计算代价最小的代价构型,输出舵机位姿和电机速度。本发明专利技术提出了通用四轮四舵机全向底盘的运动解算方式;本发明专利技术提出了自适应的舵机角度和电机速度控制方法,从多构型上提升了电机控制平滑度,防止速度突变导致舵机抖动问题。防止速度突变导致舵机抖动问题。防止速度突变导致舵机抖动问题。

【技术实现步骤摘要】
四轮全向底盘控制方法及系统


[0001]本专利技术涉及自动控制
,具体地,涉及一种四轮全向底盘控制方法及系统。

技术介绍

[0002]受限于卫生间的狭小环境和防水坎存在所需要的越障需求,类似于阿克曼的四轮底盘无法满足在狭小环境中移动,且一般的全向移动底盘无法满足越障条件,所以需要一种四轮四舵机的移动底盘。因直行电机转向和舵机方向存在的同一控制速度多构型问题,传统的控制算法存在舵机、直行电机大幅跳变的情况,对电机的控制平滑度和使用寿命带来了影响。
[0003]专利文献CN107600221B,申请(专利)号201710750897.3提供了一种智能全向AGV小车及控制方法,包括驱动装置、超声波传感器单元(2)、运动指示灯单元(5)、导航传感器单元(7)、主控单元(8)、车厢(9),所述的车厢(9)是一个具有一定高度的箱体,并且车厢(9)的底盘为去掉四个角的正方体,驱动装置包括全向轮单元(1)、电机驱动单元(3)、电机单元(4),驱动装置安装在车厢(9)的底盘上,所述的主控单元(8)安装于车厢(9)内,超声波传感器单元(2)为4个。本专利技术通过对AGV小车结构上的设计,实现了AGV小车在狭小空间乃至零半径原地转动,并通过给予不同的x,y,θ能够实现AGV小车朝指定方向的运动。但该专利技术中采用为4全向轮;本专利中采用的为4舵轮4直行电机。
[0004]专利文献CN104216406B,申请(专利)号:201310219764.5提供了一种四轮驱动全向底盘的控制装置及控制方法,适用于机器人底盘移动控制领域,无线串口通信模块用来接收来自与计算机连接的无线串口通信模块的指令,指令信息包括四轮驱动全向底盘所要移动到的目标点的位置值以及姿态角值,将接收到的指令传给上位机ARM;FPGA将计数电路和信息采集电路融合,由FPGA对码盘计数模块的数据进行采集与处理,然后通过通用I/O接口传输到ARM,同时FPGA也作为接口电路,将ARM的控制指令传输到直流电机控制模块,完成对直流电机的转速以及方向的控制;ARM是整个控制装置的核心控制模块,用以对接收到的数据进行融合,实现对四轮驱动全向底盘的位姿进行实时结算,完成对四个直流电机的实时控制。但该专利技术中采用为4全向轮,与对比1中不同点为四轮安装位置;本专利中采用的为4舵轮4直行电机。
[0005]专利文献WO2019000436A1(申请号:PCT/CN2017/091282)公开了一种四轮底盘车、两轮底盘车、总成及控制方法,四轮底盘车包括:车身(1)、前轮模块(2)和后轮模块(3);前轮模块(2)和后轮模块(3)分别与车身(1)可拆卸连接;前轮模块(2)或后轮模块(3)从车身(1)拆下后作为两轮底盘车独立移动。但该专利技术中采用为4全向轮;本专利中采用的为4舵轮4直行电机。

技术实现思路

[0006]针对现有技术中的缺陷,本专利技术的目的是提供一种四轮全向底盘控制方法及系统。
[0007]根据本专利技术提供的一种四轮全向底盘控制方法,包括:
[0008]步骤S1:设置底盘参数;
[0009]步骤S2:接受控制底盘的速度;
[0010]步骤S3:根据速度计算出四个舵机的位姿和四个直行电机的速度;
[0011]步骤S4:读取舵机当前位置和直行电机当前速度计算代价最小的代价构型,输出舵机位姿和电机速度。
[0012]优选地,在所述步骤S1中:
[0013]设置底盘参数包括:直行轮轮径r、前后轮轮距base_x、左右轮轮距base_y,舵机转速servo_w。
[0014]优选地,在所述步骤S3中:
[0015]步骤S3.1:计算底盘线速度v_b:
[0016]v_b=sqrt((x^2+y^2))
[0017]x为x方向线速度,y为y方向线速度;
[0018]步骤S3.2计算底盘旋转半径turning_r:
[0019]turning_r=v_b/w
[0020]w为角速度;
[0021]底盘在速度v[x,y,w]的命令下以o为旋转中心,turning_r为旋转半径,v_b为行驶速度运动;
[0022]步骤S3.3:计算内侧轮的舵机位置th_i和内侧轮旋转半径turning_r_inner:
[0023]th_i=atan(y_track/2,turning_r

(x_wheel/2))
[0024]turning_r_inner=sqrt((turning_r

x_wheel/2)^2+(y_track_/2)^2))
[0025]y_track为左右轮距,x_wheel为前后轮距;
[0026]步骤S3.4:计算外侧轮的舵机位置th_o和外侧轮旋转半径turning_r_outer:
[0027]th_o=atan(y_track_/2,turning_radius+(x_wheel_base_/2))
[0028]turning_r_outer=sqrt((turning_r+x_wheel/2)^2+(y_track_/2)^2))
[0029]y_track为左右轮距,x_wheel_base为前后轮距,turning_radius为旋转半径;
[0030]步骤S3.5:计算内侧轮直行电机速度rpm_inner和外侧轮的直行电机速度rpm_outer:
[0031]rpm_inner=w*turning_r_inner
[0032]rpm_outer=w*turning_r_outer
[0033]步骤S3.6:确定内侧方向
[0034]若v_b*w>0则内侧为左侧,若v_b*w≤0则内侧在右侧;
[0035]步骤S3.7若内侧为左侧,给4直行电机和4舵轮下发的控制为:
[0036]左前舵机:th_i
[0037]左后舵机:

th_i
[0038]右前舵机:th_o
[0039]右后舵机:

th_o
[0040]左前电机:rpm_inner
[0041]左后电机:rpm_inner
[0042]右前电机:rpm_outer
[0043]右后电机:rpm_outer
[0044]若内侧为右侧,给4直行电机和4舵轮下发的控制为:
[0045]左前舵机旋转角度:th_o
[0046]左后舵机旋转角度:

th_o
[0047]右前舵机旋转角度:th_i
[0048]右后舵机旋转角度:

th_i
[0049]左前电机转速:rpm_outer
[0050]左后电机转速:rpm_outer
[0051]右前电机转速rpm_inner
[0052]右后电机转速:rpm_inner
[0053]优选地,在所述步骤S4中:...

【技术保护点】

【技术特征摘要】
1.一种四轮全向底盘控制方法,其特征在于,包括:步骤S1:设置底盘参数;步骤S2:接受控制底盘的速度;步骤S3:根据速度计算出四个舵机的位姿和四个直行电机的速度;步骤S4:读取舵机当前位置和直行电机当前速度计算代价最小的代价构型,输出舵机位姿和电机速度。2.根据权利要求1所述的四轮全向底盘控制方法,其特征在于,在所述步骤S1中:设置底盘参数包括:直行轮轮径r、前后轮轮距base_x、左右轮轮距base_y,舵机转速servo_w。3.根据权利要求1所述的四轮全向底盘控制方法,其特征在于,在所述步骤S3中:步骤S3.1:计算底盘线速度v_b:v_b=sqrt((x^2+y^2))x为x方向线速度,y为y方向线速度;步骤S3.2计算底盘旋转半径turning_r:turning_r=v_b/ww为角速度;底盘在速度v[x,y,w]的命令下以o为旋转中心,turning_r为旋转半径,v_b为行驶速度运动;步骤S3.3:计算内侧轮的舵机位置th_i和内侧轮旋转半径turning_r_inner:th_i=atan(y_track/2,turning_r

(x_wheel/2))turning_r_inner=sqrt((turning_r

x_wheel/2)^2+(y_track_/2)^2))y_track为左右轮距,x_wheel为前后轮距;步骤S3.4:计算外侧轮的舵机位置th_o和外侧轮旋转半径turning_r_outer:th_o=atan(y_track_/2,turning_radius+(x_wheel_base_/2))turning_r_outer=sqrt((turning_r+x_wheel/2)^2+(y_track_/2)^2))y_track为左右轮距,x_wheel_base为前后轮距,turning_radius为旋转半径;步骤S3.5:计算内侧轮直行电机速度rpm_inner和外侧轮的直行电机速度rpm_outer:rpm_inner=w*turning_r_innerrpm_outer=w*turning_r_outer步骤S3.6:确定内侧方向若v_b*w>0则内侧为左侧,若v_b*w≤0则内侧在右侧;步骤S3.7若内侧为左侧,给4直行电机和4舵轮下发的控制为:左前舵机:th_i左后舵机:

th_i右前舵机:th_o右后舵机:

th_o左前电机:rpm_inner左后电机:rpm_inner右前电机:rpm_outer
右后电机:rpm_outer若内侧为右侧,给4直行电机和4舵轮下发的控制为:左前舵机旋转角度:th_o左后舵机旋转角度:

th_o右前舵机旋转角度:th_i右后舵机旋转角度:

th_i左前电机转速:rpm_outer左后电机转速:rpm_outer右前电机转速rpm_inner右后电机转速:rpm_inner4.根据权利要求1所述的四轮全向底盘控制方法,其特征在于,在所述步骤S4中:读取四个舵机当前位置current_servo_1、current_servo_2、current_servo_3、current_servo_4和4个直行电机当前速度至current_wheel_1、current_wheel_2、current_wheel_3、current_wheel_4,数据由底盘反馈得到;根据代价计算公式计算代价最小的target_servo和target_wheel代价构型,输出舵机位姿和电机速度。5.根据权利要求4所述的四轮全向底盘控制方法,其特征在于:步骤S4.1:定义代价值cost_servo和cost_wheel,cost_servo表示舵机变化所需的代价值,cost_wheel表示轮子变化所需的代价值;步骤S4.2:对每个舵机和电机,设控制舵机角度th_i和电机速度rpm_i,获取当前的舵机角度th_c和电机速度和rpm_c;步骤S4.3:计算两种构型的代价值p1_cost和p2_costp1_cost=fabs(th_i

th_c)*cost_servo+fabs(rpm_i

rpm_c)*cost_wheelp2_cost=fabs((th_i+180)%180

th_c)*cost_servo+fabs(

rpm_i

rpm_c)*cost_wheel步骤S4.4:p1_cost和p2_cost中选取cost值最小的对应构型输出至电机控制。6.一种四轮全...

【专利技术属性】
技术研发人员:ꢀ七四专利代理机构
申请(专利权)人:上海景吾酷租科技发展有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1