Tekkotsu

I downloaded the Tekkotsu sources from CVS and am attempting to build the software under Debian (Etch) Linux.

What is the OPEN_R_SDK, and do I need it since I won’t be doing anything with AIBO at all?

I see where the software defaults to being built for a MIPS cpu, which the AIBO uses. I just want to build Tekkotsu for a standard x86 at this time just to see if I can get it built. If this works, I will very likely get one of the Atmel NGW100 network gateway boards and try building Tekkotsu for that platform.

Now I need to take time to forge through the Tekkotsu make configuration and see if I can get everything switched to build on the x86 platform. Any pointers would be appreciated. :slight_smile:

8-Dale

No, you don’t need OPENR-SDK, since that’s just for the AIBO.

Tekkotsu originally ran on the AIBO under Sony’s Aperios operating system and OPEN-R API. Like all AIBO programmers, we used a gcc cross-compiler on the Pentium to produce code for the AIBO’s MIPS processor. Then Ethan Tira-Thompson developed a simulator version of Tekkotsu that ran on Linux and Mac OS machines, and simulated some aspects of the AIBO robot, which was useful for debugging.

The next step was to turn the “simulator” into a full-fledged robot controller that could interface with other types of hardware such as webcams and SSC-32 servo controllers. That’s what’s running our Regis robot, and will be officially released in Tekkotsu version 4.0. What you’ve downloaded from cvs.tekkotsu.org is the beta release, which is still in development and has very little documentation yet.

To build for the x86 platform, simply cd to the Tekkotsu/project subdirectory and say “make sim” instead of “make”. This will build a Tekkotsu simulator for the AIBO ERS-7 that runs on the x86 platform. Note that you will need to edit some lines in project/Makefile and project/Environment.conf to point to the correct directories on your system before doing the make.

For a quick overview of Tekkotsu and cognitive robotics:
tekkotsu.no-ip.org/media/sigcse-2007-workshop.pdf
For a tutorial on Tekkotsu programming:
cs.cmu.edu/~dst/Tekkotsu/Tutorial/
Cognitive robotics class lecture notes:
cs.cmu.edu/afs/cs/academic/class/15494-s07/
Tekkotsu demo videos on YouTube:
youtube.com/profile?user=TekkotsuRobotics

This reminded me to check in a patch to Tekkotsu’s project/Makefile, which skips the OPEN-R SDK check whenever Aperios (the Aibo’s OS) is not being targeted. If you were having trouble with that before, this should help. :slight_smile:

Also, want to make sure you are aware there are two documentation sites:
. . . Main website: www.cs.cmu.edu for hosting)
. . . Staging server: tekkotsu.no-ip.org (runs on a machine in our lab)
The staging server has more up-to-date documentation, so you should use that if using CVS. The “main” server corresponds to the latest release point.

-ethan

I’m still getting my head around the software land, so please forgive me if this is obvious but why did you not build on top of the player project?

Unfortunately, Player doesn’t do anything for us:
]we originally developed for the Aibo – custom OS, Player would (probably) require major rewrite/:m]
]still no Player support for any of the new hardware we’re looking at on Linux either/:m]
]Player is designed for network communication (i.e. off-board computation), Tekkotsu is designed to run on board, with direct hardware access (tho we’re extending it to add off-board computation… Regis here is currently using off-board for instance)/:m]
]I like the architecture we’ve designed better :wink:
tekkotsu.no-ip.org/ArchitecturalOverview.html (draft rewrite for 4.0 release)/
:m]© is kind of important in my view – on board computation is important for smooth motion and reliable control, but it’s also usually very constrained. It’s better to avoid the overhead and latency of having your “client” code serialize commands over a loopback network connection, and then be parsed on the other side. (Tekkotsu uses shared memory between Main and Motion processes, so commands are immediately picked up: zero overhead, no additional latency)

I do appreciate Player’s stage/gazebo simulator though, it would be nice to have a world-simulation. Currently, we have a logged data playback mechanism, which is very useful for debugging real-world errors (high fidelity), but less useful for testing new behaviors (not interactive).

duh, i should have realised the significance your aibo heritage.
thanks for your response, Tekkotsu is on my list to investigate deeper.