假设你选择了Lego路径,对于Mindstorms,我肯定会推荐 NQC 。
NQC是一种编程语言,您可以使用它来编程Lego Mindstorms机器人,我找到了它 许多 比在WYSIWYG风格的环境中拖动节点更容易(这是捆绑软件和基于LabView的版本的工作方式)。
我对NXT机器人没有任何经验,但如果NQC听起来很有趣,那么NXT就相当于: NBC / NXC 。
史蒂夫
是的,Lego Mindstorms很棒,但不要使用默认的LabView G语言界面来进行编程。
使用像LeJos这样更先进的东西。
我拥有第一个版本的Lego MindStorms机器人套件,我不能称赞它。它很容易上手,而且可能性无穷无尽。构建事物不仅有趣,而且将它们带入生活也是一种乐趣。作为工程师和软件开发人员,它会给您带来挑战。它让您真正欣赏和理解机器人研究和开发的脆弱性。
新的NXT套装也出局了。很大程度上是由用户反馈开发的,它是迄今为止最好的乐高机器人套件。
我不能给你一个很好的并排比较与其他机器人套件(我知道MS有一个),但我已经花了很多时间用心灵风暴(到了我给用户组演示的地步)和我认为它使编程变得愉快,并教你使用任何套件需要知道的传感器,输入和输出的基础知识。
它为您提供了基础并使其变得有趣,这是一个很好的开始。可能有更复杂的替代方案......
如果您刚刚开始,最重要的将是您选择的任何工具包背后的支持社区。 MindStorms很受欢迎,我相信你在使用它时会遇到(很多)问题的答案是没有问题的。
我执教了一个 第一乐高联盟 团队工作了几年,我们使用了NXT机器人。该团队由6年级,7年级和8年级的学生组成,他们很容易学习图形编程环境,并用它开发一些非常复杂的程序。作为教练,我们在良好的软件实践(要求,设计,模块化,文档,测试等)中指导他们,但孩子们做了工作并且他们学到了很多东西。标准的NXT软件基本上是一个精简版 LabView的 而且它相当容易使用,但有点儿麻烦。这对孩子们来说是一个很好的功能 - 他们学会了经常保存工作的艰难方法,因为软件可以并且在你编辑时会崩溃。
如果你想玩机器人,特别是如果你想让孩子也参与,那么这是一个很好的环境。但标准软件是一种图形化编程语言,因此您需要连接并配置功能块而不是编写代码,而有些人则不会考虑使用“真正的”软件。这一切都取决于你想要学习什么。由于FLL比赛规则,我们只与孩子们一起使用标准NXT软件。如果您更喜欢使用过程语言,NXT仍然是一个很好的学习平台,但您需要切换到其他开发环境。 这些 。
我不知道你有兴趣使用哪种软件,但MATLAB实际上有一个 LEGO MINDSTORMS NXT工具包 。有人讨论了一些问题 MathWorks博客 ,并在MathWorks文件交换中发布了一些演示( 这是一个 )。
您有兴趣为机器人编写软件。你可以使用LEGO开始和成长。一旦你超越了Mindstorms界面,就可以将LeJOS加载到“砖块”上并编写在您的计算机上运行的Java程序,并通过蓝牙控制或与机器人交互。有许多例子可用于使用LeJOS进行基础知识。但是你应该可以用Java编程。
如果您可以使用Java编程并希望快速增长以包含更复杂的机器人方案,那么您应该查看我的博客条目,了解高级逻辑(HLL)开源项目: http://highlevellogic.blogspot.com/2010/10/lego-mindstorms-nxt-robots-lejos.html