CN111387892B - 机器人行进方法、非易失性计算机可读存储介质及机器人 - Google Patents

机器人行进方法、非易失性计算机可读存储介质及机器人 Download PDF

Info

Publication number
CN111387892B
CN111387892B CN202010172108.4A CN202010172108A CN111387892B CN 111387892 B CN111387892 B CN 111387892B CN 202010172108 A CN202010172108 A CN 202010172108A CN 111387892 B CN111387892 B CN 111387892B
Authority
CN
China
Prior art keywords
robot
speed
angle
determining
straight line
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.)
Active
Application number
CN202010172108.4A
Other languages
English (en)
Other versions
CN111387892A (zh
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.)
Shenzhen Silver Star Intelligent Group Co Ltd
Original Assignee
Shenzhen Silver Star Intelligent Technology 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 Shenzhen Silver Star Intelligent Technology Co Ltd filed Critical Shenzhen Silver Star Intelligent Technology Co Ltd
Priority to CN202010172108.4A priority Critical patent/CN111387892B/zh
Publication of CN111387892A publication Critical patent/CN111387892A/zh
Application granted granted Critical
Publication of CN111387892B publication Critical patent/CN111387892B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L11/00Machines for cleaning floors, carpets, furniture, walls, or wall coverings
    • A47L11/40Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
    • A47L11/4061Steering means; Means for avoiding obstacles; Details related to the place where the driver is accommodated
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0223Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving speed control of the vehicle
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • G05D1/0285Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using signals transmitted via a public communication network, e.g. GSM network
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L2201/00Robotic cleaning machines, i.e. with automatic control of the travelling movement or the cleaning operation
    • A47L2201/04Automatic control of the travelling movement; Automatic obstacle detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

本发明涉及机器人技术领域,涉及一种机器人行进方法、非易失性计算机可读存储介质及机器人。所述方法包括:确定所述机器人直线行走时相对于基准直线的偏移距离,并根据所述偏移距离确定角度偏移量;至少部分基于所述角度偏移量确定目标角度,并根据所述目标角度确定角度纠正量;至少部分基于所述角度纠正量确定所述机器人的行进速度,以使所述机器人继续在所述基准直线上作直线运动。即使机器人在地毯上出现打滑现象而偏离了原先规划的基准直线,但是,通过本方法,也可以使得机器人继续在基准直线上作直线运动,因此,机器人能够按照原先规划的直线路径实施相应的工作,相对地提高机器人的工作效率。

Description

