当前位置:首页 >> 学科竞赛 >>

NBC中文翻译1


――――――――――――――――――――――――――――― 修改记录

2009/4/17 由 flexitime 增加翻译内容 完成原文 8 到 9 页的最初翻译。 2009/4/16 flexitime 创建本文档 完成原文 5 到 7 页的最初翻译。 ――――――――――――――――――――――――――― Programming Lego Robots using NBC (Version 1.0, June 11, 2007) Requires NBC 1.0.1.b30 or greater

一.写你的第一个程序 在这一章里面,我将会向你展示如何写出一个最简单程序,我们打算安排机器人向前移动 4 秒,然后向后移动 4 秒,最后停下来,没有其它令人瞩目的地方,但它会向你介绍编程的基 本概念, 同时它会向你展示这是多么的简单。 在我们写程序之前, 我们首先需要一个机器人。 搭建机器人 我们将使用“Tribot”机器人来贯穿整个教程,它的搭建指南在你的 NXT 套件当中。如果你 不熟悉 LEGO 的机器人。我建议你按照 Lego 的教程来制作它。同时使你开始知道 NxT 能 干些什么。你的机器人应该像这个样子 [P5 图片] (注意:你可能已经将感兴器及收集杆安装上去了,如果是你应该暂时先将它们移除掉。因 为当连接它们时会有一些的例子是不能正常工作的) 启动 Bricx Command Center 我们将使用 Bricx Command Center 来写程序,通过双击就可以启动它。 (我假设你已经安装 了 Bricx Command Center,如果没有,请从网页上下载并安装)程序会询问你,机器人在那 里,打开你的机器人,并点击 OK,程序会自动的找到机器人,现在你就会看到用户介面出 现在你的面前。 [P6 图片] 用户介面看起来像一个标准的文本编辑器, 有普通的菜单, 有打开, 保存, 打印等等的按钮。 这里也有一些特殊的菜单,如编译、下载程序到机器人和从机器人中收集信息。你现在可以 怱略这些。我们打算写一个新的程序,因此点击 New File 按钮来创建一个新的空窗口。 写程序 现在输入下面的程序:

thread main OnFwd(OUT_B,100) OnFwd(OUT_C,100) wait 4000 OnRev(OUT_BC,100) wait 4000 Off(OUT_BC) exit endt 这些东西开始看起来有点复杂。 因此让我们一起来分析它。 NBC 的程序都是由线程 (threads) 来组成,我们的程序就含一个线程,名字叫做 main,每个一程序都必须含有一个叫 main 的 线程,它是由机器人来调用的,你会在第五章中学到更多有关线程的知识。一个线程是由一 堆的命令所组成的,通常也叫做语句(?),每个语句占用一行,因此一个线程(原文用 task, 估计是从 NXC 中抄过来的)看起来通常会像这样: thread main statement1 statement2 endt 让我们逐行来看程序 OnFwd(OUT_B,100) 这个语句是告诉机器人启动 B 输出口, 连接在标记为 B 输出口的电机会向前移动 (转动?) , 100 是指速度的百分比值,在这里它会以最大的速度移动。 OnFwd(OUT_C,100) 同样的语句,不过现在我们启动的是电机 C,经过这两条语句后,两个电机都将运行。而机 器人也会向前移动。 wait 4000 现在是时候让它停下来一会儿。 这个语句告诉我们会停 4 秒, 给出的参数是以毫秒为单位的。 (1/1000 秒) ,因此你能非常精确的告诉程序要等待的时间长度。在这 4 秒中,程序什么都 不干,而机器人将继续向前移动。 OnRev(OUT_BC,100) 机器人现在已经走得够远的了,因此我们告诉它往相反的方向走,这就是向后走。注意,我 们能够使用 OUT_BC 作为参数来同时设置两个电机。我们当然也能将前面两个语句通过这 种方式合并。我们也能使用 OnFwd(OUT_BC,-100).来实现。 wait 4000 再次等待 4 秒。

Off(OUT_BC) 最后,我们关闭两个电机。 exit 这个语句告诉 NXT 这个线程结束了,不过这个不是必须出现在线程结尾的,只是推荐这样 做。注意,它经常出现在线程的别的地方。 这就是整个程序,它会驱动两个电机向前 4 秒,然后向后 4 秒,最后关闭它。 你可能会注意到输入程序时的颜色, 它们自动出现, 编辑器通常会用颜色及样式高亮显示特 定的语法。 运行程序 一旦你写好了程序,程序就需要编译(这是将它改变成机器人能认识和执行的代码) ,和使 用 USB 或蓝牙发送到设备上(叫“downloading”程序) 。在做这些之前,你需要命名你的程 序,你保存它到你的硬盘上就行了。当你保存时,一定要保证文件的扩展名是“nbc” ,告诉 Bricx Command Center 这是一个 NBC 的程序。 [P8 图片 上]

