一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种水下机器人的运动控制方法及控制系统与流程

2021-07-16 18:10:00 来源:中国专利 TAG:机器人 水下 控制系统 控制 运动


1.本发明涉及机器人领域,具体涉及一种水下机器人的运动控制方法及控制系统。


背景技术:

2.目前水下机器人广泛替代人类潜水员完成各种水下任务,例如水下采样,水下操作等。水下机器人的运动通常是由用户通过操控器进行控制,水下机器人最基础的运动就是平移运动,如何能够尽可能地简化平移运动的控制,进而实现更加复杂的运动,是待改进或待解决的问题之一。


技术实现要素:

3.根据第一方面,一种实施例公开了一种水下机器人的运动控制方法,所述水下机器人包括平台和与所述平台连接的动力装置,所述动力装置包括推进方向在同一推进平面内的至少三个第一推进器,所述至少三个第一推进器能够通过改变各自的推进力的大小,使得推进力的合力沿预设坐标系在推进平面内的任一坐标轴的正向或负向;
4.所述方法包括:
5.获取用户输入的所述水下机器人在推进平面内的平动方向及平动速度,所述平动方向为所述预设坐标系的任一坐标轴正向或负向;
6.根据所述平动速度,计算所述水下机器人在所述平动方向上所需的推力;
7.根据所述至少三个第一推进器的推进方向与预设坐标系之间的夹角,将所述推力进行矢量转换,得到所述至少三个第一推进器对应的推进力;
8.控制所述至少三个第一推进器以对应的推进力推动所述水下机器人运动。
9.根据第二方面,一种实施例公开了一种,一种水下机器人的运动控制系统,所述运动控制系统用于控制与水下机器人的平台连接的动力装置,所述动力装置包括推进方向在同一推进平面内的至少三个第一推进器,所述至少三个第一推进器能够通过改变各自推进力的大小,使得推进力的合力沿预设坐标系在推进平面内的任一坐标轴的正向或负向;
10.所述运动控制系统包括:
11.操控系统,用于接收用户输入的指令,以获取用户输入的所述水下机器人在推进平面内的平动方向及平动速度;
12.处理系统,用于根据所述平动速度,计算所述水下机器人在所述平动方向上所需的推力,根据所述至少三个第一推进器的推进方向与预设坐标系之间的夹角,将所述推力进行矢量转换,得到所述至少三个第一推进器对应的推进力;
13.驱动系统,用于驱动所述至少三个第一推进器以对应的推进力推动所述水下机器人运动。
14.根据第三方面,一种实施例公开了一种计算机可读存储介质,所述介质上存储有程序,所述程序能够被处理器执行以实现第一方面中所述的方法。
15.上述实施例中通过矢量转换,用户只需要输入平移速度和平移方向,运动控制系
统就能够自动控制第一推进器的推动力的大小以实现相应的运动,操控方式简单易学,门槛低便于推广。
附图说明
16.图1为一种实施例的水下机器人的运动控制系统的结构组成示意图;
17.图2为一种实施例的水下机器人的结构组成示意图;
18.图3为一种实施例的水下机器人的结构示意图;
19.图4为一种实施例的水下机器人的平动示意图;
20.图5为一种实施例的水下机器人的升降运动示意图;
21.图6为一种实施例的水下机器人的翻转运动示意图;
22.图7为一种实施例的水下机器人的旋转运动示意图;
23.图8为一种实施例的水下机器人平动的控制方法流程图;
24.图9为一种实施例的水下机器人升降运动的控制方法流程图;
25.图10为一种实施例的水下机器人翻转运动的控制方法流程图;
26.图11为一种实施例的水下机器人旋转运动的控制方法流程图;
27.100、工作装置;
28.110、夹爪装置;
29.111、指根基座;112、夹爪手指;113、软体驱动单元;
30.120、机械臂主体;
31.200、动力装置;
32.210、第一推进器;220、第二推进器;230、旋转推进器;
33.300、运动控制系统;
34.310、操控系统;320、处理系统;330、驱动系统;
35.400、平台。
具体实施方式
36.下面通过具体实施方式结合附图对本发明作进一步详细说明。其中不同实施方式中类似元件采用了相关联的类似的元件标号。在以下的实施方式中,很多细节描述是为了使得本申请能被更好的理解。然而,本领域技术人员可以毫不费力的认识到,其中部分特征在不同情况下是可以省略的,或者可以由其他元件、材料、方法所替代。在某些情况下,本申请相关的一些操作并没有在说明书中显示或者描述,这是为了避免本申请的核心部分被过多的描述所淹没,而对于本领域技术人员而言,详细描述这些相关操作并不是必要的,他们根据说明书中的描述以及本领域的一般技术知识即可完整了解相关操作。
37.另外,说明书中所描述的特点、操作或者特征可以以任意适当的方式结合形成各种实施方式。同时,方法描述中的各步骤或者动作也可以按照本领域技术人员所能显而易见的方式进行顺序调换或调整。因此,说明书和附图中的各种顺序只是为了清楚描述某一个实施例,并不意味着是必须的顺序,除非另有说明其中某个顺序是必须遵循的。
38.本文中为部件所编序号本身,例如“第一”、“第二”等,仅用于区分所描述的对象,不具有任何顺序或技术含义。而本申请所说“连接”、“联接”,如无特别说明,均包括直接和
间接连接(联接)。
39.在坐标系任一象限的矢量均可以由横轴上的一个矢量与纵轴上的另一个矢量合成得到,上述过程的逆过程同样也成立,如果限定了不同象限内的矢量方向,在横轴上的矢量或纵轴上的矢量能够由上述矢量方向上的矢量投影到横轴或纵轴上合成得到,本文中的矢量转换指的就是这一过程。
40.实施例一:
41.请参照图1,本发明提供了一种水下机器人的运动控制系统300,该运动控制系统300用于控制水下机器人的动力装置200,进而控制水下机器人的运动,本实施例中的水下机器人能够实现在推进平面内平动、上下升降、翻转以及旋转等运动,从而适应水下作业需求。下面做具体说明。
42.为了更好地理解本实施例的控制系统的工作原理,首先对本实施例的水下机器人进行说明。请参照图2,水下机器人包括工作装置100、动力装置200、运动控制系统300以及用于承载上述各部件的平台400。
43.平台400是水下机器人的“骨骼”,水下机器人中的设备或装置直接或间接地安装在平台400上,平台400的形状(指俯视图的投影形状)可以是三角形,例如等边三件形或等腰三角形,也可以是四边形,例如平行四边形或矩形,还可以是圆盘状的。本文中以平台400为等边三角形为例进行说明。
44.工作装置100是水下机器人要完成水下作业所需要的设备或部件的总称。下面举例进行说明。
45.一些实施例中,如图3所示,工作装置100包括机械臂组件、摄影设备和/或采样设备。其中,机械臂组件包括夹爪装置110和机械臂主体120,机械臂主体120的一侧与平台400的底部连接,以便控制夹爪装置110抓取位于水下机器人下方的物体,机械臂主体的另一侧与夹爪装置110连接,夹爪装置110包括指根基座111、至少两个夹爪手指112和至少两个软体驱动单元113。指根基座111具有连接部和承载部,连接部用于与机械臂主体120连接。夹爪手指112的一端与指根基座111的承载部铰接。每个夹爪手指112对应与至少一个软体驱动单元113连接,软体驱动单元113用于与流体源连通,其能够在流体压力的作用下伸展和折叠,以便驱动夹爪手指112绕其与指根基座111的铰接处转动,从而夹持或释放物体。
46.上述工作装置100通过软体驱动单元113驱动夹爪手指112运动,可以实现对水底物品的抓取或操作。同时软体驱动单元113对环境的适应性强,工作稳定性高,适合于水下工作。夹爪装置110采用软体驱动单元113驱动,有利于提升水下机器人对复杂环境的适应能力和水下机器人工作的稳定性。
47.动力装置200用于为水下机器人的运动提供动力,动力装置200包括三个第一推进器210、三个第二推进器220和旋转推进器230。在其他实施例中,动力装置200也可以包括三个以上的第一推进器210和三个以上的第二推进器220。一种实施例中,第一推进器210和第二推进器220包括螺旋桨推进器和无轴泵喷推进器中的至少一种。在其他实施例中,第一推进器210和第二推进器220也可以选用其他合适类型的推进器,只要能达到推进目的即可。
48.如图4所示,第一推进器210用于负责实现水下机器人在推进平面内的平动。
49.上述推进平面是一虚拟平面,本实施例中相当于图4中平行于纸面的一个平面,或者可以理解成保持与平台400平行的一个平面,易于理解的是,当平台400翻转时,推进平面
也随之翻转保持与平台400的平行。
50.在推进平面内预设有笛卡尔空间直角坐标系,其x轴和y轴始终位于推进平面内,z轴则垂直于该推进平面。本实施例中,预设坐标系的原点在平台400的中心轴线上,使得z轴与平台400的中心轴线重合。在其他实施例中,预设坐标的原点也可以在其他位置。
51.水下机器人在推进平面内的平动方向有四个,分别是x轴的正向和负向,以及y轴的正向和负向。三个第一推进器210分别安装在平台400的三个侧面上且推进方向垂直于三个侧面,并均与推进平面平行,或就在推进平面内,每个第一推进器210的推进方向与相邻坐标轴之间的角度分别为30
°
和60
°
,三个推进方向之间互为120
°
。三个第一推进器210能够通过改变各自的推进力的大小,使得推进力的合力沿四个平动方向中的任意一个,从而推动水下机器人平动。
52.第二推进器220负责实现水下机器人的升降以及翻转。
53.水下机器人的升降指的是水下机器人可以沿垂直于推进平面的方向上升或下降。第二推进器220的推进方向与推进平面垂直,也就是沿z轴正向或负向,从而推动水下机器人上升或下降。如图5所示,本实施例的三个第二推进器220分别安装在平台400的三个角处,从而使得平台400上升或下降更加平稳,出于稳定性的角度考虑,当使用三个以上的第二推进器220时,三个以上的推进器可以绕平台400的中心轴线排布。在其他实施例中,如果只为了实现水下机器人的升降,也可以只在平台400上安装一个或两个的推进器。
54.水下机器人的翻转指的是水下机器人可以绕预设坐标系的x轴或y轴顺时针或逆时针旋转。如图6所示,三个第二推进器220中,其中一个第二推进器220在y轴的正半轴区域,另外两个第二推进器220在y轴的负半轴区域,换个角度来看,其中一个第二推进器220在x轴的正半轴区域,另一个第二推进器220在x轴的负半轴区域,还有一个第二推进器220在y轴上。同一坐标轴正半轴区域和负半轴区域的第二推进器220的推进方向相反时,水下机器人就会绕该坐标轴翻转。
55.如图7所示,旋转推进器230负责实现水下机器人绕自身中心轴线的旋转。
56.旋转推进器230能够顺时针或逆时针自转,例如,旋转推进器230为旋转叶轮。并且,旋转推进器230的自转中心线与平台400的中心轴线重合。当旋转推进器230自转时,能够为平台400绕其中心轴线旋转提供驱动力。
57.在其他实施例中,如果水下机器人只需要完成某一方式的运动,也可以只安装其对应需要的推进器。
58.请继续参照图1,操控系统310用于接收用户输入的指令,以获取用户输入的水下机器人在推进平面内的平动方向及平动速度、升降方向及升降速度、翻转方向及翻转方向、旋转方向和旋转速度中的至少一个,在得到上述信息后,可将上述信息发送至处理系统320供处理系统320处理。
59.一些实施例中,操控系统310的soc(system on chip,系统级芯片)采用arm cortex a53 quad

