Brian Bentow - Yu-min Kim - Joshua Lewis

Introduction Set Up Progress Responsibilities
Software Hardware

Our system is a dual-boot Windows 2000 / Red Hat 9 machine. The majority of our development is in Red Hat. The following software is installed and functioning on our machine:

Development Platform Summaries


The OPEN-R SDK is Sony's low-level SDK for AIBO programming. We will not be using this directly, but Tekkotsu and CMPack 04 are built on top of it.

Tekkotsu Framework

Tekkotsu is CMU's general purpose framework for AIBO development. CMPack 04 is based on Tekkotsu and we may use it for non-soccer purposes.

CMPack 04

CMPack is CMU's robot soccer program. We will be using this for the majority of our work, as the CMURoboBits labs are based on it.

Remote Framework

Due to the relative newness of the Remote Framework, not many projects use it. The samples demonstrate the ability to access sensor data and move the AIBO through remote commands. We have compiled and run the sample RF code in Windows. We could use this to implement MCL and mimic some of the labs from the class without having to deal with Linux. However, the most compelling work has been done on Linux. CMU has developed Tekkotsu and CMPACK04, the dog soccer program, and AIBO labs which we have decided to follow for the first half of the semester.

Software Hurdles

Makefiles and compilation issues

There are many utilites that come with cmpack that load libraries such as Magick, gsl, etc. at run-time. However, Makefiles that come with cmpack don't handle it correctly (maybe a system-specific problem?); more specifically, when a compiled program runs, it cannot locate libraries, the locations of which are, of course, specified in Makefile with -L option.

There are two ways to solve this problem:
  1. Re-write Makefile (refer to the attached Makefile as a template for future reference) - more control, but waste of time
  2. A better solution: modifying the existing Makefile in few places
  3. chokechain: $(OBJS)
    $(C++) -o $@ $(CFLAGS) $^ $(LFLAGS)

    Change this to:

    chokechain: $(OBJS)
    libtool --mode link g++ -o $@ $(CFLAGS) $^ $(LFLAGS) -ldl

    Now, the utility will work just fine!

    I think there is another way to fix this problem not using the final step, but this works and it's pretty easy to get the problem fixed.

    You can download our Makefile here