機器人:一種簡易的自動跟隨方案,獨家!

機器人:一種簡易的自動跟隨方案,獨家!

來自專欄開源機器人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一些屬於自己的「跟隨」機器人!做不了工業應用,我們可以做玩具嘛~

附上原貼,相關資料在鏈接裡面

純乾貨 | 自動跟隨機器人方案?

mp.weixin.qq.com

碼字不易,點個贊再走~謝謝各位~

推薦閱讀:

從0到1硬體工程師學習如何開始?(附七大主流單片機的詳情)
EX99用VB實現單片機和計算機的串口通信
單片機小書0-意亂情迷
樹莓派探索日誌——入門
基礎教程14 Arduino內部中斷和庫使用

TAG:單片機 | 電子信息工程 | 電子工程EE |