机器人、立体视觉、驾驶和 AForge
我正在考虑建造一个小型机器人,它可以四处行驶,判断与物体的距离并避开障碍物(希望它能做到)——没什么复杂的,只是一个家庭娱乐项目。
我计划使用两个网络摄像头来确定距离和跟踪对象,并以 AForge.Net 作为框架。我从来没有做过任何与人工智能和机器人相关的事情,所以我不知道从哪里开始。
我需要什么样的组件(可以通过编程方式操纵的车轮和发动机等,某种可编程控制器?)以及从哪里获得所有这些东西?
总的来说,我要从哪里开始才能实现这一目标?我正在寻找一套可以解决基本问题并让我能够专注于机器人编程的工具。
I am thinking about building a small robot that will drive around, judge distance to objects and avoid obstacles (hopefully it will) - nothing complex, just a home fun project.
I am planning on using two webcams to decide distances and track objects, and AForge.Net as the framework. I have never done anything AI and robotics related, so I have no idea where to start.
What sort of components would I need (wheels and engine, etc., that can be programmatically manipulated, programmable controller of some sort?) and where do I get all this stuff?
Overall, where do I start with this to make it happen? I am looking for a set of tools that would solve the basic problems and allow me to concentrate on programming of my robot.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
对于机器人,如果您没有先验知识和技术,我建议您购买预制解决方案,例如 Roomba。
Roomba(某些型号)附带黑客套件 这将允许您对其进行编程。另外,当您感到无聊时,它还会清洁您的地板。
同样对于视觉部分,OpenCV 是一个好的开始。
请注意,您正在进行的项目并不“简单”
For the robot if you don't have prior knowledge and know-how I'd recommend to buy a premade solution such as the Roomba.
The Roomba (certain models) comes with a hacking kit that will allow you to program it. Plus it will clean your floor when you are bored.
Also for the vision part, OpenCV is a good start.
Be warned that its not and "easy" project you are journeying in
我认为鉴于这是您第一次使用机器人,开箱即用的解决方案将是最适合您的。机器人的机械和电子设计至少与人工智能部分一样繁重,因此,如果您想开始进入人工智能部分,预制机器人解决方案可能会帮助您立即开始行动;)
我认为乐高 Mindstorms 会是一个很好的起点。对于图像处理,Martin Beckett 说得对,OpenCV 听起来是不错的选择:)
祝你好运,如果你需要进一步的帮助或建议,请随时给我发消息。
I think given this is your first time working with a robot, an out-of-the-box solution will be the best for you. The mechanical and electronical design of a robot is at least as taxing as the AI part, so if you want to start into the AI part, probably a premade robot solution will help you getting right into the action ;)
I think a Lego Mindstorms would be a great place to start. For the image processing, Martin Beckett has it right, OpenCV sounds the way to go :)
Good luck, and feel free to message me if you need further help or suggestions.
由于您之前没有任何经验,您可以尝试Lego Mindstorms可编程机器人。
就我个人而言,我认为这是一个复杂的项目,尽管令人着迷;-)
Since you have no prior experience, you could try Lego Mindstorms programmable robotics.
Personally, I think this is a complex project, though fascinating ;-)
我认为 Roboard 看起来非常漂亮且易于使用(可以在那里做出任何承诺,因为我不拥有不过,一个)。它包含 1 GHz CPU、I2C、SPI(用于额外的外设)、PWM(用于伺服系统)、A/D(用于您的加速计和夏普红外测距仪:)、用于您的廉价网络摄像头的 USB 主机信号和一个迷你 PCI 插槽将您的 WLAN 卡插入!显然它还带有一个库来使用所有这些东西。
上网本/笔记本电脑或口香糖可能也可以。
添加电池、两个带有集成正交编码器的电机和一个易于使用的电机驱动器,瞧!
Phidgets 备有大量易于使用的传感器、驱动程序等。也可以查看 SparkFun。
当然,如果您购买 iRobot Create 并将您的上网本/笔记本电脑放在上面,您可能会得到更多的实惠。
I think the Roboard looks really nice and easy to use (can make any promises there as I don't own one, though). It packs a 1 GHz CPU, I2C, SPI (for extra peripherals), PWM (for servos), A/D (for your accelerometer and Sharp IR rangefingers :), USB host signals for your cheapo webcams and a mini-PCI slot to fit your WLAN card into! Apparently it comes with a library to use all that stuff too.
A netbook/laptop or gumstix would probably do fine as well.
Add batteries, two motors with integrated quadrature encoders and a easy-to-use motor driver and voila!
Phidgets stock a lot of easy to use sensor, drivers etc. Check out SparkFun as well.
Of course you probably get a lot more bang for the buck if you get an iRobot Create and just stick your netbook/laptop on top of it.
我认为 Roomba 是一款很好用的入门机器人。正如上面提到的,所有的机械和电子设备都已为您完成,您所需要做的只是为其提供一些额外的传感器和东西。
如果这是我的项目&因为您想使用一些电子网络摄像机,所以我可能只会使用几个摄像机和一个无线路由器。连接到无线路由器后,我将插入基于以太网的微控制器,它可以发送串行命令。
我还推荐一些其他机器人设备 - 例如乐高头脑风暴,但我认为 Roomba 将有很多“不动产”供您使用。有了一些相机和一个路由器/一个微控制器,可能还有一些电池,你将需要一些强大的电力来携带所有这些东西。
需要记住的一件事是您想要进行视频处理。视频处理确实很有趣。我自己也做过一些视频工作,当你深入研究它时 - 它会变得相当复杂 - 但当你能让它发挥作用时就会得到回报:)。无论如何 - 请记住,对于视频处理,从相机记录事物到你的程序可以看到它 - 到你的算法可以决定做什么时,你将会有一个“滞后”时间。
除了视频之外,我可能还会在设备上安装一些其他传感器。我可能会使用超声波传感器。它们可以检测相当近的距离(2-15 英尺),并且可能非常适合您的项目。 Roomba 还有更多可以利用的传感器(触摸、脚步等),但实际上任何机器人套件都可以很好地工作。
如果您正在寻找一种超级基本的方法来深入了解机器人世界 - 我什至会提到 BASIC 印章,但这非常有限,您将无法做更多的事情与超基本的相比(无中断等)
I would think the roomba is a great introductory robot to use. Like mentioned above, all the mechanics and electronics have been done for you, and all you need to do is just provide it with some additional sensors and stuff.
If this were my project & since you would like to use some e-net cameras, I would probably go with just a few cameras and a wireless router. Connected to the wireless router I would plug in and ethernet based microcontroller that could send out serial commands.
There are a few other robotic devices I would also recommend - such as the lego mind-storm, however I think the roomba is going to have a lot of "realestate" for you to use. With a few cameras and a router / a microcontroller, and probably some batteries on there, you will need some hefty power to lug all those things around.
One thing to keep in mind is what you want to do your video processing. Video processing is really interesting. I've done some video stuff myself, and when you delve into it - it gets pretty complicated - but rewarding when you can make it work :). Anyways - keep in mind that with video processing you are going to have a "lag" time from when the camera records things to when you program can see it - to when your algorithm can decide what to do.
In addition to video, I would probably also have a few other sensors on the unit. I would probably use an ultrasonic sensor. They can detect fairly close distances (2-15ft) and would probably be good for use with your project. The roomba has a few more sensors you can take advantage of (touch, step, etc.), but again really any robot kit out there works well.
If you are looking for a super basic way to get a great introductory look into the world of robotics - I'd even go as far to mention a BASIC stamp, but that is very limited and you won't be able to do much more with that than ultra basic (no interrupts, etc.)