从哪里开始编程机器人?

时间:2010-07-30 13:59:58

标签: java .net c microcontroller robotics

好的,所以我对机器人技术感兴趣了一段时间,并考虑到了一个项目。建造小型遥控车辆 - 机器人/无人驾驶车辆 - 机器人。希望能够从感应设备(gps,温度计等)读取数据并将数据写入某种设备。这个想法已经持续了一段时间,直到我刚读完以下article

所以我的问题是这个。我应该从哪里开始。除了一些谷歌搜索和我的项目创意之外,我完全没有这方面的经验。我想玩微控制器板的编程。我知道一些java .net语言和一些C。

有关何处开始的任何帮助?

你如何设计机器人,从开始到结束你会采取什么步骤。

感谢。

10 个答案:

答案 0 :(得分:12)

如果您对编程方面感兴趣,可以从Lego MINDSTORMS开始。如果您对电子方面更感兴趣,可以查看ParallaxThe Robot Store上的一些工具包。

你会发现各种语言和平台,所以真的选择你喜欢的语言,找到你的价格范围内的东西。机器人技术非常有趣(而且非常耗时。)

顺便说一句,你可以用一辆遥控车和一辆BASIC Stamp制造一个非常酷的机器人。如果您的计算机上有parallel port,则可以将计算机与RC车接口,以获得更大的功率。

答案 1 :(得分:8)

Lego Mindstorms是一个令人惊讶的强大系统,让您可以更专注于您真正想要完成的事情。有些系统可以让你使用工具包附带的视觉语言以外的其他程序进行编程,我更喜欢。

或者您可以从VEX获得入门套件,其中包括PIC或Cortex微控制器以及编程系统。 VEX套件就像一台带有大脑和电机的Erector套件。 : - )

答案 2 :(得分:5)

Arduino是业余爱好者中非常的热门平台。它基本上是一个带有多个输入和输出的可编程电路板。我强烈建议您开始使用它,因为它的易用性和大support community

  

Arduino是一个开源电子产品   基于Java的原型平台   灵活,易用的硬件和   软件。它适用于艺术家,   设计师,业余爱好者和任何人   有兴趣创造互动   对象或环境

有几个人使用Arduino作为控制器制作了有关构建机器人的教程。 This one很酷。

答案 3 :(得分:3)

Robocode是一个机器人模拟游戏,但它是Java开发人员开始的好地方。

我还可以推荐书籍Linux Robotics: Programming Smarter RobotsRobot Builder's Bonanza,以获得有关构建和编程机器人的非常好的从头到尾的指南。

Myke Predko也有一本名为Programming Robot Controllers的好书。

答案 4 :(得分:2)

Microsoft已Robotocs Developer Studio

答案 5 :(得分:2)

安装设置很少,但这应该可以让您深入了解您想学习的内容,并提供阅读机器人传感器,与环境互动等方面的真实练习。

http://playerstage.sourceforge.net/

他们提供了一个Java框架(与官方支持的框架分开),它有自己的Sun Java文档。

http://sourceforge.net/projects/java-player/files/

答案 6 :(得分:2)

鉴于你想要一个能够四处移动的遥控车辆,你显然需要某种电机。我将假设它将具有differential drive运动,因为这是最简单的构建并且非常容易控制。

最简单的选择是获得一对连续的爱好舵机。它们便宜(10美元以上)并且通过PWM驱动很简单(占空比控制速度)。如果你想稍微加强一下,可以得到一对直流电机和编码器。您将需要额外的电路来驱动它们,但您可以购买现成的电路。

如果你不想让它被束缚,你也需要电池和某种无线电。如果您没有从头开始做任何事情,那么WiFi是我认为最简单的解决方案,因为您在计算机上不需要任何额外的设备;它确实会限制你的“计算机”和软件选项(你需要在它上面运行Linux)。

你需要一个具有以下功能的MCU /板:

  • PWM,用于驱动伺服电机
  • 如果您有模拟传感器的A / D
  • 一堆数字I / O用于什么
  • 内置WiFi或连接WiFi卡(USB,mini-PCI)的方法
  • 用于各种外设的SPI / I2C和UART

拥有USB主机信号的另一个好处是可以轻松连接廉价相机。

Roboard这样的东西符合要求(他们还出售迷你PCI卡)。它具有足够的计算能力(与许多更简单的主板不同,它有一个FPU!),有很多连接选项,包括USB,并配有用户空间库来控制外设。 (免责声明:我自己没有测试过。)

这不是你能买到的最便宜的硬件,但如果你想尝试机器人技术的更多计算密集型部分(如SLAM,计算机视觉和运动规划),它应该有增长空间。从好的方面来说,您不必为它构建程序员/调试器。

如果您想开始简单,那么获得一个更便宜的电路板,如Arduino,有人已经提到过可能是更好的选择。在投资硬件之前,使用模拟器也可以测试软件方面。

从软件方面开始,取决于您感兴趣的内容。

答案 7 :(得分:1)

我会为乐高机器人添加投票只是为了开始,但你是如何作为程序员?如果你想自己突破,你可以将LeJOS加载到LEGO“砖块”(你会知道这意味着当你查看它)并在你的计算机上运行你自己的Java程序来交互/控制乐高机器人直接。

另外 - 如果您是程序员,您可能需要查看高级逻辑(HLL)开源项目。该代码尚未达到1.0版,但原型中有一个机器人演示,LeJOS的LEGO正在等待。

LEGO Mindstorms NXT机器人(leJOS) - (文章中的动态图形仅适用于Firefox。) http://highlevellogic.blogspot.com/2010/10/lego-mindstorms-nxt-robots-lejos.html

答案 8 :(得分:1)

如果你想做正确的事情,并开发能够在未来的机器人行业中为你提供良好服务的技能,我建议尝试ROS。 ROS,“机器人操作系统”实际上根本不是一个操作系统(事实上,它通常在Ubuntu上运行)。它是一个进程间通信系统,一组构建和调试工具,以及一个非常庞大的优秀驱动程序和算法库。

要在没有物理机器人的情况下开始使用,您可以从Gazebo模拟器中的任何一个模拟机器人开始。这将让您开始进行算法开发,而无需大量时间或金钱投入。可以在ros.org.

找到教程和入门指南 祝你好运!

答案 9 :(得分:0)