保存完文件后, 你可以编译和简单的点击下载按钮下载它。 假设你在录入程序时没有犯任何 的错误,它就会正确地被编译和下载(如果你的程序中有错误,你会得到一些通知,看下面 的图)现在你能够运行程序,按这样做:在 NXT 中选择“Software Files” ,查找“1-simple” , 再使用橙色的键来运行它。另一种方法是,你可以通过 Bricx Command Center 来运行它, 在你的窗口中点击绿色的运行按钮 (看上面的图片) 。 机器人能按你预期工作吗?如果没有, 电缆可能连接得不正确。 程序中的错误 当你录入程序时,会有一些合理的情况使你犯下错误,编译器会注意到这些错语,并会在窗 体的下方报告这些错误,就是以下的图片所示。 [P8 图片 下] 它会自动选择第一个错误(我们打错了电机的名字) ,当有不止一个错误的时候,你可以点 击这些错误的信息去找到错误的地方,注意,第一个错误经常会引起其它地方的错误,因此 你最好只改正最前面的一些错误然后再编译一次。 ****通常也要注意的是语法高亮在很多情况下会帮助避免错语,例如在我们输入的最后一 句。Of 应该是 Off 才对,因为编辑器不认识这个命令,所以它没有高亮,因此你们可以在 你编译程序之前发现到它们, 这里还有一些错误是编译器不能找到的, 如果我们输入 OUT_B 的话,它是不会被发现的,因为那个电机是存在的(尽管我们没有在机器人中使用它) ,如 果你的机器个展现出非预期的动作时,这大概可能大概是你的程序中那个地方错了 改变速度: 可能你会发现,机器人的移动速度相当快,默认的情况下,机器人是以它最快的速度来移动

的, 如果要改变速度, 只要在 OnFwd 中使用不同的参数值就行了。 动力是一个介于 0 到 100 的数值,是一个最大动力的百分比值,这里是我们新版本中的程序,这个机器人移动速度会 较慢。 thread main OnFwd(OUT_BC,25) wait 4000 OnRev(OUT_BC,25) wait 4000 Off(OUT_BC) exit endt 在这个例子中,你可以看到速度的值以及等待时间的值都是重复的,如果你要修改它们,你 必须在好几处地方去修改它,而你很可能会漏掉一个。因此在 NBC 中(原文中有错) ,你 可以定义一个常量值,就像下面所示的程序: #define SPEED 25 #define MOVE_TIME 4000 thread main OnFwd(OUT_BC, SPEED) wait MOVE_TIME OnRev(OUT_BC, SPEED) wait MOVE_TIME Off(OUT_BC) exit endt 现在如果你需要改变速度,你只要修改一个地方即可。 增加注释 为了使你的程序更具可读性,最好是增加注释,只要你在行里输入//时,行剩下的地方就会 被怱略这样它就成为了注释。 如果是长的注释, 你可以把内容放在 /*和 */之中, 注释在 Bricx Command Center 中是会被高亮显示的,整个程序看起来会像下面的样子:


相关文章:
NBC中文翻译2
NBC中文翻译2_学科竞赛_高中教育_教育专区。今日推荐 68份文档 新...2014年1月1日起“驾照新规”出炉 科目三实际道路驾驶考试注意事项 驾考新题抢先...
翻译NBC_tutorial
翻译NBC_tutorial_教学研究_教育专区。乐高机器人编程 NBC (版本 1.0,2007 年 6 月 11 号) (nbc1.0.1.b30 或更高) 由罗斯克劳福德 由约翰汉森修改 前言...
外文资料及中文翻译
外文资料及中文翻译_英语学习_外语学习_教育专区。中文译文 从新型葡萄籽 IH636...最近的一项研究表明从 IH636 葡萄籽中提取的低聚原花青素与 NBC 一起使用能...
翻译课件_图文
翻译课件_英语学习_外语学习_教育专区。英汉翻译入门课件 I was not a man ...在该 NBC 新情景喜剧中,来自卑诗省,深受观众喜爱的 Fox 扮演 Mike Henry,一...
1英文报表翻译
1英文报表翻译_英语学习_外语学习_教育专区。英文报表最全翻译!...(Operating Liabilities)经营性负债 NBC(Net Borrow Cost) 净借债费用 OI(...
英语口译资料
(个半小时) 口译现场:李毅中在人大两会中发言(只有记者提问时才有口译,其 ...与布什总统会晤现场翻译(附音频) 妮可基德曼“口译”面试 NBC 版本的 2008 北京...
焊接毕业设计汉译英
焊​接​毕​业​设​计​汉​​英 暂无评价|0人阅读|0次...NbC particles.The hardness of martensite to value 800HV0.1; Table 3 ...
翻译练习
翻译练习 隐藏>> Trading up 1. When I was grown up on Long Island in ...And Gabell Glickler, the gaffer, worked for NBC and was the only woman...
0612英语六级翻译4
大学英语四级六级写作必用... 大学英语六级考试翻译技巧1/2 相关文档推荐 ...based game show from NBC, which was going to be called Destination Mir. ...
韩素英翻译大赛参赛题
“The final episode of NBC’s ‘Cheers,’ by contrast, was seen by 42...第24届韩素英翻译大赛译... 3页 1下载券 2011韩素英翻译大赛全文... 4页...
更多相关标签: