您好 [登錄] [免費(fèi)注冊(cè)]
      歡迎來到123儀器網(wǎng)!24年專注 · 正品保障 · 閃電發(fā)貨

      DIY基于攝像頭的激光測(cè)距儀

      2010-11-24

                                                               DIY基于攝像頭的激光測(cè)距儀

      有很多現(xiàn)成的測(cè)距組件包括超聲波、紅外線、甚至是激光測(cè)距儀。這些設(shè)備運(yùn)行的很好,但是對(duì)于飛行機(jī)器人來說,重量是一個(gè)主要考慮因素。一個(gè)可行的辦法是增加現(xiàn)有組件的功能,并安裝在機(jī)身上。例如微型空中機(jī)器人的有效載荷是100g。它能利用USB連接的攝像頭(或mini無線攝像頭)執(zhí)行視覺任務(wù),例如避障等。更好的是,如采用兩個(gè)攝像頭,能提供立體的機(jī)器視覺,這樣能增強(qiáng)避障性能,因?yàn)殡p鏡頭提供了視覺深度。但缺點(diǎn)是需要增加另外一個(gè)攝像頭的重量。這篇文章就是討論如何利用一個(gè)激光筆和一個(gè)攝像頭來提供一個(gè)單鏡頭機(jī)器視覺和測(cè)距的。
      這個(gè)項(xiàng)目很大一部分是基于下面這個(gè)教程的
      工作原理
      下圖顯示了如何將激光點(diǎn)投射到目標(biāo)物上,并在攝像頭上顯示。攝像頭和激光點(diǎn)的距離是可以通過計(jì)算而得出的。公式很簡(jiǎn)單,因此這個(gè)技術(shù)在需要很快運(yùn)行的機(jī)器視覺應(yīng)用上是適合的。
       
      介紹一下工作原理。一束激光被投射到目標(biāo)物上,并在攝像頭上被顯示。激光束被認(rèn)為是理想的平行于攝像頭的中心光軸。激光點(diǎn)由攝像頭的其余部分所捕獲。一個(gè)簡(jiǎn)單的計(jì)算就是尋找亮點(diǎn)。如果設(shè)激光點(diǎn)就是這個(gè)場(chǎng)景的亮點(diǎn)(似乎在室內(nèi)我的激光發(fā)射器確實(shí)是亮的),那么這個(gè)點(diǎn)的位置在圖幀中的位置是確定的。然后我們只需要計(jì)算這個(gè)點(diǎn)在沿著y軸的距離,就能計(jì)算出目標(biāo)物離攝像頭的距離,激光點(diǎn)距離中心越近,離目標(biāo)物越遠(yuǎn)。
      如同公式所示,距離D是可以被計(jì)算出來的。
       
      為了計(jì)算這個(gè)等式,我們需要知道激光器和攝像頭之間的距離h,這是個(gè)常數(shù),還有角度,角度可以計(jì)算。
       其中:
      pfc=從焦平面到中心的像素?cái)?shù)量
      rpc=單個(gè)像素的弧度
      ro=弧度補(bǔ)償(彌補(bǔ)對(duì)齊錯(cuò)誤)

      代入上式,我們得到:
       
      這樣,從圖像中就能將焦平面到激光點(diǎn)像素?cái)?shù)計(jì)算出來。那其他的常數(shù)怎么辦呢?我們需要執(zhí)行一個(gè)校準(zhǔn)來得到這些數(shù)據(jù)。
      為了校準(zhǔn)這個(gè)系統(tǒng),我們需要收集一系列測(cè)量的數(shù)據(jù),每次測(cè)得的目標(biāo)物的距離和這個(gè)激光點(diǎn)離中心點(diǎn)的像素?cái)?shù)。數(shù)據(jù)如下
      校正數(shù)據(jù)
      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和真實(shí)距離計(jì)算出真實(shí)的角度:
       
       
      θactual=真實(shí)角度
      Dactual=真實(shí)距離(測(cè)量得出)
      現(xiàn)在我們有了公式中的每個(gè)數(shù)值,我們可以利用一個(gè)關(guān)系式來計(jì)算點(diǎn)離中點(diǎn)的像素?cái)?shù)。我用了一個(gè)線性關(guān)系式。這個(gè)公式看起來很有用,……
      從我的校正數(shù)據(jù)中,我計(jì)算出:
      Offset (ro) = -0.056514344 radians
      Gain (rpc) = 0.0024259348 radians/pixel
      使用:
      下表是列舉了根據(jù)上面ro和rpc值計(jì)算出的距離值,實(shí)際距離值和誤差:
      實(shí)際和計(jì)算的測(cè)量數(shù)據(jù)
      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
      所需零部件
      我的測(cè)距儀沒有多少部件。我使用一塊硬紙板來固定激光發(fā)射器和攝像頭。攝像頭和激光發(fā)射器被平行的布置在一起。
       
      我組裝的測(cè)距儀是這樣的
       
      軟件
      我通過兩個(gè)方式編寫了這個(gè)軟件,一個(gè)是vc++,一個(gè)是VB。你能發(fā)現(xiàn)VB版本的軟件會(huì)比VC++的軟件更容易一些,但是各有取舍。VC++版本能夠自由的加入其他軟件中?VB版本需要第三方軟件支持(在Visual Studio中)
      Visual Basic
      vb_laser_ranger.zip
      這里可以下載到我的VB版本軟件。
      要使用上面的程序,你必須要安裝VideoOCX ActiveX 控件

      无码人妻丰满熟妇区免费| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 人妻丰满熟妇aⅴ无码| 无码人妻精品一区二区蜜桃AV| 国产AV无码专区亚洲AV手机麻豆| 国产亚洲中文日本不卡二区| 无码精品一区二区三区在线| 亚洲日本中文字幕天天更新| 熟妇人妻中文av无码| 国产成A人亚洲精V品无码性色 | 久久久久久精品无码人妻| 中文字幕在线亚洲精品| 波多野结衣AV无码| 亚洲Aⅴ无码专区在线观看q| 合区精品久久久中文字幕一区| 中文字幕人成高清视频| 国产亚洲AV无码AV男人的天堂| 亚洲日韩乱码中文无码蜜桃臀网站| 日韩欧美一区二区不卡中文| 夜夜精品无码一区二区三区| 国产精品无码无需播放器| 无码国产福利av私拍| 亚洲国产精品无码久久一线| 无码国产精品一区二区免费| 狠狠精品干练久久久无码中文字幕| 中文字幕丰满乱子伦无码专区| 亚洲欧美综合中文| 亚洲AV无码乱码精品国产| 无码视频在线播放一二三区| 精品无码人妻一区二区三区不卡| 成年午夜无码av片在线观看| 精品无码AV无码免费专区| 日韩精品无码免费一区二区三区| 无码人妻品一区二区三区精99 | 一夲道DVD高清无码| 亚洲一日韩欧美中文字幕欧美日韩在线精品一区二 | 国产av无码专区亚洲av桃花庵| 国产在线观看无码免费视频 | 亚洲中文字幕无码不卡电影| 最新高清无码专区| 中文字幕人妻无码一区二区三区 |