书签 分享 收藏 举报 版权申诉 / 2

类型旋转式三维扫描器的设计与实现.pdf

  • 上传人:cflzh1
  • 文档编号:57518725
  • 上传时间:2019-05-21
  • 格式:PDF
  • 页数:2
  • 大小:735KB
  • 配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    旋转 三维 扫描器 设计 实现
    资源描述:
    学w
    制造业信忌化
    MANUFACTURING INFORMATIZATION伉离/建/CAD/ CAM/CAE/CAPP
    旋转式三维扫描器的设计与实现
    徐海涛。,谭兆湛
    (华南理工大学广州学院,广州510800)
    摘要:利用 Kinect传感器,对旋转平合上一定空间内的物体表面进行描,输出物体表面的空间坐标数据;并通过
    Meshlab建立相应的CAD数据。
    关键词;三维扫描;空间坐标;CAD数据
    中图分类号:TN949.64
    文献标志码:A
    文章编号:1002-233(2014)09-0100-02
    Design and Implementation of Rotating 3D Scanner
    XU Haitao, TAN Zhaozhan
    ( Guangzhou College, South China University of Technology, Guangzhou 510800, China)
    Abstract: This paper describes scanning of the object surface in a certain space on a rotating platform with the Kinect
    sensor, and how to output the coordinate data of the object surface, and the corresponding CAD data set up by Meshlab
    Key words: 3D scanning; space coordinate; CAD data
    0引言
    x=x".cos(a)-x.sin(a)
    三维扫描是集光、机、电和计算机技术于一体的技
    术,主要用于对物体空间外形和结构及色彩进行扫描,以
    :=xsin(a)+'cos(a)
    获得物体表面的空间坐标。它能够将实物的立体信息转2系统设计
    换为计算机能直接处理的数字信号,为实物数字化提供2.1旋转平台设计及程序设计
    了相当方便快捷的手段。
    旋转平台的设计是利用齿轮传动来实现,如图2。右
    1扫描原理
    边的小齿轮连接舵机,带动中间的大齿轮转动,传动比为
    利用 Kinect进行扫描,会有一个可见面和一个隐藏
    面。假设有一个点P在隐藏面,其空间坐标是P(x,y,x)
    如图1
    转角度
    隐藏面
    WP. i
    可见面
    图2
    3V35V V
    图1
    RST Power DI
    AREF
    我们需要通过不同方向的拍照来重建整个物体,并
    Rhino Dri
    在同一个空间坐标系中获得全部点来确定这个物体。因
    3 08
    Servo J
    D7
    此,让平台旋转一定角度,使得P点对 Kinect可见。在
    E Do
    前一次的拍照中,点P确定于其坐标P(x,y,x)。当平台旋
    D4
    转后,P的坐标相应发生变化变成P(x2,y,z)。如果知道
    平台相对于前一次拍照旋转的角度,可以通过基本的三
    ?
    角关系容易由P(x',y',x')计算出原来坐标中P点的坐
    标。如果平台绕Y轴的旋转角度为,可得到如下转换方
    图3电路图

    100机械工程师2014年第9期
    学兔WwW. Kilel llt
    制造业唁化
    伉/建/CAD/CAM/CAE/ CAPP MAN0CuiN_ QRMATZATION
    5:1。左边小齿轮是连接电位器的,用来输出角度信息,系 property float x
    统采用 arduino单片机进行控制,电路如图3。
    property float y
    舵机的控制程序如下:
    property float z
    ar Ie
    void updateservo ( int pin, int pulse)
    property
    (igital Write( pin, HIGI);
    property uchar green
    lelay Microseconds( pulse);
    property uchar blue
    digitalwrite( pin, IOW);
    end header
    执行 Processing程序后,得到物体每个点的坐标与颜色
    角度控制程序如下:
    特征数据:
    void checkserial( )f
    -0.00206718690.15145469-0.023910811551889
    if ( Serial available)>1)(
    2.91948225650.15145469-0.02406428615112096
    char trigger= Serial read()
    0.00148322290.15145469-0.024217756150126104
    state=1:
    得到物体的点云数据后,利用 Meshlab对点云进行
    int new Angle Serial read()
    网格化,重建物体的三维模型,并生成相应格式的三维模
    targetangle =(int)map(new Angle, 0.255, start Pos, endpos);
    型文件“*,ply”,如图4
    从 Processing中读回当前角度信息,利用map()函数
    把角度信息转换为舵机的目标角度。
    2.2 Processing程序设计
    在 Processing中,定义变量 shot Number,如下
    float! shot Number=new float[ 3]
    hot Number用要定义拍照的次数,这里我们让物体
    每转120°拍照一次,因此定义为3,程序如下
    public void setup()[
    for(int i=0; i< shot Numberlength; i++)(
    shotnumberlil=i *(2+PI)/ shot Number length;
    if( serial)
    moveable(0)
    void moveable(float angle)(
    图4
    my Port. write('s');
    my Port. write((int )map( angle, 0, 2*Pl, 0, 255))
    结语
    println("new angle="+ angle);
    本文介绍了旋转式三维扫描器的设计,是利用
    2.3输出点云数据,生成ply格式文件
    A rduino:控制平台的旋转,利用 Kinect传感器对旋转平台
    的物体表面进行扫描,并用 Processing输出物体的空
    输出“'ply"作为开头,然后标注所输出的“ply”格式的类型间坐标数据,再通过 Meshlab重建曲面,输出一定格式的
    (asci或二进制),再以“ comment"为开始为文件添加注
    三维模型文件,如“*,ply'"或“+.stl"直接用以三维打印、或
    释,如下
    供其他CAD软件使用。
    [参考文献
    [1] MEIGARER. Arduino and Kinect Projects [M].ApressAp
    format binary_little_endian 1.
    展开阅读全文
    提示  文档分享网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:旋转式三维扫描器的设计与实现.pdf
    链接地址:https://www.wdfxw.net/doc57518725.htm
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    版权所有:www.WDFXW.net 

    鲁ICP备09066343号-25 

    联系QQ: 200681278 或 335718200

    收起
    展开