CN115648287A - 基于相对行走阻力电流值的机器人碰撞检测方法 - Google Patents

基于相对行走阻力电流值的机器人碰撞检测方法 Download PDF

Info

Publication number
CN115648287A
CN115648287A CN202211344135.0A CN202211344135A CN115648287A CN 115648287 A CN115648287 A CN 115648287A CN 202211344135 A CN202211344135 A CN 202211344135A CN 115648287 A CN115648287 A CN 115648287A
Authority
CN
China
Prior art keywords
value
robot
current
pwm
walking
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211344135.0A
Other languages
English (en)
Inventor
王悦林
梁铧杰
赖钦伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhuhai Amicro Semiconductor Co Ltd
Original Assignee
Zhuhai Amicro Semiconductor Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhuhai Amicro Semiconductor Co Ltd filed Critical Zhuhai Amicro Semiconductor Co Ltd
Priority to CN202211344135.0A priority Critical patent/CN115648287A/zh
Publication of CN115648287A publication Critical patent/CN115648287A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Manipulator (AREA)

Abstract

本申请公开基于相对行走阻力电流值的机器人碰撞检测方法,机器人碰撞检测方法包括:机器人对用于控制驱动电机的PWM值进行闭环调节,并确定在闭环调节过程中实时获得第一PWM值;机器人对作用于风机的PWM值进行闭环调节,并确定在闭环调节过程中实时获得第二PWM值;在将第一PWM值传输给驱动电机后,机器人采样驱动电机输出的电流信号,获得驱动轮电流采样值;基于驱动轮电流采样值、第一PWM值以及第二PWM值,计算出机器人的当前相对行走阻力电流值,再基于机器人的当前相对行走阻力电流值与预设碰撞电流阈值的关系,检测机器人当前与障碍物的碰撞情况。

Description

基于相对行走阻力电流值的机器人碰撞检测方法
技术领域
本申请涉及移动机器人的技术领域,尤其涉及基于相对行走阻力电流值的机器人碰撞检测方法。
背景技术
使用惯性传感器导航的清洁机器人,包括扫地机器人、擦窗机器人、洗地机器人等。如果擦窗机器人的风机吸力很大,在玻璃面上的吸附力较强,则擦窗机器人的驱动轮及抹布承受的行走阻力过大,导致擦窗机器人不能移动;扫地机器人的真空吸尘器贴近地面且吸力很大时,扫地机器人的驱动轮承受的行走阻力可能变大,导致驱动轮走不动;这两类清洁机器人的驱动轮行走阻力(来自地面的摩擦力)的电流反馈信息容易受到机体内部的驱动电机的输出扭矩(或扭力,与电机的转速、功率、PWM信号的占空比)变化和风机产生的吸力变化所引起的电流变化值的干扰,则驱动轮行走阻力(来自地面的摩擦力)被采样出来的电流反馈信息不能代表机体外部环境的阻力信息,则降低清洁机器人利用电机输出的电流反馈信息在行走面上检测与障碍物碰撞情况的准确性,影响机器人的运动规划。
发明内容
本申请公开基于相对行走阻力电流值的机器人碰撞检测方法,具体的技术方案包括:
基于相对行走阻力电流值的机器人碰撞检测方法,机器人的两侧安装驱动轮,机器人的内部安装有与驱动轮电性连接的驱动电机;机器人还安装有风机,用于对机器人的行走面产生吸力;机器人碰撞检测方法包括:机器人对用于控制驱动电机的PWM值进行闭环调节,并确定在闭环调节过程中得到第一PWM值;机器人对作用于风机的PWM值进行闭环调节,并确定在闭环调节过程中得到第二PWM值;在将第一PWM值传输给驱动电机后,机器人采样驱动电机输出的电流信号,获得驱动轮电流采样值;基于驱动轮电流采样值、第一PWM值以及第二PWM值,计算出机器人的当前相对行走阻力电流值,再基于机器人的当前相对行走阻力电流值与预设碰撞电流阈值的关系,检测机器人当前是否发生碰撞。
进一步地,所述述基于机器人的当前相对行走阻力电流值与预设碰撞电流阈值的关系,检测机器人当前是否发生碰撞的方法包括:当机器人的当前相对行走阻力电流值大于预设碰撞电流阈值时,机器人当前在行走面上与障碍物碰撞;当机器人的当前相对行走阻力电流值小于或等于预设碰撞电流阈值时,机器人当前没有与障碍物碰撞;其中,预设碰撞电流阈值适用于同一类型机器人在不同介质的行走面上检测与障碍物的碰撞情况。
进一步地,当机器人的当前相对行走阻力电流值大于预设碰撞电流阈值时,机器人与其相碰撞的障碍物是位于同一介质的行走面上,然后机器人改变当前行走方向以避免撞开该障碍物或行走至其它介质的行走面。
进一步地,机器人的当前相对行走阻力电流值是机器人在预设采样时间之后计算出的当前行走阻力电流值与预设采样时间内计算出的基准行走阻力电流值的差值;在所述预设采样时间内,机器人已经启动行走且不处于静止状态。
进一步地,从机器人在行走面开始行走后,在所述预设采样时间内,控制驱动轮电流采样值对应的基准电量变化值依次减去第一PWM值对应的基准电量变化值、以及第二PWM值对应的基准电量变化值,确定预设采样时间内计算出的基准行走阻力电流值;其中,在所述预设采样时间内,驱动电机的转速与用于控制驱动电机的第一PWM值成线性关系;机器人行走过所述预设采样时间后,控制驱动轮电流采样值依次减去第一PWM值所引发的电量变化值、以及第二PWM值所引发的电量变化值,确定机器人在预设采样时间之后计算出的当前行走阻力电流值。
进一步地,所述基于驱动轮电流采样值、第一PWM值以及第二PWM值,计算出机器人的当前相对行走阻力电流值的方法包括:机器人从静止开始启动,直至机器人开始行走以克服静摩擦力;然后,在预设采样时间内,机器人基于所有获得的第一PWM值计算出第一基准PWM值,并基于所有获得的第二PWM值计算出第二基准PWM值,并基于所有获得的驱动轮电流采样值计算出驱动轮基准电流值;再将第一基准PWM值与第一转换系数的乘积标记为所述第一PWM值对应的基准电量变化值,并将第二基准PWM值与第二转换系数的乘积标记为所述第二PWM值对应的基准电量变化值,并将驱动轮基准电流值标记为驱动轮电流采样值对应的基准电量变化值,再控制当前标记出的驱动轮电流采样值对应的基准电量变化值依次减去当前标记出的第一PWM值对应的基准电量变化值、以及当前标记出的第二PWM值对应的基准电量变化值,再将相减的结果设置为预设采样时间内计算出的基准行走阻力电流值;经过所述预设采样时间后,机器人将实时获得的第一PWM值标记为第一待测PWM值,并将实时获得的第二PWM值标记为第二待测PWM值;再将第一待测PWM值与第一转换系数的乘积标记为所述第一PWM值所引发的电量变化值,并将第二待测PWM值与第二转换系数的乘积标记为所述第二PWM值所引发的电量变化值;再控制实时获得的驱动轮电流采样值依次减去当前标记出的第一PWM值所引发的电量变化值、以及当前标记出的第二PWM值所引发的电量变化值,再将相减的结果设置为在预设采样时间之后计算出的当前行走阻力电流值;然后控制在预设采样时间之后计算出的当前行走阻力电流值减去预设采样时间内计算出的基准行走阻力电流值,再将相减的结果设置为机器人的当前相对行走阻力电流值,以反映机器人在所述预设采样时间内外行走过的行走面之间所承受的外部阻力差异。
进一步地,所述基于驱动轮电流采样值、第一PWM值以及第二PWM值,计算出机器人的当前相对行走阻力电流值的方法包括:机器人从静止开始启动,直至机器人开始行走以克服静摩擦力;然后在预设采样时间内,机器人基于所有获得的第一PWM值计算出第一基准PWM值,并基于所有获得的第二PWM值计算出第二基准PWM值,并基于所有获得的驱动轮电流采样值计算出驱动轮基准电流值;其中,在所述预设采样时间内,驱动电机的转速与用于控制驱动电机的第一PWM值成线性关系;经过所述预设采样时间后,机器人将实时获得的第一PWM值标记为第一待测PWM值,并将实时获得的第二PWM值标记为第二待测PWM值,并将实时获得的驱动轮电流采样值与驱动轮基准电流值的差值标记为驱动轮电流采样值的相对电量变化值,并将第一待测PWM值与第一基准PWM值的差值与第一转换系数的乘积标记为第一PWM值对应的相对电量变化值,并将第二待测PWM值与第二基准PWM值的差值与第二转换系数的乘积标记为第二PWM值对应的相对电量变化值;然后,控制驱动轮电流采样值的相对电量变化值减去第一PWM值对应的相对电量变化值,获得第一差值;再将第一差值减去第二PWM值对应的相对电量变化值,获得第二差值;再将第二差值标记为所述机器人的当前相对行走阻力电流值。
进一步地,在所述预设采样时间内,基于所有获得的第一PWM值计算出第一基准PWM值的方法包括:对所述预设采样时间内所有获得的第一PWM值求平均值,获得第一基准PWM值;或者,从所述预设采样时间内所有获得的第一PWM值当中,筛选出数值最大的第一PWM值,确定第一基准PWM值;在所述预设采样时间内,基于所有获得的第二PWM值计算出第二基准PWM值的方法包括:对所述预设采样时间内所有获得的第二PWM值求平均值,获得第二基准PWM值;或者,从所述预设采样时间内所有获得的第二PWM值当中,筛选出数值最大的第二PWM值,确定第二基准PWM值;在所述预设采样时间内,基于所有获得的驱动轮电流采样值计算出驱动轮基准电流值的方法包括:对所述预设采样时间内所有获得的驱动轮电流采样值求平均值,获得驱动轮基准电流值;或者,从所述预设采样时间内所有获得的驱动轮电流采样值当中,筛选出数值最大的驱动轮电流采样值,确定驱动轮基准电流值;其中,第一PWM值用于控制驱动电机的输出扭矩变化,以反馈形成驱动轮电流采样值当中的一种电量变化值;第二PWM值用于控制风机产生的风机吸力变化,以反馈形成驱动轮电流采样值当中的另一种电量变化值。
进一步地,若计算出的所述机器人的当前相对行走阻力电流值越大,则确定机器人碰撞到的障碍物在行走面上所承受的静摩擦力越大;障碍物所承受的静摩擦力随着所在的行走面的介质的变化而变化;在机器人的当前相对行走阻力电流值小于或等于预设碰撞电流阈值的前提下,机器人在行走过程中,计算出的当前相对行走阻力电流值变化,机器人所接触的行走面的介质类型发生变化。
进一步地,机器人在所述预设采样时间内行走过的行走面的介质与所述预设起点位置处的介质是相同时,机器人的当前相对行走阻力电流值用于表示机器人在当前行走面处行走所承受的外部阻力与机器人在预设起点位置处相接触的行走面所承受的外部阻力的差值对应的电量值;其中,机器人在所述预设采样时间内保持行走在同一介质的行走面上;或者,机器人在所述预设采样时间内行走过的行走面的介质与所述预设起点位置处的介质是不相同时,机器人的当前相对行走阻力电流值用于表示机器人在当前行走面处行走所承受的外部阻力与机器人在所述预设采样时间内行走过的行走面中所承受的外部阻力的差值对应的电量值;其中,预设起点位置是机器人从静止开始启动后,开始行走的起点位置,以使得机器人从预设起点位置开始直线行走。
进一步地,所述对用于控制驱动电机的PWM值进行闭环调节的方法包括:机器人实时测得的航向角度与目标导航角度在当前调节周期内的角度差值的绝对值不处于预设角度误差范围的情况下,对于机器人每侧安装的驱动轮对应连接的驱动电机,机器人对用于控制驱动电机的PWM值进行PID调节,在对用于控制驱动电机的PWM值进行PID调节的过程中,将用于控制驱动电机的PWM值与第一预设目标PWM值在当前调节周期内的差值作为下一调节周期的反馈输入,以缩小用于控制驱动电机的PWM值与第一预设目标PWM值的差值,并将用于控制驱动电机的PWM值设置为第一PWM值,再将所述第一PWM值实时输入对应侧的驱动电机以获得该侧驱动电机输出的驱动轮电流采样值,其中,驱动电机的实时转速与第一PWM值成正相关关系;对于机器人每侧安装的驱动轮对应连接的驱动电机,当用于控制对应侧的驱动电机的PWM值与第一预设目标PWM值小于对应的预设驱动轮稳态误差时,机器人基于左右两侧驱动电机的实时转速的差值,进行行走方向的调整,以引导机器人的航向角与目标导航角的角度差值的绝对值处于预设角度误差范围内;其中,机器人两侧安装的驱动轮对应连接的驱动电机的实时转速的差值的绝对值、与机器人的航向角与目标导航角的角度差值的绝对值成正相关关系;其中,机器人的航向角是由机器人内置的陀螺仪实时测得;机器人的左右两侧安装的驱动轮各连接一个驱动电机。
进一步地,所述对作用于风机的PWM值进行闭环调节的方法包括:机器人实时测得的风机吸力与目标工作吸力在当前调节周期内的气压差值的绝对值不处于预设气压误差范围时,机器人控制气压闭环反馈调节装置来对作用于风机的PWM值进行PID调节;在对作用于风机的PWM值进行PID调节的过程中,机器人将作用于风机的PWM值与第二预设目标PWM值在当前调节周期内的差值配置为下一调节周期的反馈输入,以缩小作用于风机的PWM值与第二预设目标PWM值的差值,并将作用于风机的PWM值设置为所述第二PWM值,再将所述第二PWM值输入风机以产生风机吸力;其中,风机吸力与第二PWM值成正相关关系;当作用于风机的PWM值与第二预设目标PWM值的差值小于预设风机稳态误差时,机器人实时测得的风机吸力与目标工作吸力的气压差值的绝对值处于预设气压误差范围值内;其中,机器人的风机的进风口处设置气压传感器,用于实时监测风机吸力
本申请公开的机器人从静止开始,机器人依次克服静摩擦力和采样当前行走面的各种反馈数据后,引入驱动电机输出的PWM信号的电流采样值、用于控制驱动电机的PWM值、以及作用于风机的PWM值,来计算出不受驱动电机和风机主动输出的变化电量影响的相对行走阻力电流值,而且是相对于一段采样时间内行走过的行走面的外部阻力信息计算出来的相对阻力电流值(代表外部阻力转换过来的电量信息);再基于机器人的当前相对行走阻力电流值与预设碰撞电流阈值的关系,检测机器人当前是否与障碍物碰撞,提高机器人在同一介质的行走面上的碰撞检测的准确性,各种介质的行走面上的障碍物碰撞检测结果都不受到驱动电机输出的扭矩变化(施加到驱动轮中的作用力变化)和风机吸力变化(施加到驱动轮的阻力变化)所引起的电流干扰,使用来自外部环境的较为原始的行走阻力(摩擦力)的相对变化值来辅助检测出机器人与前方的障碍物的碰撞情况,以避开障碍物,也便于检测出行走面的边缘。
其中,机器人采样当前介质的各种反馈数据作为基准数据以进行相对阻力电流值计算后,利用计算出的当前相对行走阻力电流值表示机器人行走中的一个特定时刻所处位置受到的外部阻力相对于预设起点位置(机器人从静止开始克服静摩擦力后所处的起始稳定点)处受到的外部阻力的差值,这一当前相对行走阻力电流值在小于或等于预设碰撞电流阈值时,可以表示在无前方障碍物的环境中先后行走过两种清扫介质之间的阻力差异、或最新行走过的清扫介质与起始位置处清扫介质之间的所承受外部阻力差异,而在前述当前相对行走阻力电流值大于预设碰撞电流阈值时判定为碰触到障碍物,可以是碰撞上来自相同介质的表面的障碍物。
附图说明
图1是本发明的一实施例公开的基于相对行走阻力电流值的机器人碰撞检测方法的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行详细描述。为进一步说明各实施例,本发明提供有附图。这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理。配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点。
全自动规划清洁机器人产品主要包括轮式机器人、吸盘式机器人和履带式机器人,该类型的机器人主要为扫地机器人和擦窗机器人。如果扫地机器人的真空吸尘器贴近地面且吸力很大,则扫地机器人的驱动轮与地面之间的压力增大,导致扫地机器人的行走阻力增加,很可能因机体主动施加的阻力过大导致驱动轮走不动,则机器人的行走阻力不仅仅包括来自行走面介质材料决定的摩擦力和外界碰撞因素引起的阻力,还包括风机吸力变化所施加到驱动轮中的阻力,则扫地机器人停止运动的原因可能不在于行走面的介质影响和外部的障碍物阻碍作用,还包括驱动电机的输出扭矩过小以无法克服来自地面的静摩擦力,导致驱动轮转动不了。如果擦窗机器人的风机吸力很大,则驱动轮与行走面之间的挤压力增大,也造成抹布阻力过大,驱动轮受到的行走阻力增大,导致擦窗机器人不能移动,则机器人的行走阻力不仅仅包括来自行走面介质材料决定的摩擦力和外界碰撞因素引起的阻力,还存在风机吸力变化施加给驱动轮的阻力,则擦窗机器人停止运动的原因可能不在于行走面的介质影响和外部的障碍物阻碍作用。由此可见,在具备风机和驱动轮的电机的清洁机器人中,排除机器人内部的相关驱动电机的输出扭矩变化所引起的干扰和风机吸力变化引起的干扰,对于后续通过检测所承受的外部阻力变化来探测障碍物的碰撞情况至关重要。
需要说明的是,脉冲宽度调制(PWM)是英文“Pulse Width Modulation”的缩写,简称脉宽调制。PWM值是在一个周期内,开关管导通时间长短相加的平均值,导通时间越长,作用给电机的PWM值越大,开关管直流输出的平均值越大,电机的转速能够与PWM值成正比。PWM频率是一个周期内,导通时间与周期时间的一个比值,通常叫做占空比,导通次数越多,则频率越大,因此,PWM调速控制的基本原理是按照一个固定频率来接通和断开电源,并根据需要改变一个周期内接通和断开的时间比(占空比)来改变直流电机的电枢上电压的“占空比”,从而改变平均电压,控制电机的转速。
由本领域技术人员可知,无论是风机还是驱动电机,它们的动力产生组件都是电动机,优选地,桥式电路是驱动电路结构,控制电机正反转,输出电机的驱动电流。驱动电机是控制驱动轮转动的电动机;作用于左轮和右轮的PWM值跟轮子扭力呈线性关系,作用于风机的PWM值大部分情况是可以转动的PWM值即可。输入电动机的PWM信号其实就是一种脉宽可连续调节的矩形脉冲波,是通过调制器给电机提供一个具有一定频率的脉冲宽度可调的脉冲电。脉冲宽度越大即占空比越大,提供给电机的平均电压越大,电机转速就高。反之脉冲宽度越小,则占空比越越小。提供给电机的平均电压越小,电机转速就低。从而通过PWM信号控制电机输出不同的模拟电压,便可以使电机达到不同的输出转速,也视为改变电机的输出扭矩。
输入电机的PWM信号其实就是一种脉宽可连续调节的矩形脉冲波,是通过调制器给电机提供一个具有一定频率的脉冲宽度可调的脉冲电。脉冲宽度越大即占空比越大,提供给电机的平均电压越大,电机转速就高。反之脉冲宽度越小,则占空比越越小。提供给电机的平均电压越小,电机转速就低。从而通过PWM信号控制电机输出不同的模拟电压,便可以使电机达到不同的输出转速,也视为改变电机输出的力矩。
作为一种实施例,公开基于相对行走阻力电流值的机器人碰撞检测方法,机器人碰撞检测方法的执行主体是全自动规划移动机器人,包括轮式机器人、吸盘式机器人和履带式机器人,该类型的机器人主要为扫地机器人和擦窗机器人,属于具有风机和驱动电机的清洁机器人,擦窗机器人主要包括圆形智能擦窗机和方形智能擦窗机;机器人的两侧安装驱动轮,一般是机体底盘的左右两侧各安装一个驱动轮;机器人的内部安装有与驱动轮电性连接的驱动电机,每个驱动轮对应连接一个驱动电机,则机器人设置两个用于控制驱动轮的转速的驱动电机,以控制机器人在行走面的行走速度,两个驱动轮的转速差值可以控制机器人的行走方向,机器人的驱动轮能够与行走面相接触以产生能够阻碍机器人行走的摩擦力;机器人还安装有风机,用于对机器人的行走面产生吸力。本申请公开的机器人可以安装碰撞传感器,用于检测矮小的障碍物碰撞,且对碰撞传感器的装配空间不作具体限定;机器人也可以不安装碰撞传感器,比如不需要装配光电门碰撞条,相应地无需在机器人的周侧增加光电门碰撞条的机械安装结构,降低了成本,提高了产品的可靠性和寿命。当机器人是扫地机器人时,扫地机器人内部的吸尘风机用于对行走面进行吸尘;当机器人是擦窗机器人时,擦窗机器人内部的风机用于吸附在行走面;这里的行走面可以是机器人的清扫介质,可以是水平地面、竖直玻璃或竖直墙面等待清洁介质的表面。
参阅图1可知,机器人碰撞检测方法包括如下的步骤S1和步骤S2:
步骤S1、机器人对用于控制驱动电机的PWM值进行闭环调节,并确定在闭环调节过程中得到第一PWM值,同时提供给驱动电机使用,以调节机器人的行走速度,驱动电流输出的扭力或输出扭矩变化也会反馈到驱动轮的行走状态当中,驱动轮借助扭力开始转动,则驱动电机需要对输出的电流做出调整,因此会因为输出扭距变化而引入电流变化值;机器人对作用于风机的PWM值进行闭环调节,并确定在闭环调节过程中得到第二PWM值,提供给风机使用以调节风机吸力,其中,风机吸力施加到行走面后同样会对驱动轮的运动产生影响,必要时会引入阻力,驱动轮为了克服这一阻力,需要驱动电机需输出更大的电流,则因为风机吸力变化而引入电流变化量;在将第一PWM值传输给驱动电机后,机器人采样驱动电机输出的电流信号,获得驱动轮电流采样值;例如,机器人内部的驱动轮控制电路(桥式电路)中串入一颗阻值较小的采样电阻,则采样电阻两端的压降是正比于驱动电机的输出电流的电压信号,即正比于机器人采样到的驱动电机输出的电流信号的电压信号,然后该电压信号经过运算放大器的放大和单片机的模数转换器的采样后,获得驱动轮电流采样值,该驱动轮电流采样值能够实时反馈驱动轮的运动状态,包括所承受的内外干扰因素,包括主动产生作用力和被动接收的作用力,则驱动轮电流采样值会反馈出机器人行走面的摩擦力、风机吸力施加到机器人主体的阻力、驱动电机的输出扭矩变化等引起的电流变化值,其中,驱动轮为了克服风机吸力变化施加到机器人主体的阻力、驱动电机的输出扭矩变化等引起的电流变化值,相对于所需检测的外部阻力而言是属于机器人主动产生的电流干扰量。需要进入步骤S2来进行抵消处理,才能进一步地检测来自外部环境的碰撞情况。
步骤S2、基于驱动轮电流采样值、第一PWM值以及第二PWM值,计算出机器人的当前相对行走阻力电流值,以使当前相对行走阻力电流值不受驱动电机输出的扭矩变化所引起的电流变化值的干扰,也都不随着风机在同一行走面产生风机吸力变化施加到机体所引起的电流变化值的干扰,从而提取出用于探测机器人外部环境的碰撞情况的外部阻力信息,在本实施例中是使用两个行走面之间的相对外部阻力电流值表示;所述当前相对行走阻力电流值可以使用模数转换出来的数字信号表示,与驱动轮电流采样值的量纲一致。在确定机器人的当前相对行走阻力电流值后,述基于机器人的当前相对行走阻力电流值与预设碰撞电流阈值的关系,检测机器人当前是否发生碰撞,以便于控制机器人及时停止并改变行走方向,避开障碍物进行下一步的路径规划,然后还可以重新执行步骤S1和步骤S2以在未遍历过的行走面上检测碰撞情况,并避开最新碰撞上的障碍物。因此,本实施例将实时采样的驱动轮电流采样值在克服第一PWM值引入的电流变化值(代表驱动电机输出扭矩变化而引起的主动干扰因素)和第二PWM值引入的电流变化值(代表风机产生的吸力变化而引起的主动干扰因素)后,与一个同量纲但采样时间不同的相对稳定的行走阻力电流值(克服前述主动干扰因素而得到的外部阻力对应的电流值)之间的差值在预设碰撞电流阈值内即可认定发生碰撞,否则没有发生碰撞。提高机器人对复杂环境的适应性。
机器人发生碰撞时,驱动电机的实时转速或驱动轮的行走速度会突然降低;当撞击物体不是很重时,障碍物会被撞开,电机速度不会有明显的下降;但是,无论是哪种碰撞场景,机器人在当前行走面所承受的外部阻力突变,会相对于没有发生碰撞的行走面所承受的外部阻力突然增大。因此,无论机器人所在行走环境的阻力如何变化,利用机器人的当前相对行走阻力电流值与预设碰撞电流阈值的关系检测碰撞实际等效于实时计算出来的机器人的当前相对行走阻力电流值与预设碰撞电流阈值作对比即可得到是否发生碰撞的检测信息。其中,机器人实时采样到的驱动轮电流采样值中存在驱动电机输出扭矩变化而引起的电流变化值和风机产生的吸力变化而引起的电流变化值,那么使用实时采样到的驱动轮电流采样值作阈值判断以检测碰撞时,驱动电机输出扭矩变化而引起的电流变化值和风机产生的吸力变化而引起的电流变化值会导致驱动轮电流采样值过大,以反映为驱动轮在行走面所承受的行走阻力增大,而不是外部阻力增大,容易被误判为机器人与障碍物相碰撞,此时,驱动电机输出扭矩变化而引起主动干扰因素,即扭矩变化引起的驱动电机输出的电流变化值,反馈形成驱动轮电流采样值当中的一种电量变化值;风机产生的吸力变化而引起主动干扰因素,即风机吸力变化引起驱动电机输出电流变化,反馈形成驱动轮电流采样值当中的另一种电量变化值。因此,检测障碍物碰撞情况,需要在克服第一PWM值引入的电流变化值(代表驱动电机输出扭矩变化而引起的主动干扰因素)和第二PWM值引入的电流变化值(代表风机产生的吸力变化而引起的主动干扰因素)后,才设置预设碰撞电流阈值来进行后期的相对行走阻力电流值的比对。
综上,在机器人从静止开始,机器人依次克服静摩擦力和采样当前行走面的各种反馈数据后,引入驱动电机输出的PWM信号的电流采样值、用于控制驱动电机的PWM值、以及作用于风机的PWM值,来计算出不受驱动电机和风机主动输出的变化电量影响的相对行走阻力电流值,而且是相对于一段采样时间内行走过的行走面的外部阻力信息计算出来的相对阻力电流值(代表外部阻力转换过来的电量信息);再基于机器人的当前相对行走阻力电流值与预设碰撞电流阈值的关系,检测机器人当前是否与障碍物碰撞,提高机器人在同一介质的行走面上的碰撞检测的准确性,各种介质的行走面上的障碍物碰撞检测结果不受到驱动电机输出的扭矩变化(施加到驱动轮中的作用力变化)和风机吸力变化(施加到驱动轮的阻力变化)所引起的电流干扰,使用来自外部环境的行走阻力(摩擦力以及碰撞阻碍作用力)的相对变化值来辅助检测出机器人与前方的障碍物的碰撞情况,以避开障碍物,而且能够实现不需要光电门碰撞条即可实现碰撞检测;进而通过探测到与障碍物碰撞来识别到行走面的边缘,便于划分工作区域和在识别到工作区域内进行路径规划。
在上述实施例的基础上,所述述基于机器人的当前相对行走阻力电流值与预设碰撞电流阈值的关系,检测机器人当前是否发生碰撞的方法包括:当机器人的当前相对行走阻力电流值大于预设碰撞电流阈值时,机器人当前发生碰撞,具体是在行走面上与障碍物碰撞,优选地,行走面是水平地面时,障碍物是固定设置在水平地面的墙面或摆放在水平地面的家具;优选地,行走面是斜面或墙面时,障碍物是固定设置在斜面或墙面上的边缘位置,当检测到发生碰撞时,确定识别出行走面的边缘位置;则机器人开始改变当前行走方向,可以先停止行走,再转动180度,再通过执行步骤S1和步骤S2来沿着转动后的方向行走,并计算当前相对行走阻力电流值和检测碰撞情况。当机器人的当前相对行走阻力电流值小于或等于预设碰撞电流阈值时,机器人当前没有发生碰撞,具体是在行走面上没有与障碍物碰撞,机器人可以继续沿着当前行走方向前进,并能够确定后续行走面处所承受的外部阻力是否变大或变小,进而区分不同的介质的行走面,比如当前遍历的清扫介质因计算出当前相对行走阻力电流值发生变化时,可以确定当前遍历的清扫介质不同于上一次遍历的清扫介质。
本申请中公开的外部阻力是包括机器人的驱动轮与行走面相接触产生的摩擦力以及碰撞外部障碍物引起的阻碍作用力(可以是抵接力),但不包括风机产生的风机吸力变化施加到驱动轮中形成行走阻力和驱动电机的输出扭矩变化施加到驱动轮形成的作用力这两种由机器人主动施加的作用力因素。其中,风机产生的风机吸力变化和驱动电机的输出扭矩变化可以统一为机器人主动输出的力矩变化,对应为主动输出的电流变化值,以区别开由外部环境(风机和驱动电机之外的行走环境)被动引入的阻力变化对应的电流变化值。
需要说明的是,预设碰撞电流阈值适用于同一类型机器人在不同介质的行走面上检测是否发生碰撞,即检测不同介质行走面上与障碍物的碰撞情况。优选地,预设碰撞电流阈值用于表示机器人在不同摩擦力的行走面上与障碍物碰撞所需承受的最小外部阻力对应的电量,当需要更换机器人或机器人内部的电机设备时,会重新设置预设碰撞电流阈值;或机器人所需遍历的行走面的摩擦系数之间的差异较大,也会重新设置预设碰撞电流阈值。
优选地,预设碰撞电流阈值可以根据机器人在不同摩擦力的行走面上正常工作过程中碰撞障碍物时计算出的当前相对行走阻力电流值来设置,等效于由机器人在正常工作的过程中碰撞障碍物时计算出的当前行走阻力电流值与正常工作过程中没有碰撞障碍物时计算出的当前行走阻力电流值的差值来设置。机器人正常工作为:机器人工作时不会出现风机吸力过大导致驱动轮转不动的情况,也不会出现风机吸力过小导致驱动轮打滑的情况,也不会出现因为驱动电机的输出扭矩变而化导致驱动轮转不动,即克服不了扭力作用而导致驱动轮无法转动,也不会出现驱动电机输出的扭力过大而导致驱动轮在行走面打滑。
在设置预设碰撞电流阈值的过程中,首先将机器人放置在摩擦力较小的材质上,上下调整第一PWM值和/或第二PWM值,使得机器人利用前述闭环调节出的风机吸力后能正常工作并与预先设置的障碍物碰撞。然后将机器人放置在摩擦力较大的材质上,微调第一PWM值和/或第二PWM值,使得机器人利用前述闭环调节出的风机吸力后能正常工作并与预先设置的障碍物碰撞;然后在不同摩擦力的表面去验证是否根据当前调节出的第一PWM值和/或第二PWM值都可以使机器人正常工作且与障碍物碰撞,是则将按照前述步骤S2计算出的当前相对行走阻力电流值设置为预设碰撞电流阈值。如果不行就找一个平衡值,来满足机器人遇到的大部分情况。由于不同类型机器的驱动电机、风机、模具结构等的巨大差异,使得不同类型的机器人计算出来的预设碰撞电流阈值也是不同的,所以需要预先得到当前机器人在正常工作过程中判断碰撞障碍物所需的预设碰撞电流阈值。优选地,对于第二PWM值的调节可以通过在气压闭环反馈调节装置中改变对应的目标PWM值来实现,或直接改变第二PWM值;对于第一PWM值的调节可以通过在角度闭环反馈调节装置中改变对应的目标PWM值来实现,或直接改变第一PWM值。
在前述实施例的步骤S1中,在对用于控制驱动电机的PWM值进行闭环调节的过程中,PWM值能够控制驱动电机的转速,则PWM值可以改变驱动轮的转速,进而改变机器人的行走速度,具体会通过控制左右驱动轮的驱动电机输出的扭矩的相对大小来调节机器人的航向角度,当机器人两侧的驱动轮的转速不一致时,引起机器人的行走方向变化,比如转弯,改变机器人的航向角度,因此在闭环调节的过程中可以将机器人实时测得的航向角度与目标导航角度的角度差值的绝对值调节为处于预设角度误差范围,使得机器人沿着既定的方向行走。具体地,机器人可以通过角度闭环反馈调节装置对用于控制驱动电机的PWM信号进行调节,并将实时调节出的第一PWM值施加到驱动电机,驱动电机会改变输出的转速,再将改变后的转速对应形成的机器人的航向角度作为角度闭环反馈调节装置的反馈输入,以维持闭环调节,也间接地对机器人实时测得的航向角度的闭环调节;但是在前述闭环调节过程中,实时获得的第一PWM值不一定稳定在正常工作状态的目标PWM值上,则确定实时获得的第一PWM值容易波动并引起电机电流跳动,对应形成驱动电机实时输出的扭矩干扰,即在内部形成对驱动轮的转动的驱动作用的力矩变化,对应会反馈到驱动轮电流采样值中;相对外部阻力,生成驱动轮电流采样值当中的电流干扰量,为了提取出由机器人外部的行走面的环境介质决定的摩擦力情况和外部障碍物的碰撞阻碍情况,后续在计算行走阻力电流值或相对行走阻力电流值时需要克服驱动电机主动产生的扭矩变化因素干扰。
在对用于控制风机的PWM值进行闭环调节的过程中,PWM值能够控制风机内设的电机的转速,从而PWM值可以改变风机内外的气压差,即改变风机吸力,因此在闭环调节的过程中可以将机器人实时测得的风机吸力与目标工作吸力的气压差值的绝对值调节为处于预设气压误差范围,能够对行走面产生的最佳风机吸力,在此基础上,机器人作为智能擦窗机器人时,智能擦窗机器人正常工作时不会出现吸力过大导致轮子转不动的情况或者吸力过小导致驱动轮打滑的情况。具体地,机器人可以通过气压闭环反馈调节装置对用于控制风机的PWM信号进行调节,并将实时调节出的第二PWM值施加到风机,风机内设的电机会改变输出的转速,再将改变后的转速对应形成的风机吸力作为气压闭环反馈调节装置的反馈输入,以维持闭环调节,也间接地对机器人实时测得的风机吸力的闭环调节;但是在前述对用于控制风机的PWM值闭环调节过程中,实时获得的第二WM值不一定稳定在正常吸力状态下的目标PWM值上,则确定实时获得的第二PWM值容易波动并引起风机的电机电流跳动,可能导致风机实时产生的吸力过大,过大的吸力施加到驱动轮上并增大驱动轮与行走面之间的压力,导致机器人的两侧驱动轮承受到的行走阻力增大,对应地驱动电机需输出更大的电流去克服该行走阻力的阻碍作用,相对于所需计算的外部阻力,本申请将该行走阻力归类于机器人内部施加的风机吸力干扰,为了提取出由机器人外部的行走面的环境介质决定的摩擦力情况和外部障碍物碰撞引起的阻碍情况,后续在计算行走阻力电流值或相对行走阻力电流值时需要克服风机吸力变化所主动引发的电流变化值干扰。
在将第一PWM值传输给驱动电机后,驱动轮开始受到第一PWM值的控制以执行相应的转动动作,即在行走面上运动,机器人采样驱动电机的电流信号,获得驱动轮电流采样值,该驱动轮电流采样值是经过驱动轮在当前行走面行走验证的电流采样值,则驱动轮电流采样值携带有驱动电机输出的扭矩变化信息这一由第一PWM值控制产生的电流变化值;驱动轮电流采样值还携带有风机产生的吸力施加到行走面而引起的电流变化值、以及为了克服来自行走面的摩擦力而需要输出的电流变化值,还携带有机器人与障碍物相碰撞所引入的外界阻力变化所引起的电流变化值。当机器人使用采样电阻对驱动电机输出的电流进行采样时,获得采样电阻两端的电压信号,优选地,采集的电压信号经过运算放大器的放大和单片机ADC的采样后,以数字信号的形式表示为驱动轮电流采样值,驱动轮电流采样值通过电流采样的方式来反馈驱动轮的当前运动的实际运动受力状态;因此,第一PWM值用于控制驱动电机的输出扭矩变化,以反馈形成驱动轮电流采样值当中的一种电量变化值;第二PWM值用于控制风机产生的风机吸力变化,以反馈形成驱动轮电流采样值当中的另一种电量变化值。
作为计算机器人的当前相对行走阻力电流值的实施例一,所述机器人的当前相对行走阻力电流值是机器人在预设采样时间之后计算出的当前行走阻力电流值与预设采样时间内计算出的基准行走阻力电流值的差值;在所述预设采样时间内,机器人已经启动行走且不处于静止状态,优选地,机器人在所述预设采样时间内保持行走在同一介质的行走面上;其中,机器人的当前相对行走阻力电流值用于表示相对阻力信息,即使用两个行走面的所承受的外部阻力之间的差值,而相对行走阻力电流值又是两个不同时间或两个不同行走面计算出来的行走阻力电流值的差值,可以由PWM值转换过来。由本领域技术人员可掌握的是,计算出来的当前相对行走阻力电流值也可以由电量转换为物理力量纲下的行走阻力,可以参考中国发明专利CN111852925B的说明书第[0023]段当中将电流值除以固定的PWM值获得行走阻力这一计算方式。则机器人在预设采样时间之后计算出的当前行走阻力可以使用电流值表示,预设采样时间内计算出的基准行走阻力也可以使用电流值表示。
需要说明的是,由于驱动电机和风机的性能出现一定偏差的情况下,实际检测的电流值基本上很难与该理论电流值完全保持一致,所以当前相对行走阻力电流值可以使用两个不同时间或两个不同行走面计算出来的行走阻力电流值的差值表示,且存在一个行走阻力电流值是机器人启动后在线性阶段计算出来,线性阶段中能够使用与PWM值成线性关系的驱动轮电流采样值、第一PWM值和第二PWM值进行过滤处理,获得前述基准行走阻力电流值,以代表一个介质行走面上的基准外部阻力,再与后续针对同一介质的行走面计算出来的当前行走阻力电流值做差,获得当前相对行走阻力电流值,相对于统一固定的基准行走阻力电流值来计算形成当前相对行走阻力电流值,可以减小后续碰撞检测误差。
因此,在本实施例中是使用两个行走面之间的相对外部阻力电流值表示;所述当前相对行走阻力电流值可以使用模数转换出来的数字信号表示,与驱动轮电流采样值的量纲一致。在确定机器人的当前相对行走阻力电流值后,基于机器人的当前相对行走阻力电流值与预设碰撞电流阈值的关系,检测机器人当前与障碍物的碰撞情况,以便于控制机器人及时停止并改变行走方向,避开障碍物进行下一步的路径规划,然后还可以重新执行步骤S1和步骤S2以在未遍历过的行走面上检测碰撞情况,并避开最新碰撞上的障碍物。提高机器人对复杂环境的适应性。
在上述实施例的基础上,从机器人在行走面开始行走后,在所述预设采样时间内,控制驱动轮电流采样值对应的基准电量变化值依次减去第一PWM值对应的基准电量变化值、以及第二PWM值对应的基准电量变化值,确定预设采样时间内计算出的基准行走阻力电流值,即将依次相减出的结果设置为预设采样时间内计算出的基准行走阻力电流值;机器人行走过所述预设采样时间后,控制驱动轮电流采样值依次减去第一PWM值所引发的电量变化值、以及第二PWM值所引发的电量变化值,确定机器人在预设采样时间之后计算出的当前行走阻力;其中,在所述预设采样时间内,驱动电机的转速与用于控制驱动电机的第一PWM值成线性关系。本实施例中,基于驱动轮电流采样值、第一PWM值以及第二PWM值,计算出机器人的当前行走阻力电流值的方法可以理解为:基于步骤S1实时获得的驱动轮电流采样值、第一PWM值以及第二PWM值,计算出机器人的当前行走阻力电流值,即在执行步骤S2的过程中同步执行步骤S1。
具体地,所述基于驱动轮电流采样值、第一PWM值以及第二PWM值,计算出机器人的当前相对行走阻力电流值的方法包括:
机器人从静止开始启动,包括启动驱动电机和风机并对施加对应的PWM值,直至经过预设启动时间,机器人开始在当前行走面行走,形成驱动电机的启动阶段,持续的时间可以是预设启动时间,当然风机在这一阶段中也保持工作状态以产生风机吸力,可以对行走面吸尘或将机体吸附到行走面上;其中,机器人开始行走之前,从静止开始启动驱动电机并接受实时调节出的第一PWM值的控制;这里的静止状态也可以是刚碰撞障碍物后,制动停止运动的状态,后续朝新的行走方向启动行走。机器人开始行走的位置是预设起点位置,即经过预设启动时间后行走的起点位置,也是机器人在驱动电机的输出电流趋于稳定且开始进入线性状态时所处的位置点。需要说明的是,在所述预设启动时间内,机器人从静止开始通过逐渐加载驱动电机的电流以使机体启动,在这一启动过程中保持对驱动电机施加第一PWM值以启动驱动电机,带动驱动轮转动,也保持对风机施加第二PWM值,则机器人相对于所接触的行走面存在相对滑动趋势,机器人相对于所接触的行走面存在静摩擦力,直至机器人从静止开始经过预设启动时间,闭环调节中实时获得的第一PWM值大于或等于目标启动PWM值,表明该时刻驱动电机提供的驱动力刚刚超过静摩擦力以克服静摩擦力的影响,并确定机器人在同一位置处已经完成机体启动并开始在当前行走面行走,以使机器人的驱动轮通过转动来克服静摩擦力。在一些实施例中,在所述预设启动时间内,机器人还可以执行中国专利CN111852925B当中公开的机器人动作校准,即对机器人的每个驱动轮都进行动作校准,争取在210ms内完成左轮和右轮的动作校准,包括机器人的左轮不动,机器人的右轮分别进行固定时间的正转和反转;以及机器人的右轮不动,机器人的左轮分别进行固定时间的正转和反转;然后驱动电机输出的电流信号变得稳定,即进入线性阶段,在此之前得动作校准在本申请中不计为机器人在当前行走面上行走。
然后,在预设采样时间内,机器人基于所有获得的第一PWM值计算出第一基准PWM值,并基于所有获得的第二PWM值计算出第二基准PWM值,并基于所有获得的驱动轮电流采样值计算出驱动轮基准电流值;其中,预设采样时间内直接采样前述闭环调节中实时获得的第一PWM值或按照预设时间间隔采样前述闭环调节中实时获得的第一PWM值输入给驱动电机后的输出的电流信号的采样结果是驱动轮电流采样值。其中,预设启动时间和预设采样时间是相邻的两段时间,不存在时间间隔以保证预设采样时间是机器人克服静摩擦力后所处的线性阶段,即驱动电机输出的电流信号较为稳定状态。机器人行走至预设起点位置处时,在预设起点位置开始计时所述预设采样时间,即在预设起点位置开始采样计算第一基准PWM值所需的第一PWM值、计算第二基准PWM值所需的第二PWM值以及计算驱动轮基准电流值所需的驱动轮电流采样值。
在预设采样时间内,机器人可以处于在当前行走面行走的状态,机器人已经克服静摩擦力,且可以朝着同一方向行走,机器人保持对用于控制驱动电机的PWM值进行闭环调节,并确定在闭环调节过程中实时获得第一PWM值;机器人也保持对用于控制风机的PWM值进行闭环调节,并确定在闭环调节过程中实时获得第二PWM值;在将实时获得的第一PWM值传输给驱动电机后,机器人采样驱动电机的电流信号,获得驱动轮电流采样值;具体地,机器人从静止开始经过预设启动时间后,机器人可以在所述预设采样时间内行走的过程中,将第一基准PWM值与第一转换系数的乘积标记为所述第一PWM值对应的基准电量变化值,并将第二基准PWM值与第二转换系数的乘积标记为所述第二PWM值对应的基准电量变化值,并将驱动轮基准电流值标记为驱动轮电流采样值对应的基准电量变化值,再控制当前标记出的驱动轮电流采样值对应的基准电量变化值依次减去当前标记出的第一PWM值对应的基准电量变化值、以及当前标记出的第二PWM值对应的基准电量变化值,再将相减的结果设置为预设采样时间内计算出的基准行走阻力电流值,以实现依次将第一基准PWM值的量纲和第二基准PWM值的量纲都转换为与驱动轮电流采样值的量纲相同,其中,驱动轮基准电流值的量纲与驱动轮电流采样值的量纲相同,第一转换系数与所述驱动电机的类型和机器人的类型关联,当机器人的类型改变或驱动电机的类型改变时,第一转换系数也变化,是依据实时调节出的第一PWM值或驱动轮电流采样值的变化进行微调的结果;第二转换系数与所述风机的类型和机器人的类型关联,当机器人的类型改变或风机的类型改变时,第二转换系数也变化,是依据实时调节出的第一PWM值或驱动轮电流采样值的变化进行微调的结果。在本实施例中,机器人控制当前标记出的驱动轮电流采样值对应的基准电量变化值依次减去当前标记出的第一PWM值对应的基准电量变化值、以及当前标记出的第二PWM值对应的基准电量变化值,再将相减的结果设置为预设采样时间内计算出的基准行走阻力电流值,其中,控制驱动轮基准电流值减去当前标记出的第一PWM值对应的基准电量变化值,则将相减的差值标记为第一电量差值,抵消驱动电机产生的扭矩变化引起的电流变化值的干扰;再将第一电量差值减去当前标记出的第二PWM值对应的基准电量变化值,则由相减的差值获得第二电量差值,从而在抵消驱动电机产生的扭矩变化引起的电流变化值的干扰的基础上,继续抵消风机吸力变化施加到驱动轮所引入的电流变化值的影响,则将第二电量差值标记为所述机器人预设采样时间内计算出的基准行走阻力电流值,以提取出反映外界环境的行走阻力信息对应的电流变化值,包括不受机器人主动输出干扰的外部阻力对应的电量信息(与行走面的表面介质相关的摩擦力、和外部障碍物碰撞引起的阻碍)。
优选地,为了降低驱动电机刚开始转动时电流不稳定的情况,电流的采样位于固定时间360ms的后半段,采用稳定的电流,减少误差,比如预设启动时间等于210ms,预设采样时间等于100ms,预设采样时间延迟于预设启动时间,从210ms开始采样,持续到310ms停止,共持续100ms的采样时间;因此,机器人在较短的时间内就可以完成静摩擦力的克服和计算行走阻力电流值所需的电流采样,使本申请的实用性更强。为了计算第一基准PWM值、第二基准PWM值以及驱动轮基准电流值,机器人根据定时器的中断时间来采样前述对应设备闭环调节中实时获得的第一PWM值、第二PWM值以及驱动轮电流采样值,当允许数据获取时,定时器中断一次机器人就采样一次,定时器的中断时间为定时器频率的倒数,定时器的频率为1KHz时,中断时间为1ms,100ms的采样时间则采样了100次。
经过所述预设采样时间后,机器人可以在当前行走面沿着同一方向直线行走,机器人将实时获得的第一PWM值标记为第一待测PWM值,并将实时获得的第二PWM值标记为第二待测PWM值;再将第一待测PWM值与第一转换系数的乘积标记为所述第一PWM值所引发的电量变化值,并将第二待测PWM值与第二转换系数的乘积标记为所述第二PWM值所引发的电量变化值,以实现将第一待测PWM值的量纲和第二待测PWM值的量纲都转换为与驱动轮电流采样值的量纲相同,其中,第一转换系数与所述驱动电机的类型和机器人的类型关联,当机器人的类型改变或驱动电机的类型改变时,第一转换系数也变化;第二转换系数与所述风机的类型和机器人的类型关联,当机器人的类型改变或风机的类型改变时,第二转换系数也变化;再控制实时获得的驱动轮电流采样值依次减去当前标记出的第一PWM值所引发的电量变化值、以及当前标记出的第二PWM值所引发的电量变化值,再将相减的结果设置为在预设采样时间之后计算出的当前行走阻力电流值,以涵盖真正的外界行走阻力信息,且是由对应的电流值表示。因此本实施例选择在机器人行走后才开始计算当前行走阻力电流值,是为了降低驱动电机刚开始转动时电流不稳定因素和外界的静摩擦力的影响,则获得驱动电机和风机输出稳定的电流后,通过实时获得的并经过驱动轮验证的驱动轮电流采样值电流减去用于控制驱动电机的PWM信号波动引起的电流跳动,再减去因为风机控制引起的电流跳动,可以获得机器人在某个时间或某段行走面处所承受的当前行走阻力电流值。然后控制在预设采样时间之后计算出的当前行走阻力电流值减去预设采样时间内计算出的基准行走阻力电流值,再将相减的结果设置为机器人的当前相对行走阻力电流值,以反映机器人在所述预设采样时间内外行走过的行走面之间所承受的外部阻力差异。其中,这里的外部阻力是机器人从驱动轮电流采样值中排除电机主动产生的扭矩变化引起的电流波动干扰(在闭环调节过程中达到预期电机转速或预定行走方向而引起的电流波动)和风机主动产生的风机吸力变化(在闭环调节过程中达到预期风机吸力而引起的电流波动)后获得的行走阻力,可以包括碰撞外部障碍物引起的行走阻力。
需要说明的是,由于机器人的左右两侧各安装一个驱动轮,所以驱动轮电流采样值与用于控制驱动电机的PWM值在闭环调节中所引发的电量变化值都来源于同一驱动电机连接的驱动轮,以获得机器人的同一侧安装的驱动轮的当前行走阻力电流值。同一机器人中,左右两侧驱动轮所对应的当前相对行走阻力电流值的计算方法是一致;其中,机器人的当前相对行走阻力电流值可以划分为左右两侧驱动轮所对应的当前相对行走阻力电流值;每一侧驱动轮连接的一个驱动电机,都需计算该侧驱动轮的驱动轮电流采样值对应的基准电量变化值、第一PWM值对应的基准电量变化值、以及第二PWM值对应的基准电量变化值、第一PWM值所引发的电量变化值、第二PWM值所引发的电量变化值。
需要说明的是,机器人的驱动轮与行走面相接触以使机器人承受来自行走面的外部阻力,其中,来自行走面表面的摩擦力属于外部阻力。优选地,当机器人的当前相对行走阻力电流值大于预设碰撞电流阈值时,机器人与其相碰撞的障碍物是位于同一介质的行走面上,然后机器人改变当前行走方向以避免撞开该障碍物或行走至其它介质的行走面,规划出避障路径。在一些实施例中,机器人所接触的行走面的介质发生变化时,机器人计算出的当前行走阻力电流值或当前相对行走阻力电流值发生变化,优选地,在机器人没有与障碍物碰撞的情况下,机器人计算出的当前相对行走阻力电流值或当前行走阻力电流值发生变化时,确定机器人所接触的行走面的介质发生变化,则通过检测机器人行走过的两种不同介质的行走面之间的外部阻力差异来确定机器人所接触的行走面的介质发生变化,至少能够确定机器人行走过的两种不同介质的行走面,并确定当前遍历的行走面相对于上一次遍历的行走面所承受的外部阻力(受阻碍程度)的变化,比如可以确定在后走过一个行走面所承受的摩擦力大于在先走过一个行走面所承受的摩擦力。
在上述实施例的基础上,由于本申请的机器人计算出的当前相对行走阻力电流值克服风机产生的风机吸力变化引起的电流变化值干扰和驱动轮的电机输出的扭矩变化引起的电流变化值干扰,所以,机器人左右两侧的驱动轮的差速(由驱动轮的电机控制,与用于控制对应一侧驱动轮的驱动电机的PWM值成正相关关系)不影响当前相对行走阻力电流值的计算、以及碰撞检测的准确性,使得机器人碰撞检测方法不仅适用于左右驱动轮打滑程度一致的直线行走状态,也适用于机器人转弯或左右驱动轮打滑程度有差异的直线行走状态,即兼顾两侧驱动轮的转速差异,提高当前相对行走阻力电流值和障碍物碰撞检测结果在多种环境状态下和多种机器人运动状态下的适应性。
作为计算机器人的当前相对行走阻力电流值的实施例二,基于驱动轮电流采样值、第一PWM值以及第二PWM值,计算出机器人的当前相对行走阻力电流值可以理解为基于步骤S1实时获得的驱动轮电流采样值、第一PWM值以及第二PWM值,计算出机器人的当前相对行走阻力电流值,即在执行步骤S2的过程中同步执行步骤S1。本实施例中可以理解为基于机器人行走阶段先后获得的两个第一PWM值的差值、机器人行走阶段先后获得的对应两个第二PWM值的差值、以及机器人行走阶段先后获得的两个对应的驱动轮电流采样值,计算出机器人的当前相对行走阻力电流值,用于表示机器人在当前行走面处行走所承受的外部阻力与机器人在上一个行走面处行走所承受的外部阻力的差值;则所述基于驱动轮电流采样值、第一PWM值以及第二PWM值,计算出机器人的当前相对行走阻力电流值的方法包括:
机器人从静止开始启动,直至机器人开始在当前行走面行走以克服静摩擦力,这一过程内,机器人开始行走之前,机器人相对于所接触的行走面存在静摩擦力且开始启动驱动电机,直至机器人从静止开始在当前行走面行走,确定机器人克服静摩擦力;具体地,机器人开始行走之前,从静止开始启动驱动电机并接受实时调节出的第一PWM值的控制,也启动风机并接受实时调节出的第二PWM值的控制;这里的静止状态也可以是刚碰撞障碍物后,制动停止运动并在后续朝新的行走方向启动行走;机器人从静止开始通过逐渐加载驱动电机的电流以使机体启动,则机器人相对于所接触的行走面存在相对滑动趋势,机器人相对于所接触的行走面存在静摩擦力,直至机器人从静止开始经过预设启动时间,闭环调节中实时获得的第一PWM值达到启动PWM值,表明该时刻驱动电机提供的驱动力刚刚超过静摩擦力以克服静摩擦力的影响,并确定机器人已经完成机体启动并开始在当前行走面行走,也可以确定驱动电机输出的电流信号处于稳定状态以保证机器人在不同介质的行走面(不同摩擦力的行走面)正常工作,其中,机器人开始行走的位置是预设起点位置,即经过预设启动时间后行走的起点位置,也是机器人在驱动电机的输出电流趋于稳定且开始进入线性状态时所处的位置点。预设起点位置处是预先设置在待清洁介质的行走面上,作为机器人采样驱动轮电流采样值的出发点。在一些实施例中,在所述预设启动时间内,机器人还可以执行中国专利CN111852925B当中公开的机器人动作校准,即对机器人的每个驱动轮都进行动作校准,争取在210ms内完成左轮和右轮的动作校准,包括机器人的左轮不动,机器人的右轮分别进行固定时间的正转和反转;以及机器人的右轮不动,机器人的左轮分别进行固定时间的正转和反转;然后驱动电机输出的电流信号变得稳定,即进入线性阶段,在此之前得动作校准在本申请中不计为机器人在当前行走面上行走。
优选地,所述启动PWM值是机器人在不同摩擦力的行走面上均能正常启动时所确定的第一PWM值,能够由闭环调节获得。机器人正常启动为从静止开始沿着一个方向直线行走,克服各种介质行走面的静摩擦力。首先将机器人放置在摩擦力较小介质的行走面上,上下调整第一PWM值,使得机器人能从静止开始沿着一个方向直线行走。然后将机器人放置在摩擦力较大介质的行走面上,微调第一PWM值,使得机器人能从静止开始沿着一个方向直线行走。然后在不同摩擦力的表面去验证是否根据当前第一PWM值都可以使机器人能从静止开始沿着一个方向直线行走,则将使机器人正常启动行走所需的第一PWM值设置为启动PWM值;如果不行就找一个平衡值范围,来满足机器人遇到的大部分情况。由于不同类型驱动电机、风机、模具结构等巨大差异,所以判断不同类型的机器人正常启动所需的启动PWM值是不同;所以,需要预先得到启动PWM值,启动PWM值需要前期的人为判断和整定,降低了不同类型的行走面介质环境对本方法在应用上的影响,使该方法适用性更强。
然后在预设采样时间内,机器人基于所有获得的第一PWM值计算出第一基准PWM值,并基于所有获得的第二PWM值计算出第二基准PWM值,并基于所有获得的驱动轮电流采样值计算出驱动轮基准电流值。机器人在预设采样时间内保持在当前行走面行走,在同一介质的行走面上行走以承受同一表面摩擦力的作用(由介质的类型决定的摩擦力,不受机器人的风机输出的风机吸力变化和驱动电机输出的扭矩变化所引起的电流干扰,而且机器人的整体重力没有改变)。机器人在所述预设采样时间内行走的过程中,计算出的第一基准PWM值可代表驱动电机输出扭力作用所引起的适用范围较广的附加行走阻力的变化情况,防止前述闭环调节出的过大的PWM值或过小的PWM值的干扰,因此让第一基准PWM值成为驱动电机带来的基准扭矩干扰因素对应的PWM值。同理地,计算出的第二基准PWM值可以代表风机吸力变化施加到行走面所带来的适用范围较广的附加行走阻力,也可以反馈出驱动轮在同一介质的行走面上所承受的风机吸力变化因素(风机的扭矩变化量),以使第二基准PWM值成为风机带来的基准主动干扰因素对应的PWM值。同理地,计算出的驱动轮基准电流值能够代表驱动轮在同一介质的行走面上行走所有存在的阻力因素对应的电流采样值,代表在预设采样时间内驱动轮在同一介质的行走面所承受的驱动电机输出扭力变化引起的电流变化值、驱动轮在同一介质的行走面上所承受的风机吸力变化引起的电流变化值、驱动轮受到该介质的行走面作用的摩擦力(同一质量的机器人中,与行走面的介质类型相关)以及同一介质的行走面上可能存在的障碍物碰撞阻碍因素,驱动轮为了克服这一阻碍因素都可以反馈为电流变化值。
机器人在预设采样时间内计算出第一基准PWM值、第二基准PWM值以及驱动轮基准电流值后,已经经过预设采样时间,则保留下第一基准PWM值、第二基准PWM值以及驱动轮基准电流值,作为适应在当前行走面中使用的行走阻力参考值,且将当前行走面可以设置为参考行走面。若预设采样时间比较短且当前行走面比较长,则机器人在预设采样时间后仍在当前行走面行走,而且机器人是可以保持在同一介质的行走面继续直线行走。在此基础上,若将驱动轮基准电流值依次减去第一基准PWM值和第二基准PWM值,则相减结果可以设置为基准行走阻力电流值,代表机器人在当前行走面上所承受的外部阻力的有效值,相当于所述预设采样时间内对同一介质的行走面上所承受的外部阻力电流值的校准结果,标记为所述预设采样时间内对外部阻力电流值的校准结果,用来区分与所述预设采样时间内行走过的行走面的介质不同的行走面,也可以在同一介质的行走面上依靠实时计算出的过大的行走阻力电流值检测出机器人是否在该行走面发生碰撞。
经过所述预设采样时间后,为了将实时获得PWM值与所述预设采样时间内计算出的基准PWM值进行对比,以便于计算出所述机器人的当前相对行走阻力电流值;机器人先将实时获得的第一PWM值标记为第一待测PWM值,并将实时获得的第二PWM值标记为第二待测PWM值,并将实时获得的驱动轮电流采样值与驱动轮基准电流值的差值标记为所述驱动轮电流采样值的相对电量变化值,可以代表最新行走到的位置或行走面相对于计算驱动轮基准电流值所需的行走面(参考行走面)存在的行走阻力(可以包括主动输入的行走阻力、驱动力和被动接收的外界阻力一起施加到驱动轮上的作用力)的差异,即当前行走面相对于参考行走面形成的行走阻力对比值。并将第一待测PWM值与第一基准PWM值的差值与第一转换系数的乘积标记为所述第一PWM值对应的相对电量变化值,代表机器人最新行走到的位置或行走面相对于计算第二基准PWM值所需的行走面(参考行走面)所承受的驱动电机输出扭力干扰的差异程度,形成当前行走面相对于参考行走面形成的电机输出扭矩干扰对比值;并将第二待测PWM值与第二基准PWM值的差值与第二转换系数的乘积标记为所述第二PWM值对应的相对电量变化值,代表机器人最新行走到的位置或行走面相对于计算第二基准PWM值所需的行走面(参考行走面)所承受的风机吸力干扰的差异程度,形成当前行走面相对于参考行走面形成的风机吸力干扰对比值。第一转换系数将PWM值的量纲转换为与驱动轮电流采样值的量纲相同,第二转换系数将PWM值的量纲转换为与驱动轮电流采样值的量纲相同,其中,驱动轮基准电流值的量纲与驱动轮电流采样值的量纲相同,第一转换系数与所述驱动电机的类型和机器人的类型关联,当机器人的类型改变或驱动电机的类型改变时,第一转换系数也变化;第二转换系数与所述风机的类型和机器人的类型关联,当机器人的类型改变或风机的类型改变时,第二转换系数也变化。
然后,机器人控制驱动轮电流采样值的相对电量变化值减去第一PWM值对应的相对电量变化值,获得第一差值(驱动电机输出的扭力施加到驱动轮以引入的电流变化值),以抵消驱动电机主动干扰对比值,可以是对应的电流变化值;再将第一差值减去第二PWM值对应的相对电量变化值,获得第二差值(风机吸力施加到驱动轮以引入的电流变化值),以在抵消电机输出扭矩干扰对比值的基础上继续抵消风机吸力干扰对比值的影响,则将第二差值标记为所述机器人的当前相对行走阻力电流值,以反映机器人在所述预设采样时间内外行走过的行走面之间的外部阻力差异;进一步地,若机器人先在一种介质的行走面上由静止启动通过执行前述步骤S1和步骤S2来计算所述机器人的当前相对行走阻力电流值,再在另一种介质的行走面上由静止启动再通过重新执行前述步骤S1和步骤S2以计算一次所述机器人的当前相对行走阻力电流值,则在自始至终都没有发生检测碰撞的前提下,两种介质的行走面上计算出的所述机器人的当前相对行走阻力电流值的差值,可以反映当前遍历介质的行走面和之前遍历介质的行走面之间的相对阻力差异,即机器人在先后遍历的两种介质上所承受的相对外部阻力的差值,每一种介质上的相对外部阻力是同一介质上的机器人当前位置与启动起点位置分别所承受的外部阻力的差值;其中,本申请公开的外部阻力可以理解为机器人承受的外部行走阻力,是排除内部的驱动电机施加的扭力和风机施加的风机吸力的影响后获得的行走阻力。
需要补充的是,第一PWM值对应的相对电量变化值可以是前述实施例一所述第一PWM值所引发的电量变化值与所述第一PWM值对应的基准电量变化值的差值;第二PWM值对应的相对电量变化值可以是前述实施例一所述第二PWM值所引发的电量变化值与所述第二PWM值对应的基准电量变化值的差值;驱动轮电流采样值的相对电量变化值可以是前述实施例一所述驱动轮电流采样值与驱动轮电流采样值对应的基准电量变化值的差值。
本实施例选择在机器人行走后才开始计算当前相对行走阻力电流值,是为了降低驱动电机刚开始转动时电流不稳定因素和外界的静摩擦力的影响,则获得驱动电机输出电流趋于稳定后,在经过驱动轮验证的驱动轮电流采样值相对于基准电流值所形成的电流跳动中,抵消用于控制驱动电机的PWM值相对基准PWM值所形成的电流跳动,还抵消用于控制风机的PWM值波动相对基准PWM值所存在的电流跳动,可以获得机器人在某两个时间或某两段行走面处所承受的当前行走阻力电流值的差值,即机器人的当前相对行走阻力电流值。
需要说明的是,驱动轮电流采样值的相对电量变化值与第一PWM值对应的相对电量变化值都来源于同一驱动电机连接的驱动轮,以获得机器人的同一侧安装的驱动轮的当前相对行走阻力电流值,则对于同一机器人,其左右两侧驱动轮所对应的当前相对行走阻力电流值的计算方法是一致;其中,机器人的当前相对行走阻力电流值可以划分为两侧驱动轮所对应的当前相对行走阻力电流值;每一侧驱动轮连接的一个驱动电机,都需计算该侧驱动轮的当前相对行走阻力电流值所需的驱动轮电流采样值的相对电量变化值、以及第一PWM值对应的相对电量变化值。
在上述计算当前相对行走阻力电流值的实施例一和实施例二当中,在所述预设采样时间内,基于所有获得的第一PWM值计算出第一基准PWM值的方法包括:对所述预设采样时间内所有获得的第一PWM值求平均值,获得第一基准PWM值,具体是对依次采样到的第一PWM值求和,再依据求和次数对第一PWM值在所述预设采样时间内的和值求平均值,该平均值是设置为第一基准PWM值,防止前述闭环调节出的个别过大的PWM值以引起驱动轮打滑或过小的PWM值引起驱动轮转不动;优选地,机器人不断将采样实时闭环调节出来的第一PWM值进行求和,直到不允许采样时停止求和,并将求和的结果除以求和的次数,得到第一基准PWM值。在所述预设采样时间内不限制左右驱动轮是正转还是反转;或者,从所述预设采样时间内所有获得的第一PWM值当中,筛选出数值最大的第一PWM值,作为第一基准PWM值,具体地,依次比较所有获得的第一PWM值之间的大小,再将数值最大的第一PWM值设置为第一基准PWM值,以防止驱动轮走不动;从而在所述预设采样时间内既可以完成对第一PWM值的采样,也在同一时间段内完成对所有获得的第一PWM值的过滤。
需要说明的是,机器人行走至预设起点位置处时,在预设起点位置开始计时所述预设采样时间,即在预设起点位置开始采样计算第一基准PWM值所需的第一PWM值、计算第二基准PWM值所需的第二PWM值以及计算驱动轮基准电流值所需的驱动轮电流采样值。其中,预设起点位置是机器人从静止开始启动后,开始行走的起点位置,以使得机器人从预设起点位置开始直线行走。在前述计算机器人的当前相对行走阻力电流值的实施例一和实施例二的基础上,机器人在预设起点位置处开始在当前行走面上行走,而且不对该预设起点位置所在行走面的介质进行限制,也不对所述预设采样时间外行走过的行走面的介质进行限制。
同理地,在所述预设采样时间内,基于所有获得的第二PWM值计算出第二基准PWM值的方法包括:对所述预设采样时间内所有获得的第二PWM值求平均值,获得第二基准PWM值,以避免采样到驱使风机吸力过大的第二PWM值(防止对驱动轮施加过大的压力而导致驱动轮无法转动),也避免采样到驱使风机吸力过小的第二PWM值(防止对驱动轮施加过小的压力而容易引起驱动轮打滑);或者,从所述预设采样时间内所有获得的第二PWM值当中,筛选出数值最大的第二PWM值,作为第二基准PWM值,此时,即使是采用最大的第二PWM值,后续在计算当前行走阻力电流值或当前相对行走阻力电流值时会被抵消掉。
同理地,在所述预设采样时间内,基于所有获得的驱动轮电流采样值计算出驱动轮基准电流值的方法包括:对所述预设采样时间内所有获得的驱动轮电流采样值求平均值,获得驱动轮基准电流值,驱动轮电流采样值在所述预设采样时间内的平均值是驱动轮基准电流值,可以是在计算获得第一基准PWM值后获得,保证计算出的驱动轮基准电流值的实时性和有效性;或者,从所述预设采样时间内所有获得的驱动轮电流采样值当中,筛选出数值最大的驱动轮电流采样值,获得驱动轮基准电流值,也可以是在计算获得第一基准PWM值后获得,保证计算出的驱动轮基准电流值的实时性和有效性;其中,所述预设采样时间内,机器人按照预设时间间隔采集第一PWM值和第二PWM值,则采集的驱动轮电流采样值也是按照预设时间间隔采集获得,进而获得有限数量的第一基准PWM值、第二基准PWM值以及驱动轮基准电流值,从而获得计算行走阻力电流值所需的较全面的PWM值,计算速度较快。
综上,第一PWM值用于控制驱动电机的输出扭矩变化,以反馈形成驱动轮电流采样值当中的一种电量变化值;第二PWM值用于控制风机产生的风机吸力变化,以反馈形成驱动轮电流采样值当中的另一种电量变化值。为了检测机器人在最新遍历的行走面与机器人开始行走的位置处或参考行走面的相对行走阻力电流值、以及机器人在最新遍历的行走面的行走阻力电流值,前述实施例不是简单孤立地只判断电机电流的突变或只判断码盘记录的里程数据变化,而是结合用于控制驱动电机的PWM值和用于控制风机的PWM值,来在驱动轮电流采样值中抵消电机产生的扭矩变化引起的电流变化值和风机吸力变化引入的电流变化值,并在不使用码盘测量数据的前提下,计算获得不受内部驱动电机和风机主动输出的电流变化值干扰的行走阻力电流值。
其中,在所述预设采样时间内行走过的行走面(视为参考行走面)当中完成对PWM值和电流采样PWM值的校准以获得基准PWM值,进而计算出机器人在最新遍历的行走面与所述参考行走面的相对行走阻力电流值,也不受风机吸力变化和驱动电机输出的扭矩变化的干扰);因而提取出机器人在当前行走面所承受的外界阻力情况,以确定出受当前行走面的介质类型约束的阻力与机器人受外界障碍物碰撞引起的行走阻力等情况;在存在障碍物碰撞的前提下,确定机器人当前遍历的行走面所承受的行走阻力还可以包括障碍物碰撞阻碍所引入的外界阻力,便于后续通过阈值识别出来。
作为一种实施例,在步骤S2中,所述基于机器人的当前相对行走阻力电流值与预设碰撞电流阈值的关系,检测机器人当前与障碍物的碰撞情况的方法包括:当机器人的当前相对行走阻力电流值大于预设碰撞电流阈值时,机器人当前在行走面上与障碍物碰撞,也可以确定为检测到障碍物,则机器人开始改变当前行走方向,可以先停止行走,再转动180度,避免在障碍物的质量较小撞开障碍物,既可以避免影响后续的碰撞检测效果,也可以及时区分出可通行路径和不可通行区域。若机器人与其相碰撞的障碍物是位于同一介质的行走面上,则机器人在同一介质的行走面上执行前述步骤S1和步骤S2,对于摩擦力系数不同的每一种介质的行走面,都可以通过执行前述步骤S1和步骤S2来检测机器人与同一介质的行走面上相碰撞的障碍物,当介质之间的差异较大时,预设碰撞电流阈值可以更换。相对准确地检测出不同介质的行走面上的障碍物。
优选地,若计算出的所述机器人的当前相对行走阻力电流值越大,则确定机器人碰撞到的障碍物在行走面上所承受的静摩擦力越大;若机器人撞开障碍物,则计算出的所述机器人的当前相对行走阻力电流值不一定很大;障碍物所承受的静摩擦力随着所在的行走面的介质的变化而变化,具体是与介质的摩擦力系数相关,当障碍物在同一介质的行走面上的质量越大,则障碍物所承受的静摩擦力越大,机器人碰撞到该障碍物时,所述机器人的当前相对行走阻力电流值越大;其中,机器人的驱动轮与行走面相接触、和机器人与障碍物相碰撞,都使机器人承受来自行走面的外部阻力,即外部环境施加给驱动轮的摩擦力,不包括风机吸力和驱动电机输出的扭力。
需要说明的是,机器人从预设起点位置启动后就进入所述预设采样时间,则机器人在所述预设采样时间内从预设起点位置开始行走,行走过所述预设采样时间后计算出第一基准PWM值、第二基准PWM值以及驱动轮基准电流值,再将第一基准PWM值与第一转换系数的乘积标记为所述第一PWM值在所述预设采样时间内所形成的有效电流变化值,即第一PWM值对应的基准电流变化值;第一基准PWM值能够代表机器人的驱动电机输出的扭矩在所述预设采样时间内行走过的行走面上施加到驱动轮中的平均起动作用力信息或最大起动作用力信息(大于或等于静止启动时所承受的最大静摩擦力),由于机器人在所述预设采样时间内行走过的行走面的介质与所述预设起点位置处的介质是相同,所以,第一基准PWM值能够代表机器人的驱动电机输出的扭矩变化在所述预设起点位置处施加到驱动轮中的有效作用力信息;同理地,第二基准PWM值能够代表机器人的风机产生的风机吸力在所述预设起点位置处施加到驱动轮中的有效阻力信息;驱动轮基准电流值能够代表机器人在所述预设起点位置行走所有存在的施加给驱动轮的作用力反馈出来的电流采样值,具体可以代表在预设采样时间内驱动轮在同一介质的行走面所承受的驱动电机扭力变化引起的电流变化值、驱动轮在同一介质的行走面上所承受的风机吸力变化引起的电流变化值、驱动轮受到该介质的行走面作用的摩擦力(同一质量的机器人中,与行走面的介质类型相关)所引起的电流变化值以及同一介质的行走面上可能存在的障碍物碰撞阻碍引起的电流变化值,因此,机器人的当前相对行走阻力电流值可以用于表示机器人在当前行走面处行走所承受的外部阻力与机器人在预设起点位置处所承受的外部阻力的差值对应的电量。
在机器人的当前相对行走阻力电流值小于或等于预设碰撞电流阈值的前提下,机器人在行走过程中,计算出的当前相对行走阻力电流值变化,机器人所接触的行走面的介质类型发生变化。其中,机器人没有发生碰撞的情况下,机器人可以无障碍地行走,当机器人所接触的行走面的介质发生变化时,对应承受的外部阻力也发生变化,因此,在机器人最新行走过的行走面的介质与预设起点位置处的介质不同时,所述机器人的当前相对行走阻力电流值能够反映两种不同介质的行走面之间的外部阻力差异,即机器人当前遍历的工作区域的表面介质与上一次遍历的工作区域的表面介质之间的外部阻力的差异,其中,上一次遍历的工作区域是包括机器人在所述预设采样时间内遍历过的行走面和预设起点位置。
优选地,机器人在经过所述预设采样时间后行走的行走面的介质与所述预设采样时间内行走过的行走面的介质可以是不同类型的材质时,同一机器人在不同的行走面各承受不同摩擦力的作用,碰撞到不同质量的障碍物所承受的外部阻力也是不同,同一机器人在所述预设采样时间内外所承受到的摩擦力变化(外界阻力的变化情况)可以由所述机器人的当前相对行走阻力电流值来检测出来并用于检测碰撞情况,其中,所述预设采样时间比较短;则机器人没有发生碰撞的情况下,所述机器人的当前相对行走阻力电流值在同一基准量的基础上,可以区分出不同介质的行走面的相对摩擦力,也可以对应设置阈值进行精细化区分,以便于区别机器人是否行走到新介质的行走面。
需要说明的是,机器人的驱动轮与行走面相接触以使机器人承受来自行走面的外部阻力,包括因介质而异的表面摩擦力,可以归属于外部阻力或外部行走阻力。所述机器人的当前相对行走阻力电流值增大时,确定机器人在当前行走面所承受的行走阻力大于机器人在所述预设起点位置处所承受的行走阻力;所述机器人的当前相对行走阻力电流值减小时,确定机器人在当前行走面所承受的行走阻力小于机器人在所述预设起点位置处所承受的行走阻力。所述机器人的当前相对行走阻力电流值增大或所述机器人的当前行走阻力电流值增大时,确定机器人在当前行走面所承受的外部阻力增大;所述机器人的当前相对行走阻力电流值大于数值0时,机器人在当前行走面所承受的外部阻力大于机器人在所述预设起点位置处所承受的外部阻力;所述机器人的当前相对行走阻力电流值减小或所述机器人的当前行走阻力电流值减小时,确定机器人在当前行走面所承受的外部阻力减小,所述机器人的当前相对行走阻力电流值小于数值0时,机器人在当前行走面所承受的外部阻力小于机器人在所述预设起点位置处所承受的外部阻力。
作为一种实施例,机器人在所述预设采样时间内行走过的行走面的介质与所述预设起点位置处的介质是相同时,机器人的当前相对行走阻力电流值用于表示机器人在当前行走面处行走所承受的外部阻力与机器人在预设起点位置处相接触的行走面所承受的外部阻力的差值对应的电量值;其中,机器人在所述预设采样时间内保持行走在同一介质的行走面上;外部阻力的差值与电量值之间需要使用预先设置的转换系数进行变换,比如地面摩擦力与电流之间的转换系数,可能需要电机输出的力矩的参与转换,则该转换系数会根据驱动电机或风机的型号的变化进行微调;其中,机器人在所述预设采样时间内保持行走在同一介质的行走面上,则当前行走面、机器人在所述预设采样时间内保持行走过的行走面与预设起点位置处的介质都是相同,一般地,预设起点位置处不存在障碍物,其中,预设起点位置是机器人从静止开始启动后,开始行走的起点位置,以使得机器人从预设起点位置开始直线行走并在经过预设采样时间后进行碰撞检测。然后,当机器人计算出的当前相对行走阻力电流值大于预设碰撞电流阈值时,若机器人行走距离过小以从预设起点位置开始仍行走在同一介质的行走面,可以确定机器人在同一介质的行走面(当前行走面)上碰撞到障碍物。
作为一种实施例,机器人在所述预设采样时间内行走过的行走面的介质与所述预设起点位置处的介质是不相同时,机器人的当前相对行走阻力电流值用于表示机器人在当前行走面处行走所承受的外部阻力与机器人在参考行走面所承受的外部阻力的差值对应的电量值,外部阻力的差值与电量值之间需要使用预先设置的转换系数进行变换,比如地面摩擦力与电流之间的转换系数,可能需要电机输出扭矩的参与转换,则该转换系数会根据驱动电机或风机的型号的变化进行微调;其中,机器人在所述预设采样时间内保持行走在参考行走面上,即机器人在所述预设采样时间内保持行走在同一介质的行走面上;机器人从静止启动后于所述预设采样时间内行走过的行走面是参考行走面;参考行走面可以与当前行走面的介质相同以检测机器人在同一介质的行走面上所承受摩擦力变化情况,参考行走面可以与当前行走面的介质也可以不相同,以检测机器人是否在跨越不同介质的行走面;一般地,参考行走面处不存在障碍物。机器人在所述预设采样时间内行走过的行走面的介质与所述预设起点位置处的介质是不相同时,机器人的当前相对行走阻力电流值用于表示机器人在当前行走面处行走所承受的外部阻力与机器人在所述预设采样时间内行走过的行走面中所承受的外部阻力的差值对应的电量值。其中,机器人在所述预设采样时间内保持行走在同一介质的行走面上。当机器人计算出的当前相对行走阻力电流值大于所述预设碰撞电流阈值时,若机器人行走距离过大以从预设起点位置开始跨越过不同介质的行走面,确定机器人在新介质的行走面(当前行走面)上碰撞到障碍物,其中,机器人所碰撞到的障碍物所抵接的行走面的介质与所述预设采样时间内行走过的行走面的介质是不相同。当机器人计算出的当前相对行走阻力电流值小于或等于所述预设碰撞电流阈值时,机器人当前处于无障碍直线行走状态,通过计算机器人的当前相对行走阻力电流值可以确定机器人当前遍历的一种介质类型行走面所承受的摩擦力(属于外部阻力)较之前遍历的另一种介质类型的行走面是变大还是变小,具体可以是机器人当前遍历的一种介质类型行走面所承受的外部阻力相对于预设起点位置所在的行走面所承受的外部阻力,则能够有效地区分出机器人先后行走到摩擦力不同的介质的行走面中。
作为一种对角度闭环调节的实施例,在步骤S1中,所述对用于控制驱动电机的PWM值进行闭环调节的方法包括:机器人实时测得的航向角度与目标导航角度在当前调节周期内的角度差值的绝对值不处于预设角度误差范围的情况下,对于机器人每侧安装的驱动轮对应连接的驱动电机,机器人对用于控制驱动电机的PWM值进行PID调节,在对用于控制驱动电机的PWM值进行PID调节的过程中,将用于控制驱动电机的PWM值与第一预设目标PWM值的差值作为下一调节周期的反馈输入,以缩小用于控制驱动电机的PWM值与第一预设目标PWM值的差值,并将用于控制驱动电机的PWM值设置为第一PWM值,再将所述第一PWM值实时输入对应侧的驱动电机以获得该侧驱动电机输出的驱动轮电流采样值,其中,驱动电机的实时转速与第一PWM值成正相关关系;对于机器人每侧安装的驱动轮对应连接的驱动电机,当用于控制对应侧的驱动电机的PWM值与第一预设目标PWM值小于对应的预设驱动轮稳态误差时,机器人基于左右两侧驱动电机的实时转速的差值,进行行走方向的调整,以引导机器人的航向角与目标导航角的角度差值的绝对值处于预设角度误差范围内;其中,机器人两侧安装的驱动轮对应连接的驱动电机的实时转速的差值的绝对值、与机器人的航向角与目标导航角的角度差值的绝对值成正相关关系;其中,机器人的航向角是由机器人内置的陀螺仪实时测得;机器人的左右两侧各安装一个驱动轮,机器人的左右两侧安装的驱动轮各连接一个驱动电机。
具体地,在所述步骤S1中,机器人可以通过角度闭环反馈调节装置对用于控制驱动电机的PWM值进行调节,并将实时调节出的第一PWM值输入到驱动电机,驱动电机会改变输出的转速,再将改变后的转速对应形成的机器人的航向角度作为角度闭环反馈调节装置的反馈输入,以维持闭环调节,也间接地对机器人实时测得的航向角度的闭环调节,其中闭环调节具有对应的调节周期。因此,所述对用于控制驱动电机的PWM值进行闭环调节的方法包括:机器人实时测得的航向角度与目标导航角度在当前调节周期内的角度差值的绝对值不处于预设角度误差范围时,机器人将实时测得的航向角度与目标导航角度在当前调节周期内的角度差值的绝对值或机器人将实时测得的航向角度配置为角度闭环反馈调节装置的下一调节周期的反馈输入,以对用于控制驱动电机的PWM值进行PID调节,本实施例将闭环调节设置为PID调节;并将用于控制驱动电机的PWM值的实时反馈调节结果设置为所述第一PWM值,则每个调节周期都会调节出一个第一PWM值并被外部实时获取;再将第一PWM值输入驱动电机以实时调整机器人的航向角度,直至机器人实时测得的航向角度与目标导航角度的角度差值的绝对值在预设角度误差范围变化或在预设角度误差范围保持恒定值,保持将最新获得的第一PWM值输入驱动电机,通过对第一PWM值进行PID调节来推进机器人实时测得的航向角度的闭环调节以逼近所述目标导航角度,引导机器人沿着目标导航角度对应的方向行走;其中,目标导航角度是机器人预先规划出来以引导机器人沿着预先规划的工作路径行走,则目标导航角度是允许被修改,当目标导航角度修改幅度过大或机器人先停止再重新启动行走时,需要重新执行步骤S1和步骤S2,一般是碰撞到障碍物的场景下,先停止或掉头,则需要重新执行步骤S1和步骤S2以重新计算当前相对行走阻力电流值;机器人的航向角度是由机器人内置的陀螺仪实时测得。
角度闭环反馈调节装置可以划分为第一角度闭环反馈调节装置和第二角度闭环反馈调节装置,第一角度闭环反馈调节装置用于对左驱动电机的PWM值进行PID调节,第二角度闭环反馈调节装置用于对右驱动电机的PWM值进行PID调节。第一角度闭环反馈调节装置和第二角度闭环反馈调节装置可以是由PID控制器构成。
所述对用于控制驱动电机的PWM值进行闭环调节的方法包括:机器人实时测得的航向角度与目标导航角度在当前调节周期内的角度差值的绝对值不处于预设角度误差范围的情况下,机器人控制第一角度闭环反馈调节装置来对用于控制左驱动电机的PWM值进行PID调节;在对用于控制左驱动电机的PWM值进行PID调节的过程中,第一角度闭环反馈调节装置在当前调节周期内输出最新的用于控制左驱动电机的PWM值,机器人将用于控制左驱动电机的PWM值与预设左目标PWM值在当前调节周期内的差值配置为第一角度闭环反馈调节装置的下一调节周期的反馈输入,以缩小用于控制左驱动电机的PWM值与预设左目标PWM值的差值,随着时间的增加,该差值变小,直到等于零,可以使第一角度闭环反馈调节装置进入稳态,则机器人实时测得的航向角度比较接近目标导航角度。第一角度闭环反馈调节装置是具有负反馈调节功能的闭环控制系统。机器人会将最新调节输出的用于控制左驱动电机的PWM值设置为所述第一一PWM值,再将所述第一一PWM值实时输入左驱动电机以获得左驱动电机的实时转速,左驱动电机输出的电流信号能够被采样出以反馈左驱动轮在行走面上承受的阻力情况;其中,在不考虑外部阻力(比如摩擦力和碰撞因素)的前提下,左驱动电机的实时转速与第一一PWM值成正比关系。
同时,机器人实时测得的航向角度与目标导航角度在当前调节周期内的角度差值的绝对值不处于预设角度误差范围的情况下,机器人控制第二角度闭环反馈调节装置来对用于控制右驱动电机的PWM值进行PID调节;在对用于控制左驱动电机的PWM值进行PID调节的过程中,第二角度闭环反馈调节装置在当前调节周期内输出最新的用于控制右驱动电机的PWM值,机器人将用于控制右驱动电机的PWM值与预设右目标PWM值在当前调节周期内的差值配置为下一调节周期的反馈输入,以缩小用于控制右驱动电机的PWM值与预设右目标PWM值的差值,随着时间的增加,该差值变小,直到等于零,可以使第二角度闭环反馈调节装置进入稳态,则机器人实时测得的航向角度比较接近目标导航角度。第二角度闭环反馈调节装置是具有负反馈调节功能的闭环控制系统。机器人会将最新调节出的用于控制右驱动电机的PWM值设置为所述第一二PWM值,再将所述第一二PWM值输入右驱动电机以获得右驱动电机的实时转速,右驱动电机输出的电流信号能够被采样出以反馈右驱动轮在行走面上承受的阻力情况;其中,在不考虑外部阻力(比如摩擦力和碰撞因素)的前提下,右驱动电机的实时转速与第一二PWM值成正比关系。
当用于控制左驱动电机的PWM值与预设左目标PWM值的差值小于第一预设驱动轮稳态误差,且用于控制右驱动电机的PWM值与预设右目标PWM值的差值小于第二预设驱动轮稳态误差时,机器人基于左驱动电机的实时转速与右驱动电机的实时转速的差值,进行行走方向的调整,调整角度由左驱动轮的实时转速与右驱动轮的实时转速的差值决定,调整方向后,机器人实时测得的航向角度配置为角度闭环反馈调节装置(包括第一角度闭环反馈调节装置和第二角度闭环反馈调节装置)在下一调节周期的反馈输入,以实现在前述PID调节的过程中将机器人的航向角度与目标导航角度的角度差值的绝对值调整为在预设角度误差范围变化或在预设角度误差范围保持恒定值。需要说明的是,在本实施例中,首先机器人通过陀螺仪实时测得当前航向角度,左驱动轮的实时转速与用于控制左驱动电机的PWM值成正比并存在预设的转换关系,右驱动轮的实时转速与用于控制右驱动电机的PWM值成正比并存在预设的转换关系,左驱动轮的半径与右驱动轮的半径相等并对称地设置在机器人的左右两侧,则左驱动轮的周长等于右驱动轮的周长;机器人将左驱动轮的实时转速与右驱动轮的实时转速的差值与左驱动轮的周长(或右驱动轮的周长)相乘,相乘的结果是标记为左驱动轮的行走速度与右驱动轮的行走速度的差值,再将该相乘的结果与机器人的机身宽度的比值设置为机器人调整行走方向所达到的角速度,再将机器人调整方向所达到的角速度与行走方向的调整时间的乘积设置为机器人为调整行走方向所转过的角度,即所述调整角度,必要时可以将计算形成的弧度单位转换为角度单位;该调整角度在角度闭环反馈调节装置的调节作用下逐渐接近甚至等于机器人的当前航向角度与目标导航角度的角度差值的绝对值,其中,预设角度误差范围包括数值0,量纲与陀螺仪测得的角度适用的量纲相同。优选地,机器人的底盘形状是圆盘形状时,机器人的机身宽度是机器人的机身直径。
在前述对角度闭环调节的实施例实施例中,所述第一PWM值包括第一一PWM值和第一二PWM值;机器人的左侧安装左驱动轮,左驱动轮与左驱动电机电性连接;机器人的右侧安装右驱动轮,右驱动轮与右驱动电机电性连接。在进行闭环调节的过程中,左驱动电机的实时转速与右驱动电机的实时转速的差值的绝对值可以与机器人的航向角度与目标导航角度的角度差值的绝对值成正相关关系,即机器人的航向角度与目标导航角度的角度差值的绝对值越大,则左驱动电机的实时转速与右驱动电机的实时转速的差值的绝对值越大,则左右两侧驱动轮的转速差越大,但左右两侧驱动轮转动形成的机器人转弯方向与机器人的行走方向相对于目标导航角度指示的方向的偏离方向相反,以缩小机器人的航向角度与目标导航角度的角度差值的绝对值,形成对角度的负反馈调节。
作为一种对气压闭环调节的实施例,所述对作用于风机的PWM值进行闭环调节的方法包括:机器人实时测得的风机吸力与目标工作吸力在当前调节周期内的气压差值的绝对值不处于预设气压误差范围时,机器人控制气压闭环反馈调节装置来对作用于风机的PWM值进行PID调节;在对作用于风机的PWM值进行PID调节的过程中,机器人将作用于风机的PWM值与第二预设目标PWM值在当前调节周期内的差值配置为下一调节周期的反馈输入,以缩小作用于风机的PWM值与第二预设目标PWM值的差值,并将作用于风机的PWM值设置为所述第二PWM值,再将所述第二PWM值输入风机以产生风机吸力;其中,风机吸力与第二PWM值成正相关关系;当作用于风机的PWM值与第二预设目标PWM值的差值小于预设风机稳态误差时,机器人实时测得的风机吸力与目标工作吸力的气压差值的绝对值处于预设气压误差范围值内;其中,机器人的风机的进风口处设置气压传感器,用于实时监测风机吸力。
具体地,在所述步骤S1中,机器人可以通过气压闭环反馈调节装置对用于控制风机的PWM值进行调节,并将实时调节出的第二PWM值施加到风机,风机内设的电机会改变输出的转速,再将改变后的转速对应形成的风机吸力作为气压闭环反馈调节装置的反馈输入,以维持闭环调节,也间接地对机器人实时测得的风机吸力的闭环调节;因此步骤S1所述的对用于控制风机的PWM值进行闭环调节的方法包括:机器人实时测得的风机吸力与目标工作吸力在当前调节周期内的气压差值的绝对值不处于预设气压误差范围时,机器人将实时测得的风机吸力与目标工作吸力在当前调节周期内的气压差值的绝对值或实时测得的风机吸力配置为气压闭环反馈调节装置在下一调节周期的反馈输入,以对用于控制风机的PWM值进行PID调节,本实施例将闭环调节设置为PID调节;并将用于控制风机的PWM值的实时反馈调节结果设置为第二PWM值,则每个调节周期都会调节出一个第二PWM值并被外部实时获取以计算当前行走阻力电流值或当前相对行走阻力电流值;再将第二PWM值输入风机以实时调整风机吸力,直至机器人实时测得的风机吸力与目标工作吸力在当前调节周期内的气压差值的绝对值在预设气压误差范围变化或在预设气压误差范围保持恒定值,保持将最新获得的第二PWM值输入风机,通过对第二PWM值进行PID调节来推进机器人实时测得的风机吸力的闭环调节以逼近所述目标工作吸力,其中,目标工作吸力是机器人预先设置以适应机器人当前所在的行走面的气压情况;机器人的风机的进风口处设置气压传感器,用于实时监测风机吸力。
所述对用于控制风机的PWM值进行闭环调节的方法包括:机器人实时测得的风机吸力与目标工作吸力在当前调节周期内的气压差值的绝对值不处于预设气压误差范围时,机器人控制气压闭环反馈调节装置来对用于控制风机的PWM值进行PID调节;在对用于控制风机的PWM值进行PID调节的过程中,机器人将用于控制风机的PWM值与第二预设目标PWM值在当前调节周期内的差值配置为气压闭环反馈调节装置在下一调节周期的反馈输入,以缩小用于控制风机的PWM值与第二预设目标PWM值的差值,随着时间的增加,该差值变小,直到等于零,可以使气压闭环反馈调节装置进入稳态,则机器人实时测得的风机吸力比较接近目标工作吸力。气压闭环反馈调节装置是具有负反馈调节功能的闭环控制系统。机器人会将用于控制风机的PWM值设置为所述第二PWM值,再将所述第二PWM值输入风机以产生风机吸力并施加到行走面和驱动轮中;其中,风机吸力与第二PWM值成正相关关系。当用于控制风机的PWM值与第二预设目标PWM值的差值小于预设风机稳态误差时,机器人实时测得的风机吸力与目标工作吸力的气压差值的绝对值在预设气压误差范围变化或在预设气压误差范围保持恒定值。其中,预设气压误差范围包括数值0,量纲与气压适用的量纲相同。
需要说明的是,所述机器人采样驱动电机输出的电流信号,获得驱动轮电流采样值的方法包括:机器人通过模数转换器采样左驱动电机输出的电流信号,获得左驱动轮电流采样值,以反映左驱动轮的运动状态;同时,机器人通过模数转换器采样右驱动电机输出的电流信号,获得右驱动轮电流采样值,以反映右驱动轮的运动状态;其中,所述驱动轮电流采样值包括左驱动轮电流采样值和右驱动轮电流采样值,驱动电机输出的电流信号是属于PWM信号,驱动轮电流采样值能够使用电压值表示电流变化情况,反馈驱动轮承受的所有类型的作用力,包括驱动电机输出扭力施加到驱动轮的作用力(不属于外部阻力),也包括风机产生的吸力施加到驱动轮而引起的行走阻力(不属于外部阻力),还包括由地面介质决定的摩擦力(属于外部阻力)、与机器人碰撞的障碍物对机器人的抵挡作用力(属于外部阻力)。
需要说明的是,PID( Proportional Integral Derivative)调节是经典控制理论中控制系统的一种基本调节方式,是具有比例、积分和微分作用的一种线性调节规律。被广泛应用于工业过程控制,尤其适用于可建立精确数学模型的确定性控制系统。当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用PID调节技术最为方便。即当不完全了解一个系统和被控对象,或不能通过有效的测量手段来获得系统参数时,最适合用PID控制技术。PID调节,实际中也有PI和PD控制。PID调节就是根据系统的误差,利用比例、积分、微分计算出控制量进行控制的。加大比例系数Kp可以减小系统的静差,但当Kp 过大时,会使系统的动态品质变坏,引起被控量振荡,甚至导致闭环系统不稳定。积分系数Ti大说明积分作用弱,反之则说明积分作用强,增大Ti,将减慢消除静差的过程,但可以减小超调,提高稳定性。微分系数Td增大,则微分作用加强,有助于减少超调,克服振荡,使系统趋于稳定,加快系统的响应速度,减小调整时间,从而改善系统的动态性能。
在上述计算当前相对行走阻力电流值的实施例的基础上,第一PWM值采用所述第一一PWM值,且所述驱动轮电流采样值采用左驱动轮电流采样值时,左驱动轮电流采样值减去第一一PWM值在闭环调节中所引发的电量变化值,获得第一差值,再将第一差值减去第二PWM值在闭环调节中所引发的电量变化值,获得第二差值,再将第二差值标记为所述机器人的左驱动轮的当前行走阻力电流值;或者,左驱动轮电流采样值的电量变化值减去第一一PWM值对应的相对电量变化值,获得第一差值,再将第一差值减去第二PWM值对应的相对电量变化值,获得第二差值,再将第二差值标记为所述机器人的左驱动轮的当前相对行走阻力电流值。
第一PWM值采用所述第一二PWM值,且所述驱动轮电流采样值采用右驱动轮电流采样值时,右驱动轮电流采样值的电量变化值减去第一二PWM值在闭环调节中所引发的电量变化值,获得第一差值,再将第一差值减去第二PWM值在闭环调节中所引发的电量变化值,获得第二差值,再将第二差值标记为所述机器人的右驱动轮的当前行走阻力电流值;或者,第一PWM值采用所述第一二PWM值,且所述驱动轮电流采样值采用右驱动轮电流采样值时,右驱动轮电流采样值的相对电量变化值减去第一二PWM值对应的相对电量变化值,获得第一差值,再将第一差值减去第二PWM值对应的相对电量变化值,获得第二差值,再将第二差值标记为所述机器人的右驱动轮的当前相对行走阻力电流值。
优选地,在机器人的当前相对行走阻力电流值小于或等于预设碰撞电流阈值的情况下,存在以下调整风机吸力的方式:扫地机器人或擦窗机器人需要调整闭环调节的目标风机吸力时,当计算出的所述机器人的当前相对行走阻力电流值大于预设相对值或数值0时,机器人在当前遍历的行走面上受到的外部阻力相对于上一次遍历过的行走面受到的外部阻力增大,这一外部阻力的变化信息可以理解为不受驱动电机输出的扭力变化所引起的电流变化值的干扰(等效于驱动力因素施加的作用力干扰)和风机吸力变化引起的电流变化值的干扰(等效于驱动力因素施加的作用力干扰),完全是来自外部环境的行走面的摩擦力引起的结果,则减少所述目标工作吸力,防止因风机吸力增加而导致驱动轮不能在当前遍历的行走面上转动;如果计算出的所述机器人的当前相对行走阻力电流值小于预设相对值或数值0时,机器人在当前遍历的行走面上受到的外部阻力相对于上一次遍历过的行走面受到的外部阻力减小,则增加所述目标工作吸力,防止驱动轮在当前遍历的行走面打滑。其中,预设相对值可以根据机器人在先后行走过的不同摩擦力的两个行走面上正常工作时第二PWM值来设置。机器人正常工作为机器人工作时不会出现风机吸力过大导致驱动轮转不动的情况或者风机吸力过小导致驱动轮打滑的情况,也不会出现因为驱动电机输出的扭力变化导致驱动轮转不动或打滑的问题。首先将机器人放置在摩擦力较小的材质上,上下调整第二PWM值,使得机器人利用前述闭环调节出的风机吸力后能正常工作。然后将机器人放置在摩擦力较大的材质上,微调第二PWM值,使得机器人利用前述闭环调节出的风机吸力后能正常工作;然后在不同摩擦力的表面去验证是否根据当前的第二PWM值都使机器人正常工作,是则将按照前述步骤S1和步骤S2计算出的当前相对行走阻力电流值设置为预设相对值;对于第二PWM值的调节可以通过气压闭环反馈调节装置来改变所述第二预设目标PWM值,进而改变第二PWM值,或直接改变第二PWM值。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
上述实施例只为说明本发明的技术构思及特点,其目的是让熟悉该技术领域的技术人员能够了解本发明的内容并据以实施,并不能以此来限制本发明的保护范围。凡根据本发明精神实质所作出的等同变换或修饰,都应涵盖在本发明的保护范围之内。

