- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《自制激光测距仪》.doc
激光:基于摄像头的激光测距仪
2009-02-23 21:45
介绍
有很多现成的测距组件包括超声波、红外线、甚至是激光测距仪。这些设备运行的很好,但是对于飞行机器人来说,重量是一个主要考虑因素。一个可行的办 法是增加现有组件的功能,并安装在机身上。例如微型空中机器人的有效载荷是100g。它能利用USB连接的摄像头(或mini无线摄像头)执行视觉任务, 例如避障等。更好的是,如采用两个摄像头,能提供立体的机器视觉,这样能增强避障性能,因为双镜头提供了视觉深度。但缺点是需要增加另外一个摄像头的重 量。这篇文章就是讨论如何利用一个激光笔和一个摄像头来提供一个单镜头机器视觉和测距的。
这个项目很大一部分是基于下面这个教程的/ubr/ff03laser.php
工作原理
下图显示了如何将激光点投射到目标物上,并在摄像头上显示。摄像头和激光点的距离是可以通过计算而得出的。公式很简单,因此这个技术在需要很快运行的机器视觉应用上是适合的。
介绍一下工作原理。一束激光被投射到目标物上,并在摄像头上被显示。激光束被认为是理想的平行于摄像头的中心光轴。激光点由摄像头的其余部分所捕 获。一个简单的计算就是寻找最亮点。如果设激光点就是这个场景的最亮点(似乎在室内我的激光发射器确实是最亮的),那么这个点的位置在图帧中的位置是确定 的。然后我们只需要计算这个点在沿着y轴的距离,就能计算出目标物离摄像头的距离,激光点距离中心越近,离目标物越远。
如同公式所示,距离D是可以被计算出来的。
为了计算这个等式,我们需要知道激光器和摄像头之间的距离h,这是个常数,还有角度,角度可以计算。
其中:
pfc=从焦平面到中心的像素数量rpc=单个像素的弧度ro=弧度补偿(弥补对齐错误)代入上式,我们得到:
这样,从图像中就能将焦平面到激光点像素数计算出来。那其他的常数怎么办呢?我们需要执行一个校准来得到这些数据。
为了校准这个系统,我们需要收集一系列测量的数据,每次测得的目标物的距离和这个激光点离中心点的像素数。数据如下
校正数据
pixels from center
actual D (cm)
103
29
81
45
65
58
55
71
49
90
45
109
41
127
39
159
37
189
35
218
使用下面的公式,我们能够利用激光器和摄像头之间的距离h和真实距离计算出真实的角度:
θactual=真实角度Dactual=真实距离(测量得出)
现在我们有了公式中的每个数值,我们可以利用一个关系式来计算点离中点的像素数。我用了一个线性关系式。这个公式看起来很有用,…… 从我的校正数据中,我计算出: Offset (ro) = -0.056514344 radians Gain (rpc) = 0.0024259348 radians/pixel 使用:
下表是列举了根据上面ro和rpc值计算出的距离值,实际距离值和误差: RoboticFan
实际和计算的测量数据
pixels from center
calc D (cm)
actual D (cm)
% error
103
29.84
29
2.88
81
41.46
45
-7.87
65
57.55
58
-0.78
55
75.81
71
6.77
49
93.57
90
3.96
45
110.85
109
1.70
41
135.94
127
7.04
39
153.27
159
-3.60
37
175.66
189
-7.06
35
205.70
218
-5.64
所需零部件
我的测距仪没有多少部件。我使用一块硬纸板来固定激光发射器和摄像头。摄像头和激光发射器被平行的布置在一起。
我组装的测距仪是这样的
软件
我通过两个方式编写了这个软件,一个是vc++,一个是VB。你能发现VB版本的软件会比VC++的软件更容易一些,但是各有取舍。VC++版本能够自由的加入其他软件中?VB版本需要第三方软件支持(在Visual Studio中)
Visual Basic
vb_laser_ranger.zip
这里可以下载到我的VB版本软件。要使用上面的程序,你必须要安装VideoOCX ActiveX 控件
主程序如下:
Private Sub exit_Click() only if running... If (Timer1.Enabled) Then Timer1.Enabled = False Stop Timer VideoOCX.Stop VideoOCX.Close End If EndEnd
您可能关注的文档
- 《第九章 温度测量》.ppt
- 《第九章 策划设计》.ppt
- 《第九章:营销传播活动的效果测量》.ppt
- 《第二十四讲 jQuery插件》.pdf
- 《第二届中国梦绿色建筑大赛策划》.doc
- 《第二模块_破译沟通的密码--交往策略与训练(高中教案)》.doc
- 《第二章 人体测量及其应用》.ppt
- 《第二章 彩色电视信号的编码》.ppt
- 《第二章 策划学的综合性》.ppt
- 《第二章 软件测试概念》.pdf
- 10《那一年,面包飘香》教案.docx
- 13 花钟 教学设计-2023-2024学年三年级下册语文统编版.docx
- 2024-2025学年中职学校心理健康教育与霸凌预防的设计.docx
- 2024-2025学年中职生反思与行动的反霸凌教学设计.docx
- 2023-2024学年人教版小学数学一年级上册5.docx
- 4.1.1 线段、射线、直线 教学设计 2024-2025学年北师大版七年级数学上册.docx
- 川教版(2024)三年级上册 2.2在线导航选路线 教案.docx
- Unit 8 Dolls (教学设计)-2024-2025学年译林版(三起)英语四年级上册.docx
- 高一上学期体育与健康人教版 “贪吃蛇”耐久跑 教案.docx
- 第1课时 亿以内数的认识(教学设计)-2024-2025学年四年级上册数学人教版.docx
文档评论(0)