電子白痴家長一枚,準備給孩子報機器人課,但是有人說沒必要,因為是用的拖拽模塊,和真正的編程完全不一樣,所以,學這個到底能不能對接研發高端機器人的工作,或者說兩者的關係實際上沒什麼聯繫?


本質是一樣的。

您的問題涉及了兩個層次,一是編程,二是機器人。

先說說這兩者之間的關係。編程是基礎的、通用的,也即編程不一定要玩機器人,也有純編程的,比如開發遊戲什麼的。而可編程機器人本身除了需要編程,往往還需要搭建(就是組裝)。當然,孩子越大,編程的比重就越大,搭建的比重就越小。

再來看看編程。這個涵蓋的範圍也很廣,確實有些簡單拖拽的也算編程,但是也有拖拽實現很複雜編程的,思路功能都和寫代碼的「真正的編程語言」差不多。

比如說有些簡單產品,只能拖拉幾個前進後退左轉右轉若干動作這樣的模塊,並且可以指揮機器人按這些「命令序列」來行動,但是沒有什麼循環啊、條件判斷啊、變數啊、子程序啊之類的複雜能力,那就太初級了,只適合很小很小的小孩玩,價值不大。

但是有些複雜一些的,比如目前最常見的Scratch語言,雖然也是拖拽實現,但是它確實是一個真正的完整的編程語言。Scratch編程的過程,從概念上基本和我們成年人軟體開發中的編程過程一致。Scratch的優點就是直觀、高容錯,適合小孩子;缺點是效率較低,無論是開發效率還是執行效率都比較低。它的定位很明確,就是給小孩入門用的。

目前市場上針對低齡兒童的少兒編程,基本都是Scratch。因為Scratch是開源的,所以各家機構都可以自己修改成自己的變種,所以也許在宣傳上會用其他名字,但本質還是Scratch。Scratch的本尊是 scratch.mit.edu

最後說說機器人,或者確切地說是可編程機器人。

機器人不一定都是人形;人形的也不一定都是機器人。後一點應該好理解,不能編程的就是玩偶,最多只是早教機,不管它是人形還是兔子形。至於前一點,可以理解成我們本質是在為機器人的「大腦」編程。剛開始我們只能看到一個小小的電路板,那就是機器人的大腦。要搭配連接上各種感測器(對應人類的眼、耳等感官)以及顯示、聲音、運動等輸出裝置(對應人類的說話、走路等行為),才算是一個機器人。當然它可能是人形,但更大可能會像一輛古怪的車,或者別的無法形容的古怪形狀。

如前文所說,Scratch就是一個真正的編程語言,所以只要開發好介面,完全可以用來給真正的可編程機器人編程。同樣,只要做好介面,用其他「真正的編程語言」也可以給機器人編程。

目前主流的少兒編程、少兒機器人,面向低齡的就是可編程機器人+類似Scratch這樣的編程語言。年齡大一些的,一般就會用其他語言。

此處應有分割線

回到你的問題。如果是Scratch或者類似的語言,雖然是拖拽,但它就是真正的編程語言。如果是學的用真正的可編程機器人的編程,理論上完全可以對接高端機器人的研發工作,大概比「牛頓三大+萬有引力」對接經典力學體系還簡單一些吧。

呃,這個比喻會不會帶來誤解?經典力學體系,中學物理就都搭建得差不多了,所以並不難。三大是基礎,基礎打好了,後面的一脈相承。但是也不簡單,如果沒有老師教,要自己從三大來推導一切,也挺燒腦的。上面提到的機器人大概就是這麼個情況,基礎很有用,但是只有基礎也不夠。

另外,我覺得沒必要糾結以後有沒有用,能不能對接未來的什麼工作。學琴棋書畫,除了極個別走上專業道路的孩子,有沒有用?有沒有必要?


這兩者的距離,差不多和從一加一到群論的距離一樣。和會寫字到寫出紅樓夢的距離一樣。

但是,如果不會寫字肯定是寫不出紅樓夢的對吧。當然了,小時候不會寫字,長大了再學也能寫出紅樓夢,只是會難一些。

所以,報了少兒編程,不能幫你觸及真正的機器人領域,但是,會讓你的起點比別人領先一步。對於普通人,萬米賽跑,領先個百十來米無所謂,但如果真的想拿冠軍,差一百米說不定就是永遠。


少兒機器人編程的目的

