1
$\begingroup$

Is it possible to control the Create without using any ROS whatsoever? I know it has all these serial/Digital I/O pins that connect to ROS which controls it using drivers/libraries. But how hard would it be to do so using, say, a PCduino?

I'm asking this because I'm having trouble launching the create using ROS (question)

$\endgroup$
3
$\begingroup$

It is very easy to control an iRobot Create with an Arduino or other microcontroller.

If you have one of the Mini-DIN cables (circular ones) that you are willing to cut up you can wire the correct pins into the TX and RX of an Arduino or PCDuino.

I have found that it is easier though to use the large DB-25 connector (which is the same one used on old printers and scanners) because it can provide 5v regulated power directly to an Arduino (but it can't provide enough current for a PCDuino) along with the serial data.

The pinouts for both of the these connectors can be found here: http://www.irobot.com/filelibrary/pdfs/hrd/create/create%20open%20interface_v2.pdf, along with a lot of other information.

For software I recommend this Arduino library: http://www.airspayce.com/mikem/arduino/Roomba/, which is simple and easy to use.

Edit: I just realized that you wanted to do this with a PCDuino, which I have never used, but I think you would have to port the library. The pdf I linked provides information on the entire protocol. If you don't need the processing power of the PCDuino it might just be easier to use an Arduino.

I hope this helps.

$\endgroup$
  • $\begingroup$ Thanks. I thought of that as well, but in the meantime I found a matlab contributed library that has a user friendly interface to talk to create and it works like charm $\endgroup$ – AVJ Jun 27 '14 at 2:19
2
$\begingroup$

There are two ways to do this without using ROS(and indeed the ROS drivers are in fact, wrapping the commands that are sent to the Create base).

For the original(ca. 2007) Create, you might want to see if you can find a "Command Module" on eBay or something. This has an ATMEGA 168 AVR in it with a USB/serial connection and the pins coming off the ATMEGA connected to several DB-9 connectors.(These are NOT serial ports). You write C code to program the AVR, which talks to the Create through its DB-25 connector. This tends to involve a lot of bit-masks and bit-shifting since some of the AVR pins are connected to the motors, bumpers, etc. of the Create. If you're not experienced in low-level programming in C or Assembly, this would not be the most productive way for you to control it.

OR

You can send OIS commands to the Create via the DIN-8 connector. This involves sending a series of bytes to the Create through a USB/Serial cable which tell it what to do.

Hope that helps you some.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.