0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

无序抓取の3D点云匹配案例分享

新机器视觉 ? 来源:AmazingRobot ? 2020-09-24 11:39 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

无序抓取の3D点云匹配案例分享

如同2D模板匹配一样,3D点云也有模板匹配。2D模板匹配结果有3个值,他们分别是X,Y,U。3D点云匹配则有6个值,他们分别是X,Y,Z,RX,RY,RZ。他代表了物体在空间的位置和姿态。

—Edited By Hugo

# 1

如上图所示:

读取一个3D模型。模型数据怎么来呢,这里是通过3D传感器SDK二次开发后得到的点云数据,然后生成的点云模型。

读取的代码如下:

*读取3D模型read_object_model_3d ('E:/PRODUCT/6.29/6.29.om3', 'mm', [], [], ObjectModel3D, Status)create_surface_model (ObjectModel3D, 0.03, [], [], SurfaceModelID)get_object_model_3d_params (ObjectModel3D, 'num_points', GenParamValue4) *重采样sample_object_model_3d(ObjectModel3D,'fast',0.05,[],[],SampledObjectModel3D)visualize_object_model_3d (WindowHandle, SampledObjectModel3D, [], [], ['intensity_red','intensity_green','intensity_blue','disp_pose'], ['coord_x','coord_y','coord_z','true'], '方块3D模型', [], [], PoseOut)disp_object_model_3d_safe (WindowHandle, SampledObjectModel3D, [], [], [], [])

# 2

如上图所示:

标注点云模型空间的抓取中心。为了更加直观的理解,这里使用一个球形元素作为抓取点显示出来。

同时给点云模型涂以及抓取点涂上不同颜色,方便观察它们的相对位置。

显示代码如下:

get_object_models_center (SampledObjectModel3D, Center)tp:=[Center[0], Center[1], Center[2],0,0,0,0]gen_sphere_object_model_3d (tp, 1, ObjectModel3D2) ObjectModel3DResult1 := [SampledObjectModel3D,ObjectModel3D2] NumResult := |ObjectModel3DResult1|tuple_gen_const (NumResult, 'green', Colors)Colors[0]:='gold'Indices := [1:NumResult] *显示点云模型dev_clear_window ()visualize_object_model_3d(WindowHandle,[ObjectModel3D,ObjectModel3DResult1],[],[],['color_'+[0,Indices],'point_size_0'],['gray',Colors,0.5],[],[],Instructions,PoseOut)

# 3

如上图所示:

这是一个实际拍摄的点云图,经过了坐标系纠正变换,更方便查看点云位置。里面有一块平面就是我们需要匹配的目标点云。

也可以为点云区域加上外框区域,更容易判断点云集合的方位,效果如下:

如上图所示:

所有的点云集合被封装在一个盒子里面,并且显示整个点云集合的方向,方便进行点云筛选以及做相关的点云处理。

部分代码如下:

*显示坐标轴变换moments_object_model_3d (ObjectModel3D, 'principal_axes', PoseOut)pose_invert (PoseOut, PoseInvert)pose_to_hom_mat3d (PoseInvert, HomMat3D)affine_trans_object_model_3d (ObjectModel3D, HomMat3D, ObjectModel3DAffineTrans)*visualize_object_model_3d (WindowHandle, ObjectModel3DAffineTrans, [], [], ['intensity_red','intensity_green','intensity_blue','disp_pose'], ['coord_x','coord_y','coord_z','true'], '方块3D模型', [], [], PoseOut)triangulate_object_model_3d (ObjectModel3DAffineTrans, 'greedy', [], [], TriangulatedObjectModel3D, Information)visualize_object_model_3d(WindowHandle,TriangulatedObjectModel3D,[],[],['intensity_red','intensity_green','intensity_blue','disp_pose'],['coord_x','coord_y','coord_z','true'],'方块3D模型',[],[],PoseOut)

# 4

如上图所示:

执行完点云匹配后,得出了匹配之后的目标抓取位置,图中白色小球即为目标平面的抓取位置。

匹配代码如下:

*执行点云匹配count_seconds (T0)find_surface_model (SurfaceModelID, UnionObjectModel3D, 0.05, 0.3, 0.6, 'true', 'num_matches', 10, Pose, Score, SurfaceMatchingResultID)count_seconds (T1)TimeForMatching := (T1 - T0) * 1000 ObjectModel3DResult := []for Index2 := 0 to |Score| - 1 by 1 if (Score[Index2] < 0.11) continue endif CPose := Pose[Index2 * 7:Index2 * 7 + 6] * rigid_trans_object_model_3d (SampledObjectModel3D, CPose, ObjectModel3DRigidTrans) ObjectModel3DResult := [ObjectModel3DResult,ObjectModel3DRigidTrans]endfor

经过转换后可得目标平面的抓取的抓取姿态或者抓取平面法向量。效果如下:

如上图所示:

在小白球抓取位置的地方求得平面的抓取方向并用三维坐标系显示出来,使得结果表示更加形象。

上述过程,演示了Halcon从读取点云模板,点云筛选,点云转换,点云匹配的过程。

案例讲解就先到这里了。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 3D
    3D
    +关注

    关注

    9

    文章

    2965

    浏览量

    111415
  • 模板
    +关注

    关注

    0

    文章

    109

    浏览量

    20903
  • 点云
    +关注

    关注

    0

    文章

    58

    浏览量

    3986

