search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

如何實現服務機器人的運算與控制

OFweek電子工程網訊 20世紀以來隨著電子技術的不斷發展,以及人類對於自身的不斷了解,機器人的研究也在不斷的深入。現階段能做出外表接近人類的機器人,走路接近人類的機器人……但這些都屬於很前沿的領域,研究門檻高,實際的商業用途不是很廣,所以大多還停留在樣品階段,走進市場的很少。隨著互聯網和智能手機的大潮,嵌入式處理器正在完成以前台式處理器做不到的事情,於是乎機器人現階段又被重新定義。在現在的消費領域,某些配備智能處理器和具有互聯網功能的產品也被成為了機器人,下面列舉一些成熟產品的例子:

下圖是兩款國內廠家生產的機器人的產品,屬於生活工具的類別,一般放置在家中,無法自行移動,採用嵌入式處理器,帶有攝像頭、無線網路模塊、顯示模塊,可以連接手機,通過手機APP端對機器人進行相關設置,同時機器人攝像頭採集到的圖像也能實時傳給手機,也可以和手機進行語音對講。機器人也帶有語音識別模塊,如可以向它詢問「明天天氣如何」,他會從網路獲取天氣信息然後回答你。這些放置在家中的機器人也可以實現安全監測的功能,通過手機實時查看家中的監控影像是一點,也可以適配各種感測器,比如貼在門窗後面的加速度感測器,當門窗被動作時感測器給機器人發出信號,機器人隨即通過設定的方式進行報警。

下圖是兩款國外生產的機器人,最主要的特點是可以運動,屬於智能玩具的範疇。它們都是可以連接智能手機,通過手機對機器人進行設置,然後把手機當做機器人的操作桿,操作機器人做出各種運動,達到娛樂的目的,機器上裝有攝像頭,也可以在手機上同步看到機器人攝像頭拍攝到的視頻畫面。在玩法也有一些創新,如左邊的機器人在星戰電影里有原形,用手機的攝像頭對準該機器人,通過手機端的AR技術,在手機屏幕里可以給機器人加上各種效果,增加娛樂性。

還有一些具有特殊用途的機器人,比如掃地機器人,根據內部的路徑演算法清潔地面,同時能自動避開障礙物,快沒電的時候能自動返回充電樁充電。

以後服務機器人的趨勢會是以上列舉的這些機器人的集大成者,即在軟體智能和機械運動上不斷發展。軟體智能方面通過高性能的嵌入式處理器實現視頻處理、網路連接和語音識別等技術。機械運動方面先搭配單片機和步進電機通過輪子的滾動實現移動,通過機械零件的增加和演算法的改進,逐漸實現動物甚至人體的肢體行走。下面的框圖列出了實現這樣的一個機器人需要採用的可能的技術:

高性能嵌入式處理器上運行著機器人的核心繫統。攝像頭採集視頻圖像,會對圖像中的事物進行一些簡單的判別,比如識別人臉,對靜態事物的圖像採集也能讓機器人辨別障礙物,或者計算出靜態事物的大致幾何圖形甚至尺寸,對動態事物的圖像採集,機器人可以計算出動態事物的運動軌跡甚至速度。4G和WIFI&BT模塊屬於無線通信模塊,有了無線通信機器人才能得到自身之外的更多信號,也可將自身的信息傳達給別人。語音識別模塊能讓機器人識別聲音,顯示&觸摸屏只是機器人與外界交互的一種方式,GPS模塊能讓機器人知道自己的位置信息,存儲模塊除了存儲機器人的系統和各類軟體外,也讓機器人有了記憶功能,前面講的攝像頭採集視頻圖像並計算,計算的結果可以存儲在存儲模塊中,當遇到類似的計算的時候就可以判別事物,同時通過網路模塊可以將這類信息傳遞出去分享給更多的機器人。單片機管理著機器人各類基礎的模塊,步進電機控制機器人的運動,各類感測器讓機器人有了感知外界環境的能力。紅外模塊可以實現對一些外部電器的操控,電池和電池管理模塊給整個機器人的運轉提供能量。

硬體結構是實現服務機器人運算和控制的基礎,在高性能嵌入式處理器上運行的操作系統,進行著服務機器人具體的運算和控制,相當於機器人的靈魂,目前主流的三大機器人操作系統有Ubuntu,Android和ROS,Android軟體平台使用較廣泛,ROS為專用的機器人的軟體平台。要實現對服務機器人的運算和控制,軟體平台需要解決以下這些問題:

1, 分散式計算 現代機器人系統往往需要多個計算機同時運行多個進程,當多個機器人需要協同完成一個任務時,往往需要互相通信來支撐任務的完成;

用戶通常通過台式機、筆記本或者移動設備發送指令控制機器人,這種人機交互介面可以認為是機器人軟體的一部分。