最主要的目的:是為了能夠有一個好玩的,可以觸摸的道具去學習編程。重點是編程而不是機器人,孩子學會的能力在其他編程領域也都適用,更能培養孩子的邏輯思維和動手能力。

它和高端工業機器人的區別

  • 模塊化和定製化

少兒機器人的部件都是模塊化的,便於多次開發,易於教學。因為同一個模塊會在不同的工程中用到,所以多做幾次就慢慢學會了。而工業機器人從電路板,機械部分,控制程序,流水線都是定製化的(不排除少數的模塊化產品)。

  • 性能差異

性能體現在動作精準度,生產成本,出錯和維修頻率,生產效率等多個方面。工業機器人的終極目的就是給企業掙錢,像是維修費,電費,生產效率這些都是錙銖必較的,浪費一分都不行。

  • 零件差異

上一條是這一條的原因。機器人也都是各種機械和電子零件組裝起來的。零件的高水平是機器人產品的高水平的基石。所謂巧婦難為無米之炊,就是這個道理。但是零件水品也不是能無限提高的,也不是每個產品都會採用當前能找到的最高性能的零件,因為還有零件價格的因素在裡面。設計工程師的工作目標之一就是尋找性能和價格之間的均衡。

  • 有無反饋控制(控制系統的複雜度)

非常基礎的編程教學機器人是不需要反饋控制的,因為對於動作精度基本沒有要求。左轉90度,有轉90度,讓老爺爺肉眼評判機器人做的是否成功:在這樣的場景下,機器人「閉著眼」就能做出來。但是在工業場景中,不僅要求動作的精準度,場景中也會有各種各樣的外界的和內部的誤差與干擾,機器人本身也具有者自由度非常多,結構非常靈活且複雜的機械結構。在這種情況下,機器人就只有「睜著眼」而且「聚精會神」,再「多加練習」才能達到任務要求。

解釋:這裡的「睜著眼」是指加入了反饋系統,「聚精會神」是指零件性能必須得上去,而「多加練習」則是指必須反覆嘗試並改進複雜的控制演算法,反覆調整參數~


先聲明:本人打過機器人比賽(FLL,綜合技能,VEX)和信息學奧賽

簡單的說,「少兒機器人」是「高端機器人」的超級簡化版本

從機器人結構上來說,「少兒機器人」的發揮空間不大,它的零件都是固定的

從編程上來說,「少兒機器人」通常只要執行簡單的動作,也沒有複雜的感測器和馬達,因此模塊化編程就夠用了

所以「少兒機器人」就一無是處了嗎?

當然不是!

首先,「少兒機器人」是給孩子玩的,又不是可以應用的機器人,它是簡單的。你不能還沒學會走就想飛吧?

其次,「少兒機器人」雖說連「高端機器人」的門都入不了,但是能激發孩子對機器人以及相關行業的興趣,提高動手能力、團隊協作能力,一定的結構設計能力和編程能力。

所以,可以說「少兒機器人」是「高端機器人」的鋪墊,雖說在技術方面幾乎沒入門,但是它對孩子有引導作用(並且機器人的獎項對升學也是有幫助的


機器人編程教育:

通過組裝、搭建、編寫程序運行機器人,激發學生學習興趣、培養學生綜合能力的一種教育方式。可以理解為機器人編程教育是通過一些教育類的機器人來實現教學目的。

少兒編程教育:

根據不同年齡的兒童,分階段、系統性地教授兒童編程語言,從最開始的邏輯思維和抽象思維的培養,再到教會孩子學會運用「編程思維」,最後利用演算法設計去解決實際問題的教育方式。

最後,從對孩子的思維能力和增加學業、就業競爭力而言,兒童編程教育更有優勢,範圍更廣。但如果孩子喜歡動手操作和物理更多一點,那機器人編程也是不錯的選擇。

少兒編程只是一個開始,時鍛煉孩子的思維能力和動手能力,還有對機械原理的喜愛,後期逐步才能往高端發展。


S.T.E.M(Science.Technique.Engineering.Math)是一切理工學科的基礎。如果沒有更好的方向,又不缺錢的話,學學也是不錯的吧。再說,高端的機器人,孩子們也不能一下子接受啊,思維方式最重要。


其實也有一定的編程啟蒙作用,就像是學習一加一對於以後學習奧數有沒有作用一樣,這麼一說你就懂了吧


推薦閱讀:
相关文章