core,同时操作系统还包括3dx操控器和图像解析系统,3dx操控器是一种六轴操控器,能够将用户的操作解析为六个自由度上的运动信息并传输给soc,六个自由度上的运动分别是沿预设坐标系的x轴、y轴和z轴的移动以及绕x轴、y轴和z轴的转动。soc对运动信息封包后置入以太网传输给处理系统320,并且,soc还可以将图像、可视化的3dx控制数据、平台400的姿态、深度和电池电量等信息显示在3dx操控器的屏幕上,供用户获取
信息。
60.在其他实施例中,操控系统310中的soc也可以采用其他可满足需求的芯片,同样的,操控器除了3dx操控器外,还可以使用各类的手柄或摇杆等,操作系统与处理系统320之间的通信除了以太网传输外,还可以采用其他类型的高速低延迟有缆通信。
61.处理系统320用于对接收到的运动信息进行解析,以得到实现对应运动所需的动力,处理系统320可以采用arm cortex

m7为核心进行数据的处理。下面进行具体说明。
62.一些实施例中,如图4所示,用户通过操控系统310输入的运动信息是以v1的速度沿y轴正向移动,处理系统320可根据该运动信息解算出当前环境所需要的在y轴上的推力f1,f1在预设坐标系中为一个矢量,该矢量在预设坐标系可表示为(x,y)。因为三个第一推进器210各自与y轴和x轴之间的夹角均已知,故矢量(x,y)能够转换为三个互为120
°
的矢量,分别记为矢量a、b和c,其对应的坐标分别为(a1,b1,c1)、(a2,b2,c2)、(a3,b3,c3)。三个矢量a、b和c合成后与矢量f1大小相等,方向相同,三个矢量a、b和c就是三个第一推进器210所需产生的推进力。
63.水下机器人在推进平面内其他方向的平动与上述过程相类似,在此不赘述。
64.一些实施例中,用户通过操控系统310输入的运动信息是以v2的速度沿z轴正向移动,也就是水下机器人上升。处理系统320可根据该运动信息解算出当前环境所需要的在z轴上的升降力f2,根据f2可以求出三个第二推进器220所需产生的升降推进力,例如每个升降推进力是升降力f2的三分之一。
65.水下机器人的下降过程与上述上升过程相类似,在此不赘述。
66.一些实施例中,如图6所示,用户通过操控系统310输入的运动信息是以w1的角速度绕y轴顺时针(由y轴的负半轴朝向y轴的正半轴观察)转动。基于转动轴是y轴,处理系统320可得出位于x轴正半轴区域的第二推进器220和位于x轴负半轴区域的第二推进器220的推进方向。处理系统320可根据该运动信息解算出当前环境所需要的翻转力的大小f3,在根据f3分配y轴两侧的第二推进器220的翻转推进力。
67.水下机器人绕其他坐标轴转动的过程与上述过程类似,在此不赘述。
68.一些实施例中,用户通过操控系统310输入的运动信息是以w2的角速度绕z轴顺时针(由z轴的负半轴朝向y轴的正半轴观察)转动。处理系统320可根据该运动信息解算出当前环境中旋转推进器230所需的自转速度。
69.在处理系统320求解出实现相应运动所需的动力后,处理系统320将控制指令发送给驱动系统330,驱动系统330驱动各推进器以求解出的推进力或速度进行工作,由此实现水下机器人的运动。驱动系统330可以包括直流无刷电机、直流无刷电机控制器、液压泵、继电器、液压阀以及光电耦合电磁阀控制器等组件,上述组件相互配合实现驱动系统330所需的功能。
70.水下机器人还包括其他必要的装置或设备,例如水下机器人还包括内置电源、用于感知周围环境的传感器(例如imu、深度或压力传感器,从而确定当前环境某一速度所需的推进力)。
71.实施例二:
72.在实施例一公开的水下机器人的运动控制系统300的基础上,本实施例公开了一种水下机器人的运动控制方法。该控制方法主要在图2中所示的水下机器人上进行应用。
73.如图8所示,当用户控制水下机器人进行平动时,运动控制方法包括:
74.步骤1000、获取用户输入的水下机器人在推进平面内的平动方向及平动速度。平动方向为预设坐标系的任一坐标轴正向或负向。也就是x轴的正向和负向,以及y轴的正向和负向。
75.步骤1100、根据平动速度,计算水下机器人在平动方向上所需的推力。水下机器人在水下不同的深度所受到的压力不同,故相同速度所需的推力也不同,可先根据水下机器人上的深度传感器获取到当前的深度,而后得到所需的推力,例如,用户想让水下机器人以v1的速度沿y轴正向移动,可根据该运动信息解算出当前环境所需要的在y轴上的推力f1,f1在预设坐标系中为一个矢量,该矢量在预设坐标系可表示为(x,y)。
76.步骤1200、根据三个第一推进器210的推进方向与预设坐标系之间的夹角,将推力进行矢量转换,得到三个第一推进器210对应的推进力。
77.本实施例中,相邻第一推进器210的推进方向间的夹角为120
°
,三个第一推进器210各自与y轴和x轴之间的夹角也均已知,故矢量(x,y)能够转换为三个互为120
°
的矢量,分别记为矢量a、b和c,其对应的坐标分别为(a1,b1,c1)、(a2,b2,c2)、(a3,b3,c3)。三个矢量a、b和c合成后与矢量f1大小相等,方向相同,三个矢量a、b和c就是三个第一推进器210所需产生的推进力。
78.步骤1300、控制三个第一推进器210以对应的推进力推动水下机器人。
79.如图9所示,当用户控制水下机器人进行升降时,运动控制方法包括:
80.步骤2000、获取用户输入的水下机器人垂直于推进平面的升降方向和升降速度。
81.例如,用户想控制水下机器人以v2的速度沿z轴正向移动,也就是水下机器人上升。
82.步骤2100、根据升降方向控制三个第二推进器220的推进方向。
83.三个第二推进器220的推进方向和水下机器人的升降方向相同。
84.步骤2200、根据升降速度计算水下机器人所需的升降力。
85.步骤2300、对升降力进行分解,得到第二推进器对应的升降推进力。
86.例如,解算出当前环境所需要的在z轴上的升降力f2,三个第二推进器220所需产生的升降推进力为升降力f2的三分之一。
87.步骤2400、控制三个第二推进器220以对应的升降推进力推动水下机器人。
88.如图10所示,当用户控制水下机器人进行翻转时,运动控制方法包括:
89.步骤3000、获取用户输入的水下机器人的翻转方向以及翻转速度。翻转方向为绕预设坐标系的任一坐标轴顺时针或逆时针转动。
90.例如,用户想通过操作控制水下机器人以w1的角速度绕y轴顺时针(由y轴的负半轴朝向y轴的正半轴观察)转动。
91.步骤3100、根据翻转方向确定预设坐标系中作为转动轴的坐标轴。
92.例如,上述通过用户的操作将y轴作为转动轴。
93.步骤3200、根据翻转速度计算分布于转动轴两侧的第二推进器220对应的翻转推进力。
94.本实施例中,转动轴为y轴,在y轴的两侧分别有一个第二推进器220,如果当前环境下达到翻转速度w1所需的翻转力为f3,则根据f3分配(矢量分解)y轴两侧的第二推进器
220的翻转推进力。
95.步骤3300、控制分布于转动轴两侧的第二推进器220以对应的翻转推进力推动水下机器人。
96.如图11所示,当用户控制水下机器人旋转时,包括:
97.步骤4000、获取用户输入的水下机器人的旋转方向和旋转速度。旋转方向为绕平台400的中心轴线顺时针旋转或逆时针旋转,本实施例中也就是绕预设坐标系的z轴顺时针或逆时针旋转。例如,用户通过操作想控制水下机器人以w2的角速度绕z轴顺时针(由z轴的负半轴朝向y轴的正半轴观察)转动。
98.步骤4100、根据旋转速度,计算得到旋转推进器230对应的自转速度。
99.当旋转推进器230与平台400固定连接时,也可以将旋转推进器230的自转速度近似于水下机器人绕z轴旋转的速度。
100.步骤4200、控制旋转推进器230以对应的自转速度沿旋转方向转动,以带动水下机器人旋转。
101.需要说明的是,上述各运动可以进行复合,例如,用户可以控制水下机器人既平动又翻转,或者既平动又旋转等,以进行更加复杂的运动。
102.上述实施例中通过矢量转换能够将用户输入的参数快速地转换为第一推进器的推力,从而实现水下机器人的平动,再配合上第二推进器和旋转推进器,能够很方便地操控水下机器人完成各种复杂的运动。
103.本领域技术人员可以理解,上述实施方式中各种方法的全部或部分功能可以通过硬件的方式实现,也可以通过计算机程序的方式实现。当上述实施方式中全部或部分功能通过计算机程序的方式实现时,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器、随机存储器、磁盘、光盘、硬盘等,通过计算机执行该程序以实现上述功能。例如,将程序存储在设备的存储器中,当通过处理器执行存储器中程序,即可实现上述全部或部分功能。另外,当上述实施方式中全部或部分功能通过计算机程序的方式实现时,该程序也可以存储在服务器、另一计算机、磁盘、光盘、闪存盘或移动硬盘等存储介质中,通过下载或复制保存到本地设备的存储器中,或对本地设备的系统进行版本更新,当通过处理器执行存储器中的程序时,即可实现上述实施方式中全部或部分功能。
104.以上应用了具体个例对本发明进行阐述,只是用于帮助理解本发明,并不用以限制本发明。对于本发明所属技术领域的技术人员,依据本发明的思想,还可以做出若干简单推演、变形或替换。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文章

  • 日榜
  • 周榜
  • 月榜