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:
- 4 wheel skid steering platform
- 3 degree of freedom arm with gripper
- (Physical CoroBot has gripper pressure sensor)
- Infrared distance sensors in front and back of robot
- webcam
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:
- Microsoft Windows XP or greater
- Microsoft .NET libraries 2.0 or greater
- Microsoft Visual Studio 2005 or greater
- Microsoft Robotics Developer Studio version 1.5 or 2008
- Phidgets drivers
- CoroWare CoroBot (optional)
- A working understanding of C# and computer networking
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:
- https://corobot.svn.sourceforge.net/svnroot/corobot/trunk/MSRS1.5Refresh
- https://corobot.svn.sourceforge.net/svnroot/corobot/trunk/MRDS2008
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:
- On the robot, with MRDS and Visual Studio installed
- Install the Phidgets drivers for your platform available here: http://www.phidgets.com/drivers.php
- Use subversion to check out the repository: https://corobot.svn.sourceforge.net/svnroot/corobot/trunk/MRDS2008
and save it to: <CoroBotRoot>
- Convert the code for your username, and flavor of MRDS by running: <MRDSRoot>/bin/DssProjectMigration.exe
<CoroBotRoot>
- Go into the <CoroBotRoot>/Robot
directory and compile Robot.sln
- Copy <CoroBotRoot>/config.xml to
C:/config.xml
- To start the code, run: <MRDSRoot>/bin/DssHost.exe /p:50000 /t:50001 /m:
<CoroBotRoot>/corobot.manifest.xml
- 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:
- Get the code running on the robot as explained above.
- Install the Phidgets drivers for your platform available here: http://www.phidgets.com/drivers.php
- Now, on your computer you want to be the Operator Controller Unit, with
MRDS and Visual studio installed
- Use subversion to check out the repository: https://corobot.svn.sourceforge.net/svnroot/corobot/trunk/MRDS2008
and save it to: <CoroBotRoot>
- Convert the code for your username, and flavor of MRDS by running: <MRDSRoot>/bin/DssProjectMigration.exe
<CoroBotRoot>
- Go into the <CoroBotRoot>/Robot
directory and compile Robot.sln
- Go into the <CoroBotRoot>/OCU
directory and compile CoroBotUI.sln
- Copy <CoroBotRoot>/uiconfig.xml to
C:/uiconfig.xml
- To start the code, run: <MRDSRoot>/bin/DssHost.exe /p:50000 /t:50001 /m:
<CoroBotRoot>/ocu.manifest.xml
- 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:
- On your computer with sufficient power and graphics card to run the MRDS
simulator
- Install the Phidgets drivers for your platform available here: http://www.phidgets.com/drivers.php
- Use subversion to check out the repository: https://corobot.svn.sourceforge.net/svnroot/corobot/trunk/MRDS2008
and save it to: <CoroBotRoot>
- Convert the code for your username, and flavor of MRDS by running: <MRDSRoot>/bin/DssProjectMigration.exe
<CoroBotRoot>
- Compile <CoroBotRoot>/EntireProject.sln
- Copy the files in <CoroBotRoot>/MediaFiles to <MRDSRoot>/store/media
- 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.