CN107085428B - 智能移动方法、装置、机器人及存储介质 - Google Patents
智能移动方法、装置、机器人及存储介质 Download PDFInfo
- Publication number
- CN107085428B CN107085428B CN201710352778.2A CN201710352778A CN107085428B CN 107085428 B CN107085428 B CN 107085428B CN 201710352778 A CN201710352778 A CN 201710352778A CN 107085428 B CN107085428 B CN 107085428B
- Authority
- CN
- China
- Prior art keywords
- data
- moving
- moving object
- coordinate data
- coordinate
- 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
- 238000000034 method Methods 0.000 title claims abstract description 120
- 238000003860 storage Methods 0.000 title claims abstract description 25
- 238000011065 in-situ storage Methods 0.000 claims abstract description 31
- 230000008859 change Effects 0.000 claims description 46
- 238000005070 sampling Methods 0.000 claims description 22
- 230000008569 process Effects 0.000 description 50
- 238000004364 calculation method Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 14
- 230000001133 acceleration Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 5
- 239000000463 material Substances 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 241000135164 Timea Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000009776 industrial production Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0223—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving speed control of the vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Manipulator (AREA)
Abstract
本发明公开了一种智能移动方法、装置、机器人及存储介质。该智能移动方法包括:通过设置于目标对象上的二维码获取目标对象的第一坐标数据;根据第一坐标数据和移动对象自身的第二坐标数据确定移动对象达到目标对象的轨迹数据,轨迹数据包括:正向移动轨迹数据、原地旋转轨迹数据以及反向移动轨迹数据;控制移动对象根据正向移动轨迹数据、原地旋转轨迹数据和反向移动轨迹数据,分别完成正向移动操作、原地旋转操作和反向移动操作,以使所述移动对象到达目标对象所在位置。采用上述智能移动方法可以解决移动叉举车等机器人无法自动根据目标位置确定移动轨迹的技术问题。
Description
技术领域
本发明涉及机器人控制技术领域,尤其涉及一种智能移动方法、装置、机器人及存储介质。
背景技术
如今,在工业生产、农业、医疗以及服务等行业中,自动化和机械化已经逐渐的取代了人工化。目前,已经出现了各种各样的机器人来协助或者取代人工作业。比如,在装卸、码垛等物料搬运领域,移动叉举车已经逐步取代了人工搬运,成为主要的物料搬运方式。
移动叉举车在工作时,需要由人工控制移动叉举车的移动方向以及叉举时刻,并在达到目标位置以及叉举时刻时自动进行叉举工作。为了进一步的节约人力资源,出现了可以自行移动以及自行确定叉举时刻的移动叉举车。该移动叉举车在作业时,可以沿着事先铺设的轨道移动,并在设定的目标位置叉举物料或者放置物料。然而,当目标位置发生变化时,移动叉举车的移动轨道便需要被重新设定。在实际应用中,由于目标位置并非一成不变的,所以需要频繁的根据变化后的目标位置重新设定移动叉举车的移动轨迹,使得移动叉举车并不能更好的进行叉举服务。
发明内容
有鉴于此,本发明实施例提供一种智能移动方法、装置、机器人及存储介质,以解决移动叉举车等机器人无法自动根据目标位置确定移动轨迹的技术问题。
第一方面,本发明实施例提供了一种智能移动方法,包括:
通过设置于目标对象上的二维码获取所述目标对象的第一坐标数据;
根据所述第一坐标数据和移动对象自身的第二坐标数据确定所述移动对象达到所述目标对象的轨迹数据,所述轨迹数据包括:正向移动轨迹数据、原地旋转轨迹数据以及反向移动轨迹数据;
控制所述移动对象根据所述正向移动轨迹数据、原地旋转轨迹数据和反向移动轨迹数据,分别完成正向移动操作、原地旋转操作和反向移动操作,以使所述移动对象到达所述目标对象所在位置。
第二方面,本发明实施例还提供了一种智能移动装置,包括:
数据获取模块,用于通过设置于目标对象上的二维码获取所述目标对象的第一坐标数据;
轨迹确定模块,用于根据所述第一坐标数据和移动对象自身的第二坐标数据确定所述移动对象达到所述目标对象的轨迹数据,所述轨迹数据包括:正向移动轨迹数据、原地旋转轨迹数据以及反向移动轨迹数据;
移动控制模块,用于控制所述移动对象根据所述正向移动轨迹数据、原地旋转轨迹数据和反向移动轨迹数据,分别完成正向移动操作、原地旋转操作和反向移动操作,以使所述移动对象到达所述目标对象所在位置。
第三方面,本发明实施例还提供了一种机器人,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
一个或多个移动装置,用于实现移动对象的正向移动、原地旋转和反向移动;
一个或多个图像采集装置,用于获取设置于目标对象上的二维码;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的智能移动方法。
第四方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面所述的智能移动方法。
本发明实施例提供的智能移动方法、装置、机器人及存储介质,通过利用目标对象二维码得到的目标对象第一坐标数据与移动对象自身的第二坐标数据确定移动对象的轨迹数据,其中,该轨迹数据包括正向移动轨迹数据、原地旋转轨迹数据以及反向移动轨迹数据,以根据上述轨迹数据控制移动对象完成移动的技术方案,实现了通过对目标对象的二维码识别自动确定目标对象的第一坐标数据,而后智能确定移动轨迹,大幅提高了移动轨迹和第一坐标数据的灵活性,即使目标对象改变了第一坐标数据,也无需手动更改移动对象的移动轨迹,不仅提高了移动效率,同时更好地实现了移动对象的自动化移动。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明实施例一提供的一种智能移动方法的流程图;
图2a为本发明实施例二提供的一种智能移动方法的流程图;
图2b为移动对象和目标对象的第一位置示意图;
图2c为移动对象和目标对象的第二位置示意图;
图2d为利用目标对象二维码确定正向坐标数据的方法的流程图;
图2e为正向移动方法的流程图;
图2f为利用目标对象二维码确定反向坐标数据的方法的流程图;
图2g为智能移动系统的示意图;
图2h为移动对象的系统结构示意图;
图2i为正向移动过程算法框图;
图2j为原地旋转过程算法框图;
图3为本发明实施例三提供的一种智能移动装置的结构示意图;
图4为本发明实施例四提供的一种机器人的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。
实施例一
图1为本发明实施例一提供的一种智能移动方法的流程图。本实施例提供的智能移动方法适用于由移动对象自行确定移动停止点以及移动轨迹的情况。其中,移动对象为带有移动功能的机器人。机器人是指可以自动执行工作的机器装置。它既可以接受人类指挥,又可以运行预先编排的程序,也可以根据以人工智能技术制定的原则纲领行动。例如,移动叉举车以及带有机械臂的设备等均属于机器人。进一步的,本实施例提供的智能移动方法可以由智能移动装置执行,该智能移动装置可以通过软件和/或硬件的方式实现,并集成在移动对象中。具体的,参考图1,本实施例提供的智能移动方法具体包括:
S110、通过设置于目标对象上的二维码获取目标对象的第一坐标数据。
在本实施例中,目标对象位于移动停止点,且其外表面附有易被移动目标识别的标识信息,其中,标识信息可以包括:条形码和/或二维码,优选为二维码。根据该标识信息可以确定目标对象的身份标识,尤其当移动对象的活动空间中存在多个目标对象时,根据身份标识便可以对不同的目标对象进行区分。
具体的,移动对象通过图像获取装置获取目标对象外表面的二维码,并识别该二维码以确定目标对象的身份标识。图像获取装置可以包括但不限定于:摄像头或图像传感器等。图像获取装置可以与移动对象相对固定,此时图像获取装置的拍摄画面仅能随着移动对象的移动而改变。相对的,图像获取装置还可以与移动对象相对不固定,此时若想要改变拍摄画面,在无需对移动对象进行移动的前提下,可以仅通过旋转或者伸缩图像获取装置实现。可选的,图像获取装置可以实时获取拍摄画面,也可以根据采样周期间隔获取拍摄画面,还可以根据拍摄指令获取拍摄画面。
进一步的,移动对象具有识别二维码功能,其可以在图像获取装置拍摄的画面中识别出二维码,并通过该二维码确定目标对象的位置数据,位置数据以第一坐标数据表示。其中,根据二维码确定目标对象的第一坐标数据可以是:移动对象中存储有当前移动空间内全部目标对象的二维码以及每个目标对象最新的第一坐标数据,当移动对象识别二维码后,便可以在存储的数据中查找到与当前二维码对应的第一坐标数据。如果目标对象可以被移动对象移动,那么当移动对象对目标对象进行移动后,自行在存储的数据中更新该目标对象的第一坐标数据,以保证第一坐标数据的准确性。其中,移动对象可以在移动后获取自身的实时位置信息并根据实时位置信息确定第一坐标数据,移动对象还可以在移动前获取移动停止点的位置信息,并在移动后根据该移动停止点的位置信息更新第一坐标数据。根据二维码确定目标对象的第一坐标数据还可以是:在二维码识别成功后,利用图像处理技术对当前包含二维码的图像进行分析,以确定二维码所在的目标对象与移动对象自身的相对位置或者相对位姿,进而根据相对位置或者相对位姿确定出目标对象的第一坐标数据。
可以想到的是,上述过程的实现中需要预先在移动空间中设定坐标系。其中,该坐标系可以为:二维平面坐标系和/或平面角度坐标系,还可以为三维立体坐标系和/或立体角度坐标系(球坐标系)。具体坐标系可以根据实际情况设定。
需要说明的是,如果移动范围内存在多个移动对象,那么这些移动对象之间可以组成局域网并进行数据交互,以保证各移动对象中均存储最新的第一坐标数据。同时,当一个移动对象对目标对象的二维码识别成功进行后续操作时,也可以通知其他的移动对象,以防止其他的移动对象对该目标对象进行二次识别,避免多个移动对象同一时刻对同一目标对象重复操作的问题。
可选的,可以仅在目标对象的外表面设置一个二维码,还可以设置多个二维码,其中,二维码的设置个数和设置位置可以根据实际情况进行设定。这样做的好处是当设置多个二维码时可以保证移动对象有效快速的获取二维码,或者当设置一个二维码时利用二维码确定目标对象当前的朝向信息(也可以成为角度坐标)。
S120、根据第一坐标数据和移动对象自身的第二坐标数据确定移动对象达到目标对象的轨迹数据。
其中,移动对象确定自身的第二坐标数据时可以通过里程计或者定位算法等方式得到。
为了保证移动过程的准确性,可以预先规划出移动过程的轨迹数据。该轨迹数据可以反映出理想状态下每个采样时刻移动对象应该到达的位置和角度。其中,在确定轨迹数据时可以通过动态窗口法或五次多项式法等运动规划方法。
假设,移动对象想要准确到达第一位置数据并对目标对象执行特定操作(固定、叉举、移动或者托起等操作)时,如果操作角度是特定的,比如目标对象具有固定的叉举空间,那么此时不仅需要移动对象准确到达指定的位置,还需要操作角度与目标对象的被操作角度吻合,才可以实现准确的操作。由此可知,移动对象不仅要明确停止时的位置还需要明确停止时的角度。据此,可选的,在第一坐标数据和第二坐标数据中均包括位置坐标和角度坐标。其中,位置坐标为平面二维坐标系中的坐标,角度坐标为基于平面基准角度确定的坐标,以移动对象为例,角度坐标为移动对象的前进方向与基准角度的顺时针夹角。还可选的,第一坐标数据和第二坐标数据中仅包括位置坐标,当通过二维码确定目标对象为移动对象可执行操作的对象时,通过二维码确定目标对象的位姿,进而确定目标对象的被操作角度。其中,通过二维码确定目标对象的位姿可以是在获取二维码后,确定二维码相对于目标对象的粘贴位置,进而确定目标对象的位姿;还可以是在获取二维码后,通过对采集的图像进行处理,分析出图像中目标对象的位姿。
进一步的,为了保证移动对象停止位置与目标对象的被操作位置尽可能的吻合,本实施例中将移动过程分为三个部分:正向移动部分、原地旋转部分以及反向移动部分。
其中,正向移动部分是移动对象初始移动过程,该部分可以将移动对象沿着当前的角度坐标(前进方向坐标)向前移动至设定的坐标数据。设定的坐标数据的确定方法包括:一、确定移动对象正向移动的方向线与目标对象被操作角度的方向线的交点为设定的坐标数据,该方法适用于任何移动场景,尤其适用于需要特定操作角度的场景;二、确定移动对象正向移动的方向线与以目标对象放置位置为圆心、设定距离为半径的圆的第一个交点为设定的坐标数据,该方法适用于不需要特定操作角度的场景。
原地旋转部分是指移动对象在移动过程中不改变位置坐标,只改变角度坐标,以使移动对象旋转后的角度坐标与目标对象的被操作角度相同或相反,进而保证移动对象在原地旋转后只需要做直线运动就可以到达目标对象的目标位置。在本实施例中设定移动对象的操作装置安装于与反向移动侧。比如目标对象为圆体或者长方体,此时无论移动对象位于目标对象的被操作角度还是反向被操作角度都可以实现对目标对象的操作,据此,可以根据目标对象的实际情况确定旋转后的角度坐标。
反向移动部分相对于正向移动部分,类似于“倒车”。此时,移动对象的角度坐标保持不变。反向移动操作是为了保证将移动对象的操作装置移动至目标对象的位置坐标,以实现对目标对象的位置操作。
一般而言,无论是正向移动部分还是反向移动部分,都默认为移动对象操作轨迹为直线,即直线移动。然而实际应用中,移动对象的直线移动都略带弧度,因此,为了保证移动的准确性,可以预先确定出直线移动的方向单位向量,并结合方向单位向量确定轨迹数据。
具体的,在确定轨迹数据时,可以分别确定正向移动部分的正向移动轨迹数据、原地旋转部分的原地旋转轨迹数据以及反向移动部分的反向移动轨迹数据。其中,确定各个部分的轨迹数据时可以采用相同或不同的运动规划方法。
S130、控制移动对象根据正向移动轨迹数据、原地旋转轨迹数据和反向移动轨迹数据,分别完成正向移动操作、原地旋转操作和反向移动操作,以使移动对象到达目标对象所在位置。
其中,移动对象具有至少一个移动装置。例如,左右共两个驱动轮或者左右各两个驱动轮。在控制移动对象移动时,需要分别控制每个移动装置进行移动。可想到的是,控制移动装置进行移动时实质上是控制移动装置对应的电机进行转动,以带动移动装置进行移动。
进一步的,在控制移动对象移动时,可以实现坐标数据的闭环,即实时获取移动对象的实际坐标数据,以确定出移动对象根据轨迹数据进行移动时实际坐标数据与对应的理想状态下的坐标数据的轨迹误差,进而对轨迹误差进行修正,以保证移动准确性。
需要说明的是,移动对象到达目标对象所在位置是指移动对象停止移动时的位置坐标与目标对象的位置坐标相同,至于移动对象停止移动时的角度坐标可以根据实际情况与目标对象的被操作角度坐标相同或者相反。应当指出,在实际应用中,移动对象停止的位置坐标可能与目标对象的位置坐标存在一定的偏差,以保证移动对象准确的对目标对象执行特定的操作,该偏差可以根据实际情况确定,在本实施例中默认偏差为0。
本实施例提供的技术方案,通过利用目标对象二维码得到的目标对象第一坐标数据与移动对象自身的第二坐标数据确定移动对象的轨迹数据,其中,该轨迹数据包括正向移动轨迹数据、原地旋转轨迹数据以及反向移动轨迹数据,以根据上述轨迹数据控制移动对象完成移动的技术方案,实现了通过对目标对象的二维码识别自动确定目标对象的第一坐标数据,而后智能确定移动轨迹,大幅提高了移动轨迹和第一坐标数据的灵活性,即使目标对象改变了第一坐标数据,也无需手动更改移动对象的移动轨迹,不仅提高了移动效率,同时更好地实现了移动对象的自动化移动。
实施例二
图2a为本发明实施例二提供的一种智能移动方法的流程图。本实施例是在上述实施例的基础上进行具体化。在本实施例中,第一坐标数据和第二坐标数据均包括位置坐标和角度坐标。参考图2a,本实施例提供的智能移动方法具体包括:
S201、通过设置于目标对象上的二维码获取目标对象的第一坐标数据。
在本实施例中,设定移动对象设置有第一图像采集装置和第二图像采集装置,其中,第一图像采集装置可以获取到移动对象前方的移动画面,第二图像采集装置可以获取到移动对象后方的移动图像。第一图像采集装置和第二图像采集装置优选为摄像头。
可选的,移动对象在移动空间中进行移动,并通过第一图像采集装置获取移动对象前方的画面,如果获取的画面中带有二维码,则对二维码进行识别,将二维码对应的物体作为目标对象并确定第一坐标数据。
S202、根据第一坐标数据和移动对象自身的第二坐标数据确定第三坐标数据。
其中,第三坐标数据位于移动对象正向移动方向和目标对象设定角度方向的相交点上,且第三坐标数据的角度坐标与第二坐标数据的角度坐标相同。
为了便于理解,参考图2b,其中,目标对象22具有特定的被操作角度,在本实施例中称为设定角度,其与第一坐标数据的角度坐标相差第一角度值,该第一角度值可以为0度或者180度,图2b中以180度为例,即设定角度等于第一坐标数据的角度坐标与180度的和,在后续步骤描述中同样以180度为例,且0度的操作过程与180度相同。移动对象21的第二坐标数据为P(x,y,θ),其中,(x,y)为位置坐标,θ为角度坐标。目标对象22的第一坐标数据为P0(x0,y0,θ0),进而可以确定设定角度为θ0+π。此时确定出移动对象的正向移动方向θ与设定角度方向θ0+π的交点P'1,且设定P'1的角度坐标与θ相同,此时,将P'1作为移动对象21正向移动的终止点。设定P'1与P0的距离为D,且该距离可以通过线性代数确定,那么,P'1的坐标数据可以具体表示为:
其中,P'1(x1,y1,θ)为第三坐标数据。
S203、对移动对象进行第一运动规划,以确定移动对象由第二坐标数据正向移动至第三坐标数据的正向移动轨迹数据。
为了保证移动对象正向移动时的准确性,先对移动对象正向移动过程进行预先规划,即第一运动规划。进一步的,对移动对象进行第一运动规划时,可以采用现有的多种运动规划方法。在本实施例中,示例性的选择了五次多项式法进行第一运动规划。下面对基于五次多项式法构造第一运动规划公式进行详细描述:
五次多项式法的运功规划过程可以表示为:
S(t)=a0+a1t+a2t2+a3t3+a4t4+a5t5 (2)
其中,a0、a1、a2、a3、a4以及a5为规划系数,t为移动对象当前的正向移动时刻,S(t)为t时刻的第一运动规划结果。
从上述公式可知,如果想要确定移动对象的第一运动规划结果,需要明确规划系数的具体值。
进一步的,规划系数的具体确定过程为:
设定,移动对象的正向移动停止点的坐标数据为第三坐标数据P'1(x1,y1,θ),移动对象初始移动时刻的起始点的坐标数据为第二坐标数据P(x,y,θ),正向移动过程中数据采样周期T1。由于在正向移动过程中仅涉及改变位置坐标,所以为了便于计算,在后续计算中忽略角度坐标仅保留位置坐标,即移动对象的起始位置坐标为P(x,y),停止位置坐标为P'1(x1,y1)。设定移动对象开始移动时的移动速度为移动加速度为正向移动停止时的移动速度为0,移动加速度为0,那么,可以得到s0=0,
此时,规划系数计算公式如下:
a0=s0 (3-1)
进一步的,确定规划系数后,式(2)可以表示为:
st=a0+a1t+a2t2+a3t3+a4t4+a5t5 (4)
其中,st表示为t时刻移动对象理想状态下期望移动的位置坐标。对式(4)进行微分计算,可得:
具体的,根据式(4)、式(5)以及式(6)便可以构造出移动对象的第一运动规划公式。具体的,由于移动对象在实际应用中每次正向移动均成圆弧运动,所以为了保证第一运动规划的准确性,需要确定圆弧运动的方向单位向量。具体的,设定方向单位向量为:且每次正向移动的方向单位向量相同。
其中,确定目标正向位置坐标Pt的公式为:
具体的,式(7)、式(8)以及式(9)为最终得到的第一运动规划公式。需要说明的是,在实际应该过程中可以根据实际情况在式(7)、式(8)以及式(9)中选择性的构造至少一个第一运动规划公式。例如,构造的第一运动规划公式为式(7),那么根据式(7)便可以确定正向移动过程中任意正向移动时刻的目标正向位置坐标,进而得到正向移动轨迹数据。
S204、根据第三坐标数据和第一坐标数据确定第四坐标数据。
其中,第四坐标数据的位置坐标与第三坐标数据的位置坐标相同,第四坐标数据的角度坐标与第一坐标数据的角度坐标相差第一角度值。示例性的,参考图2c,移动对象21后续运动到P'1时(图2c中表示为移动对象21a)的角度坐标为θ,如果想要实现对目标对象的操作,那么移动对象需要移动到设定角度,图2c中的设定角度为θ1=θ0+π。由于移动对象原地旋转时位置坐标不变,因此设定旋转后移动对象(图2c中表示为移动对象21b)的第四坐标数据具体为P1(x1,y1,θ1)。需要说明的是,图2c中仅示例性的标记出移动对象21a按照顺时针方向原地旋转至移动对象21b,在实际应用中,不限定具体的原地旋转方向。
S205、对移动对象进行第二运动规划,以确定移动对象由第三坐标数据旋转至第四坐标数据的原地旋转轨迹数据。
第二运动规划为对移动对象的原地旋转过程进行的规划。由于移动对象仅涉及角度改变,所以在确定原地旋转轨迹数据时,仅需使用角度坐标即可,即原地旋转初始角度坐标为θ,原地旋转停止角度坐标为θ1。在本实施例中,示例性的选择了五次多项式法进行第二运动规划。下面对基于五次多项式法构造第二运动规划公式进行详细描述:
五次多项式法的运功规划过程可以参考公式(2),并将公式(2)中t替换为t1。t1为移动对象从开始正向移动时开始计时直到当前的总移动时刻与原地旋转开始时刻的差值,S(t1)为t1时刻的第二运动规划结果。从公式(2)可知,如果想要确定移动对象的第二运动规划结果,需要明确规划系数的具体值。
具体的,规划系数的具体确定过程为:
设定移动对象原地旋转操作时初始角度坐标为θ,初始角速度为0,初始角加速度为0、停止角度坐标为θ0、停止角速度为0、停止角加速度为0,以及原地旋转过程中数据采样周期为T2。进一步,可以得到s0=0,s1=θ0-θ,进而根据规划系数计算参考公式(3-1)至公式(3-6),在确定规划系数后,式(2)可以表示为:
st1=a0+a1t1+a2t1 2+a3t1 3+a4t1 4+a5t1 5 (10)
其中,st1表示为t1时刻移动对象理想状态下期望旋转的角度。对式(10)进行微分计算,可得:
具体的,根据(10)、式(11)以及式(12)可以得到移动对象任意t1时刻期望旋转的角度、角速度以及角加速度,并根据期望旋转的角度、角速度以及角加速度确定移动对象t1时刻期望到达的目标旋转角度、目标旋转角速度以及目标旋转角加速度。
其中,确定目标旋转角度θt1的公式为:
θt1=θ+st1 (13)
具体的,式(13)、式(14)以及式(15)为最终得到的第二运动规划公式。需要说明的是,在实际应该过程中可以根据实际情况在式(13)、式(14)以及式(15)中选择性的构造至少一个第二运动规划公式。
S206、对移动对象进行第三运动规划,以确定移动对象由第四坐标数据反向移动至目标对象所在位置的反向移动轨迹数据。
第三运动规划为对移动对象反向移动过程进行的运动规划。在本实施例中,第三运动规划采用五项多项式法,具体可以参考公式(2),并将公式(2)中t替换为t2。t2为移动对象从开始正向移动时开始计时直到当前的总移动时刻与反向移动开始时刻的差值,S(t2)为t2时刻的第三运动规划结果。从公式(2)可知,如果想要确定移动对象的第三运动规划结果,需要明确规划系数的具体值。
具体的,反向移动初始时刻移动对象位于第四坐标数据P1(x1,y1,θ1),移动对象反向移动后期望到达目标对象的位置坐标(x0,y0),设定正向移动过程中数据采样周期T3,反向移动初始时刻的移动速度为0,移动加速度为0,反向移动停止时的移动速度为0,移动加速度为0,那么,可以得到s0=0, 进而根据规划系数计算参考公式(3-1)至公式(3-6),在确定规划系数后,式(2)可以表示为:
st2=a0+a1t2+a2t2 2+a3t2 3+a4t2 4+a5t2 5 (16)
其中,st2表示为t2时刻移动对象理想状态下期望移动的位置坐标。对式(16)进行微分计算,可得:
其中,确定目标反向位置坐标Pt2的公式为:
具体的,式(19)、式(20)以及式(21)为最终得到的第三运动规划公式。需要说明的是,在实际应该过程中可以根据实际情况在式(19)、式(20)以及式(21)中选择性的构造至少一个第三运动规划公式。例如,构造的第三运动规划公式为式(19),那么根据式(19)便可以确定反向移动过程中任意反向移动时刻的反向目标位置坐标,进而得到反向移动轨迹数据。
根据上述操作可以确定移动对象向目标对象移动的移动轨迹数据,下述操作为移动对象实际进行移动的过程。
S207、获取移动对象正向移动中第一当前时刻的正向坐标数据。
其中,根据预先设定的正向数据采样间隔T获取移动对象正向移动过程中实际坐标数据,并将实际坐标数据作为正向坐标数据。其中,正向坐标数据可以通过定位算法、里程计和/或利用目标对象二维码进行确定。
其中参考图2d,利用目标对象二维码确定正向坐标数据时具体包括S2071-S2073:
S2071、利用第一图像采集装置采集移动对象正向移动中第一当前时刻目标对象的二维码。
移动对象正向移动过程中,根据正向数据采样间隔,在第一当前时刻利用第一图像采集装置获取目标对象的二维码。一般而言,移动对象正向移动过程中角度坐标不变,同时第一图像采集装置的张角不变,因此正向移动过程中移动对象可以持续获取到目标对象的二维码。
S2072、根据二维码确定移动对象与目标对象第一当前时刻的第一位姿数据。
其中,第一当前时刻的第一位姿数据为移动对象与目标对象的相对位姿数据。具体的,利用图像处理技术对当前包含二维码的图像进行分析以确定目标对象与移动对象的第一位姿数据。例如,根据第一图像采集装置获取图像时的焦距、广角、分辨率等参数以及图像中目标对象的位置信息等确定目标对象相对于移动对象的位置信息以及角度信息,进而确定移动对象与目标对象的位姿数据。
S2073、根据第一位姿数据确定移动对象第一当前时刻的正向坐标数据。
具体的,根据目标对象的第一坐标数据以及第一位姿数据确定移动对象第一当前时刻的正向坐标数据。其中,正向坐标数据表示为Pc(xc(t),yc(t),θc(t)),xc(t)和yc(t)表示第一当前时刻移动对象实际的位置坐标,θc(t)表示第一当前时刻移动对象实际的角度坐标,t为移动对象正向移动中当前采样数据的时刻,即第一当前时刻。
S208、判断是否完成正向移动操作。若是,则执行S213,否则执行S209。
具体的,判断是否完成正向移动操作时,可以确定移动对象第一当前时刻的正向坐标数据是否为第三坐标数据,如果是第三坐标数据,那么确定完成正向移动,如果不是第三坐标数据,那么确定未完成正向移动,此时继续控制移动对象进行正向移动。
S209、确定正向坐标数据与正向移动轨迹数据中第一当前时刻对应的目标正向坐标数据的正向误差坐标数据。
可选的,式(7)为移动对象正向移动过程的第一运动规划公式。根据式(7)确定t时刻目标正向位置坐标Pt。由于移动对象正向移动过程中的角度数据不变,所以任意第一当前时刻移动对象的期望角度数据仍为θ。据此,可以将t时刻移动对象的目标正向坐标数据表示为Pr(Pt,θ),为了便于描述,将Pt表示为(xr(t),yr(t)),即得到Pr(xr(t),yr(t),θ)。
进一步的,正向误差坐标数据的计算公式为:
S210、根据正向误差坐标数据和正向坐标数据确定移动对象的第一速度变化数据。
本实施例中,由移动对象中的正向移动控制器输出第一速度变化数据以实现正向移动,所以在确定第一速度变化数据时需要考虑正向移动控制器的第一控制参数。一般而言,第一控制参数的具体值可以根据实际情况设定,并在一次完整的正向移动过程中不可更改。可选的,正向移动控制器设置在移动对象内部,其可以为软件和/或硬件,并满足李雅普诺夫渐近稳定性要求。在本实施例中,用Kx,Ky,Kθ表示正向移动控制器的第一控制参数,其分别对应控制x轴位置数据,y轴位置数据以及角度数据。
进一步的,第一速度变化数据的确定公式为:
其中,vr和wr为目标控制参数。由于正向移动过程中仅位置坐标变化,角度坐标不变,因此设定wr=0,其可以在第一运动规划后直接确定,并在本步骤中直接使用。进一步的,根据式(23)可知,第一速度变化数据qt包括正向直线速度变化数据v(t)和正向旋转速度变化数据w(t),且在实际应用中根据v(t)和w(t)控制移动对象正向移动。
由式(23)可知,第一速度变化数据也可以理解是根据正向坐标数据和目标正向坐标数据对目标控制参数进行修正的结果。
S211、根据第一速度变化数据控制移动对象的驱动器,以使驱动器根据第一速度变化数据控制移动对象进行正向移动。
其中,移动对象包括至少一个移动装置,并通过驱动器控制移动装置进行移动。可选的,如果有多个移动装置,各移动装置可以共用一个驱动器,以实现统一驱动,还可以为每个移动装置配置一个对应的驱动器,以实现对各移动装置的独立驱动。
具体的,参考图2e,根据第一速度变化数据实现正向移动时,具体可以包括S2111-S2112:
S2111、根据第一速度变化数据分别确定移动对象的第一移动装置的第一控制数据和第二移动装置的第二控制数据。
在本实施例中,移动对象优选包括第一移动装置和第二移动装置。第一移动装置和第二移动装置优选为第一驱动轮和第二驱动轮,其中,第一驱动轮和第二驱动轮中的一个为左驱动轮,另一个为右驱动轮。由于需要分别控制第一移动装置和第二移动装置进行移动。因此,需要将第一速度变化数据转换成分别控制第一移动装置和第二移动装置进行移动的第一控制数据和第二控制数据。
进一步的,当第一移动装置和第二移动装置左右设置时,通过第一速度变化数据确定第一控制数据和第二控制数据的公式参考如下:
其中,vl(t)表示左移动装置对应的控制数据,vr(t)表示右移动装置对应的控制数据,vl(t)和vr(t)中的一个为第一控制数据,另一个为第二控制数据。b为第一移动装置和第二移动装置之间的间距。一般而言,如果移动对象包括左右设置的两个移动装置,无论移动对象进行正向移动、原地旋转或者反向移动,都可以利用式(24)确定出第一控制数据和第二控制数据。
S2112、将第一控制数据和第二控制数据发送至移动对象的驱动器,以使驱动器分别根据第一控制数据和第二控制数据控制第一移动装置和第二移动装置进行正向移动。
S212、将下一采样时刻作为第一当前时刻。返回执行S207。
S213、获取移动对象原地旋转中第二当前时刻的旋转数据。
示例性的,移动对象完成正向移动后,根据原地旋转轨迹数据开始执行旋转操作。原地旋转起始点坐标数据为第三坐标数据,终止点坐标数据为第四坐标数据。此时,根据原地采样间隔T2确定第二当前时刻移动对象原地旋转过程中的旋转数据。该旋转数据为实际测量得到的数据,其可以通过里程计或者定位算法获取。
由于旋转过程中,仅有角度数据发生改变,因此旋转过程中仅需获取各类坐标数据中的角度坐标即可。即旋转数据为第二当前时刻移动对象的角度坐标。
S214、判断是否完成原地旋转操作。若是,执行S219,否则,执行S215。
具体的,判断是否完成原地旋转操作时,可以确定移动对象第二当前时刻的旋转数据是否为第四坐标数据,如果是第四坐标数据,那么确定完成原地旋转,如果不是第四坐标数据,那么确定未完成原地旋转,此时继续控制移动对象进行原地旋转。
S215、确定旋转数据与原地旋转轨迹数据中第二当前时刻对应的目标旋转数据的旋转误差数据。
具体的,式(13)为移动对象原地旋转过程的第二运动规划公式,根据式(13)确定t1时刻目标旋转数据(目标旋转角度)θt1。进一步的,根据旋转数据和目标旋转数据明确移动对象实际旋转过程与理想状态下旋转过程的旋转误差数据,进而根据旋转误差数据对移动对象的旋转过程进行调节,以保证旋转过程更加精准。
其中,设定旋转数据为θxt1,那么旋转误差数据为:θe=θt1-θxt1。
S216、根据旋转误差数据确定移动对象的旋转变化数据。
在本实施例中,由旋转控制器输出旋转变化数据以实现移动对象原地旋转,因此,在确定旋转变化数据时需要考虑旋转控制器的旋转控制参数,一般而言,旋转控制参数的具体值可以根据实际情况设定,并在一次完整的原地旋转过程中不可更改。在本实施例中旋转控制器优选为比例-积分-微分(Proportion Integration Differentiation,PID)控制器,对应的旋转控制参数包括:比例参数Kp,积分参数Ki和微分参数Kd。
进一步的,确定旋转变化数据的公式如下:
其中,t1表示第二当前时刻,qt1表示旋转变化数据,其包括原地直线速度变化数据v(t1)和原地旋转速度变化数据w(t1),并根据v(t1)和w(t1)控制移动对象原地旋转。由于位置坐标不发生改变,所以实际应用中仅需根据w(t1)控制移动对象原地旋转即可。需要说明的是,对θe进行一次差分计算可以得到
S217、根据旋转变化数据控制移动对象的驱动器,以使驱动器根据旋转变化数据控制移动对象进行原地旋转操作。
在本实施例中,无论移动对象进行正向移动、原地旋转或者反向移动,控制同一移动装置的驱动器均相同。
具体的,对旋转变化数据进行变换,以确定第一移动装置的第一旋转控制数据和第二移动装置的第二旋转控制数据。其中,移动对象的第一移动装置和第二移动装置左右设置时,利用式(24)确定第一旋转控制数据和第二旋转控制数据,且仅需在计算时将v(t)替换为v(t1),w(t)替换为w(t1)。
将第一旋转控制数据和第二旋转控制数据发送至驱动器,以实现通过驱动器控制第一移动装置和第二移动装置进行原地旋转。
S218、将下一采样时刻作为第二当前时刻,并返回执行S213。
S219、获取移动对象反向移动中第三当前时刻的反向坐标数据。
其中,根据预先设定的反向数据采样间隔T3获取移动对象反向移动过程中实际坐标数据,并将实际坐标数据成为反向坐标数据。其中,反向坐标数据可以通过定位算法、里程计和/或利用目标对象二维码进行确定。
其中参考图2f,利用目标对象二维码确定反向坐标数据时具体包括S2191-S2193:
S2191、利用第二图像采集装置采集移动对象反向移动中第三当前时刻目标对象的二维码。
由于反向移动时目标对象位于移动对象的后方,而面向移动对象前方的第一图像采集装置无法获取到目标对象的二维码。此时,利用面向后方的第二图像采集装置采集二维码。
S2192、根据二维码确定移动对象与目标对象第三当前时刻的第二位姿数据。
可选的,第二位姿数据的确定方式与第一位姿数据的确定方式相同。
S2193、根据第二位姿数据确定移动对象第三当前时刻的反向坐标数据。
其中,反向坐标数据表示为Pc(xc(t2),yc(t2),θc(t2))。xc(t2)和yc(t2)表示第三当前时刻移动对象实际的位置坐标,θc(t2)表示第三当前时刻移动对象实际的角度坐标,t2为移动对象反向移动中当前采样数据的时刻,即第三当前时刻。
S220、判断是否完成反向移动操作。若是,则结束移动操作。否则,执行S221。
具体的,判断是否完成反向移动操作时,可以确定移动对象第三当前时刻的反向坐标数据中的位置坐标是否为第一坐标数据中的位置坐标,如果是,则确定完成反向移动,如果不是,则确定未完成反向移动,此时,根据反向采样间隔将下一采样时刻作为第三当前时刻,并继续控制移动对象进行反向移动。
当移动对象完成反向移动操作后,确认移动对象完成向目标对象的移动过程,此时,移动对象可以后续对目标对象实现其他的操作。
S221、确定反向坐标数据与反向移动轨迹数据中第三当前时刻对应的目标反向坐标数据的反向误差坐标数据。
其中,第三运动规划公式仍为式(7),反向误差坐标数据的确定方法与正向误差坐标数据的确定方法相同,具体参考式(22)。
S222、根据反向误差坐标数据和反向坐标数据确定移动对象的第二速度变化数据。
其中,第二速度变化数据与第一速度变化数据的确定方法相同,具体参考式(23)。可选的,正向移动控制器与反向移动控制器为同一控制器,且正向移动控制器的第一控制参数和反向移动控制器的第二控制参数可以相同也可以不同。
S223、根据第二速度变化数据控制移动对象的驱动器,以使驱动器根据第二速度变化数据控制移动对象进行反向移动。
可选的,通过驱动器控制移动对象进行反向移动时,仍然需要将第二速度变化数据变化为控制第一移动装置的第三控制数据和控制第二移动装置的第四控制数据。其中,第三控制数据和第四控制数据的确定方法与第一控制数据和第二控制数据相同,具体参考式(24)。
S224、将下一采样时刻作为第三当前时刻,并返回执行S219。
下面对本实施例提供的智能移动方法进行示例性描述:
设定移动对象为移动叉举车23(也称为智能移动叉举车),目标对象为目标货架,其某一外表面贴有二维码,且留有一定的叉举空间。图2g为智能移动系统的示意图,其中包括移动叉举车23和目标货架24。图2h为移动对象的系统结构示意图,其中,移动叉举车23包括用于实现智能移动方法的控制器231、面向正向移动方向的前摄像头232、面向反向移动方向的后摄像头233、位于移动叉举车23末端的升举器234、用于驱动移动叉举车23移动的驱动器235、控制左驱动轮运转的左轮电机236、控制右驱动轮运转的右轮电机237以及其他外设238。下面结合图2g和图2h描述移动叉举车移动过程:
移动叉举车23通过前摄像头232获取目标货架24外表面粘贴的二维码241后,利用图像处理技术对包含二维码的图像进行分析,以确定目标货架24与移动叉举车23的相对位姿,进而根据移动叉举车23自身的位姿以及相对位姿确定出目标货架24的第一坐标数据P0(x0,y0,θ0)。
其中,移动叉举车23移动至目标货架24的过程共分为三部分:一、移动叉举车23正向直线移动至与目标货架24角度坐标反方向的第三坐标数据上;二、移动叉举车23原地旋转至与目标货架24角度坐标相反的角度坐标上,即原地旋转至第四坐标数据上;三、移动叉举车23反向直线移动至目标货架24所在位置(第一坐标数据的位置坐标),以保证位于移动叉举车23末端的升举器234进入叉举空间。
具体的,根据移动叉举车23自身的第二坐标数据P(x,y,θ)确定第三坐标数据P'1(x1,y1,θ),其中,第三坐标数据的具体数值请参考式(1)。之后,利用五项多项式法确定移动叉举车23由P(x,y,θ)移动到P'1(x1,y1,θ)的第一运动规划,并构造第一运动规划公式(7)。进一步的,根据第三坐标数据P'1(x1,y1,θ)和第一坐标数据P0(x0,y0,θ0)确定第四坐标数据P1(x1,y1,θ1),其中,θ1=θ0+π。之后,利用五项多项式法确定移动叉举车23由P'1(x1,y1,θ)原地旋转至P1(x1,y1,θ1)的第二运动规划,并构造第二运动规划公式(13)。而后,利用五项多项式法确定移动叉举车23由P1(x1,y1,θ1)反向移动至(x0,y0,θ1)的第三运动规划,并构造第三运动规划公式(19)。
根据第一运动规划结果控制移动叉举车23进行正向移动。图2i为正向移动过程算法框图,结合图2i说明移动叉举车23正向移动的计算流程。具体的,在第一当前时刻t通过前摄像头232获取目标货架24外表面粘贴的二维码241,以确定移动叉举车23的正向坐标数据Pc(xc(t),yc(t),θc(t)),利用式(7)确定t时刻的目标正向位置坐标Pt,进而得到t时刻移动叉举车23期望移动到的目标正向坐标数据Pr(xr(t),yr(t),θ)。而后,根据Pc(xc(t),yc(t),θc(t))和Pr(xr(t),yr(t),θ)利用式(22)确定t时刻的正向误差坐标数据Pet。利用式(7)确定Pt时,还同步确定并将vr输入至控制器(正向移动控制器与反向移动控制相同,均称为控制器)中,以使控制器根据式(23)确定第一速度变化数据qt。之后,根据式(24)对qt进行速度变换以得到qc,并将qc发送至驱动器,以使驱动器控制移动叉举车23进行移动。而后,将下一当前时刻作为第一当前时刻继续控制移动叉举车23进行正向移动,直到确认移动叉举车23移动到第三坐标数据的位置。从上述过程可见,正向移动过程中实现了坐标数据闭环,同时控制器优选满足李雅普诺夫渐近稳定性要求,因此上述过程也可以称为李雅普诺夫渐近稳定性直线跟踪算法。
完成正向移动后,移动叉举车23由P'1(x1,y1,θ)原地旋转至P1(x1,y1,θ1)。图2j为原地旋转过程算法框图,结合图2j说明移动叉举车23原地旋转的计算流程。在第二当前时刻t2通过里程计确定移动叉举车23当前的旋转数据θxt1,并利用式(13)确定目标旋转数据θt1,以得到旋转误差数据θe。将θe输入至PID控制器,以使PID控制器得到根据式(25)确定旋转变化数据qt1。之后,利用(24)对qt1进行速度变换以得到qc,并将qc发送至驱动器,以使驱动器控制移动叉举车23进行原地旋转。而后,将下一当前时刻作为第二当前时刻继续控制移动叉举车23进行原地旋转,直到确认移动叉举车23原地旋转到第四坐标数据的位置。从上述过程可见,原地旋转过程中实现了旋转角度闭环,同时利用PID控制器确定旋转变化数据,因此上述过程也可以称为PID原地旋转跟踪算法。
完成原地旋转后,移动叉举车23由P1(x1,y1,θ1)反向移动至(x0,y0,θ1),其中,反向移动过程的具体实现算法与正向移动过程相同,即仍然采用李雅普诺夫渐近稳定性直线跟踪算法,在此不作赘述。
当反向移动完成后,移动叉举车23控制升举器234抬起,以实现对目标货架24的叉举,并在叉举后继续移动移动叉举车23,当移动到设定地点后降低升举器,以实现对目标货架24的搬运。
本实施例提供的技术方案,通过获取目标对象上的二维码确定第一坐标数据,并根据第一坐标数据和移动对象自身的第二坐标数据对移动对象的移动轨迹进行运动规划,以确定正向移动轨迹数据、原地旋转轨迹数据以及反向旋转轨迹数据,在实际移动过程中,根据移动对象实际的移动数据与运功规划得到的移动轨迹数据对移动过程进行调整,以保证移动轨迹的准确性。同时,上述方法中利用二维码识别技术实现了自动确定目标对象的坐标数据以及移动轨迹,进而保证了移动对象的自动移动以及移动轨迹的可变性,无需手动更改移动对象的移动轨迹。
实施例三
图3为本发明实施例三提供的一种智能移动装置的结构示意图。参考图3,本实施例提供的智能移动装置具体包括:数据获取模块301、轨迹确定模块302以及移动控制模块303。
其中,数据获取模块301,用于通过设置于目标对象上的二维码获取目标对象的第一坐标数据;轨迹确定模块302,用于根据第一坐标数据和移动对象自身的第二坐标数据确定移动对象达到目标对象的轨迹数据,轨迹数据包括:正向移动轨迹数据、原地旋转轨迹数据以及反向移动轨迹数据;移动控制模块303,用于控制移动对象根据正向移动轨迹数据、原地旋转轨迹数据和反向移动轨迹数据,分别完成正向移动操作、原地旋转操作和反向移动操作,以使移动对象到达目标对象所在位置。
本实施例提供的技术方案,通过获取目标对象二维码确定的目标对象的第一坐标数据与移动对象自身的第二坐标数据确定移动对象的轨迹数据,其中,该轨迹数据包括正向移动轨迹数据、原地旋转轨迹数据以及反向移动轨迹数据,以根据上述轨迹数据控制移动对象完成移动的技术方案,实现了通过对目标对象的二维码识别自动确定目标对象的第一坐标数据,而后确定移动轨迹,大幅提高了移动轨迹和第一坐标数据的灵活性,即使目标对象改变了第一坐标数据,也无需手动更改移动对象的移动轨迹,不仅提高了移动效率,同时更好地实现了移动对象的自动化移动。
在上述实施例的基础上,第一坐标数据和第二坐标数据均包括位置坐标和角度坐标。
在上述实施例的基础上,轨迹确定模块302包括:第一坐标确定单元,用于根据第一坐标数据和移动对象自身的第二坐标数据确定第三坐标数据,第三坐标数据位于移动对象正向移动方向和目标对象设定角度方向的相交点上,且第三坐标数据的角度坐标与第二坐标数据的角度坐标相同;第一规划单元,用于对移动对象进行第一运动规划,以确定移动对象由第二坐标数据正向移动至第三坐标数据的正向移动轨迹数据;第二坐标确定单元,用于根据第三坐标数据和第一坐标数据确定第四坐标数据,第四坐标数据的位置坐标与第三坐标数据的位置坐标相同,第四坐标数据的角度坐标与第一坐标数据的角度坐标相差第一角度值;第二规划单元,用于对移动对象进行第二运动规划,以确定移动对象由第三坐标数据旋转至第四坐标数据的原地旋转轨迹数据;第三规划单元,用于对移动对象进行第三运动规划,以确定移动对象由第四坐标数据反向移动至目标对象所在位置的反向移动轨迹数据。
在上述实施例的基础上,移动控制模块303在用于控制移动对象根据正向移动轨迹数据完成正向移动操作时,包括:第一数据获取单元,用于获取移动对象正向移动中第一当前时刻的正向坐标数据;第一误差确定单元,用于确定正向坐标数据与正向移动轨迹数据中第一当前时刻对应的目标正向坐标数据的正向误差坐标数据;第一数据确定单元,根据正向误差坐标数据和正向坐标数据确定移动对象的第一速度变化数据;第一驱动单元,用于根据第一速度变化数据控制移动对象的驱动器,以使驱动器根据第一速度变化数据控制移动对象进行正向移动;第一返回单元,用于将下一采样时刻作为第一当前时刻,并返回执行获取移动对象正向移动中第一当前时刻的正向坐标数据的操作,直到移动对象完成正向移动操作为止。
在上述实施例的基础上,第一数据确定单元包括:控制数据确定子单元,用于根据第一速度变化数据分别确定移动对象的第一移动装置的第一控制数据和第二移动装置的第二控制数据;驱动子单元,用于将第一控制数据和第二控制数据发送至移动对象的驱动器,以使驱动器分别根据第一控制数据和第二控制数据控制第一移动装置和第二移动装置进行正向移动。
在上述实施例的基础上,第一数据获取单元包括:第一采集子单元,用于利用第一图像采集装置采集移动对象正向移动中第一当前时刻目标对象的二维码;第一位姿确定子单元,用于根据二维码确定移动对象与目标对象第一当前时刻的第一位姿数据;第一坐标确定子单元,用于根据第一位位姿数据确定移动对象第一当前时刻的正向坐标数据。
在上述实施例的基础上,移动控制模块303在用于控制移动对象根据原地旋转轨迹数据完成原地旋转操作时,包括:第二数据获取单元,用于获取移动对象原地旋转中第二当前时刻的旋转数据;第二误差确定单元,用于确定旋转数据与原地旋转轨迹数据中第二当前时刻对应的目标旋转数据的旋转误差数据;第二数据确定单元,用于根据旋转误差数据确定移动对象的旋转变化数据;第二驱动单元,用于根据旋转变化数据控制移动对象的驱动器,以使驱动器根据旋转变化数据控制移动对象进行原地旋转操作;第二返回单元,用于将下一采样时刻作为第二当前时刻,并返回执行获取移动对象原地旋转中第二当前时刻的旋转数据的操作,直到移动对象完成原地旋转操作为止。
在上述实施例的基础上,移动控制模块303在用于控制移动对象根据反向移动轨迹数据完成反向移动操作时,包括:第三数据获取单元,用于获取移动对象反向移动中第三当前时刻的反向坐标数据;第三误差确定单元,用于确定反向坐标数据与反向移动轨迹数据中第三当前时刻对应的目标反向坐标数据的反向误差坐标数据;第三数据确定单元,用于根据反向误差坐标数据和反向坐标数据确定移动对象的第二速度变化数据;第三驱动单元,用于根据第二速度变化数据控制移动对象的驱动器,以使驱动器根据第二速度变化数据控制移动对象进行反向移动;第三返回单元,用于将下一采样时刻作为第三当前时刻,并返回执行获取移动对象反向移动中第三当前时刻的反向坐标数据的操作,直到移动对象完成反向移动操作为止。
在上述实施例的基础上,第三数据获取单元包括:第二采集子单元,用于利用第二图像采集装置采集移动对象反向移动中第三当前时刻目标对象的二维码;第二位姿确定子单元,用于根据二维码确定移动对象与目标对象第三当前时刻的第二位姿数据;第二坐标确定子单元,用于根据第二位姿数据确定移动对象第三当前时刻的反向坐标数据。
本实施例提供的智能移动装置可以用于执行上述任意实施例提供的智能移动方法,具备相应的功能和有益效果。
实施例四
图4为本发明实施例四提供的一种机器人的结构示意图。如图4所示,该机器人包括处理器40、存储装置41、移动装置42、图像采集装置43、输入装置44和输出装置45;机器人中处理器40的数量可以是一个或多个,图4中以一个处理器40为例,机器人中移动装置42的数量可以是一个或多个,图4中以一个移动装置42为例;机器人中图像采集装置43的数量可以是一个或多个,图4中以一个图像采集装置43为例;机器人中的处理器40、存储装置41、移动装置42、图像采集装置43、输入装置44和输出装置45可以通过总线或其他方式连接,图4中以通过总线连接为例。
其中,移动装置42,用于实现机器人(移动对象)的正向移动、原地旋转和反向移动。图像采集装置43,用于获取设置于目标对象上的二维码。上述方法实施例提及的各种控制器均可以默认为设置于处理器40中。
存储装置41作为一种计算机可读存储介质,用于存储一个或多个程序,如本发明实施例中的智能移动方法对应的程序指令/模块(例如,智能移动装置中的数据获取模块301、轨迹确定模块302和移动控制模块303)。处理器40通过运行存储在存储装置41中的软件程序、指令以及模块,从而执行机器人的各种功能应用以及数据处理,即实现上述的智能移动方法。
存储装置41可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据机器人的使用所创建的数据等。此外,存储装置41可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置41可进一步包括相对于处理器40远程设置的存储器,这些远程存储器可以通过网络连接至机器人。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置44可用于接收输入的数字或字符信息,以及产生与机器人的用户设置以及功能控制有关的键信号输入。输出装置45可包括显示屏等显示设备。
本实施例提供的机器人可以执行上述任意实施例提供的智能移动方法,具备相应的功能和有益效果。
实施例五
本发明实施例五还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种智能移动方法,该智能移动方法包括:
通过设置于目标对象上的二维码获取目标对象的第一坐标数据;
根据第一坐标数据和移动对象自身的第二坐标数据确定移动对象达到目标对象的轨迹数据,轨迹数据包括:正向移动轨迹数据、原地旋转轨迹数据以及反向移动轨迹数据;
控制移动对象根据正向移动轨迹数据、原地旋转轨迹数据和反向移动轨迹数据,分别完成正向移动操作、原地旋转操作和反向移动操作,以使移动对象到达目标对象所在位置。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的智能移动方法操作,还可以执行本发明任意实施例所提供的智能移动方法中的相关操作,并具备相应的功能和有益效果。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是机器人,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的智能移动方法。
值得注意的是,上述智能移动装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种智能移动方法,其特征在于,包括:
通过设置于目标对象上的二维码获取所述目标对象的第一坐标数据;
根据所述第一坐标数据和移动对象自身的第二坐标数据确定所述移动对象达到所述目标对象的轨迹数据,所述轨迹数据包括:正向移动轨迹数据、原地旋转轨迹数据以及反向移动轨迹数据;
控制所述移动对象根据所述正向移动轨迹数据、原地旋转轨迹数据和反向移动轨迹数据,分别完成正向移动操作、原地旋转操作和反向移动操作,以使所述移动对象到达所述目标对象所在位置;
所述第一坐标数据和所述第二坐标数据均包括位置坐标和角度坐标;
所述根据所述第一坐标数据和移动对象自身的第二坐标数据确定所述移动对象达到所述目标对象的轨迹数据包括:
根据所述第一坐标数据和移动对象自身的第二坐标数据确定第三坐标数据,所述第三坐标数据位于所述移动对象正向移动方向和所述目标对象设定角度方向的相交点上,且所述第三坐标数据的角度坐标与所述第二坐标数据的角度坐标相同;
对所述移动对象进行第一运动规划,以确定所述移动对象由所述第二坐标数据正向移动至所述第三坐标数据的正向移动轨迹数据;
根据所述第三坐标数据和所述第一坐标数据确定第四坐标数据,所述第四坐标数据的位置坐标与所述第三坐标数据的位置坐标相同,所述第四坐标数据的角度坐标与所述第一坐标数据的角度坐标相差第一角度值;
对所述移动对象进行第二运动规划,以确定所述移动对象由所述第三坐标数据旋转至所述第四坐标数据的原地旋转轨迹数据;
对所述移动对象进行第三运动规划,以确定所述移动对象由所述第四坐标数据反向移动至所述目标对象所在位置的反向移动轨迹数据。
2.根据权利要求1所述的智能移动方法,其特征在于,所述控制所述移动对象根据所述正向移动轨迹数据完成正向移动操作包括:
获取所述移动对象正向移动中第一当前时刻的正向坐标数据;
确定所述正向坐标数据与所述正向移动轨迹数据中第一当前时刻对应的目标正向坐标数据的正向误差坐标数据;
根据所述正向误差坐标数据和所述正向坐标数据确定所述移动对象的第一速度变化数据;
根据所述第一速度变化数据控制所述移动对象的驱动器,以使所述驱动器根据所述第一速度变化数据控制所述移动对象进行正向移动;
将下一采样时刻作为第一当前时刻,并返回执行获取所述移动对象正向移动中第一当前时刻的正向坐标数据的操作,直到所述移动对象完成正向移动操作为止。
3.根据权利要求2所述的智能移动方法,其特征在于,所述根据所述第一速度变化数据控制所述移动对象的驱动器,以使所述驱动器根据所述第一速度变化数据控制所述移动对象进行正向移动包括:
根据所述第一速度变化数据分别确定所述移动对象的第一移动装置的第一控制数据和第二移动装置的第二控制数据;
将所述第一控制数据和第二控制数据发送至所述移动对象的驱动器,以使所述驱动器分别根据第一控制数据和第二控制数据控制所述第一移动装置和所述第二移动装置进行正向移动。
4.根据权利要求2所述的智能移动方法,其特征在于,所述获取所述移动对象正向移动中第一当前时刻的正向坐标数据包括:
利用第一图像采集装置采集所述移动对象正向移动中第一当前时刻所述目标对象的二维码;
根据所述二维码确定所述移动对象与所述目标对象第一当前时刻的第一位姿数据;
根据所述第一位姿数据确定所述移动对象第一当前时刻的正向坐标数据。
5.根据权利要求1所述的智能移动方法,其特征在于,所述控制所述移动对象根据所述原地旋转轨迹数据完成原地旋转操作包括:
获取所述移动对象原地旋转中第二当前时刻的旋转数据;
确定所述旋转数据与所述原地旋转轨迹数据中第二当前时刻对应的目标旋转数据的旋转误差数据;
根据所述旋转误差数据确定所述移动对象的旋转变化数据;
根据所述旋转变化数据控制所述移动对象的驱动器,以使所述驱动器根据所述旋转变化数据控制所述移动对象进行原地旋转操作;
将下一采样时刻作为第二当前时刻,并返回执行获取所述移动对象原地旋转中第二当前时刻的旋转数据的操作,直到所述移动对象完成原地旋转操作为止。
6.根据权利要求1所述的智能移动方法,其特征在于,所述控制所述移动对象根据所述反向移动轨迹数据完成反向移动操作包括:
获取所述移动对象反向移动中第三当前时刻的反向坐标数据;
确定所述反向坐标数据与所述反向移动轨迹数据中第三当前时刻对应的目标反向坐标数据的反向误差坐标数据;
根据所述反向误差坐标数据和所述反向坐标数据确定所述移动对象的第二速度变化数据;
根据所述第二速度变化数据控制所述移动对象的驱动器,以使所述驱动器根据所述第二速度变化数据控制所述移动对象进行反向移动;
将下一采样时刻作为第三当前时刻,并返回执行获取所述移动对象反向移动中第三当前时刻的反向坐标数据的操作,直到所述移动对象完成反向移动操作为止。
7.根据权利要求6所述的智能移动方法,其特征在于,所述获取所述移动对象反向移动中第三当前时刻的反向坐标数据包括:
利用第二图像采集装置采集所述移动对象反向移动中第三当前时刻所述目标对象的二维码;
根据所述二维码确定所述移动对象与所述目标对象第三当前时刻的第二位姿数据;
根据所述第二位姿数据确定所述移动对象第三当前时刻的反向坐标数据。
8.一种智能移动装置,其特征在于,包括:
数据获取模块,用于通过设置于目标对象上的二维码获取所述目标对象的第一坐标数据;
轨迹确定模块,用于根据所述第一坐标数据和移动对象自身的第二坐标数据确定所述移动对象达到所述目标对象的轨迹数据,所述轨迹数据包括:正向移动轨迹数据、原地旋转轨迹数据以及反向移动轨迹数据;
移动控制模块,用于控制所述移动对象根据所述正向移动轨迹数据、原地旋转轨迹数据和反向移动轨迹数据,分别完成正向移动操作、原地旋转操作和反向移动操作,以使所述移动对象到达所述目标对象所在位置;
其中,第一坐标数据和第二坐标数据均包括位置坐标和角度坐标;
轨迹确定模块包括:第一坐标确定单元,用于根据第一坐标数据和移动对象自身的第二坐标数据确定第三坐标数据,第三坐标数据位于移动对象正向移动方向和目标对象设定角度方向的相交点上,且第三坐标数据的角度坐标与第二坐标数据的角度坐标相同;第一规划单元,用于对移动对象进行第一运动规划,以确定移动对象由第二坐标数据正向移动至第三坐标数据的正向移动轨迹数据;第二坐标确定单元,用于根据第三坐标数据和第一坐标数据确定第四坐标数据,第四坐标数据的位置坐标与第三坐标数据的位置坐标相同,第四坐标数据的角度坐标与第一坐标数据的角度坐标相差第一角度值;第二规划单元,用于对移动对象进行第二运动规划,以确定移动对象由第三坐标数据旋转至第四坐标数据的原地旋转轨迹数据;第三规划单元,用于对移动对象进行第三运动规划,以确定移动对象由第四坐标数据反向移动至目标对象所在位置的反向移动轨迹数据。
9.一种机器人,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
一个或多个移动装置,用于实现移动对象的正向移动、原地旋转和反向移动;
一个或多个图像采集装置,用于获取设置于目标对象上的二维码;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7任一所述的智能移动方法。
10.一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-7中任一所述的智能移动方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710352778.2A CN107085428B (zh) | 2017-05-18 | 2017-05-18 | 智能移动方法、装置、机器人及存储介质 |
PCT/CN2017/103264 WO2018209863A1 (zh) | 2017-05-18 | 2017-09-25 | 智能移动方法、装置、机器人及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710352778.2A CN107085428B (zh) | 2017-05-18 | 2017-05-18 | 智能移动方法、装置、机器人及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107085428A CN107085428A (zh) | 2017-08-22 |
CN107085428B true CN107085428B (zh) | 2020-03-10 |
Family
ID=59608537
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710352778.2A Active CN107085428B (zh) | 2017-05-18 | 2017-05-18 | 智能移动方法、装置、机器人及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107085428B (zh) |
WO (1) | WO2018209863A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107085428B (zh) * | 2017-05-18 | 2020-03-10 | 广州视源电子科技股份有限公司 | 智能移动方法、装置、机器人及存储介质 |
CN108279674B (zh) * | 2018-01-18 | 2021-05-18 | 广州视源电子科技股份有限公司 | 智能移动的方法、装置、机器人及存储介质 |
CN108594822A (zh) * | 2018-05-10 | 2018-09-28 | 哈工大机器人(昆山)有限公司 | 基于二维码的机器人定位方法、机器人充电方法及系统 |
CN109189060B (zh) | 2018-07-25 | 2021-01-12 | 博众精工科技股份有限公司 | 移动机器人的点镇定控制方法及装置 |
CN110370269B (zh) * | 2018-09-12 | 2021-10-01 | 北京京东乾石科技有限公司 | 搬运机器人旋转控制方法和装置 |
CN111256676B (zh) * | 2018-11-30 | 2022-02-11 | 杭州海康机器人技术有限公司 | 移动机器人定位方法、装置和计算机可读存储介质 |
CN109682826B (zh) * | 2019-01-17 | 2023-07-21 | 东莞市三姆森光电科技有限公司 | 用于弧面外观检测的机器视觉系统及检测方法 |
CN110287747A (zh) * | 2019-07-01 | 2019-09-27 | 深圳江行联加智能科技有限公司 | 一种基于端到端深度网络的条形码检测方法 |
WO2021000370A1 (zh) * | 2019-07-01 | 2021-01-07 | 上海快仓智能科技有限公司 | 控制方法和自动引导车 |
CN114446053B (zh) * | 2022-01-21 | 2023-02-14 | 东南大学 | 针对智能网联车辆轨迹误差的无控制交叉口安全评价方法 |
CN116360467B (zh) * | 2023-06-01 | 2023-08-15 | 中国科学院自动化研究所 | 光伏板列无人清扫装置自主巡行系统及自主巡行方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103869814A (zh) * | 2012-12-17 | 2014-06-18 | 联想(北京)有限公司 | 一种终端定位和导航方法以及可移动的终端 |
CN104407615A (zh) * | 2014-11-03 | 2015-03-11 | 上海电器科学研究所(集团)有限公司 | 一种agv机器人导引偏差校正方法 |
CN106338991A (zh) * | 2016-08-26 | 2017-01-18 | 南京理工大学 | 一种基于惯性导航和二维码的机器人及定位导航方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08234836A (ja) * | 1995-02-24 | 1996-09-13 | Ishikawajima Harima Heavy Ind Co Ltd | 搬送台車の自動走行システム |
WO2012018828A1 (en) * | 2010-08-03 | 2012-02-09 | Fori Automation, Inc. | Sensor system and method for use with an automated guided vehicle (agv) |
CN103064417B (zh) * | 2012-12-21 | 2016-06-01 | 上海交通大学 | 一种基于多传感器的全局定位导引系统及方法 |
KR20150069207A (ko) * | 2013-12-13 | 2015-06-23 | 윤희상 | 무인운반차의 다중센서기반 통합주행장치 |
CN104777835A (zh) * | 2015-03-11 | 2015-07-15 | 武汉汉迪机器人科技有限公司 | 一种全向自动叉车及3d立体视觉导航定位方法 |
CN105180932A (zh) * | 2015-09-16 | 2015-12-23 | 成都四威高科技产业园有限公司 | 一种适合仓储agv的惯性导航方法 |
CN107085428B (zh) * | 2017-05-18 | 2020-03-10 | 广州视源电子科技股份有限公司 | 智能移动方法、装置、机器人及存储介质 |
-
2017
- 2017-05-18 CN CN201710352778.2A patent/CN107085428B/zh active Active
- 2017-09-25 WO PCT/CN2017/103264 patent/WO2018209863A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103869814A (zh) * | 2012-12-17 | 2014-06-18 | 联想(北京)有限公司 | 一种终端定位和导航方法以及可移动的终端 |
CN104407615A (zh) * | 2014-11-03 | 2015-03-11 | 上海电器科学研究所(集团)有限公司 | 一种agv机器人导引偏差校正方法 |
CN106338991A (zh) * | 2016-08-26 | 2017-01-18 | 南京理工大学 | 一种基于惯性导航和二维码的机器人及定位导航方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2018209863A1 (zh) | 2018-11-22 |
CN107085428A (zh) | 2017-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107085428B (zh) | 智能移动方法、装置、机器人及存储介质 | |
WO2018209864A1 (zh) | 移动控制方法、装置、机器人及存储介质 | |
CN108279674B (zh) | 智能移动的方法、装置、机器人及存储介质 | |
Cherubini et al. | A collaborative robot for the factory of the future: Bazar | |
CN114102585B (zh) | 一种物品抓取规划方法及系统 | |
Sayour et al. | Autonomous robotic manipulation: real‐time, deep‐learning approach for grasping of unknown objects | |
CN107901041A (zh) | 一种基于图像混合矩的机器人视觉伺服控制方法 | |
JP2022542239A (ja) | 視角エンベディングに基づいた自律タスク実行 | |
CN107992091B (zh) | 一种基于信号强度的平衡车跟随方法和系统 | |
CN109623825A (zh) | 一种移动轨迹规划方法、装置、设备和存储介质 | |
WO2019047415A1 (zh) | 轨迹跟踪方法和装置、存储介质、处理器 | |
Mekonnen et al. | Wireless hybrid visual servoing of omnidirectional wheeled mobile robots | |
CN111993411A (zh) | 一种机器人运动规划方法、装置、机器人及存储介质 | |
CN107031741B (zh) | 车体位姿校正方法及装置 | |
Marinho et al. | Manipulator control based on the dual quaternion framework for intuitive teleoperation using kinect | |
CN109542094B (zh) | 无期望图像的移动机器人视觉镇定控制 | |
CN113021329B (zh) | 一种机器人运动控制方法、装置、可读存储介质及机器人 | |
US20170028548A1 (en) | Robot control device and robot control method | |
TWI788253B (zh) | 適應性移動操作設備及方法 | |
CN112847340B (zh) | 一种控制方法、控制装置及机器人 | |
Pedrosa et al. | A skill-based architecture for pick and place manipulation tasks | |
CN106826826B (zh) | 一种机器人控制方法与装置 | |
RU2756437C1 (ru) | Способ и система планирования движения робота-манипулятора путем коррекции опорных траекторий | |
CN112947487A (zh) | 一种自动引导车辆及其曲线路径跟踪方法、控制装置 | |
Chang et al. | Mobile robot navigation and control with monocular surveillance cameras |
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 |