CN111208785A - 一种运动控制方法及装置 - Google Patents

一种运动控制方法及装置 Download PDF

Info

Publication number
CN111208785A
CN111208785A CN202010309384.0A CN202010309384A CN111208785A CN 111208785 A CN111208785 A CN 111208785A CN 202010309384 A CN202010309384 A CN 202010309384A CN 111208785 A CN111208785 A CN 111208785A
Authority
CN
China
Prior art keywords
straight line
determining
slope
target
distance
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.)
Granted
Application number
CN202010309384.0A
Other languages
English (en)
Other versions
CN111208785B (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.)
Zhejiang Sineva Intelligent Technology Co ltd
Original Assignee
Zhejiang Sineva 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 Zhejiang Sineva Intelligent Technology Co ltd filed Critical Zhejiang Sineva Intelligent Technology Co ltd
Priority to CN202010309384.0A priority Critical patent/CN111208785B/zh
Publication of CN111208785A publication Critical patent/CN111208785A/zh
Application granted granted Critical
Publication of CN111208785B publication Critical patent/CN111208785B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4142Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by the use of a microprocessor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34013Servocontroller

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Image Analysis (AREA)
  • Manipulator (AREA)

Abstract

本申请涉及机器人技术领域,尤其涉及一种运动控制方法及装置,通过视觉传感器获取当前环境的视觉图像;提取所述视觉图像中的各直线,并分别确定所述各直线的斜率和所述各直线与所述视觉传感器的距离;根据所述各直线的斜率和与所述视觉传感器的距离,从所述各直线中确定出目标直线;根据所述目标直线,确定运动模式,并根据所述运动模式进行运动,这样,实现了机器人在环境中自主行走,并且实现逻辑更加简单实用,降低了计算量和复杂度,提高机器人运动控制的效率。

Description

一种运动控制方法及装置
技术领域
本申请涉及机器人技术领域,尤其涉及一种运动控制方法及装置。
背景技术
目前,当机器人被置于一个陌生环境之中,如何感知周围环境并进行自主运动,一直是机器人领域中重要的研究课题,现有技术中主要采用的方法,例如同步建图与定位(simultaneous localization and mapping,SLAM)方法,可以实现机器人在未知环境中的自身定位,并且在自身定位基础上建造增量式地图,但是这种方法计算量很大,部署复杂,不太适合一些环境简单的场景。
发明内容
本申请实施例提供一种运动控制方法及装置,以提高机器人运动控制的效率,降低复杂度。
本申请实施例提供的具体技术方案如下:
一种运动控制方法,包括:
通过视觉传感器获取当前环境的视觉图像;
提取所述视觉图像中的各直线,并分别确定所述各直线的斜率和所述各直线与所述视觉传感器的距离;
根据所述各直线的斜率和与所述视觉传感器的距离,从所述各直线中确定出目标直线;
根据所述目标直线,确定运动模式,并根据所述运动模式进行运动。
可选的,所述视觉图像为深度图像;
则确定所述各直线的斜率和所述各直线与所述视觉传感器的距离,具体包括:
根据提取的所述各直线的两个端点,分别确定所述各直线的中点,并根据所述各直线的中点对应的深度值,分别确定为所述各直线与所述视觉传感器的距离;
根据所述各直线的两个端点的坐标,分别确定所述各直线的斜率。
可选的,根据所述各直线的斜率和与所述视觉传感器的距离,从所述各直线中确定出目标直线,具体包括:
根据所述各直线的斜率,确定是否存在斜率不大于水平阈值的直线;
若确定存在,则从斜率小于水平阈值的直线中确定出与所述视觉传感器的距离最大的直线,作为目标直线;
若确定不存在,则从所述各直线中确定出斜率最小的直线,作为目标直线。
可选的,根据所述目标直线,确定运动模式,具体包括:
若所述目标直线的斜率不大于水平阈值,则确定所述目标直线为水平线,并确定运动模式为直行;
若所述目标直线的斜率大于水平阈值,则确定所述目标直线为非水平线,并确定运动模式为旋转。
可选的,根据所述运动模式进行运动,具体包括:
若所述运动模式为直行,则朝向所述目标直线直行,直至运动至距离所述目标直线预设距离阈值时,确定所述运动模式更改为旋转,按照预设旋转方向转动,并在转动后,继续执行所述获取通过视觉传感器采集到的当前环境的视觉图像的步骤;
若所述运动模式为旋转,则按照预设旋转方向转动,并在转动后,继续执行所述获取通过视觉传感器采集到的当前环境的视觉图像的步骤。
可选的,进一步包括:
通过所述视觉传感器获取当前环境的点云数据,其中,所述点云数据中至少包括各空间点在所述视觉传感器坐标系下的坐标;
根据所述点云数据中各空间点的坐标,将所述点云数据对应的空间位置划分为多个预设大小的栅格;
根据所述点云数据中各空间点的坐标,分别确定所述各空间点与所述视觉传感器的距离;
分别检测每个栅格中包括的空间点与所述视觉传感器的距离,是否不大于预设安全距离阈值,统计不大于预设安全距离阈值的空间点的数目,若确定数目不小于预设数目阈值,则确定对应的栅格的空间位置内有障碍物。
可选的,进一步包括:
若在直行运动过程中,确定直行前方有障碍物,则确定所述运动模式更改为旋转。
一种运动控制装置,包括:
获取模块,用于通过视觉传感器获取当前环境的视觉图像;
第一确定模块,用于提取所述视觉图像中的各直线,并分别确定所述各直线的斜率和所述各直线与所述视觉传感器的距离;
第二确定模块,用于根据所述各直线的斜率和与所述视觉传感器的距离,从所述各直线中确定出目标直线;
控制模块,用于根据所述目标直线,确定运动模式,并根据所述运动模式进行运动。
可选的,所述视觉图像为深度图像;
则确定所述各直线的斜率和所述各直线与所述视觉传感器的距离时,第一确定模块具体用于:
根据提取的所述各直线的两个端点,分别确定所述各直线的中点,并根据所述各直线的中点对应的深度值,分别确定为所述各直线与所述视觉传感器的距离;
根据所述各直线的两个端点的坐标,分别确定所述各直线的斜率。
可选的,根据所述各直线的斜率和与所述视觉传感器的距离,从所述各直线中确定出目标直线时,第二确定模块具体用于:
根据所述各直线的斜率,确定是否存在斜率不大于水平阈值的直线;
若确定存在,则从斜率小于水平阈值的直线中确定出与所述视觉传感器的距离最大的直线,作为目标直线;
若确定不存在,则从所述各直线中确定出斜率最小的直线,作为目标直线。
可选的,根据所述目标直线,确定运动模式时,控制模块具体用于:
若所述目标直线的斜率不大于水平阈值,则确定所述目标直线为水平线,并确定运动模式为直行;
若所述目标直线的斜率大于水平阈值,则确定所述目标直线为非水平线,并确定运动模式为旋转。
可选的,根据所述运动模式进行运动时,控制模块具体用于:
若所述运动模式为直行,则朝向所述目标直线直行,直至运动至距离所述目标直线预设距离阈值时,确定所述运动模式更改为旋转,按照预设旋转方向转动,并在转动后,继续执行所述获取通过视觉传感器采集到的当前环境的视觉图像的步骤;
若所述运动模式为旋转,则按照预设旋转方向转动,并在转动后,继续执行所述获取通过视觉传感器采集到的当前环境的视觉图像的步骤。
可选的,进一步包括,障碍物检测模块,用于:
通过所述视觉传感器获取当前环境的点云数据,其中,所述点云数据中至少包括各空间点在所述视觉传感器坐标系下的坐标;
根据所述点云数据中各空间点的坐标,将所述点云数据对应的空间位置划分为多个预设大小的栅格;
根据所述点云数据中各空间点的坐标,分别确定所述各空间点与所述视觉传感器的距离;
分别检测每个栅格中包括的空间点与所述视觉传感器的距离,是否不大于预设安全距离阈值,统计不大于预设安全距离阈值的空间点的数目,若确定数目不小于预设数目阈值,则确定对应的栅格的空间位置内有障碍物。
可选的,控制模块进一步用于:
若在直行运动过程中,确定直行前方有障碍物,则确定所述运动模式更改为旋转。
一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一种运动控制方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种运动控制方法的步骤。
本申请实施例中,通过视觉传感器获取当前环境的视觉图像;提取所述视觉图像中的各直线,并分别确定所述各直线的斜率和所述各直线与所述视觉传感器的距离;根据所述各直线的斜率和与所述视觉传感器的距离,从所述各直线中确定出目标直线;根据所述目标直线,确定运动模式,并根据所述运动模式进行运动,这样,利用线性特征,即直线检测方式,检测当前环境中的直线,根据目标直线的斜率和距离,动态调整运动模式,从而控制自身运动,实现了在环境中自由运动的目的,并且只需要输入视觉图像进行直线检测即可,实现逻辑更加简单实用,降低了计算量和复杂度,尤其对于一些较为规则的场地,实现效果更好,提高效率。
附图说明
图1为本申请实施例中一种运动控制方法流程图;
图2为本申请实施例中另一种运动控制方法流程图;
图3为本申请实施例中运动控制装置结构示意图;
图4为本申请实施例中电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,并不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,如何让机器人在一个新的环境中自主行走,一直是机器人领域中重要的研究课题,相关技术中主要采用同步建图与定位(simultaneous localization andmapping,SLAM)方法,但是这种方法计算量较大,部署复杂,不太适合一些环境简单的场景。
因此本申请实施例中为解决上述问题,提供了一种运动控制方法,主要应用于智能设备侧,例如智能设备为机器人等,并不进行限制,通过视觉传感器获取当前环境的视觉图像,提取视觉图像中各直线,并从中确定出目标直线,进而根据目标直线确定运动模式,根据运动模式控制运动,这样,只需要通过直线检测,根据目标直线来动态调整和控制运动模式,实现更加简单,减少了计算量和复杂度,并且可以实现自主行走,尤其对于一些较为规则的场地,逻辑简单实用,提高了效率。
需要说明的是,本申请实施例中,运动控制方法主要由智能设备,例如机器人侧执行,智能设备可以基于自身的处理器来进行计算分析等操作,从而控制自身在场地中进行运动,当然,本申请实施例中对此并不进行限制,例如还可以由服务器进行计算分析等操作,例如机器人通过视觉传感器采集到视觉图像后,发送给服务器,服务器通过本申请实施例中的运动控制方法,确定出运动模式后,再返回给机器人,控制机器人的运动。
基于上述实施例,下面对本申请实施例中的运动控制方法进行说明,以智能设备为机器人为例,参阅图1所示,为本申请实施例中一种运动控制方法流程图,该方法包括:
步骤100:通过视觉传感器获取当前环境的视觉图像。
其中,视觉传感器例如为双目相机,本申请实施例中并不进行限制,例如为激光雷达、立体照相机等这样,通过双目相机采集到的视觉图像为深度图像,深度图像中包含深度值,可以用来衡量图像中各点到视觉传感器的距离。
并且本申请实施例中视觉传感器安装于机器人中,视觉传感器位于机器人的正面,即视觉传感器的采集方向为机器人的正面朝向的方向。
本申请实施例中可以通过视觉传感器,按照设定周期不断采集当前环境的视觉图像,在处理时分别针对每个视觉图像进行分析处理。
步骤110:提取视觉图像中的各直线,并分别确定各直线的斜率和各直线与视觉传感器的距离。
执行步骤110时,具体包括:
S1、提取视觉图像中的各直线。
其中,提取的视觉图像中各直线可以理解为线特征的一种,线特征可以表示为物体的轮廓线或物体表面的交线,具体地从视觉图像中检测直线的方式,本申请实施例中并不进行限制,可以采用现有直线检测的方法,例如采用直线段检测(a Line SegmentDetector,LSD)方法,目标在于检测图像中局部的直的轮廓,轮廓是图像中的某些特殊区域,在这些区域,图像的灰度从黑到白或者从白到黑的剧烈变化,主要是基于视觉图像中各点的像素,通过像素合并于误差控制来实现直线的检测。
本申请实施例中通过直线检测方法,检测并提取直线时,可以通过两个端点的坐标来唯一确定一条直线,这样,由于图像中的线特征通常对应于被摄物体的轮廓线或边界线,而表征场地边缘的线特征通常为直线,因此,通过直线检测可以确定场地边缘位置,实现沿边行走。
S2、分别确定各直线的斜率和各直线与视觉传感器的距离。
具体地:1)根据提取的各直线的两个端点,分别确定各直线的中点,并根据各直线的中点对应的深度值,分别确定为各直线与视觉传感器的距离。
通过直线检测方法,获取到直线的两个端点的坐标,从而可以计算出两个端点之间的中点的坐标,并且由于本申请实施例中视觉图像为深度图像,因此可以获取该中点对应的深度值,该中点的深度值即认为是该直线与视觉传感器的距离。
2)根据各直线的两个端点的坐标,分别确定各直线的斜率。
当然也可以通过直线中其它两个点的坐标,确定直线的斜率,本申请实施例中并不进行限制。
步骤120:根据各直线的斜率和与视觉传感器的距离,从各直线中确定出目标直线。
执行步骤120时,具体可以分为以下两种情况:
第一种情况:确定存在水平线。
具体地:根据各直线的斜率,确定是否存在斜率不大于水平阈值的直线;若确定存在,则从斜率小于水平阈值的直线中确定出与视觉传感器的距离最大的直线,作为目标直线。
其中,水平阈值可以根据实际情况和经验进行设置,本申请实施例中并不进行限制。
也就是说,本申请实施例中先确定是否存在斜率不大于水平阈值的直线,若存在,即认为斜率不大于水平阈值的直线为水平线,再从这些水平线中找出距离视觉传感器最远的直线,作为目标直线。
第二种情况:确定不存在水平线。
具体地:根据各直线的斜率,确定是否存在斜率不大于水平阈值的直线;若确定不存在,则从各直线中确定出斜率最小的直线,作为目标直线。
即不存在斜率不大于水平阈值的直线,可以认为不存在水平线,进而可以从这些非水平线中,找出斜率最小的直线作为目标直线。
步骤130:根据目标直线,确定运动模式,并根据运动模式进行运动。
其中,运动模式可以包括直行和旋转,其中,为进一步简便运动模式,可以预先设置旋转为左转,即确定出运动模式为旋转时,机器人左转,当然也可以设置旋转为右转,本申请实施例中并不进行限制。
具体执行步骤130时,包括:
S1、根据目标直线,确定运动模式。
基于不同的目标直线,相应地可以分为以下两种情况:
第一种情况:若目标直线的斜率不大于水平阈值,则确定目标直线为水平线,并确定运动模式为直行。
本申请实施例中目标直线的斜率不大于水平阈值,说明目标直线为水平线,前面为水平场地,较为平坦,因此,可以确定运动模式为直行,机器人可以朝着目标直线直行。
第二种情况:若目标直线的斜率大于水平阈值,则确定目标直线为非水平线,并确定运动模式为旋转。
本申请实施例中目标直线的斜率大于水平阈值,说明目标直线为非水平线,可能已达到场地边缘,前面无水平场地,则可以确定运动模式为旋转,例如机器人可以左转,以寻找下一个目标直线。
S2、根据运动模式进行运动。
可以包括以下两种实施方式:
第一种实施方式:若运动模式为直行,则朝向目标直线直行,直至运动至距离目标直线预设距离阈值时,确定运动模式更改为旋转,按照预设旋转方向转动,并在转动后,继续执行获取通过视觉传感器采集到的当前环境的视觉图像的步骤。
其中,预设距离阈值,例如可以设置为0.1m,即机器人朝着目标直线直行时,到达距离目标直线前0.1m处,可以认为已经到达场地边缘,则调整运动模式为旋转,例如预设旋转方向为左转,机器人向左转,然后继续基于视觉传感器获取到的视觉图像,确定出目标直线,基于目标直线确定运动模式,如此往复即可以实现机器人在场地中的沿边行走。
第二种实施方式:若运动模式为旋转,则按照预设旋转方向转动,并在转动后,继续执行获取通过视觉传感器采集到的当前环境的视觉图像的步骤。
即运动模式为旋转时,机器人左转,继续寻找下一个目标直线。
进一步地,本申请实施例中还提供了避障方法,主要也是基于视觉传感器,具体地本申请实施例中提供了一种可能的实施方式:
S1、通过视觉传感器获取当前环境的点云数据,其中,点云数据中至少包括各空间点在视觉传感器坐标系下的坐标。
本申请实施例中可以通过视觉传感器来获取点云数据,例如视觉传感器的驱动直接发出,从而获取环境的点云数据,点云数据表示在一个三维坐标系中的许多空间点的集合,通常以X,Y,Z三维坐标的形式表示,即每一个空间点对应一个三维坐标。
S2、根据点云数据中各空间点的坐标,将点云数据对应的空间位置划分为多个预设大小的栅格。
本申请实施例中可以将整个点云做栅格化处理,例如,将其等分为若干个预设大小的栅格,例如预设大小为32*32大小,并不进行限制,这样,可以将这些空间点划分到不同的栅格中,每个栅格中可能包括多个空间点。
S3、根据点云数据中各空间点的坐标,分别确定各空间点与视觉传感器的距离。
即空间点的三维坐标中Z值,为该空间点与视觉传感器的距离。
S4、分别检测每个栅格中包括的空间点与视觉传感器的距离,是否不大于预设安全距离阈值,统计不大于预设安全距离阈值的空间点的数目,若确定数目不小于预设数目阈值,则确定对应的栅格的空间位置内有障碍物。
其中,例如根据栅格大小和栅格中包含的空间点的数目,确定预设数目阈值,例如将预设数目阈值设置为栅格中包含的空间点的数目的一半。
即本申请实施例中,分别遍历每个栅格,若一个栅格中半数以上的空间点的Z值都不大于预设安全距离阈值,距离机器人较近,则可以认为前方有障碍物,并且栅格的空间位置即为障碍物所在的位置,若小于预设数目阈值,则距离机器人较远,认为是安全的。
则在检测目标直线时,同时进行障碍物检测,从而可以根据目标直线和障碍物检测结果,共同确定当前的运动模式,具体地,本申请实施例中提供了一种可能的实施方式,若在直行运动过程中,确定直行前方有障碍物,则确定运动模式更改为旋转。
也就是说,本申请实施例中通过目标直线的检测,确定运动模式为直行时,还需要判断前方是否有障碍物,若有障碍物,则将运动模式更改为旋转,例如机器人左转,可以绕过障碍物。
另外需要说明的是,本申请实施例中由于避障只通过前方的视觉传感器完成,并且避障策略为旋转机器人,因此机器人的底盘较佳的为圆形,这样,可以保证在旋转避障时机器人的侧面和尾部不会触碰到障碍物。
本申请实施例中,通过视觉传感器获取当前环境的视觉图像,提取视觉图像中的各直线,并分别确定各直线的斜率和各直线与所述视觉传感器的距离,从而从中确定出目标直线,根据目标直线,确定运动模式,并根据运动模式进行运动,并且还进行障碍物检测,这样,机器人可以根据当前环境中的目标直线和障碍物检测,动态调整自己的运动模式,直行或旋转,从而实现在整个环境中自由运动,该方案只需要通过视觉传感器采集到的视觉图像为输入,完成在环境中的沿边行走,实现逻辑简单且实用,尤其在简单场景中实现效果更好,降低了计算复杂度,并且还加入了障碍物检测,可以准确检测出机器人前方的障碍物,并通过旋转的运动模式进行避障操作,更加简单,该运动控制方法可以适用于机器人在场地中的沿边行走、建图等应用场景。
基于上述实施例,下面采用具体应用场景,对本申请实施例中运动控制方法进行简单说明,参阅图2所示,为本申请实施例中另一种运动控制方法流程图。
步骤200:执行直线检测操作。
具体地,通过视觉传感器获取当前环境的视觉图像,并提取视觉图像中的各直线,并确定各直线与视觉传感器的距离。
其中,直线检测操作可以采用LSD算法,可以获得直线的两个端点的像素坐标,从而可以获得直线的直线方程,并通过两个端点的坐标,计算直线的中点,根据中点在视觉图像中对应的深度值,作为该直线的深度值,即为该直线与视觉传感器的距离。
这样,通过直线检测操作即可以获得直线方程和与视觉传感器的距离,从而作为后续运动控制操作的输入。
步骤201:执行障碍物检测操作。
具体地,通过视觉传感器获取当前环境的点云数据,从而根据点云数据中各空间点的坐标,判断是否有障碍物,这样,可以将是否有障碍物检测结果作为后续运动控制操作的输入。
需要说明的是,上述步骤200和步骤201的执行顺序并不进行限制,也可以并行处理。
步骤202:输入运动控制操作流程。
步骤203:确定各直线的斜率,并判断各直线的斜率与水平阈值的大小。
步骤204:判断是否存在水平线,若是,则执行步骤205,若否,则执行步骤206。
具体地,根据各直线的斜率,确定是否存在斜率不大于水平阈值的直线,若确定存在,即确定存在水平线,若确定不存在,即确定不存在水平线。
也就是说,本申请实施例中认为斜率不大于水平阈值的直线为水平线,斜率大于水平阈值的直线为非水平线。
步骤205:从斜率小于水平阈值的直线中确定出与所视觉传感器的距离最大的直线,作为目标直线。
步骤206:从各直线中确定出斜率最小的直线,作为目标直线。
步骤207:判断目标直线是否为水平线,若是,则执行步骤208,否则,则执行步骤209。
步骤208:确定直行前方是否有障碍物,若确定没有障碍物,则确定运动模式为直行,若确定有障碍物,则确定运动模式为旋转。
进一步地,确定运动模式为直行后,机器人可以朝向目标直线直行,在直行过程中也可以实时判断前方是否有障碍物,若确定有障碍物,则可以将运动模式更改为旋转,在到达距离目标直线预设距离阈值时,确定达到场地边缘,然后将运动模式更改为旋转,例如左转继续寻找下一个目标直线,以此循环,即可以实现机器人在场地中的沿边行走。
步骤209:确定运动模式为旋转。
在旋转后,即可以继续进行直线检测,确定下一个目标直线。
这样,本申请实施例中,通过直线检测和障碍物检测,机器人可以在陌生环境中实现自主行走,并为沿边行走,较佳的适用于带有双目相机的轮式机器人,方案实现简单,降低了计算复杂度,提高了效率。
基于同一发明构思,本申请实施例中还提供了一种运动控制装置,基于上述实施例,参阅图3所示,本申请实施例中运动控制装置,具体包括:
获取模块30,用于通过视觉传感器获取当前环境的视觉图像;
第一确定模块31,用于提取所述视觉图像中的各直线,并分别确定所述各直线的斜率和所述各直线与所述视觉传感器的距离;
第二确定模块32,用于根据所述各直线的斜率和与所述视觉传感器的距离,从所述各直线中确定出目标直线;
控制模块33,用于根据所述目标直线,确定运动模式,并根据所述运动模式进行运动。
可选的,所述视觉图像为深度图像;则确定所述各直线的斜率和所述各直线与所述视觉传感器的距离时,第一确定模块31具体用于:
根据提取的所述各直线的两个端点,分别确定所述各直线的中点,并根据所述各直线的中点对应的深度值,分别确定为所述各直线与所述视觉传感器的距离;
根据所述各直线的两个端点的坐标,分别确定所述各直线的斜率。
可选的,根据所述各直线的斜率和与所述视觉传感器的距离,从所述各直线中确定出目标直线时,第二确定模块32具体用于:
根据所述各直线的斜率,确定是否存在斜率不大于水平阈值的直线;
若确定存在,则从斜率小于水平阈值的直线中确定出与所述视觉传感器的距离最大的直线,作为目标直线;
若确定不存在,则从所述各直线中确定出斜率最小的直线,作为目标直线。
可选的,根据所述目标直线,确定运动模式时,控制模块33具体用于:
若所述目标直线的斜率不大于水平阈值,则确定所述目标直线为水平线,并确定运动模式为直行;
若所述目标直线的斜率大于水平阈值,则确定所述目标直线为非水平线,并确定运动模式为旋转。
可选的,根据所述运动模式进行运动时,控制模块33具体用于:
若所述运动模式为直行,则朝向所述目标直线直行,直至运动至距离所述目标直线预设距离阈值时,确定所述运动模式更改为旋转,按照预设旋转方向转动,并在转动后,继续执行所述获取通过视觉传感器采集到的当前环境的视觉图像的步骤;
若所述运动模式为旋转,则按照预设旋转方向转动,并在转动后,继续执行所述获取通过视觉传感器采集到的当前环境的视觉图像的步骤。
可选的,进一步包括,障碍物检测模块34,用于:
通过所述视觉传感器获取当前环境的点云数据,其中,所述点云数据中至少包括各空间点在所述视觉传感器坐标系下的坐标;
根据所述点云数据中各空间点的坐标,将所述点云数据对应的空间位置划分为多个预设大小的栅格;
根据所述点云数据中各空间点的坐标,分别确定所述各空间点与所述视觉传感器的距离;
分别检测每个栅格中包括的空间点与所述视觉传感器的距离,是否不大于预设安全距离阈值,统计不大于预设安全距离阈值的空间点的数目,若确定数目不小于预设数目阈值,则确定对应的栅格的空间位置内有障碍物。
可选的,控制模块33进一步用于:若在直行运动过程中,确定直行前方有障碍物,则确定所述运动模式更改为旋转。
基于上述实施例,参阅图4所示为本申请实施例中电子设备的结构示意图。
本申请实施例提供了一种电子设备,该电子设备可以包括处理器410(CenterProcessing Unit ,CPU)、存储器420、输入设备430和输出设备440等,输入设备430可以包括键盘、鼠标、触摸屏等,输出设备440可以包括显示设备,如液晶显示器(Liquid CrystalDisplay, LCD)、阴极射线管(Cathode Ray Tube,CRT)等。
存储器420可以包括只读存储器(ROM)和随机存取存储器(RAM),并向处理器410提供存储器420中存储的程序指令和数据。在本申请实施例中,存储器420可以用于存储本申请实施例中任一种运动控制方法的程序。
处理器410通过调用存储器420存储的程序指令,处理器410用于按照获得的程序指令执行本申请实施例中任一种运动控制方法。
基于上述实施例,本申请实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意方法实施例中的运动控制方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种运动控制方法,其特征在于,包括:
通过视觉传感器获取当前环境的视觉图像;
提取所述视觉图像中的各直线,并分别确定所述各直线的斜率和所述各直线与所述视觉传感器的距离;
根据所述各直线的斜率和与所述视觉传感器的距离,从所述各直线中确定出目标直线;
根据所述目标直线,确定运动模式,并根据所述运动模式进行运动。
2.如权利要求1所述的方法,其特征在于,所述视觉图像为深度图像;
则确定所述各直线的斜率和所述各直线与所述视觉传感器的距离,具体包括:
根据提取的所述各直线的两个端点,分别确定所述各直线的中点,并根据所述各直线的中点对应的深度值,分别确定为所述各直线与所述视觉传感器的距离;
根据所述各直线的两个端点的坐标,分别确定所述各直线的斜率。
3.如权利要求1所述的方法,其特征在于,根据所述各直线的斜率和与所述视觉传感器的距离,从所述各直线中确定出目标直线,具体包括:
根据所述各直线的斜率,确定是否存在斜率不大于水平阈值的直线;
若确定存在,则从斜率小于水平阈值的直线中确定出与所述视觉传感器的距离最大的直线,作为目标直线;
若确定不存在,则从所述各直线中确定出斜率最小的直线,作为目标直线。
4.如权利要求1-3任一项所述的方法,其特征在于,根据所述目标直线,确定运动模式,具体包括:
若所述目标直线的斜率不大于水平阈值,则确定所述目标直线为水平线,并确定运动模式为直行;
若所述目标直线的斜率大于水平阈值,则确定所述目标直线为非水平线,并确定运动模式为旋转。
5.如权利要求4所述的方法,其特征在于,根据所述运动模式进行运动,具体包括:
若所述运动模式为直行,则朝向所述目标直线直行,直至运动至距离所述目标直线预设距离阈值时,确定所述运动模式更改为旋转,按照预设旋转方向转动,并在转动后,继续执行所述获取通过视觉传感器采集到的当前环境的视觉图像的步骤;
若所述运动模式为旋转,则按照预设旋转方向转动,并在转动后,继续执行所述获取通过视觉传感器采集到的当前环境的视觉图像的步骤。
6.如权利要求1所述的方法,其特征在于,进一步包括:
通过所述视觉传感器获取当前环境的点云数据,其中,所述点云数据中至少包括各空间点在所述视觉传感器坐标系下的坐标;
根据所述点云数据中各空间点的坐标,将所述点云数据对应的空间位置划分为多个预设大小的栅格;
根据所述点云数据中各空间点的坐标,分别确定所述各空间点与所述视觉传感器的距离;
分别检测每个栅格中包括的空间点与所述视觉传感器的距离,是否不大于预设安全距离阈值,统计不大于预设安全距离阈值的空间点的数目,若确定数目不小于预设数目阈值,则确定对应的栅格的空间位置内有障碍物。
7.如权利要求6所述的方法,其特征在于,进一步包括:
若在直行运动过程中,确定直行前方有障碍物,则确定所述运动模式更改为旋转。
8.一种运动控制装置,其特征在于,包括:
获取模块,用于通过视觉传感器获取当前环境的视觉图像;
第一确定模块,用于提取所述视觉图像中的各直线,并分别确定所述各直线的斜率和所述各直线与所述视觉传感器的距离;
第二确定模块,用于根据所述各直线的斜率和与所述视觉传感器的距离,从所述各直线中确定出目标直线;
控制模块,用于根据所述目标直线,确定运动模式,并根据所述运动模式进行运动。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-7任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1-7任一项所述方法的步骤。
CN202010309384.0A 2020-04-20 2020-04-20 一种运动控制方法及装置 Active CN111208785B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010309384.0A CN111208785B (zh) 2020-04-20 2020-04-20 一种运动控制方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010309384.0A CN111208785B (zh) 2020-04-20 2020-04-20 一种运动控制方法及装置

