CN111753696A - 一种感知场景信息的方法、仿真装置、机器人 - Google Patents
一种感知场景信息的方法、仿真装置、机器人 Download PDFInfo
- Publication number
- CN111753696A CN111753696A CN202010552152.8A CN202010552152A CN111753696A CN 111753696 A CN111753696 A CN 111753696A CN 202010552152 A CN202010552152 A CN 202010552152A CN 111753696 A CN111753696 A CN 111753696A
- Authority
- CN
- China
- Prior art keywords
- frame
- map
- current
- camera
- matching
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 105
- 238000004088 simulation Methods 0.000 title claims abstract description 14
- 238000012545 processing Methods 0.000 claims abstract description 12
- 239000011159 matrix material Substances 0.000 claims description 38
- 238000002474 experimental method Methods 0.000 claims description 34
- 230000008569 process Effects 0.000 claims description 28
- 230000033001 locomotion Effects 0.000 claims description 14
- 230000009471 action Effects 0.000 claims description 13
- 238000002360 preparation method Methods 0.000 claims description 13
- 238000005457 optimization Methods 0.000 claims description 11
- 238000004422 calculation algorithm Methods 0.000 claims description 9
- 238000001514 detection method Methods 0.000 claims description 6
- 238000004458 analytical method Methods 0.000 claims description 4
- 238000013519 translation Methods 0.000 claims description 3
- 230000008447 perception Effects 0.000 abstract description 7
- 238000005516 engineering process Methods 0.000 description 7
- 230000000007 visual effect Effects 0.000 description 7
- 238000005452 bending Methods 0.000 description 6
- 238000013507 mapping Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000004807 localization Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- QAOWNCQODCNURD-UHFFFAOYSA-N sulfuric acid Substances OS(O)(=O)=O QAOWNCQODCNURD-UHFFFAOYSA-N 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- LFQSCWFLJHTTHZ-UHFFFAOYSA-N Ethanol Chemical compound CCO LFQSCWFLJHTTHZ-UHFFFAOYSA-N 0.000 description 1
- VEXZGXHMUGYJMC-UHFFFAOYSA-N Hydrochloric acid Chemical compound Cl VEXZGXHMUGYJMC-UHFFFAOYSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000007499 fusion processing Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/20—Scenes; Scene-specific elements in augmented reality scenes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V10/751—Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Remote Sensing (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Image Analysis (AREA)
Abstract
本发明提供了一种感知场景信息的方法,所述的方法包括:S1:通过摄像头获取场景图像数据;S2:基于场景图像数据,计算虚拟物体在场景中的位置坐标;S3:基于场景图像数据,计算障碍物在场景中的位置坐标;S4:将障碍物坐标与虚拟物体坐标进行作差处理,确定场景内的各个物体的位置关系。本发明基于简单的实现逻辑,简化了应用条件,能够根据位置估计和地图进行自身定位,实现场景信息的感知。此外,还将该方法应用于仿真装置和机器人中。
Description
技术领域
本发明涉及人机交互领域,具体涉及一种感知场景信息的方法,以及利用 该方法的仿真装置和机器人。
背景技术
随着机器人、无人机、无人驾驶、AR等领域的发展,SLAM技术也为大家 熟知,被认为是这些领域的关键技术之一。SLAM(Simultaneous Localization and Mapping),即同步定位与地图构建,最早在机器人领域提出,它指的是, 机器人从未知环境的未知地点出发,在运动过程中通过重复观测到的环境特 征定位自身位置和姿态,再根据自身位置构建周围环境的增量式地图,从而 达到同时定位和地图构建的目的。
现有阶段的虚拟实验中,对于虚拟物体,通常采用视觉SLAM技术,视觉 SLAM系统大概可以分为前端和后端。前端完成数据关联,相当于VO(视觉里 程计),研究帧与帧之间变换关系,主要完成实时的位姿跟踪,对输入的图 像进行处理,计算姿态变化,同时也检测并处理闭环,当有IMU信息时,也 可以参与融合计算(视觉惯性里程计VIO的做法);后端主要对前端的输出 结果进行优化,利用滤波理论(EKF、PF等)或者优化理论进行树或图的优化, 得到最优的位姿估计和地图。
在视觉SLAM技术的实现过程中,涉及详尽的信息采集和复杂的数据处理, 因此场景的布置要求很高,实际操作成本较大,对于尖端的虚拟场景还可以 应用,但是对于普通的实验教学环境,高要求和高成本的特性导致视觉SLAM 技术完全无法推广应用。
发明内容
为了解决上述问题,本申请提供了一种感知场景信息的方法,基于简单 的实现逻辑,简化了应用条件,能够根据位置估计和地图进行自身定位,实 现场景信息的感知。同时,将该方法应用于仿真装置和机器人中。
本发明公开了如下技术方案:
本发明实施例提供了一种感知场景信息的方法,所述的方法包括:
S1:通过摄像头获取场景图像数据;
S2:基于场景图像数据,计算虚拟物体在场景中的位置坐标;
S3:根据虚拟手与待操作的实验区域之间的距离将虚拟场景划分为三个 区域,通过多通道场景感知算法感知用户所处虚拟实验场景。
进一步的,所述的步骤S2的具体实现过程为:
S21:单目相机初始化;
S22:获取相机的位姿;
S23:使用NeedNewKeyFrame()方法判断当前帧是否能够作为关键帧输出;
S24:将关键帧位姿传入Viewer线程中,将当前帧相机的旋转和平移矩阵 按照列优先的顺序存入M矩阵中,对M矩阵中的矩阵进行处理,得到相机坐 标并存入Coordinate[3]中;
S25:调用SocketSend方法,将Coordinate[3]发送至Unity;
S26:在Unity虚拟平台中获取当前虚拟物体的坐标,通过json字符串解 析将相机坐标的x,y,z坐标值对应加到当前虚拟物体的坐标值上;
S27:将处理过的坐标值通过transform.position方法赋值给虚拟环境中虚 拟物体的坐标。
进一步的,步骤S21的具体实现过程为:
S211:创建mpInitializer;
S212:判断单目初始化器mpInitializer是否被创建,若是,确定当前帧为 第一帧并进入步骤S215;若否,进入步骤S213:
S213:设定当前帧图像为第一帧;
S214:使用mCurrentFrame.mvKeys.size()方法判断当前帧图像的特征点数 是否大于100,若特征点数目小于100,则等待MonocularInitialization()函数执 行完毕后返回步骤S211;若特征点数目大于100,则确定当前帧为第一帧;
S125:设定当前帧的下一帧为第二帧;
S216:使用mCurrentFrame.mvKeys.size()方法判断第二帧图像的特征点数 是否大于100,若特征点数目小于100,则将mpInitializer释放,将步骤S212 确定的第一帧丢弃,返回步骤S211;若特征点数目大于100,则确定S215中 设定的为第二帧;
S217:将第一帧与第二帧使用SearchForInitializatio()方法做特征点匹配, 若匹配的对数小于100,则释放mpInitializer并返回步骤S211;若匹配的对数 大于100,则最开始的两帧确定成功;
S218:mpInitializer调用Initialize(),使用DLT和八点法来计算单应矩阵H 和基础矩阵F,计算得到模型评分Sm;
S219:计算分数比RH;
S2110:若RH大于0.45,则认为这两帧的大部分特征点全在一个平面上, 并且两帧的视差较小,此时应选单应矩阵,否则选择基础矩阵;
S2111:将选中的两帧设为关键帧,计算两帧的DBoW,将关键帧添加到 map中;
S2112:遍历这两帧的每一组匹配点,用它们创建3D地图点并添加到地 图mpMap;
S2113:使用UpdateConnections()方法更新关键帧之间的连接权重;
S2114:调用Optimizer::GlobalBundleAdjustemnt()方法对所有的地图点(MapPoints)和关键帧(Keyframes)联合进行优化;
S2115:如果得到的地图点大于100,则使用invMedianDepth()方法更新 基线baseline以及地图点,并将追踪状态trackingState设置为OK。
进一步的,步骤S22的具体实现过程为:
当mState为OK时,假定前后两帧的相对运动相同即相机处于匀速运动, 调用matcher.SearchByProjection()方法,通过投影来与上一帧看到的地图点进 行匹配;
若匹配点数目大于等于20个,则调用TrackWithMotionModel()方法进行 相机跟踪,根据上一帧的位姿和速度预测当前相机的位姿,同样将匹配地图 点和位姿加入到图优化中得到当前帧的位姿以及匹配内点;
若匹配点数目少于20个,则调用TrackReferenceKeyFrame()方法进行跟踪, 首先计算当前帧的Bow,然后利用Bow来进行匹配根据参考关键帧与当前帧 匹配得到匹配地图点,之后将上一参考帧位姿作为当前帧的初始位姿,然后 将匹配点和位姿同时进行图优化,得到当前帧的位姿以及匹配内点;
当mState为Lost时,调用Relocalization()方法进行重定位跟踪,获取相 机位姿,首先计算当前帧的Bow,然后查询关键帧进行匹配,若匹配点对不 小于15,则将该关键帧作为候选关键帧,之后根据ORB匹配点计算关键帧对 应的地图点,使用PnP算法,利用Ransac迭代以及非线性最小二乘优化计算 相机位姿。
进一步的,步骤S22的实现过程中,当相机发生运动时,需要调用 Optimizer::PoseOptimization(&mCurrentFrame),对相机位姿进行优化,并根据 优化的相机位姿更新恒速运动模型TrackWithMotionModel()及参考关键帧,若 跟踪成功则记录当前位姿信息,若跟踪失败则使用上一次位姿值。
进一步的,对相机位姿进行优化的具体过程为:
更新地图中的关键帧;
更新局部地图点;
将局部地图点与当前帧进行匹配;
调用PoseOptimization()方法进行相机位姿调整。
进一步的,更新地图中关键帧的具体实现原理为:
设置当前不能接受新的关键帧到系统中;
建立新的关键帧及其属性,并更新地图点的属性并加入全局map;
检测当前关键帧对应的地图点是否是好的,检测项目为:地图点是否是 好的、地图点的查找率是否大于0.25、该地图点的第一关键帧与当前帧id的 相隔距离以及该关键点的被观察到的次数;
使用对极约束检测特征点,并建立地图点加入到全局map中;
在每组关键帧处理完成之后,对当前关键帧进行关键帧的融合,对地图 点进行融合;
将上一步骤中处理过的关键帧传递给回环检测线程;
设置当前系统可以接受新的关键帧。
进一步的,步骤S3的具体实现过程为:
S31:初始化实验场景区域范围,分别记为实验用品准备范围A、实验操 作准备范围B、实验区范围C;
S32:获取用户语音指令进行处理;
S33:获取用户当前进行实验的实验步骤;
S34:将实验步骤与语音指令进行匹配,根据用户指令判定用户实验步骤 是否正确,并输出语音提示;
S35:获取当前虚拟手的位置,判定用户当前所处操作区域;若处于实验 用品准备范围A内,则判定用户当前操作行为正误;若用户处于实验操作准 备范围B内,则向用户输出相对位置关系;若用户处于实验区范围C内,则 辅助用户到达正确的操作位置。
本发明实施例还提供了一种仿真装置,所述的仿真装置基于上述的方法 来构建虚拟环境,并在构建的虚拟环境内进行虚拟实验操作。
本发明实施例还提供了一种机器人,该机器人在执行动作的过程中,基 于所述方法进行环境感知,并基于感知的环境实现动作执行或路径规划。
本发明的有益效果:
本发明基于SLAM技术设计了一种智能手套,并提出了一种面向中学实验 的场景信息感知算法,该算法为学生进行虚拟中学实验提供了一种新的方式。 学生通过佩戴手套进行化学实验,能够实现在虚拟场景里操纵实验用品,利 用场景信息感知算法,智能手套实现了对用户实验环境的感知,从而更好的 对用户行为进行监测,更好的引导用户进行实验,从根本上提升人机交互的 精准度。
附图说明
图1为本发明方法实施例的流程图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合 附图及具体实施例进行详细描述。本领域技术人员应当知晓,下述具体实施 例或具体实施方式,是本发明为进一步解释具体的发明内容而列举的一系列 优化的设置方式,而该些设置方式之间均是可以相互结合或者相互关联使用 的,除非在本发明明确提出了其中某些或某一具体实施例或实施方式无法与 其他的实施例或实施方式进行关联设置或共同使用。同时,下述的具体实施 例或实施方式仅作为最优化的设置方式,而不作为限定本发明的保护范围的 理解。
实施例
本发明实施例提供了一种感知场景信息的方法,该方法主要应用于虚拟 场景中虚拟物体的自身定位和地图搭建,这里的虚拟物体一般指的是能够移 动的装置,因此本方法致力于针对移动的虚拟物体,在移动过程中根据位置 估计和地图进行自身定位,同时在自身定位的基础上建造增量式地图。
对于上述的虚拟物体,一种比较常见的装置为智能手套,智能手套套置 在手上,随着手的移动而移动,该智能手套的硬件部分包括手套载体、SLAM (simultaneouslocalization and mapping即时定位与地图构建,或并发建图与 定位)模块(也称为CMLConcurrent Mapping and Localization模块)、弯曲度 传感器、摄像头、计算芯片等基本模块。SLAM模块和计算芯片模块也可以设 置于计算机等其它任何计算设备上,并通过网络协议或通信线路与计算芯片 相连。手指弯曲度获取采用了柔性弯曲度传感器,该传感器可以贴合到手指 上,从而获取到手指的弯曲状态;摄像头是场景图像输入设备。
如图1所示,所述的方法包括以下实现过程:
S1:通过摄像头获取场景图像数据。该过程中的摄像头,一般采用单目 相机,设置在智能手套的手背或手心。
S2:基于场景图像数据,计算虚拟物体在场景中的位置坐标。
该步骤的实现原理为:智能手套的SLAM模块可以使用开源的SLAM系统, 首先,本发明在装有Linux系统的电脑中构建SLAM系统,之后在Windows 环境下的Unity软件中搭建了虚拟平台,两台电脑之间的数据传输使用socket 通信进行实现,将得到的相机当前在世界坐标系中的坐标值通过socket通信 发送至Unity环境中,再对坐标值进行处理,并赋值给虚拟手则得到了用户手 势轨迹。
基于上述原理描述,步骤S2的具体实现过程为:
S21:单目相机初始化。初始化的过程包括:
S211:创建单目初始化器mpInitializer。
S212:在程序中设置了bool型变量mpInitializer,初始化为false,若单目 初始化器被创建,则将该变量设置为true。基于该原理判断单目初始化器 mpInitializer是否被创建,若是,确定当前帧为第一帧并进入步骤S215;若否, 进入步骤S213。
S213:设定当前帧图像为第一帧,其中,若单目相机未初始化,则需要 对相机进行初始化,当前帧图像为相机获取的图像,即相机接收的第一帧图 像。
S214:使用ORB特征提取器,提取出特征点存储到mvKeys,之后使用size() 方法计算特征点的个数,即mvKeys的大小,单目初始化器规定只有当单目初 始帧的特征点数大于100才能够进行初始化器的创建,若当前帧图像的特征 点数大于100,则确定当前帧为第一帧;若特征点数目小于100,则等待 MonocularInitialization()函数(单目初始化函数)执行完毕后返回步骤S211。
S125:设定当前帧的下一帧为第二帧,其中,采集了相机启动后获取的 第一帧图像设定为当前帧,特征点数大于100后,相机获取的下一帧图像即 为第二帧。
S216:使用mCurrentFrame.mvKeys.size()方法判断第二帧图像的特征点数 是否大于100,若特征点数目小于100,则将mpInitializer释放,将步骤S212 确定的第一帧丢弃,返回步骤S211;若特征点数目大于100,则确定S215中 设定的为第二帧。
mpInitializer释放的原理为:在对第一帧图像进行处理时,即检测到单目 初始化器没有被创建时,会创建一个Initializer类型的mpInitializer对象, Initializer为系统定义的类,用作单目初始化,若第二帧特征点小于100,则使 用delete方法将mpInitializer对象删除,即将mpInitializer释放。
S217:将第一帧与第二帧使用SearchForInitializatio()方法做特征点匹配, 若匹配的对数小于100,则释放mpInitializer并返回步骤S211;若匹配的对数 大于100,则最开始的两帧确定成功。
步骤S217中,SearchForInitializatio()函数的功能是对传入的两个帧 做特征点匹配,设两帧为F1、F2,首先遍历F1中的关键点,对每一个取出来 的关键点再到F2中存放关键点的网格里找距离小于r的对应关键点。之后遍 历从F2中找出来的关键点,并计算F1对应关键点和F2这些关键点之间描述 子的距离,计算出最小距离和次小距离。
S218:mpInitializer调用Initialize(),开两个线程同时计算两帧之 间的基本矩阵(F)和单应矩阵(H),然后使用DLT和八点法来计算单应矩阵H 和基础矩阵F,得到模型评分其中Sm为每个模型的评分,为当前帧(第一帧、第二帧)到参考帧的对称转 换误差,为第二帧中的ORB特征点,为从第一帧中寻找的匹配点。
利用两帧之间的投影误差,为F矩阵和H矩阵恢复运动的精度打分的公 式为:其中,d2指的是每一帧的特征点投到另一 帧计算出的误差,Γ的值为5.99,TM是排除无效数据的阈值(TH为5.99,TF为5.99),TH和TF指的是单应矩阵与基础矩阵排除无效数据的阈值。
S2110:若RH大于0.45,则认为这两帧的大部分特征点全在一个平面上, 并且两帧的视差较小,此时应选单应矩阵,否则选择基础矩阵。
S2111:将选中的两帧设为关键帧,计算两帧的DBoW,将关键帧添加到 map中。
S2112:遍历这两帧的每一组匹配点,用它们创建3D地图点并添加到地 图mpMap。
S2113:使用UpdateConnections()方法更新关键帧之间的连接权重。
S2114:调用Optimizer::GlobalBundleAdjustemnt()方法对所有的地图 点(MapPoints)和关键帧(Keyframes)联合进行优化。
S2115:如果得到的地图点大于100,则使用invMedianDepth()方法更新 基线baseline以及地图点,并将追踪状态trackingState设置为OK。
对于步骤S2111-S2115,其在具体执行时的逻辑如下:
S22:获取相机的位姿。位姿获取的具体实现原理为:
当mState为OK时,假定前后两帧的相对运动相同即相机处于匀速运动, 调用matcher.SearchByProjection()方法,通过投影来与上一帧看到的地图点进 行匹配;若匹配点数目大于等于20个,则调用TrackWithMotionModel()方法 进行相机跟踪,根据上一帧的位姿和速度预测当前相机的位姿,同样将匹配 地图点和位姿加入到图优化中得到当前帧的位姿以及匹配内点;若匹配点数 目少于20个,则调用TrackReferenceKeyFrame()方法进行跟踪,首先计算当前 帧的Bow,然后利用Bow来进行匹配根据参考关键帧与当前帧匹配得到匹配 地图点,之后将上一参考帧位姿作为当前帧的初始位姿,然后将匹配点和位 姿同时进行图优化,得到当前帧的位姿以及匹配内点。
当mState为Lost时,调用Relocalization()方法进行重定位跟踪,获取相 机位姿,首先计算当前帧的Bow,然后查询关键帧进行匹配,若匹配点对不 小于15,则将该关键帧作为候选关键帧,之后根据ORB匹配点计算关键帧对 应的地图点,使用PnP算法,利用Ransac迭代以及非线性最小二乘优化计算 相机位姿。
随着相机运动,我们需要向局部地图中添加新的关键帧和3D地图点来维 护局部地图,这样,即使跟踪过程中某帧出现问题,利用局部地图,我们仍 然可以求出之后那些帧的正确位姿。
位姿调整实现原理为:
首先,调用Optimizer::PoseOptimization(&mCurrentFrame),对相机位姿进 行优化,对于相机位姿的优化,首先要对局部地图进行更新,之后进行局部 地图点匹配,最后对相机位姿进行优化。
其中,局部地图更新UpdateLocalMap()主要包括:对关键帧的更新UpdateLocalKeyFrames()和局部地图点的更新UpdateLocalPoints()。
更新地图中的关键帧mvpLocakKeyFrames采用以下步骤:
对当前帧的地图点MapPoint进行遍历,得到也能观测到这些地图点的关 键帧(地图点上记录了共视信息),同时记录关键帧的共视次数,将关键帧和共视 次数存储在map<KeyFrame*,int>keyframeCounter中;将上一步骤中得到的关 键帧全部插入到mvpLocakKeyFrames;遍历keyframeCounter中每个关键帧, 得到与之共视程度最高的10个关键帧,也全部插入到mvpLocakKeyFrames中; 遍历keyframeCounter中的每个关键帧,将每个关键帧的子关键帧(>=1)和 父关键帧(共视程度最高的之前的关键帧)都插入到mvpLocakKeyFrames中;更 新当前帧的参考关键帧mvpLocakKeyFrames,即将与自己共视程度最高的关键 帧作为参考关键帧。
对于局部地图点的更新,首先清空当前mvpLocalMapPoints中的局部地图 点,之后遍历更新的局部关键帧mvpLocakKeyFrames,将局部关键帧的地图点 插入到mvpLocalMapPoints。
局部地图点匹配SearchLocalPoints()即将局部地图点与当前帧进行匹配,具 体实现的过程为:
遍历当前帧的mvpMapPoints,标记这些MapPoints不参与之后的搜索;将 局部地图点mvpLocalMapPoints投影到当前帧,投影矩阵是通过帧间匹配得 到;根据投影点是否在图像内,地图点到相机中心距离是否在尺寸变换范围 内,相机中心到地图点向量与地图点平均视角夹角是否小于60°判断局部地 图点是否在当前帧的视野内(视野内,mbTrackInView为true);若 mbTrackInView为true,则使用SearchByProjection()方法得到一组3D局部地图 点-2D特征点的匹配对。
调用PoseOptimization()方法进行相机位姿调整,通过BA优化重投影误差, 具体过程为:
利用g2o库设置每个帧的顶点,将每个地图点作为顶点保存起来作为优化 的参数,对地图点使用四次最小二乘的优化,将原本的位姿替换为优化后的 位姿,并返回正常值的数量;
然后,根据优化的相机位姿更新恒速运动模型TrackWithMotionModel() 及参考关键帧,若跟踪成功则记录当前位姿信息,若跟踪失败则使用上一次 位姿值。
更新地图中关键帧的具体实现原理为:
1)设置当前不能接受新的关键帧到系统中。
2)对新关键帧进行处理。首先建立新的关键帧及其属性(计算关键帧BOW 向量,将关键帧的地图点加入该关键帧),并更新地图点的属性(设置观测 到该地图点的关键帧,该地图点的平均观测方向,最优描述子)并加入全局 map。
3)检测当前关键帧对应的地图点是否是好的,检测项目为:地图点是否 是好的、地图点的查找率是否大于0.25、该地图点的第一关键帧与当前帧id 的相隔距离以及该关键点的被观察到的次数。
4)使用对极约束检测特征点,并建立地图点加入到全局map中,具体原 理为:利用对极约束对当前帧和当前帧的共视关键帧进行三角测量,如果满 足对极约束则建立当前帧的地图点及其属性(a.观测到该MapPoint的关键帧, b.该MapPoint的描述子,c.该MapPoint的平均观测方向和深度范围),将地 图点加入关键帧,加入到全局map中。
5)在每组关键帧(当前情况下没有新的关键帧加入为一组关键帧)处理 完成之后,对当前关键帧(每组的最后一关键帧)进行关键帧的融合(融合 的是当前关键帧及其共视关键帧),对当前关键帧的地图点和两级相邻关键 帧的地图点进行融合,其中,融合过程中对象包括关键帧的共视关键帧和所 有共视关键帧的共视关键帧。
6)将上一步骤中处理过的关键帧传递给回环检测线程;
7)设置当前系统可以接受新的关键帧。
S23:位姿获取完成后,使用NeedNewKeyFrame()方法判断当前帧是否能 够作为关键帧输出。
S24:将关键帧位姿传入Viewer线程中,将当前帧相机的旋转和平移矩阵 按照列优先的顺序存入M矩阵中,对M矩阵中的矩阵进行处理,得到相机坐 标并存入Coordinate[3]中,使用GetPostion()方法得到相机的坐标,具体实现 过程为:创建坐标数组对象Coordinate[3];获取相机中心坐标矩阵ow;将ow 中存储的坐标值经过适当放大赋值给Coordinate。
S25:调用SocketSend方法,将Coordinate[3]发送至Unity,具体实现过 程为:创建Socket对象socket以及存储信息的字符串变量msg,为Socket绑 定对应的IP地址和端口号,将Coordinate[3]写入msg中,将msg写入socket 对象中,并发送给Unity端。
S26:在Unity虚拟平台中获取当前虚拟物体的坐标,通过json字符串解 析将相机坐标的x,y,z坐标值对应加到当前虚拟物体的坐标值上,具体实现 过程为:创建Socket对象socket,对在客户端绑定的端口号进行监听,获取 来自客户端发送的数据msg,使用Split()方法对msg进行分割,将分割结果存 入temp[]数组中,使用JsonUtility.FromJson<T>()方法对temp进行解析,得到 存储坐标数据的position对象,将position存入循环队列msgs中。
S27:将处理过的坐标值通过transform.position方法赋值给虚拟环境中虚 拟物体的坐标。
S3:用户佩戴手套后,可通过摄像头获取场景图像数据,从而获取到虚 拟手在虚拟场景中的移动轨迹。获取到轨迹后,根据虚拟手与待操作的实验 区域之间的距离将虚拟场景划分为三个区域,即实验用品准备区、实验操作 准备区、实验区。之后通过融合视觉,语音的多通道场景感知算法感知用户 所处虚拟实验场景的信息。
步骤S3的具体实现过程为:
S31:初始化实验用品准备区范围A,实验操作准备区范围B,实验区范 围C。
S32:获取用户语音指令,使用百度语音识别以及词法分析功能对用户指 令进行处理,获取用户语音指令中的动词与名词并存储到SpeechAnalysis队列 中。
S33:获取用户当前所进行实验的实验步骤集合ExperimentStep,里面存 储了实验步骤中所包含的动作与对象。
S34:将SpeechAnalysis与ExperimentStep进行匹配,判断用户实验步骤 是否正确;若用户实验步骤正确,则继续;若用户实验步骤错误,则对用户 进行语音提示,提示用户当前应当操作的实验步骤,返回S32。
S35:获取当前虚拟手的位置position,判断position所处的阈值范围;若 位于A范围内,则使用基于传感器的手势通道处理方法(GRBS)对用户行为进行 实时判断,获取用户行为队列GestureIntent。
GRBS的具体实现原理为:
对于手势通道的处理本专利使用了基于传感器数据的手势识别策略 (GRBS,Gesture recognition based on sensors),目前能够识别的手势包含三种类 型,即“抓起”,“放开”,“倾倒”。我们首先找用户佩戴手套对烧杯模 型做100人次上述三种动作,并记录用户佩戴手套做手势动作时的姿态传感 器数据以及手指弯曲度数据,之后对所获得的数据取平均值,作为模板数据。
当手势识别指令S由0变为1,手套开始获取用户数据P(M,X),M为1*3 的矩阵即当前手部绕x,y,z轴的旋转角度,X为1*5的矩阵,记录当前手指弯 曲度变化数据。
之后将P传入GRBS策略,将首先判别M所处的阈值范围D,本文中的D 设置了两种范围,即动作“抓起”和“放下”手部姿态阈值范围D1以及动作“倾 斜”手部姿态阈值范围D2。将M与手势姿态模板数据F(F为1*3的矩阵)进行作 差处理,得到姿态差g。
若g处于D1范围内,则将手势特征序列Ht(t为当前时刻)第一位设为1,若 处于D2范围内,则将第一位设为0,若不在范围D内,则设为2。M处理完毕 后,对X每一个数据进行判别,按照常理,当用户进行倾倒时,手指弯曲度状 态与用户做“抓取”的状态相似,于是,GRBS策略对于X只需判别当前用户 为抓取或是放开。将X与手势弯曲度模板数据C进行比较,得到手指弯曲度差 值矩阵b,GRBS策略给出了单根传感器弯曲度阈值范围K,若b[j](j=1,2,3,4,5) 的值处于“抓取”范围K1,内则将Ht序列第j位设为1,若b[j]处于“放开”范 围K2,则将Ht序列第j位设为0,否则将第j位设为2。随着手套对传入的数据 不断判别,序列Ht也不断更新,对于每次计算完毕的Ht与前一次的Ht-1使用汉 明距离计算两个序列之间的距离d(Ht,Ht-1),即对应位置上值不同的个数。
若d(Ht,Ht-1)的值为0,则证明用户动作已经完成,将手势识别指令S将由 1变为0,GRBS策略停止接收数据,之后将获取的Ht与手势特征库中的特征使 用汉明距离进行手势特征匹配,并返回手势名称,若手势匹配未成功,则返 回null,手势特征库如表1所示。
表1手势特征库
手势名称 | 手势特征序列 |
抓起 | 111111 |
放开 | 100000 |
倾倒 | 011111 |
用户通过智能手套上的RFID读写器识别实验模型上的条形码信息获取 当前正在操作对象的具体信息,从对象信息库中获取到操作对象名称,对象 信息库如表2所示。
表2对象信息库
RFID信息 | 对象名称 |
AC7FE8A9 | 浓硫酸 |
E485656D | 稀硫酸 |
37451EC0 | 酒精 |
YU78FG0F | 稀盐酸 |
对象识别完成后,将获取的手势名称与对象名称存入GestureIntent中。
将GestureIntent与语音指令获取的实验操作SpeechAnalysis进行比较,若 两者相同,则继续;若两个对象中的动作名称不一致,则提示用户当前动作 错误,若两个对象中的操作对象名称不一致,则提示用户当前操作对象错误;
若position位于B范围内,则证明用户以进入实验准备区,即将开始进行 实验,则对当前虚拟手以及目标操作物体target之间的相对位置进行计算, 计算公式为:
对所得结果,将当前虚拟手与目标操作物体的相对位置关系显示在虚拟 场景左上方。
若position位于C范围内,则用户已到达实验区,则需对当前虚拟手与目 标物体之间的距离进行精准判断,首先计算当前虚拟手与目标物体target之 间的相对位置,根据我们实验的测试结果,当虚拟环境中虚拟手与目标物体x 轴方向距离阈值范围为1-1.5,y轴方向距离阈值范围为1-2,在z轴方向距离 阈值范围为0-1时,可判定用户到达目标物体周围,可对目标物体执行操作。 根据步骤S37中的公式,计算dx,dy,dz,若当前未达到上述可操作阈值范围, 则向用户提示一次当前具体的位置关系,之后不断计算dx,dy,dz,并对三 个距离变量的绝对值并进行比较,选取其中绝对值较大的距离值,根据方向 判定向用户输出辅助语音提示,例如,当前位置偏向目标烧杯左侧。
基于本发明的实施例,将其应用于仿真装置,所述的仿真装置基于上述 的方法来构建虚拟环境,并在构建的虚拟环境内进行虚拟实验操作。
此处描述的仿真装置,可以是带摄像头的仿真手套,也可以是一整套的 仿真设备组成的仿真平台,只要满足本实施例方法的应用条件即可。
基于本发明的实施例,将其应用于机器人,该机器人在执行动作的过程 中,基于所述方法进行环境感知,并基于感知的环境实现动作执行或路径规 划。
需要注意的是,在将实施例的方法应用于仿真装置或机器人时,步骤S1 和步骤S2的原理可以直接应用,步骤S3根据实际需要选择是否执行,当需 要执行步骤S3时,需要根据应用对象或应用场景,重新定义场景划分的名称 和数量,但是不改变步骤S3的技术原理。
应当指出,以上所述具体实施方式可以使本领域的技术人员更全面地理 解本发明的具体结构,但不以任何方式限制本发明创造。因此,尽管说明书 及附图和实施例对本发明创造已进行了详细的说明,但是,本领域技术人员 应当理解,仍然可以对本发明创造进行修改或者等同替换;而一切不脱离本 发明创造的精神和范围的技术方案及其改进,其均涵盖在本发明创造专利的 保护范围当中。
Claims (10)
1.一种感知场景信息的方法,其特征在于,所述的方法包括:
S1:通过摄像头获取场景图像数据;
S2:基于场景图像数据,计算虚拟物体在场景中的位置坐标;
S3:根据虚拟手与待操作的实验区域之间的距离将虚拟场景划分为三个区域,通过多通道场景感知算法感知用户所处虚拟实验场景。
2.根据权利要求1所述的一种感知场景信息的方法,其特征在于,所述的步骤S2的具体实现过程为:
S21:单目相机初始化;
S22:获取相机的位姿;
S23:使用NeedNewKeyFrame()方法判断当前帧是否能够作为关键帧输出;
S24:将关键帧位姿传入Viewer线程中,将当前帧相机的旋转和平移矩阵按照列优先的顺序存入M矩阵中,对M矩阵中的矩阵进行处理,得到相机坐标并存入Coordinate[3]中;
S25:调用SocketSend方法,将Coordinate[3]发送至Unity;
S26:在Unity虚拟平台中获取当前虚拟物体的坐标,通过json字符串解析将相机坐标的x,y,z坐标值对应加到当前虚拟物体的坐标值上;
S27:将处理过的坐标值通过transform.position方法赋值给虚拟环境中虚拟物体的坐标。
3.根据权利要求2所述的一种感知场景信息的方法,其特征在于,步骤S21的具体实现过程为:
S211:创建mpInitializer;
S212:判断单目初始化器mpInitializer是否被创建,若是,确定当前帧为第一帧并进入步骤S215;若否,进入步骤S213:
S213:设定当前帧图像为第一帧;
S214:使用mCurrentFrame.mvKeys.size()方法判断当前帧图像的特征点数是否大于100,若特征点数目小于100,则等待MonocularInitialization()函数执行完毕后返回步骤S211;若特征点数目大于100,则确定当前帧为第一帧;
S125:设定当前帧的下一帧为第二帧;
S216:使用mCurrentFrame.mvKeys.size()方法判断第二帧图像的特征点数是否大于100,若特征点数目小于100,则将mpInitializer释放,将步骤S212确定的第一帧丢弃,返回步骤S211;若特征点数目大于100,则确定S215中设定的为第二帧;
S217:将第一帧与第二帧使用SearchForInitializatio()方法做特征点匹配,若匹配的对数小于100,则释放mpInitializer并返回步骤S211;若匹配的对数大于100,则最开始的两帧确定成功;
S218:mpInitializer调用Initialize(),使用DLT和八点法来计算单应矩阵H和基础矩阵F,计算得到模型评分Sm;
S219:计算分数比RH;
S2110:若RH大于0.45,则认为这两帧的大部分特征点全在一个平面上,并且两帧的视差较小,此时应选单应矩阵,否则选择基础矩阵;
S2111:将选中的两帧设为关键帧,计算两帧的DBoW,将关键帧添加到map中;
S2112:遍历这两帧的每一组匹配点,用它们创建3D地图点并添加到地图mpMap;
S2113:使用UpdateConnections()方法更新关键帧之间的连接权重;
S2114:调用Optimizer::GlobalBundleAdjustemnt()方法对所有的地图点(MapPoints)和关键帧(Keyframes)联合进行优化;
S2115:如果得到的地图点大于100,则使用invMedianDepth()方法更新基线baseline以及地图点,并将追踪状态trackingState设置为OK。
4.根据权利要求2所述的一种感知场景信息的方法,其特征在于,步骤S22的具体实现过程为:
当mState为OK时,假定前后两帧的相对运动相同即相机处于匀速运动,调用matcher.SearchByProjection()方法,通过投影来与上一帧看到的地图点进行匹配;
若匹配点数目大于等于20个,则调用TrackWithMotionModel()方法进行相机跟踪,根据上一帧的位姿和速度预测当前相机的位姿,同样将匹配地图点和位姿加入到图优化中得到当前帧的位姿以及匹配内点;
若匹配点数目少于20个,则调用TrackReferenceKeyFrame()方法进行跟踪,首先计算当前帧的Bow,然后利用Bow来进行匹配根据参考关键帧与当前帧匹配得到匹配地图点,之后将上一参考帧位姿作为当前帧的初始位姿,然后将匹配点和位姿同时进行图优化,得到当前帧的位姿以及匹配内点;
当mState为Lost时,调用Relocalization()方法进行重定位跟踪,获取相机位姿,首先计算当前帧的Bow,然后查询关键帧进行匹配,若匹配点对不小于15,则将该关键帧作为候选关键帧,之后根据ORB匹配点计算关键帧对应的地图点,使用PnP算法,利用Ransac迭代以及非线性最小二乘优化计算相机位姿。
5.根据权利要求4所述的一种感知场景信息的方法,其特征在于,步骤S22的实现过程中,当相机发生运动时,需要调用Optimizer::PoseOptimization(&mCurrentFrame),对相机位姿进行优化,并根据优化的相机位姿更新恒速运动模型TrackWithMotionModel()及参考关键帧,若跟踪成功则记录当前位姿信息,若跟踪失败则使用上一次位姿值。
6.根据权利要求5所述的一种感知场景信息的方法,其特征在于,对相机位姿进行优化的具体过程为:
更新地图中的关键帧;
更新局部地图点;
将局部地图点与当前帧进行匹配;
调用PoseOptimization()方法进行相机位姿调整。
7.根据权利要求6所述的一种感知场景信息的方法,其特征在于,更新地图中关键帧的具体实现原理为:
设置当前不能接受新的关键帧到系统中;
建立新的关键帧及其属性,并更新地图点的属性并加入全局map;
检测当前关键帧对应的地图点是否是好的,检测项目为:地图点是否是好的、地图点的查找率是否大于0.25、该地图点的第一关键帧与当前帧id的相隔距离以及该关键点的被观察到的次数;
使用对极约束检测特征点,并建立地图点加入到全局map中;
在每组关键帧处理完成之后,对当前关键帧进行关键帧的融合,对地图点进行融合;
将上一步骤中处理过的关键帧传递给回环检测线程;
设置当前系统可以接受新的关键帧。
8.根据权利要求1所述的一种感知场景信息的方法,其特征在于,步骤S3的具体实现过程为:
S31:初始化实验场景区域范围,分别记为实验用品准备范围A、实验操作准备范围B、实验区范围C;
S32:获取用户语音指令进行处理;
S33:获取用户当前进行实验的实验步骤;
S34:将实验步骤与语音指令进行匹配,根据用户指令判定用户实验步骤是否正确,并输出语音提示;
S35:获取当前虚拟手的位置,判定用户当前所处操作区域;若处于实验用品准备范围A内,则判定用户当前操作行为正误;若用户处于实验操作准备范围B内,则向用户输出相对位置关系;若用户处于实验区范围C内,则辅助用户到达正确的操作位置。
9.一种仿真装置,其特征在于,基于权利要求1-8任意一项所述的方法来构建虚拟环境或虚拟物体的位置关系。
10.一种机器人,其特征在于,基于权利要求1-8任意一项所述的方法构建场景地图,并基于该场景地图执行动作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010552152.8A CN111753696B (zh) | 2020-06-17 | 2020-06-17 | 一种感知场景信息的方法、仿真装置、机器人 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010552152.8A CN111753696B (zh) | 2020-06-17 | 2020-06-17 | 一种感知场景信息的方法、仿真装置、机器人 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111753696A true CN111753696A (zh) | 2020-10-09 |
CN111753696B CN111753696B (zh) | 2024-04-02 |
Family
ID=72675278
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010552152.8A Active CN111753696B (zh) | 2020-06-17 | 2020-06-17 | 一种感知场景信息的方法、仿真装置、机器人 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111753696B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112633122A (zh) * | 2020-12-17 | 2021-04-09 | 厦门大学 | 一种单目vio系统的前端里程计算法及系统 |
CN113066152A (zh) * | 2021-03-18 | 2021-07-02 | 内蒙古工业大学 | 一种agv地图构建方法和系统 |
CN114821544A (zh) * | 2022-06-29 | 2022-07-29 | 小米汽车科技有限公司 | 感知信息生成方法、装置、车辆、电子设备及存储介质 |
CN115808974A (zh) * | 2022-07-29 | 2023-03-17 | 深圳职业技术学院 | 沉浸式指挥中心构建方法、系统及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150182855A1 (en) * | 2013-12-27 | 2015-07-02 | Ballcraft, Llc | Motion detection for existing portable devices |
US20180285636A1 (en) * | 2017-04-04 | 2018-10-04 | Usens, Inc. | Methods and systems for hand tracking |
CN109407547A (zh) * | 2018-09-28 | 2019-03-01 | 合肥学院 | 面向全景视觉感知的多摄像头在环仿真测试方法与系统 |
CN110124305A (zh) * | 2019-05-15 | 2019-08-16 | 网易(杭州)网络有限公司 | 虚拟场景调整方法、装置、存储介质与移动终端 |
CN110221690A (zh) * | 2019-05-13 | 2019-09-10 | Oppo广东移动通信有限公司 | 基于ar场景的手势交互方法及装置、存储介质、通信终端 |
-
2020
- 2020-06-17 CN CN202010552152.8A patent/CN111753696B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150182855A1 (en) * | 2013-12-27 | 2015-07-02 | Ballcraft, Llc | Motion detection for existing portable devices |
US20180285636A1 (en) * | 2017-04-04 | 2018-10-04 | Usens, Inc. | Methods and systems for hand tracking |
CN109407547A (zh) * | 2018-09-28 | 2019-03-01 | 合肥学院 | 面向全景视觉感知的多摄像头在环仿真测试方法与系统 |
CN110221690A (zh) * | 2019-05-13 | 2019-09-10 | Oppo广东移动通信有限公司 | 基于ar场景的手势交互方法及装置、存储介质、通信终端 |
CN110124305A (zh) * | 2019-05-15 | 2019-08-16 | 网易(杭州)网络有限公司 | 虚拟场景调整方法、装置、存储介质与移动终端 |
Non-Patent Citations (1)
Title |
---|
张玲: "基于自然特征的虚实融合游戏系统研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 7, pages 138 - 925 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112633122A (zh) * | 2020-12-17 | 2021-04-09 | 厦门大学 | 一种单目vio系统的前端里程计算法及系统 |
CN112633122B (zh) * | 2020-12-17 | 2024-01-23 | 厦门大学 | 一种单目vio系统的前端里程计算法及系统 |
CN113066152A (zh) * | 2021-03-18 | 2021-07-02 | 内蒙古工业大学 | 一种agv地图构建方法和系统 |
CN114821544A (zh) * | 2022-06-29 | 2022-07-29 | 小米汽车科技有限公司 | 感知信息生成方法、装置、车辆、电子设备及存储介质 |
CN115808974A (zh) * | 2022-07-29 | 2023-03-17 | 深圳职业技术学院 | 沉浸式指挥中心构建方法、系统及存储介质 |
CN115808974B (zh) * | 2022-07-29 | 2023-08-29 | 深圳职业技术学院 | 沉浸式指挥中心构建方法、系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111753696B (zh) | 2024-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Li | Human–robot interaction based on gesture and movement recognition | |
US12131529B2 (en) | Virtual teach and repeat mobile manipulation system | |
CN111753696B (zh) | 一种感知场景信息的方法、仿真装置、机器人 | |
Labbé et al. | Single-view robot pose and joint angle estimation via render & compare | |
CN108838991A (zh) | 一种自主类人双臂机器人及其对运动目标的跟踪操作系统 | |
CN110717927A (zh) | 基于深度学习和视惯融合的室内机器人运动估计方法 | |
CN112101160B (zh) | 一种面向自动驾驶场景的双目语义slam方法 | |
JP2003271975A (ja) | 平面抽出方法、その装置、そのプログラム、その記録媒体及び平面抽出装置搭載型ロボット装置 | |
Núnez et al. | Real-time human body tracking based on data fusion from multiple RGB-D sensors | |
Shi et al. | Fuzzy dynamic obstacle avoidance algorithm for basketball robot based on multi-sensor data fusion technology | |
Altuntaş et al. | Comparison of 3-dimensional SLAM systems: RTAB-Map vs. Kintinuous | |
Memmesheimer et al. | homer@ unikoblenz: Winning team of the robocup@ home open platform league 2017 | |
CN115862074A (zh) | 人体指向确定、屏幕控制方法、装置及相关设备 | |
Infantino et al. | Visual control of a robotic hand | |
Cintas et al. | Robust behavior and perception using hierarchical state machines: A pallet manipulation experiment | |
Kayalvizhi et al. | A Comprehensive Study on Supermarket Indoor Navigation for Visually Impaired using Computer Vision Techniques | |
Atanasov et al. | Nonmyopic view planning for active object detection | |
Jin et al. | SLAM Fusion Optimization Based on Monocular Vision and Inertial Sensor | |
Yang | Cooperative mobile robot and manipulator system for autonomous manufacturing | |
Luo et al. | DFF-VIO: A General Dynamic Feature Fused Monocular Visual-Inertial Odometry | |
Huang et al. | Human-to-Robot Handover Control of an Autonomous Mobile Robot Based on Hand-Masked Object Pose Estimation | |
Zaharescu | An object grasping literature survey in computer vision and robotics | |
Joshi | Antipodal Robotic Grasping using Deep Learning | |
Halodová¹ et al. | Check for updates Adaptive Image Processing Methods for Outdoor Autonomous Vehicles | |
Ripoll Ruiz | Object recognition and grasping using bimanual robot |
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 |