发表日期: 2021-04-09 10:56:36 浏览次数:200
华容网站推广【华容办理400电话】华容SEO优化、华容微信公众号APP客户端小程序开发、华容网站托管、华容APP开发
华容,在我国,表示三个地区都有“华容”的简称。湖南省岳阳市华容县、湖北省鄂州市华容区、湖北省鄂州市华容区华容镇。
单击“断开连接”按钮:控制机器人的按钮会消失,“连接”按钮则重新出现。
下面是真正有趣的部分:添加前进、后退、左右转动及停止行为。不要忘记“停止”,否则你手中的机器人会失去控制!
NxtDrive组件提供了五个块,用来驱动机器人的电机:
MoveForwardIndefinitely块:驱动两个电机前进;
MoveBackwardIndefinitely块:驱动两个电机后退;
TurnCounterClockwiseIndefinitely块:驱动机器人左转:让右侧电机向前而左侧电机后退;
TurnClockwiseIndefinitely块:驱动机器人右转:让左侧电机向前而右侧电机后退;
Stop将停止电机。
每个移动及转向块都有一个Power参数,需要与数字块配合使用,来设定机器人电机的输出功率,取值范围可以从 0到100。但如果设置的功率太小,电机会发出吱吱声而不运转。在本例中建议使用90(百分比)。表12-6中列出了所需的块。
表12-6 用于控制机器人的块
块的类型 | 所在抽屉 | 作用 |
|---|---|---|
ForwardButton.Click | ForwardButton | 点击ForwardButton时触发 |
NxtDrive1.MoveForwardIndefinitely | NxtDrive1 | 驱动机器人前进 |
数字90 | Math | 功率值 |
BackwardButton.Click | BackwardButton | 点击BackwardButton时触发 |
NxtDrive1.MoveBackwardIndefinitely | NxtDrive1 | 驱动机器人后退 |
数字90 | Math | 功率值 |
LeftButton.Click | LeftButton | 点击LeftButton时触发 |
NxtDrive1.TurnCounterClockwiseIndefinitely | NxtDrive1 | 驱动机器人逆时针转动 |
数字90 | Math | 功率值 |
RightButton.Click | RightButton | 点击RightButton时触发 |
NxtDrive1.TurnClockwiseIndefinitely | NxtDrive1 | 驱动机器人顺时针转动 |
数字90 | Math | 功率值 |
StopButton.Click | StopButton | 点击StopButton时触发 |
NxtDrive1.Stop | NxtDrive1 | 让机器人停止 |
如图12-6所示,点击ForwardButton按钮时触发ForwardButton.Clicked事件,此时调用NxtDrive1.MoveForwardIndefinitely块,让机器人以90%的功率前进,其余按钮的事件处理程序与此类似,并以相同的功率驱动机器人后退及左右转动。点击StopButton时触发StopButton.Clicked事件,调用NxtDrive1.Stop块让机器人停止运动。

图 12-6 操控机器人
测试:按照此前的“测试”说明,先连接NXT机器人。不要将机器人放在桌子上,以免跌落,然后测试以下行为:
1. 点击前进按钮,机器人应该向前移动;
2. 点击后退按钮,机器人应该向后移动;
3. 点击左转按钮,机器人应逆时针转动;
4. 点击右转按钮,机器人应顺时针转动;
5. 点击停止按钮,机器人应停止。
如果机器人不动并发出吱吱声,可能需要加大电机的功率,可以用最大功率100。
使用超声波传感器的机器人可以侦测到30厘米范围内的障碍物,遇到障碍物时机器人会像罪犯一样停下来,如图12-7所示。

图 12-7 为NXT机器人设置障碍