机器人行进方法、非易失性计算机可读存储介质及机器人
技术领域
本发明涉及机器人技术领域,涉及一种机器人行进方法、非易失性计算机可读存储介质及机器人。
背景技术
随着机器人技术的发展,各类机器人可被配置对应业务逻辑,以便在相应的业务场景中执行业务功能,例如,机器人被配置成在地面上按照原先规划的直线路径作直线运动,以便完成相应的工作。
一般的,机器人依靠驱动轮与地面之间的摩擦力在地面上作直线运动,当地面铺设诸如地毯等等地面铺敷物时,机器人容易在地面铺敷物上打滑,导致机器人未能够按照原先规划的直线路径实施相应的工作,极大影响工作效率。
发明内容
本发明实施例的一个目的旨在提供一种机器人行进方法、非易失性计算机可读存储介质及机器人,其能够提高机器人的工作效率。
在第一方面,本发明实施例提供一种机器人行进方法,包括:
确定所述机器人直线行走时相对基准直线的偏移距离,并根据所述偏移距离确定角度偏移量;
至少部分基于所述角度偏移量确定目标角度,并根据所述目标角度确定角度纠正量;
至少部分基于所述角度纠正量确定所述机器人的行进速度,以使所述机器人继续在所述基准直线上作直线运动。
在第二方面,本发明实施例提供一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使机器人执行上述机器人行进方法。
在第三方面,本发明实施例提供一种机器人,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述机器人行进方法。
在第四方面,本发明实施例提供一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被机器人执行时,使机器人执行上述机器人行进方法。
相对于传统技术,在本发明各个实施例提供的机器人行进方法中,首先,确定机器人直线行走时相对于基准直线的偏移距离,并根据偏移距离,计算角度偏移量。再次,至少部分基于角度偏移量确定目标角度,并根据目标角度确定角度纠正量。最后,至少部分基于角度纠正量确定机器人的行进速度,以使机器人继续在基准直线上作直线运动。因此,即使机器人地毯上出现打滑现象而偏离了原先规划的基准直线,也可以使得机器人继续在基准直线上作直线运动,故机器人能够按照原先规划的直线路径实施相应的工作,相对地提高机器人的工作效率。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是本发明实施例提供的一种机器人的电路结构示意图;
图2是本发明实施例提供的一种机器人与外部终端通讯的架构示意图;
图3a是本发明实施例提供的机器人所在的空间被配置全局坐标系下的坐标系示意图;
图3b是本发明实施例提供的机器人在空间作直线运动的示意图;
图4是本发明实施例提供的一种机器人行进方法的流程示意图;
图5是图4中S53的流程示意图;
图6是本发明实施例提供的机器人采用本方法作直线运动的遍历效果图;
图7是本发明实施例提供的一种机器人行进装置的结构示意图;
图8是本发明实施例提供的一种电子设备的电路结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,如果不冲突,本发明实施例中的各个特征可以相互结合,均在本发明的保护范围之内。另外,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。再者,本发明所采用的“第一”、“第二”、“第三”等字样并不对数据和执行次序进行限定,仅是对功能和作用基本相同的相同项或相似项进行区分。
本发明实施例的机器人可以被构造成任何合适形状,以便实现特定业务功能操作,例如,在一些实施例中,本发明机器人包括且不限于清洁机器人、宠物机器人、搬运机器人以及看护机器人等等,其中,清洁机器人包括且不限于扫地机器人、吸尘机器人、拖地机器人以及洗地机器人等等。
请参阅图1,在一些实施例中,机器人100包括:控制单元11、传感单元12、无线通信单元13、清洁单元14以及驱动单元15。
控制单元11作为机器人100的控制核心,可以采用多种路径规划算法控制机器人实施遍历工作,例如,控制单元11采用全覆盖路径规划算法指示机器人完全遍历一个环境空间。全覆盖路径规划算法指机器人在获取的环境信息以及建图后对路径进行规划以达到遍历环境空间算法。
在一些实施例中,控制单元11可以为通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、单片机、ARM(Acorn RISC Machine)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。还有,控制单元11还可以是任何传统处理器、控制器、微控制器或状态机。控制单元11也可以被实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器结合DSP和/或任何其它这种配置。
在一些实施例中,传感单元12用于采集机器人100的一些运动参数及环境空间各类数据,传感单元12包括各类合适传感器,诸如陀螺仪、里程计、磁场计、加速度计或速度计、光学摄像头、激光雷达或者超声波雷达等等。
在一些实施例中,控制单元11采用SLAM(simultaneous localization andmapping,即时定位与建图技术)技术,根据环境数据构建地图和定位。控制单元11基于被建立好的地图以及机器人的位置,通过全覆盖路径规划算法指示机器人完全遍历一个环境空间。例如,在机器人100遍历时,传感单元12获取遍历区域的信息,其中,该遍历区域的信息可以为整片遍历区域的信息,亦可以为整片遍历区域中局部遍历区域的信息。控制单元11根据遍历区域的信息生成地图,该地图已指示机器人100需要遍历的区域以及位于遍历区域中的障碍物所在的坐标位置。当机器人100每遍历完一个位置或区域后,机器人100基于该地图,标记该位置或区域已被遍历。并且,由于障碍物在地图中是以坐标方式被标记,机器人遍历时,可以根据当前位置对应的坐标点与障碍物涉及的坐标点,判断与障碍物之间的距离,从而实现环绕障碍物作遍历工作。同理,位置或区域已遍历而被标记后,当机器人100下一个位置将会移动至该位置或该区域时,机器人100基于该地图以及该位置或该区域的标记,作出转弯调头或者停止遍历的策略。
可以理解的是,控制单元11还可以根据多种方式识别已遍历位置或区域,或者,识别障碍物,从而作出满足产品需求的控制策略。
请参阅图2,在一些实施例中,机器人100通过无线通信单元13与外部终端200无线通信,无线通信单元13与控制单元11电连接。遍历时,用户通过外部终端200向机器人100发送控制指令,无线通信单元13接收控制指令并向控制单元11发送该控制指令,控制单元11根据该控制指令控制机器人100完成遍历工作。
在一些实施例中,外部终端200包括且不限于智能手机、遥控器、智能平板等等终端。
在一些实施例中,无线通信单元13包括广播接收模块、移动通信模块、无线互联网模块、短距离通信模块和定位信息模块的其中一种或多种的组合。其中,广播接收模块经由广播信道从外部广播管理服务器接收广播信号和/或广播相关信息。广播接收模块可以使用数字广播系统来接收数字广播信号,数字广播系统诸如为地面数字多媒体广播(DMB-T)、卫星数字多媒体广播(DMB-S)、仅媒体前向链路(MediaFLO)、手持数字视频广播(DVB-H)或地面综合业务数字广播(ISDB-T)。移动通信模块向移动通信网络上的基站、外部终端和服务器中的至少一方发送无线信号,或者可以从基站、外部终端和服务器中的至少一方接收无线信号。这里,根据字符/多媒体消息的接收和发送,无线信号可以包括语音呼叫信号、视频呼叫信号或各种形式的数据。无线互联网模块指的是用于无线互联网连接的模块,并且可以内置或外置于终端。可以使用诸如无线LAN(WLAN)(Wi-Fi)、无线宽带(Wibro)、全球微波接入互操作性(Wimax)、高速下行分组接入(HSDPA)这样的无线互联网技术。短距离通信模块指的是用于进行短距离通信的模块。可以使用诸如蓝牙(Bluetooth)、射频识别(RFID)、红外数据协会(IrDA)、超宽带(UWB)或ZigBee这样的短距离通信技术。
清洁单元14用于清洁地面,清洁单元14可被配置成任意清洁结构,例如,在一些实施例中,清洁单元14包括清洁电机及辊刷,辊刷的表面设置有清洁部,辊刷通过驱动机构与清洁电机连接,清洁电机与控制单元连接,控制单元可以向清洁电机发送指令,控制清洁电机驱动辊刷转动,使得其清洁部能够有效地清洁地面。
驱动单元15用于驱动机器人100行进或后退,清洁时,控制单元11向驱动单元15发送控制指令,驱动单元15根据控制指令带动清洁单元14完成清洁工作。
在一些实施例中,驱动单元15分为左驱动单元和右驱动单元。以左驱动单元为例,其包括电机、轮驱动机构、左轮,电机的转轴与轮驱动机构连接,左轮与轮驱动机构连接,电机与控制单元连接,电机接收控制单元发送的控制指令而转动其转轴,并通过轮驱动机构将扭矩传输至左轮,实现左轮的转动;同时结合右驱动单元,从而驱动机器人100行进或后退。
在一些实施例中,当机器人100构建完地图后,机器人100根据地图规划遍历路径,并根据遍历路径实施清洁工作。
请一并参阅图3a及图3b,在本实施例中,机器人100构建空间300的地图,并且为所述空间300配置全局坐标系x0y。在空间300内,机器人100根据地图规划若干条直线路径,每条规划的直线路径皆可作为基准直线,机器人100在基准直线上作直线运动,以实施清洁工作。
在全局坐标系下,机器人的实时坐标和朝向角度可表示为p(x,y,θ),并且,机器人在基准直线上作直线运动而不出现偏移时,一般而言,机器人的朝向角度存在4种,分别为向上(0°)、向下(180°)、向左(90°)、向右(270°)朝向角度,亦即,基准直线的基准朝向角度存在4种,分别为0°、180°、90°、270°朝向角度。
可以理解的是,基准朝向角度(初始角度)为机器人在基准直线作直线运动时的基准朝向与全局坐标系X轴正方向的夹角,例如,在基准直线上朝向全局坐标系X轴正方向(向上)作直线运动的基准朝向角度为0度。在基准直线上朝向全局坐标系X轴负方向(向下)作直线运动的基准朝向角度为180度。在基准直线上朝向全局坐标系Y轴正方向(向左)作直线运动的基准朝向角度为90度。在基准直线上朝向全局坐标系Y轴负方向(向右)作直线运动的基准朝向角度为270度。
举例而言,请参阅图3a,机器人在第一基准直线L1上朝向全局坐标系X轴正方向作直线运动时,其基准朝向角度为0度。机器人在第二基准直线L2上朝向全局坐标系Y轴正方向作直线运动时,其基准朝向角度为90度。机器人在第三基准直线L3上朝向全局坐标系X轴负方向作直线运动时,其基准朝向角度为180度。机器人在第四基准直线L4上朝向全局坐标系Y轴负方向作直线运动时,其基准朝向角度为270度。
在全局坐标系下,令机器人在基准直线上作直线运动时,其起点位置及朝向角度为:Pstart(xstart,ystartstart),终点位置及朝向角度为:Pend(xend,yendend)。
请继续参阅图3a,机器人在第一基准直线L1作直线运动时,其可以由起点位置P1start(xstart,ystart,0°)到终点位置P1end(xend,yend,0°),其中,第一基准直线L1的基准朝向角度为0度。同理可得,机器人在第三基准直线L3作直线运动时,其可以由起点位置P2start(xstart,ystart,180°)到终点位置P2end(xend,yend,180°),其中,第三基准直线L3的基准朝向角度为180度。
可以理解的是,当机器人在基准朝向角度为0°或180°的基准直线作直线运动时,ytarget=ystart=yend,θtarget=θend=0°或者180°。同理可得,当机器人在基准朝向角度为90°或270°的基准直线作直线运动时,xtarget=xstart=xend,θtarget=θend=90°或者270°。
其中,ytarget为基准直线在全局坐标系下的横坐标值,xtarget为基准直线在全局坐标系下的纵坐标值,θtarget为基准直线在全局坐标系下的当前朝向角度。
请参阅图3b,图中示意的轨迹仅供参考。机器人100被配置成在基准直线31上作直线向上运动,其中,基准直线31的初始角度(基准朝向角度)为0度。
在t1时刻,机器人100的初始角度为0度。由于机器人100在地面打滑,偏离了基准直线31一定距离,于是,在t2时刻,机器人100到基准直线31的垂直距离为偏移距离Δd1;接着,在t3时刻,机器人100采用下文所阐述的方法,重新回归到基准直线31上作直线运动,此时,机器人的当前朝向与基准朝向重合,并且,机器人的当前位置在基准直线上;在t4时刻,机器人100继续在基准直线31上作直线运动,以完成清洁工作,最后执行的效果图如图6所示。
同理地,机器人100被配置成在基准直线32上作直线向下运动,其中,基准直线32的基准朝向角度为180度。
在t5时刻,机器人100的当前朝向角度为180度;在t6时刻,由于机器人100在地面打滑,机器人100的当前朝向并不与基准朝向重合,可以理解的是,机器人100到基准直线32的垂直距离为0,亦即偏移距离为0;在t7时刻,机器人100采用下文所阐述的方法,使机器人的当前朝向与基准朝向重合,并且,机器人的当前位置在基准直线上;在t8时刻,机器人100继续在基准直线32上作直线运动,以完成清洁工作。
请参阅图4,本发明实施例提供一种机器人行进方法,机器人行进方法S500包括:
S51、确定机器人直线行走时相对于基准直线的偏移距离,并根据偏移距离确定角度偏移量;
在一些实施例中,基准直线为机器人根据预构建的地图,规划出的直线路径。机器人可在基准直线上作直线运动,以便完成相应工作。然而,如前所述,当机器人在基准直线上作直线运动的过程中,在地面出现了打滑现象,于是,机器人便偏离基准直线而不在基准直线上。
偏移距离为机器人到基准直线的垂直距离,可以理解的是,当机器人持续在基准直线上作直线运动时,机器人到基准直线的垂直距离为0,亦即,偏移距离可以为0。当机器人偏移基准直线后,不在基准直线时,机器人到基准直线的垂直距离大于0。
在一些实施例中,如前所述,机器人所处的空间被配置有全局坐标系,确定机器人相对基准直线的偏移距离时,首先,机器人确定基准直线在全局坐标系下的基准坐标值,获取机器人在全局坐标系下的当前坐标值,使用当前坐标值减去基准坐标值,得到机器人相对基准直线的偏移距离。
举例而言,机器人在基准朝向角度为0°或180°的基准直线上作直线运动时,偏移距离△d=y-ytarget,其中,机器人的实时坐标和朝向角度表示为p(x,y,θ),ytarget为机器人当前作直线运动的基准直线的横坐标。
同理可得,机器人在基准朝向角度为90°或270°的基准直线上作直线运动时,偏移距离△d=x-xtarget,其中,机器人的实时坐标和朝向角度表示为p(x,y,θ),xtarget为机器人当前作直线运动的基准直线的纵坐标。
可以理解的是,当机器人未偏离基准直线时,偏移距离△d为0。当机器人偏离基准直线时,偏移距离△d不为0。
可以理解的是,机器人在空间的当前位置以及在全局坐标系下的坐标值皆可以由SLAM技术所得到。
其中,根据偏移距离确定角度偏移量,具体参见如下描述。
在本实施例中,机器人以偏移距离为自变量,角度偏移量为因变量进行计算。当机器人偏离基准直线,机器人可以根据偏移距离确定需要调整的角度偏移量,以便机器人在调整自身位置回归到基准直线后,机器人的当前朝向角度与基准朝向角度重合,进而使得机器人能够可靠稳定地在基准直线上作直线运动。
可以理解的是,本领域技术人员可以根据任意合适算法,结合偏移距离,计算出机器人的角度偏移量。本实施例中,机器人使用第一可调系数乘以偏移距离,得到第一当前误差值;使用第一PID算法处理第一当前误差值,得到角度偏移量。即机器人根据以下等式计算角度偏移量:
e(k)=Δd(k)*M;
Figure BDA0002409546580000091
其中,e(k)为第一当前误差值,即第k时刻的误差值,△d(k)为第k时刻的偏移距离,M为第一可调系数,优选为但不限于100。△θd(k)为第k时刻的角度偏移量。kp为比例系数,ki为积分系数,kd为微分系数,可由本领域技术人员根据实际情况进行调试得到。
可以理解的是,各类系数可由用户根据业务需求自定义,在此不会其作任何限制。
为了使得后续调节机器人的行进速度时更加可靠与稳定,在本实施例中,当使用第一PID算法计算出角度偏移量△θd后,机器人根据以下公式进行处理:
|△θd|≤A,其中,A为第一阈值,判断角度偏移量△θd的绝对值是否小于或等于第一阈值A,若否,丢弃计算得到的角度偏移量△θd,并将第一阈值A作为最终的角度偏移量△θd的绝对值。若是,则将计算得到的角度偏移量△θd作为最终的角度偏移量。
本实施例中,第一阈值A优选为但不限于10°,机器人判断角度偏移量的绝对值|△θd|是否小于或等于10°,若是则将△θd作为最终的角度偏移量。若否,丢弃计算得到的角度偏移量△θd,并将10°作为最终的角度偏移量△θd,后续将最终的角度偏移量△θd=10°参与行进速度的计算过程。
S52、至少部分基于角度偏移量确定目标角度,并根据目标角度确定角度纠正量。
在本实施例中,S52具体包括:
首先,在全局坐标系下,确定机器人偏移前沿基准直线作直线运动时的初始角度(基准朝向角度)。其次,机器人根据角度偏移量、初始角度得到目标角度,具体为如下:
当初始角度为0度或270度时,即机器人直线向上或直线向右行走时,使用初始角度减去角度偏移量,得到目标角度,公式如下:
θtarget2=θtarget-△θd,其中,θtarget2为目标角度,θtarget为初始角度,即0°或270°;
当初始角度为90度或180度时,机器人直线向下或直线向左行走时,使用初始角度相加角度偏移量,得到目标角度,公式如下:
θtarget2=θtarget+△θd,其中,θtarget2为目标角度,θtarget为初始角度,即为90°或180°。
接着,确定机器人偏移后在当前位置的实际角度(当前朝向角度),机器人再使用目标角度减去实际角度,得到角度纠正量,公式如下:
△θ=θtarget2–θ,△θ为角度纠正量,θ为实际角度(当前朝向角度)。
S53、至少部分基于角度纠正量确定机器人的行进速度,以使机器人继续在基准直线上作直线运动。
在本实施例中,行进速度为矢量速度,机器人调节行进速度时,既可以调节速度大小,又可以调节速度方向,最终使得机器人继续在基准直线上作直线运动,例如,机器人在地面出现打滑现象,偏离了基准直线,于是,机器人根据角度纠正量调节行进速度,使得机器人最终回归至基准直线继续作直线运动,此时,机器人不仅在基准直线上,而且机器人的当前朝向角度与基准朝向角度重合。再例如,机器人在地面出现打滑现象,机器人的当前朝向角度与基准朝向角度未能够重合,但是机器人的当前位置仍在基准直线上,于是,机器人根据角度偏移量调节行进速度,使得机器人的当前朝向角度与基准朝向角度重合。
总体而言,即使机器人在地面上出现打滑现象而偏离了原先规划的基准直线,但是,通过本方法,机器人通过调节行进速度,使得机器人继续在基准直线上作直线运动,因此,机器人能够按照原先规划的直线路径实施相应的工作,相对地提高机器人的工作效率。
请参阅图5,在本实施例中,步骤S53具体包括:
S531、根据角度纠正量,确定速度控制量;
S532、确定机器人的前进速度;
S533、根据速度控制量和前进速度,确定机器人的左轮速度和右轮速度。
在一些实施例中,速度控制量用于指示机器人调节行进速度,以使机器人稳定可靠地回归到基准直线上作直线运动,机器人可以采用任意合适算法,以角度纠正量为自变量,速度控制量为因变量进行计算。
在本实施例中,步骤S531具体包括:
使用第二可调系数乘以角度纠正量,得到第二当前误差值;
使用第二PID算法处理第二当前误差值,得到速度控制量,公式如下:
e(k)=△θ(k)*Q
Figure BDA0002409546580000121
其中,e(k)为第二当前误差值,即为第k时刻的误差值,△θ(k)为第k时刻的角度纠正量,Q为第二可调系数,优选但不限于Q=0.01。u(k)为第k时刻的速度控制量(△v)。Kp为比例系数,Ki为积分系数,Kd为微分系数,本领域技术人员可以根据实际情况进行调试得到。
可以理解的是,各类系数可由用户根据业务需求自定义,在此不会其作任何限制。
为了使得后续调节机器人的行进速度时更加可靠与稳定,在本实施例中,当使用第二PID算法计算出速度控制量后,判断速度控制量的绝对值是否小于或等于第二阈值。若否,丢弃速度控制量,并将该第二阈值作为最终速度控制量。若是,则将计算得到的速度控制量作为最终的速度控制量的绝对值。公式如下:
|△v|≤V,其中,△v为速度控制量,V为第二阈值,优选且不限于V=0.05m/s,即机器人判断速度控制量的绝对值|△v|是否小于或等于0.05m/s,若是,则将计算得到的速度控制量△v作为最终的速度控制量。若否,丢弃速度控制量△v,并将0.05m/s作为最终速度控制量,后续将最终速度控制量参与行进速度的计算过程。
在本实施例中,步骤S532具体包括:
一方面,机器人还判断角度纠正量△θ的绝对值是否大于可调角度系数B,若角度纠正量△θ大于可调角度系数B时,使用实际速度Vr减去可调速度系数Vk,得到前进速度Vb,而降低机器人的行进速度,公式如下:
若|△θ|>B,则Vb=Vr-Vk,于是,机器人便可以按照Vb作为降速后的机器人的前进速度,其中,实际速度Vr为当前速度,可调速度系数Vk优选且不限于为0.005m/s。
因此,采用此种方式,当角度纠正量△θ过大,其可以降低行进速度,避免进一步造成更大的角度纠正量△θ,使得机器人能够可靠稳定地回归到基准直线上作直线运动。
为了使得机器人能够进一步地可靠稳定地回归至到基准直线上作直线运动,在本实施例中,机器人将调整后的前进速度做限制:
判断前进速度Vb是否大于等于最小速度Vb_min,最小速度Vb_min为正值,若否,丢弃计算得到的前进速度Vb,并将最小速度Vb_min作为最终的前进速度Vb。优选地,最小速度Vb_min为0.05m/s,但不限于此。
另一方面,机器人还判断角度纠正量△θ的绝对值是否小于或等于可调角度系数B,若角度纠正量△θ小于或等于可调角度系数B时,使用实际速度Vr加上可调速度系数Vk,得到前进速度Vb,而提高机器人的行进速度,公式如下:
若|△θ|≤B,则Vb=Vr+Vk,于是,机器人便可以按照Vb作为加速后的机器人的前进速度,其中,实际速度Vr为当前速度,可调速度系数Vk优选且不限于为0.005m/s。
因此,采用此种方式,当角度纠正量△θ比较小或者不存在偏移时,其可以提高前进速度,使得机器人在基准直线上作快速地进行直线运动,以完成对应工作。
为了使得机器人能够进一步地可靠稳定地回归至到基准直线上作直线运动,在本实施例中,机器人将调整后的前进速度做限制:
判断前进速度Vb是否小于等于最大速度Vb_max,最小速度最大速度Vb_max为正值,若否,丢弃计算得到的前进速度Vb,并将最大速度Vb_max作为最终的前进速度Vb。优选地,最大速度Vb_max为0.27m/s,但不限于此。
在本实施例中,步骤S533具体包括:
首先,使用前进速度Vb减去速度控制量△v,得到左轮速度Vleft,公式如下:
Vleft=Vb-△v,且限制:0<Vleft≤Vmax,Vmax为正的速度值。Vmax优选为0.3m/s,但不限于此;
其次,使用前进速度Vb加上速度控制量△v,得到右轮速度Vright,公式如下:
Vright=Vb+△v,且限制:0<Vright≤Vmax,Vmax为正的速度值。Vmax优选为0.3m/s,但不限于此。
举例而言,当机器人偏离在基准朝向角度为0度的基准直线的左侧时,机器人计算出的△v为小于0的值,于是,机器人的左轮速度大于右轮速度,使得机器人能够快速地回归至到基准直线上作直线运动。
同理可得,当机器人偏离在基准朝向角度为0度的基准直线的右侧时,机器人计算出的△v为大于0的值,于是,机器人的左轮速度小于右轮速度,使得机器人能够快速地回归至到基准直线上作直线运动。
总体而言,为了更加深入理解本发明实施例,本发明实施例列举以下例子作为辅助介绍,可以理解的是,下述例子并不用于对本发明的保护范围造成任何不当限定,如下所示:
假设机器人在基准朝向角度(初始角度)为0度的基准直线作直线运动,由于机器人与地面打滑,于是,机器人偏离0度的基准直线并位于基准直线的右侧,其中,机器人到基准直线的偏移距离△d为-0.2米,实际角度(当前朝向角度)θ为5度。
机器人使用本发明上述实施例提供的方法,根据偏移距离计算出角度偏移量△θd=-12度。根据限制条件角度偏移量△θd的绝对值小于等于10度,于是,角度偏移量△θd取-10度。
接着,机器人计算目标角度θtarget2为初始角度θtarget减去角度偏移量△θd,即θtarget2=θtarget-△θd=0度-(-10度)=10度。
再接着,机器人使用目标角度θtarget2减去实际角度θ,得到目标角度纠正量△θ。亦即,△θ=θtarget2-θ=10度-5度=5度。
再接着,机器人计算速度控制量△v=0.1m/s。根据限制条件△v的绝对值小于等于第二阈值V=0.05m/s,因此△v取0.05m/s。
再接着,由于当前的实际速度Vr为0.25m/s,当△θ=5度时,由于|△θ|=度,大于B=2度,降低机器人的行进速度,亦即:Vb=Vr-Vk=0.25m/s-0.005m/s=0.245m/s,机器人按照Vb=0.245m/s作为前进速度,以便完成对应的工作。
最后,左轮速度Vleft=Vb-△v=0.245m/s-0.1m/s=0.145m/s,右轮速度Vright=Vb+△v=0.245m/s+0.1m/s=0.345m/s。
作为本发明实施例的另一方面,本发明实施例提供一种机器人行进装置。其中,机器人行进装置可以为软件模块,所述软件模块包括若干指令,其存储在电调中的存储器内,处理器可以访问该存储器,调用指令进行执行,以完成上述各个实施例所阐述的机器人行进方法。
在一些实施例中,机器人行进装置亦可以由硬件器件搭建成的,例如,机器人行进装置可以由一个或两个以上的芯片搭建而成,各个芯片可以互相协调工作,以完成上述各个实施例所阐述的机器人行进方法。再例如,机器人行进装置还可以由各类逻辑器件搭建而成,诸如由通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、单片机、ARM(Acorn RISC Machine)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合而搭建成。
请参阅图7,机器人行进装置700包括第一计算模块71、第二计算模块72及速度调节模块73。
其中,第一计算模块71用于确定机器人直线行走时相对基准直线的偏移距离,并根据偏移距离确定角度偏移量。
其中,第二计算模块72用于至少部分基于角度偏移量确定目标角度,并根据目标角度确定角度纠正量。
其中,速度调节模块73用于至少部分基于角度纠正量确定机器人的行进速度,以使机器人继续在基准直线上作直线运动。
因此,即使机器人地毯上出现打滑现象而偏离了原先规划的基准直线,也可以使得机器人继续在基准直线上作直线运动,故机器人能够按照原先规划的直线路径实施相应的工作,相对地提高机器人的工作效率。
图8是本发明实施例提供的一种电子设备的电路结构示意图。其中,电子设备可以为机器人等等任意合适电子产品。如图8所示,该电子设备包括一个或多个处理器81以及存储器82。其中,图8中以一个处理器81为例。
处理器81和存储器82可以通过总线或者其他方式连接,图8中以通过总线连接为例。
存储器82作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的机器人行进方法对应的程序指令/模块。处理器81通过运行存储在存储器82中的非易失性软件程序、指令以及模块,从而执行机器人行进装置的各种功能应用以及数据处理,即实现上述方法实施例提供的机器人行进方法以及上述装置实施例的各个模块或单元的功能。
存储器82可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器82可选包括相对于处理器81远程设置的存储器,这些远程存储器可以通过网络连接至处理器81。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述程序指令/模块存储在所述存储器82中,当被所述一个或者多个处理器81执行时,执行上述任意方法实施例中的机器人行进方法。
本发明实施例还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如图8中的一个处理器81,可使得上述一个或多个处理器可执行上述任意方法实施例中的机器人行进方法。
本发明实施例还提供了一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被电子设备执行时,使所述电子设备执行任一项所述的机器人行进方法。
因此,即使机器人在地面上出现打滑现象而偏离了原先规划的基准直线,但是,通过本方法,机器人通过调节行进速度,使得机器人继续在基准直线上作直线运动,因此,机器人能够按照原先规划的直线路径实施相应的工作,相对地提高机器人的工作效率。
以上所描述的装置或设备实施例仅仅是示意性的,其中所述作为分离部件说明的单元模块可以是或者也可以不是物理上分开的,作为模块单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络模块单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (10)

