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