Monday, June 16, 2008

Robot ghost from the past, and an Obstacle avoidance algorithm

As some of you might know, the engineering labs in Ross building were closed in order to
dedicate them for other uses. In return we got 2 spanking new labs in the Levi building.
The first time we used our new labs, everything was still unorganized and stored in cardboard
boxes. I started snooping around, digging into boxes to see if I could find some dry erase markers
for our white board. In one of those boxes, under a pile of cables and two big books about circuit design I had a glimpse of some red casing and one black wheel. After removing those obstacles I found myself staring at a Pioneer 2DX robot - A bit old I have to admit, but still one of the most popular platforms for robotic research around. Apparently (so we were told afterwards) it was originally bought for a course that took place in 2001, and after that remained out of sight (and out of mind) for 7 years, locked in a closet.
We immediately went to work trying to get it to show some signs of life, and after two charging sessions of about 12h each its batteries became fully operational again.
Our development platform (Player/stage) is especially suited for working with this type of robot so we quickly got it to communicate with the Pioneer and realized that, considering its old age and storing conditions, it is in pretty good shape - 7 out of its 8 sonar sensors are working (only the front one is bad), and so are the wheel encoders. I don't have to tell you that obstacle avoidance becomes much more robust when commanding 7 sonar range finders that when only working with 1, so we combined the information from these sensors into a much nicer obstacle avoidance algorithm. :)
I'm posting some pictures of the new robotic base, and two videos of obstacle avoidance in action. As before, one shows HANS making a complete mess of things, and the other shows the algorithm after more debugging successfully traversing the little obstacle course.

Here is the new (old) base, isn't he a looker?

Trying, but failing.....

This time, a much better performance

Monday, June 9, 2008

Obstacle awareness and HANS in its complete form

We have been working (amongst other things) on HANS' obstacle avoidance system. Planning a path around obstacles and continuing on the desired path is not a very simple task, but in the mean time we got HANS to at least be aware of its surroundings and refuse to collide into objects. This is done using the sonar range finder mounted at the front. The sensor is very unreliable and so we need to take into account the last N readings in order to make intelligent decisions. This can potentially cause slowness of reaction, that is realizing an obstacle is on the way a bit to late to actually stop in time to avoid collision. We had to fine tune the parameters of the algorithm (The number of readings to use, the threshold distance to signal an obstacle etc') in order to get good results. I'm attaching two videos that show, first, a failed attempt and then a successful one.

1) Almost made it :)

2) Here we go ...

I also noticed that we haven't uploaded a picture of HANS in its final form, with laptop, sonar, camera and all . So I am placing a couple of those here now, and I also changed HANS' profile picture at the top of the blog.