Author Archives: Joho

Our first Nao is on the FedEx truck for delivery!

After an announcement yesterday that Aldebaran finally sent the first of our Nao, we got a tracking number this morning which shows the yet unnamed robot’s journey through Paris, Newark and then finally Portland. This morning at 7 am it was put on a truck for delivery, so it should make here by tonight! Stay tuned for unboxing pics and more coverage.

Robotstadium: Online Nao simulation league

Gostai, Cyberotics and Aldebaran have announced Robostadium, which is an online simmulation league based on the rules for the Nao SPL . The league is open to anyone, and the winner gets a free Nao and a software pack with URBI and Webots PRO. I think this will be really cool, since it could draw a ton of outside interest to our league.

I’d heard about this idea a while ago, and I was worried that only the established RoboCup teams would have a fighting chance, since walking is so difficult, but now I think there won’t be any or at least very few RoboCup teams participating:

The competitors will have to program a team of 4 Nao robots using the URBI middleware and the Java programming language.

Since most teams have considerable code infrastructure of their own in laguages like C++, and Python, porting this code to Java and learning a proprietary language like URBI is going to be a huge barrier to entry. (Especially considering that Nao teams already have a ton of work on their plates getting a new code base running). I’d have loved to participate, and we probably would have had a decent shot at winning the prize, but the potential reward isn’t really only worth it since code on the actual Nao can’t interoperate easily with the code in the Webots competition. (Since the Gyros aren’t simulated in Webots anyway, having a good walk engine in the simulator would have been difficult regardless of the requirement to use URBI.)

From a business side, this move to make it more difficult for RoboCup teams to enter is probably smart. Alderbaran is already getting money from all the RoboCup teams, so broadening their markets is probably a good thing. (i.e. It would be discouraging for new comers to get beat by all the RoboCup teams who have been doing this for longer.) Also, it hardly makes sense for Gostai to support behavioral scripting in Python or other languages like C++ (with can run a Python interpreter), since Gostai makes a living off people using their product to exactly those things.

I’m also interested to see how the rules and refereeing is going to work in the online simulation. The current world is pretty good, but out-of-bounds detection needs some work, and there is no replacement for a game-controller, as of yet. Without human-refereeing, it could become really tricky to assign pushing penalties, obstruction penalties, and most importantly ban goals scored from the center circle.

The Naos are coming soon!

Last week we got word that the parts for the first batch of Nao had arrived in Paris, and that we would be getting our first two robots soon. Manuela Veloso from CMU went to visit the Aldebaran plant in Paris, and was apparently impressed with the Nao she saw. Check out the video here .

I was surprised that the robots are being assembled in France – I was expecting them to come ready-made from China or Taiwan like every other piece of electronics I know. Hopefully this means they will be higher quality, so long as no one forgets to plug in the cable to the camera or something! Also, the German Team has discovered from the video that the simulator prototype and the real robot have a different joint order in the legs relative to the Webots prototype, so probably there will be other discrepancies we’ll need to tackle once we get them.

On Friday we got the billing request, so hopefully that means once they get the money they’ll ship us ours! We could get them as soon as next week, which would give us 8 weeks of prep time for the demo at the US OPEN on the 24th of May. Eight weeks should be enough to tune our walk to work on the real robot, and to implement some simple soccer behaviors, so we could see some real soccer at the demonstration!

Edit: We have received word that the Nao are to ship on Monday, March 31.

Webots 5.8 released with new field, new goals and better performance

.flickr-photo { border: solid 2px #000000; }
.flickr-yourcomment { }
.flickr-frame { text-align: left; padding: 3px; }
.flickr-caption { font-size: 0.8em; margin-top: 0px; }

We installed Webots 5.8 today, which has included the changes from the new Nao rules. Beacons have been eliminated, the goals are much bigger, and the field size grew slightly. Why no one announced this release is puzzling, but it was only released about 10 days ago, so maybe they haven’t had the chance.

This version of Webots also has the Nao contest setup, which we hear rumors of starting any day now. Allegedly, the winner of the online contest will receive a Nao, and a PRO license of Webots. Though I can’t see any non-RoboCup team winning the competition, since it takes a lot of infrastructure development to make a successful team.

We’ve tested our vision algorithms on the new goal size, and they seem to be working great. Also, the new verison seems to be running faster than before on our Mac Pro, even though Webots refuses to take advantage of the multiple cores to do it’s physics processing.

Nao turn-in-place demo

After a breakthrough in robot motion technology, our nao’s can turn in place at an astounding rate of 16 degrees-per-second. The aibos probably turn at least 10 times that fast. Eventually we will run machine learning on the gait to get a faster one, but this one is pretty good.

The key to having a stable turn is to be able to widen the angle between the legs and take one step with wide legs, and then a step which restores them to normal. The only joint on the Nao which can widen this angle is the HipYawPitch, so you need to compensate for it’s use with the other Hip joints.

See the video here.

Nao’s omni-directional gait walks in circles, around the field

Much progress on getting the Naos to walk has happened since our last post about getting the Nao to take his first steps. We are now able to walk in any direction, and even turn as well, all with one set of gait parameters.

Our top speed going straight ahead (measured with the simulator clock, and field lines) is about 13 cm/s. For comparison, the walk published from aldebaran is about 4.5 cm/s and the walk from the built-in urbi script is about 10 cm/s.

Although the walk is probably still a little too unstable to work on the real robot it will soon allow us to start writing behaviors and playing soccer in the simulator!

See the video of our walk here

Robosapien finally holds key to his own destiny

.flickr-photo { border: solid 2px #000000; }
.flickr-yourcomment { }
.flickr-frame { text-align: left; padding: 3px; }
.flickr-caption { font-size: 0.8em; margin-top: 0px; }

Our robosapien has finally discovered how to become fully autonomous by holding his own remote. In his glee, he discovered how to “party like a robot”, and incidentally also learned how to play soccer.

Northern bites svn commits 2005-10 through 2007

.flickr-photo { border: solid 2px #000000; }
.flickr-yourcomment { }
.flickr-frame { text-align: left; padding: 3px; }
.flickr-caption { font-size: 0.8em; margin-top: 0px; }

I did some analysis of the svn log files, and came up with an interesting graph of the number of commits per day over the past 2+ years. I also found that there have been over 25 people who have at one point contributed 10 commits or more to our code base.

Note the pyramid/triagles which lead up to each of the robocup’s, and then subsequently die off quickly.

Not surprisingly, Henry has logged the lion’s share of the commits, with a total of 1158 commits, followed by Jeremy (371), Me (360), Chown(252), Admin(239), George(217), Tucker(162) and Nick(157).

Though it’s stupid to measure quality of code soley by number of commits, the numbers certainly correlate well with how long each member has been on the team. Also, the Admin user’s commits are probably split between Henry and Jeremy, so Jeremy probably has many more commits than me.

Edit: The numbers I originally posted were wrong. They have been replaced by the correct ones.

Our SLOC readings are higher…

In July 2006, after our first world robocup competition in Bremen, we ran David Wheeler’s SLOCCount on our codebase, when our SLOCCount was 33K. Today, I ran the script again, and our SLOC readings are nearly twice as high.
The big changes come from another 10K lines of C code for recognizing lines and the new goals, and 16K lines of Python code that define the behaviors we used to win last summer:

Total Physical Source Lines of Code (SLOC) = 60,496
Development Effort Estimate, Person-Years (Person-Months) = 14.85 (178.25)
Estimated Average Number of Developers (Effort/Schedule) = 9.95
Total Estimated Cost to Develop = $ 2,006,571
(average salary = $56,286/year, overhead = 2.40).
SLOCCount, Copyright (C) 2001-2004 David A. Wheeler

I’d be curious to know what the SLOCCount of other Aibo teams is – especially the GermanTeam, and the NUBots.