32

好的,所以我对机器人技术感兴趣已经有一段时间了,并且正在考虑一个项目。搭建小型遥控车-机器人/无人车-机器人。希望能够从传感设备(gps、温度计等)读取数据并将数据写入某种设备。在我刚刚阅读以下文章之前,这个想法已经被搁置了一段时间。

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

关于从哪里开始的任何帮助?

你如何设计机器人,从开始到结束你经历了哪些步骤。

谢谢。

4

10 回答 10

12

如果您对编程方面感兴趣,您可以从Lego MINDSTORMS之类的东西开始。如果您对电子方面更感兴趣,您可能想查看ParallaxThe Robot Store上的一些套件。

您会发现多种语言和平台,因此请真正选择您最喜欢的语言并在您的价格范围内找到一些东西。机器人技术可以非常有趣(而且非常耗时。)

顺便说一句,你可以用一辆遥控车和一个BASIC Stamp制作一个非常酷的机器人。如果您的计算机上有一个并行端口,您可以将您的计算机连接到遥控车以获得更大的功率。

于 2010-07-30T14:17:23.910 回答
8

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

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

于 2010-07-30T14:18:49.627 回答
5

Arduino是爱好者中非常受欢迎的平台。它基本上是一个具有多个输入和输出的可编程板。我强烈建议从它开始使用它,因为它易于使用和庞大的支持社区

Arduino 是一个基于灵活、易于使用的硬件和软件的开源电子原型设计平台。它适用于艺术家、设计师、爱好者以及任何对创建交互式对象或环境感兴趣的人

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

于 2010-07-30T21:35:27.957 回答
3

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

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

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

于 2010-07-30T14:07:47.440 回答
2

微软有Robotocs Developer Studio

于 2010-07-30T14:04:07.113 回答
2

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

http://playerstage.sourceforge.net/

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

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

于 2010-07-30T14:13:09.177 回答
2

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

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

如果您不希望它被束缚,您还需要电池和某种无线电设备。如果您可以不从头开始做所有事情,那么在我看来,WiFi 是最简单的解决方案,因为您在使用的计算机上不需要任何额外的设备;不过,它确实倾向于限制您的“计算机”和软件选项(您需要在其上运行例如 Linux)。

您将需要具有以下功能的 MCU/板:

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

拥有 USB 主机信号还有一个额外的优势,那就是很容易连接便宜的相机。

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

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

如果您想从简单的开始,购买像有人已经提到的Arduino这样更便宜的电路板可能是一个更好的选择。在投资硬件之前,使用模拟器也可以很好地测试软件方面。

在软件方面从哪里开始取决于您对什么感兴趣。

于 2010-07-31T14:54:44.750 回答
1

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

另外 - 如果您是程序员,您可能想查看高级逻辑 (HLL) 开源项目。代码尚未达到 1.0 版本,但原型中有一个机器人演示,还有一个带有 LeJOS 的乐高积木。

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

于 2010-11-18T11:30:25.363 回答
1

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

要在没有物理机器人的情况下开始,您可以从 Gazebo 模拟器中的许多模拟机器人开始。这将使您无需花费大量时间或金钱即可开始算法开发等。教程和入门指南可以在ros.org 上找到。

祝你好运!

于 2011-04-21T04:41:41.950 回答
0

我得到了这本书,它非常有用。也蛮便宜的。

http://www.amazon.co.uk/Definitive-Guide-Building-Java-Robots/dp/1590595564/ref=sr_1_1?ie=UTF8&s=books&qid=1280498805&sr=8-1

于 2010-07-30T14:07:50.810 回答