CN113618746B - 机器人导航控制方法、装置、电子设备及存储介质 - Google Patents
机器人导航控制方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113618746B CN113618746B CN202111194268.XA CN202111194268A CN113618746B CN 113618746 B CN113618746 B CN 113618746B CN 202111194268 A CN202111194268 A CN 202111194268A CN 113618746 B CN113618746 B CN 113618746B
- Authority
- CN
- China
- Prior art keywords
- fruit tree
- picking robot
- target
- picking
- robot
- 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
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- A—HUMAN NECESSITIES
- A01—AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
- A01D—HARVESTING; MOWING
- A01D46/00—Picking of fruits, vegetables, hops, or the like; Devices for shaking trees or shrubs
- A01D46/24—Devices for picking apples or like fruit
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
- B25J13/088—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
- B25J13/089—Determining the position of the robot with reference to its environment
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1612—Programme controls characterised by the hand, wrist, grip control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1661—Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Robotics (AREA)
- Automation & Control Theory (AREA)
- Mathematical Physics (AREA)
- Environmental Sciences (AREA)
- Evolutionary Computation (AREA)
- Fuzzy Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Orthopedic Medicine & Surgery (AREA)
- Human Computer Interaction (AREA)
- Manipulator (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本申请属于机器人控制技术领域,公开了一种机器人导航控制方法、装置、电子设备及存储介质,通过获取朝采摘机器人正前方拍摄的第一图像;根据第一图像获取第一目标果树和第二目标果树的位置数据;计算第一目标果树和第二目标果树之间的中点的中点位置数据;控制采摘机器人移动至中点处;在采摘机器人移动至中点处后,发送采摘指令至采摘机器人使其对左右两侧的果树进行果实采摘;在采摘机器人完成整行果树的果树采摘后,发送换行指令至采摘机器人使其绕当前左侧或右侧正对的一棵果树进行半圆弧运动实现换行;从而仅依靠视觉传感器实现对采摘机器人的导航控制,即使果园的卫星定位信号差或没有卫星定位信号,也能正常进行导航。
Description
技术领域
本申请涉及机器人控制技术领域,具体而言,涉及一种机器人导航控制方法、装置、电子设备及存储介质。
背景技术
目前,有些果园会使用采摘机器人对户外的呈阵列排布的果树进行果实采摘,以提高采摘效率,降低人力成本。当使用采摘机器人对户外的成阵列排布的果树进行果实采摘时,一般会在采摘机器人上设置GPS定位模块、北斗定位模块等卫星定位模块进行导航与定位,有时候,果园的位置比较偏僻,卫星定位信号差甚至没有卫星定位信号,无法使用卫星定位模块进行定位,从而导致采摘机器人无法正常导航。为此,需要寻求一种无需依赖卫星定位模块的导航方法。
发明内容
本申请的目的在于提供一种机器人导航控制方法、装置、电子设备及存储介质,旨在解决卫星定位信号差或者没有卫星定位信号时采摘机器人无法正常导航的问题。
第一方面,本申请提供了一种机器人导航控制方法,用于对采摘机器人进行导航控制以对成阵列排布的果树进行果实采摘,所述采摘机器人包括视觉传感器;包括以下步骤:
A1.获取所述视觉传感器朝所述采摘机器人正前方拍摄的第一图像;
A2.根据所述第一图像获取第一目标果树和第二目标果树的位置数据;所述第一目标果树和所述第二目标果树分别是位于所述采摘机器人前方左右两侧的最接近所述采摘机器人的果树;
A3.根据所述第一目标果树和第二目标果树的位置数据计算所述第一目标果树和所述第二目标果树之间的中点的中点位置数据;
A4.根据所述中点位置数据控制所述采摘机器人移动至所述中点处;
A5.在所述采摘机器人移动至所述中点处后,发送采摘指令至所述采摘机器人,使所述采摘机器人对左右两侧的果树进行果实采摘;
A6.在所述采摘机器人完成整行果树的果树采摘后,发送换行指令至所述采摘机器人,使所述采摘机器人绕当前左侧或右侧正对的一棵果树进行半圆弧运动实现换行。
该机器人导航控制方法仅依靠视觉传感器实现对采摘机器人的导航控制,无需依赖卫星定位模块进行导航与定位,即使果园的卫星定位信号差或没有卫星定位信号,也能正常进行导航。
优选地,步骤A2包括:
A201.识别所述第一图像中的各果树的标号;所述标号设置在所述果树上且所述标号包括行号和列号;
A202.根据所述标号在预存的位置查询表中查询得到所述第一图像中的各果树的第一位置数据;
A203.根据所述第一位置数据计算所述第一图像中的各果树与所述采摘机器人之间的第一距离数据;
A204.以所述第一距离数据最小的果树为所述第一目标果树,并提取所述第一目标果树的第一位置数据作为所述第一目标果树的位置数据;
A205.根据所述第一目标果树的标号确定第二目标果树,并提取所述第二目标果树的第一位置数据作为所述第二目标果树的位置数据;所述第二目标果树为行号与所述第一目标果树的行号相邻且列号与所述第一目标果树的列号相同的果树。
通过在果树上设置标号,并预先在位置查询表中记录各果树的位置数据,通过识别果树的标号即可查询得到其位置数据,从而能够快速地得到各果树的位置数据,且通过果树标号可快速地确定第二目标果树,从而有利于快速确定采摘机器人需要前往的位置点。
优选地,步骤A205包括:
在行号与所述第一目标果树的行号相邻且列号与所述第一目标果树的列号相同的果树只有一棵时,以该果树为所述第二目标果树;
在行号与所述第一目标果树的行号相邻且列号与所述第一目标果树的列号相同的果树有两棵时,以该两棵果树中距离所述采摘机器人最近的果树为所述第二目标果树。
优选地,步骤A4包括:
根据以下公式计算所述采摘机器人与所述中点的连线的斜率,并根据所述斜率调整所述采摘机器人在纵坐标轴方向的位置,直到所述采摘机器人与所述中点的连线的斜率在预设的允差范围内:
控制所述采摘机器人朝前直线运动到所述中点处。
优选地,所述控制所述采摘机器人朝前直线运动到所述中点处的步骤包括:
控制所述采摘机器人以预设的速度朝前做匀速运动;
根据所述预设的速度和预设的加速度计算刹车距离;所述预设的加速度不大于预设的安全阈值;
在所述采摘机器人与所述中点的距离达到所述刹车距离时,控制所述采摘机器人以所述预设的加速度做匀减速运动直到停止。
优选地,所述在所述采摘机器人与所述中点的距离达到所述刹车距离时,控制所述采摘机器人以所述预设的加速度做匀减速运动直到停止的步骤之后,还包括:
获取两个由所述视觉传感器分别朝所述采摘机器人正左方和正右方拍摄的第二图像;
根据所述第二图像调整所述采摘机器人在横坐标轴方向的位置,使得所述第一目标果树和所述第二目标果树均处于对应的第二图像的预设的中心区域范围内。
由于采摘机器人进行匀减速运动后的停止位置与所述中点之间一般具有偏差,根据第二图像调整所述采摘机器人在横坐标轴方向的位置可减小这种偏差,使采摘机器人比较精确地停止在中点处,避免偏差的积累而影响后续导航的可靠性。
优选地,步骤A6包括:
根据所述采摘机器人的前进方向确定当前左侧或右侧正对的一棵果树为转动中心;
计算所述转动中心与所述采摘机器人当前位置之间的第二距离;
根据所述第二距离生成所述换行指令并发送至所述采摘机器人,使所述采摘机器人绕所述转动中心,沿半径等于所述第二距离的半圆弧运动实现换行。
第二方面,本申请提供了一种机器人导航控制装置,用于对采摘机器人进行导航控制以对成阵列排布的果树进行果实采摘,所述采摘机器人包括视觉传感器;包括:
第一获取模块,用于获取所述视觉传感器朝所述采摘机器人正前方拍摄的第一图像;
第二获取模块,用于根据所述第一图像获取第一目标果树和第二目标果树的位置数据;所述第一目标果树和所述第二目标果树分别是位于所述采摘机器人前方左右两侧的最接近所述采摘机器人的果树;
第一计算模块,用于根据所述第一目标果树和第二目标果树的位置数据计算所述第一目标果树和所述第二目标果树之间的中点的中点位置数据;
运动控制模块,用于根据所述中点位置数据控制所述采摘机器人移动至所述中点处;
采摘模块,用于在所述采摘机器人移动至所述中点处后,发送采摘指令至所述采摘机器人,使所述采摘机器人对左右两侧的果树进行果实采摘;
换行模块,用于在所述采摘机器人完成整行果树的果树采摘后,发送换行指令至所述采摘机器人,使所述采摘机器人绕当前左侧或右侧正对的一棵果树进行半圆弧运动实现换行。
第三方面,本申请提供了一种电子设备,包括处理器和存储器,所述存储器存储有所述处理器可执行的计算机程序,所述处理器执行所述计算机程序时,运行如前文所述机器人导航控制方法中的步骤。
第四方面,本申请提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时运行如前文所述机器人导航控制方法中的步骤。
有益效果:
本申请提供的机器人导航控制方法、装置、电子设备及存储介质,通过获取所述视觉传感器朝所述采摘机器人正前方拍摄的第一图像;根据所述第一图像获取第一目标果树和第二目标果树的位置数据;根据所述第一目标果树和第二目标果树的位置数据计算所述第一目标果树和所述第二目标果树之间的中点的中点位置数据;根据所述中点位置数据控制所述采摘机器人移动至所述中点处;在所述采摘机器人移动至所述中点处后,发送采摘指令至所述采摘机器人,使所述采摘机器人对左右两侧的果树进行果实采摘;在所述采摘机器人完成整行果树的果树采摘后,发送换行指令至所述采摘机器人,使所述采摘机器人绕当前左侧或右侧正对的一棵果树进行半圆弧运动实现换行;从而仅依靠视觉传感器实现对采摘机器人的导航控制,无需依赖卫星定位模块进行导航与定位,即使果园的卫星定位信号差或没有卫星定位信号,也能正常进行导航,且无需事先建立地图,提高了导航易用性。
本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请了解。
附图说明
图1为本申请实施例提供的机器人导航控制方法的一种流程图。
图2为本申请实施例提供的机器人导航控制装置的第一种结构示意图。
图3为本申请实施例提供的电子设备的结构示意图。
图4为示例性的果树分布位置示意图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
请参照图1,图1是本申请一些实施例中的一种机器人导航控制方法,用于对采摘机器人进行导航控制以对成阵列排布的果树进行果实采摘,采摘机器人包括视觉传感器;包括以下步骤:
A1.获取视觉传感器朝采摘机器人正前方拍摄的第一图像;
A2.根据第一图像获取第一目标果树和第二目标果树的位置数据;第一目标果树和第二目标果树分别是位于该采摘机器人前方左右两侧的最接近采摘机器人的果树;
A3.根据第一目标果树和第二目标果树的位置数据计算第一目标果树和第二目标果树之间的中点的中点位置数据;
A4.根据中点位置数据控制采摘机器人移动至中点处;
A5.在采摘机器人移动至中点处后,发送采摘指令至采摘机器人,使采摘机器人对左右两侧的果树进行果实采摘;
A6.在采摘机器人完成整行果树的果树采摘后,发送换行指令至采摘机器人,使采摘机器人绕当前左侧或右侧正对的一棵果树进行半圆弧运动实现换行。
该机器人导航控制方法仅依靠视觉传感器实现对采摘机器人的导航控制,无需依赖卫星定位模块进行导航与定位,即使果园的卫星定位信号差或没有卫星定位信号,也能正常进行导航,且无需事先建立地图,提高了导航易用性。
在一些优选实施方式中,步骤A2包括:
A201.识别第一图像中的各果树的标号;标号设置在果树上且标号包括行号和列号;
A202.根据标号在预存的位置查询表中查询得到第一图像中的各果树的第一位置数据;
A203.根据第一位置数据计算第一图像中的各果树与采摘机器人之间的第一距离数据;
A204.以第一距离数据最小的果树为第一目标果树,并提取第一目标果树的第一位置数据作为第一目标果树的位置数据;
A205.根据第一目标果树的标号确定第二目标果树,并提取第二目标果树的第一位置数据作为第二目标果树的位置数据;第二目标果树为行号与第一目标果树的行号相邻且列号与第一目标果树的列号相同的果树。
在该实施方式中,实现根据果树在阵列中的位置对各果树的标号进行编号(例如第n行、第m列的果树的标号为(n,m)),并把该标号设置在果树上,优选地,可把标号设置在果树的树干上,以避免被树叶遮挡,方便采摘机器人识别标号,但该标号不限于设置在树干上。其中,该标号可直接喷涂在果树上,也可通过标记牌设置在果树上。
在实际应用中,由于视觉传感器具有一个较大的视角(一般不低于90°),第一图像中会包含采摘机器人前侧的多棵果树的图像,从而可从中识别到多个标号;例如图4,图中的圆代表果树,矩形代表采摘机器人,两根虚线之间的范围为视觉传感器朝采摘机器人正前方拍摄时的视场范围,从第一图像中可识别到(n,m)号果树、(n+1,m)号果树、(n-1,m+1)号果树、(n,m+1)号果树、(n+1,m+1)号果树、(n+2,m+1)号果树等多棵果树的标号。在图4中,采摘机器人前方位于采摘机器人左右两侧的最接近采摘机器人的果树分别为(n,m)号果树和(n+1,m)号果树,从而第一目标果树和第二目标果树分别是(n,m)号果树和(n+1,m)号果树。
在该实施方式中,事先测得各果树的位置数据,并把该位置数据记录在位置查询表中,在该位置查询表中建立各果树标号与对应的位置数据的映射关系,并把建立好的位置查询表发送至该采摘机器人,以存储在该采摘机器人的本地存储器中。从而在步骤A202中,只需要根据识别到的标号即可查询得到对应果树的位置数据,从而能够快速地得到各果树的第一位置数据。其中,位置数据为二维坐标数据,包括横坐标值x和纵坐标值y,其中,x坐标轴与果树阵列的行方向平行,y坐标轴与果树阵列的列方向平行,xy坐标系的原点一般设置在果树阵列的其中一个角点的果树位置处,例如图4中,xy坐标系的原点设置在左下角的果树位置处,x轴正方向朝右设置,y轴正方向朝上设置。在实际应用中,也可直接把各果树的位置数据直接标记在对应的果树上,从而直接识别,优选地,可把位置数据设置在果树的树干上,可直接喷涂在果树上,也可通过标记牌设置在果树上,从而可直接从第一图像中的各果树图像中识别得到各果树的位置数据。
在得到各果树的第一位置数据后,可把识别到的每棵果树的第一位置数据及其对应的标号作为一个第一元组(x,y,(n,m))进行存储,并将所有第一元组存放到一个链表List0中;即步骤A202之后还包括:把识别到的各果树的第一位置数据及其对应的标号作为一个第一元组(x,y,(n,m))进行存储,并将所有第一元组存放到一个链表List0中。
步骤A203中,可根据以下公式计算各果树与采摘机器人之间的第一距离数据:
其中,d为果树与采摘机器人之间的第一距离数据,x、y分别为果树的横坐标值和纵坐标值,、分别为采摘机器人当前位置的横坐标值和纵坐标值;其中,在实际使用时,一般是把采摘机器人放置在(0,0)号果树附近的预设起始点处(例如图4中的O点处),该预设起始点的位置数据可预先测得,因此是已知的,从而、的初始值分别为该预设起始点的横坐标值和纵坐标值,其后,由于每次在一个中点位置处完成采摘后才需要确定下一个中点的位置,从而才需要再次执行步骤A1-A5,从而在后续导航过程中,执行步骤A203时,采摘机器人的当前位置是对应的中点(即上一次确定的中点)的位置,此时的、值分别等于对应的中点的横坐标值和纵坐标值。
在计算得到各果树与采摘机器人之间的第一距离数据后,可把识别到的每棵果树的第一距离数据及其标号作为一个第二元组(d,(n,m))进行存储,并把所有第二元组存放到一个链表List1中;即步骤A203之后还包括:把识别到的各果树的第一距离数据及其对应的标号作为一个第二元组(d,(n,m))进行存储,并将所有第二元组存放到一个链表List1中。
在步骤A204中,可根据第一距离数据d的大小对识别到的各果树进行降序排序,并以排序第一的果树为第一目标果树,进而根据第一目标果树的标号提取第一目标果树的第一位置数据作为第一目标果树的位置数据。例如,可根据第一距离数据d的大小对链表List1中的各第二元组进行降序排序,并提取排序第一的第二元组中标号,得到第一目标果树的标号,进而根据第一目标果树的标号在链表List0中对应的第一元组中提取第一位置数据,得到第一目标果树的位置数据。
优选地,步骤A205包括:
在行号与第一目标果树的行号相邻且列号与第一目标果树的列号相同的果树只有一棵时,以该果树为第二目标果树;
在行号与第一目标果树的行号相邻且列号与第一目标果树的列号相同的果树有两棵时,以该两棵果树中距离采摘机器人最近的果树为第二目标果树。
此处,行号相邻的果树是指行号与第一目标果树的行号相差1或-1的果树。一般地,当采摘机器人处于第一行果树与第二行果树之间的过道中时,或处于最后一行果树与倒数第二行果树之间的过道时,会出现行号与第一目标果树的行号相邻且列号与第一目标果树的列号相同的果树只有一棵的情况,在其它位置,行号与第一目标果树的行号相邻且列号与第一目标果树的列号相同的果树均会有两棵。例如,当确定第一目标果树的标号为(n,m)后,可在链表List0中筛选出列号为m、行号为n+1或n-1的第一元组,若只筛选出一个第一元组,假设其行号为n+1,则提取该第一元组的标号和第一位置数据,得到第二目标果树的标号(n+1,m)和第一位置数据;若筛选出两个第一元组,则根据该两个第一元组的标号(分别为(n-1,m)、(n+1,m))在链表List1中提取对应的两个第二元组中第一距离数据d,通过比较两个第一距离数据d的大小,提取第一距离数据d较小的一个第二元组的标号得到第二目标果树的标号,假设该标号为(n+1,m),再根据该第二目标果树的标号(n+1,m)在链表List0中提取对应的第一元组中的第一位置数据得到该第二目标果树的位置数据。
通过上述方法确定的第一目标果树和第二目标果树实质上是采摘机器人当前所在的过道两侧的位于采摘机器人前侧的两棵最靠近采摘机器人的果树,从而使采摘机器人沿该过道的中线依次移动到各采摘点(中点)处。
具体地,步骤A3中通过以下公式计算第一目标果树和第二目标果树之间的中点的中点位置数据:
进一步地,步骤A4包括:
A401. 根据以下公式计算采摘机器人与中点的连线的斜率,并根据该斜率调整采摘机器人在纵坐标轴方向的位置,直到采摘机器人与中点的连线的斜率在预设的允差范围内:
A402.控制采摘机器人朝前直线运动到中点处。
在步骤A401中,可先计算一个斜率K的值,根据K的正负判断调整采摘机器人在纵坐标轴方向的位置时的调整方向(例如,若K小于0,则需要往y轴正方向调整采摘机器人的位置,若K大于0,则需要往y轴负方向调整采摘机器人的位置),然后以预设步长沿对应的方向调整采摘机器人在纵坐标轴方向的位置(此时,采摘机器人的纵坐标值累加正的步长值或负的步长值),然后再次计算斜率K的值,直到斜率K的值在预设的允差范围内(该允差范围可根据实际需要设置,例如-1°至1°,但不限于此),则停止调整。可使用底盘可90°旋转的采摘机器人进行采摘,从而当进行纵坐标轴方向的位置调整时,可使底盘在原地旋转90°,再进行调整,调整完后,再使底盘在原地旋转-90°后朝前直线运动到中点处。
优选地,控制采摘机器人朝前直线运动到中点处的步骤包括:
控制采摘机器人以预设的速度朝前做匀速运动;
根据预设的速度和预设的加速度计算刹车距离;预设的加速度不大于预设的安全阈值;
在采摘机器人与中点的距离达到刹车距离时,控制采摘机器人以预设的加速度做匀减速运动直到停止。
由于采摘机器人采摘的果实是存储在采摘机器人上的采集箱中的,若机器人刹车急停容易导致果实由于晃动过于剧烈而被挤压受损,因此需要采摘机器人采用缓减速的策略刹车。其中预设的安全阈值是预先通过试验确定的可避免果实由于晃动过于剧烈而被挤压受损的最大加速度值。其中,可通过以下公式计算刹车距离:
其中,S为刹车距离,v为预设的速度,a为预设的加速度。
由于采摘机器人是在x轴方向移动的,其移动了的距离△x可直接从采摘机器人的控制器中读取,而在调整完采摘机器人的纵坐标轴方向的位置后,采摘机器人与中点的距离等于中点的横坐标值与采摘机器人的横坐标值之间的间隔L,从而采摘机器人与中点的距离s=L-△x。在采摘机器人朝前移动时实时计算该距离s,当s=S时开始做匀减速运动。从而当采摘机器人停止移动时,其位置基本等于目标中点(即最新确定的中点)的位置。
进一步地,在采摘机器人与中点的距离达到刹车距离时,控制采摘机器人以预设的加速度做匀减速运动直到停止的步骤之后,还包括:
获取两个由视觉传感器分别朝采摘机器人正左方和正右方拍摄的第二图像;
根据第二图像调整采摘机器人在横坐标轴方向的位置,使得第一目标果树和第二目标果树均处于对应的第二图像的预设的中心区域范围内。
由于采摘机器人进行匀减速运动后的停止位置与目标中点之间一般具有偏差,根据第二图像调整采摘机器人在横坐标轴方向的位置可减小这种偏差,使采摘机器人比较精确地停止在中点处,避免偏差的积累而影响后续导航的可靠性:从前文可知,在计算采摘机器人与果树的距离和计算刹车距离时使用的采摘机器人的位置数据均是上一次确定的中点位置数据,若不调整采摘机器人在横坐标轴方向的位置,则这种偏差会逐渐积累变大,最终导致导航出错;而每次停止后均进行一次横坐标轴方向的位置调整,则可避免这种偏差的积累,保证导航的可靠性。
其中,可在采摘机器人设置三个视觉传感器,三个视觉传感器分别朝采摘机器人的正前方、正左方和正右方设置,从而由朝正前方的视觉传感器拍摄第一图像,由朝正左方和朝正右方的视觉传感器拍摄第二图像;或者,在采摘机器人设置一个可旋转的视觉传感器,在拍摄第一图像时,使该视觉传感器朝正前方,在拍摄第二图像时使该视觉传感器依次转到朝正左方和朝正右方的方向。
其中,预设的中心区域范围内是以第二图像的纵向中心线为中线的预设像素宽度的带状区域,一般地,当果树的树干中心线落入该预设的中心区域范围,则判定该果树处于该预设的中心区域范围内,此时表明该果树位于采摘机器人的正左方或正右方。
其中,步骤A5中,采摘机器人根据预设程序进行果实采摘,具体的采摘程序可参考现有技术。
优选地,步骤A6包括:
根据采摘机器人的前进方向确定当前左侧或右侧正对的一棵果树为转动中心;
计算转动中心与采摘机器人当前位置之间的第二距离;
根据第二距离生成换行指令并发送至采摘机器人,使采摘机器人绕转动中心,沿半径等于第二距离的半圆弧运动实现换行。
由于采摘机器人一般是从(0,0)号果树位置附近开始进行采摘的,因此,在换行时需要往正y轴方向换行,需要绕当前左侧和右侧正对的两棵果树中行号较大的一棵果树转动换行。当然,若采摘机器人是从行号最大的果树附近开始进行采摘的,则在换行时需要往负y轴方向换行,从而需要绕当前左侧和右侧正对的两棵果树中行号较小的一棵果树转动换行。
以图4为例,采摘机器人从(0,0)号果树位置附近的O点开始采摘,当采摘机器人在过道中沿正x轴方向移动至尽头时(在完成该位置的果树采摘时,判定采摘机器人完成整行果树的果树采摘),此时采摘机器人的前进为正方向,当前左侧正对的果树的行号比当前右侧正对的果树的行号大,从而,以当前左侧正对的果树为转动中心进行转动换行;换行后,采摘机器人会在过道中沿负x轴方向移动,当移动至尽头时,此时采摘机器人的前进为负方向,当前左侧正对的果树的行号比当前右侧正对的果树的行号小,从而,以当前右侧正对的果树为转动中心进行转动换行;依次类推直到完成所有果树的采摘。
其中,计算转动中心与采摘机器人当前位置之间的第二距离时,根据作为转动中心的果树的位置数据和采摘机器人当前位置的位置数据进行计算。
由上可知,该机器人导航控制方法,通过获取视觉传感器朝采摘机器人正前方拍摄的第一图像;根据第一图像获取第一目标果树和第二目标果树的位置数据;根据第一目标果树和第二目标果树的位置数据计算第一目标果树和第二目标果树之间的中点的中点位置数据;根据中点位置数据控制采摘机器人移动至中点处;在采摘机器人移动至中点处后,发送采摘指令至采摘机器人,使采摘机器人对左右两侧的果树进行果实采摘;在采摘机器人完成整行果树的果树采摘后,发送换行指令至采摘机器人,使采摘机器人绕当前左侧或右侧正对的一棵果树进行半圆弧运动实现换行;从而仅依靠视觉传感器实现对采摘机器人的导航控制,无需依赖卫星定位模块进行导航与定位,即使果园的卫星定位信号差或没有卫星定位信号,也能正常进行导航,且无需事先建立地图,提高了导航易用性。
参考图2,本申请提供了一种机器人导航控制装置,用于对采摘机器人进行导航控制以对成阵列排布的果树进行果实采摘,采摘机器人包括视觉传感器;包括:
第一获取模块1,用于获取视觉传感器朝采摘机器人正前方拍摄的第一图像;
第二获取模块2,用于根据第一图像获取第一目标果树和第二目标果树的位置数据;第一目标果树和第二目标果树分别是位于该采摘机器人前方左右两侧的最接近采摘机器人的果树;
第一计算模块3,用于根据第一目标果树和第二目标果树的位置数据计算第一目标果树和第二目标果树之间的中点的中点位置数据;
运动控制模块4,用于根据中点位置数据控制采摘机器人移动至中点处;
采摘模块5,用于在采摘机器人移动至中点处后,发送采摘指令至采摘机器人,使采摘机器人对左右两侧的果树进行果实采摘;
换行模块6,用于在采摘机器人完成整行果树的果树采摘后,发送换行指令至采摘机器人,使采摘机器人绕当前左侧或右侧正对的一棵果树进行半圆弧运动实现换行。
在一些优选实施方式中,第二获取模块2用于在根据第一图像获取第一目标果树和第二目标果树的位置数据的时候,执行:
识别第一图像中的各果树的标号;标号设置在果树上且标号包括行号和列号;
根据标号在预存的位置查询表中查询得到第一图像中的各果树的第一位置数据;
根据第一位置数据计算第一图像中的各果树与采摘机器人之间的第一距离数据;
以第一距离数据最小的果树为第一目标果树,并提取第一目标果树的第一位置数据作为第一目标果树的位置数据;
根据第一目标果树的标号确定第二目标果树,并提取第二目标果树的第一位置数据作为第二目标果树的位置数据;第二目标果树为行号与第一目标果树的行号相邻且列号与第一目标果树的列号相同的果树。
在该实施方式中,实现根据果树在阵列中的位置对各果树的标号进行编号(例如第n行、第m列的果树的标号为(n,m)),并把该标号设置在果树上,优选地,可把标号设置在果树的树干上,以避免被树叶遮挡,方便采摘机器人识别标号,但该标号不限于设置在树干上。其中,该标号可直接喷涂在果树上,也可通过标记牌设置在果树上。
在实际应用中,由于视觉传感器具有一个较大的视角(一般不低于90°),第一图像中会包含采摘机器人前侧的多棵果树的图像,从而可从中识别到多个标号;例如图4,图中的圆代表果树,矩形代表采摘机器人,两根虚线之间的范围为视觉传感器朝采摘机器人正前方拍摄时的视场范围,从第一图像中可识别到(n,m)号果树、(n+1,m)号果树、(n-1,m+1)号果树、(n,m+1)号果树、(n+1,m+1)号果树、(n+2,m+1)号果树等多棵果树的标号。在图4中,采摘机器人前方位于采摘机器人左右两侧的最接近采摘机器人的果树分别为(n,m)号果树和(n+1,m)号果树,从而第一目标果树和第二目标果树分别是(n,m)号果树和(n+1,m)号果树。
在该实施方式中,事先测得各果树的位置数据,并把该位置数据记录在位置查询表中,在该位置查询表中建立各果树标号与对应的位置数据的映射关系,并把建立好的位置查询表发送至该采摘机器人,以存储在该采摘机器人的本地存储器中。从而第二获取模块2只需要根据识别到的标号即可查询得到对应果树的位置数据,从而能够快速地得到各果树的第一位置数据。其中,位置数据为二维坐标数据,包括横坐标值x和纵坐标值y,其中,x坐标轴与果树阵列的行方向平行,y坐标轴与果树阵列的列方向平行,xy坐标系的原点一般设置在果树阵列的其中一个角点的果树位置处,例如图4中,xy坐标系的原点设置在左下角的果树位置处,x轴正方向朝右设置,y轴正方向朝上设置。在实际应用中,也可直接把各果树的位置数据直接标记在对应的果树上,从而直接识别,优选地,可把位置数据设置在果树的树干上,可直接喷涂在果树上,也可通过标记牌设置在果树上,从而可直接从第一图像中的各果树图像中识别得到各果树的位置数据。
在得到各果树的第一位置数据后,可把识别到的每棵果树的第一位置数据及其对应的标号作为一个第一元组(x,y,(n,m))进行存储,并将所有第一元组存放到一个链表List0中;即第二获取模块2还用于:把识别到的各果树的第一位置数据及其对应的标号作为一个第一元组(x,y,(n,m))进行存储,并将所有第一元组存放到一个链表List0中。
第二获取模块2可根据以下公式计算各果树与采摘机器人之间的第一距离数据:
其中,d为果树与采摘机器人之间的第一距离数据,x、y分别为果树的横坐标值和纵坐标值,、分别为采摘机器人当前位置的横坐标值和纵坐标值;其中,在实际使用时,一般是把采摘机器人放置在(0,0)号果树附近的预设起始点处(例如图4中的O点处),该预设起始点的位置数据可预先测得,因此是已知的,从而、的初始值分别为该预设起始点的横坐标值和纵坐标值,其后,由于每次在一个中点位置处完成采摘后才需要确定下一个中点的位置,从而在后续导航过程中,采摘机器人的当前位置是对应的中点(即上一次确定的中点)的位置,此时的、值分别等于对应的中点的横坐标值和纵坐标值。
在计算得到各果树与采摘机器人之间的第一距离数据后,可把识别到的每棵果树的第一距离数据及其标号作为一个第二元组(d,(n,m))进行存储,并把所有第二元组存放到一个链表List1中;即第二获取模块2还用于:把识别到的各果树的第一距离数据及其对应的标号作为一个第二元组(d,(n,m))进行存储,并将所有第二元组存放到一个链表List1中。
第二获取模块2可根据第一距离数据d的大小对识别到的各果树进行降序排序,并以排序第一的果树为第一目标果树,进而根据第一目标果树的标号提取第一目标果树的第一位置数据作为第一目标果树的位置数据。例如,可根据第一距离数据d的大小对链表List1中的各第二元组进行降序排序,并提取排序第一的第二元组中标号,得到第一目标果树的标号,进而根据第一目标果树的标号在链表List0中对应的第一元组中提取第一位置数据,得到第一目标果树的位置数据。
优选地,第二获取模块2在根据第一目标果树的标号确定第二目标果树,并提取第二目标果树的第一位置数据作为第二目标果树的位置数据的时候:
在行号与第一目标果树的行号相邻且列号与第一目标果树的列号相同的果树只有一棵时,以该果树为第二目标果树;
在行号与第一目标果树的行号相邻且列号与第一目标果树的列号相同的果树有两棵时,以该两棵果树中距离采摘机器人最近的果树为第二目标果树。
此处,行号相邻的果树是指行号与第一目标果树的行号相差1或-1的果树。一般地,当采摘机器人处于第一行果树与第二行果树之间的过道中时,或处于最后一行果树与倒数第二行果树之间的过道时,会出现行号与第一目标果树的行号相邻且列号与第一目标果树的列号相同的果树只有一棵的情况,在其它位置,行号与第一目标果树的行号相邻且列号与第一目标果树的列号相同的果树均会有两棵。例如,当确定第一目标果树的标号为(n,m)后,可在链表List0中筛选出列号为m、行号为n+1或n-1的第一元组,若只筛选出一个第一元组,假设其行号为n+1,则提取该第一元组的标号和第一位置数据,得到第二目标果树的标号(n+1,m)和第一位置数据;若筛选出两个第一元组,则根据该两个第一元组的标号(分别为(n-1,m)、(n+1,m))在链表List1中提取对应的两个第二元组中第一距离数据d,通过比较两个第一距离数据d的大小,提取第一距离数据d较小的一个第二元组的标号得到第二目标果树的标号,假设该标号为(n+1,m),再根据该第二目标果树的标号(n+1,m)在链表List0中提取对应的第一元组中的第一位置数据得到该第二目标果树的位置数据。
通过上述方式确定的第一目标果树和第二目标果树实质上是采摘机器人当前所在的过道两侧的位于采摘机器人前侧的两棵最靠近采摘机器人的果树,从而使采摘机器人沿该过道的中线依次移动到各采摘点(中点)处。
具体地,第一计算模块3通过以下公式计算第一目标果树和第二目标果树之间的中点的中点位置数据:
进一步地,运动控制模块4用于在根据中点位置数据控制采摘机器人移动至中点处的时候,执行:
根据以下公式计算采摘机器人与中点的连线的斜率,并根据该斜率调整采摘机器人在纵坐标轴方向的位置,直到采摘机器人与中点的连线的斜率在预设的允差范围内:
控制采摘机器人朝前直线运动到中点处。
其中,可先计算一个斜率K的值,根据K的正负判断调整采摘机器人在纵坐标轴方向的位置时的调整方向(例如,若K小于0,则需要往y轴正方向调整采摘机器人的位置,若K大于0,则需要往y轴负方向调整采摘机器人的位置),然后以预设步长沿对应的方向调整采摘机器人在纵坐标轴方向的位置(此时,采摘机器人的纵坐标值累加正的步长值或负的步长值),然后再次计算斜率K的值,直到斜率K的值在预设的允差范围内(该允差范围可根据实际需要设置,例如-1°至1°,但不限于此),则停止调整。可使用底盘可90°旋转的采摘机器人进行采摘,从而当进行纵坐标轴方向的位置调整时,可使底盘在原地旋转90°,再进行调整,调整完后,再使底盘在原地旋转-90°后朝前直线运动到中点处。
优选地,运动控制模块4在控制采摘机器人朝前直线运动到中点处的时候,执行:
控制采摘机器人以预设的速度朝前做匀速运动;
根据预设的速度和预设的加速度计算刹车距离;预设的加速度不大于预设的安全阈值;
在采摘机器人与中点的距离达到刹车距离时,控制采摘机器人以预设的加速度做匀减速运动直到停止。
由于采摘机器人采摘的果实是存储在采摘机器人上的采集箱中的,若机器人刹车急停容易导致果实由于晃动过于剧烈而被挤压受损,因此需要在采摘机器人采用缓减速的策略刹车。其中预设的安全阈值是预先通过试验确定的可避免果实由于晃动过于剧烈而被挤压受损的最大加速度值。其中,可通过以下公式计算刹车距离:
其中,S为刹车距离,v为预设的速度,a为预设的加速度。
由于采摘机器人是在x轴方向移动的,其移动了的距离△x可直接从采摘机器人的控制器中读取,而在调整完采摘机器人的纵坐标轴方向的位置后,采摘机器人与中点的距离等于中点的横坐标值与采摘机器人的横坐标值之间的间隔L,从而采摘机器人与中点的距离s=L-△x。在采摘机器人朝前移动时实时计算该距离s,当s=S时开始做匀减速运动。从而当采摘机器人停止移动时,其位置基本等于目标中点(即最新确定的中点)的位置。
进一步地,运动控制模块4还用于在采摘机器人与中点的距离达到刹车距离时,控制采摘机器人以预设的加速度做匀减速运动直到停止之后,执行:
获取两个由视觉传感器分别朝采摘机器人正左方和正右方拍摄的第二图像;
根据第二图像调整采摘机器人在横坐标轴方向的位置,使得第一目标果树和第二目标果树均处于对应的第二图像的预设的中心区域范围内。
由于采摘机器人进行匀减速运动后的停止位置与目标中点之间一般具有偏差,根据第二图像调整采摘机器人在横坐标轴方向的位置可减小这种偏差,使采摘机器人比较精确地停止在中点处,避免偏差的积累而影响后续导航的可靠性:从前文可知,在计算采摘机器人与果树的距离和计算刹车距离时使用的采摘机器人的位置数据均是上一次确定的中点位置数据,若不调整采摘机器人在横坐标轴方向的位置,则这种偏差会逐渐积累变大,最终导致导航出错;而每次停止后均进行一次横坐标轴方向的位置调整,则可避免这种偏差的积累,保证导航的可靠性。
其中,可在采摘机器人设置三个视觉传感器,三个视觉传感器分别朝采摘机器人的正前方、正左方和正右方设置,从而由朝正前方的视觉传感器拍摄第一图像,由朝正左方和朝正右方的视觉传感器拍摄第二图像;或者,在采摘机器人设置一个可旋转的视觉传感器,在拍摄第一图像时,使该视觉传感器朝正前方,在拍摄第二图像时使该视觉传感器依次转到朝正左方和朝正右方的方向。
其中,预设的中心区域范围内是以第二图像的纵向中心线为中线的预设像素宽度的带状区域,一般地,当果树的树干中心线落入该预设的中心区域范围,则判定该果树处于该预设的中心区域范围内,此时表明该果树位于采摘机器人的正左方或正右方。
优选地,换行模块6用于在采摘机器人完成整行果树的果树采摘后,发送换行指令至采摘机器人,使采摘机器人绕当前左侧或右侧正对的一棵果树进行半圆弧运动实现换行的时候,执行:
根据采摘机器人的前进方向确定当前左侧或右侧正对的一棵果树为转动中心;
计算转动中心与采摘机器人当前位置之间的第二距离;
根据第二距离生成换行指令并发送至采摘机器人,使采摘机器人绕转动中心,沿半径等于第二距离的半圆弧运动实现换行。
由于采摘机器人一般是从(0,0)号果树位置附近开始进行采摘的,因此,在换行时需要往正y轴方向换行,需要绕当前左侧和右侧正对的两棵果树中行号较大的一棵果树转动换行。当然,若采摘机器人是从行号最大的果树附近开始进行采摘的,则在换行时需要往负y轴方向换行,从而需要绕当前左侧和右侧正对的两棵果树中行号较小的一棵果树转动换行。
以图4为例,采摘机器人从(0,0)号果树位置附近的O点开始采摘,当采摘机器人在过道中沿正x轴方向移动至尽头时(在完成该位置的果树采摘时,判定采摘机器人完成整行果树的果树采摘),此时采摘机器人的前进为正方向,当前左侧正对的果树的行号比当前右侧正对的果树的行号大,从而,以当前左侧正对的果树为转动中心进行转动换行;换行后,采摘机器人会在过道中沿负x轴方向移动,当移动至尽头时,此时采摘机器人的前进为负方向,当前左侧正对的果树的行号比当前右侧正对的果树的行号小,从而,以当前右侧正对的果树为转动中心进行转动换行;依次类推直到完成所有果树的采摘。
其中,计算转动中心与采摘机器人当前位置之间的第二距离时,根据作为转动中心的果树的位置数据和采摘机器人当前位置的位置数据进行计算。
由上可知,该机器人导航控制装置,通过获取视觉传感器朝采摘机器人正前方拍摄的第一图像;根据第一图像获取第一目标果树和第二目标果树的位置数据;根据第一目标果树和第二目标果树的位置数据计算第一目标果树和第二目标果树之间的中点的中点位置数据;根据中点位置数据控制采摘机器人移动至中点处;在采摘机器人移动至中点处后,发送采摘指令至采摘机器人,使采摘机器人对左右两侧的果树进行果实采摘;在采摘机器人完成整行果树的果树采摘后,发送换行指令至采摘机器人,使采摘机器人绕当前左侧或右侧正对的一棵果树进行半圆弧运动实现换行;从而仅依靠视觉传感器实现对采摘机器人的导航控制,无需依赖卫星定位模块进行导航与定位,即使果园的卫星定位信号差或没有卫星定位信号,也能正常进行导航,且无需事先建立地图,提高了导航易用性。
请参照图3,图3为本申请实施例提供的一种电子设备的结构示意图,本申请提供一种电子设备,包括:处理器301和存储器302,处理器301和存储器302通过通信总线303和/或其他形式的连接机构(未标出)互连并相互通讯,存储器302存储有处理器301可执行的计算机程序,当电子设备运行时,处理器301执行该计算机程序,以执行上述实施例的任一可选的实现方式中的机器人导航控制方法,以实现以下功能:获取视觉传感器朝采摘机器人正前方拍摄的第一图像;根据第一图像获取第一目标果树和第二目标果树的位置数据;根据第一目标果树和第二目标果树的位置数据计算第一目标果树和第二目标果树之间的中点的中点位置数据;根据中点位置数据控制采摘机器人移动至中点处;在采摘机器人移动至中点处后,发送采摘指令至采摘机器人,使采摘机器人对左右两侧的果树进行果实采摘;在采摘机器人完成整行果树的果树采摘后,发送换行指令至采摘机器人,使采摘机器人绕当前左侧或右侧正对的一棵果树进行半圆弧运动实现换行。
本申请实施例提供一种存储介质,其上存储有计算机程序,计算机程序被处理器执行时,执行上述实施例的任一可选的实现方式中的机器人导航控制方法,以实现以下功能:获取视觉传感器朝采摘机器人正前方拍摄的第一图像;根据第一图像获取第一目标果树和第二目标果树的位置数据;根据第一目标果树和第二目标果树的位置数据计算第一目标果树和第二目标果树之间的中点的中点位置数据;根据中点位置数据控制采摘机器人移动至中点处;在采摘机器人移动至中点处后,发送采摘指令至采摘机器人,使采摘机器人对左右两侧的果树进行果实采摘;在采摘机器人完成整行果树的果树采摘后,发送换行指令至采摘机器人,使采摘机器人绕当前左侧或右侧正对的一棵果树进行半圆弧运动实现换行。其中,存储介质可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random Access Memory, 简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory, 简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory, 简称EPROM),可编程只读存储器(Programmable Red-Only Memory, 简称PROM),只读存储器(Read-OnlyMemory, 简称ROM),磁存储器,快闪存储器,磁盘或光盘。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (9)
1.一种机器人导航控制方法,用于对采摘机器人进行导航控制以对成阵列排布的果树进行果实采摘,所述采摘机器人包括视觉传感器;其特征在于,包括以下步骤:
A1.获取所述视觉传感器朝所述采摘机器人正前方拍摄的第一图像;
A2.根据所述第一图像获取第一目标果树和第二目标果树的位置数据;所述第一目标果树和所述第二目标果树分别是位于所述采摘机器人前方左右两侧的最接近所述采摘机器人的果树;
A3.根据所述第一目标果树和所述第二目标果树的位置数据计算所述第一目标果树和所述第二目标果树之间的中点的中点位置数据;
A4.根据所述中点位置数据控制所述采摘机器人移动至所述中点处;
A5.在所述采摘机器人移动至所述中点处后,发送采摘指令至所述采摘机器人,使所述采摘机器人对左右两侧的果树进行果实采摘;
A6.在所述采摘机器人完成整行果树的果树采摘后,发送换行指令至所述采摘机器人,使所述采摘机器人绕当前左侧或右侧正对的一棵果树进行半圆弧运动实现换行;
步骤A2包括:
A201.识别所述第一图像中的各果树的标号;所述标号设置在所述果树上且所述标号包括行号和列号;
A202.根据所述标号在预存的位置查询表中查询得到所述第一图像中的各果树的第一位置数据;
A203.根据所述第一位置数据计算所述第一图像中的各果树与所述采摘机器人之间的第一距离数据;
A204.以所述第一距离数据最小的果树为所述第一目标果树,并提取所述第一目标果树的第一位置数据作为所述第一目标果树的位置数据;
A205.根据所述第一目标果树的标号确定第二目标果树,并提取所述第二目标果树的第一位置数据作为所述第二目标果树的位置数据;所述第二目标果树为行号与所述第一目标果树的行号相邻且列号与所述第一目标果树的列号相同的果树。
2.根据权利要求1所述的机器人导航控制方法,其特征在于,步骤A205包括:
在行号与所述第一目标果树的行号相邻且列号与所述第一目标果树的列号相同的果树只有一棵时,以该果树为所述第二目标果树;
在行号与所述第一目标果树的行号相邻且列号与所述第一目标果树的列号相同的果树有两棵时,以该两棵果树中距离所述采摘机器人最近的果树为所述第二目标果树。
4.根据权利要求3所述的机器人导航控制方法,其特征在于,所述控制所述采摘机器人朝前直线运动到所述中点处的步骤包括:
控制所述采摘机器人以预设的速度朝前做匀速运动;
根据所述预设的速度和预设的加速度计算刹车距离;所述预设的加速度不大于预设的安全阈值;
在所述采摘机器人与所述中点的距离达到所述刹车距离时,控制所述采摘机器人以所述预设的加速度做匀减速运动直到停止。
5.根据权利要求4所述的机器人导航控制方法,其特征在于,所述在所述采摘机器人与所述中点的距离达到所述刹车距离时,控制所述采摘机器人以所述预设的加速度做匀减速运动直到停止的步骤之后,还包括:
获取两个由所述视觉传感器分别朝所述采摘机器人正左方和正右方拍摄的第二图像;
根据所述第二图像调整所述采摘机器人在横坐标轴方向的位置,使得所述第一目标果树和所述第二目标果树均处于对应的第二图像的预设的中心区域范围内。
6.根据权利要求1所述的机器人导航控制方法,其特征在于,步骤A6包括:
根据所述采摘机器人的前进方向确定当前左侧或右侧正对的一棵果树为转动中心;
计算所述转动中心与所述采摘机器人当前位置之间的第二距离;
根据所述第二距离生成所述换行指令并发送至所述采摘机器人,使所述采摘机器人绕所述转动中心,沿半径等于所述第二距离的半圆弧运动实现换行。
7.一种机器人导航控制装置,用于对采摘机器人进行导航控制以对成阵列排布的果树进行果实采摘,所述采摘机器人包括视觉传感器;其特征在于,包括:
第一获取模块,用于获取所述视觉传感器朝所述采摘机器人正前方拍摄的第一图像;
第二获取模块,用于根据所述第一图像获取第一目标果树和第二目标果树的位置数据;所述第一目标果树和所述第二目标果树分别是位于所述采摘机器人前方左右两侧的最接近所述采摘机器人的果树;
第一计算模块,用于根据所述第一目标果树和第二目标果树的位置数据计算所述第一目标果树和所述第二目标果树之间的中点的中点位置数据;
运动控制模块,用于根据所述中点位置数据控制所述采摘机器人移动至所述中点处;
采摘模块,用于在所述采摘机器人移动至所述中点处后,发送采摘指令至所述采摘机器人,使所述采摘机器人对左右两侧的果树进行果实采摘;
换行模块,用于在所述采摘机器人完成整行果树的果树采摘后,发送换行指令至所述采摘机器人,使所述采摘机器人绕当前左侧或右侧正对的一棵果树进行半圆弧运动实现换行;
所述第二获取模块用于在根据所述第一图像获取第一目标果树和第二目标果树的位置数据的时候,执行:
识别所述第一图像中的各果树的标号;所述标号设置在所述果树上且所述标号包括行号和列号;
根据所述标号在预存的位置查询表中查询得到所述第一图像中的各果树的第一位置数据;
根据所述第一位置数据计算所述第一图像中的各果树与所述采摘机器人之间的第一距离数据;
以所述第一距离数据最小的果树为所述第一目标果树,并提取所述第一目标果树的第一位置数据作为所述第一目标果树的位置数据;
根据所述第一目标果树的标号确定第二目标果树,并提取所述第二目标果树的第一位置数据作为所述第二目标果树的位置数据;所述第二目标果树为行号与所述第一目标果树的行号相邻且列号与所述第一目标果树的列号相同的果树。
8.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有所述处理器可执行的计算机程序,所述处理器执行所述计算机程序时,运行如权利要求1-6任一项所述机器人导航控制方法中的步骤。
9.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时运行如权利要求1-6任一项所述机器人导航控制方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111194268.XA CN113618746B (zh) | 2021-10-13 | 2021-10-13 | 机器人导航控制方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111194268.XA CN113618746B (zh) | 2021-10-13 | 2021-10-13 | 机器人导航控制方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113618746A CN113618746A (zh) | 2021-11-09 |
CN113618746B true CN113618746B (zh) | 2022-01-18 |
Family
ID=78391320
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111194268.XA Active CN113618746B (zh) | 2021-10-13 | 2021-10-13 | 机器人导航控制方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113618746B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114175927B (zh) * | 2021-11-29 | 2022-10-18 | 季华实验室 | 一种圣女果采摘方法及圣女果采摘机械手 |
CN116872217B (zh) * | 2023-09-04 | 2023-11-17 | 深圳市普渡科技有限公司 | 机器人控制方法、装置、机器人和存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2606573B1 (fr) * | 1986-11-06 | 1993-08-06 | Cemagref | Procede et dispositif de preselection spectrale analogique en temps reel, par exemple pour systeme de vision artificielle |
CN206237830U (zh) * | 2016-08-29 | 2017-06-13 | 西北农林科技大学 | 一种基于红外摄像机的猕猴桃采摘机器人导航系统 |
EP4273655A3 (en) * | 2016-11-08 | 2023-12-20 | Dogtooth Technologies Limited | A robotic fruit picking system |
CN110470312B (zh) * | 2018-05-09 | 2021-11-16 | 北京外号信息技术有限公司 | 基于光标签网络的导航方法和相应的计算设备 |
CN110249785B (zh) * | 2019-07-23 | 2020-07-14 | 中国农业大学 | 一种多机械手串番茄采摘机器人及其采摘方法 |
CN113228938A (zh) * | 2021-05-31 | 2021-08-10 | 广东若铂智能机器人有限公司 | 采摘机器人slam激光视觉导航方法 |
-
2021
- 2021-10-13 CN CN202111194268.XA patent/CN113618746B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113618746A (zh) | 2021-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113618746B (zh) | 机器人导航控制方法、装置、电子设备及存储介质 | |
CN110411441B (zh) | 用于多模态映射和定位的系统和方法 | |
US10746858B2 (en) | Calibration for an autonomous vehicle LIDAR module | |
CN113544616B (zh) | 使用货架支柱标识的通道末端保护和车辆位置校准的系统和方法 | |
CN106541404B (zh) | 一种机器人视觉定位导航方法 | |
Zhang et al. | Deep-learning-based in-field citrus fruit detection and tracking | |
US20190056483A1 (en) | Calibration for an autonomous vehicle lidar module | |
EP3824365B1 (en) | System for vehicle position calibration using rack leg identification | |
US20210041886A1 (en) | Multi-device visual navigation method and system in variable scene | |
CN105511471B (zh) | 一种机器人终端行驶路线偏差的纠正方法及装置 | |
CN107943090A (zh) | 一种无人机的降落方法及系统 | |
CN104986338A (zh) | 用于物流配送的旋翼式无人机停放系统及应用方法 | |
CN113013781B (zh) | 基于图像处理的激光发射及动态校准装置、方法、设备和介质 | |
CN109920006A (zh) | 一种青饲机自动抛送系统位姿变换矩阵的标定方法 | |
US9164170B2 (en) | Systems and methods for autotilting a ground-mapping radar | |
CN114359394B (zh) | 一种双目视觉的定位方法、装置、电子设备及存储介质 | |
CN113814987B (zh) | 多相机机器人手眼标定方法、装置、电子设备及存储介质 | |
WO2024067133A1 (zh) | 基于3d地图的无人驾驶航空器飞行控制方法、系统和介质 | |
CN113744305A (zh) | 目标物检测方法、装置、电子设备和计算机存储介质 | |
US20230136427A1 (en) | Fruit picking method based on visual servo control robot | |
CN115686073A (zh) | 一种基于无人机的输电线路巡检控制方法及系统 | |
CN113093176B (zh) | 线状障碍物检测方法、装置、电子设备和存储介质 | |
CN112474391B (zh) | 一种基于视觉辅助验证的冻存管挑选方法 | |
CN112297032B (zh) | 位置检测及姿态微调方法、装置、电子设备、存储介质 | |
CN110312978B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |