怎样才能学会机器人编程(机器人编程机器人编程)
怎样才能学会机器人编程(机器人编程机器人编程)总之呢,咱专业对口,经验富足。上到机器学习人工智能,下到指导娃搭出第一个能跑能跳的小机器人,也都能聊上个几箩筐。噢,对了,必须还得提一下逃爸,虽说和我是大学同学,专业、工作轨迹基本一致。但人家胜在后天努力。曾因为他的宝贝儿子喜欢机器人,把自己也鸡成了乐高FIRST Lego League的注册教练,带着逃逃和小伙伴们组了个机器人团队,隔三差五就聚众捣鼓。不过呢,考虑到最近咱们公号来了不少新面孔,还是先简单自我介绍一下:我,逃妈,985计算机专业本硕连读,500强科技公司里写过代码,带过团队。家有男孩一枚,小名逃逃,从小在我们的“循循善诱”下,爱玩机器人,也爱玩编程,正在这条道路上升级打怪,不亦乐乎。
原创 逃妈 东西儿童教育 2022-08-04 发表于美国
收录于合集#逻辑思维11个
昨天给大家推荐了适合孩子入门的机器人课程时,有妈妈留言问到:
我第一时间接了招,心里还多高兴的。作为教育公号里的「计算机担当」,这话题也太好掰了。感觉既不用打草稿,也不用找素材,因为草稿就在脑子里,素材也全都在家里
不过呢,考虑到最近咱们公号来了不少新面孔,还是先简单自我介绍一下:
我,逃妈,985计算机专业本硕连读,500强科技公司里写过代码,带过团队。
家有男孩一枚,小名逃逃,从小在我们的“循循善诱”下,爱玩机器人,也爱玩编程,正在这条道路上升级打怪,不亦乐乎。
噢,对了,必须还得提一下逃爸,虽说和我是大学同学,专业、工作轨迹基本一致。但人家胜在后天努力。曾因为他的宝贝儿子喜欢机器人,把自己也鸡成了乐高FIRST Lego League的注册教练,带着逃逃和小伙伴们组了个机器人团队,隔三差五就聚众捣鼓。
总之呢,咱专业对口,经验富足。上到机器学习人工智能,下到指导娃搭出第一个能跑能跳的小机器人,也都能聊上个几箩筐。
所以,大家且搬好小板凳,听我慢慢讲。文章稍稍有点长,但读到最后,你肯定对“娃要不要学,该学哪样,都有什么帮助”心里大致有数,也知道该怎么帮娃规划了。
从原理本质看:
机器人、编程、机器人编程,
它们有什么区别?
1
首先,这个问题提得不太准确,应该把“机器人编程”划掉。
为啥呢?
因为「机器人」,本身就包括了「机器人搭建」和「编程」两部分。
而「编程」,就只是「编程」。
“机器人编程”这个词虽然听起来高大上,但有歧义,究竟是指机器人,还是特指机器人中的编程那部分呢?很让人混淆,所以先把它划掉。
那咱们的主要任务就是,区分「编程」和「机器人」。
>>>「编程」,用一句话来解释,就是和电脑对话。
这里的“电脑”,可能是计算机,可能是手机,可能是智能家电,还可能是搭建好的机器人等等。
可电脑听不懂我们说的话啊,于是有了各种编程语言,C、C 、C#、Java、JavaScript、Python,还有低龄孩子常用的Scratch等图形化语言……这些就是电脑能听懂的语言。
学习编程,就是学会一门编程语言,用这门语言来告诉电脑我想让它做的事。
>>> 那什么是「机器人」呢?
首先你得搭建出一个“小电脑”,这个“小电脑”装有控制处理器、各种感应器,除此之外,它还是个机械装置,能活动。
然后你得通过编程,去跟这个“小电脑”对话,去控制它的活动,比如往前走,拐弯,遇到障碍物绕过去,遇到楼梯爬上去,等等。
这个“小电脑”,就叫机器人。机器人只是个简单称呼,其实它就是个机器装置,不一定是“人形”。
大家平时听到比较多的,比如乐高机器人、VEX机器人等等,它们都是机器人,只是从属于不同的品牌,性价比不同,但功能上大同小异。
我们昨天给大家推荐的,适合孩子入门的机器人课程,前面的低级别主要学习机械搭建,到后面的高阶级别,和编程结合起来后,也是机器人。
所以,机器人学习,是包括两部分,把机器人搭出来 用编程去控制它。
从升学角度看:
它们分别对孩子有什么帮助?
2
无论孩子学编程还是机器人,都有对应的认证、竞赛,用来衡量掌握的程度和水平等级。
编程的终点是信奥赛IOI。信奥赛是和数学、物理、化学、生物并列的五大学科竞赛之一,属于历史悠久的传统竞赛项目。
机器人是随着科技发展,近几年火起来的,竞赛更加多样化。每个地区,学区组织的参赛项目可能不一样,孩子可以选择不同的赛道(但用到的知识都是一样的,就是上面所说的“把机器人搭出来 用编程去控制它”这两部分)。
这些认证、竞赛对孩子升学有没用呢?哪个更有用?
据我观察,旗鼓相当。
比如咱们看2022年人大附中科技特长生的招生简章,报名条件里既有机器人竞赛,也有编程竞赛,它们是两类不同的项目。机器人竞赛有FTC/FRC、VEX;编程竞赛有CSP-J、CSP-S、NOIP。
▲ 2022人大附中科技特长生招生简章
能在这些竞赛中拿到好成绩,对升学肯定有助力作用。
美国这边的情况也很类似,看每年Top50名校的录取名单,尤其理工科牛校,都非常青睐这两项竞赛。如果能拿到信奥赛IOI或国际机器人大赛的奖项,连麻省理工、斯坦福这些牛校,都可能主动投来橄榄枝。
从学习难度看:
它们有什么不同?
3
我猜不少看到这里的同学,会很自然地认为,机器人比编程更难,因为它的范围更广,要干的活儿更多,既有机器人搭建的部分,也有编程的部分。
其实不然,它们的难度没法直接比较,因为是难在不同的地方。
>>>「机器人」学习,难点在机械搭建。
这点我体会很深,逃逃学机器人时,大部分时间就是花在机械搭建上。
它和孩子小时候搭的乐高套装积木完全是两码事。
机器人搭建里涉及到很多机械部件,比如梁、栓、齿轮、马达等等,这些部件该应用在什么场景?怎么协同运作?中间用到什么原理?孩子都需要摸清楚、搞明白。
▲ 图片来自小河狸科创课
我从逃逃的机器人箱里翻出几个常用的连接件,给大家举个最简单的例子。
你看,这些连接器长度一样模样类似,为什么需要有那么多种?
原因是,每一种都对应了不同的功能,分别适用于不同的场景。
比如,
• 左边第一个,裸粉色的,两端都很平滑,完全没有摩擦,连接后可以灵活转动,假如要连接一些随时需要活动的部件,比如风车、风扇叶子等就得用上它;
• 左边第二个,黑色的,两端都有一定的摩擦力,连接后还可以动,但是需要施加外力来驱动,做机器人的手臂关节就很合适;
• 右边第一个,红色的,两头都是直接卡死,连接后完全不能动,适合用来固定方向。
…….
熟悉所有器件的功能只是第一步,接下来还得学习它们背后的物理原理,比如杠杆、滑轮、力的方向、摩擦力等等。这样,孩子才能得心应手地搭出自己想要的功能和造型。
▲ 图片来自小河狸科创课
机器人搭建是一个既要动手也要动脑的过程,挺烧时间的,但孩子收获也非常大。除了机械、物理这些实打实的工程硬知识,还能潜移默化地提高空间思维、创造力和审美等等。
而机器人中的编程部分,一般是控制机器人的运动方向、距离、转向、角度、速度等,相对简单,几乎用不到复杂算法。
如果说有难度,在写好程序之后,和机器人联合起来调试的阶段,会比较费时费力,可能会遇到连接通讯的问题,还会有一些预想不到的bug,孩子需要耐心去测试、解决。
>>>「编程」学习,难点在数理逻辑思维。
如果说机器人学习要动手动脑;那编程学习,就是一个纯烧脑的过程。
它和数学更接近,难点在算法,在数理逻辑思维。
三言两语不好讲清楚,我给大家看一道信奥赛最低级别的题目(2021年CSP-J的一道编程题),就大概能感受到了。
题目比较长,你如果懒得看,我直接告诉你,实质是一道“找最大余数”的数学题。
编程的过程,就是孩子理解题目,把它转化成数学模型,再用编程语言去实现出来的过程。
编程越学到后面,和数学的结合程度越大。你会发现,有些原来搞奥数的孩子,双减后一个华丽转身,马上在“信奥赛”里如鱼得水。
因为奥数里经典的4大块内容:代数、几何、概率、数论,都在编程里有所体现,尤其后两块,用得特别多。
所以说,编程学习, 难点在于数理逻辑思维,学霸属性比较突出。
从适用范围看:
"机器人"和"编程"分别适合
什么样的孩子?
4
聊到这,你应该也看出来了,「机器人」和「编程」这两样东东,对孩子的能力要求,以及培养方向是不一样的。
「机器人」侧重于手脑结合,培养机械、物理、工程、创意、审美等,当然,逻辑思维肯定也是有的。
「编程」着重烧脑,深挖数理逻辑思维。
前者有广度,后者有深度。
我们常说要培养T型人才,那机器人就像上面那一横,编程是下面那一竖。
你可能会说,看起来都很重要,广度、深度孩子都需要啊。
是的,尤其在年龄比较小的时候,至少小学4、5年级以前吧,我建议孩子都尝试一下。
一来,在起步阶段,无论「机器人」还是「编程」都不难。
「机器人」特别顺应孩子的天性,搭积木,捣鼓一些能动能跑的机械装置,相信绝大多孩子都不会拒绝。
「编程」入门难度也很低,很多流行的图形化语言,既有游戏化的趣味,又培养孩子的数理逻辑思维,何乐而不为?
二来呢,只有尝试过,你才能准确观察到孩子的兴趣和特点。
小学高年级,最晚初中以后,就得选定一个方向了,因为孩子也没那么多课余时间了,想稍微做出点成绩的话,肯定得聚焦。
根据我对逃逃以及他身边朋友的观察,大致可以这么选:
- 对任何能动的东东比较感兴趣,比如各种电动玩具、变形金刚,动不动就把家里的东西给拆了装,装了拆,喜欢去游乐场,也喜欢观察那些游园项目是怎么动,怎么工作的…这类孩子,多半更喜欢也更擅长「机器人」。
- 偏爱动脑,比如下棋、桌游那种几乎不需要太多上手,只要坐在哪儿使劲儿想,就能把对手干翻,从而获得极大成就感的……这类孩子,多半更喜欢也更擅长「编程」。
当然,肯定也有两方面特点都很明显的牛娃,那凭感觉选就好。
噢对了,差点儿忘了,机器人和编程还有个很大差别。
在前期基础知识积累阶段,它们都是单人项目,自己跟着课程,跟着老师好好学,好好练就OK。
但是,到了后面,要参加一些正式的竞赛时,「机器人」往往是团体项目,孩子之间需要分工,协调,有些负责搭建,有些负责编码,有些负责制作海报、准备演讲等等……
好处是培养孩子的领导力、团队合作能力等等;坏处也有,如果遇到不靠谱的猪队友,也是挺郁闷的。
「编程」呢,则依然是个单打独斗的个人项目。因为它就是比拼思维深度,搞到后面挺难的,需要安静地深度思考,1 1并不能保证>=2,多个人反而还添乱。
总之,还是根据孩子的个性和当下的环境来选择。
不过这都是搞到高级阶段的后话了,一开始不需要担心,只要娃基础打好足够优秀,自然有优秀的团队来找你
EASTWEST
今天就先和大家聊到这里,如果你是刚开始接触这些概念,估计也得消化消化了。