1.一种机器人行进方法,其特征在于,包括:
确定所述机器人直线行走时相对于基准直线的偏移距离,并根据所述偏移距离确定角度偏移量;
至少部分基于所述角度偏移量确定目标角度,并根据所述目标角度确定角度纠正量;
至少部分基于所述角度纠正量确定所述机器人的行进速度,以使所述机器人继续在所述基准直线上作直线运动;
所述根据所述偏移距离确定角度偏移量,包括:
使用第一可调系数乘以所述偏移距离,得到第一当前误差值;
使用第一PID算法处理所述第一当前误差值,得到所述角度偏移量;
所述基于所述角度纠正量确定所述机器人的行进速度包括:
确定所述机器人偏移后在当前位置的实际速度;
当所述角度纠正量的绝对值大于可调角度系数时,判断前进速度是否大于等于最小速度,所述最小速度为正值,若否,丢弃计算得到的所述前进速度,并将所述最小速度作为最终的所述前进速度,其中,计算得到的所述前进速度通过使用所述实际速度减去可调速度系数得到;
当所述角度纠正量的绝对值小于或等于所述可调角度系数时,判断前进速度是否小于等于最大速度,所述最大速度为正值,若否,丢弃计算得到的所述前进速度,并将所述最大速度作为最终的所述前进速度,其中,计算得到的所述前进速度通过使用所述实际速度加上所述可调速度系数得到。
2.根据权利要求1所述的机器人行进方法,其特征在于,所述根据所述偏移距离确定角度偏移量,还包括:
判断所述角度偏移量的绝对值是否小于或等于第一阈值;
若否,丢弃经所述第一PID算法处理得到的所述角度偏移量,并将所述第一阈值作为最终的所述角度偏移量的绝对值。
3.根据权利要求1所述的机器人行进方法,其特征在于,所述至少部分基于所述角度偏移量确定目标角度,包括:
确定所述机器人偏移前沿所述基准直线作直线运动的初始角度;
当所述机器人直线向上或直线向右行走时,使用所述初始角度减去所述角度偏移量,得到所述目标角度;
当所述机器人直线向下或直线向左行走时,使用所述初始角度加上所述角度偏移量,得到所述目标角度。
4.根据权利要求3所述的机器人行进方法,其特征在于,所述根据所述目标角度确定角度纠正量,包括:
确定所述机器人偏移后在当前位置的实际角度;
使用所述目标角度减去所述实际角度,得到所述角度纠正量。
5.根据权利要求1所述的机器人行进方法,其特征在于,所述根据角度纠正量确定所述机器人的行进速度,包括:
根据所述角度纠正量,确定速度控制量;
根据所述速度控制量和所述前进速度,确定所述机器人的左轮速度和右轮速度。
6.根据权利要求5所述的机器人行进方法,其特征在于,所述根据所述角度纠正量,确定速度控制量,包括:
使用第二可调系数乘以所述角度纠正量,得到第二当前误差值;
使用第二PID算法处理所述第二当前误差值,得到所述速度控制量。
7.根据权利要求6所述的机器人行进方法,其特征在于,所述根据所述角度纠正量,确定速度控制量,还包括:
判断所述速度控制量的绝对值是否小于或等于第二阈值;
若否,丢弃经所述第二PID算法处理得到的所述速度控制量,并将所述第二阈值作为最终的所述速度控制量的绝对值。
8.根据权利要求5所述的机器人行进方法,其特征在于,所述根据所述速度控制量和所述前进速度,确定所述机器人的左轮速度和右轮速度,包括:
使用所述前进速度减去所述速度控制量,得到所述左轮速度;
使用所述前进速度加上所述速度控制量,得到所述右轮速度。
9.一种非易失性计算机可读存储介质,其特征在于,所述非易失性计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使机器人执行如权利要求1至8任一项所述的机器人行进方法。
10.一种机器人,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至8任一项所述的机器人行进方法。
CN202010172108.4A 2020-03-12 2020-03-12 机器人行进方法、非易失性计算机可读存储介质及机器人 Active CN111387892B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010172108.4A CN111387892B (zh) 2020-03-12 2020-03-12 机器人行进方法、非易失性计算机可读存储介质及机器人

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010172108.4A CN111387892B (zh) 2020-03-12 2020-03-12 机器人行进方法、非易失性计算机可读存储介质及机器人

Publications (2)

Publication Number Publication Date
CN111387892A CN111387892A (zh) 2020-07-10
CN111387892B true CN111387892B (zh) 2022-05-03

Family

ID=71410916

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010172108.4A Active CN111387892B (zh) 2020-03-12 2020-03-12 机器人行进方法、非易失性计算机可读存储介质及机器人

Country Status (1)

Country Link
CN (1) CN111387892B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112433522A (zh) * 2020-08-19 2021-03-02 深圳市银星智能科技股份有限公司 一种机器人行走控制方法及机器人
CN112327837A (zh) * 2020-10-28 2021-02-05 深圳市银星智能科技股份有限公司 机器人行进方法、非易失性计算机可读存储介质及机器人
CN112603204B (zh) * 2020-12-11 2022-07-12 深圳银星智能集团股份有限公司 轨迹补偿的方法、装置、设备及存储介质
CN114355920B (zh) * 2021-12-27 2024-02-02 深圳银星智能集团股份有限公司 行进方向的控制方法、装置、智能设备及存储介质
CN114795006A (zh) * 2022-06-28 2022-07-29 山西嘉世达机器人技术有限公司 清洁机的控制方法、清洁机及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5816997A (ja) * 1981-07-20 1983-01-31 Mitsubishi Heavy Ind Ltd 船舶の自動位置制御装置
CN109900273A (zh) * 2019-02-28 2019-06-18 北京航天自动控制研究所 一种室外移动机器人导引方法及导引系统
CN110286672A (zh) * 2019-05-13 2019-09-27 深圳创动科技有限公司 机器人及其导航控制方法、导航控制装置以及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107239075A (zh) * 2017-04-19 2017-10-10 哈尔滨工程大学 自主水下航行器平面直线航线跟踪的智能s面制导控制方法
CN110286674B (zh) * 2017-04-24 2022-08-16 广州科语机器人有限公司 移动机器人在工作区域内的角度修正方法及移动机器人
US10188021B2 (en) * 2017-06-19 2019-01-29 Cnh Industrial America Llc Path planning system for autonomous off-road vehicles

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5816997A (ja) * 1981-07-20 1983-01-31 Mitsubishi Heavy Ind Ltd 船舶の自動位置制御装置
CN109900273A (zh) * 2019-02-28 2019-06-18 北京航天自动控制研究所 一种室外移动机器人导引方法及导引系统
CN110286672A (zh) * 2019-05-13 2019-09-27 深圳创动科技有限公司 机器人及其导航控制方法、导航控制装置以及存储介质

