Если не вдаваться в технические тонкости USB, то мне кажется, что одна из самых интересных задач - научить робота взаимодействовать с окружающим миром.
В простейшем виде это может быть просто осмысленный отъезд от препятствий с попыткой составления карты. Если при этом добавить функции взаимодействия с предметами может получиться очень интересная "живая" машина.
Один из проектов, которые мне понравились за последнее время, называется "Yellow Drum Machine".
http://letsmakerobots.com/node/112
Робот, натыкаясь на препятствие, барабанит по нему и слушает, что получилось, затем сэмплирует полученный звук и начинает воспроизводить его, подыгрывая себе на предмете и дополнительной палкой, расположенной сзади.
Если добавить в программу функцию различения предметов по звуку, плюс карта местности, плюс разнообразить реакции. может получиться совершенно забавная удивительная "живность". Если она еще будет бегать на ножках и вертеть головой, то это уже почти ALife.
Вот тут пример потрясающего верчения головой.
http://myrobot.ru/news/2008/05/20080518_1.php
Согласитесь, впечатление замечательное, жаль только, что это работа оператора за пультом управления.
А если серьезно, то задача реализации "умственных карт" даже на уровне условных рефлексов может быть весьма долговременной целью. имхо...
http://myrobot.ru/news/2007/05/20070510_1.php