Publications (2)

Publication Number Publication Date
CN111208785A true CN111208785A (zh) 2020-05-29
CN111208785B CN111208785B (zh) 2020-07-14

Family

ID=70787203

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010309384.0A Active CN111208785B (zh) 2020-04-20 2020-04-20 一种运动控制方法及装置

Country Status (1)

Country Link
CN (1) CN111208785B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111998853A (zh) * 2020-08-27 2020-11-27 西安达升科技股份有限公司 一种agv视觉导航方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050071239A (ko) * 2003-12-31 2005-07-07 엘지전자 주식회사 자동주행 청소기의 월 팔로윙 방법
US20080027591A1 (en) * 2006-07-14 2008-01-31 Scott Lenser Method and system for controlling a remote vehicle
KR20100100520A (ko) * 2009-03-06 2010-09-15 엘지전자 주식회사 로봇 청소기의 점진적 지도 작성 및 위치 보정 방법
CN106934832A (zh) * 2017-03-23 2017-07-07 电子科技大学 一种面向视觉巡线的简易直线自动定位方法
CN108415432A (zh) * 2018-03-09 2018-08-17 珠海市微半导体有限公司 机器人基于直边的定位方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050071239A (ko) * 2003-12-31 2005-07-07 엘지전자 주식회사 자동주행 청소기의 월 팔로윙 방법
US20080027591A1 (en) * 2006-07-14 2008-01-31 Scott Lenser Method and system for controlling a remote vehicle
KR20100100520A (ko) * 2009-03-06 2010-09-15 엘지전자 주식회사 로봇 청소기의 점진적 지도 작성 및 위치 보정 방법
CN106934832A (zh) * 2017-03-23 2017-07-07 电子科技大学 一种面向视觉巡线的简易直线自动定位方法
CN108415432A (zh) * 2018-03-09 2018-08-17 珠海市微半导体有限公司 机器人基于直边的定位方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
周绍磊等: "基于直线检测的室内移动机器人视觉定位方法", 《华中科技大学学报(自然科学版)》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111998853A (zh) * 2020-08-27 2020-11-27 西安达升科技股份有限公司 一种agv视觉导航方法及系统

