一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

机器人检测行走阻力电流值的方法与流程

2023-02-02 00:17:08 来源:中国专利 TAG:


1.本技术涉及移动机器人的技术领域,尤其涉及机器人检测行走阻力电流值的方法。


背景技术:

2.使用惯性传感器导航的清洁机器人,包括扫地机器人、擦窗机器人、洗地机器人等。扫地机器人起到吸尘作用的风机和擦窗机器人当中起到吸附作用的风机的吸力配置不合理,风机吸力过大则会增加驱动轮所承受的行走阻力,且引起对应的电流变化值干扰;另一方面,受到驱动轮的电机主动的输出扭矩(主要是存在变化扭力施加作用,且与电机的转速相关,为电机的基本参数之一)变化引起的电流变化值的干扰,清洁机器人通过电流采样信息反馈出的行走阻力信息不仅仅包括被动施加的外部阻力(比如表面摩擦力和外界障碍物的碰撞作用引起的阻力),还携带有由风机运转产生的风机吸力变化引起的电流变化值(能够反映驱动电机为克服风机吸力施加到驱动轮而形成的阻力)和驱动轮的电机主动输出的扭矩引发的电流变化值(能够反映驱动轮开始转动所需的作用力),则清洁机器人不能有效地探测到外部环境引起的行走阻力情况。


技术实现要素:

3.本技术公开机器人检测行走阻力电流值的方法,具体的技术方案包括:机器人检测行走阻力电流值的方法,机器人的两侧安装驱动轮,机器人的内部安装有与驱动轮电性连接的驱动电机;机器人还安装有风机,用于对机器人的行走面产生吸力;机器人检测行走阻力电流值的方法包括:机器人对用于控制驱动电机的pwm值进行闭环调节,并确定在闭环调节过程中实时获得第一pwm值;机器人对用于控制风机的pwm值进行闭环调节,并确定在闭环调节过程中实时获得第二pwm值;在将第一pwm值传输给驱动电机后,机器人采样驱动电机的电流信号,获得驱动轮电流采样值;基于驱动轮电流采样值、第一pwm值以及第二pwm值,计算出机器人的当前行走阻力电流值,和/或计算出当前相对行走阻力电流值;其中,第一pwm值用于控制驱动电机的输出扭矩变化,以反馈形成驱动轮电流采样值当中的一种电量变化值;第二pwm值用于控制风机产生的风机吸力变化,以反馈形成驱动轮电流采样值当中的另一种电量变化值。
4.进一步地,所述基于驱动轮电流采样值、第一pwm值以及第二pwm值,计算出机器人的当前行走阻力电流值的方法包括:机器人在当前行走面开始行走后,控制驱动轮电流采样值依次减去用于控制驱动电机的pwm值在闭环调节中所引发的电量变化值、以及用于控制风机的pwm值在闭环调节中所引发的电量变化值,获得机器人的当前行走阻力电流值;其中,驱动轮电流采样值与用于控制驱动电机的pwm值在闭环调节中所引发的电量变化值都来源于同一驱动电机连接的驱动轮,以获得机器人的同一侧安装的驱动轮的当前行走阻力电流值。
5.进一步地,所述基于驱动轮电流采样值、第一pwm值以及第二pwm值,计算出机器人
的当前行走阻力电流值的方法具体包括:机器人开始行走之前,机器人相对于所接触的行走面存在静摩擦力且开始启动驱动电机,直至机器人从静止开始在当前行走面行走以克服静摩擦力;机器人在当前行走面行走的过程中,机器人将实时获得的第一pwm值标记为第一待测pwm值,并将实时获得的第二pwm值标记为第二待测pwm值;机器人将第一待测pwm值与第一转换系数的乘积标记为所述用于控制驱动电机的pwm值在闭环调节中所引发的电量变化值,并将第二待测pwm值与第二转换系数的乘积标记为所述用于控制风机的pwm值在闭环调节中所引发的电量变化值;然后,机器人控制实时获得的驱动轮电流采样值减去所述用于控制驱动电机的pwm值在闭环调节中所引发的电量变化值,获得第一电量差值,再将第一电量差值减去所述用于控制风机的pwm值在闭环调节中所引发的电量变化值,获得第二电量差值,再将第二电量差值标记为所述机器人的当前行走阻力电流值。
6.进一步地,所述基于驱动轮电流采样值、第一pwm值以及第二pwm值,计算出机器人的当前行走阻力电流值的方法具体包括:机器人开始行走之前,机器人相对于所接触的行走面存在静摩擦力且开始启动驱动电机,直至机器人从静止开始在当前行走面行走,以使机器人的驱动轮克服静摩擦力;然后在预设采样时间内,机器人基于所有获得的第一pwm值计算出第一基准pwm值,并基于所有获得的第二pwm值计算出第二基准pwm值,并基于所有获得的驱动轮电流采样值计算出驱动轮基准电流值;机器人将第一基准pwm值与第一转换系数的乘积标记为所述用于控制驱动电机的pwm值在闭环调节中所引发的电量变化值,并将第二基准pwm值与第二转换系数的乘积标记为所述用于控制风机的pwm值在闭环调节中所引发的电量变化值;机器人控制驱动轮基准电流值减去所述用于控制驱动电机的pwm值在闭环调节中所引发的电量变化值,获得第一电量差值,再将第一电量差值减去所述用于控制风机的pwm值在闭环调节中所引发的电量变化值,获得第二电量差值,再将第二电量差值标记为所述机器人的当前行走阻力电流值。
7.进一步地,所述基于驱动轮电流采样值、第一pwm值以及第二pwm值,计算出机器人的当前相对行走阻力电流值的方法包括:从机器人在当前行走面开始行走后,控制驱动轮电流采样值的相对电量变化值依次减去第一pwm值对应的相对电量变化值、以及第二pwm值对应的相对电量变化值,获得机器人的当前相对行走阻力电流值;其中,驱动轮电流采样值的相对电量变化值与第一pwm值对应的相对电量变化值都来源于同一驱动电机连接的驱动轮,以获得机器人的同一侧安装的驱动轮的当前相对行走阻力电流值;其中,机器人的当前相对行走阻力电流值都使用电量表示。
8.进一步地,所述基于驱动轮电流采样值、第一pwm值以及第二pwm值,计算出机器人的当前相对行走阻力电流值的方法具体包括:机器人开始行走之前,机器人相对于所接触的行走面存在静摩擦力且开始启动驱动电机,直至机器人从静止开始在当前行走面行走,以使机器人的驱动轮克服静摩擦力;然后在预设采样时间内,机器人基于所有获得的第一pwm值计算出第一基准pwm值,并基于所有获得的第二pwm值计算出第二基准pwm值,并基于所有获得的驱动轮电流采样值计算出驱动轮基准电流值;经过所述预设采样时间后,机器人将实时获得的第一pwm值标记为第一待测pwm值,并将实时获得的第二pwm值标记为第二待测pwm值,然后将实时获得的驱动轮电流采样值与驱动轮基准电流值的差值标记为所述驱动轮电流采样值的相对电量变化值,并将第一待测pwm值与第一基准pwm值的差值与第一转换系数的乘积标记为所述第一pwm值对应的相对电量变化值,并将第二待测pwm值与第二
基准pwm值的差值与第二转换系数的乘积标记为所述第二pwm值对应的相对电量变化值;然后,控制驱动轮电流采样值的相对电量变化值减去第一pwm值对应的相对电量变化值,获得第一差值,再将第一差值减去第二pwm值对应的相对电量变化值,获得第二差值,再将第二差值标记为所述机器人的当前相对行走阻力电流值。
9.进一步地,在所述预设采样时间内,基于所有获得的第一pwm值计算出第一基准pwm值的方法包括:对所述预设采样时间内所有获得的第一pwm值求平均值,获得第一基准pwm值;或者,从所述预设采样时间内所有获得的第一pwm值当中,筛选出数值最大的第一pwm值,获得第一基准pwm值;在所述预设采样时间内,基于所有获得的第二pwm值计算出第二基准pwm值的方法包括:对所述预设采样时间内所有获得的第二pwm值求平均值,获得第二基准pwm值;或者,从所述预设采样时间内所有获得的第二pwm值当中,筛选出数值最大的第二pwm值,获得第二基准pwm值;在所述预设采样时间内,基于所有获得的驱动轮电流采样值计算出驱动轮基准电流值的方法包括:对所述预设采样时间内所有获得的驱动轮电流采样值求平均值,获得驱动轮基准电流值;或者,从所述预设采样时间内所有获得的驱动轮电流采样值当中,筛选出数值最大的驱动轮电流采样值,获得驱动轮基准电流值;第一pwm值用于控制驱动电机的输出扭矩变化,以反馈形成驱动轮电流采样值当中的一种电量变化值;第二pwm值用于控制风机产生的风机吸力变化,以反馈形成驱动轮电流采样值当中的另一种电量变化值。
10.进一步地,机器人在所述预设采样时间内行走过的行走面的介质与预设起点位置处的介质是相同时,机器人的当前相对行走阻力电流值用于表示机器人在当前行走面处行走所承受的外部阻力与机器人在预设起点位置处相接触的行走面所承受的外部阻力的差值对应的电流值;其中,机器人在所述预设采样时间内保持行走在同一介质的行走面上;或者,机器人在所述预设采样时间内行走过的行走面的介质与预设起点位置处的介质是不相同时,机器人的当前相对行走阻力电流值用于表示机器人在当前行走面处行走所承受的外部阻力与机器人在参考行走面所承受的外部阻力的差值对应的电流值,其中,机器人在所述预设采样时间内保持行走在参考行走面上;其中,预设起点位置是机器人从静止开始启动后,开始行走的起点位置,以使得机器人从预设起点位置开始直线行走;参考行走面是机器人在所述预设采样时间内行走过的行走面;其中,机器人的驱动轮与行走面相接触以使机器人承受来自行走面的外部阻力。
11.进一步地,所述机器人的当前相对行走阻力电流值增大或所述机器人的当前行走阻力电流值增大时,确定机器人在当前行走面所承受的外部阻力增大;所述机器人的当前相对行走阻力电流值减小或所述机器人的当前行走阻力电流值减小时,确定机器人在当前行走面所承受的外部阻力减小。
12.进一步地,所述对用于控制驱动电机的pwm值进行闭环调节的方法包括:机器人实时测得的航向角度与目标导航角度在当前调节周期内的角度差值的绝对值不处于预设角度误差范围时,机器人将实时测得的航向角度与目标导航角度在当前调节周期内的角度差值的绝对值或机器人将实时测得的航向角度配置为下一调节周期的反馈输入,以对用于控制驱动电机的pwm值进行pid调节,并将用于控制驱动电机的pwm值的实时反馈调节结果设置为第一pwm值,再将第一pwm值输入驱动电机以实时调整机器人的航向角度,直至机器人实时测得的航向角度与目标导航角度的角度差值的绝对值在预设角度误差范围变化或在
预设角度误差范围保持恒定值,保持将最新获得的第一pwm值输入驱动电机,以引导机器人沿着目标导航角度对应的方向行走;其中,目标导航角度是机器人预先规划出来以引导机器人沿着预先规划的工作路径行走;机器人的航向角度是由机器人内置的陀螺仪实时测得。
13.进一步地,所述对用于控制风机的pwm值进行闭环调节的方法包括:机器人实时测得的风机吸力与目标工作吸力在当前调节周期内的气压差值的绝对值不处于预设气压误差范围时,机器人将实时测得的风机吸力与目标工作吸力在当前调节周期内的气压差值的绝对值或实时测得的风机吸力配置为下一调节周期的反馈输入,以对用于控制风机的pwm值进行pid调节,并将用于控制风机的pwm值的实时反馈调节结果设置为第二pwm值,再将第二pwm值输入风机以实时调整风机吸力,直至机器人实时测得的风机吸力与目标工作吸力在当前调节周期内的气压差值的绝对值在预设气压误差范围变化或在预设气压误差范围保持恒定值;其中,目标工作吸力是机器人预先设置以适应机器人当前所在的工作面;机器人的风机的进风口处设置气压传感器,用于实时监测风机吸力。
14.本技术的技术效果在于,为了检测相对行走阻力电流值及行走阻力电流值,本技术不是简单孤立地只判断电机电流的突变或只判断码盘记录的里程数据变化,而是结合用于控制驱动电机的pwm值和用于控制风机的pwm值,来在驱动轮电流采样值中抵消电机主动产生的扭力干扰和风机吸力变化引入的阻力因素的影响,并能够在不使用码盘测量数据的前提下,计算获得不受机器人主动产生的电流变化值干扰(包括风机吸力变化施加的电流变化值和驱动电机输出的扭矩变化引起的电流变化值)的行走阻力电流值,并在所述预设采样时间内行走过的行走面(视为参考行走面)当中完成对pwm值和电流采样pwm值的校准以获得基准pwm值,进而计算出机器人在最新遍历的行走面与所述参考行走面的相对行走阻力电流值,也不受机器人主动产生的电流变化值干扰(包括风机吸力变化施加的电流变化值和驱动电机输出的扭矩变化引起的电流变化值);因而提取出机器人在当前行走面所承受的外部阻力情况,以确定出受当前行走面的介质类型约束的阻力与机器人受外界障碍物碰撞引起的行走阻力等情况。
15.进而可以确定机器人当前遍历的一种介质类型行走面所承受的行走阻力较之前遍历的另一种介质类型的行走面是变大还是变小,则能够有效地区分出机器人先后行走到不同的介质的行走面中,其中,机器人所接触的行走面的介质发生变化时,对应承受的行走阻力也发生变化,则当前行走面的介质与预设起点位置处的介质不同时,所述机器人的当前相对行走阻力电流值可以进一步地反映出机器人行走过的两种不同介质的行走面之间的外部阻力差异,至少确定机器人行走过的两种不同介质的行走面,并确定当前遍历的行走面相对于上一次遍历的行走面所承受的外部阻力(受阻碍程度)的变化。
16.在同一行走面无障碍行走的过程中,本技术的机器人计算出的当前相对行走阻力电流值和当前行走阻力电流值,既不受到用于控制驱动电机的pwm值的变化引起的电流变化值施加的影响,也不受到用于控制风机的pwm值的变化引起的电流变化值施加的影响,克服风机产生的风机吸力变化引起的电流变化值以及驱动轮的电机输出的扭矩变化引起的电流变化值的干扰,因而,机器人左右两侧的驱动轮的差速(由驱动轮的电机控制,与用于控制对应一侧驱动轮的驱动电机的pwm值成正相关关系)不影响当前相对行走阻力电流值和当前行走阻力电流值的准确检测,使得机器人检测行走阻力电流值的方法不仅适用于左
右驱动轮打滑程度一致的直线行走状态,也适用于机器人转弯或左右驱动轮打滑程度有差异的直线行走状态,即兼顾两侧驱动轮的转速差异,提高当前相对行走阻力电流值和当前行走阻力电流值在多种介质行走面中和多种机器人运动状态下的适应性。
附图说明
17.图1是本发明的一实施例公开机器人检测行走阻力电流值的方法的流程示意图。
具体实施方式
18.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行详细描述。为进一步说明各实施例,本发明提供有附图。这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理。配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点。
19.全自动规划清洁机器人产品主要包括轮式机器人、吸盘式机器人和履带式机器人,该类型的机器人主要为扫地机器人和擦窗机器人。如果扫地机器人的真空吸尘器贴近地面且吸力很大,则很可能因机体主动施加的阻力过大导致驱动轮走不动,还包括驱动电机的输出扭矩过小以无法克服来自地面的静摩擦力,导致驱动轮转动不了,此时检测出的阻力信息不仅仅是来自行走面介质材料决定的摩擦力和外界碰撞因素引起的阻力信息,则扫地机器人停止运动的原因不在于行走面的介质影响和外部的障碍物阻碍作用;如果擦窗机器人的风机吸力很大,则驱动轮与行走面之间的挤压力增大,也造成抹布阻力过大,驱动轮受到的行走阻力增大,导致擦窗机器人不能移动,此时检测出的阻力信息不仅仅是来自行走面介质材料决定的摩擦力和外界碰撞因素引起的阻力信息,则擦窗机器人停止运动的原因不在于行走面的介质影响和外部的障碍物阻碍作用。由此可见,在具备风机和驱动轮的电机的清洁机器人中,排除机器人内部的相关电机输出的扭矩变化引起的电流变化值干扰和风机吸力变化引起的电流变化值干扰,对于后续探测被动接受的外部阻力情况至关重要。
20.本技术中公开的外部阻力是包括机器人的驱动轮与行走面相接触产生的摩擦力以及碰撞外部障碍物引起的阻碍作用力(可以是抵接力),但不包括风机产生的风机吸力变化施加到驱动轮中形成行走阻力和驱动电机的输出扭矩变化施加到驱动轮形成的作用力这两种由机器人主动施加的作用力因素。其中,风机产生的风机吸力变化和驱动电机的输出扭矩变化可以统一为机器人主动输出的力矩变化,对应为主动输出的电流变化值,以区别开由外部环境(风机和驱动电机之外的行走环境)被动引入的阻力变化对应的电流变化值。
21.需要说明的是,脉冲宽度调制(pwm)是英文“pulse width modulation”的缩写,简称脉宽调制。pwm值是在一个周期内,开关管导通时间长短相加的平均值,导通时间越长,作用给电机的pwm值越大,开关管直流输出的平均值越大,电机的转速能够与pwm值成正比。pwm频率是一个周期内,导通时间与周期时间的一个比值,通常叫做占空比,导通次数越多,则频率越大,因此,pwm调速控制的基本原理是按照一个固定频率来接通和断开电源,并根据需要改变一个周期内接通和断开的时间比(占空比)来改变直流电机的电枢上电压的“占空比”,从而改变平均电压,控制电机的转速。
22.由本领域技术人员可知,无论是风机还是驱动电机,它们的动力产生组件都是电动机,优选地,桥式电路是驱动电路结构,控制电机正反转,输出电机的驱动电流。驱动电机是控制驱动轮转动的电动机;作用于左轮和右轮的pwm值跟轮子扭力呈线性关系,作用于风机的pwm值大部分情况是可以转动的pwm值即可。输入电动机的pwm信号其实就是一种脉宽可连续调节的矩形脉冲波,是通过调制器给电机提供一个具有一定频率的脉冲宽度可调的脉冲电。脉冲宽度越大即占空比越大,提供给电机的平均电压越大,电机转速就高。反之脉冲宽度越小,则占空比越越小。提供给电机的平均电压越小,电机转速就低。从而通过pwm信号控制电机输出不同的模拟电压,便可以使电机达到不同的输出转速,也视为改变电机的输出扭矩。
23.对电机转速起调节作用的pwm信号或pwm值(可以视为与占空比成正比),占空比是高电平在一个周期之中的比值,高电平的所占的比值越大,占空比就越大,对于直流电机来讲,电机输出端引脚是高电平电机就可以转动,当输出端高电平时,电机会转动,但是是一点一点的提速,在高电平突然转向低电平时,电机由于电感有防止电流突变的作用是不会停止的,会保持这原有的转速,以此往复,电机的转速就是周期内输出的平均电压值,可以在某个运转阶段与前述的pwm值成线性关系;所以实质上调速是将电机处于一种似停非停、似全速转动又非全速转动的状态,那么在一个周期的平均速度就是占空比调出来的速度。
24.作为一种实施例,公开机器人检测行走阻力电流值的方法,用于反映机器人在当前行走面所承受的外部阻力及其变化情况,机器人检测行走阻力电流值的方法的执行主体是全自动规划移动机器人,包括轮式机器人、吸盘式机器人和履带式机器人,该类型的机器人主要为扫地机器人和擦窗机器人,属于具有风机和驱动电机的清洁机器人;机器人的两侧安装驱动轮,一般是机体底盘的左右两侧各安装一个驱动轮;机器人的内部安装有与驱动轮电性连接的驱动电机,每个驱动轮对应连接一个驱动电机,则机器人设置两个用于控制驱动轮的转速的驱动电机,以控制机器人在行走面的行走速度,两个驱动轮的转速差值可以控制机器人的行走方向,机器人的驱动轮能够与行走面相接触以产生能够阻碍机器人行走的摩擦力;机器人还安装有风机,用于对机器人的行走面产生吸力。本技术公开的机器人可以不安装码盘,即左右两侧的驱动轮中都没有安装码盘,则机器人没有接收到码盘反馈回的行进距离;当然本技术的机器人也可以安装码盘以获得码盘反馈的行进距离;总之,无论机器人是否安装码盘都不影响机器人检测行走阻力电流值的方法的执行。当机器人是扫地机器人时,扫地机器人内部的吸尘风机用于对行走面进行吸尘;当机器人是擦窗机器人时,擦窗机器人内部的风机用于吸附在行走面;这里的行走面可以是机器人的清扫介质,可以是水平地面、玻璃或墙面等待清洁介质的表面。
25.参阅图1可知,机器人检测行走阻力电流值的方法包括如下的步骤s1和步骤s2:步骤s1、机器人对用于控制驱动电机的pwm值进行闭环调节,并确定在闭环调节过程中实时获得第一pwm值,提供给驱动电机使用以调节机器人的行走速度,驱动电流输出的扭力或输出扭矩变化也会反馈到驱动轮的行走状态当中,驱动轮借助扭力开始转动,则驱动电机需要对输出的电流主动做出调整,因此会因为输出扭距变化而主动引入电流变化值,这与外部环境因素无关;机器人对用于控制风机的pwm值进行闭环调节,并确定在闭环调节过程中实时获得第二pwm值,提供给风机使用以调节风机吸力;在将第一pwm值传输给驱动电机后,机器人采样驱动电机的电流信号,获得驱动轮电流采样值;然后执行步骤s2。
需要说明的是,在步骤s1和步骤s2中驱动电机和风机都受到对应pwm值的控制,以进入工作状态。机器人内部的驱动轮控制电路(桥式电路)中串入一颗阻值较小的采样电阻,则采样电阻两端的压降是正比于驱动电机的输出电流的电压信号,即正比于机器人采样到的驱动电机输出的电流信号的电压信号,然后该电压信号经过运算放大器的放大和单片机的模数转换器的采样后,获得驱动轮电流采样值,该驱动轮电流采样值能够实时反馈驱动轮的运动状态,包括所承受的内外干扰因素,包括主动产生作用力和被动接收的作用力,则驱动轮电流采样值会反馈出机器人行走面的摩擦力、风机吸力施加到机器人主体的阻力、驱动电机的输出扭矩变化等引起的电流变化值。
26.在步骤s1对用于控制驱动电机的pwm值进行闭环调节的过程中,pwm值能够控制驱动电机的转速,则pwm值可以改变驱动轮的转速,进而改变机器人的行走速度,具体会通过控制左右驱动轮的驱动电机输出的力矩的相对大小来调节机器人的航向角度,当机器人两侧的驱动轮的转速不一致时,引起机器人的行走方向变化,比如转弯,改变机器人的航向角度,因此在闭环调节的过程中可以将机器人实时测得的航向角度与目标导航角度的角度差值的绝对值调节为处于预设角度误差范围,使得机器人沿着既定的方向行走。具体地,机器人可以通过角度闭环反馈调节装置对用于控制驱动电机的pwm信号进行调节,并将实时调节出的第一pwm值施加到驱动电机,驱动轮会改变输出的转速,再将驱动轮改变后的转速对应形成的机器人的航向角度作为角度闭环反馈调节装置的反馈输入,以维持闭环调节,也间接地对机器人实时测得的航向角度的闭环调节;但是在前述闭环调节过程中,实时获得的第一pwm值不一定稳定在正常工作状态的目标pwm值上,则确定实时获得的第一pwm值容易波动pwm并引起电机电流跳动,对应形成驱动电机实时输出的扭矩变化的干扰因素,即在内部形成对驱动轮的转动的驱动作用的力矩并施加到驱动轮中,则在驱动电机会产生必要的输出电流,从而相对机器人所需检测的外部阻力,生成驱动轮电流采样值当中的电流干扰量;且在第一pwm值的控制下,驱动电机输出的扭矩过大(也可以视为扭力变化)会让驱动轮的打滑,驱动电机输出的扭矩过小(也可以视为扭力变化)会让驱动轮无法转动,驱动电机对应输出的电流变化值以引入对外部阻力探测的干扰因素。在将第一pwm值传输给驱动电机后,机器人采样驱动电机输出的电流信号,获得驱动轮电流采样值。为了提取出由机器人外部的行走面的环境介质决定的摩擦力情况和外部障碍物的碰撞阻碍情况,后续在计算行走阻力电流值或相对行走阻力电流值时,需要克服驱动电机输出的扭矩变化的干扰因素。
27.在步骤s1对用于控制风机的pwm值进行闭环调节的过程中,pwm值能够控制风机内设的电机的转速,从而pwm值可以改变风机内外的气压差,即改变风机吸力,因此在闭环调节的过程中可以将机器人实时测得的风机吸力与目标工作吸力的气压差值的绝对值调节为处于预设气压误差范围,能够对行走面产生的最佳风机吸力,在此基础上,机器人作为智能擦窗机器人时,智能擦窗机器人正常工作时不会出现吸力过大导致轮子转不动的情况或者吸力过小导致驱动轮打滑的情况;其中,风机吸力施加到行走面后同样会对驱动轮的运动产生影响,必要时会引入阻力,驱动轮为了克服这一阻力,需要驱动电机需输出更大的电流,则因为风机吸力变化而引入电流变化量。机器人可以通过气压闭环反馈调节装置对用于控制风机的pwm信号进行调节,并将实时调节出的第二pwm值施加到风机,风机内设的电机会改变输出的转速,对应也会形成输出力矩的变化,再将改变后的转速对应形成的风机
吸力作为气压闭环反馈调节装置的反馈输入,以维持闭环调节,也间接地对机器人实时测得的风机吸力的闭环调节;但是在前述对用于控制风机的pwm值闭环调节过程中,实时获得的第二wm值不一定稳定在正常吸力状态下的目标pwm值上,则确定实时获得的第二pwm值容易波动并引起风机的电机电流跳动,可能导致风机实时产生的吸力过大,过大的吸力施加到驱动轮上并增大驱动轮与行走面之间的压力,导致机器人的两侧驱动轮承受到的行走阻力增大,相对于外部阻力,本技术将这一行走阻力的变化归类于机器人内部施加的风机吸力变化引入的干扰因素,为了提取出由机器人外部的行走面的环境介质决定的摩擦力情况和外部障碍物碰撞引起的阻碍情况,后续在计算行走阻力电流值或相对行走阻力电流值时需要克服风机吸力变化所主动引发的电流变化值干扰。
28.因此,第一pwm值用于控制驱动电机的输出扭矩变化,以反馈形成驱动轮电流采样值当中的一种电量变化值;第二pwm值用于控制风机产生的风机吸力变化,以反馈形成驱动轮电流采样值当中的另一种电量变化值。具体地,在将第一pwm值传输给驱动电机后,驱动轮开始受到第一pwm值的控制以执行相应的转动动作,即在行走面上运动,机器人采样驱动电机的电流信号,获得驱动轮电流采样值,该驱动轮电流采样值是经过驱动轮在当前行走面行走验证的电流采样值,则驱动轮电流采样值携带有驱动电机输出的扭矩变化信息这一由第一pwm值控制产生的电流变化值(机器人主动引入的电流变化值,属于驱动电机输出的扭矩对外部阻力探测的干扰因素,也称之为驱动电机输出的扭矩变化引起的干扰因素);驱动轮电流采样值还携带有风机产生的吸力施加到驱动轮而引起的电流变化值(机器人主动引入的电流变化值,属于风机输出的吸力对外部阻力探测的干扰因素,也称之为风机产生的吸收力变化引起的干扰因素)、以及为了克服来自行走面的摩擦力而需要输出的电流值,还携带有为了克服机器人与障碍物相碰撞所引入的外部阻力变化所需输出的电流变化值。当机器人使用采样电阻对驱动电机输出的电流进行采样时,获得采样电阻两端的电压信号,优选地,采集的电压信号经过运算放大器的放大和单片机adc的采样后,以数字信号的形式表示为驱动轮电流采样值;从而所述驱动轮电流采样值通过电流采样的方式来反馈驱动轮的当前运动的实际运动受力状态。
29.步骤s2、基于驱动轮电流采样值、第一pwm值以及第二pwm值,计算出机器人的当前行走阻力电流值以反映机器人在当前行走面所承受的外部阻力,和/或计算当前相对行走阻力电流值以反映机器人在不同位置处所承受的外部阻力差异情况,则使当前行走阻力电流值以及当前相对行走阻力电流值都不受到驱动电机输出的扭矩变化引起电流变化值的干扰,也不受风机在同一行走面产生的吸力变化所引发的电流变化的干扰,提取出机器人的外部阻力情况,作为当前行走阻力电流值以及当前相对行走阻力电流值,其中,可以通过机器人的当前行走阻力电流值来表示出受当前行走面的介质类型约束的摩擦力与机器人受外界障碍物碰撞引起的行走阻力的综合结果,这一综合结果是属于外部阻力。或通过当前相对行走阻力电流值来表示出受行走面的介质类型约束的摩擦力与机器人受外界障碍物碰撞引起的行走阻力的相对结果,这一相对结果是属于两个行走面之间的相对外部阻力。
30.需要说明的是,当计算出机器人的当前行走阻力电流值越大时,表示机器人在当前行走面所承受的外部阻力越大;当计算出机器人的当前行走阻力电流值越小时,表示机器人在当前行走面所承受的外部阻力越小;机器人的当前行走阻力电流值与机器人在当前
行走面所承受的外部阻力成正相关关系;机器人的当前行走阻力电流值与机器人在当前行走面所承受的外部阻力存在转换关系,转换所需的系数与机器人的类型、风机、驱动电机、以及驱动轮的大小等机械模具相关。当计算出机器人的当前相对行走阻力电流值越大时,表示机器人在不同位置处所承受的外部阻力的差异量越大;当计算出机器人的当前相对行走阻力电流值越小时,表示机器人在不同位置处所承受的外部阻力的差异量越小;机器人的当前相对行走阻力电流值与机器人在不同位置处所承受的外部阻力的差异量成正相关关系。
31.在步骤s2中,计算出的行走阻力电流值及相对行走阻力电流值不受到驱动电机的输出扭矩变化的干扰,这有赖于通过在驱动轮电流采样值中消减第一pwm值引起的电量变化量,计算出的行走阻力电流值及相对行走阻力电流值都不受到风机施加的风机吸力的影响,这有赖于通过在驱动轮电流采样值中消减第二pwm值引起的电量变化量。在此基础上计算出的当前行走阻力电流值以及当前相对行走阻力电流值出现变化后,可以进一步确定机器人在不同介质的行走面所承受的外部阻力变化情况,至少是两种介质的行走面所承受的行走阻力电流值的相对大小以及外部环境的碰撞情况。在一些实施例中,若在驱动轮电流采样值中考虑到机器人与障碍物相碰撞所引入的外部阻力影响因素,则计算出来的机器人的当前行走阻力电流值以及当前相对行走阻力电流值。另外,在同一介质的行走面无障碍直线行走的过程中,从驱动轮电流采样值当中提取出机器人的当前行走阻力电流值以及当前相对行走阻力电流值,既不随着用于控制驱动电机的pwm值的变化而变化,也不随着用于控制风机的pwm值的变化而变化,此时,机器人的类型及其内部的电机设备都没有发生变化的前提下,行走面的介质类型成为影响当前行走阻力电流值以及当前相对行走阻力电流值的唯一因素,从而能够在无障碍直线行走的过程中还原出不受电机设备输出扭矩变化干扰的摩擦力,并通过当前相对行走阻力电流值测量出机器人接触过的表面的摩擦力变化情况,即探测到外部阻力的变化,以使同一介质的行走面上计算出的该当前行走阻力电流值及当前相对行走阻力电流值都不随着实时调节获得的第一pwm值的变化而变化,也不随着实时调节获得的第二pwm值的变化而变化,至少在无障碍行走的过程中形成忠实于行走面的材质属性的外部阻力。
32.在上述实施例的基础上,在同一行走面无障碍行走的过程中,本技术的机器人计算出的当前相对行走阻力电流值和当前行走阻力电流值,既不受到用于控制驱动电机的pwm值的变化引起的电流变化值施加的影响,也不受到用于控制风机的pwm值的变化引起的电流变化值施加的影响,克服风机产生的风机吸力变化引起的电流变化值以及驱动轮的电机输出的扭矩变化引起的电流变化值的干扰,因而,机器人左右两侧的驱动轮的差速(由驱动轮的电机控制,与用于控制对应一侧驱动轮的驱动电机的pwm值成正相关关系)不影响当前相对行走阻力电流值和当前行走阻力电流值的准确检测,使得机器人检测行走阻力电流值的方法不仅适用于左右驱动轮打滑程度一致的直线行走状态,也适用于机器人转弯或左右驱动轮打滑程度有差异的直线行走状态,即兼顾两侧驱动轮的转速差异,提高当前相对行走阻力电流值和当前行走阻力电流值在多种环境状态下和多种机器人运动状态下的适应性。
33.作为一种实施例,基于驱动轮电流采样值、第一pwm值以及第二pwm值,计算出机器人的当前行走阻力电流值的方法可以理解为:基于步骤s1实时获得的驱动轮电流采样值、
第一pwm值以及第二pwm值,计算出机器人的当前行走阻力电流值,即在执行步骤s2的过程中同步执行步骤s1。在本实施例中,所述基于驱动轮电流采样值、第一pwm值以及第二pwm值,计算出机器人的当前行走阻力电流值的方法包括:机器人在当前行走面开始行走后,机器人可以是从一个起点位置开始朝着固定一个方向行走,甚至是无障碍地直线行走,在机器人行走过程中,控制驱动轮电流采样值依次减去用于控制驱动电机的pwm值在闭环调节中所引发的电量变化值、以及用于控制风机的pwm值在闭环调节中所引发的电量变化值,获得机器人的当前行走阻力电流值,本技术中对于用于控制驱动电机的pwm值在闭环调节中所引发的电量变化值、以及用于控制风机的pwm值在闭环调节中所引发的电量变化值的相减顺序不作限制。其中,机器人的当前行走阻力电流值使用电量表示,以实现使用数字信号来表示行走阻力信息,这里的电量变化值是电流变化值时,相减获得的机器人的当前行走阻力电流值是使用电流值或电压值表示,可以是经过模数转换器转换出来的数字信号,因此,用于控制驱动电机的pwm值在闭环调节中所引发的电量变化值是由实时获得的第一pwm值转换过来的电流值,用于控制风机的pwm值在闭环调节中所引发的电量变化值是由实时获得的第二pwm值转换过来的电流值。本实施例选择在机器人行走后才开始计算当前行走阻力电流值,是为了降低驱动电机刚开始转动时电流不稳定因素和外界的静摩擦力的影响,则获得驱动电机和风机输出稳定的电流后,通过实时获得的并经过驱动轮验证的驱动轮电流采样值电流减去用于控制驱动电机的pwm信号波动引起的电流跳动,再减去因为风机控制引起的电流跳动,可以获得机器人在某个时间或某段行走面处所承受的当前行走阻力电流值。
34.由本领域技术人员可掌握的是,计算出来的当前行走阻力电流值也可以由电量转换为物理力量纲下的行走阻力,可以参考中国发明专利cn111852925b的说明书第[0023]段当中将电流值除以固定的pwm值获得行走阻力这一计算方式。则机器人在预设采样时间之后机器人所承受的行走阻力可以使用电流值表示。
[0035]
需要说明的是,由于机器人的左右两侧各安装一个驱动轮,所以驱动轮电流采样值与用于控制驱动电机的pwm值在闭环调节中所引发的电量变化值都来源于同一驱动电机连接的驱动轮,以获得机器人的同一侧安装的驱动轮的当前行走阻力电流值。同一机器人中,左右两侧驱动轮所对应的当前相对行走阻力电流值的计算方法是一致;其中,机器人的当前相对行走阻力电流值可以划分为左右两侧驱动轮所对应的当前相对行走阻力电流值;每一侧驱动轮连接的一个驱动电机,都需计算该侧驱动轮的当前行走阻力电流值所需的驱动轮电流采样值的相对电量变化值、以及第一pwm值对应的相对电量变化值。
[0036]
作为计算机器人的当前行走阻力电流值的一种实施例,所述基于驱动轮电流采样值、第一pwm值以及第二pwm值,计算出机器人的当前行走阻力电流值的方法具体包括:机器人开始行走之前,从静止开始启动驱动电机并接受实时调节出的第一pwm值的控制,也启动风机并接受实时调节出的第二pwm值的控制;这里的静止状态可以是刚碰撞障碍物后,制动停止运动的状态,后续朝新的行走方向启动行走;机器人从静止开始启动,一般是通过逐渐加载驱动电机的电流以使机体启动,在这一过程中,即使机器人是处于静止状态,但机器人相对于所接触的行走面存在相对滑动趋势;则机器人相对于所接触的行走面存在静摩擦力,直至机器人从静止开始经过预设启动时间,机器人到达开始运动的临界状态,且该时刻驱动电机提供的驱动力刚刚超过静摩擦力以克服静摩擦力的影响,驱动
电机在实时获得的第一pwm值控制下输出的电流是趋于稳定,以使驱动电机的转速与第一pwm值成线性关系(记为电机的线性阶段),并确定机器人已经完成机体启动并开始在当前行走面行走,机器人开始行走的位置是预设起点位置,即经过预设启动时间后行走的起点位置,也是机器人在驱动电机的输出电流趋于稳定且开始进入线性阶段时所处的位置点。在一些实施例中,在所述预设启动时间内,机器人还可以执行中国专利cn111852925b当中公开的机器人动作校准,即对机器人的每个驱动轮都进行动作校准,争取在210ms内完成左轮和右轮的动作校准,包括机器人的左轮不动,机器人的右轮分别进行固定时间的正转和反转;以及机器人的右轮不动,机器人的左轮分别进行固定时间的正转和反转;然后驱动电机输出的电流信号变得稳定,即进入线性阶段,在此之前得动作校准在本技术中不计为机器人在当前行走面上行走。
[0037]
优选地,为了降低驱动电机刚开始转动时电流不稳定的情况,电流的采样位于固定时间360ms的后半段,采用稳定的电流,减少误差,比如,将所述预设启动时间设置为210ms,则机器人从静止开始经过210ms后,机器人在行走的过程中采样用于计算机器人的当前行走阻力电流值所需的第一pwm值、第二pwm值以及驱动轮电流采样值。
[0038]
机器人在当前行走面行走的过程中,机器人已经克服静摩擦力,且可以朝着同一方向行走,机器人保持对用于控制驱动电机的pwm值进行闭环调节,并确定在闭环调节过程中实时获得第一pwm值;机器人也保持对用于控制风机的pwm值进行闭环调节,并确定在闭环调节过程中实时获得第二pwm值;在将实时获得的第一pwm值传输给驱动电机后,机器人采样驱动电机的电流信号,获得驱动轮电流采样值;具体地,机器人从静止开始经过预设启动时间后,机器人可以在当前行走面无障碍直线行走的过程中,机器人将实时获得的第一pwm值标记为第一待测pwm值,并将实时获得的第二pwm值标记为第二待测pwm值;机器人将第一待测pwm值与第一转换系数的乘积标记为所述用于控制驱动电机的pwm值在闭环调节中所引发的电量变化值,并将第二待测pwm值与第二转换系数的乘积标记为所述用于控制风机的pwm值在闭环调节中所引发的电量变化值,以实现将第一待测pwm值的量纲和第二待测pwm值的量纲都转换为与驱动轮电流采样值的量纲相同,其中,第一转换系数与所述驱动电机的类型和机器人的类型关联,当机器人的类型改变或驱动电机的类型改变时,第一转换系数也变化;第二转换系数与所述风机的类型和机器人的类型关联,当机器人的类型改变或风机的类型改变时,第二转换系数也变化。
[0039]
在本实施例中,机器人控制驱动轮电流采样值减去所述用于控制驱动电机的pwm值在闭环调节中所引发的电量变化值,获得第一电量差值,即相减的差值是第一电量差值;再将第一电量差值减去所述用于控制风机的pwm值在闭环调节中所引发的电量变化值,获得第二电量差值,即第一电量差值减去所述用于控制风机的pwm值在闭环调节中所引发的电量变化值相减的差值是第二电量差值;然后将第二电量差值标记为所述机器人的当前行走阻力电流值,以涵盖真正的外界行走阻力信息,且是由对应的电流变化值表示。因此,在机器人从静止开始,机器人依次克服静摩擦力后,引入驱动电机输出的pwm信号的电流采样值以代表当前行走面的各种反馈数据(包括主动产生的阻力干扰变化和被动接受的阻力干扰变化)对应的电流变化值,并在此基础上排除用于控制驱动电机的pwm值在闭环调节中产生的起阻碍行走作用的力矩和风机产生的风机吸力的影响,从而在行走过程中计算出不受驱动电机输出的力矩和风机吸力影响的外部环境阻力值;在机器人无障碍直线行走的过程
中,所述机器人的当前行走阻力电流值能够还原出机器人实际接触的行走面的材质性质带来的摩擦力情况(机器人的净重,不带有电机设备主动产生的力矩变化),当不同类型的机器人接触不同介质的行走面(对机器人施加不同的行走阻力)都能够保证同一准确度的行走阻力电流值结果。
[0040]
需要说明的是,机器人的驱动轮与行走面相接触以使机器人承受来自行走面的外部阻力,其中,来自行走面表面的摩擦力属于外部阻力。在本实施例中,机器人所接触的行走面的介质发生变化时,机器人计算出的当前行走阻力电流值发生变化。优选地,在机器人没有与障碍物碰撞的情况下,机器人行走的过程中,机器人计算出的当前行走阻力电流值发生变化时,确定机器人所接触的行走面的介质发生变化,则通过检测机器人行走过的两种不同介质的行走面之间的外部阻力差异来确定机器人所接触的行走面的介质发生变化,至少能够确定机器人行走过的两种不同介质的行走面,并确定当前遍历的行走面相对于上一次遍历的行走面所承受的外部阻力(受阻碍程度)的变化,比如可以确定在后走过一个行走面所承受的摩擦力大于在先走过一个行走面所承受的摩擦力。
[0041]
作为计算机器人的当前行走阻力电流值的另一种实施例,所述基于驱动轮电流采样值、第一pwm值以及第二pwm值,计算出机器人的当前行走阻力电流值的方法具体包括:机器人开始行走之前,从静止开始启动驱动电机并接受实时调节出的第一pwm值的控制,也启动风机并接受实时调节出的第二pwm值的控制;这里的静止状态可以是刚碰撞障碍物后,制动停止运动的状态,后续朝新的行走方向启动行走;机器人从静止开始通过逐渐加载驱动电机的电流以使机体启动,在这一启动过程中保持对驱动电机施加第一pwm值,也保持对风机施加第二pwm值,则机器人相对于所接触的行走面存在相对滑动趋势,机器人相对于所接触的行走面存在静摩擦力,直至机器人从静止开始经过预设启动时间,机器人处于预设起点位置,且当前时刻下的驱动电机提供的驱动力刚刚超过静摩擦力以克服静摩擦力的影响,并确定机器人已经完成机体启动并开始在当前行走面行走,以使机器人的驱动轮通过转动来克服静摩擦力;然后,在预设采样时间内,机器人基于所有获得的第一pwm值计算出第一基准pwm值,并基于所有获得的第二pwm值计算出第二基准pwm值,并基于所有获得的驱动轮电流采样值计算出驱动轮基准电流值,其中,驱动轮电流采样值是预设采样时间内直接采样前述闭环调节中实时获得的第一pwm值、或按照预设时间间隔采样前述闭环调节中实时获得的第一pwm值输入给驱动电机后,驱动电机输出的电流信号的采样结果。
[0042]
其中,预设启动时间和预设采样时间是相邻的两段时间,不存在时间间隔以保证预设采样时间是机器人克服静摩擦力后所处的线性阶段,即驱动电机输出的电流信号较为稳定状态。机器人行走至预设起点位置处时,在预设起点位置开始计时所述预设采样时间,即在预设起点位置开始采样计算第一基准pwm值所需的第一pwm值、计算第二基准pwm值所需的第二pwm值以及计算驱动轮基准电流值所需的驱动轮电流采样值。在一些实施例中,在所述预设启动时间内,机器人还可以执行中国专利cn111852925b当中公开的机器人动作校准,即对机器人的每个驱动轮都进行动作校准,争取在210ms内完成左轮和右轮的动作校准,包括机器人的左轮不动,机器人的右轮分别进行固定时间的正转和反转;以及机器人的右轮不动,机器人的左轮分别进行固定时间的正转和反转;然后驱动电机输出的电流信号变得稳定,即进入线性阶段,在此之前得动作校准在本技术中不计为机器人在当前行走面上行走。
[0043]
优选地,为了降低驱动电机刚开始转动时电流不稳定的情况,电流的采样位于固定时间360ms的后半段,采用稳定的电流,减少误差,比如预设启动时间等于210ms,预设采样时间等于100ms,预设采样时间延迟于预设启动时间,从210ms开始采样,持续到310ms停止,共持续100ms的采样时间;因此,机器人在较短的时间内就可以完成静摩擦力的克服和计算行走阻力电流值所需的电流采样,使本技术的实用性更强。为了计算第一基准pwm值、第二基准pwm值以及驱动轮基准电流值,机器人根据定时器的中断时间来采样前述对应设备闭环调节中实时获得的第一pwm值、第二pwm值以及驱动轮电流采样值,当允许数据获取时,定时器中断一次机器人就采样一次,定时器的中断时间为定时器频率的倒数,定时器的频率为1khz时,中断时间为1ms,100ms的采样时间则采样了100次。
[0044]
在预设采样时间内,机器人可以处于在当前行走面行走的状态,机器人已经克服静摩擦力,且可以朝着同一方向行走,机器人保持对用于控制驱动电机的pwm值进行闭环调节,并确定在闭环调节过程中实时获得第一pwm值;机器人也保持对用于控制风机的pwm值进行闭环调节,并确定在闭环调节过程中实时获得第二pwm值;在将实时获得的第一pwm值传输给驱动电机后,机器人采样驱动电机的电流信号,获得驱动轮电流采样值;具体地,机器人从静止开始经过预设启动时间后,机器人可以在当前行走面直线行走的过程中,机器人将第一基准pwm值与第一转换系数的乘积标记为所述用于控制驱动电机的pwm值在闭环调节中所引发的电量变化值,并将第二基准pwm值与第二转换系数的乘积标记为所述用于控制风机的pwm值在闭环调节中所引发的电量变化值,以实现依次将第一基准pwm值的量纲和第二基准pwm值的量纲都转换为与驱动轮电流采样值的量纲相同,其中,驱动轮基准电流值的量纲与驱动轮电流采样值的量纲相同,第一转换系数与所述驱动电机的类型和机器人的类型关联,当机器人的类型改变或驱动电机的类型改变时,第一转换系数也变化;第二转换系数与所述风机的类型和机器人的类型关联,当机器人的类型改变或风机的类型改变时,第二转换系数也变化。
[0045]
在本实施例中,机器人控制驱动轮基准电流值减去所述用于控制驱动电机的pwm值在闭环调节中所引发的电量变化值,则由相减的差值获得第一电量差值,以抵消驱动电机主动产生的扭矩变化干扰;再将第一电量差值减去所述用于控制风机的pwm值在闭环调节中所引发的电量变化值,则由相减的差值获得第二电量差值,从而在抵消驱动电机主动产生的扭矩变化干扰的基础上继续抵消风机吸力施加到驱动轮所主动引入的变化阻力的影响,则将第二电量差值标记为所述机器人的当前行走阻力电流值,由本领域技术人员可掌握的是,预设采样时间内计算出的当前行走阻力电流值可以由电量转换为物理力量纲下的行走阻力,可以参考中国发明专利cn111852925b的说明书第[0023]段当中将电流值除以固定的pwm值获得行走阻力这一计算方式。以提取出反映外界环境的行走阻力信息对应的电流变化值,包括不受机器人主动输出干扰的且与行走面的表面介质相关的摩擦力、和外部障碍物碰撞引起的阻碍作用力,便于机器人在当前所处的行走面上运动规划。
[0046]
作为计算机器人的当前相对行走阻力电流值的一种实施例,基于驱动轮电流采样值、第一pwm值以及第二pwm值,计算出机器人的当前相对行走阻力电流值可以理解为基于步骤s1实时获得的驱动轮电流采样值、第一pwm值以及第二pwm值,计算出机器人的当前相对行走阻力电流值,即在执行步骤s2的过程中同步执行步骤s1。在一些实施例中也可以理解为基于机器人行走阶段的一个时间段获得的两个第一pwm值的差值、机器人行走阶段的
同一个时间段获得的对应两个第二pwm值的差值、以及机器人行走阶段的同一个时间段获得的两个对应的驱动轮电流采样值,计算出机器人的当前相对行走阻力电流值,用于表示机器人在当前行走面处行走所承受的外部阻力与机器人在上一个行走面处行走所承受的外部阻力的差值,这里的外部阻力是机器人从驱动轮电流采样值中排除电机主动产生的扭矩变化引起的干扰(在闭环调节过程中达到预期电机转速或预定行走方向而引起的电流波动)和风机产生的风机吸力变化引起的干扰(在闭环调节过程中达到预期风机吸力而引起的电流波动)而获得的阻力,可以包括受行走面的介质影响的摩擦力以及碰撞外部障碍物引起的行走阻力。
[0047]
所述基于驱动轮电流采样值、第一pwm值以及第二pwm值,计算出机器人的当前相对行走阻力电流值的方法包括:从机器人在当前行走面开始行走后,机器人可以是从一个起点位置开始朝着固定一个方向行走,甚至是无障碍地直线行走,则在机器人行走的过程中,机器人控制驱动轮电流采样值的相对电量变化值依次减去第一pwm值对应的相对电量变化值、以及第二pwm值对应的相对电量变化值,获得机器人的当前相对行走阻力电流值,其中,第一pwm值对应的相对电量变化值可以是前述计算当前行走阻力电流值的一种实施例中的用于控制驱动电机的pwm值(一个时刻处获得的第一pwm值)在闭环调节中所引发的电量变化值与第一pwm值引起的一个基准电量变化值的差值,第二pwm值对应的相对电量变化值也可以是前述计算当前行走阻力电流值的一种实施例中的用于控制风机的pwm值(一个时刻处获得的第二pwm值)在闭环调节中所引发的电量变化值与第二pwm值引起的一个基准电量变化值的差值。本实施例中对于第一pwm值对应的相对电量变化值、以及第二pwm值对应的相对电量变化值的相减顺序不作限制。其中,机器人的当前相对行走阻力电流值使用电量表示,以实现使用数字信号来表示行走阻力信息,这里的相对电量变化值是电流变化值时,相减获得的机器人的当前相对行走阻力电流值是使用电流值或电压值表示,可以是经过模数转换器转换出来的数字信号,因此,第一pwm值对应的相对电量变化值和第二pwm值对应的相对电量变化值都是等效于两个pwm值的差值转换过来的电流值。本实施例选择在机器人行走后才开始计算当前相对行走阻力电流值,是为了降低驱动电机刚开始转动时电流不稳定因素和外界的静摩擦力的影响,则获得驱动电机和风机输出稳定的电流后,通过实时获得的并经过驱动轮验证的驱动轮电流采样值相对于基准电流值所存在的电流跳动减去用于控制驱动电机的pwm值引起的电流变化值相对于基准pwm值所存在的电流跳动,再减去用于控制风机的pwm值引起的电流变化值相对于对应的基准pwm值所存在的电流跳动,可以获得机器人在某两个时间或某两段行走面处所承受的当前行走阻力电流值的差值,即机器人的当前相对行走阻力电流值。
[0048]
需要说明的是,驱动轮电流采样值的相对电量变化值与第一pwm值对应的相对电量变化值都来源于同一驱动电机连接的驱动轮,以获得机器人的同一侧安装的驱动轮的当前相对行走阻力电流值,则对于同一机器人,其左右两侧驱动轮所对应的当前相对行走阻力电流值的计算方法是一致;其中,机器人的当前相对行走阻力电流值可以划分为两侧驱动轮所对应的当前相对行走阻力电流值;每一侧驱动轮连接的一个驱动电机,都需计算该侧驱动轮的当前相对行走阻力电流值所需的驱动轮电流采样值的相对电量变化值、以及第一pwm值对应的相对电量变化值。
[0049]
在上述实施例的基础上,所述基于驱动轮电流采样值、第一pwm值以及第二pwm值,
计算出机器人的当前相对行走阻力电流值的方法具体包括:机器人开始行走之前,从静止开始启动驱动电机并接受实时调节出的第一pwm值的控制,也启动风机并接受实时调节出的第二pwm值的控制;这里的静止状态可以是刚碰撞障碍物后,制动停止运动的状态,后续朝新的行走方向启动行走;机器人从静止开始通过逐渐加载驱动电机的电流以使机体启动,则机器人相对于所接触的行走面存在相对滑动趋势,机器人相对于所接触的行走面存在静摩擦力,直至机器人从静止开始经过预设启动时间,机器人位于预设起点位置,当前时刻下,驱动电机提供的驱动力刚刚超过静摩擦力以克服静摩擦力的影响,则驱动电机输出的电流信号处于稳定状态以保证机器人在不同介质的行走面(不同摩擦力的行走面)正常工作,并确定机器人已经完成机体启动并开始在当前行走面行走,以使机器人的驱动轮克服静摩擦力,其中,机器人开始行走的位置是预设起点位置,即经过预设启动时间后行走的起点位置,也是机器人在驱动电机的输出电流趋于稳定且开始进入线性状态时所处的位置点。预设起点位置处是预先设置在待清洁介质的行走面上,作为机器人采样驱动轮电流采样值的出发点。在一些实施例中,在所述预设启动时间内,机器人还可以执行中国专利cn111852925b当中公开的机器人动作校准,即对机器人的每个驱动轮都进行动作校准,争取在210ms内完成左轮和右轮的动作校准,包括机器人的左轮不动,机器人的右轮分别进行固定时间的正转和反转;以及机器人的右轮不动,机器人的左轮分别进行固定时间的正转和反转;然后驱动电机输出的电流信号变得稳定,即进入线性阶段,在此之前得动作校准在本技术中不计为机器人在当前行走面上行走。然后在预设采样时间内,机器人基于所有获得的第一pwm值计算出第一基准pwm值,并基于所有获得的第二pwm值计算出第二基准pwm值,并基于所有获得的驱动轮电流采样值计算出驱动轮基准电流值。
[0050]
机器人在预设采样时间内保持在当前行走面行走,即在同一介质的行走面上行走以承受同一表面摩擦力的作用(由介质的类型决定的摩擦力,不受机器人的风机输出的风机吸力变化和驱动电机输出的变化力矩的干扰,而且机器人的整体重力没有改变)。机器人在所述预设采样时间内行走的过程中,计算出的第一基准pwm值可代表驱动电机输出扭力作用所引起的适用范围较广的附加行走阻力的变化情况,防止前述闭环调节出的过大的pwm值或过小的pwm值的干扰,因此让第一基准pwm值成为驱动电机带来的基准主动干扰因素对应的pwm值。同理地,计算出的第二基准pwm值可以代表风机吸力施加到行走面所带来的适用范围较广的附加行走阻力,也可以反馈出驱动轮在同一介质的行走面上所承受的风机吸力变化引起的电流变化值,以使第二基准pwm值成为风机带来的基准主动干扰因素对应的pwm值。同理地,计算出的驱动轮基准电流值能够代表驱动轮在同一介质的行走面上行走所有存在的阻力因素对应的电流采样值,代表在预设采样时间内驱动轮在同一介质的行走面所承受的驱动电机扭力变化引起的干扰因素、驱动轮在同一介质的行走面上所承受的风机吸力变化引起的干扰因素、驱动轮受到该介质的行走面作用的摩擦力(同一质量的机器人中,与行走面的介质类型相关)以及同一介质的行走面上可能存在的障碍物碰撞阻碍因素,这些因素都可以转换为电流变化值。
[0051]
机器人在预设采样时间内计算出第一基准pwm值、第二基准pwm值以及驱动轮基准电流值后,已经经过预设采样时间,则保留下第一基准pwm值、第二基准pwm值以及驱动轮基准电流值,作为适应在当前行走面中使用的行走阻力平衡电流值,适应驱动电机和风机在
当前行走面内主动产生的各种阻力和被动接收的外部阻力,则当前行走面可以设置为参考行走面;若预设采样时间比较短且当前行走面比较长,则机器人在预设采样时间后仍在当前行走面行走,而且机器人是可以保持在同一介质的行走面继续直线行走。在此基础上,若将驱动轮基准电流值依次减去第一基准pwm值和第二基准pwm值,则相减结果可以设置为基准行走阻力电流值,代表机器人在当前行走面上所承受的外部阻力的有效值,相当于所述预设采样时间内对同一介质的行走面上所承受的外部阻力值的校准结果,记为所述预设采样时间内对外部阻力值的校准结果,可以理解为机器人在每种介质的行走面所承受的标准外部阻力值;则可以通过对比行走阻力电流值与所述预设采样时间内对外部阻力值的校准结果,来区分与所述预设采样时间内行走过的行走面的介质不同的行走面,也可以在同一介质的行走面上依靠实时计算出的过大的行走阻力电流值检测出机器人是否在该行走面发生碰撞。
[0052]
经过所述预设采样时间后,为了将实时获得pwm值与所述预设采样时间内计算出的基准pwm值进行对比,以便于计算出所述机器人的当前相对行走阻力电流值;在本实施例中,机器人先将实时获得的第一pwm值标记为第一待测pwm值,并将实时获得的第二pwm值标记为第二待测pwm值,然后将实时获得的驱动轮电流采样值与驱动轮基准电流值的差值标记为所述驱动轮电流采样值的相对电量变化值,可以代表最新行走到的位置或行走面相对于计算驱动轮基准电流值所需的行走面(参考行走面)存在的行走阻力(可以是主动输入的行走阻力和被动接收的外部阻力一起施加到驱动轮上的总作用力)的差异对应转换出的电流值,表示相对于参考行走面形成的行走阻力对比值;并将第一待测pwm值与第一基准pwm值的差值与第一转换系数的乘积标记为所述第一pwm值对应的相对电量变化值,代表机器人最新行走到的位置或行走面相对于计算第二基准pwm值所需的行走面(参考行走面)所承受的驱动电机扭力变化引起的电流变化值的差异程度,用于表示相对于参考行走面形成的驱动电机主动干扰对比值;并将第二待测pwm值与第二基准pwm值的差值与第二转换系数的乘积标记为所述第二pwm值对应的相对电量变化值,代表机器人最新行走到的位置或行走面相对于计算第二基准pwm值所需的行走面(参考行走面)所承受的风机吸力变化引起的电流变化值的差异程度,用于表示相对于参考行走面形成的风机吸力干扰对比值。第一转换系数将第一基准pwm值的量纲转换为与驱动轮电流采样值的量纲相同,第二转换系数将第二基准pwm值的量纲转换为与驱动轮电流采样值的量纲相同,其中,驱动轮基准电流值的量纲与驱动轮电流采样值的量纲相同,第一转换系数与所述驱动电机的类型和机器人的类型关联,当机器人的类型改变或驱动电机的类型改变时,第一转换系数也变化;第二转换系数与所述风机的类型和机器人的类型关联,当机器人的类型改变或风机的类型改变时,第二转换系数也变化。然后,机器人控制驱动轮电流采样值的相对电量变化值减去第一pwm值对应的相对电量变化值,获得第一差值(驱动电机输出的扭力施加到驱动轮以主动引入的作用力对应的电流变化值),以抵消驱动电机主动干扰对比值;再将第一差值减去第二pwm值对应的相对电量变化值,获得第二差值(风机吸力施加到驱动轮以主动引入的作用力变化值),从而在抵消驱动电机主动干扰对比值的基础上继续抵消风机吸力干扰对比值的影响,再将第二差值标记为所述机器人的当前相对行走阻力电流值,以反映机器人在所述预设采样时间内外行走过的行走面之间的外部阻力差异,即外部行走阻力差异,对应为提取出外界环境的行走阻力相对于参考行走面形成的相对阻力电流信息,用于表示不受电机主动输
出的扭力干扰且与行走面的表面介质相关的相对摩擦力、和外部障碍物碰撞引起的相对阻碍(可以是相对于无障碍物的行走面的行走阻力差值)。
[0053]
由本领域技术人员可掌握的是,计算出来的当前相对行走阻力电流值也可以由电量转换为物理力量纲下的相对行走阻力,可以参考中国发明专利cn111852925b的说明书第[0023]段当中将电流值除以固定的pwm值获得行走阻力这一计算方式。
[0054]
优选地,机器人在所述预设采样时间内行走过的行走面的介质与所述预设起点位置处的介质是不相同时,机器人的当前相对行走阻力电流值用于表示机器人在当前行走面处行走所承受的外部阻力与机器人在参考行走面所承受的外部阻力的差值对应的电流值,外部阻力的差值与电流值之间需要使用预先设置的转换系数进行变换,比如地面摩擦力与电流之间的转换系数,可能需要电机输出的力矩的参与转换,则该转换系数会根据驱动电机或风机的型号的变化进行微调;其中,机器人在所述预设采样时间内保持行走过的行走面被定义为参考行走面,参考行走面可以与当前行走面的介质相同以检测机器人在同一介质的行走面上所承受摩擦力变化情况,参考行走面可以与当前行走面的介质也可以不相同,以检测机器人是否在跨越不同介质的行走面;一般地,参考行走面处不存在障碍物;然后,当机器人计算出的当前相对行走阻力电流值过大时,可以确定机器人在同一介质的行走面(当前行走面)上碰撞到障碍物,若没有碰撞到障碍物,则机器人处于无障碍行走状态中。在机器人无障碍直线行走的情况下,可以确定机器人当前遍历的一种介质类型行走面所承受的摩擦力(属于外部阻力)较之前遍历的另一种介质类型的行走面是变大还是变小,则能够有效地区分出机器人先后行走到摩擦力不同的介质的行走面中,其中,机器人所接触的行走面的介质发生变化时,对应承受的外部阻力也发生变化,则当前行走面的介质与预设起点位置处的介质不同时,所述机器人的当前相对行走阻力电流值可以进一步地反映出机器人行走过的两种不同介质的行走面之间的外部阻力差异对应的电量值,至少确定机器人行走过的两种不同介质的行走面,并确定当前遍历的行走面相对于上一次遍历的行走面所承受的外部阻力(受阻碍程度)的变化。
[0055]
优选地,机器人在所述预设采样时间内行走过的行走面的介质与所述预设起点位置处的介质是相同时,机器人的当前相对行走阻力电流值用于表示机器人在当前行走面处行走所承受的外部阻力与机器人在预设起点位置处相接触的行走面所承受的外部阻力的差值对应的电流值,外部阻力的差值与电流值之间需要使用预先设置的转换系数进行变换,比如地面摩擦力与电流之间的转换系数,可能需要电机输出的力矩的参与转换,则该转换系数会根据驱动电机或风机的型号的变化进行微调;其中,机器人在所述预设采样时间内保持行走在同一介质的行走面上,则当前行走面、机器人在所述预设采样时间内保持行走过的行走面以预设起点位置处的介质都是相同,一般地,预设起点位置处不存在障碍物;然后,当机器人计算出的当前相对行走阻力电流值过大时,可以确定机器人在同一介质的行走面(当前行走面)上碰撞到障碍物。在本实施例中,机器人从启动后从预设起点位置开始行走并进入所述预设采样时间,则机器人行走过所述预设采样时间后计算出第一基准pwm值、第二基准pwm值以及驱动轮基准电流值,再将第一基准pwm值与第一转换系数的乘积标记为所述第一pwm值在所述预设采样时间内所形成的有效电流变化值,第一基准pwm值能够代表机器人的驱动电机输出的扭矩在所述预设采样时间内行走过的行走面上施加到驱动轮中的平均阻力信息或最大阻力信息(能够代表静止启动时所承受的最大静摩擦力),其
中,pwm值与电流值也存在相应的转换系数,该转换系数同样可以根据驱动电机或风机的型号的变化进行微调。由于机器人在所述预设采样时间内行走过的行走面的介质与所述预设起点位置处的介质是相同,所以,第一基准pwm值能够代表机器人的驱动电机输出的扭矩在所述预设起点位置处施加到驱动轮中的有效作用力信息;同理地,第二基准pwm值能够代表机器人的风机产生的风机吸力在所述预设起点位置处施加到驱动轮中的有效阻力信息;驱动轮基准电流值能够代表机器人的驱动轮在所述预设起点位置行走存在的所有作用力因素形成的电流采样值,具体可以代表在预设采样时间内驱动轮在同一介质的行走面所承受的驱动电机扭力变化所引起的电流变化值、驱动轮在同一介质的行走面上所承受的风机吸力变化所引起的电流变化值、驱动轮受到该介质的行走面作用的摩擦力(同一质量的机器人中,与行走面的介质类型相关)所引起的电流变化值、以及同一介质的行走面上可能存在的障碍物碰撞阻碍所引起的电流变化值,因此,机器人的当前相对行走阻力电流值可以用于表示机器人在当前行走面处行走所承受的外部阻力与机器人在预设起点位置处所承受的外部阻力的差值对应的电流值,或表示机器人在当前行走面处行走所承受的外部阻力与机器人在预设起点位置所处的行走面所承受的外部阻力的差值对应的电流值。
[0056]
在上述实施例的基础上,机器人所接触的行走面的介质发生变化时,对应承受的外部阻力也发生变化,因此,在机器人最新行走过的行走面的介质与预设起点位置处的介质不同时,所述机器人的当前相对行走阻力电流值能够反映两种不同介质的行走面之间的外部阻力差异,即机器人当前遍历的工作区域的表面介质与上一次遍历的工作区域的表面介质之间的外部阻力的差异,其中,上一次遍历的工作区域是包括机器人在所述预设采样时间内遍历过的行走面和预设起点位置。
[0057]
需要说明的是,机器人的驱动轮与行走面相接触以使机器人承受来自行走面的外部阻力,包括因介质而异的表面摩擦力和外部障碍物的阻碍作用力,可以统称为外部行走阻力。所述机器人的当前相对行走阻力电流值增大时,确定机器人在当前行走面所承受的行走阻力大于机器人在所述预设起点位置处所承受的行走阻力;所述机器人的当前相对行走阻力电流值减小时,确定机器人在当前行走面所承受的行走阻力小于机器人在所述预设起点位置处所承受的行走阻力。所述机器人的当前相对行走阻力电流值增大或所述机器人的当前行走阻力电流值增大时,确定机器人在当前行走面所承受的外部阻力增大;所述机器人的当前相对行走阻力电流值大于数值0时,机器人在当前行走面所承受的外部阻力大于机器人在所述预设起点位置处所承受的外部阻力;所述机器人的当前相对行走阻力电流值减小或所述机器人的当前行走阻力电流值减小时,确定机器人在当前行走面所承受的外部阻力减小,所述机器人的当前相对行走阻力电流值小于数值0时,机器人在当前行走面所承受的外部阻力小于机器人在所述预设起点位置处所承受的外部阻力。
[0058]
优选地,机器人在经过所述预设采样时间后行走的行走面的介质与所述预设采样时间内行走过的行走面的介质是不同类型的材质时,同一机器人在不同的行走面各承受不同摩擦力的作用,同一机器人在所述预设采样时间内外所承受到的摩擦力变化(外部阻力的变化情况)可以由所述机器人的当前相对行走阻力电流值来检测出来,其中,所述预设采样时间比较短;所述机器人的当前相对行走阻力电流值在同一基准量的基础上,可以区分出不同介质的行走面的相对摩擦力,也可以对应设置阈值进行精细化区分,以便于区别机器人是否行走到新介质的行走面。
[0059]
在上述计算当前行走阻力电流值和当前相对行走阻力电流值的实施例当中,在所述预设采样时间内,基于所有获得的第一pwm值计算出第一基准pwm值的方法包括:对所述预设采样时间内所有获得的第一pwm值求平均值,获得第一基准pwm值,具体是对依次采样到的第一pwm值求和,再依据求和次数对第一pwm值在所述预设采样时间内的和值求平均值,该平均值是设置为第一基准pwm值,防止前述闭环调节出的个别过大的pwm值或过小的pwm值的干扰;优选地,机器人不断将采样实时闭环调节出来的第一pwm值进行求和,直到不允许采样时停止求和,并将求和的结果除以求和的次数,得到第一基准pwm值。在所述预设采样时间内不限制左右驱动轮是正转还是反转;或者,从所述预设采样时间内所有获得的第一pwm值当中,筛选出数值最大的第一pwm值,作为第一基准pwm值,具体地,依次比较所有获得的第一pwm值之间的大小,再将数值最大的第一pwm值设置为第一基准pwm值,以防止驱动轮走不动;从而在所述预设采样时间内既可以完成对第一pwm值的采样,也在同一时间段内完成对所有获得的第一pwm值的过滤。
[0060]
同理地,在所述预设采样时间内,基于所有获得的第二pwm值计算出第二基准pwm值的方法包括:对所述预设采样时间内所有获得的第二pwm值求平均值,获得第二基准pwm值,以避免采样到驱使风机吸力过大的第二pwm值(防止对驱动轮施加过大的压力而导致驱动轮无法转动),也避免采样到驱使风机吸力过小的第二pwm值(防止对驱动轮施加过小的压力而容易引起驱动轮打滑);或者,从所述预设采样时间内所有获得的第二pwm值当中,筛选出数值最大的第二pwm值,作为第二基准pwm值,此时,即使是采用最大的第二pwm值,后续在计算当前行走阻力电流值或当前相对行走阻力电流值时会被抵消掉。
[0061]
同理地,在所述预设采样时间内,基于所有获得的驱动轮电流采样值计算出驱动轮基准电流值的方法包括:对所述预设采样时间内所有获得的驱动轮电流采样值求平均值,获得驱动轮基准电流值,驱动轮电流采样值在所述预设采样时间内的平均值是驱动轮基准电流值,可以是在计算获得第一基准pwm值后获得,保证计算出的驱动轮基准电流值的实时性和有效性;或者,从所述预设采样时间内所有获得的驱动轮电流采样值当中,筛选出数值最大的驱动轮电流采样值,获得驱动轮基准电流值,也可以是在计算获得第一基准pwm值后获得,保证计算出的驱动轮基准电流值的实时性和有效性;其中,所述预设采样时间内,机器人按照预设时间间隔采集第一pwm值和第二pwm值,则采集的驱动轮电流采样值也是按照预设时间间隔采集获得,进而获得有限数量的第一基准pwm值、第二基准pwm值以及驱动轮基准电流值,从而获得计算行走阻力电流值所需的较全面的pwm值,计算速度较快。
[0062]
综上,为了检测机器人在最新遍历的行走面与机器人开始行走的预设起点位置处或参考行走面的相对行走阻力电流值、以及机器人在最新遍历的行走面的行走阻力电流值,前述实施例不是简单孤立地只判断电机电流的突变或只判断码盘记录的里程数据变化,而是结合用于控制驱动电机的pwm值和用于控制风机的pwm值,来在驱动轮电流采样值中抵消电机主动产生的扭力干扰和风机吸力变化引入的阻力因素的影响,并能够在不使用码盘测量数据的前提下,计算获得不受机器人主动产生的电流变化值干扰(包括风机吸力变化施加的电流变化值和驱动电机输出的扭矩变化引起的电流变化值)的行走阻力电流值,并在所述预设采样时间内行走过的行走面(视为参考行走面)当中完成对pwm值和电流采样pwm值的校准以获得基准pwm值,进而计算出机器人在最新遍历的行走面与所述参考行走面的相对行走阻力电流值,也不受机器人主动产生的电流变化值干扰(包括风机吸力变
化施加的电流变化值和驱动电机输出的扭矩变化引起的电流变化值);因而提取出机器人在当前行走面所承受的外部阻力情况,以确定出受当前行走面的介质类型约束的阻力与机器人受外界障碍物碰撞引起的行走阻力等情况。
[0063]
作为一种实施例,在所述步骤s1中,机器人可以通过角度闭环反馈调节装置对用于控制驱动电机的pwm值进行调节,并将实时调节出的第一pwm值输入到驱动电机,驱动电机会改变输出的转速,再将改变后的转速对应形成的机器人的航向角度作为角度闭环反馈调节装置的反馈输入,以维持闭环调节,也间接地对机器人实时测得的航向角度的闭环调节,其中闭环调节具有对应的调节周期。因此,所述对用于控制驱动电机的pwm值进行闭环调节的方法包括:机器人实时测得的航向角度与目标导航角度在当前调节周期内的角度差值的绝对值不处于预设角度误差范围时,机器人将实时测得的航向角度与目标导航角度在当前调节周期内的角度差值的绝对值或机器人将实时测得的航向角度配置为角度闭环反馈调节装置的下一调节周期的反馈输入,以对用于控制驱动电机的pwm值进行pid调节,本实施例将闭环调节设置为pid调节;并将用于控制驱动电机的pwm值的实时反馈调节结果设置为所述第一pwm值,则每个调节周期都会调节出一个第一pwm值并被外部实时获取;再将第一pwm值输入驱动电机以实时调整机器人的航向角度,直至机器人实时测得的航向角度与目标导航角度的角度差值的绝对值在预设角度误差范围变化或在预设角度误差范围保持恒定值,保持将最新获得的第一pwm值输入驱动电机,通过对第一pwm值进行pid调节来推进机器人实时测得的航向角度的闭环调节以逼近所述目标导航角度,引导机器人沿着目标导航角度对应的方向行走;其中,目标导航角度是机器人预先规划出来以引导机器人沿着预先规划的工作路径行走,则目标导航角度是允许被修改,当目标导航角度修改幅度过大或机器人先停止再重新启动行走时,需要重新执行步骤s1和步骤s2,一般是碰撞到障碍物的场景下,先停止或掉头,则需要重新执行步骤s1和步骤s2以重新计算当前行走阻力电流值和/或当前相对行走阻力电流值;机器人的航向角度是由机器人内置的陀螺仪实时测得。
[0064]
角度闭环反馈调节装置可以划分为第一角度闭环反馈调节装置和第二角度闭环反馈调节装置,第一角度闭环反馈调节装置用于对左驱动电机的pwm值进行pid调节,第二角度闭环反馈调节装置用于对右驱动电机的pwm值进行pid调节。第一角度闭环反馈调节装置和第二角度闭环反馈调节装置可以是由pid控制器构成。
[0065]
具体地,所述对用于控制驱动电机的pwm值进行闭环调节的方法包括:机器人实时测得的航向角度与目标导航角度在当前调节周期内的角度差值的绝对值不处于预设角度误差范围的情况下,机器人控制第一角度闭环反馈调节装置来对用于控制左驱动电机的pwm值进行pid调节;在对用于控制左驱动电机的pwm值进行pid调节的过程中,第一角度闭环反馈调节装置在当前调节周期内输出最新的用于控制左驱动电机的pwm值,机器人将用于控制左驱动电机的pwm值与预设左目标pwm值在当前调节周期内的差值配置为第一角度闭环反馈调节装置的下一调节周期的反馈输入,以缩小用于控制左驱动电机的pwm值与预设左目标pwm值的差值,随着时间的增加,该差值变小,直到等于零,可以使第一角度闭环反馈调节装置进入稳态,则机器人实时测得的航向角度比较接近目标导航角度。第一角度闭环反馈调节装置是具有负反馈调节功能的闭环控制系统。机器人会将最新调节输出的用于控制左驱动电机的pwm值设置为所述第一一pwm值,再将所述第一一pwm值实时输入左驱动电机以获得左驱动电机的实时转速,左驱动电机输出的电流信号能够被采样出以反馈左驱
动轮在行走面上承受的阻力情况;其中,在不考虑外部阻力(比如摩擦力和碰撞因素)的前提下,左驱动电机的实时转速与第一一pwm值成正比关系。
[0066]
同时,机器人实时测得的航向角度与目标导航角度在当前调节周期内的角度差值的绝对值不处于预设角度误差范围的情况下,机器人控制第二角度闭环反馈调节装置来对用于控制右驱动电机的pwm值进行pid调节;在对用于控制左驱动电机的pwm值进行pid调节的过程中,第二角度闭环反馈调节装置在当前调节周期内输出最新的用于控制右驱动电机的pwm值,机器人将用于控制右驱动电机的pwm值与预设右目标pwm值在当前调节周期内的差值配置为下一调节周期的反馈输入,以缩小用于控制右驱动电机的pwm值与预设右目标pwm值的差值,随着时间的增加,该差值变小,直到等于零,可以使第二角度闭环反馈调节装置进入稳态,则机器人实时测得的航向角度比较接近目标导航角度。第二角度闭环反馈调节装置是具有负反馈调节功能的闭环控制系统。机器人会将最新调节出的用于控制右驱动电机的pwm值设置为所述第一二pwm值,再将所述第一二pwm值输入右驱动电机以获得右驱动电机的实时转速,右驱动电机输出的电流信号能够被采样出以反馈右驱动轮在行走面上承受的阻力情况;其中,在不考虑外部阻力(比如摩擦力和碰撞因素)的前提下,右驱动电机的实时转速与第一二pwm值成正比关系。
[0067]
当用于控制左驱动电机的pwm值与预设左目标pwm值的差值小于第一预设驱动轮稳态误差,且用于控制右驱动电机的pwm值与预设右目标pwm值的差值小于第二预设驱动轮稳态误差时,机器人基于左驱动电机的实时转速与右驱动电机的实时转速的差值,进行行走方向的调整,调整角度由左驱动轮的实时转速与右驱动轮的实时转速的差值决定,调整方向后,机器人实时测得的航向角度配置为角度闭环反馈调节装置(包括第一角度闭环反馈调节装置和第二角度闭环反馈调节装置)在下一调节周期的反馈输入,以实现在前述pid调节的过程中将机器人的航向角度与目标导航角度的角度差值的绝对值调整为在预设角度误差范围变化或在预设角度误差范围保持恒定值。需要说明的是,在本实施例中,首先机器人通过陀螺仪实时测得当前航向角度,左驱动轮的实时转速与用于控制左驱动电机的pwm值成正比并存在预设的转换关系,右驱动轮的实时转速与用于控制右驱动电机的pwm值成正比并存在预设的转换关系,左驱动轮的半径与右驱动轮的半径相等并对称地设置在机器人的左右两侧,则左驱动轮的周长等于右驱动轮的周长;机器人将左驱动轮的实时转速与右驱动轮的实时转速的差值与左驱动轮的周长(或右驱动轮的周长)相乘,相乘的结果是标记为左驱动轮的行走速度与右驱动轮的行走速度的差值,再将该相乘的结果与机器人的机身宽度的比值设置为机器人调整行走方向所达到的角速度,再将机器人调整方向所达到的角速度与行走方向的调整时间的乘积设置为机器人为调整行走方向所转过的角度,即所述调整角度,必要时可以将计算形成的弧度单位转换为角度单位;该调整角度在角度闭环反馈调节装置的调节作用下逐渐接近甚至等于机器人的当前航向角度与目标导航角度的角度差值的绝对值,其中,预设角度误差范围包括数值0,量纲与陀螺仪测得的角度适用的量纲相同。优选地,机器人的底盘形状是圆盘形状时,机器人的机身宽度是机器人的机身直径。
[0068]
在前述实施例中,所述第一pwm值包括第一一pwm值和第一二pwm值;预设右目标pwm值和预设左目标pwm值统称为第一预设目标pwm值。机器人的左侧安装左驱动轮,左驱动轮与左驱动电机电性连接;机器人的右侧安装右驱动轮,右驱动轮与右驱动电机电性连接。
在进行闭环调节的过程中,左驱动电机的实时转速与右驱动电机的实时转速的差值的绝对值可以与机器人的航向角度与目标导航角度的角度差值的绝对值成正相关关系,即机器人的航向角度与目标导航角度的角度差值的绝对值越大,则左驱动电机的实时转速与右驱动电机的实时转速的差值的绝对值越大,则左右两侧驱动轮的转速差越大,但左右两侧驱动轮转动形成的机器人转弯方向与机器人的行走方向相对于目标导航角度指示的方向的偏离方向相反,以缩小机器人的航向角度与目标导航角度的角度差值的绝对值,形成对角度的负反馈调节。
[0069]
作为一种实施例,在所述步骤s1中,机器人可以通过气压闭环反馈调节装置对用于控制风机的pwm值进行调节,并将实时调节出的第二pwm值施加到风机,风机内设的电机会改变输出的转速,再将改变后的转速对应形成的风机吸力作为气压闭环反馈调节装置的反馈输入,以维持闭环调节,也间接地对机器人实时测得的风机吸力的闭环调节;因此步骤s1所述的对用于控制风机的pwm值进行闭环调节的方法包括:机器人实时测得的风机吸力与目标工作吸力在当前调节周期内的气压差值的绝对值不处于预设气压误差范围时,机器人将实时测得的风机吸力与目标工作吸力在当前调节周期内的气压差值的绝对值或实时测得的风机吸力配置为气压闭环反馈调节装置在下一调节周期的反馈输入,以对用于控制风机的pwm值进行pid调节,本实施例将闭环调节设置为pid调节;并将用于控制风机的pwm值的实时反馈调节结果设置为第二pwm值,则每个调节周期都会调节出一个第二pwm值并被外部实时获取以计算当前行走阻力电流值或当前相对行走阻力电流值;再将第二pwm值输入风机以实时调整风机吸力,直至机器人实时测得的风机吸力与目标工作吸力在当前调节周期内的气压差值的绝对值在预设气压误差范围变化或在预设气压误差范围保持恒定值,保持将最新获得的第二pwm值输入风机,通过对第二pwm值进行pid调节来推进机器人实时测得的风机吸力的闭环调节以逼近所述目标工作吸力,其中,目标工作吸力是机器人预先设置以适应机器人当前所在的工作面的气压情况;机器人的风机的进风口处设置气压传感器,用于实时监测风机吸力。
[0070]
具体地,所述对用于控制风机的pwm值进行闭环调节的方法包括:机器人实时测得的风机吸力与目标工作吸力在当前调节周期内的气压差值的绝对值不处于预设气压误差范围时,机器人控制气压闭环反馈调节装置来对用于控制风机的pwm值进行pid调节;在对用于控制风机的pwm值进行pid调节的过程中,机器人将用于控制风机的pwm值与第二预设目标pwm值在当前调节周期内的差值配置为气压闭环反馈调节装置在下一调节周期的反馈输入,以缩小用于控制风机的pwm值与第二预设目标pwm值的差值,随着时间的增加,该差值变小,直到等于零,可以使气压闭环反馈调节装置进入稳态,则机器人实时测得的风机吸力比较接近目标工作吸力。气压闭环反馈调节装置是具有负反馈调节功能的闭环控制系统。机器人会将用于控制风机的pwm值设置为所述第二pwm值,再将所述第二pwm值输入风机以产生风机吸力并施加到行走面和驱动轮中;其中,风机吸力与第二pwm值成正相关关系。当用于控制风机的pwm值与第二预设目标pwm值的差值小于预设风机稳态误差时,机器人实时测得的风机吸力与目标工作吸力的气压差值的绝对值在预设气压误差范围变化或在预设气压误差范围保持恒定值。其中,预设气压误差范围包括数值0,量纲与气压适用的量纲相同。
[0071]
需要说明的是,pid( proportional integral derivative)调节是经典控制理论
中控制系统的一种基本调节方式,是具有比例、积分和微分作用的一种线性调节规律。被广泛应用于工业过程控制,尤其适用于可建立精确数学模型的确定性控制系统。当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用pid调节技术最为方便。即当不完全了解一个系统和被控对象,或不能通过有效的测量手段来获得系统参数时,最适合用pid控制技术。pid调节,实际中也有pi和pd控制。pid调节就是根据系统的误差,利用比例、积分、微分计算出控制量进行控制的。加大比例系数kp可以减小系统的静差,但当kp 过大时,会使系统的动态品质变坏,引起被控量振荡,甚至导致闭环系统不稳定。积分系数ti大说明积分作用弱,反之则说明积分作用强,增大ti,将减慢消除静差的过程,但可以减小超调,提高稳定性。微分系数td增大,则微分作用加强,有助于减少超调,克服振荡,使系统趋于稳定,加快系统的响应速度,减小调整时间,从而改善系统的动态性能。
[0072]
作为一种实施例,所述采样驱动电机输出的pwm信号,获得驱动轮电流采样值的方法包括:机器人通过模数转换器采样左驱动电机输出的电流信号,获得左驱动轮电流采样值,以反映左驱动轮的运动状态;同时,机器人通过模数转换器采样右驱动电机输出的电流信号,获得右驱动轮电流采样值,以反映右驱动轮的运动状态;其中,所述驱动轮电流采样值包括左驱动轮电流采样值和右驱动轮电流采样值,驱动电机输出的电流信号是属于pwm信号,驱动轮电流采样值能够使用电压值表示电流变化情况,反馈驱动轮承受的所有类型的行走阻力,包括驱动电机输出的力矩变化干扰信息,具体与施加到驱动轮的扭力等因素相关,也包括风机产生的吸力施加到驱动轮而引起的阻力影响因素,还包括由地面介质决定的摩擦力、以及碰撞障碍物所引入的外部阻力。
[0073]
在上述计算当前行走阻力电流值和当前相对行走阻力电流值的实施例的基础上,第一pwm值采用所述第一一pwm值,且所述驱动轮电流采样值采用左驱动轮电流采样值时,左驱动轮电流采样值减去第一一pwm值在闭环调节中所引发的电量变化值,获得第一差值,再将第一差值减去第二pwm值在闭环调节中所引发的电量变化值,获得第二差值,再将第二差值标记为所述机器人的左驱动轮的当前行走阻力电流值;或者,左驱动轮电流采样值的电量变化值减去第一一pwm值对应的相对电量变化值,获得第一差值,再将第一差值减去第二pwm值对应的相对电量变化值,获得第二差值,再将第二差值标记为所述机器人的左驱动轮的当前相对行走阻力电流值。
[0074]
第一pwm值采用所述第一二pwm值,且所述驱动轮电流采样值采用右驱动轮电流采样值时,右驱动轮电流采样值的电量变化值减去第一二pwm值在闭环调节中所引发的电量变化值,获得第一差值,再将第一差值减去第二pwm值在闭环调节中所引发的电量变化值,获得第二差值,再将第二差值标记为所述机器人的右驱动轮的当前行走阻力电流值;或者,第一pwm值采用所述第一二pwm值,且所述驱动轮电流采样值采用右驱动轮电流采样值时,右驱动轮电流采样值的相对电量变化值减去第一二pwm值对应的相对电量变化值,获得第一差值,再将第一差值减去第二pwm值对应的相对电量变化值,获得第二差值,再将第二差值标记为所述机器人的右驱动轮的当前相对行走阻力电流值。
[0075]
基于前述实施例,本技术还公开一种移动机器人,移动机器人的两侧安装驱动轮,移动机器人的内部安装有与驱动轮电性连接的驱动电机,驱动电机用于驱动移动机器人行走;移动机器人还安装有风机,用于对移动机器人的行走面产生吸力;本实施例公开的移动
机器人没有安装码盘以节省机械设计成本,也可以安装码盘。该移动机器人被配置为执行前述任一实施例公开的机器人检测行走阻力电流值的方法,以计算出机器人的当前行走阻力电流值和/或当前相对行走阻力电流值,对移动机器人在行走面所承受的外部阻力及其变化情况进行检测。
[0076]
移动机器人是扫地机器人时,扫地机器人的左侧安装左驱动轮,左驱动轮与左驱动电机电性连接,扫地机器人的右侧安装右驱动轮,右驱动轮与右驱动电机电性连接;扫地机器人的底盘安装吸尘风机,吸尘口面对行走面,通过提供风机吸力来对行走面进行吸尘作业。移动机器人为圆形智能擦窗机,左右驱动轮为左右两个清洁转盘。移动机器人为方形智能擦窗机,左右驱动轮为左右两个履带轮。智能擦窗机和扫地机器人都可以使用风机吸附到行走面上(玻璃或墙面),并使用前述任一实施例公开的机器人检测行走阻力电流值的方法对不同介质的行走面或同一介质的行走面上承受的外部阻力的变化情况进行检测。
[0077]
移动机器人结合用于控制驱动电机的pwm值和用于控制风机的pwm值,来在驱动轮电流采样值中抵消驱动电机产生的扭矩变化引起的电流变化值和风机吸力变化引入的电流变化值(也可计为风机主动输出的力矩干扰),并能够在不使用码盘测量数据的前提下,计算获得不受机器人主动产生的力矩变化干扰的相对行走阻力电流值以及行走阻力电流值,则提取出机器人的外部阻力情况,以确定出受当前行走面的介质类型约束的阻力与机器人受外界障碍物碰撞引起的行走阻力等外部阻力情况。
[0078]
由于移动机器人计算出的当前相对行走阻力电流值和当前行走阻力电流值,既不受到用于控制驱动电机的pwm值的变化所引发的干扰,也不受到用于控制风机的pwm值的变化所引发的干扰,即克服风机产生的风机吸力变化干扰和驱动轮的电机输出扭力变化的干扰,因而,机器人左右两侧的驱动轮的差速(由驱动轮的电机控制,与用于控制驱动轮的电机的pwm值成正相关关系)不影响当前相对行走阻力电流值和当前行走阻力电流值的准确检测,使得机器人检测行走阻力电流值的方法不仅适用于左右驱动轮打滑程度一致的直线行走状态,也适用于机器人转弯或左右驱动轮打滑程度有差异的直线行走状态,即兼顾两侧驱动轮的转速差异,提高当前相对行走阻力电流值和当前行走阻力电流值在多种介质行走面中和多种机器人运动状态下的适应性。
[0079]
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电 连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器 (rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
[0080]
上述实施例只为说明本发明的技术构思及特点,其目的是让熟悉该技术领域的技
术人员能够了解本发明的内容并据以实施,并不能以此来限制本发明的保护范围。凡根据本发明精神实质所作出的等同变换或修饰,都应涵盖在本发明的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献