Home
914 PC Bots Forum  


c6jones720
User

Platinum Boarder
Posts: 350
graphgraph
Karma: 3  
Cogmation - 2009/05/17 18:31 This thread discusses the Content article: Cogmation

I just had a thought..

Ive been playing around with linux and virtualisation. From what I've seen It turns out that as long as C# applications dont make use of C/C++ unmanaged code most of a windows app can be used completely unmodified in different versions Linux. You dont even need to install wine.

I was messing around with mono and a windows C# app can just be used on linux. Apparently this Cogmation program was written in C# under mono and therefore can probably be used on different platforms too.

Maybe thats the way forward for PCbot development. The only problem I can see is cross platform direct access to the m3 controller.
  | | The administrator has disabled public write access.
edaniels
User

Platinum Boarder
Posts: 240
graphgraph
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
  | | The administrator has disabled public write access.