Building and running the OSCAR code

This will probably be the conclusive article for the OSCAR project. A few developers have had questions regarding building, installing, and running the app and the following general instructions should get you going.In short, you will get the code, set up the project, build it using visual studio, deploy the code to a PC that will sit on the robot, and then will setup and run the server and hangout.

Usage

To build the project:

To run the project:

  • (Optional) Install the hangout app by specifying the location of your Hangout Gadget XML file from your web server or using the example XML path
  • Put the output binary from building the project onto a PC on top of a Roomba
  • Connect the robot to the PC using a serial or USB cable
  • Start the server by running the binary that you built.  The server will start up and connect to the robot that you have plugged in.
  • (Optional) use a service such as localtunnel to make the server publically available
  • Start a hangout and add the hangout app
  • Place the path (URL) to the Robot server into the hangout app
  • You should now be able to control the robot from the hangout

Some extra tips and troubleshooting

Building the project without using Visual Studio

I created a video on how to build and run projects just using the Windows SDK:

Wrong COM port?

When the server starts, it attempts to use the default iRobot port if your cable is plugged into USB (COM3).  If you are using a different port, the app should gracefully fail and prompt you for another port.  When this happens, put in your port, casE sensiTive, such as COM1, as input, and you should be good to go.

Setting up Localtunnel?

To run localtunnel properly on Windows, you must FIRST INSTALL CYGWIN.  Using the non-cygwin versions of Ruby with localtunnel doesn’t work. I didn’t look too deeply into this but I’m guessing they are either using UNIX style paths or are just using UNIX pipes.  In practice, I found that localtunnel was closing my stream after roughly 5 minutes, I’m not sure if this was by design, but it is something to be aware of.

Keyboard shortcuts

WASD Controls and Changing the URL

For the following JavaScript keyboard shortcuts, you must be using a Mac, I have no idea why I made this decision, but it made sense at the time. Hold down the Shit+Alt/Option+ Control keys (not the Apple key) and then press either WASD for video game like controls or U for changing the URL.

This is useful for if the tunnel goes down or your server changes IPs while the hangout is running.

Anything else?

If you have any questions, please ask them here or +mention me on Google plus.

See Also