1.一种基于三维相机的不规则目标扫描打印方法,其特征在于,包括如下步骤:步骤一、分别建立计算机与三维相机和3D打印机的通信,然后将转台主控与电源相连;
步骤二、调整三维相机和转台的位置,建立以三维相机为原点的系统坐标轴,以固定的旋转角度α多次转动转台,利用α计算得到转台的旋转次数为ω,然后利用已固定好的三维相机多次拍摄视场,得到(ω+1)幅不规则目标点云数据;所述的步骤二具体包括如下步骤:
1)调整三维相机和转台的位置,将三维相机和转台放置在同一水平面上,且两者型心之间距离为D,设定三维相机相对于水平面的高度为H,相对于竖直方向的夹角为30°,转台上表面相对于水平面的高度为h,要求H、h和D满足其中,β为三维相机扫描视场角,β大于等于30°且小于等于120°;
2)设定不规则目标初始位置,将不规则目标放置在转台中央,使不规则目标完全处于三维相机扫描视场范围内;
3)设定固定的旋转角度α,利用Arduino UNO单片机精确控制转台旋转;
4)计算转台的旋转次数ω为
其中,转台每旋转固定的旋转角度α,利用三维相机扫描获取一幅不规则目标点云数据;
5)最终得到(ω+1)幅不规则目标点云数据,分别记为不规则目标点云数据Q1、Q2……Qω+1;步骤三、对(ω+1)幅不规则目标点云数据分别进行统计滤波操作,去除稀疏离群的噪声点,得到滤波后的不规则目标点云数据;所述的步骤三具体包括如下步骤:
1)对(ω+1)幅不规则目标点云数据分别进行统计滤波处理,计算每个不规则目标点云数据中各个点到它所有临近点的平均距离,得到所有点到它临近点平均距离,计算所有点2
到它临近点平均距离的均值u和方差σ为
其中,k表示U邻域内不规则目标点云数据的个数,V(xi,yi,zi)为U邻域内第i个不规则目标点云数据的空间坐标,i=1,2,…k;
2
2)设定由所有点到它临近点平均距离的均值u和方差σ定义的阈值T为2
T=u+χσ (5)2
其中,χ表示σ的系数,χ大于0且小于1;
3)利用阈值T求出滤波后的不规则目标点云数据W(x,y,z)步骤四、对滤波后的不规则目标点云数据进行随机抽样一致性估计得到去除参考面的不规则目标点云数据,对去除参考面的不规则目标点云数据进行顶部投影操作,得到补底面后的不规则目标点云数据;所述的步骤四具体包括如下步骤:
1)选取估计模型为参考面模型;
2)随机选取不规则目标点云数据中部分点云为初始点云,然后用该初始点云拟合估计模型,并利用该初始点云与参考面模型的误差来判断该初始点云是否属于参考面模型的内部;
3)当该初始点云是参考面模型的内部点云时,则用参考面模型去测试其他部分点云,如果某部分点云也适用于参考面模型,则认为该部分点云也属于参考面模型的内部,将该部分点云扩充入初始点云;当部分点云不是参考面模型的内部点云时,则重新随机选取不规则目标点云数据中的其它部分点云为初始点云,并进行相同操作;
4)当有75%以上的部分点云被判断为参考面模型的内部点云时,那么该估计模型就合理;
5)保存最终合理的估计模型为只包含参考面的不规则目标点云数据;
6)用滤波后的不规则目标点云数据减去只包含参考面的不规则目标点云数据,得到去除参考面的不规则目标点云数据;
7)将去除参考面的不规则目标点云数据向参考面所在平面进行顶部垂直投影操作,得到投影后的不规则目标点云数据底面;
8)将投影后的不规则目标点云数据底面与去除参考面的不规则目标点云数据进行合并,得到补底面后的不规则目标点云数据;步骤五、对补底面后的不规则目标点云数据进行去质心操作,将外部空间坐标系移动到补底面后的不规则目标点云数据内部,得到去质心后的不规则目标点云数据;所述的步骤五具体包括如下步骤:
1)分别求出(ω+1)幅补底面后的不规则目标点云数据的质心空间坐标C为其中,rj=(xj,yj,zj)为补底面后的不规则目标点云数据中第j个点的空间坐标,mj为补底面后的不规则目标点云数据中第j个的点对应的质量,j=1,2,…n,n表示补底面后的不规则目标点云数据中点的个数,M为补底面后的不规则目标点云数据对应的总质量;
2)将补底面后的不规则目标点云数据的质心空间坐标设为笛卡尔坐标系原点;
3)将(ω+1)幅补底面后的不规则目标点云数据中各个点的空间坐标减去质心空间坐标,得到(ω+1)幅去质心后的不规则目标点云数据;
步骤六、对去质心后的不规则目标点云数据进行旋转变换得到旋转后的不规则目标点云数据;所述的步骤六具体包括如下步骤:
1)以笛卡尔坐标系内Y轴为旋转轴,设定旋转角度为θ,θ大于0°且小于90°;
2)计算旋转矩阵A为
3)将(ω+1)幅去质心后的不规则目标点云数据中各个点的空间坐标分别进行旋转矩阵A对应的变换,得到(ω+1)幅旋转后的不规则目标点云数据S1,S2,...Sω+1;
步骤七、依次对旋转后的不规则目标点云数据使用迭代最近点算法进行配准,得到完整不规则目标点云数据;所述的步骤七具体包括如下步骤:
1)设定变量e等于2,设定变量l等于1,将S1赋值给G1;
2)读入旋转后的不规则目标点云数据Se和Gl;
3)按照相同的关键点选取标准,提取旋转后的不规则目标点云数据Se和旋转后的不规则目标点云数据Gl这两个点云数据中的关键点,得到所有关键点;
4)分别计算所有关键点的特征描述子;
5)结合所有关键点的特征描述子在旋转后的不规则目标点云数据Se和Gl中的坐标位置,来估算它们的对应关系,初步估计对应点对;
6)除去对配准有不良影响的错误对应点对,得到正确对应点对;
7)利用正确对应点对的对应关系来估算刚体变换,完成一次迭代最近点配准,得到一幅配准后的不规则目标点云数据
8)将e加1,得到更新后的e;
9)将e‑2赋值给l;
10)将 赋值给Gl;
11)判断更新后的e是否等于(ω+1),若是,则执行步骤12);若不是,则执行步骤2);
12)完成旋转后的不规则目标点云数据配准,得到一幅完整不规则目标点云数据;
步骤八、对完整不规则目标点云数据使用移动最小二乘算法进行平滑处理,得到平滑处理后的不规则目标点云数据;
步骤九、对平滑处理后的不规则目标点云数据使用贪婪投影三角化算法进行曲面重建,得到三角网格曲面模型;所述的步骤九具体包括如下步骤:
1)将平滑处理后的不规则目标点云数据沿Y轴投影到选定的局部二维XOZ坐标平面,得到投影后的完整不规则目标点云数据;
2)在二维XOZ坐标平面内对投影后的完整不规则目标点云数据作三角化处理,得到三角网格曲面模型;步骤十、将三角网格曲面模型的文件格式由pcd转换成stl,然后进行切片处理,得到最终的G‑code格式文件;
步骤十一、将最终的G‑code格式文件数据传输给3D打印机,完成3D实物打印。
2.根据权利要求1所述的基于三维相机的不规则目标扫描打印方法,其特征在于,所述的步骤一具体包括如下步骤:
1)规定三维相机和计算机的通信方式为串口通信方式;
2)约定三维相机和计算机的通信协议为RS232;
3)规定三维相机和计算机双向按位发送与接收字节信息,将三维相机采集到的数据发送给计算机;
4)约定3D打印机和计算机通过USB3.0串口通讯。