点击上方“小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达

摘要

本文主要研究3D视觉技术在机器人抓取作业中的应用,总 结了3D视觉技术在识别、定位物体时面临的挑战,给出了抓取作业机器 人3D视觉系统的设计方法,归纳了现有的3D表面成像方法和视觉处理算 法,最后给出一个结合3D视觉技术对白色抽屉纸盒进行抓取分拣的实际 应用案例。

1.引言

随着经济的发展与科技的进步,人们越来越多地将 自动化技术应用到生产与生活中,与此同时,也对自动 化技术提出了更高的要求。近十年来,工业机器人的普 及使得机器人自动化得到了更广泛的应用和关注。很多 机器人系统已经集成了视觉系统,利用机器视觉技术实 现检测、识别、定位等功能,为后续的机器人运动提供必要的信息。

在许多自动化应用场合中,如自动化分拣、装配、拆垛、码垛、上料等过程中,工业机器人经常被用来进 行抓取作业。要完成抓取操作,机器人系统可能需要完 成目标感知、运动规划、抓取规划等一系列任务[1]。视 觉系统在机器人抓取作业中的作用就是识别、定位目标 物体,为机器人提供目标物体的类型与位姿信息。其 中,位姿估计的精度关系到抓取的成功率与精度,是非 常重要的技术参数。

3D视觉技术作为新兴的技术领域还存在很多亟待 解决的问题,但2D视觉已不能满足空间抓取的应用要 求。与2D视觉相比,3D视觉技术的优点有:

(1)3D视觉可以提供目标物体6DOF的位姿数 据,而2D视觉仅能提供平面内3DOF的位姿数据;

(2)3D视觉能给出目标物体的深度信息或物体表 面的点云信息。

但与此同时,3D视觉技术在机器人抓取应用中仍然面临许多挑战[2]:

(1)点云空洞:用3D相机捕捉反光、透明、网状 物体表面的点云信息,经常会出现数据的丢失,丢失的 点云数据形成了点云空洞;

(2)点云粘连:多个物体杂乱堆放或者两个物体 表面靠近摆放时,不同物体表面的点云会粘连在一起, 这就涉及到如何稳定、准确地进行点云分割;

(3)点云密度不一致:物体表面与3D相机之间的 相对位姿、物体表面的颜色均会影响点云的密度,使得 目标场景的点云密度不一致,这在一定程度上给点云处 理算法带来了困难;

(4)视野局限:有限的相机视角、遮挡和阴影效 果,都会阻碍3D相机获得抓取目标的表面全貌,进而 阻碍对抓取目标的识别;

(5)速度:3D视觉的原理要求其处理的数据量较 大。3D相机的分辨率越高,所采集的点云质量越好, 越能表征物体表面更细微的几何特征,但相应地带来的 数据量就越大。为了适应实际应用需要,如何提高3D 相机获取目标场景点云的速度、点云处理算法的速度仍 是需要研究的课题。

此外,相机传感器的噪声,点云分割噪声,光照 条件的变化,物体的颜色等诸多因素都是3D视觉技术 所面临的问题。

本文主要研究3D视觉技术在机器人抓取作业中的应用。文章第二部分介绍抓取作业机器人3D视觉系统 的设计,包括视觉设备的选择、与机械设计的关系;第 三部分介绍几种3D表面成像技术;第四部分介绍3D视 觉处理算法,包括点云分割、3D匹配等;第五部分给 出一个实际应用案例:工业机器人结合3D视觉分拣白 色抽屉纸盒;第六部分为总结。

2.抓取作业机器人3D视觉系统的设计

2.1 3D相机的选择

图1 3D相机的选择

选择3D相机时需要考虑相机与目标场景之间的距 离以及目标场景的尺寸。目标场景最好位于相机的中间 视场附近,不超出近视场和远视场的边界,即目标场景 的高度不超出测量范围。

3D相机的成像精度需要满足应用场景的抓取精度 要求。通常,工作距离越大,3D相机的视场越大,但成 像的精度越低。此外,相机的分辨率、点云的获取速度 也是评价3D成像系统的重要指标。其中,相决定了点云数据量的大小及其对物体细节的表征程度, 关系到点云处理算法的设计。点云的获取时间加上点云 处理算法的执行时间必须满足抓取应用的节拍要求。

