機器人:一種簡易的自動跟隨方案,獨家!
來自專欄開源機器人161 人贊了文章
目的:一種廉價的跟隨方案,讓大家都能夠參與進來,技術難度不大,一些人也能夠DIY一些屬於自己的「跟隨」機器人!並不是要做工業應用什麼的。只是做出來玩玩~
/ 1 / 介紹
先看視頻,視頻中是一個簡單的4輪模型的小型機器人,做了一個簡單的應用(智能行李車)
在這我們只介紹自動跟隨的方案,牽扯到機器人底盤移動等其他控制部分,在這不做過多贅述了。
如果讀者有機器人相關控制基礎或者做過智能小車類的項目,很容易處理好。沒有也沒關係,
繼續關注我的知乎【張巧龍】或者公眾號,後面會開源相關機器人的控制方案。
https://www.zhihu.com/video/1012650974057410560
/ 2 / 硬體方案
選用單發單收的超聲波模塊進行測距,以此來獲取人與車的距離,模塊可在某寶上購買,也可自己製作。由於有廣告嫌疑,我這裡不放購買鏈接。
(關注微信公號【大魚機器人】,後台回復【自動跟隨】即可獲得電路等資料)
在機器人的兩端各安裝一個單收超聲波,人手持一個單發的超聲波模塊。
這樣左側與右側離人的距離就構成了一個三角形。簡單示意圖如下圖所示:
當機器人正對著人時,裝在機器人上的2個超聲波模塊,距離A=B,
當人左拐時,A必定小於B,
同理當人右拐時,A大於B。
當人向前走時,A和B的距離必定大於設定距離。我們只需要控制好這幾個距離即可。
由此可獲得人與機器人的距離以及人的行走路線,來實現機器人的自動跟隨功能。
【注意】如果選用下面這收發集成一體的超聲波
例如這種:
這種超聲波模塊也能做跟隨,但是非常有限制性,為什麼呢?
這種超聲波模塊,收發一體,只能測試障礙物的距離。也就是說只能測出機器人面前的物體與機器人的距離。所以只能做直線跟隨!並不能轉彎跟隨!有人會說,和上面一樣,一邊裝一個不就行了嗎。這樣必失敗,因為2個超聲波都會發出超聲波,會互相干擾,距離一個都測不出。/ 3 / 程序設計
選當獲取到A、B距離後,如何控制呢?對距離做一個簡易的PID中的P控制即可。
首先是直線跟隨的部分代碼:
其次是轉彎跟隨的部分代碼:
連夜整理出源碼以及相關論文,這個小機器人是我之前本科的畢業設計,從思路到設計再到實體最後調試成功,前前後後花了一個多月的時間,有人可能會覺得一個本科的畢業設計也敢拿出來給大家分享嘛,這不吹牛B嗎?天都黑了~(把牛都吹上天了~)
我想說的是,做這個跟隨的小機器人,不在於技術含量多高,而是這個點子很有趣,市面上如今有各式各樣的跟隨方案,計算機視覺跟隨、定位模塊跟隨、電磁波信號跟隨等等。
那麼我這個跟隨有什麼用呢?
一種廉價的跟隨方案,讓大家都能夠參與進來,技術難度不大,一些人也能夠DIY一些屬於自己的「跟隨」機器人!做不了工業應用,我們可以做玩具嘛~
附上原貼,相關資料在鏈接裡面
純乾貨 | 自動跟隨機器人方案碼字不易,點個贊再走~謝謝各位~
推薦閱讀:
※從0到1硬體工程師學習如何開始?(附七大主流單片機的詳情)
※EX99用VB實現單片機和計算機的串口通信
※單片機小書0-意亂情迷
※樹莓派探索日誌——入門
※基礎教程14 Arduino內部中斷和庫使用