edaniels
User
 Platinum Boarder
Posts: 240 |   | Karma: 2
|
Re:Cogmation - 2009/05/20 01:00
I'm taking two approaches that sort of deal with the same problem, even though my underlying OS is still Windows XP.
Firstly, I'm writing in C++ and Java, and not using Windows or C# except for one small module called "OS Support" which compartmentalizes most of the Windows-specific calls that I'm using (Sleep(), and threading). So I could move to Linux, or a Mac, if I wanted to, pretty easily.
Secondly, I've divided the robotic software system into three pieces, which doesn't seem to excite anyone else but I think it's great Basically I'm following a thin-thick-thin approach -- thin robot client, thick "thinking and navigation" program, and thin "console" program which is the GUI for the owner to interact with, view the map, etc. The console program can ultimately be placed on a cell phone or other small device so as to act as a remote control. The thinking and heavy navigation processing can be done on whatever computer you want, in any language, powered by household electricity.
I'm connecting my three programs together with wifi links and Google protocol buffers, which are incredibly awesome and open source. You define the message and it will write the interface code for you, in C++, Java, and Python. Look into protocol buffers, they are great.
Link: http://code.google.com/apis/protocolbuffers/docs/overview.html
|