机器人的控制方法、装置、机器人及非易失性存储介质
文献发布时间:2024-01-17 01:27:33
技术领域
本发明涉及机器人技术领域,具体而言,涉及一种机器人的控制方法、装置、机器人及非易失性存储介质。
背景技术
目前,为了便于进行农业作业操作,现有技术中存在着多种不同类型的农业作业机器人,具体包括有施肥机器人、除草机器人、采摘机器人等能够实现不同作业效果的机器人。这些机器人在进行农业操作时,一般需要垮设在需要作业的种植行上,并对对应的种植行进行相应的农业作业操作。
然而,对于不同的待作业农田而言,将存在待作业农田的地块大小不一、种植作物不同以及种植习惯的不同等情况,这些不同将导致待作业农田的种植行的分布情况也将有所不同。对于固定轮距的机器人而言,往往只能按照该固定轮距前行并进行农业作业。这样,当该固定轮距刚好与待作业的种植行两侧的机耕道相适配时能够顺利通过并进行农业作业;而当该固定轮距与待作业的种植行两侧的机耕道不适配时,将会出现农业机器人在农业作业过程中直接碾压至种植行处的部分植株上,对植株造成不可逆转的损伤。此外,当农业机器人在碾压至种植行时,往往由于种植行的植株的情况对农业机器人的正常行驶造成一定的影响,从而不利于农业机器人的顺利行驶,也不利于对农业机器人的保护。
发明内容
本发明的主要目的在于提供一种机器人的控制方法、装置、机器人及非易失性存储介质,以解决现有技术中机器人在进行农业作业操作时,往往会对植株造成损伤的技术问题。
为了实现上述目的,根据本发明的一个方面,提供了一种机器人的控制方法,包括:
获取目标农田的种植行的分布信息,并根据目标农田的种植行的分布信息和机器人的最大轮距宽度确定机器人的目标轮距宽度;
获取机器人在种植行进行作业前的初始轮距宽度,并将机器人的初始轮距宽度与机器人的目标轮距宽度进行比较;
根据机器人的初始轮距宽度与机器人的目标轮距宽度的比较结果,对机器人的运行状态进行调整。
进一步地,获取目标农田的种植行的分布信息,根据目标农田的种植行的分布信息和机器人的最大轮距宽度确定机器人的目标轮距宽度,包括:
获取目标农田中的种植行的数量;
在目标农田中的种植行为一行的情况下,确定目标农田中的种植行为作业行,将作业行两侧的机耕道识别为目标农田的两条作业机耕道,并根据两条作业机耕道和最大轮距宽度确定机器人的目标轮距宽度;
在目标农田中的种植行为多行的情况下,根据最大轮距宽度选取预设的一个或多个种植行作为作业行,将作业行两侧的机耕道识别为目标农田的两条作业机耕道,并根据两条作业机耕道确定机器人的目标轮距宽度。
进一步地,根据两条作业机耕道和机器人的最大轮距宽度确定机器人的目标轮距宽度,包括:
将目标农田的两条作业机耕道分别拟合成两条目标作业线,并确定两条目标作业线之间的间距;
在两条目标作业线之间的间距小于或等于最大轮距宽度的情况下,将两条目标作业线之间的间距作为机器人的目标轮距宽度。
进一步地,获取目标农田中的种植行的数量之后,方法还包括:
在目标农田的种植行为多行的情况下,获取各机耕道之间的间距,根据各机耕道之间的间距、以及最大轮距宽度从各机耕道中确定目标农田的两条作业机耕道,并根据两条作业机耕道确定机器人的目标轮距宽度,两条作业机耕道之间的间距小于或等于最大轮距宽度。
进一步地,获取各机耕道之间的间距,包括:
将目标农田的机耕道分别拟合成作业线,获取各作业线之间的间距,并将各作业线之间的间距作为各机耕道之间的间距;
根据各机耕道之间的间距、以及最大轮距宽度从各机耕道中确定目标农田的两条作业机耕道,包括:
比较各机耕道之间的间距与最大轮距宽度,将各机耕道之间的间距小于或等于最大轮距宽度的任意两条机耕道作为两条作业机耕道。
进一步地,根据机器人的初始轮距宽度与机器人的目标轮距宽度的比较结果,对机器人的运行状态进行调整,包括:
当机器人的初始轮距宽度与目标轮距宽度的差值在预设误差范围内时,控制机器人沿目标农田的两条作业机耕道行驶;
当机器人的初始轮距宽度与目标轮距宽度的差值超出预设误差范围时,对机器人的轮距宽度进行调整,以使机器人沿目标农田的两条作业机耕道行驶。
进一步地,对机器人的轮距宽度进行调整,包括:
获取机器人的转动臂的实时转动角度;
获取转动臂上的驱动行驶部的宽度、机器人在第一方向上的长度以及转动臂的长度,根据驱动行驶部的宽度、机器人在第一方向上的长度、转动臂的长度以及目标轮距宽度计算转动臂的目标转动角度;
根据转动臂的实时转动角度以及转动臂的目标转动角度对转动臂的转动进行控制,以将机器人的轮距宽度调整至目标轮距宽度;
其中,第一方向与机器人的前行方向垂直。
进一步地,根据转动臂的实时转动角度以及转动臂的目标转动角度对转动臂的转动进行控制,包括:
对转动臂的实时转动角度以及转动臂的目标转动角度之间的误差进行PID运算,得到驱动行驶部的转速,并根据得到的驱动行驶部的转速控制驱动行驶部旋转以带动转动臂旋转;
对转动臂的实时转动角度进行监测,并在转动臂的实时转动角度到达转动臂的目标转动角度时,控制驱动行驶部停止对转动臂的驱动。
根据本发明的另一方面,提供了一种机器人的控制装置,包括:
第一获取模块,用于获取目标农田的种植行的分布信息,根据目标农田的种植行的分布信息以及机器人的最大轮距宽度确定机器人的目标轮距宽度;
第二获取模块,用于获取机器人在种植行进行作业前的初始轮距宽度,并将机器人的初始轮距宽度与机器人的目标轮距宽度进行比较;
调整模块,用于根据机器人的初始轮距宽度与机器人的目标轮距宽度的比较结果,对机器人的运行状态进行调整。
根据本发明的另一方面,提供了一种机器人,包括:
底盘和回转装置,回转装置安装在底盘上;
转动臂,转动臂的一端与回转装置连接;
驱动行驶部,转动臂的另一端与驱动行驶部连接,以通过驱动行驶部带动转动臂进行转动以对机器人的运行状态进行调整;
以及,一个或多个处理器和存储器,存储器用于存储一个或多个程序,其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现上述提供的机器人的控制方法。
根据本发明的另一方面,提供了一种非易失性存储介质,非易失性存储介质存储有多条指令,指令适用于由处理器加载并执行上述提供的机器人的控制方法。
应用本发明的技术方案,能够便于根据目标农田的机耕道的分布信息以及机器人的最大轮距宽度确定机器人的目标轮距宽度,并根据目标轮距宽度与当前轮距宽度的比较结果对机器人的运行状态进行适应性的调整,从而使得机器人能够尽可能避开种植行,并使机器人尽量在种植行旁的机耕运行,以避免机器人在运行过程以及农业操作过程中对植株造成损伤,对植株进行保护。此外,本申请中的方案也避免机器人进入种植行时,因种植行的植株对农业机器人的正常行驶造成影响,避免部分特殊植株对机器人的刮伤,也能够有效保证机器人的正常顺利行驶,有利于对机器人的保护。
附图说明
构成本申请的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了根据本发明的实施例提供的一种机器人的控制方法的流程示意图;
图2示出了根据本发明的实施例提供的另一种机器人的控制方法的流程示意图;
图3示出了根据本发明的实施例提供的一种农田的机耕道的分布情况的示意图;
图4示出了根据本发明的实施例提供的另一种农田的机耕道的分布情况的示意图;
图5示出了根据本发明的实施例提供的机器人的转动臂的转动角度示意图;
图6示出了根据本发明的实施例提供的机器人的控制装置的结构示意图。
其中,上述附图包括以下附图标记:
10、目标农田;11、机耕道;20、底盘;30、转动臂;40、驱动轮;
2001、第一获取模块;2002、第二获取模块;2003、调整模块。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
在本申请实施例提供的附图中,图1和图2是本申请实施例提供的机器人的控制方法的流程示意图,图3和图4是本申请实施例提供的农田的机耕道的分布情况示意图。
具体地,如图3和图4所示,为本发明的机器人所运行作业的目标农田10的机耕道11的不同分布情况,图3中的目标农田10中的机耕道11为均匀分布,图4中的目标农田10中的机耕道11的分布不均匀。本发明的机器人可以在具有均匀分布的机耕道11的目标农田10中运行作业,也可以在机耕道11分布不均匀的目标农田10中进行运行作业。
如图1所示,本发明的实施例提供了一种机器人的控制方法,该方法包括:
步骤1001:获取目标农田10的种植行的分布信息,并根据目标农田10的种植行的分布信息以及机器人的最大轮距宽度确定机器人的目标轮距宽度。
步骤1002:获取机器人在种植行进行作业前的初始轮距宽度,并将机器人的初始轮距宽度与机器人的目标轮距宽度进行比较。
步骤1003:根据机器人的初始轮距宽度与机器人的目标轮距宽度的比较结果,对机器人的运行状态进行调整。
需要说明的是,本实施例中的机器人可以为用于进行农业作业的机器人,具体的农业作业包括但不限于:施肥、采摘、除草、农药喷洒等农业作业。通过根据目标农田10的种植行的分布信息以及机器人的最大轮距宽度确定机器人的目标轮距宽度,这样,能够便于使得机器人在农业作业过程中尽可能覆盖更大面积的种植行,从而便于对更大面积的种植行进行有效覆盖,从而便于有效提高对目标农田10的农业作业效率。
种植行的分布信息可以通过机器视觉获取得到。具体地,通过机器视觉获取目标农田的图像或视频流,针对目标农田的图像或视频流进行分析以得到种植行的分布信息。
这里的目标农田10可以理解为待作业农田。目标农田10的种植行可以理解为待作业农田中的种植有农业作业物(可以包括植株)的区域,目标农田10中的种植行可能为一行或多行,具体可以结合目标农田10的作业地块、农业作业物的种植习惯等进行分布。目标农田10的种植行的分布信息包括但不限于:种植行的数量、各种植行的分布位置、种植行的宽度等。
还需要说明的是,机器人的初始轮距宽度是指机器人在对目标农田10进行作业前的机器人的轮距宽度。机器人的目标轮距宽度是指根据目标农田10的种植行的分布信息以及机器人的最大轮距宽度所确定的与机器人的农业作业相适配的轮距宽度。这里的机器人的轮距宽度均为机器人的驱动行驶部之间的间距。具体地,驱动行驶部可以为驱动轮或驱动履带等能够使得机器人运行的结构,驱动行驶部为驱动轮的结构可以如图5中的结构所示。此外,机器人的运行情况包括但不限于对机器人的初始轮距宽度进行调整、对机器人的行驶情况进行调整等。
其中,当驱动行驶部为驱动轮40时,机器人的轮距宽度是指位于机器人前侧的两个驱动轮40之间的间距宽度或后侧的两个驱动轮40之间的间距宽度。具体地,两个驱动轮40之间的宽度可以指一个驱动轮40的外侧(一个驱动轮40的外侧可以指该驱动轮40远离另一个驱动轮40的一侧)与另一个驱动轮40的外侧(另一个驱动轮40的外侧可以指该驱动轮40远离一个驱动轮40的一侧)之间的间距宽度。
或者,两个驱动轮40之间的宽度也可以指一个驱动轮40的内侧(一个驱动轮40的内侧可以指该驱动轮40靠近另一个驱动轮40的一侧)与另一个驱动轮40的内侧(另一个驱动轮40的内侧可以指该驱动轮40靠近一个驱动轮40的一侧)之间的间距宽度。
或者,两个驱动轮40之间的宽度还可以指一个驱动轮40的中心线与另一个驱动轮40的中心线之间的间距宽度。具体可以根据实际需要进行适应性调整,本申请实施例对此不做限定。
前侧和后侧的驱动轮40是根据机器人的行驶方向变化的,当机器人的行驶方向发生变化时,机器人的前侧的驱动轮40与机器人的后侧的驱动轮40将发生相应的变化。
当驱动行驶部为驱动履带时,机器人的轮距宽度是指位于机器人两侧的两条驱动履带之间的间距宽度。具体地,两个驱动履带之间的间距宽度可以指一个驱动履带的外侧(一个驱动履带的外侧可以指该驱动履带的远离另一个驱动履带的一侧)与另一个驱动履带的外侧(另一个驱动履带的外侧可以指该驱动履带远离一个驱动履带的一侧)之间的间距宽度。具体地,驱动履带可以为两条或四条或六条或八条等,驱动履带均匀分布在机器人的两侧。
采用本实施提供的控制方法,该控制方法能够便于适应性地根据目标农田10的机耕道11的分布信息以及机器人的最大轮距宽度确定机器人的目标轮距宽度,并根据目标轮距宽度与当前轮距宽度的比较结果对机器人的运行状态进行适应性的调整。这样,在机器人的行进过程或者农业作业过程中,能够使得机器人尽可能避开种植行,并使机器人尽量在种植行旁的机耕运行,这样,避免了机器人在运行过程以及农业操作过程中对植株造成损伤,以对植株进行有效保护。
此外,本申请中的方案也能够有效避免机器人进入种植行时,因种植行的植株对农业机器人的正常行驶造成影响,避免部分特殊植株对机器人的刮伤,也避免种植行因植株碾压情况而极大影响机器人的运行平稳性,进而能够有效保证机器人在行进过程或农业操作过程中正常顺利行驶,有利于对机器人的保护。
具体地,在一个实施例中,获取目标农田10的种植行的分布信息,根据目标农田10的种植行的分布信息以及机器人的最大轮距宽度确定机器人的目标轮距宽度,包括:获取目标农田10中的种植行的数量;在目标农田10中的种植行为一行的情况下,确定目标农田10中的种植行为作业行,将作业行两侧的机耕道11识别为目标农田10的两条作业机耕道11,并根据两条作业机耕道11确定机器人的目标轮距宽度;在目标农田10中的种植行为多行的情况下,根据机器人的最大轮距宽度选取预设的一个或多个种植行作为作业行,将作业行两侧的机耕道11识别为目标农田10的两条作业机耕道11,并根据两条作业机耕道11确定机器人的目标轮距宽度。这样,能够便于根据目标农田10的种植行的行数快速确认目标农田10的两条作业机耕道11,并根据两条作业机耕道11对机器人的目标轮距宽度进行确定,这样,便于提高机器人的目标轮距宽度的准确性,以便于使得机器人更好地在两条作业机耕道11上运行,避免机器人超出两条作业机耕道11运行,从而更多地避免对植株的损伤,也便于机器人更顺畅的运行。
具体地,选取预设的一个或多个种植行作为作业行可以理解为根据机器人的最大作业宽度确定机器人是选取预设的某个种植行还是预设的多个种植行进行当下的农业作业。当机器人完成对预设的某个或多个种植行的农业操作以后,机器人可以在剩下的种植行中选定另外预设的某个或多个种植行进行对应的农业操作,如此循环,以便于完成对整块目标农田10的农业操作。
需要说明的是,本申请中的机耕道11可以理解为乡以下可通行的机动车辆和农业机械的农村道路,包括乡村道路、村组道路和田间道路。优选地,在本申请中的机耕道11可以理解为机器人在进行农业作业过程中种植行两侧的未种植有农作物的农田或田间道路,这样,机器人在机耕道11内行驶时也不会对农业作物造成损伤,能够有效对农业作物进行防护。本申请中的两条作业机耕道11可以理解机器人进行对应农业作业时所需要选取的两条能够行驶前行的机耕道11。
具体地,根据两条作业机耕道11确定机器人的目标轮距宽度,包括:将目标农田10的两条作业机耕道11分别拟合成两条目标作业线,并确定两条目标作业线之间的间距;在两条目标作业线之间的间距小于或等于最大轮距宽度的情况下,将两条目标作业线之间的间距作为机器人的目标轮距宽度。采用这样的方法,能够便于快速且准确地获取机器人的目标轮距宽度,便于后续根据机器人的目标轮距宽度对机器人的轮距宽度进行适应性的调整,便于使得机器人的轮距宽度能够更好地适应性两条目标机耕道11的情况。
需要说明的是,在两条目标作业线之间的间距大于最大轮距宽度的情况下,确定机器人当前无法在对应的两条机耕道上行驶。由于目标农田10的种植行的分布的不同,使得机耕道11可能并不一定就是沿规则直线延伸方向延伸。本申请中的两条目标作业线并不限于为直线,还可以为曲线或弯折线,两条目标作业线可以随着两条目标作业机耕道11的形状变化而发生适应性的变化。优选地,两条目标作业线可以分别对应为两条目标机耕道11中靠近机耕道11宽度中间位置处的作业线,这样能够尽量保证机器人的行驶稳定性和行驶安全性。
具体地,在本申请中“将目标农田10的两条作业机耕道11分别拟合成两条目标作业线”可以理解为利用机器人的图像采集设备获取两条作业机耕道11的图像,分别对两条作业机耕道11的图像进行图像处理,并根据图像处理的结果将两条作业机耕道11分别拟合成两条目标作业线。
在另一个实施例中,获取目标农田10中的种植行的数量之后,控制方法包括:在目标农田10的种植行为多行的情况下,获取目标农田10的各机耕道之间的间距,根据各机耕道之间的间距以及最大轮距宽度从各机耕道中确定目标农田10的两条作业机耕道,并根据两条作业机耕道确定机器人的目标轮距宽度,两条作业机耕道之间的间距小于或等于最大轮距宽度。这样,能够便于根据目标农田10的种植行的行数快速确认目标农田10的两条作业机耕道11,并根据两条作业机耕道11对机器人的目标轮距宽度进行确定,这样,便于提高机器人的目标轮距宽度的准确性,以便于使得机器人更好地在两条作业机耕道11上运行,避免机器人超出两条作业机耕道11运行,从而更多地避免对植株的损伤,也便于机器人更顺畅的运行。
具体地,对于“获取目标农田10中的各机耕道之间的间距”可以理解为当有目标农田10有4条机耕道:第一机耕道、第二机耕道、第三机耕道和第四机耕道时,需要获取第一机耕道与第二机耕道之间的间距、第一机耕道与第三机耕道之间的间距、第一机耕道与第四机耕道之间的间距、第二机耕道与第三机耕道之间的间距、第二机耕道与第四机耕道之间的间距以及第三机耕道与第四机耕道之间的间距。上述这些不同的机耕道之间的间距的获取顺序可以采用任意顺序,只要能够得到目标农田10中的每一条机耕道与目标农田10中的其余的机耕道之间的间距即可。
示例性地,可以通过如下两种方式获取第一机耕道、第二机耕道、第三机耕道和第四机耕道之间的间距。
第一种方式:可以通过图像识别算法获取包括第一机耕道、第二机耕道、第三机耕道和第四机耕道的目标图像,或者,可以通过相应的激光雷达获取包括第一机耕道、第二机耕道、第三机耕道和第四机耕道的点云信息。并基于该目标图像或该点云信息分别识别第一机耕道和第二机耕道之间的间距、第一机耕道和第三机耕道之间的间距、第一机耕道和第四机耕道之间的间距、第二机耕道和第三机耕道之间的间距、第二机耕道和第四机耕道之间的间距、第三机耕道和第四机耕道之间的间距。
第二种方式:可以通过图像识别算法获取包括上述4条机耕道的目标图像,或者,通过激光雷达获取包括上述4条机耕道的点云信息。然后,基于该目标图像或该点云信息识别出第一机耕道和第二机耕道之间的第一间距、第一机耕道和第三机耕道之间的第二间距、第一机耕道和第四机耕道之间的第三间距,然后分别利用该第三间距和该第二间距的差值,确定出第三机耕道和第四机耕道之间的间距、利用该第二间距和该第一间距的差值,确定出第二机耕道和第三机耕道之间的间距、利用该第三间距和该第一间距的差值,确定出第二机耕道和第四机耕道之间的间距。
如此,可以准确、灵活地得到目标农田10中的各机耕道之间的间距。
需要说明的是,以上举例仅仅是提供了一些可能的实现方式,并不代表本申请实施例提供的机器人的控制方法中只能以上述举例中的方式来获取目标农田10中的各机耕道之间的间距,对于本申请实施例来说,可以通过任意可能的方式来确定各机耕道之间的间距,本申请实施例对此不做限定。
具体地,“获取目标农田10的各机耕道11之间的间距,根据各机耕道11之间的间距以及最大轮距宽度从各机耕道11中确定目标农田10的两条作业机耕道,”能够便于快速获取目标农田中的各机耕道之间的间距情况,并根据任各机耕道11之间的间距情况与机器人的最大作业宽度之间的一一比较适配情况区确定两条目标农田10的两条作业机耕道11,从而便于更好地根据目标农田10的各个种植行的分布情况更精准地确定出目标农田10的两条作业机耕道11。
在本实施例中,获取各机耕道11之间的间距,包括:将目标农田10的机耕道11分别拟合成作业线,获取各作业线之间的间距,并将各作业线之间的间距作为各机耕道之间的间距。根据各机耕道11之间的间距以及最大轮距宽度从各机耕道中确定目标农田的两条作业机耕道,包括:比较各机耕道之间的间距与最大轮距宽度,将各机耕道之间的间距小于或等于最大轮距宽度的任意两条机耕道作为两条作业机耕道。采用这样的方法,能够便于根据整个农田的种植行的分布与机器人的最大轮距宽度的适配情况快速且准确地获取机器人的目标轮距宽度,便于后续根据机器人的目标轮距宽度对机器人的轮距宽度进行适应性的调整,便于使得机器人的轮距宽度能够更好地适应性两条作业机耕道11的情况。
具体地,在种植行为多行的情况下,目标农田10中的机耕道11的数量也将对应大于2。在本申请中“将目标农田10的机耕道11均拟合成多条作业线”可以理解为利用机器人的图像采集设备获取标农田的机耕的图像,分别对标农田的机耕的图像进行图像处理,并根据图像处理的结果将标农田的机耕机耕道11分别拟合成多条目标作业线。
具体地,根据机器人的初始轮距宽度与机器人的目标轮距宽度的比较结果,对机器人的运行状态进行调整,包括:当机器人的初始轮距宽度与目标轮距宽度的差值在预设误差范围内时,控制机器人沿目标农田10的两条作业机耕道11行驶;当机器人的初始轮距宽度与目标轮距宽度的差值超出预设误差范围时,对机器人的轮距宽度进行调整,以使机器人沿目标农田的两条作业机耕道行驶。
此外,当机器人的初始轮距宽度与目标轮距的宽度差值超出预设误差范围,且无法将机器人的轮距宽度调整至与目标轮距的宽度的差值限定在预设误差范围内时,控制机器人停止运行。具体地,还可以使机器人发出提示信号,以便于工作人员或控制系统进行对应的后续操作。该提示信号可以包括,但不限于灯光信号、声音信号等不同形式的信号。对应的,还可以在机器人上安装无线信号传送模块,以便于通过该无线信号传送模块将提示信号发送至技术人员所使用的终端设备或控制系统处。具体地,该无线信号传送模块可以包括WIFI模块、蓝牙、红外线等传送模块。
采用这样的方法,当机器人的初始轮距宽度与目标轮距宽度的差值在预设误差范围内时,机器人的轮距宽度满足在与目标轮距宽度预设误差范围的运行,从而可以控制机器人沿与目标轮距宽度对应的两条作业机耕道11进行行驶;当机器人的初始轮距宽度超出目标轮距宽度的差值在预设误差范围时,此时机器人的轮距宽度将无法满足在与目标轮距宽度对应的两条作业机耕道11的行驶,对应需要根据机器人本身的轮距宽度调节范围以及目标轮距宽度情况进行结合以将机器人的轮距宽度进行适应性的调整,以便于使机器人能够顺利在与目标轮距宽度对应的两条作业机耕道11上通行。因此,上述方法能够便于准确判断机器人是否能够在与目标轮距宽度对应的两条作业机耕道11通行,并便于在机器人无法顺利通行的情况下对机器人的轮距宽度进行适应性的调整。
需要说明的是,这里的预设误差范围是根据机器人的驱动行驶部的宽度以及对应的两条作业机耕道11的宽度确定的,能够允许机器人在与目标作业线之间具有一定的小范围的偏差。
如图3所示,具体地,可以根据目标农田10的机耕道11的分布均匀情况确定机器人的目标轮距宽度,包括:当目标农田10的机耕道11的分布均匀时,获取目标农田10的相邻两个机耕道11作为两条作业机耕道11,将两条作业机耕道11分别拟合成相邻两条作业线,并将相邻两条作业线之间的距离作为两条作业机耕道11之间的间距L;根据两条作业机耕道11之间的间距L得到机器人的目标轮距宽度b。其中,b=nL,n为大于或等于1的整数。采用这样的方法,能够便于快速有效确定目标轮距宽度,有效保证机器人的驱动轮40均保持在目标农田10的机耕道11中运行,避免机器人的驱动轮40对植株的碾压,便于机器人能够顺利通过较窄的田间或野外道路。
具体地,并根据机器人的种植行分布信息以及机器人的最大轮距宽度确定n的取值情况。采用这样的方法,能够使得机器人能够在处于尽可能大的轮距宽度的情况下进行作业,提高机器人的农业作业覆盖面积,进而提高农业操作效率。此外,还能够避免机器人的调节范围超出机器人的最大轮距宽度。
如图4所示,具体地,当目标农田10的机耕道11的分布不均匀时,获取目标农田10中的两条目标行驶机耕道11,将两条作业行驶机耕道11拟合成两条作业直线,并将两条作业直线之间的距离作为机器人的目标轮距宽度b。采用这样的方法,能够便于精准获取目标轮距宽度,以使机器人的驱动轮40能够在目标行驶机耕道11内行驶,避免超出目标行驶机耕道11的行驶范围。
在本实施例中,根据目标转动角度γ与当前转动角度β的差值对转动臂30的转动进行控制,包括:将当前转动角度β和目标转动角度γ输入至PID算法,利用PID算法根据目标转动角度γ与当前转动角度β的差值计算转动臂30上的驱动轮40的目标转速,并使转动臂30上的驱动轮40以目标转速进行转动;将目标转动角度γ发送至机器人的运动控制器,利用运动控制器对转动臂30的转动角度进行监控。采用这样的方法,能够进一步提高对转动臂30的转动角度调整的准确性,以便于使转动臂30能够顺利转动至目标转动角度γ。
具体地,机器人包括回转装置和底盘20,回转装置设置在底盘20上,转动臂30远离驱动轮40的一端与回转装置连接;控制方法还包括:当运动控制器监控到回转装置中的编码器检测的角度为目标转动角度γ时,停止对驱动轮40的驱动,并利用回转装置中的制动器对转动臂30的转动进行制动锁紧。采用这样的方法,能够便于将转动臂30锁紧在目标转动角度γ处,从而便于保证运行过程中轮距的稳定性,避免运行过程中轮距发生变化。
具体地,可以利用识别传感器识别到作业机耕道11,以及根据选择的路径计算目标轮距宽度b,具体步骤如下:当机器人在农田中工作且相邻机耕道11之间的间距相等时,通过识别传感器识别出目标机耕道11位置,将识别到的机耕道11拟合成直线,计算相邻直线之间的间距,即为相邻机耕道11之间的间距L,此时为机器人可进行作业的最小轮距;根据机器人可作业的区域以及机器人本身可伸展的最大轮距,计算出机器人的目标轮距宽度b,此时机器人的目标轮距宽度b为相邻机耕道11之间的间距L的倍数,也即为nL。当机器人在农田中工作时,通过识别传感器识别出目标机耕道11位置,将识别到的机耕道11拟合成直线,计算相邻直线之间的间距,即为相邻机耕道11之间的间距L,此时为机器人可进行作业的最小轮距;当机耕道11之间的间距不一致时,根据机器人最大作业宽度以及机器人本身可伸展的最大轮距,选择两条作业机耕道11,即选择两条作业直线,计算所选择两条作业直线之间的间距,得出机器人的目标轮距宽度b。
如图2所示,在本实施例中,对机器人的轮距宽度进行调整,包括:
步骤1004:获取机器人的转动臂30的实时转动角度;
步骤1005:获取转动臂30上的驱动行驶部的宽度、机器人在第一方向上的长度以及转动臂30的长度,根据驱动行驶部的宽度、机器人在第一方向上的长度、转动臂30的长度以及目标轮距宽度计算转动臂30的目标转动角度;
步骤1006:根据转动臂30的实时转动角度以及转动臂30的目标转动角度对转动臂30的转动进行控制,以将机器人的轮距宽度调整至目标轮距宽度。
其中,第一方向与机器人的前行方向垂直。
采用这样的方法,能够便于进一步细化具体地轮距宽度的调整方法内容,通过对机器人的转动臂30的转动角度进行调整以实现对机器人的轮距宽度的调整,调整方法简单,便于操作实现。这里的机器人可以主要指轮式机器人。
其中,机器人的转动臂30的实时转动角度为β;机器人在第一方向上的长度为a,转动臂30的长度为c,目标轮距宽度b,对应的计算公式为:γ=arcsin(b-a)/(2c)。这样,能够便于根据目标转动角度γ与当前转动角度β的差值对转动臂30的转动进行控制,以对机器人的轮距宽度进行调整,提高调整的精准度。本实施例中的转动臂30又可以称为大臂。如图5所示,当机器人为矩形结构且机器人的前行方向垂直于机器人的长度方向时,机器人在第一方向上的长度也即为机器人的长度a。
如图5所示,本实施例中的机器人可以为矩形结构、平行四边形结构、圆形结构或异形机器人结构等其他结构,只要机器人能够实现运行和农业作业功能即可。其中,如图5所示,当机器人为矩形结构且机器人的前行方向垂直于机器人的长度方向时,机器人在第一方向上的长度也即为机器人的长度a,驱动行驶部的宽度可以理解为驱动轮40或驱动履带的宽度,转动臂30的长度c可以理解为沿转动臂30的长度延伸方向的两端之间的距离。
当为履带式机器人时,可以对垂直于履带式机器人的前行方向的两侧的履带之间的距离的调节以实现对履带式机器人的轮距宽度的调整。具体地,可以设置对应的驱动结构,并通过驱动结构推动垂直于机器人的前行方向的两侧的履带沿垂直于机器人的前行方向移动,以使两侧的履带相互靠近或远离。
当为足式机器人时,可以对垂直于机器人的前行方向的两侧的足部之间的距离进行调节以实现对足式机器人的轮距宽度的调整。具体地,可以设置对应的驱动结构,并通过驱动结构推动垂直于机器人的前行方向的两侧的足部沿垂直于机器人的前行方向移动,以使两侧的足部相互靠近或远离;或者可以通过驱动结构带动足部进行转动以调整机器人的轮距宽度。
需要说明的是,转动臂30的实时转动角度在某段时间内可能是固定的,转动臂30的实时转动角度也可能根据时间的变化而发生变化。转动臂30的实时转动角度可以理解为在当下时刻转动臂30与预设基准方向之间的夹角,实时转动角度将随着时间的变化而可能发生变化。转动臂30的目标转动角度是指与机器人的目标轮距对应的转动臂30所处的位置与预设基准方向之间的夹角,转动臂30的目标转动角度将随机器人的目标轮距变化,当机器人的目标轮距确定时对应的转动臂30的目标转动角度也是确定的。
具体地,该预设基准方向可以选定为转动臂30转动至任意某个角度时的方向,优选地,当机器人的底盘为矩形结构时,可以将该预设基准方向选定为转动臂30转动至与底盘20的宽度方向平行的方向或长度方向平行的方向或转动臂30在调整轮距宽度前所处的上一停留角度所对应的转动臂30的延伸方向或其他方向。如图5所示,优选地,当将转动臂30转动至与底盘20的宽度方向平行时的方向选定为预设基准方向时,也可以理解为转动臂30处于与底盘20的宽度方向平行的方向时对应转动臂30的实时转动角度为0,转动臂30的实时转动角度是指转动臂30实时所处位置与转动臂30处于与底盘20的宽度方向平行的方向之间的夹角。转动臂30的目标转动角度是指与机器人的目标轮距对应的转动臂30所处的位置与转动臂30处于与底盘20的宽度方向平行的方向之间的夹角,转动臂30的目标转动角度往往是根据上述相关参数计算得到的某个固定的值,当上述相关参数发生变化时,对应的转动臂30的目标转动角度也将发生对应的变化。
在本实施例中,根据转动臂30的实时转动角度以及转动臂30的目标转动角度对转动臂30的转动进行控制,包括:根据转动臂30的实时转动角度以及转动臂30的目标转动角度确定转动臂30上的驱动行驶部的转速。采用这样的方法,能够便于对转动臂30上的驱动行驶部的转速进行控制,以便于使得实时转动角度最终运动至目标转动角度上,从而便于将轮距宽度调整至目标轮距宽度,以最终实现对目标轮距宽度的顺利调整。
具体地,根据转动臂30的实时转动角度以及转动臂30的目标转动角度确定转动臂30上的驱动行驶部的转速,包括:对转动臂30的实时转动角度以及转动臂30的目标转动角度之间的误差进行PID运算,得到驱动行驶部的转速,并根据得到的驱动行驶部的转速控制驱动行驶部旋转以带动转动臂30转动;对转动臂30的实时转动角度进行监测,并在转动臂30的实时转动角度到达转动臂30的目标转动角度时,控制驱动行驶部停止对转动臂30的驱动。
具体地,将转动臂30的实时转动角度δ以及转动臂30的目标转动角度γ均输入至PID算法,利用PID算法根据转动臂30的实时转动角度δ以及转动臂30的目标转动角度γ的误差计算驱动行驶部的转速;对转动臂30的实时转动角度δ进行监测,并在转动臂30的实时转动角度δ到达转动臂30的目标转动角度γ时,控制驱动行驶部停止对转动臂30的驱动。采用这样的方法,能够根据对实时转动角度的监测对驱动行驶部的转速进行对应控制,控制逻辑简单可靠,能够便于使得驱动行驶部带动转动臂30转动至目标转动角度,进而也便于调整至目标轮距宽度。
需要说明的是,PID算法是指在过程控制中,结合偏差的比例(P)、积分(I)和微分(D)三种环节于一体的控制算法,能够根据控制对象输出反馈来进行校正的控制,能够在测量出实际与计划发生偏差时,按定额或标准来进行纠正。
在本实施例中,控制驱动行驶部停止对转动臂30的驱动后,方法还包括:对转动臂30进行制动锁紧,以使机器人的轮距宽度维持在目标轮距宽度。采用这样的方法,能够便于使得机器人的轮距宽度能够稳定维持在目标轮距宽度,避免运行过程中机器人的轮距宽度发生变化,从而便于使得机器人能够稳定以目标轮距宽度进行行驶,有效保证了机器人行驶过程中的稳定性和安全性。
具体地,已知当前转动臂30的实时转动角度δ及目标轮距所对应的目标转动角度γ,将实时转动角度δ与目标转动角度γ输入至PID算法,以通过PID算法根据目标转动臂30角度γ与实际转动臂30角度δ的误差,进行比例、积分、微分,从而计算输出驱动轮40的转速,以最终通过PID算法控制驱动轮40到达目标位置。也即为当运动控制器监控到编码器实时反馈的转动臂30转动角度为γ时,此时驱动轮40不再受到驱动作用,同时,运动机器人的控制器控制回转装置中的电磁制动器上电,以通过制动器对转动臂30进行锁紧制动。这样,当转动臂30转动至目标转动角度γ,并处于锁紧状态。
对应的,本实施例中的机器人包括有回转装置和底盘20,回转装置设置在底盘20上,转动臂30远离驱动轮40的一端与回转装置连接。当驱动轮40带动转动臂30转动至目标转动角度时,停止对驱动轮40的驱动,并利用回转装置中的制动器对转动臂30的转动进行制动锁紧,以有效保证转动臂30在运行过程中的稳定性。
如图6所示,本发明提供了一种机器人的控制装置,该控制装置包括第一获取模块2001、第二获取模块2002和调整模块2003。第一获取模块2001用于获取目标农田10的种植行的分布信息,根据目标农田10的种植行的分布信息以及机器人的最大轮距宽度确定机器人的目标轮距宽度。第二获取模块2002用于获取机器人在种植行进行作业前的初始轮距宽度,并将机器人的初始轮距宽度与机器人的目标轮距宽度进行比较。调整模块2003用于根据机器人的初始轮距宽度与机器人的目标轮距宽度的比较结果,对机器人的运行状态进行调整。
本发明提供了一种机器人,机器人包括:底盘20、回转装置、转动臂30、驱动行驶部以及一个或多个处理器和存储器,回转装置安装在底盘20上,转动臂30的一端与回转装置连接,以使转动臂30的一端通过回转装置可转动地设置在底盘20上。转动臂30的另一端与驱动行驶部连接,通过驱动行驶部带动转动臂30进行转动以对机器人的运行状态进行调整。存储器用于存储一个或多个程序,其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现上述任一实施例中提供的机器人的控制方法。采用这样的方法,能够便于通过对驱动行驶部的控制带动转动臂30转动至目标转动角度,以将轮距宽度调整至目标轮距宽度,从而便于使得机器人的轮距宽度与两条目标作业机耕道11相适配,从而便于使得机器人能够顺利在两条目标作业机耕道11通行,保证机器人的运行安全性。
本发明提供了一种非易失性存储介质,非易失性存储介质存储有多条指令,指令适用于由处理器加载并执行上述任一实施例中提供的机器人的控制方法。
本发明提供了一种电子设备,包括:一个或多个处理器和存储器,存储器用于存储一个或多个程序,其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现上述任一实施例中提供的机器人的控制方法。
从以上的描述中,可以看出,本发明上述的实施例实现了如下技术效果:便于对机器人的轮距进行调整,避免因轮距宽度一定而导致轧伤植株、难以顺利通过较窄的田间、野外道路的技术问题。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本申请的范围。同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
在本申请的描述中,需要理解的是,方位词如“前、后、上、下、左、右”、“横向、竖向、垂直、水平”和“顶、底”等所指示的方位或位置关系通常是基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,在未作相反说明的情况下,这些方位词并不指示和暗示所指的装置或元件必须具有特定的方位或者以特定的方位构造和操作,因此不能理解为对本申请保护范围的限制;方位词“内、外”是指相对于各部件本身的轮廓的内外。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
- 一种机器人避障控制方法、装置、存储介质及机器人
- 一种机器人的运行控制方法、装置、存储介质及机器人
- 非易失性存储装置、其操作方法以及包括其的存储设备
- 一种机器人的附加轴添加方法、装置、存储介质及机器人
- 机器人编码方法及装置、机器人、存储介质、处理器
- 非易失性存储系统、非易失性存储装置、存储控制器、存取装置以及非易失性存储装置的控制方法
- 非易失性存储系统、非易失性存储装置、存储控制器、存取装置以及非易失性存储装置的控制方法