Robot Platform GSoC Proposal

Although I'm a little late, I want to follow the recommendation of our
university's TI contact and propose a GSoC 2010 project.

As a member of the AllemaniACs RoboCup Team (http://robocup.rwth-
aachen.de) I have developed the Fawkes robot software framework
(http://www.fawkesrobotics.org). Currently we are using it on various
platforms, ranging from Core2Duo machines on custom-made robots down
to AMD Geode LX800 on the Nao robot (http://www.aldebaran-robotics.com/
en). Additionally we have ported the software to Maemo.

The idea of this proposal is to create a ready-to-use robotics
platform based on the BeagleBoard. One of the usual hassles when you
start working on a robotics projects (after building the robot) is
getting a system up and running from where you can start doing the
real work, creating an application for processing sensor input or
controlling the robot's behavior.

The proposed project would create such a platform, that you can use on
top of a BeagleBoard to allow for immediately starting to work on the
intended application. The BeagleBoard is powerful enough for quite
some robotic tasks. With the OpenGL capability one could also think
about providing a status display or control application. Using the USB
port and network connectivity multiple BeagleBoards can be federated
to solve even more complex tasks.

The platform would consist of a Linux image, a robot software
framework and example applications. We would use OpenEmbedded to build
the base system. We have used it already to extend the original image
of the Nao robot (cf. https://trac.fawkesrobotics.org/wiki/Nao/OpenEmbeddedFromScratch).
As the software framework we would use Fawkes (http://
www.fawkesrobotics.org). We have done most of the development at our
research group (http://kbsg.rwth-aachen.de) for our own robots, and it
comes with several applications already. During my thesis I have
developed a behavior engine employing the Lua scripting language. The
whole system is very light-weight and has proven as a good
architecture even for the less powerful Nao robot (cf.
http://www.fawkesrobotics.org/publications/). We have also ported the
framework to Maemo, e.g. to run monitoring GUI applications on the
Nokia N810/N900 (last screenshot at http://www.fawkesrobotics.org/gallery/screenshots/page2/).
The Lua-based behavior programming environment can serve as an easy
start for making a robot do something. A next step could be
integrating support for managing the DSP, so that it can be used for
sensor processing etc.

This project would consist of:
- Create an OpenEmbedded image that brings all relevant prerequisites,
including libraries used in robotics like OpenCV or Lua. Create new
recipes for additional software when required (as we have done before,
cf. http://git.fawkesrobotics.org/oe-nao.git)
- Create packages for Fawkes
- Create example applications for the board, for example a simple
vision or laser data processing application
- Create a demo application, that involves using the Lua-based
behavior engine
- Connect the BeagleBoard to at least one of our robots and let it
execute some tasks, showing the general applicability and easy
federation with other platforms.
- Provide documentation on how to get started with the image, and how
to adapt it to the platform at hand.

What do you think, would that be a useful BeagleBoard application?
With my personal background (6+ years experience in robotics, worked
with OpenEmbedded and the involved software already, plenty of
robotics hardware and applications available here) I am able to
accomplish this in the given time frame. I also think that this will
be very useful contribution for the BeagleBoard, as it reduces the
time to start developing robotics applications on top of the
BeagleBoard.

Please let me know what you think very soon, as the application
deadline is approaching.
  Tim

Tim,

I think you definitely qualify. Please provide your proposal to GSOC
site for our project.
Please don't forget that you need to interface BeagleBoard somehow to
your robotics hardware. So it wouldn't be a software only task to my
mind.
Or is USB/Ethernet sufficient?

We would still need to find a good mentor for you. I am not really
qualified for any robotics work although I think it would be great
fun. Also I don't have an overview if any other mentor here has that
knowledge/interest. Maybe Jason can route this to the right person.

Regards.
  Frank

Tim,

I think you definitely qualify. Please provide your proposal to GSOC
site for our project.
Please don't forget that you need to interface BeagleBoard somehow to
your robotics hardware. So it wouldn't be a software only task to my
mind.
Or is USB/Ethernet sufficient?

Ethernet is sufficient. It's the usual interconnect we use internally.
Hardware is often connected using USB these days. I can imagine for
example creating an application using the Hokuyo laser range finder, for
which I have already submitted various patches upstream and which works
nicely with Fawkes. For the kind of device it's also relatively cheap.

We would still need to find a good mentor for you. I am not really
qualified for any robotics work although I think it would be great
fun. Also I don't have an overview if any other mentor here has that
knowledge/interest. Maybe Jason can route this to the right person.

I will submit the proposal now as I saw that today is feedback day. I
hope that someone is willing to mentor. I'm usually pretty easy going
and self-sufficient. So I hope not to cause much work or even grieve for
my mentor.

Regards,
  Tim