Also Published As

Publication number Publication date
CN111208785B (zh) 2020-07-14

Similar Documents

Publication Publication Date Title
CN111665842B (zh) 一种基于语义信息融合的室内slam建图方法及系统
Mallet et al. Position estimation in outdoor environments using pixel tracking and stereovision
US10288425B2 (en) Generation of map data
CN110674705A (zh) 基于多线激光雷达的小型障碍物检测方法及装置
CN113112491B (zh) 一种悬崖检测方法、装置、机器人及存储介质
CN111381594A (zh) 基于3d视觉的agv空间避障方法及系统
KR102547274B1 (ko) 이동 로봇 및 이의 위치 인식 방법
CN112171675B (zh) 一种移动机器人的避障方法、装置、机器人及存储介质
CN110262487B (zh) 一种障碍物检测方法、终端及计算机可读存储介质
CN113570629B (zh) 去除动态物体的语义分割方法及系统
Charmette et al. Vision-based robot localization based on the efficient matching of planar features
CN111208785B (zh) 一种运动控制方法及装置
Majdik et al. New approach in solving the kidnapped robot problem
CN106408593A (zh) 一种基于视频的车辆跟踪方法及装置
McManamon et al. Exomars rover vehicle perception system architecture and test results
CN113688847A (zh) 一种挖掘机运行模式切换的控制方法、装置和挖掘机
Han et al. Visual tracking of a moving target using active contour based SSD algorithm
CN115902977A (zh) 基于视觉和gps的变电站机器人双重定位方法及系统
CN114371475A (zh) 一种优化标定参数的方法、系统、设备及计算机存储介质
Gao et al. A novel local path planning method considering both robot posture and path smoothness
KR20220044777A (ko) 포인트 클라우드 데이터 처리 방법 및 장치
CN114510031A (zh) 机器人视觉导航方法、装置、机器人及存储介质
Saeedi et al. 3D localization and tracking in unknown environments
Rahman et al. Simple near-realtime crane workspace mapping using machine vision
Das et al. Development of a Shape Aware Path Planning Algorithm for a Mobile Robot

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