2, 軟體復用 隨著機器人研究的快速推進,誕生了一批應對導航、路徑規劃、建圖等通用任務的演算法。當然,任何一個演算法實用的前提是其能夠應用於新的領域,且不必重複實現。

3, 快速測試 為機器人開發軟體比其他軟體開發更具挑戰性,主要是因為調試準備時間長,且調試過程複雜。況且,因為硬體維修、經費有限等因素,不一定隨時有機器人可供使用。

ROS作為機器人專用的軟體平台,可在ARM搭配Ubuntu的環境下運行,對服務機器人的運算和控制有著很多優化和實用性,ROS軟體平台有以下的優點:

(1)點對點設計

一個使用ROS的系統包括一系列進程,這些進程存在於多個不同的主機並且在運行過程中通過端對端的拓撲結構進行聯繫。雖然基於中心伺服器的那些軟體框架也可以實現多進程和多主機的優勢,但是在這些框架中,當各電腦通過不同的網路進行連接時,中心數據伺服器就會發生問題。

ROS的點對點設計以及服務和節點管理器等機制可以分散由計算機視覺和語音識別等功能帶來的實時計算壓力,能夠適應多機器人遇到的挑戰。

(2)多語言支持

在寫代碼的時候,許多編程者會比較偏向某一些編程語言。這些偏好是個人在每種語言的編程時間、調試效果、語法、執行效率以及各種技術和文化的原因導致的結果。為了解決這些問題,我們將ROS設計成了語言中立性的框架結構。ROS現在支持許多種不同的語言,例如C++、Python、Octave和LISP,也包含其他語言的多種介面實現。

(3)精簡與集成

大多數已經存在的機器人軟體工程都包含了可以在工程外重複使用的驅動和演算法,不幸的是,由於多方面的原因,大部分代碼的中間層都過於混亂,以至於很困難提取出它的功能,也很難把它們從原型中提取出來應用到其他方面。

為了應對這種趨勢,我們鼓勵將所有的驅動和演算法逐漸發展成為和ROS沒有依賴性單獨的庫。ROS建立的系統具有模塊化的特點,各模塊中的代碼可以單獨編譯,而且編譯使用的CMake工具使它很容易的就實現精簡的理念。ROS基本將複雜的代碼封裝在庫里,只是創建了一些小的應用程序為ROS顯示庫的功能,就允許了對簡單的代碼超越原型進行移植和重新使用。作為一種新加入的有優勢,單元測試當代碼在庫中分散后也變得非常的容易,一個單獨的測試程序可以測試庫中很多的特點。

(4)工具包豐富

為了管理複雜的ROS軟體框架,利用了大量的小工具去編譯和運行多種多樣的ROS組建,從而設計成了內核,而不是構建一個龐大的開發和運行環境。

(5)免費並且開源

ROS所有的源代碼都是公開發布的。我們相信這將必定促進ROS軟體各層次的調試,不斷的改正錯誤。雖然像Microsoft Robotics Studio和Webots這樣的非開源軟體也有很多值得讚美的屬性,但是我們認為一個開源的平台也是無可為替代的。當硬體和各層次的軟體同時設計和調試的時候這一點是尤其真實的。

現階段高性能嵌入式處理器在手機平板電腦上運用較多,但這類處理器由於向著手機的行業方向發展,介面方面比較傳統和固定,很難滿足機器人的設計需求。工業方向的高性能嵌入式處理器不算多,飛思卡爾的imx系列可以算一個不錯的平台,主要是介面豐富,可定製化的形態較多,滿足機器人多元化介面的需求。同時imx系列對Ubuntu,Android這兩大操作系統的支持良好,系統在該平台上運行穩定,通過Ubuntu可以支持ROS軟體平台,ROS軟體平台的優點能很好的解決掉上述機器人軟體開發的一些問題。辰漢電子作為專攻飛思卡爾imx平台設計研發的上市公司,在對平台定製方面有著多年的經驗和成功案例,在工業機器人市場有著穩定出貨的產品,公司也在服務機器人市場有著務實的準備。

【主編】想了解哪些軍事及學術知識?歡迎留言給我們

C2

如何加入學會

註冊學會會員:

個人會員:

(c2_china),回復「個人會員」獲取入會申請表,按要求填寫申請表即可,如有問題,可在公眾號內進行留言。通過學會審核後方可在線進行支付寶繳納會費。

單位會員:

(c2_china),回復「單位會員」獲取入會申請表,按要求填寫申請表即可,如有問題,可在公眾號內進行留言。通過學會審核後方可繳納會費。

學會近期活動

1. CICC企業會員交流會

會議時間:(具體時間詳見後續通知)

感謝關注



熱門推薦

本文由 yidianzixun 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