Also Published As

Publication number Publication date
CN111387892A (zh) 2020-07-10

Similar Documents

Publication Publication Date Title
CN111387892B (zh) 机器人行进方法、非易失性计算机可读存储介质及机器人
CN112327837A (zh) 机器人行进方法、非易失性计算机可读存储介质及机器人
CN110262495B (zh) 可实现移动机器人自主导航与精确定位的控制系统及方法
EP3552532B1 (en) Method for angle correction of mobile robot in working area and mobile robot
CN111352424B (zh) 机器人避障方法、非易失性计算机可读存储介质及机器人
JPWO2020110247A1 (ja) 制御システム、制御装置、自律作業機、制御装置の動作方法、自律作業機の制御方法及びプログラム
CN112880682B (zh) 基于无线测距传感器的移动机器人定位方法、系统及芯片
CN112183133B (zh) 一种基于ArUco码引导的移动机器人自主充电方法
CN103777629A (zh) 自导向运载平台及该运载平台导航控制方法
CN108844553A (zh) 校正机器人移动过程中的里程的方法、装置及机器人
CN110837257B (zh) 一种基于iGPS与视觉的AGV复合定位导航系统
JP6617482B2 (ja) 自律走行車システム
US11209814B2 (en) Working system and working method
CN111474928A (zh) 机器人控制方法、机器人、电子设备和可读存储介质
JP2017016477A5 (zh)
CN113110496A (zh) 一种移动机器人的建图方法和系统
CN111915106A (zh) 一种路径生成方法、装置、晶面机及存储介质
CN111476166A (zh) 一种地面巡检机器人自助充电对准方法
WO2020235392A1 (ja) 搬送車システム、搬送車、及び、制御方法
CN111251303B (zh) 一种周期性姿态调整的机器人运动控制方法
CN116755449A (zh) 一种agv二维码导航系统、导航控制方法及纠偏导航方法
Avanzini et al. Manual convoying of automated urban vehicles relying on monocular vision
CN114265414A (zh) 车辆控制方法、装置、设备及计算机可读存储介质
CN110307853B (zh) 一种导航控制方法和装置
Avanzini et al. A control strategy taking advantage of inter-vehicle communication for platooning navigation in urban environment

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
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address

Address after: 518000 1701, building 2, Yinxing Zhijie, No. 1301-72, sightseeing Road, Xinlan community, Guanlan street, Longhua District, Shenzhen, Guangdong Province

Patentee after: Shenzhen Yinxing Intelligent Group Co.,Ltd.

Address before: 518000 building A1, Yinxing hi tech Industrial Park, Guanlan street, Longhua District, Shenzhen City, Guangdong Province

Patentee before: Shenzhen Silver Star Intelligent Technology Co.,Ltd.

CP03 Change of name, title or address