Claims (12)

1.基于相对行走阻力电流值的机器人碰撞检测方法,机器人的两侧安装驱动轮,机器人的内部安装有与驱动轮电性连接的驱动电机;机器人还安装有风机,用于对机器人的行走面产生吸力;其特征在于,机器人碰撞检测方法包括:
机器人对用于控制驱动电机的PWM值进行闭环调节,并确定在闭环调节过程中得到第一PWM值;机器人对作用于风机的PWM值进行闭环调节,并确定在闭环调节过程中得到第二PWM值;在将第一PWM值传输给驱动电机后,机器人采样驱动电机输出的电流信号,获得驱动轮电流采样值;
基于驱动轮电流采样值、第一PWM值以及第二PWM值,计算出机器人的当前相对行走阻力电流值,再基于机器人的当前相对行走阻力电流值与预设碰撞电流阈值的关系,检测机器人当前是否发生碰撞。
2.根据权利要求1所述机器人碰撞检测方法,其特征在于,所述基于机器人的当前相对行走阻力电流值与预设碰撞电流阈值的关系,检测机器人当前是否发生碰撞的方法包括:
当机器人的当前相对行走阻力电流值大于预设碰撞电流阈值时,机器人当前在行走面上发生碰撞;当机器人的当前相对行走阻力电流值小于或等于预设碰撞电流阈值时,机器人当前没有发生碰撞;
其中,预设碰撞电流阈值适用于同一类型机器人在不同介质的行走面上检测是否发生碰撞。
3.根据权利要求2所述机器人碰撞检测方法,其特征在于,当机器人的当前相对行走阻力电流值大于预设碰撞电流阈值时,机器人与其相碰撞的障碍物是位于同一介质的行走面上,然后机器人改变当前行走方向以避免撞开该障碍物或行走至其它介质的行走面。
4.根据权利要求2所述机器人碰撞检测方法,其特征在于,机器人的当前相对行走阻力电流值是机器人在预设采样时间之后计算出的当前行走阻力电流值与预设采样时间内计算出的基准行走阻力电流值的差值;
在所述预设采样时间内,机器人已经启动行走且不处于静止状态。
5.根据权利要求4所述机器人碰撞检测方法,其特征在于,从机器人在行走面开始行走后,在所述预设采样时间内,控制驱动轮电流采样值对应的基准电量变化值依次减去第一PWM值对应的基准电量变化值、以及第二PWM值对应的基准电量变化值,确定预设采样时间内计算出的基准行走阻力电流值;其中,在所述预设采样时间内,驱动电机的转速与用于控制驱动电机的第一PWM值成线性关系;
机器人行走过所述预设采样时间后,控制驱动轮电流采样值依次减去第一PWM值所引发的电量变化值、以及第二PWM值所引发的电量变化值,确定机器人在预设采样时间之后计算出的当前行走阻力电流值。
6.根据权利要求5所述机器人碰撞检测方法,其特征在于,所述基于驱动轮电流采样值、第一PWM值以及第二PWM值,计算出机器人的当前相对行走阻力电流值的方法包括:
机器人从静止开始启动,直至机器人开始行走以克服静摩擦力;然后,在预设采样时间内,机器人基于所有获得的第一PWM值计算出第一基准PWM值,并基于所有获得的第二PWM值计算出第二基准PWM值,并基于所有获得的驱动轮电流采样值计算出驱动轮基准电流值;再将第一基准PWM值与第一转换系数的乘积标记为所述第一PWM值对应的基准电量变化值,并将第二基准PWM值与第二转换系数的乘积标记为所述第二PWM值对应的基准电量变化值,并将驱动轮基准电流值标记为驱动轮电流采样值对应的基准电量变化值,再控制当前标记出的驱动轮电流采样值对应的基准电量变化值依次减去当前标记出的第一PWM值对应的基准电量变化值、以及当前标记出的第二PWM值对应的基准电量变化值,再将相减的结果设置为预设采样时间内计算出的基准行走阻力电流值;
经过所述预设采样时间后,机器人将实时获得的第一PWM值标记为第一待测PWM值,并将实时获得的第二PWM值标记为第二待测PWM值;再将第一待测PWM值与第一转换系数的乘积标记为所述第一PWM值所引发的电量变化值,并将第二待测PWM值与第二转换系数的乘积标记为所述第二PWM值所引发的电量变化值;再控制实时获得的驱动轮电流采样值依次减去当前标记出的第一PWM值所引发的电量变化值、以及当前标记出的第二PWM值所引发的电量变化值,再将相减的结果设置为在预设采样时间之后计算出的当前行走阻力电流值;
然后控制在预设采样时间之后计算出的当前行走阻力电流值减去预设采样时间内计算出的基准行走阻力电流值,再将相减的结果设置为机器人的当前相对行走阻力电流值,以反映机器人在所述预设采样时间内外行走过的行走面之间所承受的外部阻力差异。
7.根据权利要求2所述机器人碰撞检测方法,其特征在于,所述基于驱动轮电流采样值、第一PWM值以及第二PWM值,计算出机器人的当前相对行走阻力电流值的方法包括:
机器人从静止开始启动,直至机器人开始行走以克服静摩擦力;然后在预设采样时间内,机器人基于所有获得的第一PWM值计算出第一基准PWM值,并基于所有获得的第二PWM值计算出第二基准PWM值,并基于所有获得的驱动轮电流采样值计算出驱动轮基准电流值;其中,在所述预设采样时间内,驱动电机的转速与用于控制驱动电机的第一PWM值成线性关系;
经过所述预设采样时间后,机器人将实时获得的第一PWM值标记为第一待测PWM值,并将实时获得的第二PWM值标记为第二待测PWM值,并将实时获得的驱动轮电流采样值与驱动轮基准电流值的差值标记为驱动轮电流采样值的相对电量变化值,并将第一待测PWM值与第一基准PWM值的差值与第一转换系数的乘积标记为第一PWM值对应的相对电量变化值,并将第二待测PWM值与第二基准PWM值的差值与第二转换系数的乘积标记为第二PWM值对应的相对电量变化值;
然后,控制驱动轮电流采样值的相对电量变化值减去第一PWM值对应的相对电量变化值,获得第一差值;再将第一差值减去第二PWM值对应的相对电量变化值,获得第二差值;再将第二差值标记为所述机器人的当前相对行走阻力电流值。
8.根据权利要求6或7所述机器人碰撞检测方法,其特征在于,在所述预设采样时间内,基于所有获得的第一PWM值计算出第一基准PWM值的方法包括:对所述预设采样时间内所有获得的第一PWM值求平均值,获得第一基准PWM值;或者,从所述预设采样时间内所有获得的第一PWM值当中,筛选出数值最大的第一PWM值,确定第一基准PWM值;
在所述预设采样时间内,基于所有获得的第二PWM值计算出第二基准PWM值的方法包括:对所述预设采样时间内所有获得的第二PWM值求平均值,获得第二基准PWM值;或者,从所述预设采样时间内所有获得的第二PWM值当中,筛选出数值最大的第二PWM值,确定第二基准PWM值;
在所述预设采样时间内,基于所有获得的驱动轮电流采样值计算出驱动轮基准电流值的方法包括:对所述预设采样时间内所有获得的驱动轮电流采样值求平均值,获得驱动轮基准电流值;或者,从所述预设采样时间内所有获得的驱动轮电流采样值当中,筛选出数值最大的驱动轮电流采样值,确定驱动轮基准电流值;
其中,第一PWM值用于控制驱动电机的输出扭矩变化,以反馈形成驱动轮电流采样值当中的一种电量变化值;第二PWM值用于控制风机产生的风机吸力变化,以反馈形成驱动轮电流采样值当中的另一种电量变化值。
9.根据权利要求2所述机器人碰撞检测方法,其特征在于,在机器人的当前相对行走阻力电流值大于预设碰撞电流阈值的前提下,若计算出的当前相对行走阻力电流值越大,则确定机器人碰撞到的障碍物在行走面上所承受的静摩擦力越大;障碍物所承受的静摩擦力随着所在的行走面的介质的变化而变化;
在机器人的当前相对行走阻力电流值小于或等于预设碰撞电流阈值的前提下,机器人在行走过程中,计算出的当前相对行走阻力电流值变化,机器人所接触的行走面的介质类型发生变化。
10.根据权利要求8所述机器人碰撞检测方法,其特征在于,机器人在所述预设采样时间内行走过的行走面的介质与所述预设起点位置处的介质是相同时,机器人的当前相对行走阻力电流值用于表示机器人在当前行走面处行走所承受的外部阻力与机器人在预设起点位置处相接触的行走面所承受的外部阻力的差值对应的电量值;其中,机器人在所述预设采样时间内保持行走在同一介质的行走面上;
或者,机器人在所述预设采样时间内行走过的行走面的介质与所述预设起点位置处的介质是不相同时,机器人的当前相对行走阻力电流值用于表示机器人在当前行走面处行走所承受的外部阻力与机器人在所述预设采样时间内行走过的行走面中所承受的外部阻力的差值对应的电量值;
其中,预设起点位置是机器人从静止开始启动后,开始行走的起点位置。
11.根据权利要求1所述机器人碰撞检测方法,其特征在于,所述对用于控制驱动电机的PWM值进行闭环调节的方法包括:
机器人实时测得的航向角度与目标导航角度在当前调节周期内的角度差值的绝对值不处于预设角度误差范围的情况下,对于机器人每侧安装的驱动轮对应连接的驱动电机,机器人对用于控制驱动电机的PWM值进行PID调节,在对用于控制驱动电机的PWM值进行PID调节的过程中,将用于控制驱动电机的PWM值与第一预设目标PWM值在当前调节周期内的差值作为下一调节周期的反馈输入,以缩小用于控制驱动电机的PWM值与第一预设目标PWM值的差值,并将用于控制驱动电机的PWM值设置为第一PWM值,再将所述第一PWM值实时输入对应侧的驱动电机以获得该侧驱动电机输出的驱动轮电流采样值,其中,驱动电机的实时转速与第一PWM值成正相关关系;
对于机器人每侧安装的驱动轮对应连接的驱动电机,当用于控制对应侧的驱动电机的PWM值与第一预设目标PWM值小于对应的预设驱动轮稳态误差时,机器人基于两侧驱动电机的实时转速的差值,进行行走方向的调整,以引导机器人的航向角与目标导航角的角度差值的绝对值处于预设角度误差范围内;其中,机器人的航向角与目标导航角的角度差值的绝对值与机器人两侧安装的驱动轮对应连接的驱动电机的实时转速的差值的绝对值成正相关关系;
其中,机器人的航向角是由机器人内置的陀螺仪实时测得;机器人的左右两侧安装的驱动轮各连接一个驱动电机。
12.根据权利要求1所述机器人碰撞检测方法,其特征在于,所述对作用于风机的PWM值进行闭环调节的方法包括:
机器人实时测得的风机吸力与目标工作吸力在当前调节周期内的气压差值的绝对值不处于预设气压误差范围时,机器人控制气压闭环反馈调节装置来对作用于风机的PWM值进行PID调节;在对作用于风机的PWM值进行PID调节的过程中,机器人将作用于风机的PWM值与第二预设目标PWM值在当前调节周期内的差值配置为下一调节周期的反馈输入,以缩小作用于风机的PWM值与第二预设目标PWM值的差值,并将作用于风机的PWM值设置为所述第二PWM值,再将所述第二PWM值输入风机以产生风机吸力;其中,风机吸力与第二PWM值成正相关关系;
当作用于风机的PWM值与第二预设目标PWM值的差值小于预设风机稳态误差时,机器人实时测得的风机吸力与目标工作吸力的气压差值的绝对值处于预设气压误差范围值内;
其中,机器人的风机的进风口处设置气压传感器,用于实时监测风机吸力。
CN202211344135.0A 2022-10-31 2022-10-31 基于相对行走阻力电流值的机器人碰撞检测方法 Pending CN115648287A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211344135.0A CN115648287A (zh) 2022-10-31 2022-10-31 基于相对行走阻力电流值的机器人碰撞检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211344135.0A CN115648287A (zh) 2022-10-31 2022-10-31 基于相对行走阻力电流值的机器人碰撞检测方法