原文标题:3D视觉 | 无序抓取の3D点云匹配

文章出处:【微信号:vision263com,微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    3D打印能用哪些材质?

    3D打印的材质有哪些?不同材料决定了打印效果、强度、用途乃至安全性,本文将介绍目前主流的3D打印材质,帮助你找到最适合自己需求的材料。
    的头像 发表于 07-28 10:58 ?499次阅读
    <b class='flag-5'>3D</b>打印能用哪些材质?

    3D视觉引导技术:开启工业自动化“慧眼时代”的变革引擎

    3D视觉引导技术通过激光振镜与结构光融合方案,有效攻克汽车制造中金属反光、复杂工件抓取无序定位等难题。典型案例显示:齿轮配盘节拍缩短40%,错配率降至0.02%;新能源壳体上料实现15%产能提升
    的头像 发表于 07-22 09:31 ?215次阅读

    3D AD库文件

    3D库文件
    发表于 05-28 13:57 ?6次下载

    告别漫长等待! 3D测量竟然可以如此的丝滑

    据进行实时处理,快速得到全视角的彩色高精度2D图像和3D。产品优势01高精度的在线3D检测采用业界顶级的CMOS感光元件和超低畸变远心光
    的头像 发表于 05-12 18:01 ?398次阅读
    告别漫长等待! <b class='flag-5'>3D</b>测量竟然可以如此的丝滑

    3D闪存的制造工艺与挑战

    3D闪存有着更大容量、更低成本和更高性能的优势,本文介绍了3D闪存的制造工艺与挑战。
    的头像 发表于 04-08 14:38 ?1255次阅读
    <b class='flag-5'>3D</b>闪存的制造工艺与挑战

    一种以图像为中心的3D感知模型BIP3D

    在具身智能系统中,3D感知算法是一个关键组件,它在端侧帮助可以帮助智能体理解环境信息,在云端可以用来辅助生成3D场景和3D标签,具备重要的研究价值。现有主流算法主要依赖于
    的头像 发表于 03-17 13:44 ?576次阅读
    一种以图像为中心的<b class='flag-5'>3D</b>感知模型BIP<b class='flag-5'>3D</b>

    对于结构光测量、3D视觉的应用,使用100%offset的lightcrafter是否能用于生成的应用?

    你好,我有一些对于offset的疑问,希望能够得到解答。 对于结构光测量、3D视觉的应用,使用100%offset的lightcrafter是否能用于生成的应用? 标定和三角重建算法和zero
    发表于 02-28 06:20

    英伦科技裸眼3D便携屏有哪些特点?

    英伦科技裸眼3D便携屏采用了领先的光场裸眼3D技术,无需佩戴3D眼镜即可观看,给用户带来裸眼看3D视频的体验,为用户带来更加便捷和自由的视觉享受。
    的头像 发表于 02-06 14:20 ?583次阅读
    英伦科技裸眼<b class='flag-5'>3D</b>便携屏有哪些特点?

    SciChart 3D for WPF图表库

    SciChart 3D for WPF 是一个实时、高性能的 WPF 3D 图表库,专为金融、医疗和科学应用程序而设计。非常适合需要极致性能和丰富的交互式 3D 图表的项目。 使用我们
    的头像 发表于 01-23 13:49 ?765次阅读
    SciChart <b class='flag-5'>3D</b> for WPF图表库

    腾讯混元3D AI创作引擎正式发布

    近日,腾讯公司宣布其自主研发的混元3D AI创作引擎已正式上线。这一创新性的创作工具将为用户带来前所未有的3D内容创作体验,标志着腾讯在AI技术领域的又一重大突破。 混元3D AI创作引擎凭借其强大
    的头像 发表于 01-23 10:33 ?697次阅读

    腾讯混元3D AI创作引擎正式上线

    近日,腾讯公司宣布其自主研发的混元3D AI创作引擎已正式上线。这一创新性的创作工具,标志着腾讯在3D内容生成领域迈出了重要一步。 混元3D AI创作引擎的核心功能极为强大,用户只需通过简单的提示词
    的头像 发表于 01-22 10:26 ?688次阅读

    C#通过Halcon实现3D重绘

    C# 通过 Halcon 实现 3D 重绘
    发表于 01-05 09:16 ?0次下载

    3D扫描技术医疗领域创新实践,积木易搭3D扫描仪Mole助力定制个性化手臂康复辅具

    1、“3D扫描+3D打印”技术为矫形修复、医疗辅助器具定制等领域带来突破性创新 近年来,随着AI、大数据、3D扫描、3D打印、计算、物联网
    的头像 发表于 10-31 11:25 ?814次阅读
    <b class='flag-5'>3D</b>扫描技术医疗领域创新实践,积木易搭<b class='flag-5'>3D</b>扫描仪Mole助力定制个性化手臂康复辅具

    探索3D视觉技术在活塞杆自动化抓取中的应用

    随着工业4.0时代的到来,智能制造成为工业发展的重要趋势。作为智能制造的关键技术之一,3D视觉技术在活塞杆抓取领域的应用前景十分广阔。
    的头像 发表于 09-07 15:38 ?509次阅读

    透明塑料件喷粉3D扫描CAV全尺寸检测逆向3D建模设计服务-CASAIM

    3D建模
    中科院广州电子
    发布于 :2024年08月30日 10:04:53