此外,相机的性价比、系统的可靠性也是选择相 机时需要考量的因素。

2.2 光源、遮光板的选择

为了避免外界环境光对视觉系统的影响、保证视 觉系统的稳定性,有时需要外加光源和遮光板。外加的 光源不能影响3D相机成像。

2.3 视觉系统对机械设计的要求

当相机固定安装时,机器人需要手持标定板做手 眼标定。为了方便进行手眼标定,可设计专门的Tool抓 持标定板,留出足够的空间以标定板在手眼标定过 程中不会与机器人发生干涉。相机固定安装的优点是, 对Tool位姿进行变更后,无需再做机器人手眼标定。

当机器人手持相机拍照时,一般要求抓取作业 Tool(夹具、吸盘)不遮挡相机的视野。

3.3D表面成像技术

3D表面成像/重构/测量技术,可用于测量物体 表面上点的(x,y,z)坐标,测量结果可表示为深度图

除了测量三维坐标,3D表面成像系统也可输出物体表面空间点的其他 光学特征值,如反射率、颜色等。这时的点云测量结果可一般表示为 ,其中,f i为一向量,代表第i个点的光学特征值。如 常见的RGB-D(红绿蓝-深度)测量数据可表示为

[3]。目前,常见的3D表面成像技术有:双目立体视 觉(binocular stereo vision)[4],多目立体视觉 (multi-view stereo vision),线结构光三角测量 (laser triangulation with sheet of ligt)[5],编码结构 光三角测量(encoded structured light)[3],飞行时 间深度测量(time of flight),聚焦深度测量(depth from focus)[6],光度立体视觉(photometric stereo vision)[7]。

3.1 双目立体视觉(binocular stereo vision)

使用两个相机拍摄同一个目标场景,通过匹配场 景内同一物理目标点投影到两幅图像中的像点(同源点),测量得到该点的空间三维坐标。双目立体视觉的 主要任务是双目系统的标定和同源点的匹配。其中,同 源点的匹配(立体匹配,stereo matching)方法有相 关法[8]、多重网格法和多扫描线法。这些方法都依赖于 目标场景的纹理、结构等特征,因此若能主动制造特 征,如投射随机分布的散斑图案、编码结构光等图案, 则能变被动为主动,通过增强匹配的鲁棒性,使方法具 有普适性。

图2 双目立体视觉原理示意图

3.2 线结构光三角测量(laser triangulation with sheet of ligt)

线激光器投射出的光平面照射到物体表面上会形 成表征其轮廓的亮线,这些窄亮的细线通常被称为光 条。线结构光三角测量的基本思想是:通过相机拍摄线 结构光发射器所照射的目标物体,得到物体表面上光条 中心位置的一系列3D坐标。因此,目标物体与线结构 光成像系统之间做相对运动并在多个不同位置进行拍照 测量,才能获得目标物体完整的3D表面轮廓。

线结构光三角测量的主要任务是:标定相机及其 与光平面之间的相对位姿,标定目标物体与成像系统之 间的相对运动,提取光条的中心点。

图3 线结构光三角测量原理示意图

3.3 编码结构光三角测量(encoded structured light)

编码结构光激光器向目标物体投射经过特殊设计 的编码图案,基于不同的图案编码方法,相机可能需要 拍摄一幅或多幅被激光器照射的目标物体表面图像,通 过对比图像上经过物体表面调制的编码光图案与未调制 的编码光图案可以测量获得目标表面的3D形貌[3]。与线 结构光三角测量相比,只要编码光能够照射到整个物体 表面,物体与成像系统之间无需做相对运动即可获取物 体表面的几何全貌。

图4 编码结构光原理示意图

3.4 飞行时间深度测量(time of flight)

传感器向目标物体发射经过调制的近红外光脉 冲,然后再接收从物体表面反射回来的光脉冲,通过计 算返回脉冲与发射脉冲之间的相位差即可测出目标物体的深度。

