本帖最后由 hyyh 于 2011-12-30 17:40 编辑
原文连接:http://www.csksoft.net/blog/post/lowcost_3d_laser_ranger_2.html
这是本系列**的第二部分,着重介绍我自制3D激光雷达的制作、校正过程。
目前本制作已经开源,代码托管于google code。请访问项目页面下载
http://code.google.com/p/rp-3d- scanner
对于其中的原理,请参考前一篇**:
自制低成本3D激光扫描测距仪(3D激光雷达),第一部分http://www.csksoft.net/blog/post/lowcost_3d_laser_ranger_1.html
版权信息:
本文采用CreativeCommons2.5授权许可,欢迎转载,但请保留原始作者信息以及原文链接。
如果您看过了第一篇**,请直接跳跃到正文部分
介绍视频:
相关的图片:
扫描得到的房间一角(点击查看原始尺寸) 扫描的我(点击查看原始尺寸) 扫描仪实物
1. 设备设计核心元件原型在第一篇**的原理介绍[1]中,已经大致提到了本次制作的核心元件:摄像头、激光器以及进行扫描的伺服电机的 选型要求。
对于我期望的精度和性能,一般市面常见的USB VGA摄像头即可满足要求。
图:本制作使用的USB摄像头(已经拆除外壳) 对于激光器的选择,主要是考虑他的发射波长和功率。由于我的制作并不用像产品那样考虑激光器功率安全[2]问题 ,因此,采用了200mW的红外一字线激光器。较大功率的优势是可以通过缩短摄像机曝光速率,从而从画面上过滤到环 境光的干扰,同时也可以扫描较远的距离。当然,200mW的激光器功率的确有点太大了,在使用时注意不能用 眼睛直视,并且红外激光器人肉眼不可见,所以需要额外的当心。
图:制作所使用的红外一字线激光器 在使用了红外激光器后,可以通过给摄像头加装红外滤光片。它可以将肉眼可见光过滤,仅允许激光器发出的红外 光进入摄像头。从而有效地过滤环境光带来的干扰。对于红外滤光片,最佳的选择是使用与激光器发射波长相匹配的滤 光片,比如如果使用的是808nm的激光器,那么滤光片选择808nm的窄带滤光片最合适,这样做可以最大程度的降低干扰 。因为现实中,日光、白炽灯、遥控器也都会发出红外光谱。
但是这样的滤光片一般价格偏贵,在本制作中,我使用了800nm截至的低通滤光片。它允许任何波长低于800nm的红 外光通过。不过实际效果还是不错的。
图:本制作采用的低通红外光滤光片 对于用于扫描的伺服电机,由于摄像头的帧率是30fps。扫描速度不需要很快,因此这里使用了普通的标准舵机。他 的优势是可以直接控制定位到特定角度,驱动也相对容易。不过精度不高,对于0.3度的角度定位,已经有些吃力了。 这也是值得改进的地方。
图:本制作选用的舵机 这里统一列出他们的参数:
摄像头:VGA画质的USB摄像头,30fps (市面普遍可以购买的型号)。非广角
激光器:50mW 红外一字线激光 808nm
滤光片:10mm直径红外低通滤光片
舵机:HS-322hd 43g标准舵机
安装考虑这里主要针对原理[1]中提到的几个参数的选择,决定激光器、摄像头的安装方式。在[1]中,我提到了摄像头焦距 和摄像头-激光器距离(s)的乘积f*s应当满足:
fs>=700
一般市面USB非广角镜头的摄像头的焦距在4.5mm左右,因此,s一般选择160mm左右。也就是说,摄像头和激光器的 间距在160mm或者以上。当然,如果觉得这间距太大了,也可以稍微缩小,正如[1]提到的,目前摄像头的像素尺寸一般 比较小。
另外一个在安装中要考虑的参数是激光器夹角beta。[1]中同样提到他的值在83deg左右。对此,安装的时候不必也 不能死板的测量角度并安装,这是因为除非使用了工业精工级别的激光器,否则激光器发出的激光射线也存在夹角。
beta角度可以在安装完成后进行多次修正,保证在较远处,画面中仍然可以看到激光轨迹,再进行固定。 |