Programming robots is hard. Most people just want to tell the robot what to do so they can concentrate on coming up with a cool robot that can get you a beer, or work on a good route through the house.
I made a C# version of the RoombaSCI (RoombaOI) specification so that you can be familiar with the iRobot API but not have to program all of the bits & bytes.
If you look at the example project, you will see that you should be able to get things going in just a few lines of code. If not, drop me an email at firstname.lastname@example.org & I'll help you get going.... read more
While C# RoombaSCI is complete, it always needs improvement. I am sure you could do something that may trip things up. Help make it better for the next guy RoombaSCI!
also, if you have any questions or would like some explanation on how to program something or make something work.. drop me a line at email@example.com
Added an example to call the Song command, which is also a good example as it shows you the "Execute" method used to call non-RoombaSCI commands, such as commands for the iRobot Create.
Oh. so people want to know how to use the framework?? imagine that.
so I have created a file that will get longer as time goes on saying important things about how to use the framework, so until the next version is released, you can either read it off my nightly build, or...... how about I paste what I have so far below..
Thank you for downloading the RoombaSCI Framework!
My goal with this framework is to make it as easy as possible for you to program your iRobot Roomba or Create... read more
I admit.. I have been off playing with my new iRobot Create, and writing the CreateOI framework code.
and RoombaSCI is still not done! but never fear, I won't be abandoning it anytime soon. This framework contains code specific to Roomba, although Create will support the code through backwards compatibility.
However, I will be rebranding the forms so users of the iRobot Create know that they can use this Framework. Eventually, it should be able to tell the difference between the 2 robots as well. ... read more
ok, so you are interested.
Head on over to the "Examples" Forum to look at some examples on how to use the framework to get your Roomba driving off your desk in as few lines of code as possible.
preliminary results are: it does work with the iRobot Create, however, every once in a while Create will spaz out & try to run off. Perhaps my brand of Roomba juice isn't its favorite??
Well, they have upgraded a number of bits of the API with the Create. They also have a defined header for the (much larger) Sensor Packet, where the Roomba did not have any start or end of packet indicators.. RoombaSCI has to look through the packet for familiar indicators, and then uses those to map out the rest.... read more
almost there. ran into some minor display problems in other forms along the way, but that was quickly remedied. Once that gets done, then I will be putting out a new version (like in the next week), however, remember, you can pull down the project as it stands anytime from subversion. No checkins are allowed if it does not build.
Next week I will be the recipient of an iRobot Create Robot. The spec is very similar to the RoombaSCI, but in may ways very different. This will give me a chance to move to a 3rd version of this tool by means of refactor. The goal for the newly christened C# CreateOI is for it to be reverse-compatible with the Roomba, is it will contain the next version of the RoombaSCI within it, however, it will be renamed the C# RoombaOI Framework, and the new RoombaOI class will be in both this project & the CreateOI project (as a second robot chassis in a possible iRobot Factory object. It is nice that in Visual Studio you can have the same class in 2 projects!) so the good news is that I can be working on both at the same time.... read more
The rule here is that the code must build before it is checked in. This is where the nightly builds go. Now If I can only get the "CVS Browser" to work...
They have me listed as creating RoombaFX too, but that is forgivable. Hacking Roomba is a how-to that takes you from ground level soldering to programming Roomba.
especially if it in *not* working for you! There is more than 1 way to hook Roomba up to your computer. Some ways work better than others.
Roomba is a finicky piece of hardware & the uninitiated sometimes need a few tips to get everything running smoothly.
feel free to email me or post here. I would like to hear about your experiences & be able to integrate them into my new app & SCI Class.... read more
Roomba monitor has taught me a good many things about the right ways to poll Roomba. I am now integrating the knowledge gained into a new, improved Roomba Test App. The sensors were, and remain, a bear to display to the user in a clean, instructional way. This next app should make things a lot easier to understand, and snappier.
The first version of the Test App wound up having a lot of my "development garbage" strewn around. I don't feel that it makes a good example. In this new version, I am refactoring functionality into the RoombaSCI object, and applying the new Sensor Monitoring code.... read more
Within the next month I will be putting out a new version of Roomba Term. This version builds on the practices learned from the creation of Roomba Monitor.
Sensor polling will be a lot more stable, and the code will be refactored, with a few more features (automation) put into the SCI class as well.
This app of course, is meant as a demonstration of how you can use the C# RoombaSCI class, as well as to be a useful diagnostic tool for your Roomba.... read more
Added this new VB.Net 2005 which uses the C# Roomba class.
Roomba Monitor is intended to be a separate app that will
display various Roomba statistics. It is intended to serve
as a tool to "watch" Roomba, run 'macros', etc while you
experiment with him.
It automates many of the procedures done manually with
Roomba-Term. My goal is for it to be simply a sensor packet
"sniffer" and to display applied knowledge about Roomba's
performance. This app is not intended to replace
Roomba-Term. In fact, I am using as a tool for myself
to figure out ways to make Roomba-Term a more stable app. ... read more