3.5 聚焦深度测量(depth from focus)

由于相机的景深有限,在某物距下,目标物体表 面上只有一部分点能够在成像平面上清晰成像。聚焦深 度测量利用这一原理,通过拍摄不同物距下同一物体的 多幅图像,提取图像上清晰成像的像点位置,计算得到 物体表面上各点的深度坐标。聚焦深度测量技术的精度 一般高于双目立体视觉和线结构光三角测量,但因其需 要配合远心镜头或显微镜头使用,只适于对小尺寸物体 进行测量。

3.6 光度立体视觉(photometric stereo vision)

物体表面反射光量的多少取决于该表面与光源和 观察者之间的相对姿态。采用不同的角度对静止目标物 体进行照明,在每个照明角度下,使用同一台相机在同 一个固定视角下拍摄一幅图像,光度立体视觉技术使用 这组图像估计出目标物体表面的法向量。

目前,机器人抓取应用中使用的3D相机主要采用 3.1~3.4中的成像原理。

4.3D视觉处理办法

按照不同的功能,3D视觉处理算法可分为:

4.1 点云滤波

点云的滤波(filter)算法主要用于点云数据的预 处理,可实现去噪、平滑、采样、特征提取等功能。滤 波方法有:双边滤波、高斯滤波、条件滤波、随机采样 一致性滤波等。

4.2 点云特征估计

4.2.1 点云局部特征估计

点云的局部特征(local feature)估计算法用 于估计点云中一点或一点周围数个邻近点的特征值。这些特征包括法向量、曲率、边界、点特征直方图 (PFH)、快速点特征直方图(FPFH)、视角特征 直方图(VFH)、NARF描述子、旋转投影统计特征 (Rotational Projection Statistics)等。

4.2.2 点云整体特征估计

点云的整体特征(global feature)估计算法用于 估计某个点云集合的特征,如点云的表面积、最小外接 盒、最大直径、截面曲线等。

4.3 点云关键点提取

关键点(key point),也称为兴趣点,因为具 有某种特点,可依照预先定义的标准被稳定地识别出 来。点云关键点的提取算法有:Harris3D、ISS3D、 NARF、SIFT、SUSAN、Trajkovic3D。

4.4 点云配准

由于遮挡等原因,为了获得完整的目标表面3D点 云,常常需要从不同的视角对同一目标物体进行扫描。点云配准(registration)[9]技术是将这些点云数据两 两进行匹配,计算它们之间互相重叠的部分,将它们拼 接在一起,获得更全面的目标物体表面点云。点云配准 算法有最近点迭代法(ICP)。

4.5 点云分割

点云分割(segmentation)算法用于将点云数据分 割成不同的子集。依据应用需求,可采用不同的分割方 法,如平面分割、柱面分割、欧几里得聚类提取、超体聚 类分割、区域生长分割、基于最小割的点云分割、基于法 向量差的点云分割等。除了上述的3D点云分割方法,点 云的分割也可结合2D图像进行。先在2D图像上应用边缘提取、深度学习等算法,然后再对点云进行分割。

4.6 三维匹配

三维匹配(3D matching)[10]算法的功能是在搜 索数据中找到目标物体并确定它的3D位姿,其中,搜 索数据可以是3D点云或2D图像。三维匹配算法可分为 基于形状的3D匹配、基于表面的3D匹配和可变形表面 的3D匹配[11]。

4.7 点云拟合

如果某个点云子集为已知的几何形状,如平面、 柱面、球面,可利用点云拟合算法进行拟合求出相应的 位姿和几何参数信息。

此外,点云处理算法还包括k维树、八叉树等方法。

在机器人抓取作业中,视觉的重要任务之一是目 标物体位姿的估计。要估计位姿,正确地分割点云是前 提。通常,综合利用4.1~4.4中的方法,然后再对点云 进行分割,最后利用三维匹配或点云拟合估计出目标物 体的位姿。

5.实际案例研究

5.1 白色抽屉纸盒机器人3D视觉分拣

任务描述:料框内杂乱堆放着不同型号的白色抽 屉纸盒,并且这些纸盒的各个表面的长宽尺寸各不相 同。3D视觉系统通过识别纸盒表面的尺寸将不同型号 的纸盒区分开来,再由机器人将它们分别分拣到不同的 料框中。

5.1.1 视觉系统设计

长方形铁质料框的尺寸为500×385×180mm,壁 厚为1.5mm,为避免反光并增加视觉对比度,在料框 表面喷涂哑光黑漆。3D相机采用固定安装,在长方形 料框的正上方进行拍摄。考虑到ABB 2600机器人的工 作范围,3D相机距离料框底部的高度需大于1000mm 并尽可能取小值。

综合考虑各种因素,这里选用Ensenso N20-1202- 16-BL相机,该相机的工作原理是投射散斑纹理的双目 立体视觉技术,其分辨率为1280×1024像素,最小、 最大和最佳工作距离分别为1100mm、2200mm、 1400mm。料框底部距离相机的距离设计为1400mm, 在该距离下3D相机的Z向分辨率为1.037mm,能够满足 四个真空吸盘的抓取精度要求;纸盒的最大堆叠高度不超过230mm,Ensenso N20-1202-16-BL在1150mm工 作距离下的视野范围为572.90×497.96mm,能够满足 视野要求。为避免环境光的影响,在相机顶部上方安装 遮光板,在相机旁边加设白色光源。

图5 白色抽屉盒分拣场景示意图

5.1.2 视觉方法描述

为了识别纸盒表面的长宽尺寸、估计纸盒表面的位 姿,就需要对纸盒表面的3D点云进行正确分割。这里将 2D图像处理技术与3D点云处理技术相结合:首先,相 机接收到触发信号,打开散斑投影仪拍摄一幅3D点云图 像;然后,关闭散斑投影仪,拍摄一幅左相机矫正灰度 图像。Ensenso通过计算左相机矫正图像上各像素点的 空间3D坐标,生成一幅3D点云图像。因而,Ensenso 所拍摄的3D点云图像(有三个通道,其像素值分别代表 X,Y,Z坐标)上各点的像素值与左相机矫正图像上同一 位置的像素值是一一对应的,可通过分割左相机矫正图 像来实现纸盒表面3D点云的分割。

视觉程序设计思路:

首先,利用边缘提取、边缘连接、腐蚀、膨胀等算 法在左相机矫正图像上分割出不同的纸盒表面区域;

然后,取每个区域所对应的3D点云,估计这片点 云的厚度,若厚度小于阈值t,则认为这片点云代表了 一个纸盒表面的几何形貌,计算这片点云的3D最小外接 盒区域,即可估算得到纸盒表面的长宽尺寸、中心位置 与姿态;若厚度大于阈值t,则认为2D图像分割失败, 这片点云至少代表两个纸盒表面的几何形貌,这时先根 据点云的法向量、曲率等特征对其进行3D分割,然后再 进入上述的厚度判断与尺寸、位姿的计算程序。为了缩 短程序执行时间,对点云做3D分割之前,预先对其进行 采样以减少数据量。

检查纸盒表面上方是否有遮挡,过滤掉上方有遮挡 的结果,防止抓取过程中发生碰撞或损坏。

最后,将处理结果按照表面中心高度、姿态方向 和表面尺寸进行综合排序,输出到机器人抓取路径规划 程序当中。路径规划程序根据视觉输出的结果引导机器 人运动并控制夹具动作。

5.1.3 视觉算法处理结果

如图6(左上)所示,料框中散乱堆放着三种型号 的白色抽屉纸盒,由视觉程序输出的纸盒表面尺寸与位 姿的排序结果如表1所示。可以看出,视觉程序没有给 出被遮挡纸盒表面的计算结果。

左上:Ensenso左相机矫正灰度图;右上:3D点云渲 染效果图;左下:排序输出结果;右下:5#纸盒表面点云图

表1 白抽屉盒视觉算法输出结果

经过测试,在该视觉系统下,纸盒表面尺寸的测 量误差小于5mm,表面中心定位误差小于2mm,表面

姿态估计误差小于5度。使用intel i7-6820HQ CPU、 主频2.7GHz的LenovoP50笔记本计算机,视觉处理时 间为3~5s。

6.总结

本文主要研究3D视觉技术在机器人抓取作业中的 应用,归纳了3D视觉技术在机器人抓取作业中面临的 挑战,对机器人抓取视觉系统的设计方法进行了总结,搜集了当前主要的3D成像技术及3D视觉算法,最后给 出了应用案例。

作者简介: 李 刚(1963-),男,上海人,上海工业大学机器人

工程学硕士学位和中欧国际商学院高级工商管理硕士 学位,现就职于上海ABB工程有限公司。

杨笑丛本文主要研究3D视觉技术在机器人抓取作业中的 应用,归纳了3D视觉技术在机器人抓取作业中面临的 挑战,对机器人抓取视觉系统的设计方法进行了总结,搜集了当前主要的3D成像技术及3D视觉算法,最后给 出了应用案例。(1989-),女,湖北人,吉林大学机械设计及 理论硕士学位,现就职于上海ABB工程有限公司。

■专栏 智慧机器人

参考文献

[1] Peter, R, Wurman, and, Joseph, M, Romano. The Amazon Picking Challenge 2015[J]. ROBOTICS & AUTOMATION MAGAZINE, 2015, 1 (1) : 10 - 12.

[2] Zeng A, Yu K T, Song S, et al. Multi-view Self-supervised Deep Learning for 6D Pose Estimation in the Amazon Picking Challenge[J]. 2016 : 1386 - 1383.

[3] Geng J. Structured-light 3D surface imaging: a tutorial[J]. Advances in Optics & Photonics, 2011, 3 (2) : 128 - 160.
[4] Scharstein D, Szeliski R. A Taxonomy and Evaluation of Dense Two-Frame Stereo Correspondence Algorithms[J]. International Journal of Computer Vision, 2002, 47 (1 - 3 ) : 7 - 42.
[5] MVTec, Software, GmbH. Solution Guide III-C 3D Vision[Z]. Germany: MVTec Software GmbH, 2016.
[6] Ens J, Lawrence P. An investigation of methods for determining depth from focus[J]. Pattern Analysis & Machine Intelligence IEEE Transactions on, 1990, 15 (2) : 97 - 108.
[7] Herbort S, Wöhler C. An introduction to image-based 3D surface reconstruction and a survey of photometric stereo methods[J]. 3d Research, 2011, 2 (3) : 1 - 17.
[8] Weng J, Ahuja N, Huang T S. Matching Two Perspective Views[J]. Pattern Analysis & Machine Intelligence IEEE Transactions on, 1992, 14 (8) : 806 - 825.
[9] Besl P J, Mckay N D. A method for registration of 3-D shapes[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 1992, 14 (2) : 239 - 256.
[10] Zeng A, Song S, Niebner M, et al. 3DMatch: Learning Local Geometric Descriptors from RGB-D Reconstructions[J]. 2017 : 199 - 208. [11] MVTec, Software, GmbH. Solution Guide I Basics[Z]. Germany: MVTec Software GmbH, 2016.

小白团队出品:零基础精通语义分割↓

下载1:OpenCV-Contrib扩展模块中文版教程

在「小白学视觉」公众号后台回复:扩展模块中文教程即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。

下载2:Python视觉实战项目52讲

在「小白学视觉」公众号后台回复:Python视觉实战项目即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。

下载3:OpenCV实战项目20讲

在「小白学视觉」公众号后台回复:OpenCV实战项目20讲即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。

交流群

欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~

【科普】3D视觉技术在机器人抓取作业中的应用相关推荐

  1. open source 3d map_3D视觉技术在机器人抓取作业中的应用实例

    原标题:3D视觉技术在机器人抓取作业中的应用实例 关键词:3D视觉:工业机器人:抓取 1 引言 3D视觉技术作为新兴的技术领域还存在很多亟待解决的问题,但2D视觉已不能满足空间抓取的应用要求.与2D视 ...

  2. 物体抓取位姿估計算法綜述_3D视觉技术在机器人抓取作业中的应用

    摘要本文主要研究3D视觉技术在机器人抓取作业中的应用,总 结了3D视觉技术在识别.定位物体时面临的挑战,给出了抓取作业机器 人3D视觉系统的设计方法,归纳了现有的3D表面成像方法和视觉处理算 法,最后 ...

  3. 科普| 3D视觉技术正在改变我们的生活

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 用双眼观察世界是人类与生俱来的.最为核心的生物功能之一,也是人类认 ...

  4. 一文带你了解基于视觉的机器人抓取自学习(Robot Learning)

    "一眼就能学会动作",或许对人而言,这样的要求有点过高,然而,在机器人的身上,这个想法正在逐步实现中.马斯克(Elon Musk)创立的人工智能公司Open AI研究通过One-S ...

  5. 基于视觉的机器人抓取-综述

    基于视觉的机器人抓取-综述 论文: 总结 图例 论文: Vision-based Robotic Grasping From Object Localization, Object Pose Esti ...

  6. 基于视觉的机器人抓取:从物体定位、物体姿态估计到平行抓取器抓取估计

    编者荐语 抓取综合方法是机器人抓取问题的核心,本文从抓取检测.视觉伺服和动态抓取等角度进行讨论,提出了多种抓取方法. 转载自丨3D视觉开发者社区 目 录 / contents 1. 引言 1.1  抓 ...

  7. 机器人识别抓取笔记(基于视觉的机器人抓取——从物体定位、物体姿态估计到平行抓取器抓取估计:综述)

    Real-Time Deep Learning Approach to Visual Servo Control and Grasp Detection for Autonomous Robotic ...

  8. 基于视觉的机器人抓取: 论文及代码(Vision-based Robotic Grasping: Papers and Codes)

    本文同步于微信公众号:3D视觉前沿,欢迎大家关注. 本文总结了基于视觉的机器人抓取的相关论文及代码,同步于 GitHub. 机器人抓取必需的信息是相机系下抓取器的6DoF位姿,包括抓取器的3D位置和抓 ...

  9. 【机器人识别抓取】基于视觉的机器人抓取——从物体定位、物体姿态估计到平行抓取器抓取估计

    目录 导读 1 引言 1.1 抓取综合方法 1.2 基于视觉的机器人抓取系统 2 抓取检测.视觉伺服和动态抓取 2.1抓取检测 2.2 视觉伺服控制 2.3 动态抓取 3 本文实现的方法 3.1 网络 ...

最新文章

  1. jquery实现截取pc图片_jquery 上传图片自由截取
  2. 经典mysql语句_经典MYSQL语句
  3. Web Service 学习
  4. 操作系统之进程管理:12、生产者消费者问题和多级生产者多级消费者问题
  5. max转obj_工程动画制作 | Max插件Multiscatter进阶教程
  6. spring boot 支持多少人在线_通过 spring-boot-starter-hbase 集成 HBase
  7. 每日三道前端面试题--vue 第三弹
  8. php二分查找法实例
  9. 《C++程序设计实践》实验1
  10. 最优秀的一到五个国产软件
  11. windows虚拟网卡驱动开发
  12. 10款值得收藏的网站数据实时分析工具
  13. HubilderX更新记录
  14. STM32实现的语音识别的智能垃圾桶
  15. 黄峥:我的人生经历和创业理念
  16. win10更新右键没有卸载怎么解决?
  17. JavaScript中onload()用法
  18. CNN卷积神经网络及图像识别
  19. 按精益生产方式进行现场管理(zt)
  20. python if函数两个并列条件怎么用_if函数中多个并列的条件怎么定义?

热门文章

  1. 【译】.NET 跨平台界面框架和为什么你首先要考虑再三
  2. 贴吧怎么引流不会被屏蔽?让你避免陷入一些误区
  3. 微信获取openID以及token
  4. Linux OpenLDAP配置ACL
  5. 告诉你一个去除PDF文件水印简单快速的方法
  6. 浏览器如何设置默认打印机的纸张类型
  7. SQL JOIN详解、注意事项 以及 on where 的区别
  8. 超声波涡街流量测量原理
  9. 有必要考一级建造师吗0603
  10. Windows下SPONGE及配套软件的安装