本技术涉及机器人,尤其涉及一种机器人移动控制方法、装置、机器人及存储介质。
背景技术:
1、随着人工智能技术的快速发展,机器人已经被应用于人类生活的方方面面。例如物流机器人、送餐机器人等,各种各样的机器人使人们的生活更加便捷。
2、以机器人应用于农业场景为例,农村人口大量涌入城市,导致农村劳动力短缺,大量的土地只有少部分人在种植,因此,一些可以自动播种、除草、喷药的农业机器人应运而生,使得农田自动化、智能化作业方式成为了农业作业的一大发展趋势,但是,现有技术中的农业机器人的驱动轮通常与机器人的本体转动角度固定,从而使农业机器人在运动过程中可转动角度范围有限,在进行换行或者调头时均需要较大的空间,导致农作物被破坏。
3、因此,如何合理控制机器人的移动,使其灵活转动是亟待解决的技术问题。
技术实现思路
1、本技术实施例提供一种机器人移动控制方法、装置、机器人及存储介质,用以合理控制机器人的移动,使其灵活转动。
2、第一方面,本技术实施例提供一种机器人移动控制方法,所述机器人包括控制器、机器人本体和多个驱动轮,所述方法包括:
3、所述控制器获取所述机器人本体的速度和角速度,并基于所述机器人本体的速度和角速度,分别确定所述多个驱动轮中每个驱动轮的初始速度和初始转动角度;
4、所述控制器获取所述机器人的运动模式,并基于预存的运动模式与调整策略之间的对应关系,确定所述运动模式对应的目标调整策略;
5、所述控制器基于所述目标调整策略和每个驱动轮的初始速度和初始转动角度,分别确定每个驱动轮的目标速度和目标转动角度;
6、所述控制器按照每个驱动轮的目标速度和目标转动角度,控制所述多个驱动轮带动所述机器人移动。
7、在一些实施例中,所述基于所述机器人本体的速度和角速度,分别确定所述多个驱动轮中每个驱动轮的初始速度和初始转动角度,包括:
8、针对每个驱动轮,分别执行如下操作:
9、基于所述机器人本体的速度和角速度,在预先建立的以所述机器人本体的中心点为圆心的坐标系中,分别确定所述驱动轮在x轴方向上的第一速度和在y轴方向上的第二速度;
10、基于所述第一速度和所述第二速度确定所述驱动轮的初始速度,并基于所述第一速度和所述第二速度确定所述驱动轮的初始转动角度。
11、在一些实施例中,所述基于所述机器人本体的速度和角速度,在预先建立的以所述机器人本体的中心点为圆心的坐标系中,分别确定所述驱动轮在x轴方向上的第一速度和在y轴方向上的第二速度,包括:
12、根据所述机器人本体的长度和宽度,确定所述驱动轮与所述机器人本体的中心点之间的第一距离;
13、基于所述机器人本体的速度和角速度,以及所述第一距离,在预先建立的以所述机器人本体的中心点为圆心的坐标系中,分别确定所述驱动轮在x轴方向上的第一速度和在y轴方向上的第二速度。
14、在一些实施例中,所述机器人还包括多个机械臂,每个机械臂用于连接一个驱动轮的驱动转动装置与所述机器人本体,每个机械臂均与所述机器人本体转动连接:
15、所述基于所述机器人本体的速度和角速度,在预先建立的以所述机器人本体的中心点为圆心的坐标系中,分别确定所述驱动轮在x轴方向上的第一速度和在y轴方向上的第二速度,包括:
16、根据所述机器人本体的长度和宽度,以及所述机械臂的长度,确定所述驱动轮与所述机器人本体的中心点之间的第二距离;
17、基于所述机器人本体的速度和角速度,以及所述第二距离,在预先建立的以所述机器人本体的中心点为圆心的坐标系中,分别确定所述驱动轮在x轴方向上的第一速度和在y轴方向上的第二速度。
18、在一些实施例中,所述基于所述第一速度和所述第二速度确定所述驱动轮的初始速度,包括:
19、将所述第一速度和所述第二速度的平方之和的平方根,作为所述驱动轮的初始速度。
20、在一些实施例中,所述基于所述第一速度和所述第二速度确定所述驱动轮的初始转动角度,包括:
21、根据所述第一速度和所述第二速度的反正切函数值,确定所述驱动轮的初始转动角度。
22、在一些实施例中,所述控制器按照每个驱动轮的目标速度和目标转动角度,控制所述多个驱动轮带动所述机器人移动,包括:
23、所述控制器将每个驱动轮的目标速度发送至所述驱动轮对应的驱动装置,以使所述驱动装置按照所述驱动轮的目标速度控制所述驱动轮移动;
24、所述控制器将每个驱动轮的目标转动角度发送至所述驱动轮对应的转动装置以使所述转动装置按照所述驱动轮的目标转动角度控制所述驱动轮转动。
25、第二方面,本技术实施例提供一种机器人移动控制装置,所述装置设置于所述机器人内,所述装置包括:
26、第一确定模块,用于获取机器人本体的速度和角速度,并基于所述机器人本体的速度和角速度,分别确定多个驱动轮中每个驱动轮的初始速度和初始转动角度;
27、第二确定模块,用于获取所述机器人的运动模式,并基于预存的运动模式与调整策略之间的对应关系,确定所述运动模式对应的目标调整策略;
28、第三确定模块,用于基于所述目标调整策略和每个驱动轮的初始速度和初始转动角度,分别确定每个驱动轮的目标速度和目标转动角度;
29、控制模块,用于所述控制器按照每个驱动轮的目标速度和目标转动角度,控制所述多个驱动轮带动所述机器人移动。
30、在一些实施例中,所述第一确定模块具体用于:
31、针对每个驱动轮,分别执行如下操作:
32、基于所述机器人本体的速度和角速度,在预先建立的以所述机器人本体的中心点为圆心的坐标系中,分别确定所述驱动轮在x轴方向上的第一速度和在y轴方向上的第二速度;
33、基于所述第一速度和所述第二速度确定所述驱动轮的初始速度,并基于所述第一速度和所述第二速度确定所述驱动轮的初始转动角度。
34、在一些实施例中,所述第一确定模块具体用于:
35、根据所述机器人本体的长度和宽度,确定所述驱动轮与所述机器人本体的中心点之间的第一距离;
36、基于所述机器人本体的速度和角速度,以及所述第一距离,在预先建立的以所述机器人本体的中心点为圆心的坐标系中,分别确定所述驱动轮在x轴方向上的第一速度和在y轴方向上的第二速度。
37、在一些实施例中,所述机器人还包括多个机械臂,每个机械臂用于连接一个驱动轮的驱动转动装置与所述机器人本体,每个机械臂均与所述机器人本体转动连接,所述第一确定模块具体用于:
38、根据所述机器人本体的长度和宽度,以及所述机械臂的长度,确定所述驱动轮与所述机器人本体的中心点之间的第二距离;
39、基于所述机器人本体的速度和角速度,以及所述第二距离,在预先建立的以所述机器人本体的中心点为圆心的坐标系中,分别确定所述驱动轮在x轴方向上的第一速度和在y轴方向上的第二速度。
40、在一些实施例中,所述第一确定模块具体用于:
41、将所述第一速度和所述第二速度的平方之和的平方根,作为所述驱动轮的初始速度。
42、在一些实施例中,所述第一确定模块具体用于:
43、根据所述第一速度和所述第二速度的反正切函数值,确定所述驱动轮的初始转动角度。
44、在一些实施例中,所述控制模块具体用于:
45、将每个驱动轮的目标速度发送至所述驱动轮对应的驱动装置,以使所述驱动装置按照所述驱动轮的目标速度控制所述驱动轮移动;
46、将每个驱动轮的目标转动角度发送至所述驱动轮对应的转动装置以使所述转动装置按照所述驱动轮的目标转动角度控制所述驱动轮转动。
47、第三方面,本技术实施例提供一种机器人,包括控制器、存储器、机器人本体和多个驱动轮,其中,所述控制器和所述存储器位于所述机器人本体内部:
48、所述存储器存储有可被所述控制器执行的计算机程序,所述计算机程序被所述控制器执行,以使所述控制器能够执行上述机器人移动控制方法。
49、第四方面,本技术实施例提供一种机器人移动控制系统,包括控制装置和机器人,所述机器人与所述控制装置通信连接:所述机器人为上述机器人;
50、所述控制装置用于向所述机器人发送机器人本体的速度和角速度,以及所述机器人的运动模式。
51、第五方面,本技术实施例提供一种计算机可读存储介质,当所述存储介质中的计算机程序由机器人的控制器执行时,能够执行上述机器人移动控制方法。
52、本技术实施例中,机器人包括控制器、机器人本体和多个驱动轮,控制器获取机器人本体的速度和角速度,并基于机器人本体的速度和角速度,分别确定多个驱动轮中每个驱动轮的初始速度和初始转动角度,控制器获取机器人的运动模式,并基于预存的运动模式与调整策略之间的对应关系,确定运动模式对应的目标调整策略,控制器基于目标调整策略和每个驱动轮的初始速度和初始转动角度,分别确定每个驱动轮的目标速度和目标转动角度,控制器按照每个驱动轮的目标速度和目标转动角度,控制多个驱动轮带动机器人移动,通过获取机器人本体的速度和角速度,从而确定机器人的各驱动轮的初始速度和初始转动角度,根据机器人的运动模式调整机器人的各驱动轮的初始速度和初始转动角度确定驱动轮的目标速度和目标转动角度,使得机器人的驱动轮的转动角度可以灵活调整,作业时不需要较大的空间即可完成换行、调头等动作,且运动模式多样化,增强了机器人的智能性和便捷性,进而提高了机器人的作业效率。