ROS系統玩轉自主移動機器人(1)--概述


一、是什么開源項目

  從本博文開始將開源一個基於ROS系統的自主移動機器人項目,該項目基於一個差動輪機器人平台展開,機器人的設計效果圖和實物圖如下圖1所示。

    

圖1 設計圖和實物圖

   所有涉及該機器人的設計文件和組成構件將全部通過BSD協議開源,具體開源的內容為

  1.  機械結構設計文件。為了盡可能的降低成本,本機器人平台盡量采用能買到的現成零部件,配合極少的非標設計零件,在設計非標件的時候也盡量考慮加工工藝,降低加工成本,所有的機械相關東西將全部開源,並將在后面的博文中做詳細介紹。

  2.  嵌入式硬件。該機器人的嵌入式部分多采用比較流行的MCU和開發板組成,將全部開源並在后續博文中詳細介紹。

  3.  嵌入式軟件部分。這部分可以視為底層驅動和硬件抽象層的結合,用於實時控制機器人執行最終的預定任務,如直流電機的PID控制、底層通信、信號采集等,這些程序將全部開源並分章節進行詳細介紹。

  4. ROS機器人操作系統部分。我將基於ROS對機器人進行多個方面的開發,如SLAM、機器視覺、語音交互等,這些程序也將全部開源並分博文進行詳述。

tips: 設計文件的開源大部分將通過GitHub托管。

二、該開源項目適合誰?

  本開源項目基本上是一個完整的輪式機器人開發過程,涉及結構設計、嵌入式軟硬件和機器人操作系統以及簡單的人工智能應用等,雖然整體簡單,卻也“麻雀雖小,五臟俱全”。市面上的各種類似平台也很多,動則幾K甚至十幾K的價格,本項目的初衷是在盡量少花錢的基礎上了解和學習一個機器人從無到有的設計過程,因此適合以下人士分享:

  1. 對機器人領域感興趣的初學者。雖然說設計圈流行不要“重復造輪子”的說法,但是初學者還是需要從底層到上層了解機器人的全部設計過程,然后找到自己感興趣或者擅長的某個方向深挖下去,成為專家(不是磚家哈)。

  2. 想成為機器人或智能硬件產品經理的人。一個絲毫不懂技術的產品經理有可能會被開發人員打的(參考某安科技打人事件),因此有必要對機器人設計的全部過程都做了解,甚至自己動手實現一些功能,才能更深刻的定義一個好的產品。

  3. 在機器人某一技術領域深耕,又對其他領域感興趣的研發人員。雖說術業有專攻,開發人員需要有一技之長,但是對於和自己擅長的技術領域相關聯的其他領域有所了解,看看這些領域解決問題的思想,也不失為一種開闊視野和思路的方法。

  4. 閑得無聊想提高自己動手能力和學習能力的業余愛好者。(原因就不說了)

tips:如果你是機器人大牛,請呵呵一笑走開,不帶走一片雲彩。。。

三、為什么開源?

   本人從事機器人領域工作很多年了,從上大學時期喜歡機器人領域以來,也看到這個領域的興衰,希望更多的人了解和加入這個行業,不是靠資本的吹捧和炒作概念,而是讓更多的人走進這個領域通過技術的提升讓機器人真的走進千家萬戶,走上街頭巷尾,為生活提供便利和保駕護航(哎呀,牛逼吹大了,有點收不住了),反正提倡分享精神吧,也算是打發業余時間的一種消遣。

  總之,從本篇博文之后,將分多篇文章講解整個項目的設計過程,權當拋磚引玉,有誤之處還希望有心人留個言提醒一下,在此謝過了。

 四、機器人通常由哪幾部分組成?

   常見的機器人主要有三個部分組成:機械結構嵌入式(硬件+軟件)上層系統,如圖2所示。

  機械結構是機器人的機械本體部分,它是最后執行特定任務的載體,例如傳動系統、執行機構等都屬於機械結構,上乘的機械設計能讓機器人降低硬件和軟件開銷的前提下獲得更好的功能實現,例如,高明的機器人機械結構設計在不需要復雜算法的支持下就可以獲得非常好的越障能力,優秀的結構設計可以讓機器人不需要強大算法的前提下就獲得很高的自平衡能力等等。

  嵌入式部分(硬件+軟件)可視為機器人底層驅動部分,例如電機驅動板+PID電機控制算法就可以直接驅動電機實現預定動作,再比如溫度傳感器+溫度AD讀取就可以實現環境溫度的讀取和顯示。一般嵌入式硬件一般由核心MCU(如51單片機、ARM、STM32)以及相關外設(供電、I/O、AD/DA、RS232等)組成,成本較低且實時性較高,用於完成特定的如驅動、檢測、通信等功能。很多簡單的裝置只需要機械結構+嵌入式兩個部分而不需要上層系統就可以完成想要的功能了。

  上層系統是指完成更高階功能部分,它一般有上層硬件以及操作系統組成,上層硬件常見得的有x86架構也有ARM架構的,操作系統常見的有Windows系統、Linux系統等。上層系統一本具有較強的計算能力,例如機器視覺應用中上層系統除了CPU以外還可以包含GPU用於算法加速,總之它的作用是完成一些需要大量計算和復雜算法的功能然后得到結果后發送給嵌入式部分用於驅動和執行。

圖2 機器人組成部分

 

 

<-- 本篇完 --> 

 

歡迎留言、私信、郵箱、微信等任何形式的技術交流。

作者信息:

名稱:Shawn

郵箱:zhanggx0102@163.com

微信二維碼:↓

          

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM