CN104776968A - 一种多关节模型穿透深度的计算方法 - Google Patents

一种多关节模型穿透深度的计算方法 Download PDF

Info

Publication number
CN104776968A
CN104776968A CN201510156024.0A CN201510156024A CN104776968A CN 104776968 A CN104776968 A CN 104776968A CN 201510156024 A CN201510156024 A CN 201510156024A CN 104776968 A CN104776968 A CN 104776968A
Authority
CN
China
Prior art keywords
model
point
collision
joint
space
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
Application number
CN201510156024.0A
Other languages
English (en)
Other versions
CN104776968B (zh
Inventor
张新宇
�田�浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
East China Normal University
Original Assignee
East China Normal University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by East China Normal University filed Critical East China Normal University
Priority to CN201510156024.0A priority Critical patent/CN104776968B/zh
Publication of CN104776968A publication Critical patent/CN104776968A/zh
Application granted granted Critical
Publication of CN104776968B publication Critical patent/CN104776968B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明提出了一种多关节模型穿透深度(PD)的计算方法,包括离线学习和运行时计算两个阶段:离线学习阶段,通过对多关节模型不同关节角度的采样,得到不同角度下模型的状态,通过简单的碰撞检测方法,将采样状态标记为碰撞或者非碰撞,再通过机器学习中的支持向量机(SVM)方法对样本点进行训练,构建出一个初始的近似接触空间模型,再采用主动学习方法对模型进行优化。在运行时计算穿透深度的阶段,首先得到一个相对保守的模型,然后对测试的查询位置,通过查找模型中距离最近的支持向量点来计算得到保守的穿透深度。本发明可以通过对多关节模型和障碍物模型进行预处理,得到两个模型之间的碰撞和非碰撞空间,同时保证了计算结果的准确性。

Description

一种多关节模型穿透深度的计算方法
技术领域
本发明涉及到计算机图形学以及机械臂运动规划中多关节模型的穿透深度计算方法,尤其是涉及一种利用机器学习使得高维空间的碰撞检测变得高效的方法。
背景技术
碰撞检测及响应一直是计算机图形学中研究的中重点,目前虽然有很多较为成熟的方法,但是因为要进行大量的计算,所以在需要实时性很高的三维场景中计算穿透深度的效率不高。对于具有多关节的机械臂来说,高维空间的碰撞检测复杂度更是呈指数级增长。
当前对于高维空间的机械臂碰撞检测计算,通过迭代以及约束优化的方式来近似计算穿透深度,但是在运行时阶段进行迭代处理,会影响运行效率,现在还没有一种有效的方法能够处理该问题。
发明内容
为了提高计算高维多关节模型的穿透深度过程的效率,本发明提供了一种基于机器学习的预处理方法。该方法不仅能够提高运行时的计算效率,而且可以保证计算结果的准确性。
本发明的多关节模型穿透深度计算方法,包括以下步骤:
初始采样,对一多关节模型的不同关节的角度进行采样,根据模型处于不同位置状态与障碍物的碰撞情况对样本点碰撞状态进行标记,得到采样点;
机器学习训练,对初始采样中得到的采样点进行分类,得到第一接触空间模型,其由碰撞和非碰撞两种状态的支持向量和分割这两种状态的边界构成;
主动学习,对得到的第一接触空间模型采用边缘不断优化和对远离边缘位置探索的方法,通过迭代将更多的采样点加入到模型中进行训练得到第二接触空间模型;
构建拓展模型,在得到的第二接触空间模型上,利用训练得到的支持向量来构建拓展接触空间模型,且最终计算结果能够分离两个模型;
计算PD穿透深度,多关节模型的各个关节角度决定了模型的状态,在拓展模型中,各个关节角度决定了处于位形空间中的一个点,若该点处于碰撞空间中,那么该点就是需要计算穿透深度的查询点,对查询点采用k-nn算法,在模型中快速查找距离最近的支持向量点,该点到查询点的距离即为所计算得到的穿透深度。
优选地,第一接触空间模型通过下述方式获得:
对多关节模型各个关节的角度进行均匀采样,将多关节模型的不同状态与障碍物进行简单的碰撞检测,得到状态分别为碰撞和非碰撞的两种采样点,通过SVM对样本点进行训练将得到一个分割两种状态的边界,这就是第一接触空间模型。
优选地,第二接触空间模型通过下述方式获得:对模型边界进行不断优化,对远离边界的地方进行探索,发现更多可能状态的区域。对新产生的样本点放入原模型中训练,不断迭代得到最终模型。
优选地,通过构建保守的拓展模型方法,得到的最终模型不仅使得计算结果准确,而且还保证一定能够使得碰撞的模型分离。
优选地,在得到的拓展模型中采用k-nn算法,提高了运行时的计算效率,使得运行时计算穿透深度高效快速。
本发明的有益效果是,可以通过对多关节模型和障碍物模型进行预处理,得到两个模型之间的碰撞和非碰撞空间,在运行时阶段,通过在保守的拓展模型中查找最近点来计算PD,不仅使得计算效率提高,同时保证了计算结果的准确性。
附图说明
图1是根据本发明的流程图。
图2a至图2c是两个关节的机械臂以及与障碍物的精确接触空间,采样的样本点分布和训练得到的近似接触空间模型。
图3a至图3d是本发明一实施方式的主动学习过程示意图。
图4a和图4b是本发明一实施方式的构建保守的拓展模型示意图。
图5a和图5b是本发明一实施的模拟案例的示意图。
具体实施方式
结合以下具体实施例和附图,对本发明作进一步的详细说明。实施本发明的过程、条件、试验方法等,除以下专门提及的内容之外,均为本领域的普遍知识和公知常识,本发明没有特别限制内容。
图1是根据本发明-实施方式的计算中离线学习和运行时计算两个阶段的流程图。如图1所示,本发明的基于机器学习的计算穿透深度方法包括:S1离线学习步骤和S2运行时计算步骤,S1离线学习步骤包括:S10模型输入步骤,S11初始采样步骤,S12机器学习训练步骤,S13主动学习步骤;S2运行时计算步骤包括:S21构建拓展模型步骤,S22采用k-nn算法查找模型中最近支持向量的步骤,S23计算穿透深度步骤。
初始采样步骤S11,该步骤中,对多关节模型的各个关节运动角度进行均匀采样,将多关节模型不同状态下与障碍物进行简单的碰撞检测,得到状态分别为碰撞和非碰撞的两种采样点。
在初始采样步骤S11完成后,进行采用机器学习SVM方法训练的步骤S12,通过该方法对样本点进行训练将得到一个分割两种状态的边界,这就是第一接触空间模型,第一接触空间模型,其由碰撞和非碰撞两种状态的支持向量和分割这两种状态的边界构成;对多关节模型各个关节角度进行随机均匀采样,每个关节都有运动的角度范围限制,可以得到这些参数,并且在该范围内通过生成随机数进行采样,每个关节的角度对应样本点在位形空间的每个维度上的值,每次采样500个随机样本点。将采样得到的多关节模型的状态与障碍物进行简单的碰撞检测,得到状态标记分别为碰撞和非碰撞的两种采样点,通过SVM对样本点进行训练将得到一个分割两种状态的边界,这就是第一接触空间模型。
主动学习步骤S13将对第一接触空间模型不断优化。对得到的第一接触空间模型采用边缘不断优化和对远离边缘位置探索的方法,通过迭代将更多的采样点加入到模型中进行训练得到第二接触空间模型,迭代十次就能得到接近精确解的模型。
通过对每个非碰撞的支持向量分别查找与其状态相反的最近支持向量,然后对两个支持向量在位形空间中的位置进行插值,找到位于两个支持向量中间的点,因为状态不同的支持向量位于模型的不同侧,所以计算得到的点更加接近接触空间的边缘,把用这个方法得到的一组点加入到下一次迭代的样本点中,对模型的边缘进行优化;对远离边缘的位置,对整个位形空间进行随机均匀采样500个样本点,并采用碰撞检测方法来标注其碰撞状态,以发现更多可能状态的区域。在每一次迭代中,将两种方法产生的样本点放入上一次的模型中训练,得到最终模型。
如图2a至图2c所示,是一个简化的具有两个关节的模型,对关节角度和状态进行求解,得到关节模型与障碍物发生碰撞的精确接触空间模型;图3a至图3d是通过主动学习方法对近似接触空间模型不断优化模型的过程,每一次的迭代通过优化过程中的两种方法一共加入1000个新的样本点进行训练,可以看到随着采样点的不断增多,通过SVM方法训练得到的模型在迭代中逐渐接近精确接触空间模型,迭代进行到第九次时,结果跟数值计算的精确结果已经非常接近。
主动学习步骤S13结束后,即得到最终的第二接触空间模型后,进行构建拓展模型步骤S21,该步骤利用训练得到的支持向量来构建拓展接触空间模型,以保证最终计算结果一定能够分离两个模型。该步骤中,将在第二接触模型的基础上,对支持向量进行处理,对每个支持向量查找最近的50个与它状态相反的支持向量,然后在状态不同的支持向量之间,从非碰撞的支持向量开始向碰撞的支持向量方向做连续碰撞检测,当发生碰撞的时候即为模型边缘,此时再向反方向退回,就可以得到一个可以包围模型边界的拓展模型,如图4a和图4b所示,点41为非碰撞的支持向量,点43为碰撞的支持向量,点45为计算得到的拓展模型,线44为支持向量决定的近似接触空间边界,线42为精确的接触空间边界。
在得到拓展模型后,在运行时每次穿透深度计算中,都将通过基于拓展模型采用k-nn算法查找的步骤S22,多关节模型的各个关节角度决定了模型的状态,在拓展模型中,各个关节角度决定了处于位形空间中的一个点,若该点处于碰撞空间中,那么该点就是需要计算穿透深度的查询点,找到距离查询点最近的支持向量,此时得到的支持向量一定是位于碰撞空间以外。得到最近的支持向量后,将进行计算穿透深度步骤S23,通过计算查询点到该支持向量的距离来计算穿透深度,穿透深度的定义如下所示:
PD ‾ ( A ( q 0 ) , B ) = min q ∈ LCS dist ( q 0 , q )
A表示需要计算PD值的运动模型,B表示运动空间中的障碍物,q0是查询点,表示A模型处于q0状态,q是支持向量,距离函数用机械臂移动不同关节所消耗的势能来表示,计算得到的穿透深度值表示模型A与障碍物B在当前状态下发生碰撞时,将模型A移动到非碰撞状态所消耗的能量。距离函数不是普通的欧几里得距离,而是用机械臂移动不同关节所消耗的势能来表示,对于旋转的关节来说,消耗势能的公式为:
d i = 4 V sin 2 ( θ 2 ) ω i T I i ω i
θ表示旋转的角度,V是该关节所关联的模型的体积,ωi是该关节的旋转轴,Ii是关联模型的惯性张量。
通过以上方法和公式,计算得到多关节模型和障碍物发生碰撞后的穿透深度。将本方法应用在机械臂模型的模拟中,该情形模拟的是工业上的点焊型机器人在处理一辆汽车外壳,点焊型机器人一共有七个可以运动的关节,所以当所有关节都可以移动的时候,模型具有七个自由度,计算穿透深度就是在七维空间里。在机器人的移动规划中,比如从一个状态移动到另一个状态,在运动过程中需要避免与汽车外壳发生碰撞,因为可以预先知道障碍物的外形和位置,所以可以在计算中对发生碰撞的情况进行处理,也就是通过计算穿透深度,找到距离当前位置最近的非碰撞位置,并把该位置作为模型可以移动到的合理位置。如图5a所示是一个简化的点焊型机器人示意图,关节M1控制整个机械臂的旋转,旋转角度范围是0-360度,关节M2控制关节的俯仰位置,旋转的角度是-100-+100度,在对关节角度进行采样的时候,采样的角度值在角度运动范围值之间。
对于超过三个维度的采样点和模型,无法直观地看到效果,所以用只移动两个关节情形下的采样点和模型来进行展示。简化的模型见图2a,首先对两个关节可以运动的角度范围进行随机采样,两个角度的值决定了模型的状态,也决定了位形点在二维位形空间中的位置。对模型的状态,计算他与障碍物的碰撞状态,并对采样点进行标记,如图2c所示,点21为标记为非碰撞的采样点,点24为标记为碰撞的采样点,区域23是跟图2b图一样的通过精确计算得到的碰撞区域,曲线22表示的是通过训练得到的模型。
在机械臂移动的模拟中,首先找到一条最近的移动路径,初始的路径可能会穿过碰撞的区域,当有碰撞发生的时候,需要计算距离该点最近的非碰撞位置,最终计算得到一条非碰撞的移动路径。当点焊型机器人在运行过程中与汽车外壳发生碰撞时,机械臂的末端穿过了汽车外壳,该状态对应七维的位形空间中的一个位于碰撞空间里的点,对该点采用k-nn方法,在拓展接触模型的点非碰撞点中进行最近点的查找,两点之间的距离通过S23中定义的公式进行计算;图5b是计算得到的穿透深度结果,线51是使用本方法计算得到的值,线52是跟不采用拓展模型的方法对比。
本发明的保护内容不局限于以上实施例。在不背离发明构思的精神和范围下,本领域技术人员能够想到的变化和优点都被包括在本发明中,并且以所附的权利要求书为保护范围。

Claims (5)

1.一种多关节模型穿透深度的计算方法,其特征在于,包括以下步骤:
初始采样,对一多关节模型的不同关节的角度进行采样,根据模型处于不同位置状态与障碍物的碰撞情况对样本点碰撞状态进行标记,得到采样点;
机器学习训练,对初始采样中得到的采样点进行分类,得到第一接触空间模型,其由碰撞和非碰撞两种状态的支持向量和分割这两种状态的边界构成;
主动学习,对得到的第一接触空间模型采用边缘不断优化和对远离边缘位置探索的方法,通过迭代将更多的采样点加入到模型中进行训练得到第二接触空间模型;
构建拓展模型,在得到的第二接触空间模型上,利用训练得到的支持向量来构建拓展接触空间模型,且最终计算结果能够分离两个模型;
计算PD穿透深度,多关节模型的各个关节角度决定了模型的状态,在拓展模型中,各个关节角度决定了处于位形空间中的一个点,若该点处于碰撞空间中,那么该点就是需要计算穿透深度的查询点,对查询点采用k-nn算法,在模型中快速查找距离最近的支持向量点,该点到查询点的距离即为所计算得到的穿透深度。
2.根据权利要求1所述的方法,其特征在于,第一接触空间模型通过下述方式获得:
对多关节模型各个关节角度进行随机均匀采样,每个关节都有运动的角度范围限制,可以得到这些参数,并且在该范围内通过生成随机数进行采样,每个关节的角度对应样本点在位形空间的每个维度上的值,将采样得到的多关节模型的状态与障碍物进行简单的碰撞检测,得到状态标记分别为碰撞和非碰撞的两种采样点,通过SVM对样本点进行训练将得到一个分割两种状态的边界,其为第一接触空间模型。
3.根据权利要求1所述的方法,其特征在于,第二接触空间模型通过下述方式获得:
对每个非碰撞的支持向量分别查找与其状态相反的最近支持向量,然后对两个支持向量在位形空间中的位置进行插值,找到位于两个支持向量中间的点,把得到的一组点加入到下一次迭代的样本点中,对模型的边缘进行优化;对远离边缘的位置,对整个位形空间进行随机均匀采样,并采用碰撞检测方法来标注他们的碰撞状态,以发现更多可能状态的区域,在每一次迭代中,将两种方法产生的样本点放入上一次的模型中训练,得到最终模型。
4.所述根据权利要求1至3中任意一项所述的方法,其特征在于,还包括:查找模型中最近支持向量的步骤:在拓展模型中,各个关节角度决定了处于位形空间中的一个点,若该点处于碰撞空间中,那么该点就是需要计算穿透深度的查询点,采用k-nn算法找到距离查询点最近的支持向量。
5.根据权利要求4所述的方法,其特征在于,所述计算PD穿透深度步骤通过下述公式计算得到:A表示需要计算PD值的多关节模型,B表示运动空间中的障碍物,q0是查询点,表示A模型处于q0状态,q是支持向量,距离函数用机械臂移动不同关节所消耗的势能来表示,计算得到的穿透深度值表示模型A与障碍物B在当前状态下发生碰撞时,将模型A移动到非碰撞状态所消耗的能量。
CN201510156024.0A 2015-04-03 2015-04-03 一种多关节模型穿透深度的计算方法 Expired - Fee Related CN104776968B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510156024.0A CN104776968B (zh) 2015-04-03 2015-04-03 一种多关节模型穿透深度的计算方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510156024.0A CN104776968B (zh) 2015-04-03 2015-04-03 一种多关节模型穿透深度的计算方法

Publications (2)

Publication Number Publication Date
CN104776968A true CN104776968A (zh) 2015-07-15
CN104776968B CN104776968B (zh) 2018-03-20

Family

ID=53618577

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510156024.0A Expired - Fee Related CN104776968B (zh) 2015-04-03 2015-04-03 一种多关节模型穿透深度的计算方法

Country Status (1)

Country Link
CN (1) CN104776968B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106055740A (zh) * 2016-05-19 2016-10-26 华东师范大学 一种基于aabb流计算的变形体碰撞检测方法
CN112989449A (zh) * 2021-03-26 2021-06-18 温州大学 一种运动刚度优化的触觉力反馈仿真交互方法及装置
CN113033583A (zh) * 2019-12-09 2021-06-25 京东数字科技控股有限公司 数据处理方法和装置、模型训练系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030112281A1 (en) * 2000-03-31 2003-06-19 Massachusetts Institute Of Technology Methods and apparatus for detecting and correcting penetration between objects
CN1612167A (zh) * 2003-10-29 2005-05-04 Snecma发动机公司 在虚拟环境中移动虚拟链接对象同时避免链接对象的链接元件之间的内部碰撞
CN101593364A (zh) * 2009-06-25 2009-12-02 北京航空航天大学 一种基于椭球体扫描的连续碰撞检测方法
CN101984443A (zh) * 2010-11-10 2011-03-09 北京航空航天大学 一种改进的柔性织物碰撞处理方法
CN102982567A (zh) * 2012-10-25 2013-03-20 北京航空航天大学 一种基于统计分析的变形体碰撞检测剔除方法
KR101309988B1 (ko) * 2011-12-22 2013-09-17 이화여자대학교 산학협력단 다각형 모델의 침투 깊이 연산 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030112281A1 (en) * 2000-03-31 2003-06-19 Massachusetts Institute Of Technology Methods and apparatus for detecting and correcting penetration between objects
CN1612167A (zh) * 2003-10-29 2005-05-04 Snecma发动机公司 在虚拟环境中移动虚拟链接对象同时避免链接对象的链接元件之间的内部碰撞
CN101593364A (zh) * 2009-06-25 2009-12-02 北京航空航天大学 一种基于椭球体扫描的连续碰撞检测方法
CN101984443A (zh) * 2010-11-10 2011-03-09 北京航空航天大学 一种改进的柔性织物碰撞处理方法
KR101309988B1 (ko) * 2011-12-22 2013-09-17 이화여자대학교 산학협력단 다각형 모델의 침투 깊이 연산 방법
CN102982567A (zh) * 2012-10-25 2013-03-20 北京航空航天大学 一种基于统计分析的变形体碰撞检测剔除方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JIA PAN ET AL.: "Efficient Penetration Depth Approximation using Active Learning", 《ACM TRANSACTIONS ON GRAPHICS》 *
刘莉等: "碰撞响应中方向穿透深度算法的研究", 《计算机研究与发展》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106055740A (zh) * 2016-05-19 2016-10-26 华东师范大学 一种基于aabb流计算的变形体碰撞检测方法
CN113033583A (zh) * 2019-12-09 2021-06-25 京东数字科技控股有限公司 数据处理方法和装置、模型训练系统
CN112989449A (zh) * 2021-03-26 2021-06-18 温州大学 一种运动刚度优化的触觉力反馈仿真交互方法及装置
CN112989449B (zh) * 2021-03-26 2023-08-15 温州大学 一种运动刚度优化的触觉力反馈仿真交互方法及装置

Also Published As

Publication number Publication date
CN104776968B (zh) 2018-03-20

Similar Documents

Publication Publication Date Title
CN110703762B (zh) 一种复杂环境下水面无人艇混合路径规划方法
US10124488B2 (en) Robot control system and method for planning driving path of robot
CN105258702A (zh) 一种基于slam导航移动机器人的全局定位方法
CN109682336B (zh) 用于车身精度检测的三坐标测量路径自动规划与优化方法
Saravanakumar et al. Multipoint potential field method for path planning of autonomous underwater vehicles in 3D space
CN105043396A (zh) 一种移动机器人室内自建地图的方法和系统
CN103324196A (zh) 基于模糊逻辑的多机器人路径规划与协调避碰方法
CN114998276B (zh) 一种基于三维点云的机器人动态障碍物实时检测方法
Shojaei et al. Experimental study of iterated Kalman filters for simultaneous localization and mapping of autonomous mobile robots
CN103869279A (zh) 一种多传感器平台的多目标定位跟踪方法
CN104776968A (zh) 一种多关节模型穿透深度的计算方法
CN112857370A (zh) 一种基于时序信息建模的机器人无地图导航方法
Li et al. A neural network approach to indoor mobile robot localization
Vyas et al. CORDIC-based azimuth calculation and obstacle tracing via optimal sensor placement on a mobile robot
Wang et al. Terrain adaptive estimation of instantaneous centres of rotation for tracked robots
Farag Multiple road-objects detection and tracking for autonomous driving
Farag Lidar and radar fusion for real-time road-objects detection and tracking
CN115576323A (zh) 一种机器人移动路径的控制方法、装置、设备及介质
Pepy et al. Reliable robust path planner
Li et al. Efficient Loop Closure Detection Method for Lidar SLAM in Challenging Environment
Liu et al. VPH+ and MPC Combined Collision Avoidance for Unmanned Ground Vehicle in Unknown Environment
Zhong et al. Triple-Rrts for robot path planning based on narrow passage identification
Xu et al. Hybrid Frontier Detection Strategy for Autonomous Exploration in Multi-obstacles Environment
Yin et al. Global Loop Closure Detection of Multi-Robot Based on Particle Filter
Jiang et al. A Voronoi path planning extracted from improved skeleton for dynamic environments

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180320

CF01 Termination of patent right due to non-payment of annual fee