本項目是在 PVCBOT-A型 基礎平臺車——BEAM小車的基礎上,加裝了避障傳感器以及控制電路,組成了一臺具體有避障功能的小車。而這個所謂避障小車,實際上就是和 PVCBOT-1號 機器人類似的避障機器人,除了其制作過程是采用了模塊化的開發思路外,與1號的體型類似且控制電路是一樣的,因此本項目的機器人可看作是1號機器人的升級版本——瘋狂小強二代。
雖說本項目機器人與1號項目機器人本身有著很多相同之處,但是本項目的重點卻是在于介紹怎么用模塊化的思想去開發具體的項目,以及介紹如何在A型基礎平臺車上面擴展裝備以實現既定的功能應用。
運動機理
控制前面兩個輪子的轉動方向就可以控制整個機器人行進的方向:
1、左右兩個前輪都向前轉,則機器人向“正前方”直線前進;
2、左右兩個前輪都向后轉,則機器人向“正后方”直線倒退;
3、左前輪向后轉,右前輪向前轉,則機器人將以后輪為軸心逆時針轉動,即實現向“右后方”轉彎倒退;
4、左前輪向前轉,右前輪向后轉,則機器人將以后輪為軸心順時針轉動,即實現向“左后方”轉彎倒退。
控制原理
在機器人的頭部用鋼絲做兩根觸須,一左一右各連接到一個碰撞開關,分別控制兩個前輪的旋轉方向。
特別注意,左右觸須與對應控制的電機是交叉過來的,即:左邊的觸須連接右邊的碰撞開關,控制右邊的電機;右邊的觸須連接左邊的碰撞開關,控制左邊的電機。
(1)無障礙物
當前方都沒有障礙物,左右兩個輪子都向前正轉,則機器人向“前方”直線前進。
(2)左前方有障礙物
當左前方有障礙物,在左邊觸須碰到障礙物時,控制右邊的輪子反轉,則機器人向“左后方”倒退并轉彎,即方向轉向了障礙物的右邊,從而避開了左邊的障礙物。
向后倒退轉彎會持續一會,在完成轉彎之后,左邊觸須不再碰到障礙物,則兩個輪子都正轉,機器人繼續向新的沒有障礙物的“前方”直線前進。
(3)右前方有障礙物
當右前方有障礙物,在右邊觸須碰到障礙物時,控制左邊的輪子反轉,則機器人向“右后方”倒退并轉彎,即方向轉向了障礙物的左邊,從而避開了右邊的障礙物。
向后倒退轉彎會持續一會,在完成轉彎之后,右邊觸須不再碰到障礙物,則兩個輪子都正轉,機器人繼續向新的沒有障礙物的“前方”直線前進。
(4)正前方有障礙物
當正前方有障礙物,左右兩邊的觸須都會碰到障礙物,控制左右兩邊的輪子都反轉,則機器人向“正后方”倒退,從而避開障礙物。
在直線倒退持續了一會后,左右兩邊的觸須都不再碰到障礙物,則兩個輪子都正轉又變成直線前進;然后又會遇到正前方的障礙物又會直線倒退,再直線前進……如此反復變成一個死循環。
理論上會出現以上這樣的問題,但是實際上并不會,因為無論是左右輪的摩擦系數有所差異,還是左右兩組電機的驅動功率有所差異,或是左右兩組電機的電源的電量有所差異,又或是障礙物左右兩部分表面的光滑程度有所差異,都會導致實際上左右兩邊的觸須碰到障礙物有一個時間差,都無法做到兩邊輪子同時反轉,也就是說向后倒退的時候不是完全的直線而是會有所偏移。而且即便第一次是直線后退,但在往復幾次碰撞之后肯定會出現偏移,最終解除循環避開障礙物向新的方向前進。
在視頻中,我們也可以看到這一有趣的一幕,機器人連續幾次反復撞上“墻壁”,最后還是會重新轉向另外的方向。
另外還有一種情況,就是有些時候機器人會卡在墻角停頓了好一陣,然后才轉向。這是因為有些時候由于觸須碰撞墻壁的角度比較偏,不是正面碰撞,導致碰撞的力度不夠,觸須無法立即觸發碰撞開關響應,而機器人在電機的推動下不斷的擠向墻壁,緩慢的擠壓后才觸發了碰撞開關控制轉向,也就是看到了機器人在墻角停頓了一會才轉向的情景。出現這情況,如果電機的輸出功率不足,或是由于電池的電量下降導致動力不足,可能會導致機器人在墻角無力擠壓觸發碰撞開關,最終變成卡死在墻角,這個時候要么是換大功率的電機,要么就是換新電池。
特別說明:在本項目里面,必須使用具有一定彈性的鋼絲作為觸須,主要是碰撞開關的能夠觸發所需要受的力要大于維持觸發所需要受的力。
觸須在遇到障礙物后,受擠壓到一定程度就會觸發碰撞開關,之后機器人會轉向,而由于彈性的存在觸須還會還會觸碰障礙物,受到擠壓還能夠給碰撞開關施加一定時間的力使得碰撞開關沒有立即釋放,讓機器人的轉向會維持一定的時間。
當機器人逐漸遠離障礙物之后,觸須擠壓碰撞開關的力會逐漸減小,直到擠壓所產生的力小于維持碰撞開關觸發所需要受到的力時,碰撞開關釋放然后機器人重新會前進。不過這個時候機器人已經轉向了足夠的時間,前進的方向已經變了,就可以避開障礙物了。
假如使用沒有彈性的觸須,則可能機器人碰到障礙物之后還沒有來得及足夠時間的轉向,機器人就又再一次撞上障礙物,而由于這個時候離障礙物距離很近再次撞上去的力量會比較小,甚至無法讓觸須有足夠的力量觸發碰撞開關控制轉向,這樣最終就變成機器人卡在障礙物前面動彈不得。
另外,使用沒有彈性的觸須,則機器人瞬間受到的沖擊力會比較大,還容易造成碰撞開關或者是機器人結構的損壞。
假如觸須的角度沒有彎折好,也可能會出現機器人在障礙物前反復“撞擊——退回——撞擊——退回……”的情形,或者最終卡在障礙物前面動彈不得的情況。這主要是觸須的彎折程度比較靠后(靠近身體一側),使得觸須上比較靠近碰撞開關的位置接觸到障礙物,當機器人遇到障礙物倒退的時候,觸須的彈性作用沒有發揮出來,機器人一旦開始倒退觸須就無法繼續保持對碰撞開關的觸發壓力,導致碰撞開關立即又釋放,而機器人沒有持續倒退到了完全轉向的程度,就又開始前進去撞擊障礙物,最后反復以上狀態而僵持在障礙物前。
要解決這個問題,可以把觸須的彎折向前方一點,即觸須盡量向前伸(對應前進的方向),而不是往后彎。
機器人頭部有兩根鋼絲作的觸須,觸須分別連接在兩個碰撞開關上(注意兩根鋼絲對應的碰撞開關是交叉的,即:“左—右”鋼絲,對應“右—左”碰撞開關)。
(1)沒有障礙物時,觸須沒有被擠壓,不觸發碰撞開關,碰撞開關默認的通路,給電機供給一個“正方向”的電流,電機于是“順時針方向”旋轉。
(2)有障礙物時,觸須被擠壓,觸發碰撞開關,碰撞開關斷開默認通路,連接另外的一組通路,給電機供一個“反方向”的電流,電機于是“逆時針方向”旋轉。
這里給出完整的電路原理圖:
為了方便大家,這里再給出實物電路接線圖供參考。
本項目以PVCBOT-A型平臺車為基礎,以杜邦線和排針為主要連接方式, 以下為電路焊接示意圖。
準備工作
本項目需要的器材比較簡單,主要包括:PVC線槽、PVCBOT-A型基礎平臺小車、碰撞開關、撥動開關、螺絲、排針等。
制作過程——
控制電路:
傳感器:
電源:
總裝:
調試:
按照電路原理圖或者焊接示意圖進行電路檢查,看線路是否連接正確,特別是注意電機的電機是否正確。然后接上電池打開開關,檢測電機的控制效果是正確的:
1、打開撥動開關后,沒有障礙物時,兩個電機都是往前轉動的;
2、左邊觸須被按壓,則右邊的電機反轉;
3、右邊觸須被按壓,則左邊的電機反轉;
4、兩個觸須都被按壓,則兩個電機都反轉。
特別注意,如果發現某電機的轉向與預期的相反了,則只要把該電機的兩根電極杜邦線調換過來插接即可。
(1)假如小車默認情況下是原地打轉,則說明其中一個電機的電源接反了,嘗試把其中任意一個電機的兩根電極杜邦線調換過來(先試第一個電機,如果不對再試另一個電機);
(2)假如小車默認情況下是直線后退,則說明兩個電機的電源都接反了,則同時把兩個電機各自的兩根電極杜邦線都調換過來。
假如機器人在障礙物前出現反復“撞擊——退回——撞擊——退回……”的情形,或者最終卡在障礙物前面動彈不得,則:
情況1:觸須過軟
假如觸須過細過軟,則碰到障礙物時,觸須把碰撞產生的沖擊力都吸收了,無法擠壓觸發碰撞開關,導致機器人碰到障礙物也不會回頭,但又頂著障礙物無法前進,租后卡死在障礙物前。
這種情況下要解決問題,則需要把觸須換成粗一點硬一點的鋼絲。提示:DIY-BOT網店所提供的套件,里面包含的鋼絲不存在這個問題。
情況2:觸須過硬
假如觸須是比較粗比較硬,缺乏彈性的,則觸須碰到障礙物時雖然可以擠壓觸發碰撞開關讓機器人后退,但由于沒有彈性則就沒有起到“存儲碰撞能量”的作用,機器人開始后退馬上就釋放碰撞開關,沒有能夠讓后退保持一定的時間,導致機器人后退還沒有到轉向的程度,就又往前沖,最后變得在障礙物前反復沖撞的情形。
這種情況下要解決問題,則需要把觸須換成稍微軟一點彈性好一點的鋼絲。提示:DIY-BOT網店所提供的套件,里面包含的鋼絲不存在這個問題。
情況3:觸須彎折的角度不合適
假如觸須的彎折程度比較靠后(靠近身體一側),使得觸須上比較靠近碰撞開關的位置接觸到障礙物,當機器人遇到障礙物倒退的時候,觸須彈性的“存儲碰撞能量”的作用也沒有發揮出來,就類似上面情況2的情形,機器人碰到障礙物開始倒退后,無法讓倒退保持一點的時間,很快就又恢復前進的狀態往前沖,最后變得在障礙物前反復沖撞的情形。
這種情況下要解決問題,可以把觸須的彎折向前方一點,即觸須盡量向前伸(對應前進的方向),而不是往后彎。
效果展示——
-
傳感器
+關注
關注
2561文章
52252瀏覽量
762077 -
機器人
+關注
關注
212文章
29300瀏覽量
210995 -
避障小車
+關注
關注
1文章
24瀏覽量
19177
發布評論請先 登錄
評論