Publications (1)

Publication Number Publication Date
CN115648287A true CN115648287A (zh) 2023-01-31

Family

ID=84993591

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211344135.0A Pending CN115648287A (zh) 2022-10-31 2022-10-31 基于相对行走阻力电流值的机器人碰撞检测方法

Country Status (1)

Country Link
CN (1) CN115648287A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117192618A (zh) * 2023-09-11 2023-12-08 杭州闪充聚能新能源有限公司 一种运动机构的障碍物检测方法及避障控制方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117192618A (zh) * 2023-09-11 2023-12-08 杭州闪充聚能新能源有限公司 一种运动机构的障碍物检测方法及避障控制方法

Similar Documents

Publication Publication Date Title
EP3682784B1 (en) Method for detecting skidding of robot, mapping method and chip
CN110680243B (zh) 一种扫地机器人沿墙清扫控制算法
US11148291B2 (en) Anti-collision detection method for sweeping robots
KR102502219B1 (ko) 로봇 운동시 카펫으로 인한 드리프트 제어방법, 칩 및 청소 로봇
KR101338143B1 (ko) 이동 로봇의 슬립 감지 장치 및 방법
KR101688360B1 (ko) 서보 제어 장치
US7706921B2 (en) Moving distance sensing apparatus for robot cleaner and method therefor
JP4538642B2 (ja) スリップ率推定装置およびスリップ率制御装置
KR102489196B1 (ko) 조향 모델에 기반한 모델 기반 진단
KR960000422A (ko) 로보트의 주행제어장치 및 그 방법
JP2001022443A (ja) 自律走行作業車
CN115648287A (zh) 基于相对行走阻力电流值的机器人碰撞检测方法
CN111487969B (zh) 机器人以非平行方式沿边行走的异常检测方法和处理方法
CN115656607A (zh) 机器人检测行走阻力电流值的方法
CN115624298A (zh) 机器人调整风机吸力的方法
CN115599101A (zh) 机器人检测行走距离的方法及移动机器人
US9768721B2 (en) Mobile body and mobile body system
KR100619750B1 (ko) 로봇청소기의 위치오차 보정장치 및 방법
KR101789776B1 (ko) 주행로봇의 진행각 추정을 위한 바이어스 보정 장치 및 방법
CN111474931B (zh) 一种机器人沿直边行走的异常检测方法及脱卡的处理方法
JP2005301649A (ja) 搬送台車の制御装置及び制御方法
KR100690653B1 (ko) 로봇청소기의 자이로 스코프 보정방법
JPH06119038A (ja) 自走ロボット
CN116360332A (zh) 一种电动轮椅恒速控制系统及其方法
CN117382602A (zh) 无人洗地车控制方法、装置以及设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination