【发布时间】:2010-10-20 08:03:58
【问题描述】:
我想学习如何编写控制机器人的软件。
乐高 MindStorms 是一个不错的选择吗?有更好的选择吗?
我更喜欢 MindStorms,但在阅读了几篇文章后,我觉得乐高已经停止了 MindStorms 的研发。
你有什么建议?
【问题讨论】:
标签: robotics mindstorms lego nxt
我想学习如何编写控制机器人的软件。
乐高 MindStorms 是一个不错的选择吗?有更好的选择吗?
我更喜欢 MindStorms,但在阅读了几篇文章后,我觉得乐高已经停止了 MindStorms 的研发。
你有什么建议?
【问题讨论】:
标签: robotics mindstorms lego nxt
您有兴趣为机器人编写软件。您可以使用乐高开始并成长。一旦您的 Mindstorms 界面超出了您的要求,您就可以将 LeJOS 加载到“砖块”上并编写在您的计算机上运行并通过蓝牙控制机器人或与机器人交互的 Java 程序。有很多例子可以用来做 LeJOS 的基础知识。但是,您应该能够使用 Java 进行编程。
如果您可以使用 Java 编程并希望快速成长以包含更复杂的机器人场景,您应该查看我关于高级逻辑 (HLL) 开源项目的博客文章: http://highlevellogic.blogspot.com/2010/10/lego-mindstorms-nxt-robots-lejos.html
【讨论】:
您没有说明您对机器人的硬件或软件方面更感兴趣。如果您主要对软件感兴趣并且不想在硬件上花钱,您应该考虑使用模拟环境。
想想飞行模拟器或游戏程序之类的东西。您可以“飞”一架飞机而无需购买。你也可以在这个过程中学到很多东西。
Microsoft 的Robotics Studio 有一个可以免费下载的版本,它允许您模拟 Lego Mindstorms 并为其编写程序。如果您是学生,您也可以免费获得完整版。
当然,如果你想花钱,没有什么能比得上真正的东西,我相信你会从中获得很多乐趣。
我刚刚了解到 LabView 也可用于对 Lego Mindstorms 进行编程。看看:http://www.ni.com/academic/mindstorms/ 他们有一个为students 提供的 LabView 版本,价格非常优惠。
【讨论】:
是的,Lego Mindstorms 很棒,但不要使用默认的 LabView G 语言界面进行编程。
使用更高级的东西,比如 LeJos。
【讨论】:
我不知道你有兴趣使用什么样的软件,但 MATLAB 实际上有一个LEGO MINDSTORMS NXT Toolkit。一些MathWorks blogs 对此进行了讨论,并且在 MathWorks 文件交换 (here's one) 上发布了一些演示。
【讨论】:
如果您刚刚起步,最重要的将是您选择的任何套件背后的支持社区。 MindStorms 非常受欢迎,我相信您在使用它时会遇到(许多)问题的答案。
【讨论】:
我执教了一个 First Lego League 团队几年,我们使用了 NXT 机器人。该团队由 6 年级、7 年级和 8 年级的学生组成,他们能够轻松学习图形编程环境并使用它开发一些非常复杂的程序。作为教练,我们指导他们进行良好的软件实践(需求、设计、模块化、文档、测试等),但孩子们完成了工作,他们学到了很多东西。标准的 NXT 软件基本上是 LabView 的精简版,使用起来相当容易,但有一点问题。不过,这对孩子们来说是一个很好的功能 - 他们学会了经常保存工作的艰难方法,因为软件在您编辑时可能而且确实会崩溃。
如果您想尽情地玩机器人,尤其是如果您也想让孩子们参与进来,那么这里是一个很好的环境。但是标准软件是一种图形化编程语言,所以你在连接和配置功能块而不是编写代码,有些人不认为这是“真正的”软件。这完全取决于你想学什么。由于 FLL 竞赛规则,我们只与孩子们一起使用标准 NXT 软件。如果您更喜欢使用程序语言,NXT 仍然是一个很好的学习平台,但您需要切换到像 these 这样的替代开发环境。
【讨论】:
我拥有乐高 MindStorms 机器人套件的第一个版本,我对它赞不绝口。它很容易上手,而且可能性无穷无尽。建造东西不仅很有趣,而且将它们带入生活也是一种乐趣。作为工程师和软件开发人员,它对您提出了挑战。它让您真正体会和理解机器人研发的脆弱性。
新的 NXT 套装也已推出。它主要由用户反馈开发,是迄今为止最好的乐高机器人套件。
【讨论】:
我无法将您与其他机器人套件进行很好的并排比较(我知道 MS 有一个),但我已经花了很多时间进行头脑风暴(我给了一个用户组演示文稿),我认为它使编程变得愉快,并教您使用任何套件都需要了解的传感器、输入和输出的基础知识。
它为您打下基础并使其变得有趣,这是一个很好的开始方式。不过可能还有更复杂的替代方案......
【讨论】: