24 Agosto, 12:49pm

Ubuntu let me down

We're in the middle of a national robotic contest. We, the mobot's group, are participating in the service robot category, with the old Nomad Scout robot (whose name is now Markovio).

My idea was simple: put an old laptop (PIII/700Mhz/256 Mb ram) in the robot with only player, as a thin client, under an ad-hoc wireless network. The "brain" of the system, which will hosts the SLAM and the Navigation subsystems, would be a desktop computer (PIV/1.6GHz/512 Mb ram), with a wireless card. I decided to put Ubuntu Hoary in the desktop machine, then my SLAM system. Put it to play in a simlated environment, and the things went wrong: my system creates several threads, one for the robot conection, one the the SLAM process and another one to exploration/obstacle avoidance. It's seems that something in Ubuntu (kernel scheduler, or the gthread library or even the hardware) is quite bad, because the threads doesn't work like in my lap, the robot smashed with obstacles, so the obstacle detection thread wasn't processed at time.

I was angry. All my plan went to the garbage can. Only to test the problem, I set up the SLAM system in the old laptop, with Fedora Core 4.... and it works perfectly!!

Ubuntu let me down.