Has anyone tried a ceiling mounted camera? It could easily be used to identify the round single colour shape of the Roomba (or even stick a pattern onto the Roomba to help) and give an exact location in the room.
Allow the user to draw over the live image to add in virtual walls that map over the real ones and the software on the PC can then easily avoid hitting them and route the Roomba perfectly.
Image comparison software could even slowly average out what is a temporary object, what is a wall and what is floor. It could send the Roomba over to investigate items in the image to see if it bumps into them to help with auto-mapping the room.
You could even have the user draw a 'route' onto the image for the roomba to follow.
What do people think of this idea? It requires no mods to the roomba, only the bt dongle and some programming on the PC with opencv (free computer vision library).
This could even allow Roomba Football etc. The Robocup people and many robot experiments have used this system before, so why not for Roomba?
Tracking and Mapping with a webcam
- roadknightlabs
- Robot Addict
- Posts: 230
- Joined: September 7th, 2006, 7:32 pm
- Location: San Francisco, CA.
- Contact:
Re: Tracking and Mapping with a webcam
I think it would be nice if the Intel IPP package which opencv seems to require, were not $199. That doesn't really seem to make it very free.Pyrofer wrote:
What do people think of this idea? It requires no mods to the roomba, only the bt dongle and some programming on the PC with opencv (free computer vision library).
I will admit that I just downloaded opencv and haven't looked at it in too much detail to see what you (don't) get by (not) using IPP, but at first glance the documentation I've downloaded from the SourceForge site seems to indicate you need the Intel IPP package to use opencv and makes quite clear that this is a package/library that costs.
www.roborealm.com
This is free, you can download and use it. It works.
I managed to get a motion tracking servo mount in 20 minutes or so. It has Roomba Create control plugin, but I couldnt get it to operate my Roomba (non create). I have spoken to them and they are interested in supporting the Roomba too!
Have a look, download, play. Its great. Just need a webcam and you have free computer vision.
This is free, you can download and use it. It works.
I managed to get a motion tracking servo mount in 20 minutes or so. It has Roomba Create control plugin, but I couldnt get it to operate my Roomba (non create). I have spoken to them and they are interested in supporting the Roomba too!
Have a look, download, play. Its great. Just need a webcam and you have free computer vision.
- roadknightlabs
- Robot Addict
- Posts: 230
- Joined: September 7th, 2006, 7:32 pm
- Location: San Francisco, CA.
- Contact:
...provided you have a Windows system, which I don't. Just Linux and OS X here. But thanks for the link, it had a number of interesting links to different machine vision projects which will be useful to me in the not-too-distant-future.Pyrofer wrote:www.roborealm.com
This is free, you can download and use it. It works.
I managed to get a motion tracking servo mount in 20 minutes or so. It has Roomba Create control plugin, but I couldnt get it to operate my Roomba (non create). I have spoken to them and they are interested in supporting the Roomba too!
Have a look, download, play. Its great. Just need a webcam and you have free computer vision.
Sorry to be such a wet blanket. I'm glad it works well for you. Keep at it and let us know how it progresses for you...
Ahh well, thems the breaks eh.
There has to be up/down sides for evey OS, this makes up for all the Apps and cool things Linux/MacOS does that I cant in windows :p
Seriously though, if your doing a major robot project its not unreasonable to dedicate a spare machine to the Roomba, and have Windows on it. I was intending to have a small machine with no kb/mouse/monitor tucked away somewhere on my network to do the processing so as not to tie up my main machine. I do have an abundance of PCs handy though...
On the same token, if you get some good results for linux im sure it will have a much lower spec requirement so id love to hear about your results too.
The wife has currently banned me from a ceiling mounted camera because she thinks I (or others) will be spying on her all day.
I was thinking of mounting a IR distance sensor, but cant think of any easy way to interface this to the roomba so the data can go back over the BT serial link. All I can think of is to have a PIC uP on the serial line and buffer the data in both directions. It could then receive an extended opcode set that it understands and filter those from being sent to the Roomba. The PIC could reply with its own data stream that wouldnt be noticed by the Roomba but would appear to the PC as having come from the same Serial link. The PC sees no difference other than the extended opcode set. Good idea?
There has to be up/down sides for evey OS, this makes up for all the Apps and cool things Linux/MacOS does that I cant in windows :p
Seriously though, if your doing a major robot project its not unreasonable to dedicate a spare machine to the Roomba, and have Windows on it. I was intending to have a small machine with no kb/mouse/monitor tucked away somewhere on my network to do the processing so as not to tie up my main machine. I do have an abundance of PCs handy though...
On the same token, if you get some good results for linux im sure it will have a much lower spec requirement so id love to hear about your results too.
The wife has currently banned me from a ceiling mounted camera because she thinks I (or others) will be spying on her all day.
I was thinking of mounting a IR distance sensor, but cant think of any easy way to interface this to the roomba so the data can go back over the BT serial link. All I can think of is to have a PIC uP on the serial line and buffer the data in both directions. It could then receive an extended opcode set that it understands and filter those from being sent to the Roomba. The PIC could reply with its own data stream that wouldnt be noticed by the Roomba but would appear to the PC as having come from the same Serial link. The PC sees no difference other than the extended opcode set. Good idea?
- vic7767
- Robot Master
- Posts: 15556
- Joined: January 14th, 2006, 7:31 pm
- Location: Haughton Louisiana - USA
Pyrofer, there are some ideas similar to yours that are discussed over on the IRobot Create forum and they have just opened a Roomba thread also. Check it out here: http://createforums.irobot.com/irobotcreate/