Mono Does Robotics

by Miguel de Icaza

Shawn at Cogmation has written us to notify us that Mono is being used as the scripting engine for their robotFoundry application.

From their testimonial page:

We needed a portable cross-platform, architecture compiler system that would allow us to develop code on one OS or architecture and deploy it on another with out recompiling. The problem with using gcc was that for every target OS or architecture we would need a separate cross compiler. Additionally maintaining and developing this toolset would be a large task.

Initially Python was selected as our cross platform language. Python was great but we were always concerned with its speed, especially in real-time applications.

We discovered Mono while we were evaluating 3D engines. Mono was successfully being used to develop video games and it was extremely fast. We performed a small test and compared the speed between Python and C# mono and were shocked at how fast mono was compared to python. In addition to the speed increase and portability, we now had the ability to allow our users to write scripts in any .Net language.

Switching to Mono has given us the ability to write very fast cross platform applications and has provided us with a multi-language scripting interface, and the integration of Mono within our application suite has proved to be a huge success.

(Emphasis added).

From the product description:

robotFoundry is a powerful graphical coding environment for robotics. Use drag and drop modules to add functionality to your code, quickly linking them to create program flow and robot controls. Generate code with a click, and transfer your code to your robot or robotSim with another click.

Code for a physical robot or simulated robot at the same time - switch between them at any time to generate code for the robot or robotSim to run identical code. Choose from pre-existing robotFoundry robot templates, or add components to create your own. Many modules are available, ranging from simple controllers such as line trackers and wall followers to basic building blocks like variables, mathematics and logical operators. Choose your own level of programming, and allow robotFoundry to take the coding out of your coding.

Additionally their robotSim lets you simulate your robot software in a simulated virtual world. RobotSim is built using Unity3D which is also scripted with Mono:

RobotSim: Simulated Packbot with ARM

You can use robotFoundry and robotSim to write code for your Roomba or your iRobot Create without burning the batteries:

RobotSiming a Roomba

Posted on 03 Feb 2008