第一部分 编程基础 | 第3章:了解电机模块
在本章中,我们将扩展第2章的程序,以是机器人马里奥实现前进、后退、转向等功能。本章中你将对集线器电机有一个充分的了解。
再开始写程序前,将你希望机器人完成的功能写下来是非常有帮助的,这也是专业程序员的工作方式。
利用伪代码来策划你的程序
你可以利用伪代码来编写程序的草稿。伪代码是一个人们可以读懂的关于程序的细节描述,每个动作写一行以便看起来井然有序。利用伪代码能够将复杂的程序分解为一个个简单的步骤,在开始写程序之前来策划你的程序。下面是一段伪代码的示例,代码功能是实现马里奥前进、转圈,并回到最开始的起点。
- 向前缓慢移动1秒钟
- 原地旋转1秒钟
- 向前缓慢移动1秒钟
如果你了解乐高BOOST语言,你也可以添加一些细节:
- 以20的速度沿方向0移动1秒钟
- 以20的速度沿方向100移动1秒钟
- 以20的速度沿方向0移动1秒钟
编写程序
具体程序如下:

程序写完后,尝试点击开始按钮运行程序,马里奥将首先前进1秒钟,随后转动半圈,然后再前进1秒钟回到原点。
差速驱动机器人
乐高BOOST拼建的机器人,通常用集线器上的两个电机分别驱动两侧的轮子。这种机器人的转向方法跟推土机或坦克类似,还可以原地旋转。这种机器人我们称之为差速驱动机器人,因为他们的移动方向是根据两个轮子的速度差别来控制的。
定时限基底移动转向模块VS定时限驱动基地坦克移动模块(APP中的模块中文名称)
定时限基底移动转向模块(下图左侧)更为易懂,因为你可以通过设定方向参数直接控制机器人的移动方向,机器人会自动计算所需要的两个轮子的速度。然而有时你也希望分别对两个轮子的速度值进行控制,那么你就需要用到定时限驱动基地坦克移动模块(下图右侧)。


通过上图可以查看两种模块完成相同动作的参数设定区别。红色箭头代表每个轮子的转动方向,黑色箭头代表机器人的最终移动方向。红色圆圈代表机器人的转动中心。
定时限基底移动转向模块 | 定时限驱动基地坦克移动模块 | |
A 直行 | 方向为0% | 速度A与速度B相同 |
B 轻度转向 | 方向为25% | 速度A是速度B的2倍 |
C 重度转向(一侧轮子静止) | 方向为50% | 速度A不为0,速度B为0 |
D 原地旋转(两个轮子转动方向相反) | 方向为100% | 速度A和速度B大小相同,方向相反 |

上图展示了不同方向设定值的运行效果。当方向设定值为正数时,向右移动,当方向设定值为负数时,向左移动。可以简记为:左负右正。
几个新的模块
前面讲到的定时限基底移动转向模块和定时限驱动基地坦克移动模块,可以非常便捷的对机器人的运动进行控制。这两个模块可以理解为一组模块的集合,如下图所示。

在上图中出现了几个新的模块,分别是驱动基地坦克移动(无时限)、驱动基地移动转向(无时限)、时间等待模块、驱动基底停止模块。其中 驱动基地坦克移动(无时限)、驱动基地移动转向(无时限) 可以让你的机器人无限制的运行,除非你按下APP屏幕上的红色停止按钮,或者断开蓝牙连接或拆下集线器内的电池。
时间等待模块可以让程序暂停指定的时间,单位为秒。参数设定范围从0.01至9999.99。