好吧,我对机器人感兴趣有一段时间了,并且想到了一个项目。建造小型遥控车辆机器人/无人车辆机器人。希望能够从传感设备(GPS、温度计等)读取数据并将数据写入某种设备。这个想法已经被搁置了一段时间,直到我读到以下内容文章。
所以我的问题是这样的。我该从哪里开始呢。除了一些谷歌搜索和我的项目想法之外,我在这方面完全没有任何经验。我想尝试对微控制器板进行编程。我知道一些 java .net 语言和一些 C 语言。
关于从哪里开始有什么帮助吗?
你如何设计机器人,从开始到完成经历了哪些步骤。
谢谢。
Ok so i've been interested in robotics for a while and had a project in mind. Building a small remote controlled vehicle-robot/ unmanned vehicle-robot. Hopefully with the ability to read in data from sensory devices(gps,thermometer etc) and write the data to some kind of device. The idea(s) had been on the backburner for a while until i just read the following article.
So my question is this. Where should I begin. I have absolutely no experience in this at all other than a few google searches and my project idea. I would like to play around with programming the micro controller boards. I know some java .net languages and some C.
Any help on where to begin?
How do you design the robot, what steps do you go through from start to finish.
Thanks.
发布评论
评论(10)
我得到了这本书,它非常有用。也相当便宜。
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
I got this book and it was very useful. Quite cheap too.
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
需要安装的设置很少,但这应该可以让您深入了解您想要学习的内容,并提供阅读机器人传感器、与环境交互等的真正练习。
http://playerstage.sourceforge.net/
他们提供了一个 Java 框架(与官方支持的框架分开),有自己的 Sun Java 文档。
http://sourceforge.net/projects/java-player/files/
Little setup to install, but this should offer you a lot of insight into what you want to learn, and offer genuine practice to reading robotic senors, interacting with their environments, etc.
http://playerstage.sourceforge.net/
They offer a Java Framework (separate from the official supported Framework), that has it's own Sun Java documentation.
http://sourceforge.net/projects/java-player/files/
考虑到您想要一辆能够四处移动的遥控车辆,您显然需要某种电机。我假设它将具有差分驱动运动,因为这是最简单的构建并且非常容易控制。
最简单的选择是购买一对连续的爱好伺服系统。它们很便宜(10 美元及以上)并且易于通过 PWM 驱动(占空比控制速度)。如果你想提高一点,你可以买一对直流电机和编码器。您将需要额外的电路来驱动它们,但您可以购买现成的电路。
如果您不希望它被束缚,您还需要电池和船上的某种收音机。如果您不介意从头开始做所有事情,那么我认为 WiFi 是最简单的解决方案,因为您在使用的计算机上不需要任何额外的设备;但它确实会限制你的“计算机”和软件选项(你会想在上面运行例如Linux)。
您需要一个具有以下功能的 MCU/板:
拥有 USB 主机信号还有一个额外的优点,即可以轻松连接廉价相机。
像 Roboard 这样的东西就符合要求(他们还销售迷你 PCI wifi 卡)。它具有充足的计算能力(与许多更简单的板不同,它有一个 FPU!),有大量的连接选项,包括 USB,并附带一个用户空间库来控制外设。 (免责声明:我自己还没有测试过它。)
它不是你能买到的最便宜的硬件,但如果你想尝试机器人技术中计算密集型的部分(例如 SLAM、计算机视觉和运动规划),它应该有成长的空间)。从好的方面来说,您不必为其构建程序员/调试器。
如果你想从简单的开始,买一个更便宜的板,比如有人已经提到过的 Arduino 可能是一个更好的选择。在投资硬件之前使用模拟器也可以很好地测试软件方面。
从软件方面开始取决于您的兴趣。
Given that you want a remote controlled vehicle capable of moving around, you will obviously need some kind of motors. I going to assume it will have differential drive locomotion since that's the simplest to build and very easy to control.
The simplest option is to get a pair of continuous hobby servos. They're cheap ($10 and up) and simple to drive through PWM (the duty cycle controls the velocity). If you want to step it up a bit you can get a pair of DC motors and encoders. You will need additional circuitry to drive them, but you can buy that ready made.
If you don't want it to be tethered you will need batteries and some kind of radio on board as well. If you're okay with not doing everything from scratch WiFi is the simplest solution in my opinion since you don't need any extra equipment on the computer you're using; it does tend to limit your "computer" and software options though (you'll want to run e.g. Linux on it).
You'll want an MCU/board that has:
Having USB host signals has the added advantage that it's easy to hook up cheap cameras.
Something like the Roboard fits the bill (they also sell a mini-PCI wifi card). It packs plenty of computing power (and unlike many of the simpler boards, it has an FPU!), has plenty of connectivity options, including USB, and comes with a user space library to control the peripherals. (Disclaimer: I haven't tested it myself.)
It's not the cheapest hardware you can get, but it should have room to grow in if you want to try the more computing intensive parts of robotics (like SLAM, computer vision and motion planning). On the up side, you don't have to build a programmer/debugger for it.
If you'd rather start out simple, getting a cheaper board like the Arduino that someone already mentioned might be a better option. Using a simulator is also good to test out the software aspects before investing in hardware.
Where to start on the software side depends on what you're interested in.
我会为乐高机器人投票,但作为一名程序员,你怎么样?如果你想自己突破,你可以将 LeJOS 加载到乐高“积木”上(当你研究它时你就会知道这意味着什么)并在你的计算机上运行你自己的 Java 程序来交互/控制乐高机器人直接。
另外 - 如果您是一名程序员,您可能需要查看高级逻辑 (HLL) 开源项目。该代码尚未达到 1.0 版本,但原型中有一个机器人演示,以及一个带有 LeJOS 的乐高积木正在等待着。
LEGO Mindstorms NXT 机器人 (leJOS) -(文章中的动态图形仅适用于 Firefox。)
http://highlevellogic.blogspot.com/2010/10 /lego-mindstorms-nxt-robots-lejos.html
I'll add a vote for LEGO robots just to get started, but how are you as a programmer? If you want to break out on your own, you can load LeJOS onto the LEGO "brick" (you'll know that that means when you look into it) and run your own Java programs on your computer that will interact / control the LEGO robot directly.
Also - if you are a programmer you may want to look at the High Level Logic (HLL) Open-Source Project. The code hasn't reached version 1.0 yet, but there was a robotics demo in the prototype, and a LEGO with LeJOS waiting in the wings.
LEGO Mindstorms NXT Robots (leJOS) - (Dynamic graphic in the article only works properly on Firefox.)
http://highlevellogic.blogspot.com/2010/10/lego-mindstorms-nxt-robots-lejos.html
如果你想做得对,并培养未来在机器人行业中为你服务的技能,我建议尝试 ROS。 ROS,“机器人操作系统”实际上根本不是一个操作系统(事实上,它通常在 Ubuntu 上运行)。它是一个进程间通信系统、一组构建和调试工具以及一个包含优秀驱动程序和算法的庞大库。
要在没有物理机器人的情况下开始,您可以从 Gazebo 模拟器中的多个模拟机器人中的任何一个开始。这将使您无需投入大量时间或金钱即可开始算法开发等。教程和入门指南可以在 ros.org 找到。
祝你好运!
If you want to do it right, and develop skills that will serve you well in the robotics industry going forward, I recommend trying ROS. ROS, the "Robot Operating System" isn't actually an operating system at all (in fact, it's commonly run on Ubuntu). It's an Inter-Process communication system, a set of build and debug tools, and an incredibly large library of excellent drivers and algorithms.
To get started without a physical robot, you can start with any of a number of simulated robots in the Gazebo simulator. This will let you get started with algorithm development and such without a large investment of time or money. Tutorials and getting started guides can be found at ros.org.
Good luck!
Arduino 是一个在爱好者中非常流行的平台。它基本上是一个具有多个输入和输出的可编程板。我强烈建议您从它开始,因为它易于使用并且拥有庞大的支持社区。
有几个人制作了使用 Arduino 作为控制器构建机器人的教程。 这个非常酷。
The Arduino is a very popular platform among hobbyists. It's basically a programmable board with several inputs and outputs. I highly recommend starting out with it for its ease of use and large support community.
Several people have made tutorials on building robots with an Arduino as the controller. This one is pretty cool.
Robocode 是一款机器人模拟游戏,但它是 Java 开发人员入门的好地方。
我还可以推荐书籍Linux Robotics:Programming Smarter Robots和Robot Builder's Bonanza 提供有关机器人构建和编程的非常好的从头到尾指南。
Myke Predko 还有一本好书,名为编程机器人控制器。
Robocode is a robotics simulation game, but it's a good place for a Java developer to start.
I can also recommend the books Linux Robotics: Programming Smarter Robots and Robot Builder's Bonanza for really good start-to-finish guides on building and programming robots.
Myke Predko also has a good book called Programming Robot Controllers.
Microsoft 有 Robotocs Developer Studio。
Microsoft have Robotocs Developer Studio.
如果您对编程感兴趣,您可以从 Lego MINDSTORMS 之类的东西开始。如果您对电子方面更感兴趣,您可能需要查看 Parallax 和 机器人商店。
您会发现多种语言和平台,因此请真正选择您最喜欢的语言并找到您价格范围内的东西。机器人技术可以非常有趣(而且非常耗时)。
顺便说一句,您只需一辆遥控车和一个 基本邮票。如果您的计算机上有并行端口,您可以将计算机连接到遥控汽车甚至更多的力量。
If you are interested in the programming side you can start with something like Lego MINDSTORMS. If you are more interested in the electronics side you may want to check out some of the kits on Parallax and The Robot Store.
You will find a mix of languages and platforms so really pick your favorite languages and find something in your price range. Robotics can be very fun (and very time consuming.)
BTW, you can make a pretty cool robot with just an RC car and a BASIC Stamp. And if you have a parallel port on your computer you can interface your computer to the RC car for even more power.
Lego Mindstorms 是一个令人惊讶的强大系统,可以让您更加专注于您真正想要完成的事情。有些系统可以让您使用套件附带的视觉语言以外的语言进行编程,这是我更喜欢的。
或者您可以从 VEX 获取入门套件,其中包括PIC 或 Cortex 微控制器,以及编程系统。 VEX 套件就像一个带有大脑和电机的安装装置。 :-)
Lego Mindstorms is a surprisingly robust system, and lets you focus more on what you'd actually like to accomplish. There are systems which will let you program in something other than the visual language that comes with the kit, which I preferred.
Or you can get a starter kit from VEX, which will include either a PIC or a Cortex microcontroller, along with a programming system. The VEX kit is like an Erector set with brains and motors. :-)