CoroWare CoroBot Robotics Developer Studio Project

This is the community site for the CoroWare CoroBot Microsoft Robotics Developer Studio code. This code includes drivers to run the robot, an Operator Control Unit to remotely operate the robot, as well as a simulated version of the robot to run in the MRDS physics based simulator. CoroWare has released control of this code and given it to the robotics community. You are welcome to contribute bug fixes, new features, and anything else other CoroBot enthusiasts might enjoy.

CoroBot and simulated CoroBot features:

Screenshots

Please bear with us as we continue to improve the code and documentation. Currently, there are no pre-compiled binaries available for download. So all code must be compiled before use. For detailed information please see our SourceForge project page. But here are a few quick start guides.

 

Project prerequisites:

 

Quick start guide notes:

These guides only outline the steps you must take. There is some detail left out.

In the guides below, substitute the repository path for your version of MRDS:

The checked out repository path will be designated by: <CoroBotRoot> and the path to your MRDS install will be designated by: <MRDSRoot>.

If you are using RDS version 2008 R2, use the MRDS2008 directory. The code is compatible between versions once DssProjectMigration is run.

How to run the code on the robot:

  1. On the robot, with MRDS and Visual Studio installed
  2. Install the Phidgets drivers for your platform available here: http://www.phidgets.com/drivers.php
  3. Use subversion to check out the repository: https://corobot.svn.sourceforge.net/svnroot/corobot/trunk/MRDS2008 and save it to: <CoroBotRoot>
  4. Convert the code for your username, and flavor of MRDS by running: <MRDSRoot>/bin/DssProjectMigration.exe <CoroBotRoot>
  5. Go into the <CoroBotRoot>/Robot directory and compile Robot.sln
  6. Copy <CoroBotRoot>/config.xml to C:/config.xml
  7. To start the code, run: <MRDSRoot>/bin/DssHost.exe /p:50000 /t:50001 /m: <CoroBotRoot>/corobot.manifest.xml
  8. You may want to modify <CoroBotRoot>/run_corobot.bat with your paths and make it so this batch file runs automatically on startup.

Advanced usage notes: You don't have to compile the code on the robot. And you don't need Visual Studio or the full version of MRDS on the robot either. All you need is the MRDS redistributable. You can compile the code it off of the robot, then copy over only the assembly .dlls, manifests, and config files.

 

How to use the OCU to drive the robot remotely:

  1. Get the code running on the robot as explained above.
  2. Install the Phidgets drivers for your platform available here: http://www.phidgets.com/drivers.php
  3. Now, on your computer you want to be the Operator Controller Unit, with MRDS and Visual studio installed
  4. Use subversion to check out the repository: https://corobot.svn.sourceforge.net/svnroot/corobot/trunk/MRDS2008 and save it to: <CoroBotRoot>
  5. Convert the code for your username, and flavor of MRDS by running: <MRDSRoot>/bin/DssProjectMigration.exe <CoroBotRoot>
  6. Go into the <CoroBotRoot>/Robot directory and compile Robot.sln
  7. Go into the <CoroBotRoot>/OCU directory and compile CoroBotUI.sln
  8. Copy <CoroBotRoot>/uiconfig.xml to C:/uiconfig.xml
  9. To start the code, run: <MRDSRoot>/bin/DssHost.exe /p:50000 /t:50001 /m: <CoroBotRoot>/ocu.manifest.xml
  10. You may want to modify <CoroBotRoot>/run_ocu.bat with your paths and put it on your desktop.

Don't forget to open up the firewalls on the OCU computer and robot.

 

How to use the simulated robot:

  1. On your computer with sufficient power and graphics card to run the MRDS simulator
  2. Install the Phidgets drivers for your platform available here: http://www.phidgets.com/drivers.php
  3. Use subversion to check out the repository: https://corobot.svn.sourceforge.net/svnroot/corobot/trunk/MRDS2008 and save it to: <CoroBotRoot>
  4. Convert the code for your username, and flavor of MRDS by running: <MRDSRoot>/bin/DssProjectMigration.exe <CoroBotRoot>
  5. Compile <CoroBotRoot>/EntireProject.sln
  6. Copy the files in <CoroBotRoot>/MediaFiles to <MRDSRoot>/store/media
  7. Run either ClassPackEnvironment, SampleSimulation, or CoroBotApartment to start the simulation environment with a CoroBot. Or run one of the sample codes: CWDrawSquareTimer, CWDrawSquareEncoders, MSDrawSquareTimer, MSDrawSquarePID.

 

For more help:

To get more help on how to download, install, compile, and run this code, etc. please see our Help forum.

To get help on the CoroBot hardware, please see CoroWare's forums.

To get help on MRDS specifics, please see the MRDS forums.

 

To contribute:

To contribute code to the project you can post links to the CoroBot Mods forum, or send a message to one of our project administrators to join the project. Once you are part of the project, you can check code directly into the repository.

 

FAQ:

What is the CoroBot?
The CoroBot is a 4 wheeled robot with an onboard PC sold by CoroWare, Inc. It has wheel encoders, a webcam, IR range sensors and an optional 3 degree-of-freedom arm with gripper. It is a generic 'platform' robot which is meant to be customized for your own research or application. For more info: http://www.corobot.net/.
 
What is the ClassPack?
The ClassPack is a simulated version of the CoroBot for the MRDS simulator. It supports the same API as the physical robot so you can run the same code on each.
 
What is Microsoft Robotics Developer Studio?
Microsoft Robotics Developer Studio is a new software architecture for programming robots in .NET. It also includes a physics based simulator, and a visual programming language. For more info: http://www.microsoft.com/robotics/.
 
I don't know C#, but would like to use VPL with the CoroBot
All of the code for the CoroBot and ClassPack is in C#, but you *should* be able to use VPL to interact with it. However, this use-case is largely un-tested. Especially for the simulated CoroBot.
 
Why do you still support MSRS 1.5?
MSRS 1.5 was a reasonably stable release of MSRS. It supported simulation editing, something that only the non-free versions of MRDS 2008 support.