loading
 
General Guidance on Design
from United States  [60 posts]
14 year
I am starting on a project using an iRobot Create, a Fit PC Lite, i2c sensors, and a web cam. The Fit PC will run all the software including RR. Main processing will be in a C++ program interfacing with RR.

RR will capture images and communicate with the Create using the plugin. The main purpose of the i2c is for proximety detection as an alternative to the bump detectors on the Create.

As I understand RR to work it loops through the .robo file doing each module in sequence. I'm wondering if running two instances of RR would be a good idea. One would handle vision processing and one would handle the Create sensing and control plus, maybe, the i2c sensor handling if I can get that into a plugin.  

The C++ software would acquire information using the API, determine the actions to take and provide them to one instance of RR.

I'm thinking that this will provide faster reflex actions based on sensors while still getting good vision input for planning.

Any thoughts or suggestions?
Anonymous 14 year
Rud,

You have the basic approach correct. To keep things simple initially I'd keep to a single instance and have the Create module along with the vision stuff for now. While this will cause the Create module to not execute as fast as possible (due to the camera image taking delay at < 30fps) this should be ok to get started with some basic tests without confusing the matter by having two instances of RR running ... it gets a little tricky to ensure that the port numbers for the API of both instances get set correctly.

Once things are working extending into two instances will be much easier ...

Good luck!

STeven.

from United States  [60 posts] 14 year
I experimented last night with the Create module without concern about video processing. If the camera is turned off, since I don't care about the video, the module appears not to run except when there is an 'interrupt', e.g. clicking on RR, toggling a Create LED. (All this done manually, not with the API, to be clear.)

It appears that RR does not process a file unless it is receiving images (or other input). If so that disrupts my plan to have one RR runing the Create while video is done in another RR instance. I was hopeing to get a 25 fps processing rate for the Create module working on its own.

This is not a show stopper since I will still use RR for video. I'll just have to do my own Create handling in my main roboto control routines. But I'd like to make sure I'm taking the right approach now and not waste time rolling my own if RR will do what I need.
from United States  [214 posts] 14 year
Hi Rud,

I was wondering if you would share your experience so far using the FitPC with RoboRealm.  The reason I ask is that I have an older Via mini-ITX (1.2 GHz, 1 Gb RAM) on one of my robots as well as an Intel Atom NetBook (Samsung NC10) which I think has roughly the same innards as the FitPC (1.6 GHz, 1 Gb RAM).  I have noticed that the Atom runs RR much better with less CPU load at higher frame rates for the same filter pipeline.  For example, using a Philips SPC1300NC USB webcam set tp 30 fps and using the attached .robo file (RGB Filter, Dilate, Blob Filter, COG), I get 29 fps with a CPU load of about 45% on the Atom NetBook.  On the Via mini-ITX, the same camera, frame rate and RR file yields 17 fps and 100% CPU load.  So the Atom is the hands down winner.  If you have the time, it would be great if you would run the same setup on your FitPC and see what fps and CPU load you get.

Thanks!
patrick

program.robo
from United States  [214 posts] 14 year
I forgot to say that I was using a resolution of 320x240 for my tests.  I was also using auto-exposure on the webcam but the lighting was very good so I was getting a true 30 fps from the camera.



from United States  [60 posts] 14 year
Hi Patrick,

My Fit PC is not as fast as your netbook, only 500 Mhz with an AMD Geode LX800. Specs are at http://www.fit-pc.com/fit-pc1/fit-pc-slim-specifications.html.

The newer Fit PC2 has the Atom processor.

from United States  [214 posts] 14 year
Hi Rud,

It'll be interesting to hear how well your Fit PC can handle video processing since my 1.2Ghz Via board seems quite overwhelmed by it.

--patrick

Anonymous 14 year
Rud,

If you look in the Options button->Other tab you will see a "Min Processing FPS". This was just recently added so you may need to download again if you don't see it. Setting this above 0 will cause RR to process at that frame rate regardless of video stream ... it is also a nice way to test performance on a single image frame.

As for the speed comparisons, keep in mind that one of the main uses of netbooks is in video streaming, playback, youtube, etc. so the device may have been slated more towards video processing than the ITX which is normally not even attached to a screen. We're not sure about this but from our tests it is very evident that graphics and image manipulation is faster on the netbooks than non-graphical based embedded processors.

STeven.
from United States  [214 posts] 14 year
Hi STeven,

Does RoboRealm take advantage of dual core (or more) processors?  I have a dual core desktop on which RoboRealm and my C# robot control program run very fast but I don't know how much is due to the two cores or the 3.0 GHz clock rate and video hardware.  I'm thinking of buying a headless box for my robot and given our discussion here I'm thinking something with dedicated video hardware (e.g. separate graphics card) and possibly two or more cores might be the way to go.  For example, something like this:

http://www.mini-box.com/ASUS-AT3N7A-mini-ITX-Dual-Atom-330-ION;jsessionid=0a010c461f43f2921f27323b48279cf2835ffd97c9e3.e3eSc3qPbN0Te34Pa38Ta38Qa3n0

Alternatively, can you recommend any specific hardware that you have found to work well as the brains of a mobile robot and can run on a 12V battery?  Or would you stick with a small laptop?

Thanks!
patrick
from United States  [60 posts] 14 year
Patrick,

I remember I did have the camera on the Fit PC running RR sometime in the midst of the holiday period. It was only getting 5-10 fps, as I recall, doing the path finding example. I wasn't concerned because my project is an experiement, proof-of-concept activity right now. If the robot moves slowly because it is waiting for a new video image to handle that is fine. The goal is to determine the processes. The optimization can come later.

Patrick - I did download the latest RR this morning and did see the improvement. Something made me think to check if there was a later version even before I saw your message.


Rud
Anonymous 14 year
Patrick,

We typically stick with Netbooks as they offer a convenience factor (screen and keyboard) that are very handy when doing demos. But that's cause they largely suit our needs and are adequate in speed.

The board above that you mention is interesting in that it has the NVidia chipset which one could use to speed up processing quite a bit. That's something we're waiting to jump onto.

Aside from that the Roboard is nice and small like the fit-pc which we are currently both testing.

One thing to note in these systems is that you may try switching off preview mode (Options button->Other tab and uncheck preview) as sometimes just displaying the image quickly can tax a system with a very poor graphic card. You can also verify this by simply covering the image preview with another window and watch the FPS at the bottom to see if that increases. Also watch that you select 100% in the zoom dropdown as we do see a performance decrease when using anything other than 100% (i.e. the image has to be stretched before display).

STeven.
from United States  [214 posts] 14 year
Hi STeven,

Thanks for all the info.  I too like using the NetBook for its convenience, but I tend to use it to follow the robot around and then Remote Desktop into the robot's onboard computer to watch sensor readings and keep it from getting into trouble.  So I have ordered a Zotac dual-core Atom mini-ITX board with the NVidia graphics and I'll let you know how it compares to my NetBook.

--patrick
from United States  [214 posts] 14 year
Today I received a Zotac mini-ITX board with dual-core Atom processor running at 1.6 GHz, 4 Gb RAM and the NVIDIA GeForce 9400M graphics chipset.  I ran the RoboRealm pipeline attached earlier in this thread and got 30 fps with just 18% load.  So compared to the single-core Atom Samsung NetBook (45% CPU), this is a fairly good improvement and should make a nice onboard robot computer. The particular board I bought can be found at:

http://www.newegg.com/Product/Product.aspx?Item=N82E16813500027&cm_re=zotac-_-13-500-027-_-Product

--patrick



Anonymous 14 year
Patrick,

thanks for the note, looks like quite a nice machine. What was the approximate total price (board+power supply+mem+etc) that you paid? While the netbooks may not be the best performing they normally do quite well given the price. Perhaps this system beats that too?

Thanks!
STeven.
from United States  [214 posts] 14 year
Hi STeven,

One of the reasons I picked that particular Zotac board is that it has a built-in DC-DC converter and an AC adapter is included in the price.  It also includes a WiFi card.  The cost for the board was $185 and the 4Gb of RAM was $89. (It's the Corsair RAM on the same Newegg page as the Zotac board.)  I already had a 2.5" 160Gb SATA drive which seem to go for about $50.  So add it all up and you're looking at $324 which is getting close to the $400 I paid for the Samsung NetBook.  On my small robot, it is easier to mount the bare mini-ITX board than a NetBook and I wanted the faster performance too,  but yes, the NetBook's are a better value for all around use.

--patrick

from United States  [214 posts] 14 year
Here is a pretty good comparison in a NetBook (ASUS Eee PC 1201N) at $489: dual-core 1.6GHz Atom with NVIDIA graphics, 2Gb RAM and 750Gb disk:

http://www.buy.com/retail/product.asp?sku=212820542&listingid=66718939

--patrick


from United States  [60 posts] 14 year
This is all interesting information. One additional factor not mentioned is weight.

Is there much difference between a Netbook and the bare board with additional pieces?

How valuable is the Netbook display when working with a robot?
from United States  [214 posts] 14 year
Good question about weight.  The weight of my Samsung NC10 NetBook is 2.9 lbs.  The Zotac mini-ITX board including hard drive, fan, RAM and cables is 1.7 lbs.  However, the NetBook includes an 8 hour battery.  I'm using a portable PowerStation battery to power the mini-ITX as well as some of the microcontroller boards and it weighs 2.2 lbs.  So unless you're already using a battery that can also power the mini-ITX, the NetBook will probably win for overall weight.

As for the usefulness of a screen and keyboard on the robot, it probably depends on how you interact with the robot.  For example, some projects use the screen to display an animated head and if the laptop is mounted fairly high (e.g. several feet off the ground) then you can also use the NetBook's built-in webcam for face recognition and the keyboard for text input.  For my own projects, I haven't used an animated head and I prefer a separate camera on a pan and tilt mechanism.  My current robot is also too small and too low to the ground to make the screen and keyboard useful.  Instead, I use Remote Desktop to log into the robot wirelessly if I need to use Windows or my robot's GUI.

Having said all that, I think a dual core NetBook or laptop still might be the way to go if you have a convenient way to mount it to the robot.  A tablet laptop would be even nicer.  Then you have all the options and you can always run it with the lid closed if you don't need the keyboard and screen. And of course, you can also borrow the robot's "brains" and use it as a regular laptop.

--patrick
from United States  [214 posts] 14 year
Just a heads up on that link I posted earlier to the Zotac mini-ITX board.  I didn't realize that this particular model (IONITX-A-U) runs *only* on 19v which is supplied by the included adapter.  There is no 20-pin connector to use alternative power.  Since I need to run the board off a 12v battery, I am returning it to Newegg for a replacement with model IONITX-F-E which has the 20-pin power connector instead of the onboard 19v DC-DC circuit.

--patrick

This forum thread has been closed due to inactivity (more than 4 months) or number of replies (more than 50 messages). Please start a New Post and enter a new forum thread with the appropriate title.

 New Post   Forum Index