com.sun.robot.humanoid — the Office Toy in JBoss/RedHat Austin
Phillip and I bought the "Java robot" from JavaOne, and decided to keep it in the office as an "office toy". This is easily the coolest geek toy I have seen in years. It can walk around, sit / get up, pick up stuff with its hands, speak / sing (plays any MP3), play video / games on its LCD screen, and even take pictures. It detects and responds to sound, visual objects, and colors. It can even automatically recognize and follow humans. Of course, it can be remotely controlled as well.

But the best feature of all is that the robot runs Linux and can be programmed via a simple Java API! There is a simple Java wrapper class that allows your application to interact with all sensors and motors on the robot. You typically run your application in a loop, and try to make the robot respond to events coming in from the sensors. I have not tried but here is some sample code from the SDK. You are smarter than the robot and can figure out what it is supposed to do.
Isn't that COOL!
-
Humanoid humanoid = Humanoid.getInstance();
-
-
... ...
-
-
while (true) {
-
// Turn off the bright LED in the eyes.
-
humanoid.enableLED(false);
-
-
// Look around.
-
humanoid.VISION.track();
-
-
// Check for color red in vision field. Run to red.
-
if (humanoid.VISION.getTarget(Vision.RED)) {
-
// Turn on the LED in eyes to signal that it sees RED
-
humanoid.enableLED(true);
-
-
// Advance on target.
-
humanoid.WALK.walk(Walk.FORWARD_GAIT1, 10);
-
-
// Are we at the bump?
-
If (humanoid.TOUCH_LEFT_FOOT_FRONT.isTriggered()||
-
(humanoid.TOUCH_RIGHT_FOOT_FRONT.isTriggered()) {
-
// We are done.
-
break;
-
}
-
} else {
-
// Do not see RED in current vision field -- so the robot moves around to search for RED
-
boolean wanderLeft = 1 != rand.nextInt(1);
-
-
// Wander left or right
-
if( wanderLeft ) {
-
humanoid.WALK.turnRight(2);
-
} else {
-
humanoid.WALK.turnRight(2);
-
}
-
-
// Walk forward a bit
-
humanoid.WALK.walk(Walk.FORWARD_GAITFAST, rand.nextInt(3) + 3);
-
}
-
}
-
-
// Raise the arm to declare victory
-
humanoid.SHOULDER_LEFT_SERVO.moveToPosition(
-
humanoid.SHOULDER_LEFT_SERVO.maxPosition() / 4,
-
humanoid.SHOULDER_LEFT_SERVO.maxSpeed());
-
-
// Take a picture of the RED target and display it on the LCD
-
humanoid.CAMERA.displayImage(pictureFile, 5000);
-
-
// Say something
-
humanoid.AUDIO.playClip(mission_accomplished.mp3);
-
... ...
The robot is BIG -- it was a challenge to bring it back from San Francisco.
Just notice how big it is compared with Phillip's 19" monitor in the background.

Anyway, we have not officially started playing with it yet (product release deadlines! ;)). I will continue to blog about it here in this blog as we discover its features. If you have ideas on applications, leave a comment -- we might implement it and post a video!
May 18th, 2007 at 11:41 am
My wife was thinking of buying one in SF, but we decided against it simply because it would be too hard to carry it back to NJ. Ah well, we can always order it later….
May 18th, 2007 at 11:54 am
It will probably be a little more expensive if you order from their site — at least this is what I was told!
I just checked it in at the airport with my suitcase and it was easier than expected.
cheers
Michael
May 18th, 2007 at 4:23 pm
we just tried it. it’s awesome!!
first program should be to train robot to bring beer to the owner
voice activated of course
May 21st, 2007 at 5:17 am
How much did it cost?
Thanks.
May 21st, 2007 at 12:22 pm
JavaOne price is $270 plus tax. I am told that the retail price will be $50 to $100 more than that.
June 18th, 2007 at 10:55 pm
In code, robot never looks left???
June 18th, 2007 at 11:24 pm
vision.track() looks around. The robot uses its left foot to detect the threshold and raises its left arm when done. But it does look both left and right.
June 27th, 2007 at 1:59 pm
Key question is, can you get it to bring coffee?
July 6th, 2007 at 11:26 pm
Even more important, can you get it to MAKE coffee?
August 4th, 2007 at 2:21 am
I’m surely interested, but is the other type robots (roboraptor) can be programmed with java too?
October 9th, 2008 at 4:56 am
This does look cool. But my favourite NEW robot toys would have to be the spykee, isobot, tribot and rovio (coming soon….). They just seem to be getting more and more advanced