米兔积木机器人编程指南

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

米兔积木机器人非官方编程手册基础篇第一章简单造型的搭建小米推出的米兔积木机器人是一款可以自由DIY的积木机器人,它通过让玩家自主的进行造型设计、结构设计,电子模块搭建以及程序设计等几个步骤让玩家搭建起自己的机器人。按照小米一贯的产品思路,这款米兔积木机器人可以称为年轻人的第一台自己建造的机器人。小米官方给出的文档是叫做平衡战士的978个积木零件,第一次接触这个领域的人有可能会拼装四到五个小时,而大部分玩家在拼好机器人后除了遥控玩几次就当成了摆件,并没有去接触模块化的编程。有人说仅仅享受了不到50%的乐趣,而真正机器人的乐趣在编程的阶段。为了引导广大玩家能编程控制自己的机器人,我们推出了这个文档。力求使用很少的积木零件让大家能快速上手,掌握机器人的编程。1.1搭建最简单的平衡机器人我们在这个范例里面,使用了第一版米兔积木机器人套内的很少的37个零件,搭建了最简单的平衡机器人,普通人大概会使用十到十五分钟。然后在这个基础上我们实现编程的入门学习。首先,找到如图所示的几个零件。一个电机,一个轮子(轮皮和轮毂需要手工安装在一起)。一根七个单位的十字轴,四个黑销,两个红色的套管。仅仅使用十字轴驱动车轮虽然也可以,但是从机械强度的角度来说在十字轴两边使用黑销固定可以更好的传动电机的扭矩,让结构更稳定。5首先把十字轴插入到电机的孔中,将两个黑销分别安装在红色套管的两端。然后把红色的套管插入到十字轴的两侧。在安装轮子的时候要注意只有一个方向是正确方向可以安装的。同样的方法安装另外一侧的车轮。6找出来灰色面板和六个黑销,如图,将黑销插入到灰色面版周边。如图所示,把灰色面板和两个电机组装到一起。7下一步,准备一下主控,招数来如图所示的积木,注意其中红色的是11孔梁,灰色的是2+4的7字型的积木。8就这样,把主控两侧都安装好7字型的积木以后,把主控装到灰色的面板上,装的时候注意主控的前后位置,让主控和电机整体保证重心在轮子的轴线上。拿主控底部的红色梁做位置判断,主控的开关面向自己,往前数是第七个孔位上。(注意这部很重要,能不能平衡就在这个位置了。)拿出两个蓝色长销,和两个黑色的(小锤子)横向带孔的销。组装成如上右图所示。这个是用来固定结构的。9好了,这样就加固了,相反的一侧同样加工。这个加固的手法比较有难度,下面的大图可以看到详细的特写。10同样的,拿出来两个黑色的带横孔的销,和一根15孔梁。把小锤子插入到上一步留下的蓝销头上,两侧都插入一个小锤子,然后把灰色的梁固定在上面。11挂载点的安装,战斗机都有外置的武器挂载点,咱们机器人也需要挂载点搭载各种外设,下一步搭建机器人的挂载架。拿出四个蓝色长销,和一个灰色面板,将蓝色长销两个正向插入灰色面板,两个反向插入蓝色面板,如图所示。最后将两个蓝色长销插在灰色长梁上面。完成。12把机器人竖直放到水平平台上,开机,机器人就可以自己平衡的站起来。大家一定要注意这个顺序,有的同学在搭建中已经开机并且没有注意主控的姿态,这样会导致平衡算法重新纠正,纠正错了就会出现平衡不稳的问题。一定要竖直摆放然后再开机,这样才能让平衡算法初始化正确。1314第一章HelloWorld——让机器人动起来所有编程的第一步都是helloworld,咱们姑且也用这个标题作为变成入门的第一课。在上次课程中,我们已经完成了平衡机器人的搭建,并且也让他站立了起来。在这次课程中,我们让机器人做出来简单的动作。首先要安装“积木机器人”APP,可以在各大移动应用商店下载,也可以扫描说明书上的二维码下载安装,目前APP有android和ios版本。打开“积木机器人”app,可以看到界面上显示未连接字样。打开主控电源,点击上图黄色圆圈中的蓝牙标记,可进入蓝牙连接状态。15当手机app搜索到主控器后将显示主控器的名字,第一次登录显示的名称是随机的,系统会在诸如:“米小兔”、“萌萌兔”、“爱丽丝”、“Angela兔兔”、“尼卡”、“米翠花”、“琪琪”、“辛巴”、“小帅虎”、“大黄兔”、“霸天兔”之类的名称中随机,这是防止当短距离内有多个主控时候解决用户选择困惑所用。点击显示出来的名称即可进行蓝牙连接了。如果出现蓝牙连接故障,请将主控关机再开机,app也可以重新启动一下,即可重新连接。如果多次操作蓝牙连接问题,有可能是当地2.4G无线电频段太过拥堵,您可以换个地方比如换个房间或者移动10-20米离开拥堵的空间即可。连接完成后可以在页面顶端看到“已连接”字样,并且有主控电池电量的显示。然后点击“编程模式”,进入到我们今天的正题。16点击开始按钮,进入编程页面。所有的程序都是从开始出发,所以编程页面上开始的入口是默认存在的,开始模块是不可删除的。打开左侧的编程模块,点击动作控制,将动作控制展开,将里面的移动模块拖动到开始的后面,在临近开始模块后图块会像磁铁一样吸合到正确的位置,并且模块是彩色的,如果发现模块是灰色,那代表吸和不成功,程序也不会正确运行。17如上图所示,点击速度后面的输入框,会弹出一个速度表盘,手指在速度表盘外圈滑动就可以选择希望的速度正向13。第一次操作这个控件的用户请注意这个操作是全屏幕有效的,手指不用限制在表盘内部,手指距离表盘越远数据更精确。点击时间后面的输入框,会弹出弧形的数字键盘,选择1秒。18如此一个运动模块的配置完成了,机器人会按照13的速度向前走1秒,然后结束。点击右上角的三角按钮,下载程序并执行。就可以看到平衡机器人的运行结果。你的第一个机器人通过亲手编程让他运动起来了。就如此简单,这个简单的动作用到了大量的物联网科技,但是咱们没有使用一句程序代码,这就是零代码编程的妙处。右上角的运行按钮有两个功能。对于新编辑的程序需要下载到机器人主控并且让主控执行,对于没有变化的程序用于控制机器人执行还是停止。什么是下载?这里的下载是电子物联网领域的专用术语,和互联网上通用的下载意义不一样。本文提到的下载是将编好的程序传输到机器人控制器里面,让机器人记住编好的程序,也有人叫做烧录。可编程是未来电子产品的必备功能从上世纪70年代以后电器广泛在人类生活中大量使用以来,从控制逻辑上来说经历了这样几个变革,(1)机械逻辑控制类,比如早年流行的双卡录音机,他所有的逻辑都是通过机械结构来完成的,电子部分就仅仅负责执行(2)数字电路逻辑类,现在市场上大量的家电大部分都是数字逻辑类的控制,可以通过薄膜按键选择强度,时间,定时等功能(3)微电脑控制类,目前售价比较高的传统家电都是使用这类的控制,电器中有微控制器使用预置好的程序来完成自动工作,比如洗衣机可以自动称重并且自动控制水量全自动完成不同类型衣物的洗涤(4)移动终端互联类,近几年的全新电器或者现在叫做智能硬件,都具备和手机互联的功能,通过手机可以完成很多类似自由编程的工作(5)可编程类,可编程类的家电产品目前还很少,整套的智能家居类的产品可以实现简单自定义编程的功能,而开放度比较高的编程电器目前还仅仅在工业机器人上广泛应用,民用领域也仅仅在玩具类机器人上有初步的应用。19顺序执行第二条指令对于编程来说,简单描述就是把一个复杂的事务的处理流程简单清晰华,用分步骤执行的方式重新规划,并且把每个步骤翻译给机器人执行的过程。比如喝茶,你知道第一步要做开水,第二步要在杯子中放好茶叶,然后再倒入开水,然后放置到温凉,然后才能喝。当把一件事情梳理成清晰的顺序结构后就可以说你的编程已经入门了。接着上文的编程继续。如上图所示,拖动一个音乐模块,并且吸合到移动模块的后面,音乐的参数先不做任何修改。点击右上角的三角形,下载并运行。机器人会向前执行1秒,然后再播放音乐机枪的声音。保存并且退出点击屏幕左上角的小于号,就可以退出,在退出时候会提问是否保存,确认后,输入程序的名字。如下图所示。第二章简单程序结构2021走四方为了让机器人走一个正方形,需要把一个正方形拆解成若干的简单步骤,(1)走一条直线,(2)转90度,(3)再走一条直线,(4)再转90度……如此下去走四遍就可以走出一个正方形的轨迹。如图所示,每个直行的指令和转弯的指令都相同,按照顺序执行就可以让机器人走出一个正方形。在实际操作中因为行走的阻力不同,机器人走出来的正方形大小也不一样,而且因为旋转阻力同样存在,只有在光滑的桌面上行走才能走出来近似90度的角度。因为机器人工作中是没有反馈的盲目的运动,到底走了多远或者转了多大的角度需要有个反馈的机制来告诉机器人,后面更深入的课程我们再来谈正反馈的问题。顺序编程结构今天的程序让机器人一条一条的去按照顺序工作,是程序的最简单模型,我们叫做顺序结构。22并行程序结构前面的章节里面我们讨论的顺序结构,而实际生活中很多事情都是并行的,比如你在听歌的时候同时在看书,更甚至在同时煮一杯咖啡。在实际编程过程我们也应该能模仿这类的并行操作。每条指令的执行都是需要时间的,我们希望等待上一条指令结束再开始下一条那就是顺序执行结构,如果在上一条指令发起就开始下一条指令的执行而不去关心上一条指令是否完成,这就可以看成并行指令了。重新打开我们上回保存的“移动开枪”的程序23在编程模式下,选择存档按钮,在列表中选择移动开枪的程序。前面我们已经试验过,这个程序是先移动然后才播放机枪的声音的。如上图所示,把移动模块最后的链条选择为好的。这个标记代表本条语句和下一条语句是绑定在一起的,需要同时执行。再次下载测试一下结果,点击右上角的小三角。你会看到机枪的声音和移动同时发生了。24分支结构——原始的人工智能机器人之所以可以叫做机器人而不是机器,其关键因素在于有智能逻辑可以根据环境来自主的判断决策。现代人工智能已经有了超强的判断能力甚至可以用围棋赢了人类,但是其基础还是基于最简单的判断的。如果水热了就开启风机降温,如果水凉了就使用加热器,简单的一个指令就实现了机器人控制水温保持在40度一天就能做出酸奶,这就是逻辑的魅力。打开条件判断模块工具栏,选择如果……那么……否则的指令。条件判断语句是一个E型的色块,其中的两个缺口对应着两个不同的程序分支,每个缺口都可以添加不同条数的语句来应对更复杂的工作。25如图所示,在E字型的两个缺口中填入前进的移动模块和后退移动模块。现在如果的条件判断区域为真,则执行第一个缺口内的程序,现在程序为前进直行2秒。点击“如果”后面的六边形的区域,把真变为假,则会执行第二个缺口中的程序。这时,机器人会向后倒退2秒钟。到此我们简单的测试了机器人的判断逻辑。26通过变量判断程序分支前面一个章节我们测试了分支结构的程序,但是仅仅真假的判断是没法控制程序分支的走向的,需要如果可以有参数进行判断,所以本章节引入了变量的概念,通过变量来判断条件是否达成,这样就可以很方便的引导程序的走向了。变量所谓变量是计算机程序术语,她代表电脑中的一个存储空间,并且给该存储空间命名,程序在调用名称的时候实际时候在使用存储空间中保存的内容。换一种语言来说,给你三个盒子,分别标记为蓝色红色和绿色,其中蓝色的盒子中放置的数字100,红色盒子中放置的是数字30,而绿色的盒子中放置的是一段文字“你好”。这样,当计算机程序调用蓝色的时候实际时候读取并且使用了100,当计算机调用绿色的时候实际是读取并且调用了文字“你好”。赋值向变量空间中放入数据或者修改数据的动作叫做赋值。10030你好红色蓝色绿色变量红色=100变量蓝色=30变量绿色=“你好”27展开运算命令工具栏组,从里面找到变量A=10的模块,把它拖动到开始下面吸合。这样就在机器人里面开启了一块存储空间,并且命名为A,同时把数值10送入到A的存储空间中。28把变量A中放置的数字改为5展开条件判断找到“如果-那么-否则”分支结构。然后将条件模块“变量A=10”拖动到“真”上,覆盖掉“真”,然后编辑上面的“=”号,改成“”号。如上图所示,再选择两个不同的执行模块放到分支结构的E形缺口中。大家猜一下实际程序会做那种操作呢。咱们简单分析一下,首先定义了一个变量A,并且把数值10放入到A变量中。简称给A赋值。分支结构“如果”判断的是变量A大于10这个判断是否成立,如果成立为真,如果不成立为假。但实际上A中数值为5,

1 / 110
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功