Index: Makefile
===================================================================
RCS file: /afs/cs/project/skinnerbots/aibo/Tekkotsu/project/Makefile,v
retrieving revision 1.61
retrieving revision 1.83
diff -u -d -r1.61 -r1.83
--- Makefile	17 Mar 2004 03:40:55 -0000	1.61
+++ Makefile	14 Oct 2004 20:22:51 -0000	1.83
@@ -32,21 +32,39 @@
 # default: OFF (empty string) - any non-empty string is ON
 STRICT_MEMSTICK_IMAGE ?=
 
+# What model are you targeting?  This will look at the
+# $TEKKOTSU_ROOT/TARGET_MODEL file to find out.  If the file is not
+# found, it is created with the default setting TGT_ERS2xx.  change
+# the target model, make will automatically recompile everything for
+# you.
+# Legal values: TGT_ERS210 TGT_ERS220 TGT_ERS2xx TGT_ERS7
+TEKKOTSU_TARGET_MODEL ?= TGT_ERS7
+
+# What OS is this going to be running under?
+# Right now, the only choice is Aperios, but in the future we may
+# support running under linux systems, either as simulation for
+# AIBOs, or direct support for linux-based robots.
+TEKKOTSU_TARGET_PLATFORM ?= PLATFORM_APERIOS
+
+# This can be nice if you want to use more to page through errors
+# if they occur.  Otherwise, try using cat instead.
+TEKKOTSU_LOGVIEW ?= $(if $(findstring Darwin,$(shell uname)),cat,more)
+
+# These control the location that the temporary object files will
+# be stored.
+TEKKOTSU_BUILDDIR ?= $(TEKKOTSU_ROOT)/build
+PROJECT_BUILDDIR ?= build
+# or perhaps you would like something like this better:
+#TEKKOTSU_BUILDDIR ?= /tmp/tekkotsu_build_$(USER)
+#PROJECT_BUILDDIR ?= /tmp/project_build_$(USER)
+
+
 
 #############  MAKEFILE VARIABLES  ################
 # Change these right here in the Makefile
 
 # Want any other libraries passed to the compiler?  Put them here.
-LIBS=-lObjectComm -lOPENR -lInternet -lantMCOOP
-
-# What model AIBO are you targeting?  This will look at the
-# $TEKKOTSU_ROOT/TARGET_MODEL file to find out.  If the file is not
-# found, it is created with the default setting TGT_ERS2xx.
-# change the target model, make will automatically recompile
-# everything for you.
-# Legal values: TGT_ERS210 TGT_ERS220 TGT_ERS2xx 
-# If you want to change this, edit the TARGET_MODEL file, not this line!
-TEKKOTSU_TARGET_MODEL:=$(shell if [ ! -r "$(TEKKOTSU_ROOT)/TARGET_MODEL" ] ; then echo "TGT_ERS2xx" > $(TEKKOTSU_ROOT)/TARGET_MODEL ; fi ; cat $(TEKKOTSU_ROOT)/TARGET_MODEL )
+LIBS=-lObjectComm -lOPENR -lInternet -lantMCOOP -lERA201D1
 
 # Would you like some more compiler flags?  We like lots of warnings.
 # There are some files with exceptions to these flags - MMCombo*.cc
@@ -55,37 +73,43 @@
 # these exceptions, look in the middle of the 'Makefile Machinery'
 # section. (grep/search for the file name)
 CXXFLAGS= \
-	-g -pipe -O2 -frename-registers -fomit-frame-pointer -ffast-math -fno-common \
+	-g -pipe -fno-inline \
+  -O2 -frename-registers -fomit-frame-pointer -ffast-math -fno-common \
 	-Wall -W -Wshadow -Wlarger-than-8192 -Wpointer-arith -Wcast-qual \
 	-Woverloaded-virtual -Weffc++ -Wdeprecated -Wnon-virtual-dtor \
-	-I"`pwd`" -I$(TEKKOTSU_ROOT) \
+	-I"`pwd`" -I$(TEKKOTSU_ROOT) -I$(TEKKOTSU_ROOT)/Motion/roboop -I$(TEKKOTSU_ROOT)/Shared/newmat \
 	-isystem $(TEKKOTSU_ROOT)/Shared/jpeg-6b \
 	-isystem $(OPENRSDK_ROOT)/OPEN_R/include/MCOOP \
 	-isystem $(OPENRSDK_ROOT)/OPEN_R/include/R4000 \
 	-isystem $(OPENRSDK_ROOT)/OPEN_R/include \
-	-DPLATFORM_APERIOS -DDEBUG -DOPENR_DEBUG -D$(TEKKOTSU_TARGET_MODEL) $(GLOBAL_MAP) \
+	-D$(TEKKOTSU_TARGET_PLATFORM) -DDEBUG -DOPENR_DEBUG -D$(TEKKOTSU_TARGET_MODEL) $(GLOBAL_MAP) \
 
-#Suggested additional flags
-# -ffast-math
+#These will be the actual build directories used for the current target
+TGT_BD:=$(TEKKOTSU_TARGET_PLATFORM)_$(TEKKOTSU_TARGET_MODEL)
+TK_BD:=$(TEKKOTSU_BUILDDIR)/$(TGT_BD)
+PROJ_BD:=$(PROJECT_BUILDDIR)/$(TGT_BD)
+$(shell mkdir -p $(TK_BD))
+$(shell mkdir -p $(PROJ_BD))
 
 
 ###################################################
 ##              SOURCE CODE LIST                 ##
 ###################################################
+
 # Find all of the source files: (except temp files in build directory)
 # You shouldn't need to change anything here unless you want to add
 # external libraries
-
-BUILDDIR=build
-$(shell mkdir -p $(BUILDDIR))
-$(shell mkdir -p $(TEKKOTSU_ROOT)/$(BUILDDIR))
 SRCSUFFIX=.cc
-PROJ_SRCS:=$(shell find . -name "*$(SRCSUFFIX)" \! -path "*/$(BUILDDIR)/*")
+PROJ_SRCS:=$(patsubst ./%,%,$(shell find . -name "*$(SRCSUFFIX)" -or -name "$(PROJECT_BUILDDIR)" \! -prune -or -name "templates" \! -prune))
+
 # We're assuming all of the source files we found are to be linked
 # into MMCombo.
 MAIN_SRCS:=$(PROJ_SRCS)
 
-USERLIBS:=$(TEKKOTSU_ROOT)/Shared/jpeg-6b/libjpeg.a
+# We can also link in third-party libraries
+USERLIBS:= $(TEKKOTSU_ROOT)/Shared/jpeg-6b/libjpeg.a \
+           $(TEKKOTSU_ROOT)/Motion/roboop/libroboop.a \
+           $(TEKKOTSU_ROOT)/Shared/newmat/libnewmat.a \
 
 
 ###################################################
@@ -103,9 +127,9 @@
 PROCESS_OBJS=MMCombo TinyFTPD SoundPlay
 MMCombo_COMP=MMCombo MMCombo/MMComboStub.o Behaviors Events Motion Shared SoundPlay/SoundManager.o SoundPlay/WAV.o Vision Wireless
 TinyFTPD_COMP=TinyFTPD TinyFTPD/TinyFTPDStub.o
-SoundPlay_COMP=SoundPlay SoundPlay/SoundPlayStub.o Shared/Config.o Shared/ProcessID.o Events/EventRouter.o Events/EventTranslator.o Events/EventBase.o Events/VisionObjectEvent.o Shared/LoadSave.o Shared/get_time.o
+SoundPlay_COMP=SoundPlay SoundPlay/SoundPlayStub.o Shared/Config.o Shared/ProcessID.o Events/EventRouter.o Events/EventTranslator.o Events/EventBase.o Events/LocomotionEvent.o Events/TextMsgEvent.o Events/VisionObjectEvent.o Shared/LoadSave.o Shared/get_time.o
 STUB_FILES:=$(addprefix $(TEKKOTSU_ROOT)/,$(addsuffix /stub.cfg,$(PROCESS_OBJS)))
-STUB_CHECK_FILES:=$(addprefix $(TEKKOTSU_ROOT)/$(BUILDDIR)/,$(subst /,-,$(STUB_FILES)))
+STUB_CHECK_FILES:=$(addprefix $(TK_BD)/,$(subst /,-,$(STUB_FILES)))
 
 # It's important that the process names and variables are the same
 # case as your memory stick reader - memsticks don't store case, and
@@ -117,11 +141,11 @@
 ifeq ($(FILENAME_CASE),lower)
 
 PROCESSES=mmcombo tinyftpd sndplay
-mmcombo_OBJS:=$(MAIN_SRCS:$(SRCSUFFIX)=.o) $(TEKKOTSU_ROOT)/$(BUILDDIR)/MMCombo.o
+mmcombo_OBJS:=$(addprefix $(PROJ_BD)/,$(MAIN_SRCS:$(SRCSUFFIX)=.o)) $(TK_BD)/MMCombo.o
 mmcombo_OCF:=$(TEKKOTSU_ROOT)/MMCombo/MMCombo.ocf
-tinyftpd_OBJS:=$(TEKKOTSU_ROOT)/$(BUILDDIR)/TinyFTPD.o
+tinyftpd_OBJS:=$(TK_BD)/TinyFTPD.o
 tinyftpd_OCF:=$(TEKKOTSU_ROOT)/TinyFTPD/TinyFTPD.ocf
-sndplay_OBJS:=$(TEKKOTSU_ROOT)/$(BUILDDIR)/SoundPlay.o
+sndplay_OBJS:=$(TK_BD)/SoundPlay.o
 sndplay_OCF:=$(TEKKOTSU_ROOT)/SoundPlay/SoundPlay.ocf
 CONVERTCASE=$(TEKKOTSU_ROOT)/tools/makelowercase
 
@@ -135,11 +159,11 @@
 else
 
 PROCESSES=MMCOMBO TINYFTPD SNDPLAY
-MMCOMBO_OBJS:=$(MAIN_SRCS:$(SRCSUFFIX)=.o) $(TEKKOTSU_ROOT)/$(BUILDDIR)/MMCombo.o
+MMCOMBO_OBJS:=$(addprefix $(PROJ_BD)/,$(MAIN_SRCS:$(SRCSUFFIX)=.o)) $(TK_BD)/MMCombo.o
 MMCOMBO_OCF:=$(TEKKOTSU_ROOT)/MMCombo/MMCombo.ocf
-TINYFTPD_OBJS:=$(TEKKOTSU_ROOT)/$(BUILDDIR)/TinyFTPD.o
+TINYFTPD_OBJS:=$(TK_BD)/TinyFTPD.o
 TINYFTPD_OCF:=$(TEKKOTSU_ROOT)/TinyFTPD/TinyFTPD.ocf
-SNDPLAY_OBJS:=$(TEKKOTSU_ROOT)/$(BUILDDIR)/SoundPlay.o
+SNDPLAY_OBJS:=$(TK_BD)/SoundPlay.o
 SNDPLAY_OCF:=$(TEKKOTSU_ROOT)/SoundPlay/SoundPlay.ocf
 CONVERTCASE=$(TEKKOTSU_ROOT)/tools/makeuppercase
 
@@ -153,30 +177,29 @@
 endif
 
 # creates process build target names: MMCombo -> build/MMCombo.o
-BUILDS:=$(foreach proc,$(PROCESS_OBJS),$(TEKKOTSU_ROOT)/$(BUILDDIR)/$(proc).o)
+BUILDS:=$(foreach proc,$(PROCESS_OBJS),$(TK_BD)/$(proc).o)
 
 # Each process build target depends on the component object files that
-# should be linked together.  These live in the
-# $TEKKOTSU_ROOT/$BUILDDIR directory and should be fairly static
-# unless you're editing the framework itself.  The automatic way of
-# creating these dependancies automatically is too messy, just add a
-# rule for each process by hand: (skip lines!)
-$(word 1,$(BUILDS)): $(foreach comp,$(addprefix $(TEKKOTSU_ROOT)/,$($(word 1,$(PROCESS_OBJS))_COMP)), $(if $(suffix $(comp)),$(comp),$(patsubst %.cc,%.o,$(shell find $(comp) -name "*.cc") )))
+# should be linked together.  These live in the $TK_BD directory and
+# should be fairly static unless you're editing the framework itself.
+# The automatic way of creating these dependancies automatically is
+# too messy, just add a rule for each process by hand: (skip lines!)
+$(word 1,$(BUILDS)): $(foreach comp,$($(word 1,$(PROCESS_OBJS))_COMP), $(if $(suffix $(comp)),$(TK_BD)/$(comp),$(patsubst $(TEKKOTSU_ROOT)%.cc,$(TK_BD)%.o,$(shell find $(TEKKOTSU_ROOT)/$(comp) -name "*.cc") )))
 
-$(word 2,$(BUILDS)): $(foreach comp,$(addprefix $(TEKKOTSU_ROOT)/,$($(word 2,$(PROCESS_OBJS))_COMP)), $(if $(suffix $(comp)),$(comp),$(patsubst %.cc,%.o,$(shell find $(comp) -name "*.cc") )))
+$(word 2,$(BUILDS)): $(foreach comp,$($(word 2,$(PROCESS_OBJS))_COMP), $(if $(suffix $(comp)),$(TK_BD)/$(comp),$(patsubst $(TEKKOTSU_ROOT)%.cc,$(TK_BD)%.o,$(shell find $(TEKKOTSU_ROOT)/$(comp) -name "*.cc") )))
 
-$(word 3,$(BUILDS)): $(foreach comp,$(addprefix $(TEKKOTSU_ROOT)/,$($(word 3,$(PROCESS_OBJS))_COMP)), $(if $(suffix $(comp)),$(comp),$(patsubst %.cc,%.o,$(shell find $(comp) -name "*.cc") )))
+$(word 3,$(BUILDS)): $(foreach comp,$($(word 3,$(PROCESS_OBJS))_COMP), $(if $(suffix $(comp)),$(TK_BD)/$(comp),$(patsubst $(TEKKOTSU_ROOT)%.cc,$(TK_BD)%.o,$(shell find $(TEKKOTSU_ROOT)/$(comp) -name "*.cc") )))
 
 # Each of the executable binaries depends on the corresponding
 # framework build target(s) plus any project files which were
 # specified above. (by default, all project files are linked into
-# MMCombo) These live in the project directory's $BUILDDIR and will
+# MMCombo) These live in the project directory's build dir and will
 # need to be recompiled any time you change source that's part of that
 # process (but not otherwise ;)
 # Again, the automatic way of creating these dependancies
 # automatically is too messy, just add a rule for each process by
 # hand: (skip lines!)
-PROC_BINS:=$(addprefix $(BUILDDIR)/,$(addsuffix $(BINSUFFIX),$(PROCESSES)))
+PROC_BINS:=$(addprefix $(PROJ_BD)/,$(addsuffix $(BINSUFFIX),$(PROCESSES)))
 
 $(word 1,$(PROC_BINS)): $($(word 1,$(PROCESSES))_OBJS) $($(word 1,$(PROCESSES))_OCF)
 
@@ -201,77 +224,93 @@
 # list of all source files of all components, sorted to remove
 # duplicates.  This gives us all the source files which we care about,
 # all in one place.
-SRCS:=$(sort $(foreach comp,$(COMPONENTS), $(if $(suffix $(filter-out %.a,$(comp))),$(TEKKOTSU_ROOT)/$(basename $(comp)).cc,$(shell find $(TEKKOTSU_ROOT)/$(comp) -name "*.cc") ))) $(MAIN_SRCS)
-OBJS:=$(SRCS:$(SRCSUFFIX)=.o)
-DEPENDS:=$(SRCS:$(SRCSUFFIX)=.d)
+TK_SRCS:=$(sort $(foreach comp,$(COMPONENTS), $(if $(suffix $(filter-out %.a,$(comp))),$(TEKKOTSU_ROOT)/$(basename $(comp)).cc,$(shell find $(TEKKOTSU_ROOT)/$(comp) -name "*.cc") )))
+TK_DEPENDS:=$(subst $(TEKKOTSU_ROOT),$(TK_BD),$(TK_SRCS:$(SRCSUFFIX)=.d))
+PROJ_DEPENDS:=$(addprefix $(PROJ_BD)/,$(PROJ_SRCS:$(SRCSUFFIX)=.d))
+DEPENDS:=$(sort $(PROJ_DEPENDS) $(TK_DEPENDS))
 
 # These are the file names of the final executable binaries, in the
 # memstick image directory
-INSTALL_BINS:=$(addprefix $(INSTALLDIR)/,$(addsuffix $(BINSUFFIX),$(PROCESSES)))
+INSTALL_BINS:=$(addprefix $(INSTALLDIR)/,$(MAINFORK) $(MOTOFORK) $(addsuffix $(BINSUFFIX),$(filter-out mmcombo MMCOMBO,$(PROCESSES))))
 
 CXX=$(OPENRSDK_ROOT)/bin/mipsel-linux-g++
 LD=$(OPENRSDK_ROOT)/bin/mipsel-linux-ld
 STRIP=$(OPENRSDK_ROOT)/bin/mipsel-linux-strip
 MKBIN=$(OPENRSDK_ROOT)/OPEN_R/bin/mkbin
 STUBGEN=$(OPENRSDK_ROOT)/OPEN_R/bin/stubgen2
-COLORFILT=${TEKKOTSU_ROOT}/tools/colorfilt
+COLORFILT=$(TEKKOTSU_ROOT)/tools/colorfilt
 FILTERSYSWARN=$(TEKKOTSU_ROOT)/tools/filtersyswarn/filtersyswarn $(OPENRSDK_ROOT)
 MKBINFLAGS=-p $(OPENRSDK_ROOT)
 
-.PHONY: all compile install clean cleanDeps cleanProj cleanTemps Tekkotsu reportTarget newstick update $(INSTALLDIR)/$(MMCOMBOBIN) docs dox doc cleandoc updateTools
+.PHONY: all compile install clean cleanDeps cleanProj cleanTemps Tekkotsu reportTarget newstick update docs dox doc cleandoc updateTools checkInstalledTimestamp
 
 all: compile
 	@echo "Build successful."
 	@echo "Type: '$(MAKE) install' to copy all files to the memory stick"
 	@echo "  or: '$(MAKE) update' to copy only changed files"
+	@echo "  or: '$(TEKKOTSU_ROOT)/tools/{ftpinstall,ftpupdate} <ipaddr> ms' might also be useful"
 
-#the touch at the end is because memsticks seem to round time to even seconds, which screws up updates.  Grr.
 reportTarget:
 	@echo " ** Targeting $(TEKKOTSU_TARGET_MODEL) for build ** ";
 
 updateTools:
 	cd $(TEKKOTSU_ROOT)/tools && $(MAKE);
 
-compile: reportTarget cleanTemps updateTools $(USERLIBS) $(INSTALL_BINS)
-	@image="$(BUILDDIR)/$(notdir $(MEMSTICK_ROOT))" ; \
+updateLibs:
+	@echo "Updating libraries..."
+	@$(foreach x,$(USERLIBS),make -C $(dir $(x)) $(notdir $(x)) && ) true
+
+#the touch at the end is because memsticks seem to round time to even seconds, which screws up updates.  Grr.
+compile: reportTarget cleanTemps updateTools updateLibs checkInstalledTimestamp $(PROJ_BD)/installed.timestamp
+	@image="$(PROJ_BD)/$(notdir $(MEMSTICK_ROOT))" ; \
 	if [ "$(TEKKOTSU_ROOT)/TARGET_MODEL" -nt "$$image" ] ; then \
 		echo "Deleting old cached OPEN-R binaries"; \
 		rm -rf "$$image" ; \
 	fi; \
 	if [ \! -d "$$image" ] ; then \
 		if [ \! -d "$(SYSTEM_BINARIES)" ] ; then \
-			echo "Could not find OPEN-R system binaries" ; \
+v			echo "Could not find OPEN-R system binaries" ; \
 			exit 1 ; \
 		fi ; \
 		echo "Copying system files..." ; \
 		cp -r "$(SYSTEM_BINARIES)" "$$image" ; \
 		chmod -R u+w "$$image" ; \
-		(cd "$$image" && $(CONVERTCASE) -r . ); \
+		cur=`pwd`; \
+		cd "$$image"; \
+		$(CONVERTCASE) -r *; \
+		cd "$$cur"; \
 		rm -f "$$image/open-r/mw/conf/connect.cfg" "$$image/open-r/mw/conf/object.cfg" "$$image/open-r/system/conf/wlandflt.txt" ; \
 		curt=`date +%Y%m%d%H%M`; \
 		find "$$image" -exec touch -ft $$curt \{\} \; ; \
-	fi
+	fi;
 
+checkInstalledTimestamp:
+	@for x in $(INSTALL_BINS) ; do \
+		if [ "$$x" -nt "$(PROJ_BD)/installed.timestamp" ] ; then \
+			printf "Target switch detected, cleaning binaries..." ; \
+			rm -f $(INSTALL_BINS) ; \
+			printf "done.\n" ; \
+		fi; \
+	done;
 
-ifneq ($(MAKECMDGOALS),clean)
-ifneq ($(MAKECMDGOALS),cleanProj)
-ifneq ($(MAKECMDGOALS),cleanTemps)
-ifneq ($(MAKECMDGOALS),cleanDeps)
+ifeq ($(findstring clean,$(MAKECMDGOALS)),)
+ifeq ($(findstring docs,$(MAKECMDGOALS)),)
 -include $(DEPENDS)
 endif
 endif
-endif
-endif
 
 $(STUB_CHECK_FILES):
 	@thedir=`echo $@ | sed 's/.*-\(.*\)-.*/\1/g'`; \
 	cd $(TEKKOTSU_ROOT)/$$thedir ; \
 	$(STUBGEN) stub.cfg ; \
+	mkdir -p $(dir $@) ; \
 	touch $@ ;
 
-%.d : $(STUB_CHECK_FILES) %$(SRCSUFFIX)
-	@echo Building $@...
-	@$(CXX) $(CXXFLAGS) -MP -MG -MT $@ -MT $*.o -MM $*$(SRCSUFFIX) > $@
+%.d : $(STUB_CHECK_FILES)
+	@mkdir -p $(dir $@)
+	@src=$(patsubst %.d,%.cc,$(if $(findstring $(TK_BD),$@),$(patsubst $(TK_BD)%,$(TEKKOTSU_ROOT)%,$@),$(patsubst $(PROJ_BD)/%,%,$@))); \
+	echo "$@..." | sed 's@.*$(TGT_BD)/@Generating @'; \
+	$(CXX) $(CXXFLAGS) -MP -MG -MT "$@" -MT "$(@:.d=.o)" -MM "$$src" > $@
 
 %/def.h %/entry.h: %/stub.cfg
 	@echo "Doing $@"
@@ -286,7 +325,7 @@
 	cd $(dir $@) && $(STUBGEN) stub.cfg
 	@echo "Done with $@"
 
-#%Stub.cc: 
+#%Stub.cc:
 #	cd $(dir $@) && $(STUBGEN) stub.cfg
 #	@echo "Done with $@"
 
@@ -302,106 +341,115 @@
 	@find . -name "*.cc" -exec grep -H "$(notdir $@)" \{\} \; ;
 	@find $(TEKKOTSU_ROOT) -name "*.h" -exec grep -H "$(notdir $@)" \{\} \; ;
 	@find $(TEKKOTSU_ROOT) -name "*.cc" -exec grep -H "$(notdir $@)" \{\} \; ;
-	@echo "You might need to remove all the .d files (make cleanDeps) to get rid of this error.";
+	@echo "";
+	@echo "You might need to rebuild the dependancy files ('make cleanDeps') to get rid of this error.";
 	@exit 1
 
 #The "fork" we do of MMCombo into MainObj and MotoObj crashes with optimization... not a big loss, just turn it off for these files
-$(TEKKOTSU_ROOT)/MMCombo/MMCombo.o $(TEKKOTSU_ROOT)/MMCombo/MMComboStub.o: %.o: %$(SRCSUFFIX) $(FILTERSYSWARN)  $(TEKKOTSU_ROOT)/TARGET_MODEL
-	@if [ -r dist_hosts.txt ] ; then \
+$(TK_BD)/MMCombo/MMCombo.o $(TK_BD)/MMCombo/MMComboStub.o: %.o:
+	@mkdir -p $(dir $@)
+	@src=$(patsubst %.o,%$(SRCSUFFIX),$(if $(findstring $(TK_BD),$@),$(patsubst $(TK_BD)%,$(TEKKOTSU_ROOT)%,$@),$(patsubst $(PROJ_BD)/%,%,$@))); \
+	if [ -r dist_hosts.txt ] ; then \
 		echo "Adding $@ to job list"; \
-		echo "$(CXX) $(filter-out -O2,$(CXXFLAGS)) -o $@ -c $< > $*.log 2>&1; retval=\$$?; cat $*.log | $(FILTERSYSWARN) | $(COLORFILT); test \$$retval -eq 0;" >> $(BUILDDIR)/joblist.txt ; \
+		echo "$(CXX) $(filter-out -O2,$(CXXFLAGS)) -o $@ -c $$src > $*.log 2>&1; retval=\$$?; cat $*.log | $(FILTERSYSWARN) | $(COLORFILT); test \$$retval -eq 0;" >> $(PROJ_BD)/joblist.txt ; \
 		touch $@; \
-		echo "$@" >> $(BUILDDIR)/touched.txt ; \
+		echo "$@" >> $(PROJ_BD)/touched.txt ; \
 	else \
-		echo "Compiling $<... (no -O2)"; \
-		$(CXX) $(filter-out -O2,$(CXXFLAGS)) -o $@ -c $< > $*.log 2>&1; \
+		echo "Compiling $$src... (no -O2)"; \
+		$(CXX) $(filter-out -O2,$(CXXFLAGS)) -o $@ -c $$src > $*.log 2>&1; \
 		retval=$$?; \
-		cat $*.log | $(FILTERSYSWARN) | $(COLORFILT); \
+		cat $*.log | $(FILTERSYSWARN) | $(COLORFILT) | $(TEKKOTSU_LOGVIEW); \
 		test $$retval -eq 0; \
 	fi;
 
-$(TEKKOTSU_ROOT)/TinyFTPD/TinyFTPD.o $(TEKKOTSU_ROOT)/TinyFTPD/FtpMethod.o $(TEKKOTSU_ROOT)/TinyFTPD/FtpRequest.o $(TEKKOTSU_ROOT)/TinyFTPD/FtpDTP.o $(TEKKOTSU_ROOT)/TinyFTPD/FtpPI.o: %.o: %$(SRCSUFFIX) $(FILTERSYSWARN) $(TEKKOTSU_ROOT)/TARGET_MODEL
-	@if [ -r dist_hosts.txt ] ; then \
+$(TK_BD)/TinyFTPD/TinyFTPD.o $(TK_BD)/TinyFTPD/FtpMethod.o $(TK_BD)/TinyFTPD/FtpRequest.o $(TK_BD)/TinyFTPD/FtpDTP.o $(TK_BD)/TinyFTPD/FtpPI.o: %.o:
+	@mkdir -p $(dir $@)
+	@src=$(patsubst %.o,%$(SRCSUFFIX),$(if $(findstring $(TK_BD),$@),$(patsubst $(TK_BD)%,$(TEKKOTSU_ROOT)%,$@),$(patsubst $(PROJ_BD)/%,%,$@))); \
+	if [ -r dist_hosts.txt ] ; then \
 		echo "Adding $@ to job list"; \
-		echo "$(CXX) $(filter-out -DOPENR_DEBUG,$(filter-out -Weffc++,$(CXXFLAGS))) -o $@ -c $< > $*.log 2>&1; retval=\$$?; cat $*.log | $(FILTERSYSWARN) | $(COLORFILT); test \$$retval -eq 0;" >> $(BUILDDIR)/joblist.txt ; \
+		echo "$(CXX) $(filter-out -DOPENR_DEBUG,$(filter-out -Weffc++,$(CXXFLAGS))) -o $@ -c $$src > $*.log 2>&1; retval=\$$?; cat $*.log | $(FILTERSYSWARN) | $(COLORFILT); test \$$retval -eq 0;" >> $(PROJ_BD)/joblist.txt ; \
 		touch $@; \
-		echo "$@" >> $(BUILDDIR)/touched.txt ; \
+		echo "$@" >> $(PROJ_BD)/touched.txt ; \
 	else \
-		echo "Compiling $<... (reduced warnings, no OPENR_DEBUG)"; \
-		$(CXX) $(filter-out -DOPENR_DEBUG,$(filter-out -Weffc++,$(CXXFLAGS))) -o $@ -c $< > $*.log 2>&1; \
+		echo "Compiling $$src... (reduced warnings, no OPENR_DEBUG)"; \
+		$(CXX) $(filter-out -DOPENR_DEBUG,$(filter-out -Weffc++,$(CXXFLAGS))) -o $@ -c $$src > $*.log 2>&1; \
 		retval=$$?; \
-		cat $*.log | $(FILTERSYSWARN) | $(COLORFILT); \
+		cat $*.log | $(FILTERSYSWARN) | $(COLORFILT) | $(TEKKOTSU_LOGVIEW); \
 		test $$retval -eq 0; \
 	fi;
 
-$(TEKKOTSU_ROOT)/SoundPlay/WAV.o $(TEKKOTSU_ROOT)/Vision/Vision.o: %.o: %$(SRCSUFFIX) $(FILTERSYSWARN) $(TEKKOTSU_ROOT)/TARGET_MODEL
-	@if [ -r dist_hosts.txt ] ; then \
+$(TK_BD)/SoundPlay/WAV.o: %.o: $(FILTERSYSWARN)
+	@mkdir -p $(dir $@)
+	@src=$(patsubst %.o,%$(SRCSUFFIX),$(if $(findstring $(TK_BD),$@),$(patsubst $(TK_BD)%,$(TEKKOTSU_ROOT)%,$@),$(patsubst $(PROJ_BD)/%,%,$@))); \
+	if [ -r dist_hosts.txt ] ; then \
 		echo "Adding $@ to job list"; \
-		echo "$(CXX) $(filter-out -Weffc++,$(CXXFLAGS)) -o $@ -c $< > $*.log 2>&1; retval=\$$?; cat $*.log | $(FILTERSYSWARN) | $(COLORFILT); test \$$retval -eq 0;" >> $(BUILDDIR)/joblist.txt ; \
+		echo "$(CXX) $(filter-out -Weffc++,$(CXXFLAGS)) -o $@ -c $$src > $*.log 2>&1; retval=\$$?; cat $*.log | $(FILTERSYSWARN) | $(COLORFILT); test \$$retval -eq 0;" >> $(PROJ_BD)/joblist.txt ; \
 		touch $@; \
-		echo "$@" >> $(BUILDDIR)/touched.txt ; \
+		echo "$@" >> $(PROJ_BD)/touched.txt ; \
 	else \
-		echo "Compiling $<... (reduced warnings)"; \
-		$(CXX) $(filter-out -Weffc++,$(CXXFLAGS)) -o $@ -c $< > $*.log 2>&1; \
+		echo "Compiling $$src... (reduced warnings)"; \
+		$(CXX) $(filter-out -Weffc++,$(CXXFLAGS)) -o $@ -c $$src > $*.log 2>&1; \
 		retval=$$?; \
-		cat $*.log | $(FILTERSYSWARN) | $(COLORFILT); \
+		cat $*.log | $(FILTERSYSWARN) | $(COLORFILT) | $(TEKKOTSU_LOGVIEW); \
 		test $$retval -eq 0; \
 	fi;
 
-%.o: %$(SRCSUFFIX) $(FILTERSYSWARN) $(TEKKOTSU_ROOT)/TARGET_MODEL
-	@if [ -r dist_hosts.txt ] ; then \
+%.o:
+	@mkdir -p $(dir $@)
+	@src=$(patsubst %.o,%$(SRCSUFFIX),$(if $(findstring $(TK_BD),$@),$(patsubst $(TK_BD)%,$(TEKKOTSU_ROOT)%,$@),$(patsubst $(PROJ_BD)/%,%,$@))); \
+	if [ -r dist_hosts.txt ] ; then \
 		echo "Adding $@ to job list"; \
-		echo "$(CXX) $(CXXFLAGS) -o $@ -c $< > $*.log 2>&1; retval=\$$?; cat $*.log | $(FILTERSYSWARN) | $(COLORFILT); test \$$retval -eq 0;" >> $(BUILDDIR)/joblist.txt ; \
+		echo "$(CXX) $(CXXFLAGS) -o $@ -c $$src > $*.log 2>&1; retval=\$$?; cat $*.log | $(FILTERSYSWARN) | $(COLORFILT); test \$$retval -eq 0;" >> $(PROJ_BD)/joblist.txt ; \
 		touch $@; \
-		echo "$@" >> $(BUILDDIR)/touched.txt ; \
+		echo "$@" >> $(PROJ_BD)/touched.txt ; \
 	else \
-		echo "Compiling $<..."; \
-		$(CXX) $(CXXFLAGS) -o $@ -c $< > $*.log 2>&1; \
+		echo "Compiling $$src..."; \
+		$(CXX) $(CXXFLAGS) -o $@ -c $$src > $*.log 2>&1; \
 		retval=$$?; \
-		cat $*.log | $(FILTERSYSWARN) | $(COLORFILT); \
+		cat $*.log | $(FILTERSYSWARN) | $(COLORFILT) | $(TEKKOTSU_LOGVIEW); \
 		test $$retval -eq 0; \
 	fi;
 
 #This is for external libraries which we are including, such as libjpeg
 %.a:
+	export OPENRSDK_ROOT=$(OPENRSDK_ROOT) ;\
+	export TEKKOTSU_ROOT=$(TEKKOTSU_ROOT) ;\
 	$(MAKE) -C $(dir $@) $(notdir $@)
 
-$(TEKKOTSU_ROOT)/TARGET_MODEL:
-	$(error Could not find $(TEKKOTSU_ROOT)/TARGET_MODEL)
-
 #BUILDS:   (framework object files, one per process - resides in framework)
 $(BUILDS):
-	@if [ -r dist_hosts.txt -a -r $(BUILDDIR)/joblist.txt ] ; then \
+	@if [ -r dist_hosts.txt -a -r $(PROJ_BD)/joblist.txt ] ; then \
 		echo "Distributing compiles..."; \
-		../tools/pm.pl dist_hosts.txt $(BUILDDIR)/joblist.txt ; \
+		../tools/pm.pl dist_hosts.txt $(PROJ_BD)/joblist.txt ; \
 	fi
-	@rm -f $(BUILDDIR)/joblist.txt; #this is so we don't rebuild multiple times
+	@rm -f $(PROJ_BD)/joblist.txt; #this is so we don't rebuild multiple times
 	@echo "Linking component object files..."
-	@if [ $(words $(sort $(foreach comp,$(addprefix $(TEKKOTSU_ROOT)/,$($(basename $(notdir $@))_COMP)), $(if $(suffix $(comp)),$(comp),$(patsubst %.cc,%.o,$(shell find $(comp) -name "*.cc")))))) -gt 20 ] ; then \
+	@if [ $(words $(foreach comp,$(addprefix $(TK_BD)/,$($(basename $(notdir $@))_COMP)),$(if $(suffix $(comp)),$(comp),$(patsubst %.cc,%.o,$(shell find $(comp) -name "*.o"))))) -gt 20 ] ; then \
 		echo "$@ <- [...]"; \
 	else \
-		echo "$@ <- $(sort $(foreach comp,$(addprefix $(TEKKOTSU_ROOT)/,$(filter-out %.a,$($(basename $(notdir $@))_COMP))), $(if $(suffix $(comp)),$(comp),$(patsubst %.cc,%.o,$(shell find $(comp) -name "*.cc") ))))"; \
+		echo "$@ <- $(sort $(foreach comp,$(addprefix $(TK_BD)/,$(filter-out %.a,$($(basename $(notdir $@))_COMP))), $(if $(suffix $(comp)),$(comp),$(shell find $(comp) -name "*.o") )))" | sed 's@$(TK_BD)/@@g'; \
 	fi;
-	@$(LD) -i $(sort $(foreach comp,$(addprefix $(TEKKOTSU_ROOT)/,$(filter-out %.a,$($(basename $(notdir $@))_COMP))), $(if $(suffix $(comp)),$(comp),$(patsubst %.cc,%.o,$(shell find $(comp) -name "*.cc") )))) -o $@ ; \
+	@$(LD) -i     $(sort $(foreach comp,$(addprefix $(TK_BD)/,$(filter-out %.a,$($(basename $(notdir $@))_COMP))), $(if $(suffix $(comp)),$(comp),$(shell find $(comp) -name "*.o") ))) -o $@ ; \
 		if [ $$? -ne 0 ] ; then exit 1; fi;
 
-
 #PROC_BINS:    (executable binaries, uncompressed)
 # we have to do a couple extra steps to cd into the builddir because
 # mkbin doesn't support -o target in a different directory... drops an
 # intermediate file in . and then complains (as of 1.1.3 anyway)
-$(BUILDDIR)/%$(BINSUFFIX): $(USERLIBS)
-	@if [ -r dist_hosts.txt -a -r $(BUILDDIR)/joblist.txt ] ; then \
+$(PROJ_BD)/%$(BINSUFFIX): $(USERLIBS)
+	@if [ -r dist_hosts.txt -a -r $(PROJ_BD)/joblist.txt ] ; then \
 		echo "Distributing compiles..."; \
-		../tools/pm.pl dist_hosts.txt $(BUILDDIR)/joblist.txt ; \
+		../tools/pm.pl dist_hosts.txt $(PROJ_BD)/joblist.txt ; \
 	fi
-	@rm -f $(BUILDDIR)/joblist.txt; #this is so we don't rebuild multiple times
+	@rm -f $(PROJ_BD)/joblist.txt; #this is so we don't rebuild multiple times
 	@echo "Creating executable binary..."
-	@echo "$@ <- $($(basename $(notdir $@))_OBJS), $($(basename $(notdir $@))_OCF), $(LIBS) $(USERLIBS)"; #we'll need to do some filtering on USERLIBS below because now we're in builddir
-	@$(LD) -i $($(basename $(notdir $@))_OBJS) -o $(BUILDDIR)/tmp.o
-	@cp $($(basename $(notdir $@))_OCF) $(BUILDDIR)/tmp.ocf
-	@cd $(BUILDDIR) ; \
-	$(MKBIN) $(MKBINFLAGS) -o $(notdir $@) tmp.o -m tmp.ocf $(LIBS) $(filter /%,$(USERLIBS)) $(addprefix ../,$(filter-out /%,$(USERLIBS))) ; \
+	@echo "$@ <- $($(basename $(notdir $@))_OBJS), $($(basename $(notdir $@))_OCF), $(LIBS) $(USERLIBS)" | sed 's@ $(PROJ_BD)/@ @g';
+	@#we'll need to do some filtering on USERLIBS below because now we'll be in builddir below
+	@$(LD) -i $($(basename $(notdir $@))_OBJS) -o $(PROJ_BD)/tmp.o
+	@cp $($(basename $(notdir $@))_OCF) $(PROJ_BD)/tmp.ocf
+	@pt=`pwd`;\
+	cd $(PROJ_BD) ; \
+	$(MKBIN) $(MKBINFLAGS) -o $(notdir $@) tmp.o -m tmp.ocf $(LIBS) $(filter /%,$(USERLIBS)) $(addsuffix \",$(addprefix \"$$pt/,$(filter-out /%,$(USERLIBS)))) ; \
 	if [ $$? -gt 0 ] ; then \
 		echo "Build failed."; \
 		exit 1; \
@@ -411,47 +459,48 @@
 
 
 #INSTALL_BINS:     (compressed executables, in proper location in image directory)
-$(INSTALLDIR)/%$(BINSUFFIX): $(BUILDDIR)/%$(BINSUFFIX)
+$(INSTALLDIR)/%$(BINSUFFIX): $(PROJ_BD)/%$(BINSUFFIX)
 	@if [ \! -d "$(INSTALLDIR)" ] ; then \
-		echo "I can't find $(INSTALLDIR).  You may need to run '$(TEKKOTSU_ROOT)/tools/makeuppercase -r ms'."; \
+		echo "I can't find $(INSTALLDIR).  Hmmm."; \
 		exit 1; \
 	fi;
 	@echo "Compressing $< -> $@"
 	@gzip -c $< > $@;
 
-$(INSTALLDIR)/$(MMCOMBOBIN): $(INSTALLDIR)/$(MAINFORK) $(INSTALLDIR)/$(MOTOFORK)
-
-$(INSTALLDIR)/$(MAINFORK): $(BUILDDIR)/$(MMCOMBOBIN) $(TEKKOTSU_ROOT)/tools/binstrswap/binstrswap
+$(INSTALLDIR)/$(MAINFORK): $(PROJ_BD)/$(MMCOMBOBIN) $(TEKKOTSU_ROOT)/tools/binstrswap/binstrswap
 	@if [ \! -d "$(INSTALLDIR)" ] ; then \
-		echo "I can't find $(INSTALLDIR).  You may need to run '$(TEKKOTSU_ROOT)/tools/makeuppercase -r ms'."; \
+		echo "I can't find $(INSTALLDIR).  Hmmm."; \
 		exit 1; \
 	fi;
 	@echo "Compressing $< ~> $@"
 	@$(TEKKOTSU_ROOT)/tools/binstrswap/binstrswap $< MMCombo MainObj | gzip -c > $@
 #	@sed 's/MMCombo/MainObj/g;s/mmcombo/mainobj/g' $< | gzip -c > $@
 
-$(INSTALLDIR)/$(MOTOFORK): $(BUILDDIR)/$(MMCOMBOBIN) $(TEKKOTSU_ROOT)/tools/binstrswap/binstrswap
+$(INSTALLDIR)/$(MOTOFORK): $(PROJ_BD)/$(MMCOMBOBIN) $(TEKKOTSU_ROOT)/tools/binstrswap/binstrswap
 	@if [ \! -d "$(INSTALLDIR)" ] ; then \
-		echo "I can't find $(INSTALLDIR).  You may need to run '$(TEKKOTSU_ROOT)/tools/makeuppercase -r ms'."; \
+		echo "I can't find $(INSTALLDIR).  Hmmm."; \
 		exit 1; \
 	fi;
 	@echo "Compressing $< ~> $@"
 	@$(TEKKOTSU_ROOT)/tools/binstrswap/binstrswap $< MMCombo MotoObj | gzip -c > $@
 #	@sed 's/MMCombo/MotoObj/g;s/mmcombo/motoobj/g' $< | gzip -c > $@
 
+$(PROJ_BD)/installed.timestamp: $(INSTALL_BINS)
+	@touch $@
+
 install: compile
 	@echo "Installing files to memory stick at $(MEMSTICK_ROOT)"
 	@$(TEKKOTSU_ROOT)/tools/cpymem --all --img $(MSIMGDIR) --tgt $(MEMSTICK_ROOT) --tools $(TEKKOTSU_ROOT)/tools
 
 update: compile $(TEKKOTSU_ROOT)/tools/evenmodtime/evenmodtime
 	@echo "Syncing $(MSIMGDIR) and $(MEMSTICK_ROOT)"
-	@$(TEKKOTSU_ROOT)/tools/evenmodtime/evenmodtime `find $(MSIMGDIR)`
+	@$(TEKKOTSU_ROOT)/tools/evenmodtime/evenmodtime `find $(MSIMGDIR)` $(PROJ_BD)/installed.timestamp
 	@$(TEKKOTSU_ROOT)/tools/mntmem $(MEMSTICK_ROOT)
 	@if [ $(STRICT_MEMSTICK_IMAGE) ] ; then \
 		echo "Strict image copy is on." ; \
-		rsync -rLtWCv --delete $(MSIMGDIR)/* $(BUILDDIR)/$(notdir $(MEMSTICK_ROOT))/* $(MEMSTICK_ROOT) ; \
+		rsync -rLtWCv --delete $(MSIMGDIR)/* $(PROJ_BD)/$(notdir $(MEMSTICK_ROOT))/* $(MEMSTICK_ROOT) ; \
 	else \
-		rsync -rLtWCv $(MSIMGDIR)/* $(BUILDDIR)/$(notdir $(MEMSTICK_ROOT))/* $(MEMSTICK_ROOT) ; \
+		rsync -rLtWCv $(MSIMGDIR)/* $(PROJ_BD)/$(notdir $(MEMSTICK_ROOT))/* $(MEMSTICK_ROOT) ; \
 	fi;
 	@$(TEKKOTSU_ROOT)/tools/umntmem $(MEMSTICK_ROOT)
 
@@ -465,16 +514,16 @@
 	(cd $(TEKKOTSU_ROOT)/tools && $(MAKE));
 
 cleanTemps:
-	rm -f $(BUILDDIR)/joblist.txt $(BUILDDIR)/touched.txt
+	rm -f $(PROJ_BD)/joblist.txt $(PROJ_BD)/touched.txt
 
 clean: cleanProj
-	@printf "Cleaning all .o, .d, .log and ~ files corresponding to .cc files..."
-	@rm -f $(OBJS) $(DEPENDS) $(SRCS:$(SRCSUFFIX)=.log) $(addsuffix ~,$(SRCS)) $(SRCS:$(SRCSUFFIX)=.h~)
+	@printf "Cleaning all ~ files corresponding to .cc files..."
+	@rm -f $(addsuffix ~,$(TK_SRCS)) $(TK_SRCS:$(SRCSUFFIX)=.h~)
 	@printf "done.\n"
 	rm -f $(foreach proc,$(PROCESS_OBJS),$(TEKKOTSU_ROOT)/$(proc)/$(proc)Stub.cc $(TEKKOTSU_ROOT)/$(proc)/$(proc)Stub.h $(TEKKOTSU_ROOT)/$(proc)/def.h $(TEKKOTSU_ROOT)/$(proc)/entry.h)
-	rm -rf $(TEKKOTSU_ROOT)/$(BUILDDIR)
+	rm -rf $(TEKKOTSU_BUILDDIR)
 	cd $(TEKKOTSU_ROOT)/tools ; $(MAKE) clean
-	$(foreach lib,$(USERLIBS),$(MAKE) -C $(dir $(lib)) clean)
+	$(foreach lib,$(USERLIBS),$(MAKE) -C $(dir $(lib)) clean ;)
 
 cleanDeps:
 	@printf "Cleaning all .d files corresponding to .cc files..."
@@ -482,14 +531,11 @@
 	@printf "done.\n"
 
 cleanProj:
-	@printf "Cleaning all .o, .d, .log and ~ files corresponding to project .cc files..."
-	@rm -f $(PROJ_SRCS:$(SRCSUFFIX)=.o)
-	@rm -f $(PROJ_SRCS:$(SRCSUFFIX)=.d)
-	@rm -f $(PROJ_SRCS:$(SRCSUFFIX)=.log)
+	@printf "Cleaning all ~ files corresponding to project .cc files..."
 	@rm -f $(addsuffix ~,$(PROJ_SRCS)) $(PROJ_SRCS:$(SRCSUFFIX)=.h~)
 	@printf "done.\n"
-	rm -rf $(BUILDDIR)
-	rm -f $(INSTALL_BINS) $(INSTALLDIR)/$(MAINFORK) $(INSTALLDIR)/$(MOTOFORK)
+	rm -rf $(PROJECT_BUILDDIR)
+	rm -f $(INSTALL_BINS)
 
 dox doc docs:
 	cd $(TEKKOTSU_ROOT) && $(MAKE) $@
Index: StartupBehavior.cc
===================================================================
RCS file: /afs/cs/project/skinnerbots/aibo/Tekkotsu/project/StartupBehavior.cc,v
retrieving revision 1.59
retrieving revision 1.64
diff -u -d -r1.59 -r1.64
--- StartupBehavior.cc	18 Feb 2004 21:13:48 -0000	1.59
+++ StartupBehavior.cc	18 Oct 2004 17:01:38 -0000	1.64
@@ -3,7 +3,6 @@
 #include "Behaviors/Controller.h"
 #include "Behaviors/Controls/BatteryCheckControl.h"
 #include "Behaviors/Controls/ControlBase.h"
-#include "Behaviors/Controls/PostureEditor.h"
 #include "Behaviors/Controls/HelpControl.h"
 #include "Behaviors/Controls/RebootControl.h"
 #include "Behaviors/Controls/ShutdownControl.h"
@@ -42,7 +41,7 @@
 
 	//This will "fade" in the PIDs so the joints don't jerk to full
 	//power, also looks cooler
-	pid_id=motman->addMotion(SharedObject<PIDMC>(0),MotionManager::kEmergencyPriority+2,false);
+	pid_id=motman->addPersistentMotion(SharedObject<PIDMC>(0),MotionManager::kEmergencyPriority+2);
 	//also, pause before we start fading in, PIDs take effect right
 	//away, before the emergencystop is picked up
 	erouter->addTimer(this,0,4*FrameTime*NumFrames,true);
@@ -54,13 +53,13 @@
 	//Note that if you don't want to start in estop, you should then
 	//also uncomment the line at the end of this function
 	stop->setStopped(true,false); 
-	stop_id=motman->addMotion(stop,MotionManager::kEmergencyPriority);
+	stop_id=motman->addPersistentMotion(stop,MotionManager::kEmergencyPriority);
 	
 	//This displays the current battery conditions on the console
 	BatteryCheckControl batchk;
+	//	const SharedObject<LedMC> led;
+	//	batchk.activate(motman->addPrunableMotion(led,MotionManager::kEmergencyPriority+1),NULL);
 	batchk.activate(MotionManager::invalid_MC_ID,NULL);
-	//	const SharedObject<LedMC> led; //! @todo LedMC's don't support autopruning yet, it should for uses like this
-	//	batchk.activate(motman->addMotion(led,true));
 	batchk.deactivate();
 
 	//This is what runs the menu system
@@ -86,7 +85,7 @@
 		closeMouth->setOutputCmd(mouthOffset,outputRanges[mouthOffset][MaxRange]);
 		closeMouth->setPlayTime(3500); //and hold it for another .5 seconds
 		closeMouth->setOutputCmd(mouthOffset,outputRanges[mouthOffset][MaxRange]);
-		motman->addMotion(closeMouth,MotionManager::kEmergencyPriority+1,true);
+		motman->addPrunableMotion(closeMouth,MotionManager::kEmergencyPriority+1);
 		erouter->addTimer(this,1,3250,false);
 	}
 
@@ -157,8 +156,6 @@
 		SetupTekkotsuMon();
 		SetupStatusReports();
 		SetupFileAccess();
-		SetupWalkEdit();
-		addItem(new PostureEditor());
 		SetupVision();
 		addItem(new ControlBase("Shutdown?","Confirms decision to reboot or shut down"));
 		startSubMenu();
Index: StartupBehavior_SetupBackgroundBehaviors.cc
===================================================================
RCS file: /afs/cs/project/skinnerbots/aibo/Tekkotsu/project/StartupBehavior_SetupBackgroundBehaviors.cc,v
retrieving revision 1.8
retrieving revision 1.13
diff -u -d -r1.8 -r1.13
--- StartupBehavior_SetupBackgroundBehaviors.cc	19 Jan 2004 08:03:22 -0000	1.8
+++ StartupBehavior_SetupBackgroundBehaviors.cc	18 Oct 2004 23:53:37 -0000	1.13
@@ -3,15 +3,19 @@
 #include "Behaviors/Controls/ControlBase.h"
 #include "Behaviors/Controls/BehaviorSwitchControl.h"
 
+#include "Behaviors/Demos/SimpleChaseBallBehavior.h"
+#include "Behaviors/Demos/StareAtBallBehavior.h"
 #include "Behaviors/Demos/AutoGetupBehavior.h"
 #include "Behaviors/Demos/BatteryMonitorBehavior.h"
 #include "Behaviors/Demos/HeadLevelBehavior.h"
 #include "Behaviors/Demos/ToggleHeadLightBehavior.h"
-#include "Behaviors/Demos/HelloWorldBehavior.h"
 #include "Behaviors/Demos/CrashTestBehavior.h"
+#include "Behaviors/Demos/FreezeTestBehavior.h"
 #include "Behaviors/Demos/RelaxBehavior.h"
 #include "Behaviors/Demos/WorldStateVelDaemon.h"
 #include "Behaviors/Demos/CameraBehavior.h"
+#include "Behaviors/Demos/MotionStressTestBehavior.h"
+#include "Behaviors/Demos/ASCIIVisionBehavior.h"
 
 #include "Shared/WorldState.h"
 #include "Shared/ERS210Info.h"
@@ -21,16 +25,30 @@
 	addItem(new ControlBase("Background Behaviors","Background daemons and monitors"));
 	startSubMenu();
 	{ 
-		addItem((new BehaviorSwitchControl<AutoGetupBehavior>("AutoGetupBehavior",false))->start());
-		addItem((new BehaviorSwitchControl<BatteryMonitorBehavior>("BatteryMonitorBehavior",false))->start());
+		addItem(new BehaviorSwitchControl<SimpleChaseBallBehavior>("SimpleChaseBallBehavior",false));
+		addItem(new BehaviorSwitchControl<StareAtBallBehavior>("StareAtBallBehavior",false));
 		addItem(new BehaviorSwitchControl<HeadLevelBehavior>("HeadLevelBehavior",false));
 		if(state->robotDesign & WorldState::ERS220Mask)
 			addItem(new BehaviorSwitchControl<ToggleHeadLightBehavior>("ToggleHeadLightBehavior",false));
-		addItem(new BehaviorSwitchControl<HelloWorldBehavior>("HelloWorldBehavior",false));
-		addItem(new BehaviorSwitchControl<CrashTestBehavior>("CrashTestBehavior",false));
 		addItem(new BehaviorSwitchControl<RelaxBehavior>("RelaxBehavior",false));
 		addItem(new BehaviorSwitchControl<CameraBehavior>("CameraBehavior",false));
-		addItem((new BehaviorSwitchControl<WorldStateVelDaemon>("WorldStateVelDaemon",false))->start());
+		addItem(new BehaviorSwitchControl<ASCIIVisionBehavior>("ASCIIVisionBehavior",false));
+		addItem(new ControlBase("Debugging Tests","Stress tests"));
+		startSubMenu();
+		{
+			addItem(new BehaviorSwitchControl<MotionStressTestBehavior>("MotionStressTestBehavior",false));
+			addItem(new BehaviorSwitchControl<CrashTestBehavior>("CrashTestBehavior",false));
+			addItem(new BehaviorSwitchControl<FreezeTestBehavior>("FreezeTestBehavior",false));
+		}
+		endSubMenu();
+		addItem(new ControlBase("System Daemons","Provide some common sensor or event processing"));
+		startSubMenu();
+		{
+			addItem((new BehaviorSwitchControl<AutoGetupBehavior>("AutoGetupBehavior",false)));
+			addItem((new BehaviorSwitchControl<WorldStateVelDaemon>("WorldStateVelDaemon",false))->start());
+			addItem((new BehaviorSwitchControl<BatteryMonitorBehavior>("BatteryMonitorBehavior",false))->start());
+		}
+		endSubMenu();
 	}
 	return endSubMenu();
 }
Index: StartupBehavior_SetupFileAccess.cc
===================================================================
RCS file: /afs/cs/project/skinnerbots/aibo/Tekkotsu/project/StartupBehavior_SetupFileAccess.cc,v
retrieving revision 1.1
retrieving revision 1.4
diff -u -d -r1.1 -r1.4
--- StartupBehavior_SetupFileAccess.cc	26 Jul 2003 01:48:59 -0000	1.1
+++ StartupBehavior_SetupFileAccess.cc	18 Oct 2004 17:01:38 -0000	1.4
@@ -2,21 +2,22 @@
 
 #include "Behaviors/Controls/ControlBase.h"
 
-#include "Behaviors/Controls/LoadPostureControl.h"
-#include "Behaviors/Controls/SavePostureControl.h"
+#include "Behaviors/Controls/PostureEditor.h"
 #include "Behaviors/Controls/RunSequenceControl.h"
 #include "Behaviors/Controls/PlaySoundControl.h"
 #include "Behaviors/Controls/DumpFileControl.h"
+#include "Behaviors/Controls/WaypointWalkControl.h"
 
 ControlBase*
 StartupBehavior::SetupFileAccess() {
 	addItem(new ControlBase("File Access","Access/load files on the memory stick"));
 	startSubMenu();
 	{ 
-		addItem(new LoadPostureControl("Load Posture",stop_id));
-		addItem(new SavePostureControl("Save Posture"));
+		addItem(new PostureEditor(stop_id));
 		addItem(new RunSequenceControl<MotionSequence::SizeXLarge>("Run Motion Sequence",stop_id));
 		addItem(new PlaySoundControl("Play Sound"));
+		addItem(new WaypointWalkControl());
+		SetupWalkEdit();
 		addItem(new DumpFileControl("Files","/ms"));
 	}
 	return endSubMenu();
Index: StartupBehavior_SetupModeSwitch.cc
===================================================================
RCS file: /afs/cs/project/skinnerbots/aibo/Tekkotsu/project/StartupBehavior_SetupModeSwitch.cc,v
retrieving revision 1.20
retrieving revision 1.33
diff -u -d -r1.20 -r1.33
--- StartupBehavior_SetupModeSwitch.cc	17 Mar 2004 02:06:46 -0000	1.20
+++ StartupBehavior_SetupModeSwitch.cc	18 Oct 2004 19:57:52 -0000	1.33
@@ -5,14 +5,21 @@
 
 #include "Behaviors/Demos/AlanBehavior.h"
 #include "Behaviors/Demos/ChaseBallBehavior.h"
-#include "Behaviors/Demos/SimpleChaseBallBehavior.h"
-#include "Behaviors/Demos/StareAtBallBehavior.h"
 #include "Behaviors/Demos/FollowHeadBehavior.h"
 #include "Behaviors/Demos/WalkToTargetMachine.h"
+#include "Behaviors/Demos/HelloWorldBehavior.h"
 #include "Behaviors/Demos/BanditMachine.h"
 #include "Behaviors/Demos/SoundTestBehavior.h"
 #include "Behaviors/Demos/ExploreMachine.h"
 #include "Behaviors/Demos/PaceTargetsMachine.h"
+#include "Behaviors/Demos/StareAtPawBehavior.h"
+#include "Behaviors/Demos/StareAtPawBehavior2.h"
+#include "Behaviors/Demos/KinematicSampleBehavior.h"
+#include "Behaviors/Demos/KinematicSampleBehavior2.h"
+#include "Behaviors/Demos/GroundPlaneBehavior.h"
+#include "Behaviors/Demos/LookForSoundBehavior.h"
+#include "Behaviors/Demos/SimpleChaseBallBehavior.h"
+#include "Behaviors/Demos/StareAtBallBehavior.h"
 
 #include "Shared/ProjectInterface.h"
 
@@ -26,17 +33,34 @@
 		BehaviorSwitchControlBase::BehaviorGroup * bg = new BehaviorSwitchControlBase::BehaviorGroup();
 
 		//put behaviors here:
+		addItem(new BehaviorSwitchControl<HelloWorldBehavior>("HelloWorldBehavior",false));
 		if(state->robotDesign&(WorldState::ERS210Mask|WorldState::ERS7Mask)) //this one only really works on the 210 or 7
 			addItem(new BehaviorSwitchControl<AlanBehavior>("AlanBehavior",bg,false));
 		addItem(new BehaviorSwitchControl<FollowHeadBehavior>("FollowHeadBehavior",bg,false));
-		addItem(new BehaviorSwitchControl<SoundTestBehavior>("SoundTestBehavior",bg,false));
+		addItem(new BehaviorSwitchControl<StareAtBallBehavior>("StareAtBallBehavior",false));
+		addItem(new BehaviorSwitchControl<SimpleChaseBallBehavior>("SimpleChaseBallBehavior",false));
 		addItem(new BehaviorSwitchControl<ChaseBallBehavior>("ChaseBallBehavior",bg,false));
-		addItem(new BehaviorSwitchControl<SimpleChaseBallBehavior>("SimpleChaseBallBehavior",bg,false));
-		addItem(new BehaviorSwitchControl<StareAtBallBehavior>("StareAtBallBehavior",bg,false));
-		addItem(new BehaviorSwitchControlBase(new WalkToTargetMachine(ProjectInterface::visPinkBallSID),bg));
-		addItem(new BehaviorSwitchControl<BanditMachine>("BanditMachine",bg,false));
-		addItem(new BehaviorSwitchControl<ExploreMachine>("ExploreMachine",bg,false));
-		addItem(new BehaviorSwitchControl<PaceTargetsMachine>("PaceTargetsMachine",bg,false));
+		addItem(new BehaviorSwitchControl<SoundTestBehavior>("SoundTestBehavior",bg,false));
+		addItem(new BehaviorSwitchControl<LookForSoundBehavior>("LookForSoundBehavior",bg,false));
+		addItem(new ControlBase("State Machine Demos","More fully developed demo applications"));
+		startSubMenu();
+		{
+			addItem(new BehaviorSwitchControlBase(new WalkToTargetMachine(ProjectInterface::visPinkBallSID),bg));
+			addItem(new BehaviorSwitchControl<BanditMachine>("BanditMachine",bg,false));
+			addItem(new BehaviorSwitchControl<ExploreMachine>("ExploreMachine",bg,false));
+			addItem(new BehaviorSwitchControl<PaceTargetsMachine>("PaceTargetsMachine",bg,false));
+		}
+		endSubMenu();
+		addItem(new ControlBase("Kinematics Demos","Showcases some of the newly developed kinematics code"));
+		startSubMenu();
+		{
+			addItem(new BehaviorSwitchControl<KinematicSampleBehavior>("KinematicSampleBehavior",bg,false));
+			addItem(new BehaviorSwitchControl<KinematicSampleBehavior2>("KinematicSampleBehavior2",bg,false));
+			addItem(new BehaviorSwitchControl<StareAtPawBehavior>("StareAtPawBehavior",bg,false));
+			addItem(new BehaviorSwitchControl<StareAtPawBehavior2>("StareAtPawBehavior2",bg,false));
+			addItem(new BehaviorSwitchControl<GroundPlaneBehavior>("GroundPlaneBehavior",bg,false));
+		}
+		endSubMenu();
 	}
 	return endSubMenu();
 }
Index: StartupBehavior_SetupTekkotsuMon.cc
===================================================================
RCS file: /afs/cs/project/skinnerbots/aibo/Tekkotsu/project/StartupBehavior_SetupTekkotsuMon.cc,v
retrieving revision 1.12
retrieving revision 1.14
diff -u -d -r1.12 -r1.14
--- StartupBehavior_SetupTekkotsuMon.cc	19 Jan 2004 20:36:56 -0000	1.12
+++ StartupBehavior_SetupTekkotsuMon.cc	25 Aug 2004 01:09:18 -0000	1.14
@@ -18,14 +18,14 @@
 	addItem(new ControlBase("TekkotsuMon","Servers for GUIs"));
 	startSubMenu();
 	{ 
-		addItem((new BehaviorSwitchControl<RawCamBehavior>("RawCamServer",false)));
-		addItem((new BehaviorSwitchControl<SegCamBehavior>("SegCamServer",false)));
 		addItem((new BehaviorSwitchControl<HeadPointControllerBehavior>("Head Remote Control",false)));
 		addItem((new BehaviorSwitchControl<WalkControllerBehavior>("Walk Remote Control",false)));
 		addItem((new BehaviorSwitchControl<ViewWMVarsBehavior>("View WMVars",false)));
 		addItem((new BehaviorSwitchControl<WMMonitorBehavior>("Watchable Memory Monitor",false))->start());
 		addItem((new BehaviorSwitchControl<Aibo3DControllerBehavior>("Aibo 3D",false)));
 		addItem((new BehaviorSwitchControl<WorldStateSerializerBehavior>("World State Serializer",false)));
+		addItem((new BehaviorSwitchControl<RawCamBehavior>("RawCamServer",false)));
+		addItem((new BehaviorSwitchControl<SegCamBehavior>("SegCamServer",false)));
 		addItem((new BehaviorSwitchControlBase(new EStopControllerBehavior(stop_id)))->start());
 	}
 	return endSubMenu();
Index: StartupBehavior_SetupVision.cc
===================================================================
RCS file: /afs/cs/project/skinnerbots/aibo/Tekkotsu/project/StartupBehavior_SetupVision.cc,v
retrieving revision 1.14
retrieving revision 1.16
diff -u -d -r1.14 -r1.16
--- StartupBehavior_SetupVision.cc	23 Feb 2004 16:17:15 -0000	1.14
+++ StartupBehavior_SetupVision.cc	17 Mar 2004 22:49:15 -0000	1.16
@@ -4,6 +4,7 @@
 #include "Shared/Config.h"
 
 #include "Behaviors/Controls/BehaviorSwitchControl.h"
+#include "Behaviors/Controls/NullControl.h"
 
 #include "Vision/RawCameraGenerator.h"
 #include "Vision/InterleavedYUVGenerator.h"
@@ -112,9 +113,18 @@
 			addItem(new BehaviorSwitchControlBase(defSegmentedColorGenerator));
 		addItem((new BehaviorSwitchControlBase(defRLEGenerator))->start());
 		addItem((new BehaviorSwitchControlBase(defRegionGenerator))->start());
-		addItem((new BehaviorSwitchControlBase(pball))->start());
-		addItem((new BehaviorSwitchControlBase(bball))->start());
-		addItem((new BehaviorSwitchControlBase(handball))->start());
+		if(pball)
+			addItem((new BehaviorSwitchControlBase(pball))->start());
+		else
+			addItem(new NullControl("Error: PinkBallDetectionGenerator","Color \"red\" is undefined"));
+		if(bball)
+			addItem((new BehaviorSwitchControlBase(bball))->start());
+		else
+			addItem(new NullControl("Error: BlueBallDetectionGenerator","Color \"blue\" is undefined"));
+		if(handball)
+			addItem((new BehaviorSwitchControlBase(handball))->start());
+		else
+			addItem(new NullControl("Error: HandBallDetectionGenerator","Color \"brown\" is undefined"));
 	}
 	return endSubMenu();
 }
Index: StartupBehavior_SetupWalkEdit.cc
===================================================================
RCS file: /afs/cs/project/skinnerbots/aibo/Tekkotsu/project/StartupBehavior_SetupWalkEdit.cc,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- StartupBehavior_SetupWalkEdit.cc	26 Feb 2004 01:03:00 -0000	1.7
+++ StartupBehavior_SetupWalkEdit.cc	14 May 2004 07:18:19 -0000	1.8
@@ -10,9 +10,9 @@
  * 
  * $Author: ejt $
  * $Name:  $
- * $Revision: 1.7 $
+ * $Revision: 1.8 $
  * $State: Exp $
- * $Date: 2004/02/26 01:03:00 $
+ * $Date: 2004/05/14 07:18:19 $
  */
 
 #include "StartupBehavior.h"
@@ -45,6 +45,8 @@
 			addItem(new ValueEditControl<double>("Hop",&walker->getWalkMC()->getWP().hop));
 			addItem(new ValueEditControl<double>("Sway",&walker->getWalkMC()->getWP().sway));
 			addItem(new ValueEditControl<long>("Period",&walker->getWalkMC()->getWP().period));
+			addItem(new ValueEditControl<long>("Use Diff Drive",&walker->getWalkMC()->getWP().useDiffDrive));
+			addItem(new ValueEditControl<float>("Sag",&walker->getWalkMC()->getWP().sag));
 		}
 		endSubMenu();
 
Index: ms/config/ers210.kin
===================================================================
RCS file: ms/config/ers210.kin
diff -N ms/config/ers210.kin
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ ms/config/ers210.kin	18 Oct 2004 23:11:05 -0000	1.10
@@ -0,0 +1,1568 @@
+# ----------------------------------------------------------------
+# Robot configuration File
+# ----------------------------------------------------------------
+
+[Default]
+
+
+[LFr]
+Name:       LFr
+DH:         1
+Fix:        0
+MinPara:    0
+dof:        5
+Motor:      0
+Stl:        0
+
+[LFr_LINK1]
+joint_type: 0
+immobile:   1
+theta:      0.0
+d:          0.0
+a:         59.5
+alpha:      1.570796326794895
+theta_min:  0.0
+theta_max:  0.0
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+
+[LFr_LINK2]
+joint_type: 0
+theta:     -1.570796326794895
+d:        -59.2
+a:          0.0
+alpha:     -1.570796326794895
+theta_min: -2.0944
+theta_max:  2.0944
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 0
+
+[LFr_LINK3]
+joint_type: 0
+theta:      0.0
+d:         12.8
+a:         64.0
+alpha:      1.570796326794895
+theta_min: -0.2618
+theta_max:  1.6057
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 1
+
+[LFr_LINK4]
+joint_type: 0
+theta:     -0.206996
+d:         -0.5
+a:         56.986
+alpha:      0.0
+theta_min: -0.5236
+theta_max:  2.6180
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 2
+
+[LFr_LINK5]
+joint_type: 0
+immobile:   1
+theta:      0.0
+d:          0.0
+a:          0.0
+alpha:      0.0
+theta_min:  0.0
+theta_max:  0.0
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_frame: 1
+
+
+[RFr]
+Name:       RFr
+DH:         1
+Fix:        0
+MinPara:    0
+dof:        5
+Motor:      0
+Stl:        0
+
+[RFr_LINK1]
+joint_type: 0
+immobile:   1
+theta:      0.0
+d:          0.0
+a:         59.5
+alpha:      1.570796326794895
+theta_min:  0.0
+theta_max:  0.0
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+
+[RFr_LINK2]
+joint_type: 0
+theta:     -1.570796326794895
+d:         59.2
+a:          0.0
+alpha:      1.570796326794895
+theta_min: -2.0944
+theta_max:  2.0944
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 3
+
+[RFr_LINK3]
+joint_type: 0
+theta:      0.0
+d:        -12.8
+a:         64.0
+alpha:     -1.570796326794895
+theta_min: -0.2618
+theta_max:  1.6057
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 4
+
+[RFr_LINK4]
+joint_type: 0
+theta:     -0.206996
+d:          0.5
+a:         56.986
+alpha:      0.0
+theta_min: -0.5236
+theta_max:  2.6180
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 5
+
+[RFr_LINK5]
+joint_type: 0
+immobile:   1
+theta:      0.0
+d:          0.0
+a:          0.0
+alpha:      0.0
+theta_min:  0.0
+theta_max:  0.0
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_frame: 2
+
+
+[LBk]
+Name:       LBk
+DH:         1
+Fix:        0
+MinPara:    0
+dof:        5
+Motor:      0
+Stl:        0
+
+[LBk_LINK1]
+joint_type: 0
+immobile:   1
+theta:      0.0
+d:          0.0
+a:        -59.5
+alpha:     -1.570796326794895
+theta_min:  0.0
+theta_max:  0.0
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+
+[LBk_LINK2]
+joint_type: 0
+theta:      1.570796326794895
+d:         59.2
+a:          0.0
+alpha:      1.570796326794895
+theta_min: -2.0944
+theta_max:  2.0944
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 6
+
+[LBk_LINK3]
+joint_type: 0
+theta:      0.0
+d:        -12.8
+a:         64.0
+alpha:     -1.570796326794895
+theta_min: -0.2618
+theta_max:  1.6057
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 7
+
+[LBk_LINK4]
+joint_type: 0
+theta:     -0.350584
+d:          0.5
+a:         64.572
+alpha:      3.1415926535897932385
+theta_min: -0.5236
+theta_max:  2.6180
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 8
+
+[LBk_LINK5]
+joint_type: 0
+immobile:   1
+theta:      0.0
+d:          0.0
+a:          0.0
+alpha:      0.0
+theta_min:  0.0
+theta_max:  0.0
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_frame: 3
+
+
+[RBk]
+Name:       RBk
+DH:         1
+Fix:        0
+MinPara:    0
+dof:        5
+Motor:      0
+Stl:        0
+
+[RBk_LINK1]
+joint_type: 0
+immobile:   1
+theta:      0.0
+d:          0.0
+a:        -59.5
+alpha:     -1.570796326794895
+theta_min:  0.0
+theta_max:  0.0
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+
+[RBk_LINK2]
+joint_type: 0
+theta:      1.570796326794895
+d:        -59.2
+a:          0.0
+alpha:     -1.570796326794895
+theta_min: -2.0944
+theta_max:  2.0944
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 9
+
+[RBk_LINK3]
+joint_type: 0
+theta:      0.0
+d:         12.8
+a:         64.0
+alpha:      1.570796326794895
+theta_min: -0.2618
+theta_max:  1.6057
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 10
+
+[RBk_LINK4]
+joint_type: 0
+theta:     -0.350584
+d:         -0.5
+a:         64.572
+alpha:      3.1415926535897932385
+theta_min: -0.5236
+theta_max:  2.6180
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 11
+
+[RBk_LINK5]
+joint_type: 0
+immobile:   1
+theta:      0.0
+d:          0.0
+a:          0.0
+alpha:      0.0
+theta_min:  0.0
+theta_max:  0.0
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_frame: 4
+
+
+[Mouth]
+Name:       Mouth
+DH:         1
+Fix:        0
+MinPara:    0
+dof:        5
+Motor:      0
+Stl:        0
+
+[Mouth_LINK1]
+joint_type: 0
+immobile:   1
+theta:      0.0
+d:         50.0
+a:         75.0
+alpha:      1.570796326794895
+theta_min:  0.0
+theta_max:  0.0
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+
+[Mouth_LINK2]
+joint_type: 0
+theta:      0.0
+d:          0.0
+a:          0.0
+alpha:     -1.570796326794895
+theta_min: -1.483530
+theta_max:  0.802851
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 12
+
+[Mouth_LINK3]
+joint_type: 0
+theta:      1.570796326794895
+d:         48.0
+a:          0.0
+alpha:      1.570796326794895
+theta_min: -1.616175
+theta_max:  1.616175
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 13
+
+[Mouth_LINK4]
+joint_type: 0
+theta:     -1.570796326794895
+d:         19.9547
+a:         21.1774
+alpha:      1.570796326794895
+theta_min: -0.558505
+theta_max:  0.558505
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 14
+
+[Mouth_LINK5]
+joint_type: 0
+theta:      1.570796326794895
+d:          0.0
+a:         40.9065
+alpha:     -1.570796326794895
+theta_min: -0.872665
+theta_max:  0.0
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 17
+
+
+[Camera]
+Name:       Camera
+DH:         1
+Fix:        0
+MinPara:    0
+dof:        5
+Motor:      0
+Stl:        0
+
+[Camera_LINK1]
+joint_type: 0
+immobile:   1
+theta:      0.0
+d:         50.0
+a:         75.0
+alpha:      1.570796326794895
+theta_min:  0.0
+theta_max:  0.0
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+
+[Camera_LINK2]
+joint_type: 0
+theta:      0.0
+d:          0.0
+a:          0.0
+alpha:     -1.570796326794895
+theta_min: -1.483530
+theta_max:  0.802851
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 12
+
+[Camera_LINK3]
+joint_type: 0
+theta:      1.570796326794895
+d:         48.0
+a:          0.0
+alpha:      1.570796326794895
+theta_min: -1.616175
+theta_max:  1.616175
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 13
+
+[Camera_LINK4]
+joint_type: 0
+theta:      3.1415926535897932385
+d:         66.6
+a:          0.0
+alpha:      0.0
+theta_min: -0.558505
+theta_max:  0.558505
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 14
+
+[Camera_LINK5]
+joint_type: 0
+immobile:   1
+theta:      0.0
+d:          0.0
+a:          0.0
+alpha:      0.0
+theta_min:  0.0
+theta_max:  0.0
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_frame: 5
+
+
+[IR]
+Name:       IR
+DH:         1
+Fix:        0
+MinPara:    0
+dof:        6
+Motor:      0
+Stl:        0
+
+[IR_LINK1]
+joint_type: 0
+immobile:   1
+theta:      0.0
+d:         50.0
+a:         75.0
+alpha:      1.570796326794895
+theta_min:  0.0
+theta_max:  0.0
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+
+[IR_LINK2]
+joint_type: 0
+theta:      0.0
+d:          0.0
+a:          0.0
+alpha:     -1.570796326794895
+theta_min: -1.483530
+theta_max:  0.802851
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 12
+
+[IR_LINK3]
+joint_type: 0
+theta:     -1.570796326794895
+d:         48.0
+a:          0.0
+alpha:     -1.570796326794895
+theta_min: -1.616175
+theta_max:  1.616175
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 13
+
+[IR_LINK4]
+joint_type: 0
+theta:     -2.02003
+d:         26.5
+a:          0.0
+alpha:     16.2027
+theta_min: -0.558505
+theta_max:  0.558505
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 14
+
+[IR_LINK5]
+joint_type: 0
+immobile:   1
+theta:      1.26156
+d:          0.0
+a:          0.0
+alpha:     -0.0215808
+theta_min:  0.0
+theta_max:  0.0
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+
+[IR_LINK6]
+joint_type: 1
+theta:      0.0
+d:          0.0
+a:          0.0
+alpha:      0.0
+theta_min:  0.0
+theta_max:  0.0
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_frame: 6
+
+
+[InterestPoints]
+Length:     109
+
+[InterestPoint1]
+   name: LFr:elvtr
+  chain: LFr
+   link: 2
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint2]
+   name: LFr:rotor
+  chain: LFr
+   link: 3
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint3]
+   name: LFr:knee~
+  chain: LFr
+   link: 4
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint4]
+   name: RFr:elvtr
+  chain: RFr
+   link: 2
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint5]
+   name: RFr:rotor
+  chain: RFr
+   link: 3
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint6]
+   name: RFr:knee~
+  chain: RFr
+   link: 4
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint7]
+   name: LBk:elvtr
+  chain: LBk
+   link: 2
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint8]
+   name: LBk:rotor
+  chain: LBk
+   link: 3
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint9]
+   name: LBk:knee~
+  chain: LBk
+   link: 4
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint10]
+   name: RBk:elvtr
+  chain: RBk
+   link: 2
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint11]
+   name: RBk:rotor
+  chain: RBk
+   link: 3
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint12]
+   name: RBk:knee~
+  chain: RBk
+   link: 4
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint13]
+   name: NECK:tilt
+  chain: Camera
+   link: 2
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint14]
+   name: NECK:pan~
+  chain: Camera
+   link: 3
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint15]
+   name: NECK:nod~
+  chain: Camera
+   link: 4
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint16]
+   name: MOUTH~~~~
+  chain: Mouth
+   link: 5
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint17]
+   name: Base
+  chain: Camera
+   link: 0
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint18]
+   name: LFrPaw
+  chain: LFr
+   link: 5
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint19]
+   name: RFrPaw
+  chain: RFr
+   link: 5
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint20]
+   name: LBkPaw
+  chain: LBk
+   link: 5
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint21]
+   name: RBkPaw
+  chain: RBk
+   link: 5
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint22]
+   name: Camera
+  chain: Camera
+   link: 6
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint23]
+   name: IR
+  chain: IR
+   link: 6
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint24]
+   name: LowerLeftLowerLip
+  chain: Mouth
+   link: 5
+      x: 7.139
+      y: 37.069
+      z: 11.898
+[InterestPoint25]
+   name: LowerRightLowerLip
+  chain: Mouth
+   link: 5
+      x: 7.139
+      y: 37.069
+      z: -11.898
+[InterestPoint26]
+   name: UpperLeftLowerLip
+  chain: Mouth
+   link: 5
+      x: -1.827
+      y: 38.225
+      z: 11.630
+[InterestPoint27]
+   name: UpperRightLowerLip
+  chain: Mouth
+   link: 5
+      x: -1.827
+      y: 38.225
+      z: -11.630
+[InterestPoint28]
+   name: LowerLeftUpperLip
+  chain: Mouth
+   link: 4
+      x: -11.630
+      y: 19.327
+      z: 58.044
+[InterestPoint29]
+   name: LowerRightUpperLip
+  chain: Mouth
+   link: 4
+      x: 11.630
+      y: 19.327
+      z: 58.044
+[InterestPoint30]
+   name: LowerLeftSnout
+  chain: Camera
+   link: 4
+      x: -24.917
+      y: 19.968
+      z: 65.777
+[InterestPoint31]
+   name: LowerRightSnout
+  chain: Camera
+   link: 4
+      x: 24.917
+      y: 19.968
+      z: 65.777
+[InterestPoint32]
+   name: UpperLeftSnout
+  chain: Camera
+   link: 4
+      x: -20.338
+      y: -5.542
+      z: 71.216
+[InterestPoint33]
+   name: UpperRightSnout
+  chain: Camera
+   link: 4
+      x: 20.338
+      y: -5.542
+      z: 71.216
+[InterestPoint34]
+   name: LeftMicrophone
+  chain: Camera
+   link: 4
+      x: -36.515
+      y: -3.396
+      z: 21.030
+[InterestPoint35]
+   name: RightMicrophone
+  chain: Camera
+   link: 4
+      x: 36.515
+      y: -3.396
+      z: 21.030
+[InterestPoint36]
+   name: FrontHeadButton
+  chain: Camera
+   link: 4
+      x: 0
+      y: -44.415
+      z: 8.284
+[InterestPoint37]
+   name: RearHeadButton
+  chain: Camera
+   link: 4
+      x: 0
+      y: -41.221
+      z: -6.880
+[InterestPoint38]
+   name: ToeLFrPaw
+  chain: LFr
+   link: 5
+      x: 18.464
+      y: 31.529
+      z: 0
+[InterestPoint39]
+   name: ToeRFrPaw
+  chain: RFr
+   link: 5
+      x: 18.464
+      y: 31.529
+      z: 0
+[InterestPoint40]
+   name: ToeLBkPaw
+  chain: LBk
+   link: 5
+      x: -4.890
+      y: 36.210
+      z: 0
+[InterestPoint41]
+   name: ToeRBkPaw
+  chain: RBk
+   link: 5
+      x: -4.890
+      y: 36.210
+      z: 0
+[InterestPoint42]
+   name: LowerOuterFrontLFrShin
+  chain: LFr
+   link: 4
+      x: 45.272
+      y: 11.600
+      z: -15.843
+[InterestPoint43]
+   name: LowerInnerFrontRFrShin
+  chain: RFr
+   link: 4
+      x: 45.272
+      y: 11.600
+      z: -14.684
+[InterestPoint44]
+   name: LowerOuterFrontLBkShin
+  chain: LBk
+   link: 4
+      x: 31.457
+      y: -30.571
+      z: 15.843
+[InterestPoint45]
+   name: LowerInnerFrontRBkShin
+  chain: RBk
+   link: 4
+      x: 31.457
+      y: -30.571
+      z: 14.684
+[InterestPoint46]
+   name: LowerInnerFrontLFrShin
+  chain: LFr
+   link: 4
+      x: 45.272
+      y: 11.600
+      z: 14.684
+[InterestPoint47]
+   name: LowerOuterFrontRFrShin
+  chain: RFr
+   link: 4
+      x: 45.272
+      y: 11.600
+      z: 15.843
+[InterestPoint48]
+   name: LowerInnerFrontLBkShin
+  chain: LBk
+   link: 4
+      x: 31.457
+      y: -30.571
+      z: -14.684
+[InterestPoint49]
+   name: LowerOuterFrontRBkShin
+  chain: RBk
+   link: 4
+      x: 31.457
+      y: -30.571
+      z: -15.843
+[InterestPoint50]
+   name: LowerOuterBackLFrShin
+  chain: LFr
+   link: 4
+      x: 45.891
+      y: -26.126
+      z: -15.843
+[InterestPoint51]
+   name: LowerInnerBackRFrShin
+  chain: RFr
+   link: 4
+      x: 45.891
+      y: -26.126
+      z: -14.684
+[InterestPoint52]
+   name: LowerOuterBackLBkShin
+  chain: LBk
+   link: 4
+      x: 65.997
+      y: -8.442
+      z: 15.843
+[InterestPoint53]
+   name: LowerInnerBackRBkShin
+  chain: RBk
+   link: 4
+      x: 65.997
+      y: -8.442
+      z: 14.684
+[InterestPoint54]
+   name: LowerInnerBackLFrShin
+  chain: LFr
+   link: 4
+      x: 45.891
+      y: -26.126
+      z: 14.684
+[InterestPoint55]
+   name: LowerOuterBackRFrShin
+  chain: RFr
+   link: 4
+      x: 45.891
+      y: -26.126
+      z: 15.843
+[InterestPoint56]
+   name: LowerInnerBackLBkShin
+  chain: LBk
+   link: 4
+      x: 65.997
+      y: -8.442
+      z: -14.684
+[InterestPoint57]
+   name: LowerOuterBackRBkShin
+  chain: RBk
+   link: 4
+      x: 65.997
+      y: -8.442
+      z: -15.843
+[InterestPoint58]
+   name: MiddleOuterBackLBkShin
+  chain: LBk
+   link: 4
+      x: 43.912
+      y: 7.434
+      z: 15.843
+[InterestPoint59]
+   name: MiddleInnerBackRBkShin
+  chain: RBk
+   link: 4
+      x: 43.912
+      y: 7.434
+      z: 14.684
+[InterestPoint60]
+   name: MiddleInnerBackLBkShin
+  chain: LBk
+   link: 4
+      x: 43.912
+      y: 7.434
+      z: -14.684
+[InterestPoint61]
+   name: MiddleOuterBackRBkShin
+  chain: RBk
+   link: 4
+      x: 43.912
+      y: 7.434
+      z: -15.843
+[InterestPoint62]
+   name: UpperOuterFrontLFrShin
+  chain: LFr
+   link: 4
+      x: 11.839
+      y: 5.510
+      z: -15.843
+[InterestPoint63]
+   name: UpperInnerFrontRFrShin
+  chain: RFr
+   link: 4
+      x: 11.839
+      y: 5.510
+      z: -14.684
+[InterestPoint64]
+   name: UpperOuterFrontLBkShin
+  chain: LBk
+   link: 4
+      x: .931
+      y: -25.377
+      z: 15.843
+[InterestPoint65]
+   name: UpperInnerFrontRBkShin
+  chain: RBk
+   link: 4
+      x: .931
+      y: -25.377
+      z: 14.684
+[InterestPoint66]
+   name: UpperInnerFrontLFrShin
+  chain: LFr
+   link: 4
+      x: 11.839
+      y: 5.510
+      z: 14.684
+[InterestPoint67]
+   name: UpperOuterFrontRFrShin
+  chain: RFr
+   link: 4
+      x: 11.839
+      y: 5.510
+      z: 15.843
+[InterestPoint68]
+   name: UpperInnerFrontLBkShin
+  chain: LBk
+   link: 4
+      x: .931
+      y: -25.377
+      z: -14.684
+[InterestPoint69]
+   name: UpperOuterFrontRBkShin
+  chain: RBk
+   link: 4
+      x: .931
+      y: -25.377
+      z: -15.843
+[InterestPoint70]
+   name: UpperOuterBackLFrShin
+  chain: LFr
+   link: 4
+      x: -1.381
+      y: -23.945
+      z: -15.843
+[InterestPoint71]
+   name: UpperInnerBackRFrShin
+  chain: RFr
+   link: 4
+      x: -1.381
+      y: -23.945
+      z: -14.684
+[InterestPoint72]
+   name: UpperOuterBackLBkShin
+  chain: LBk
+   link: 4
+      x: 13.646
+      y: 4.905
+      z: 15.843
+[InterestPoint73]
+   name: UpperInnerBackRBkShin
+  chain: RBk
+   link: 4
+      x: 13.646
+      y: 4.905
+      z: 14.684
+[InterestPoint74]
+   name: UpperInnerBackLFrShin
+  chain: LFr
+   link: 4
+      x: -1.381
+      y: -23.945
+      z: 14.684
+[InterestPoint75]
+   name: UpperOuterBackRFrShin
+  chain: RFr
+   link: 4
+      x: -1.381
+      y: -23.945
+      z: 15.843
+[InterestPoint76]
+   name: UpperInnerBackLBkShin
+  chain: LBk
+   link: 4
+      x: 13.646
+      y: 4.905
+      z: -14.684
+[InterestPoint77]
+   name: UpperOuterBackRBkShin
+  chain: RBk
+   link: 4
+      x: 13.646
+      y: 4.905
+      z: -15.843
+[InterestPoint78]
+   name: LowerOuterFrontLFrThigh
+  chain: LFr
+   link: 3
+      x: 42.939
+      y: 14.898
+      z: 18.749
+[InterestPoint79]
+   name: LowerInnerFrontRFrThigh
+  chain: RFr
+   link: 3
+      x: 42.939
+      y: -14.496
+      z: -18.749
+[InterestPoint80]
+   name: LowerOuterFrontLBkThigh
+  chain: LBk
+   link: 3
+      x: 48.284
+      y: 14.898
+      z: 17.459
+[InterestPoint81]
+   name: LowerInnerFrontRBkThigh
+  chain: RBk
+   link: 3
+      x: 48.284
+      y: -14.496
+      z: -17.459
+[InterestPoint82]
+   name: LowerInnerFrontLFrThigh
+  chain: LFr
+   link: 3
+      x: 42.939
+      y: -14.496
+      z: 18.749
+[InterestPoint83]
+   name: LowerOuterFrontRFrThigh
+  chain: RFr
+   link: 3
+      x: 42.939
+      y: 14.898
+      z: -18.749
+[InterestPoint84]
+   name: LowerInnerFrontLBkThigh
+  chain: LBk
+   link: 3
+      x: 48.284
+      y: -14.496
+      z: 17.459
+[InterestPoint85]
+   name: LowerOuterFrontRBkThigh
+  chain: RBk
+   link: 3
+      x: 48.284
+      y: 14.898
+      z: -17.459
+[InterestPoint86]
+   name: LowerOuterBackLFrThigh
+  chain: LFr
+   link: 3
+      x: 48.284
+      y: 14.436
+      z: -17.459
+[InterestPoint87]
+   name: LowerInnerBackRFrThigh
+  chain: RFr
+   link: 3
+      x: 48.284
+      y: -14.027
+      z: 17.459
+[InterestPoint88]
+   name: LowerOuterBackLBkThigh
+  chain: LBk
+   link: 3
+      x: 42.939
+      y: 14.436
+      z: -18.749
+[InterestPoint89]
+   name: LowerInnerBackRBkThigh
+  chain: RBk
+   link: 3
+      x: 42.939
+      y: -14.027
+      z: 18.749
+[InterestPoint90]
+   name: LowerInnerBackLFrThigh
+  chain: LFr
+   link: 3
+      x: 48.284
+      y: -14.027
+      z: -17.459
+[InterestPoint91]
+   name: LowerOuterBackRFrThigh
+  chain: RFr
+   link: 3
+      x: 48.284
+      y: 14.436
+      z: 17.459
+[InterestPoint92]
+   name: LowerInnerBackLBkThigh
+  chain: LBk
+   link: 3
+      x: 42.939
+      y: -14.027
+      z: -18.749
+[InterestPoint93]
+   name: LowerOuterBackRBkThigh
+  chain: RBk
+   link: 3
+      x: 42.939
+      y: 14.436
+      z: 18.749
+[InterestPoint94]
+   name: UpperOuterFrontLFrThigh
+  chain: LFr
+   link: 3
+      x: 15.912
+      y: -14.492
+      z: 20.811
+[InterestPoint95]
+   name: UpperInnerFrontRFrThigh
+  chain: RFr
+   link: 3
+      x: 0
+      y: 16.072
+      z: -20.811
+[InterestPoint96]
+   name: UpperOuterFrontLBkThigh
+  chain: LBk
+   link: 3
+      x: 15.912
+      y: -14.492
+      z: 20.811
+[InterestPoint97]
+   name: UpperInnerFrontRBkThigh
+  chain: RBk
+   link: 3
+      x: 0
+      y: 16.072
+      z: -20.811
+[InterestPoint98]
+   name: UpperInnerFrontLFrThigh
+  chain: LFr
+   link: 3
+      x: 0
+      y: 16.072
+      z: 20.811
+[InterestPoint99]
+   name: UpperOuterFrontRFrThigh
+  chain: RFr
+   link: 3
+      x: 15.912
+      y: -14.492
+      z: -20.811
+[InterestPoint100]
+   name: UpperInnerFrontLBkThigh
+  chain: LBk
+   link: 3
+      x: 0
+      y: 16.072
+      z: 20.811
+[InterestPoint101]
+   name: UpperOuterFrontRBkThigh
+  chain: RBk
+   link: 3
+      x: 15.912
+      y: -14.492
+      z: -20.811
+[InterestPoint102]
+   name: UpperOuterBackLFrThigh
+  chain: LFr
+   link: 3
+      x: 15.912
+      y: -14.492
+      z: -20.811
+[InterestPoint103]
+   name: UpperInnerBackRFrThigh
+  chain: RFr
+   link: 3
+      x: 0
+      y: 16.072
+      z: 20.811
+[InterestPoint104]
+   name: UpperOuterBackLBkThigh
+  chain: LBk
+   link: 3
+      x: 15.912
+      y: -14.492
+      z: -20.811
+[InterestPoint105]
+   name: UpperInnerBackRBkThigh
+  chain: RBk
+   link: 3
+      x: 0
+      y: 16.072
+      z: 20.811
+[InterestPoint106]
+   name: UpperInnerBackLFrThigh
+  chain: LFr
+   link: 3
+      x: 0
+      y: 16.072
+      z: -20.811
+[InterestPoint107]
+   name: UpperOuterBackRFrThigh
+  chain: RFr
+   link: 3
+      x: 15.912
+      y: -14.492
+      z: 20.811
+[InterestPoint108]
+   name: UpperInnerBackLBkThigh
+  chain: LBk
+   link: 3
+      x: 0
+      y: 16.072
+      z: -20.811
+[InterestPoint109]
+   name: UpperOuterBackRBkThigh
+  chain: RBk
+   link: 3
+      x: 15.912
+      y: -14.492
+      z: 20.811
Index: ms/config/ers220.kin
===================================================================
RCS file: ms/config/ers220.kin
diff -N ms/config/ers220.kin
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ ms/config/ers220.kin	18 Oct 2004 23:11:05 -0000	1.10
@@ -0,0 +1,1416 @@
+# ----------------------------------------------------------------
+# Robot configuration File
+# ----------------------------------------------------------------
+
+[Default]
+
+
+[LFr]
+Name:       LFr
+DH:         1
+Fix:        0
+MinPara:    0
+dof:        5
+Motor:      0
+Stl:        0
+
+[LFr_LINK1]
+joint_type: 0
+immobile:   1
+theta:      0.0
+d:          0.0
+a:         59.5
+alpha:      1.570796326794895
+theta_min:  0.0
+theta_max:  0.0
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+
+[LFr_LINK2]
+joint_type: 0
+theta:     -1.570796326794895
+d:        -59.2
+a:          0.0
+alpha:     -1.570796326794895
+theta_min: -2.0944
+theta_max:  2.0944
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 0
+
+[LFr_LINK3]
+joint_type: 0
+theta:      0.0
+d:         12.8
+a:         64.0
+alpha:      1.570796326794895
+theta_min: -0.2618
+theta_max:  1.6057
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 1
+
+[LFr_LINK4]
+joint_type: 0
+theta:     -0.206996
+d:         -0.5
+a:         56.986
+alpha:      0.0
+theta_min: -0.5236
+theta_max:  2.6180
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 2
+
+[LFr_LINK5]
+joint_type: 0
+immobile:   1
+theta:      0.0
+d:          0.0
+a:          0.0
+alpha:      0.0
+theta_min:  0.0
+theta_max:  0.0
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_frame: 1
+
+
+[RFr]
+Name:       RFr
+DH:         1
+Fix:        0
+MinPara:    0
+dof:        5
+Motor:      0
+Stl:        0
+
+[RFr_LINK1]
+joint_type: 0
+immobile:   1
+theta:      0.0
+d:          0.0
+a:         59.5
+alpha:      1.570796326794895
+theta_min:  0.0
+theta_max:  0.0
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+
+[RFr_LINK2]
+joint_type: 0
+theta:     -1.570796326794895
+d:         59.2
+a:          0.0
+alpha:      1.570796326794895
+theta_min: -2.0944
+theta_max:  2.0944
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 3
+
+[RFr_LINK3]
+joint_type: 0
+theta:      0.0
+d:        -12.8
+a:         64.0
+alpha:     -1.570796326794895
+theta_min: -0.2618
+theta_max:  1.6057
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 4
+
+[RFr_LINK4]
+joint_type: 0
+theta:     -0.206996
+d:          0.5
+a:         56.986
+alpha:      0.0
+theta_min: -0.5236
+theta_max:  2.6180
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 5
+
+[RFr_LINK5]
+joint_type: 0
+immobile:   1
+theta:      0.0
+d:          0.0
+a:          0.0
+alpha:      0.0
+theta_min:  0.0
+theta_max:  0.0
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_frame: 2
+
+
+[LBk]
+Name:       LBk
+DH:         1
+Fix:        0
+MinPara:    0
+dof:        5
+Motor:      0
+Stl:        0
+
+[LBk_LINK1]
+joint_type: 0
+immobile:   1
+theta:      0.0
+d:          0.0
+a:        -59.5
+alpha:     -1.570796326794895
+theta_min:  0.0
+theta_max:  0.0
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+
+[LBk_LINK2]
+joint_type: 0
+theta:      1.570796326794895
+d:         59.2
+a:          0.0
+alpha:      1.570796326794895
+theta_min: -2.0944
+theta_max:  2.0944
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 6
+
+[LBk_LINK3]
+joint_type: 0
+theta:      0.0
+d:        -12.8
+a:         64.0
+alpha:     -1.570796326794895
+theta_min: -0.2618
+theta_max:  1.6057
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 7
+
+[LBk_LINK4]
+joint_type: 0
+theta:     -0.350584
+d:          0.5
+a:         64.572
+alpha:      3.1415926535897932385
+theta_min: -0.5236
+theta_max:  2.6180
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 8
+
+[LBk_LINK5]
+joint_type: 0
+immobile:   1
+theta:      0.0
+d:          0.0
+a:          0.0
+alpha:      0.0
+theta_min:  0.0
+theta_max:  0.0
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_frame: 3
+
+
+[RBk]
+Name:       RBk
+DH:         1
+Fix:        0
+MinPara:    0
+dof:        5
+Motor:      0
+Stl:        0
+
+[RBk_LINK1]
+joint_type: 0
+immobile:   1
+theta:      0.0
+d:          0.0
+a:        -59.5
+alpha:     -1.570796326794895
+theta_min:  0.0
+theta_max:  0.0
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+
+[RBk_LINK2]
+joint_type: 0
+theta:      1.570796326794895
+d:        -59.2
+a:          0.0
+alpha:     -1.570796326794895
+theta_min: -2.0944
+theta_max:  2.0944
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 9
+
+[RBk_LINK3]
+joint_type: 0
+theta:      0.0
+d:         12.8
+a:         64.0
+alpha:      1.570796326794895
+theta_min: -0.2618
+theta_max:  1.6057
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 10
+
+[RBk_LINK4]
+joint_type: 0
+theta:     -0.350584
+d:         -0.5
+a:         64.572
+alpha:      3.1415926535897932385
+theta_min: -0.5236
+theta_max:  2.6180
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 11
+
+[RBk_LINK5]
+joint_type: 0
+immobile:   1
+theta:      0.0
+d:          0.0
+a:          0.0
+alpha:      0.0
+theta_min:  0.0
+theta_max:  0.0
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_frame: 4
+
+
+[Camera]
+Name:       Camera
+DH:         1
+Fix:        0
+MinPara:    0
+dof:        5
+Motor:      0
+Stl:        0
+
+[Camera_LINK1]
+joint_type: 0
+immobile:   1
+theta:      0.0
+d:         50.0
+a:         75.0
+alpha:      1.570796326794895
+theta_min:  0.0
+theta_max:  0.0
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+
+[Camera_LINK2]
+joint_type: 0
+theta:      0.0
+d:          0.0
+a:          0.0
+alpha:     -1.570796326794895
+theta_min: -1.596976
+theta_max:  0.802851
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 12
+
+[Camera_LINK3]
+joint_type: 0
+theta:      1.570796326794895
+d:         48.0
+a:          0.0
+alpha:      1.570796326794895
+theta_min: -1.616175
+theta_max:  1.616175
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 13
+
+[Camera_LINK4]
+joint_type: 0
+theta:      3.1415926535897932385
+d:         66.6
+a:          0.0
+alpha:      0.0
+theta_min: -0.558505
+theta_max:  0.558505
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 14
+
+[Camera_LINK5]
+joint_type: 0
+immobile:   1
+theta:      0.0
+d:          0.0
+a:          0.0
+alpha:      0.0
+theta_min:  0.0
+theta_max:  0.0
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_frame: 5
+
+
+[IR]
+Name:       IR
+DH:         1
+Fix:        0
+MinPara:    0
+dof:        6
+Motor:      0
+Stl:        0
+
+[IR_LINK1]
+joint_type: 0
+immobile:   1
+theta:      0.0
+d:         50.0
+a:         75.0
+alpha:      1.570796326794895
+theta_min:  0.0
+theta_max:  0.0
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+
+[IR_LINK2]
+joint_type: 0
+theta:      0.0
+d:          0.0
+a:          0.0
+alpha:     -1.570796326794895
+theta_min: -1.596976
+theta_max:  0.802851
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 12
+
+[IR_LINK3]
+joint_type: 0
+theta:     -1.570796326794895
+d:         48.0
+a:          0.0
+alpha:     -1.570796326794895
+theta_min: -1.616175
+theta_max:  1.616175
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 13
+
+[IR_LINK4]
+joint_type: 0
+theta:     -2.02003
+d:         26.5
+a:          0.0
+alpha:     16.2027
+theta_min: -0.558505
+theta_max:  0.558505
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 14
+
+[IR_LINK5]
+joint_type: 0
+immobile:   1
+theta:      1.26156
+d:          0.0
+a:          0.0
+alpha:     -0.0215808
+theta_min:  0.0
+theta_max:  0.0
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+
+[IR_LINK6]
+joint_type: 1
+theta:      0.0
+d:          0.0
+a:          0.0
+alpha:      0.0
+theta_min:  0.0
+theta_max:  0.0
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_frame: 6
+
+
+[InterestPoints]
+Length:     103
+
+[InterestPoint1]
+   name: LFr:elvtr
+  chain: LFr
+   link: 2
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint2]
+   name: LFr:rotor
+  chain: LFr
+   link: 3
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint3]
+   name: LFr:knee~
+  chain: LFr
+   link: 4
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint4]
+   name: RFr:elvtr
+  chain: RFr
+   link: 2
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint5]
+   name: RFr:rotor
+  chain: RFr
+   link: 3
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint6]
+   name: RFr:knee~
+  chain: RFr
+   link: 4
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint7]
+   name: LBk:elvtr
+  chain: LBk
+   link: 2
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint8]
+   name: LBk:rotor
+  chain: LBk
+   link: 3
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint9]
+   name: LBk:knee~
+  chain: LBk
+   link: 4
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint10]
+   name: RBk:elvtr
+  chain: RBk
+   link: 2
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint11]
+   name: RBk:rotor
+  chain: RBk
+   link: 3
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint12]
+   name: RBk:knee~
+  chain: RBk
+   link: 4
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint13]
+   name: NECK:tilt
+  chain: Camera
+   link: 2
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint14]
+   name: NECK:pan~
+  chain: Camera
+   link: 3
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint15]
+   name: NECK:nod~
+  chain: Camera
+   link: 4
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint16]
+   name: Base
+  chain: Camera
+   link: 0
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint17]
+   name: LFrPaw
+  chain: LFr
+   link: 5
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint18]
+   name: RFrPaw
+  chain: RFr
+   link: 5
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint19]
+   name: LBkPaw
+  chain: LBk
+   link: 5
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint20]
+   name: RBkPaw
+  chain: RBk
+   link: 5
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint21]
+   name: Camera
+  chain: Camera
+   link: 6
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint22]
+   name: IR
+  chain: IR
+   link: 6
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint23]
+   name: LowerLeftSnout
+  chain: Camera
+   link: 4
+      x: -16.369
+      y: 14.469
+      z: 57.925
+[InterestPoint24]
+   name: LowerRightSnout
+  chain: Camera
+   link: 4
+      x: 16.369
+      y: 14.469
+      z: 57.925
+[InterestPoint25]
+   name: UpperLeftSnout
+  chain: Camera
+   link: 4
+      x: -27.545
+      y: -18.406
+      z: 57.925
+[InterestPoint26]
+   name: UpperRightSnout
+  chain: Camera
+   link: 4
+      x: 27.545
+      y: -18.406
+      z: 57.925
+[InterestPoint27]
+   name: LeftMicrophone
+  chain: Camera
+   link: 4
+      x: -42.574
+      y: -14.440
+      z: 0
+[InterestPoint28]
+   name: RightMicrophone
+  chain: Camera
+   link: 4
+      x: 42.574
+      y: -14.440
+      z: 0
+[InterestPoint29]
+   name: AntennaBase
+  chain: Camera
+   link: 4
+      x: 23.286
+      y: -36.059
+      z: -1.042
+[InterestPoint30]
+   name: AntennaTip
+  chain: Camera
+   link: 4
+      x: 23.286
+      y: -67.273
+      z: -12.955
+[InterestPoint31]
+   name: HeadLight
+  chain: Camera
+   link: 4
+      x: 0
+      y: -45.903
+      z: 37.769
+[InterestPoint32]
+   name: ToeLFrPaw
+  chain: LFr
+   link: 5
+      x: 18.464
+      y: 31.529
+      z: 0
+[InterestPoint33]
+   name: ToeRFrPaw
+  chain: RFr
+   link: 5
+      x: 18.464
+      y: 31.529
+      z: 0
+[InterestPoint34]
+   name: ToeLBkPaw
+  chain: LBk
+   link: 5
+      x: -4.890
+      y: 36.210
+      z: 0
+[InterestPoint35]
+   name: ToeRBkPaw
+  chain: RBk
+   link: 5
+      x: -4.890
+      y: 36.210
+      z: 0
+[InterestPoint36]
+   name: LowerOuterFrontLFrShin
+  chain: LFr
+   link: 4
+      x: 52.075
+      y: 20.986
+      z: -15.843
+[InterestPoint37]
+   name: LowerInnerFrontRFrShin
+  chain: RFr
+   link: 4
+      x: 52.075
+      y: 20.986
+      z: -14.684
+[InterestPoint38]
+   name: LowerOuterFrontLBkShin
+  chain: LBk
+   link: 4
+      x: 23.361
+      y: -30.920
+      z: 15.843
+[InterestPoint39]
+   name: LowerInnerFrontRBkShin
+  chain: RBk
+   link: 4
+      x: 23.361
+      y: -30.920
+      z: 14.684
+[InterestPoint40]
+   name: LowerInnerFrontLFrShin
+  chain: LFr
+   link: 4
+      x: 52.075
+      y: 20.986
+      z: 14.684
+[InterestPoint41]
+   name: LowerOuterFrontRFrShin
+  chain: RFr
+   link: 4
+      x: 52.075
+      y: 20.986
+      z: 15.843
+[InterestPoint42]
+   name: LowerInnerFrontLBkShin
+  chain: LBk
+   link: 4
+      x: 23.361
+      y: -30.920
+      z: -14.684
+[InterestPoint43]
+   name: LowerOuterFrontRBkShin
+  chain: RBk
+   link: 4
+      x: 23.361
+      y: -30.920
+      z: -15.843
+[InterestPoint44]
+   name: LowerOuterBackLFrShin
+  chain: LFr
+   link: 4
+      x: 45.891
+      y: -26.126
+      z: -15.843
+[InterestPoint45]
+   name: LowerInnerBackRFrShin
+  chain: RFr
+   link: 4
+      x: 45.891
+      y: -26.126
+      z: -14.684
+[InterestPoint46]
+   name: LowerOuterBackLBkShin
+  chain: LBk
+   link: 4
+      x: 65.997
+      y: -8.442
+      z: 15.843
+[InterestPoint47]
+   name: LowerInnerBackRBkShin
+  chain: RBk
+   link: 4
+      x: 65.997
+      y: -8.442
+      z: 14.684
+[InterestPoint48]
+   name: LowerInnerBackLFrShin
+  chain: LFr
+   link: 4
+      x: 45.891
+      y: -26.126
+      z: 14.684
+[InterestPoint49]
+   name: LowerOuterBackRFrShin
+  chain: RFr
+   link: 4
+      x: 45.891
+      y: -26.126
+      z: 15.843
+[InterestPoint50]
+   name: LowerInnerBackLBkShin
+  chain: LBk
+   link: 4
+      x: 65.997
+      y: -8.442
+      z: -14.684
+[InterestPoint51]
+   name: LowerOuterBackRBkShin
+  chain: RBk
+   link: 4
+      x: 65.997
+      y: -8.442
+      z: -15.843
+[InterestPoint52]
+   name: MiddleOuterBackLBkShin
+  chain: LBk
+   link: 4
+      x: 43.912
+      y: 7.434
+      z: 15.843
+[InterestPoint53]
+   name: MiddleInnerBackRBkShin
+  chain: RBk
+   link: 4
+      x: 43.912
+      y: 7.434
+      z: 14.684
+[InterestPoint54]
+   name: MiddleInnerBackLBkShin
+  chain: LBk
+   link: 4
+      x: 43.912
+      y: 7.434
+      z: -14.684
+[InterestPoint55]
+   name: MiddleOuterBackRBkShin
+  chain: RBk
+   link: 4
+      x: 43.912
+      y: 7.434
+      z: -15.843
+[InterestPoint56]
+   name: UpperOuterFrontLFrShin
+  chain: LFr
+   link: 4
+      x: 11.839
+      y: 5.510
+      z: -15.843
+[InterestPoint57]
+   name: UpperInnerFrontRFrShin
+  chain: RFr
+   link: 4
+      x: 11.839
+      y: 5.510
+      z: -14.684
+[InterestPoint58]
+   name: UpperOuterFrontLBkShin
+  chain: LBk
+   link: 4
+      x: 8.036
+      y: -22.656
+      z: 15.843
+[InterestPoint59]
+   name: UpperInnerFrontRBkShin
+  chain: RBk
+   link: 4
+      x: 8.036
+      y: -22.656
+      z: 14.684
+[InterestPoint60]
+   name: UpperInnerFrontLFrShin
+  chain: LFr
+   link: 4
+      x: 11.839
+      y: 5.510
+      z: 14.684
+[InterestPoint61]
+   name: UpperOuterFrontRFrShin
+  chain: RFr
+   link: 4
+      x: 11.839
+      y: 5.510
+      z: 15.843
+[InterestPoint62]
+   name: UpperInnerFrontLBkShin
+  chain: LBk
+   link: 4
+      x: 8.036
+      y: -22.656
+      z: -14.684
+[InterestPoint63]
+   name: UpperOuterFrontRBkShin
+  chain: RBk
+   link: 4
+      x: 8.036
+      y: -22.656
+      z: -15.843
+[InterestPoint64]
+   name: UpperOuterBackLFrShin
+  chain: LFr
+   link: 4
+      x: -1.381
+      y: -23.945
+      z: -15.843
+[InterestPoint65]
+   name: UpperInnerBackRFrShin
+  chain: RFr
+   link: 4
+      x: -1.381
+      y: -23.945
+      z: -14.684
+[InterestPoint66]
+   name: UpperOuterBackLBkShin
+  chain: LBk
+   link: 4
+      x: 13.646
+      y: 4.905
+      z: 15.843
+[InterestPoint67]
+   name: UpperInnerBackRBkShin
+  chain: RBk
+   link: 4
+      x: 13.646
+      y: 4.905
+      z: 14.684
+[InterestPoint68]
+   name: UpperInnerBackLFrShin
+  chain: LFr
+   link: 4
+      x: -1.381
+      y: -23.945
+      z: 14.684
+[InterestPoint69]
+   name: UpperOuterBackRFrShin
+  chain: RFr
+   link: 4
+      x: -1.381
+      y: -23.945
+      z: 15.843
+[InterestPoint70]
+   name: UpperInnerBackLBkShin
+  chain: LBk
+   link: 4
+      x: 13.646
+      y: 4.905
+      z: -14.684
+[InterestPoint71]
+   name: UpperOuterBackRBkShin
+  chain: RBk
+   link: 4
+      x: 13.646
+      y: 4.905
+      z: -15.843
+[InterestPoint72]
+   name: LowerOuterFrontLFrThigh
+  chain: LFr
+   link: 3
+      x: 36.841
+      y: 15.300
+      z: 17.244
+[InterestPoint73]
+   name: LowerInnerFrontRFrThigh
+  chain: RFr
+   link: 3
+      x: 36.841
+      y: -14.994
+      z: -17.244
+[InterestPoint74]
+   name: LowerOuterFrontLBkThigh
+  chain: LBk
+   link: 3
+      x: 42.819
+      y: 15.300
+      z: 17.814
+[InterestPoint75]
+   name: LowerInnerFrontRBkThigh
+  chain: RBk
+   link: 3
+      x: 42.819
+      y: -14.994
+      z: -17.814
+[InterestPoint76]
+   name: LowerInnerFrontLFrThigh
+  chain: LFr
+   link: 3
+      x: 36.841
+      y: -14.994
+      z: 17.244
+[InterestPoint77]
+   name: LowerOuterFrontRFrThigh
+  chain: RFr
+   link: 3
+      x: 36.841
+      y: 15.300
+      z: -17.244
+[InterestPoint78]
+   name: LowerInnerFrontLBkThigh
+  chain: LBk
+   link: 3
+      x: 42.819
+      y: -14.994
+      z: 17.814
+[InterestPoint79]
+   name: LowerOuterFrontRBkThigh
+  chain: RBk
+   link: 3
+      x: 42.819
+      y: 15.300
+      z: -17.814
+[InterestPoint80]
+   name: LowerOuterBackLFrThigh
+  chain: LFr
+   link: 3
+      x: 42.819
+      y: 15.925
+      z: -17.814
+[InterestPoint81]
+   name: LowerInnerBackRFrThigh
+  chain: RFr
+   link: 3
+      x: 42.819
+      y: -14.994
+      z: 17.814
+[InterestPoint82]
+   name: LowerOuterBackLBkThigh
+  chain: LBk
+   link: 3
+      x: 36.841
+      y: 15.925
+      z: -17.244
+[InterestPoint83]
+   name: LowerInnerBackRBkThigh
+  chain: RBk
+   link: 3
+      x: 36.841
+      y: -14.994
+      z: 17.244
+[InterestPoint84]
+   name: LowerInnerBackLFrThigh
+  chain: LFr
+   link: 3
+      x: 42.819
+      y: -14.994
+      z: -17.814
+[InterestPoint85]
+   name: LowerOuterBackRFrThigh
+  chain: RFr
+   link: 3
+      x: 42.819
+      y: 15.925
+      z: 17.814
+[InterestPoint86]
+   name: LowerInnerBackLBkThigh
+  chain: LBk
+   link: 3
+      x: 36.841
+      y: -14.994
+      z: -17.244
+[InterestPoint87]
+   name: LowerOuterBackRBkThigh
+  chain: RBk
+   link: 3
+      x: 36.841
+      y: 15.925
+      z: 17.244
+[InterestPoint88]
+   name: UpperOuterFrontLFrThigh
+  chain: LFr
+   link: 3
+      x: 15.238
+      y: 14.844
+      z: 16.736
+[InterestPoint89]
+   name: UpperInnerFrontRFrThigh
+  chain: RFr
+   link: 3
+      x: 15.238
+      y: -14.994
+      z: -16.736
+[InterestPoint90]
+   name: UpperOuterFrontLBkThigh
+  chain: LBk
+   link: 3
+      x: 15.238
+      y: 14.844
+      z: 16.736
+[InterestPoint91]
+   name: UpperInnerFrontRBkThigh
+  chain: RBk
+   link: 3
+      x: 15.238
+      y: -14.994
+      z: -16.736
+[InterestPoint92]
+   name: UpperInnerFrontLFrThigh
+  chain: LFr
+   link: 3
+      x: 15.238
+      y: -14.994
+      z: 16.736
+[InterestPoint93]
+   name: UpperOuterFrontRFrThigh
+  chain: RFr
+   link: 3
+      x: 15.238
+      y: 14.844
+      z: -16.736
+[InterestPoint94]
+   name: UpperInnerFrontLBkThigh
+  chain: LBk
+   link: 3
+      x: 15.238
+      y: -14.994
+      z: 16.736
+[InterestPoint95]
+   name: UpperOuterFrontRBkThigh
+  chain: RBk
+   link: 3
+      x: 15.238
+      y: 14.844
+      z: -16.736
+[InterestPoint96]
+   name: UpperOuterBackLFrThigh
+  chain: LFr
+   link: 3
+      x: 15.238
+      y: 14.844
+      z: -16.736
+[InterestPoint97]
+   name: UpperInnerBackRFrThigh
+  chain: RFr
+   link: 3
+      x: 15.238
+      y: -14.994
+      z: 16.736
+[InterestPoint98]
+   name: UpperOuterBackLBkThigh
+  chain: LBk
+   link: 3
+      x: 15.238
+      y: 14.844
+      z: -16.736
+[InterestPoint99]
+   name: UpperInnerBackRBkThigh
+  chain: RBk
+   link: 3
+      x: 15.238
+      y: -14.994
+      z: 16.736
+[InterestPoint100]
+   name: UpperInnerBackLFrThigh
+  chain: LFr
+   link: 3
+      x: 15.238
+      y: -14.994
+      z: -16.736
+[InterestPoint101]
+   name: UpperOuterBackRFrThigh
+  chain: RFr
+   link: 3
+      x: 15.238
+      y: 14.844
+      z: 16.736
+[InterestPoint102]
+   name: UpperInnerBackLBkThigh
+  chain: LBk
+   link: 3
+      x: 15.238
+      y: -14.994
+      z: -16.736
+[InterestPoint103]
+   name: UpperOuterBackRBkThigh
+  chain: RBk
+   link: 3
+      x: 15.238
+      y: 14.844
+      z: 16.736
Index: ms/config/ers7.kin
===================================================================
RCS file: ms/config/ers7.kin
diff -N ms/config/ers7.kin
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ ms/config/ers7.kin	18 Oct 2004 23:11:05 -0000	1.13
@@ -0,0 +1,1879 @@
+# ----------------------------------------------------------------
+# Robot configuration File
+# ----------------------------------------------------------------
+
+[Default]
+
+
+[LFr]
+Name:       LFr
+DH:         1
+Fix:        0
+MinPara:    0
+dof:        5
+Motor:      0
+Stl:        0
+
+[LFr_LINK1]
+joint_type: 0
+immobile:   1
+theta:      0.0
+d:          0.0
+a:         65.0
+alpha:      1.570796326794895
+theta_min:  0.0
+theta_max:  0.0
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+
+[LFr_LINK2]
+joint_type: 0
+theta:     -1.570796326794895
+d:        -62.5
+a:          0.0
+alpha:     -1.570796326794895
+theta_min: -2.2689
+theta_max:  2.0071
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 0
+
+[LFr_LINK3]
+joint_type: 0
+theta:      0.0
+d:          9.0
+a:         69.5
+alpha:      1.570796326794895
+theta_min: -0.1745
+theta_max:  1.5359
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 1
+
+[LFr_LINK4]
+joint_type: 0
+theta:     -0.07122
+d:         -4.7
+a:         70.1646
+alpha:      0.0
+theta_min: -0.4363
+theta_max:  2.1293
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 2
+
+[LFr_LINK5]
+joint_type: 0
+immobile:   1
+theta:      0.0
+d:          0.0
+a:          0.0
+alpha:      0.0
+theta_min:  0.0
+theta_max:  0.0
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_frame: 1
+
+
+[RFr]
+Name:       RFr
+DH:         1
+Fix:        0
+MinPara:    0
+dof:        5
+Motor:      0
+Stl:        0
+
+[RFr_LINK1]
+joint_type: 0
+immobile:   1
+theta:      0.0
+d:          0.0
+a:         65.0
+alpha:      1.570796326794895
+theta_min:  0.0
+theta_max:  0.0
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+
+[RFr_LINK2]
+joint_type: 0
+theta:     -1.570796326794895
+d:         62.5
+a:          0.0
+alpha:      1.570796326794895
+theta_min: -2.2689
+theta_max:  2.0071
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 3
+
+[RFr_LINK3]
+joint_type: 0
+theta:      0.0
+d:         -9.0
+a:         69.5
+alpha:     -1.570796326794895
+theta_min: -0.1745
+theta_max:  1.5359
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 4
+
+[RFr_LINK4]
+joint_type: 0
+theta:     -0.07122
+d:          4.7
+a:         70.1646
+alpha:      0.0
+theta_min: -0.4363
+theta_max:  2.1293
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 5
+
+[RFr_LINK5]
+joint_type: 0
+immobile:   1
+theta:      0.0
+d:          0.0
+a:          0.0
+alpha:      0.0
+theta_min:  0.0
+theta_max:  0.0
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_frame: 2
+
+
+[LBk]
+Name:       LBk
+DH:         1
+Fix:        0
+MinPara:    0
+dof:        5
+Motor:      0
+Stl:        0
+
+[LBk_LINK1]
+joint_type: 0
+immobile:   1
+theta:      0.0
+d:          0.0
+a:        -65.0
+alpha:     -1.570796326794895
+theta_min:  0.0
+theta_max:  0.0
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+
+[LBk_LINK2]
+joint_type: 0
+theta:      1.570796326794895
+d:         62.5
+a:          0.0
+alpha:      1.570796326794895
+theta_min: -2.2689
+theta_max:  2.0071
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 6
+
+[LBk_LINK3]
+joint_type: 0
+theta:      0.0
+d:         -9.0
+a:         69.5
+alpha:     -1.570796326794895
+theta_min: -0.1745
+theta_max:  1.5359
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 7
+
+[LBk_LINK4]
+joint_type: 0
+theta:     -0.26686
+d:          4.7
+a:         70.1646
+alpha:      3.1415926535897932385
+theta_min: -0.4363
+theta_max:  2.1293
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 8
+
+[LBk_LINK5]
+joint_type: 0
+immobile:   1
+theta:      0.0
+d:          0.0
+a:          0.0
+alpha:      0.0
+theta_min:  0.0
+theta_max:  0.0
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_frame: 3
+
+
+[RBk]
+Name:       RBk
+DH:         1
+Fix:        0
+MinPara:    0
+dof:        5
+Motor:      0
+Stl:        0
+
+[RBk_LINK1]
+joint_type: 0
+immobile:   1
+theta:      0.0
+d:          0.0
+a:        -65.0
+alpha:     -1.570796326794895
+theta_min:  0.0
+theta_max:  0.0
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+
+[RBk_LINK2]
+joint_type: 0
+theta:      1.570796326794895
+d:        -62.5
+a:          0.0
+alpha:     -1.570796326794895
+theta_min: -2.2689
+theta_max:  2.0071
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 9
+
+[RBk_LINK3]
+joint_type: 0
+theta:      0.0
+d:          9.0
+a:         69.5
+alpha:      1.570796326794895
+theta_min: -0.1745
+theta_max:  1.5359
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 10
+
+[RBk_LINK4]
+joint_type: 0
+theta:     -0.26686
+d:         -4.7
+a:         70.1646
+alpha:      3.1415926535897932385
+theta_min: -0.4363
+theta_max:  2.1293
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 11
+
+[RBk_LINK5]
+joint_type: 0
+immobile:   1
+theta:      0.0
+d:          0.0
+a:          0.0
+alpha:      0.0
+theta_min:  0.0
+theta_max:  0.0
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_frame: 4
+
+
+[Mouth]
+Name:       Mouth
+DH:         1
+Fix:        0
+MinPara:    0
+dof:        5
+Motor:      0
+Stl:        0
+
+[Mouth_LINK1]
+joint_type: 0
+immobile:   1
+theta:      0.0
+d:         19.5
+a:         67.5
+alpha:      1.570796326794895
+theta_min:  0.0
+theta_max:  0.0
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+
+[Mouth_LINK2]
+joint_type: 0
+theta:      0.0
+d:          0.0
+a:          0.0
+alpha:     -1.570796326794895
+theta_min: -1.308996939
+theta_max:  0.0
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 12
+
+[Mouth_LINK3]
+joint_type: 0
+theta:      0.0
+d:         80.0
+a:          0.0
+alpha:      1.570796326794895
+theta_min: -1.53588974176
+theta_max:  1.53588974176
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 13
+
+[Mouth_LINK4]
+joint_type: 0
+theta:     -0.41241
+d:          0.0
+a:         43.6606
+alpha:      0.0
+theta_min: -0.261799387799
+theta_max:  0.785398163397
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 14
+
+[Mouth_LINK5]
+joint_type: 0
+theta:      0.127935
+d:          0.0
+a:         42.0076
+alpha:     -1.570796326794895
+theta_min: -0.959931088597
+theta_max:  0.0
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 17
+
+
+[Camera]
+Name:       Camera
+DH:         1
+Fix:        0
+MinPara:    0
+dof:        6
+Motor:      0
+Stl:        0
+
+[Camera_LINK1]
+joint_type: 0
+immobile:   1
+theta:      0.0
+d:         19.5
+a:         67.5
+alpha:      1.570796326794895
+theta_min:  0.0
+theta_max:  0.0
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+
+[Camera_LINK2]
+joint_type: 0
+theta:      0.0
+d:          0.0
+a:          0.0
+alpha:     -1.570796326794895
+theta_min: -1.308996939
+theta_max:  0.0
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 12
+
+[Camera_LINK3]
+joint_type: 0
+theta:      0.0
+d:         80.0
+a:          0.0
+alpha:      1.570796326794895
+theta_min: -1.53588974176
+theta_max:  1.53588974176
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 13
+
+[Camera_LINK4]
+joint_type: 0
+theta:     -1.570796326794895
+d:          0.0
+a:         14.6
+alpha:     -1.570796326794895
+theta_min: -0.261799387799
+theta_max:  0.785398163397
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 14
+
+[Camera_LINK5]
+joint_type: 1
+immobile:   1
+theta:     -1.570796326794895
+d:         81.06
+a:          0.0
+alpha:      0.0
+theta_min:  0.0
+theta_max:  0.0
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+
+[Camera_LINK6]
+joint_type: 0
+immobile:   1
+theta:      0.0
+d:          0.0
+a:          0.0
+alpha:      0.0
+theta_min:  0.0
+theta_max:  0.0
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_frame: 5
+
+
+[NearIR]
+Name:       NearIR
+DH:         1
+Fix:        0
+MinPara:    0
+dof:        6
+Motor:      0
+Stl:        0
+
+[NearIR_LINK1]
+joint_type: 0
+immobile:   1
+theta:      0.0
+d:         19.5
+a:         67.5
+alpha:      1.570796326794895
+theta_min:  0.0
+theta_max:  0.0
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+
+[NearIR_LINK2]
+joint_type: 0
+theta:      0.0
+d:          0.0
+a:          0.0
+alpha:      -1.570796326794895
+theta_min: -1.308996939
+theta_max:  0.0
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 12
+
+[NearIR_LINK3]
+joint_type: 0
+theta:      0.0
+d:         80.0
+a:          0.0
+alpha:      1.570796326794895
+theta_min: -1.53588974176
+theta_max:  1.53588974176
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 13
+
+[NearIR_LINK4]
+joint_type: 0
+theta:      0.0249189
+d:          2.79525
+a:         76.9239
+alpha:      0.0
+theta_min: -0.261799387799
+theta_max:  0.785398163397
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 14
+
+[NearIR_LINK5]
+joint_type: 0
+immobile:   1
+theta:      1.50041
+d:          0.0
+a:          0.0
+alpha:      1.55997
+theta_min:  0.0
+theta_max:  0.0
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+
+[NearIR_LINK6]
+joint_type: 1
+theta:      0.0
+d:          0.0
+a:          0.0
+alpha:      0.0
+theta_min:  0.0
+theta_max:  0.0
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_frame: 6
+
+
+[FarIR]
+Name:       FarIR
+DH:         1
+Fix:        0
+MinPara:    0
+dof:        6
+Motor:      0
+Stl:        0
+
+[FarIR_LINK1]
+joint_type: 0
+immobile:   1
+theta:      0.0
+d:         19.5
+a:         67.5
+alpha:      1.570796326794895
+theta_min:  0.0
+theta_max:  0.0
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+
+[FarIR_LINK2]
+joint_type: 0
+theta:      0.0
+d:          0.0
+a:          0.0
+alpha:      -1.570796326794895
+theta_min: -1.308996939
+theta_max:  0.0
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 12
+
+[FarIR_LINK3]
+joint_type: 0
+theta:      0.0
+d:         80.0
+a:          0.0
+alpha:      1.570796326794895
+theta_min: -1.53588974176
+theta_max:  1.53588974176
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 13
+
+[FarIR_LINK4]
+joint_type: 0
+theta:      0.0136814
+d:         -8.04682
+a:         76.9072
+alpha:      0.0
+theta_min: -0.261799387799
+theta_max:  0.785398163397
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_output: 14
+
+[FarIR_LINK5]
+joint_type: 0
+immobile:   1
+theta:      1.52305
+d:          0.0
+a:          0.0
+alpha:      1.56055
+theta_min:  0.0
+theta_max:  0.0
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+
+[FarIR_LINK6]
+joint_type: 1
+theta:      0.0
+d:          0.0
+a:          0.0
+alpha:      0.0
+theta_min:  0.0
+theta_max:  0.0
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_frame: 7
+
+
+[ChestIR]
+Name:       ChestIR
+DH:         1
+Fix:        0
+MinPara:    0
+dof:        3
+Motor:      0
+Stl:        0
+
+[ChestIR_LINK1]
+joint_type: 0
+immobile:   1
+theta:      0.0
+d:         -3.38397459622
+a:        109.13620668
+alpha:      1.570796326794895
+theta_min:  0.0
+theta_max:  0.0
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+
+[ChestIR_LINK2]
+joint_type: 0
+immobile:   1
+theta:      1.0471975512
+d:          0.0
+a:          0.0
+alpha:      1.570796326794895
+theta_min:  0.0
+theta_max:  0.0
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+
+[ChestIR_LINK3]
+joint_type: 1
+theta:      0.0
+d:          0.0
+a:          0.0
+alpha:      0.0
+theta_min:  0.0
+theta_max:  0.0
+m:          0.0
+cx:         0.0
+cy:         0.0
+cz:         0.0
+Ixx:        0.0
+Ixy:        0.0
+Ixz:        0.0
+Iyy:        0.0
+Iyz:        0.0
+Izz:        0.0
+tekkotsu_frame: 8
+
+
+[InterestPoints]
+Length:     122
+
+[InterestPoint1]
+   name: LFr:elvtr
+  chain: LFr
+   link: 2
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint2]
+   name: LFr:rotor
+  chain: LFr
+   link: 3
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint3]
+   name: LFr:knee~
+  chain: LFr
+   link: 4
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint4]
+   name: RFr:elvtr
+  chain: RFr
+   link: 2
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint5]
+   name: RFr:rotor
+  chain: RFr
+   link: 3
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint6]
+   name: RFr:knee~
+  chain: RFr
+   link: 4
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint7]
+   name: LBk:elvtr
+  chain: LBk
+   link: 2
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint8]
+   name: LBk:rotor
+  chain: LBk
+   link: 3
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint9]
+   name: LBk:knee~
+  chain: LBk
+   link: 4
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint10]
+   name: RBk:elvtr
+  chain: RBk
+   link: 2
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint11]
+   name: RBk:rotor
+  chain: RBk
+   link: 3
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint12]
+   name: RBk:knee~
+  chain: RBk
+   link: 4
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint13]
+   name: NECK:tilt
+  chain: Camera
+   link: 2
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint14]
+   name: NECK:pan~
+  chain: Camera
+   link: 3
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint15]
+   name: NECK:nod~
+  chain: Camera
+   link: 4
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint16]
+   name: MOUTH~~~~
+  chain: Mouth
+   link: 5
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint17]
+   name: Base
+  chain: Camera
+   link: 0
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint18]
+   name: LFrPaw
+  chain: LFr
+   link: 5
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint19]
+   name: RFrPaw
+  chain: RFr
+   link: 5
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint20]
+   name: LBkPaw
+  chain: LBk
+   link: 5
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint21]
+   name: RBkPaw
+  chain: RBk
+   link: 5
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint22]
+   name: Camera
+  chain: Camera
+   link: 6
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint23]
+   name: NearIR
+  chain: NearIR
+   link: 6
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint24]
+   name: FarIR
+  chain: FarIR
+   link: 6
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint25]
+   name: ChestIR
+  chain: ChestIR
+   link: 3
+      x: 0
+      y: 0
+      z: 0
+[InterestPoint26]
+   name: LowerLeftLowerLip
+  chain: Mouth
+   link: 5
+      x: 40.851
+      y: 12.275
+      z: -16.128
+[InterestPoint27]
+   name: LowerRightLowerLip
+  chain: Mouth
+   link: 5
+      x: 40.851
+      y: 12.275
+      z: 16.128
+[InterestPoint28]
+   name: UpperLeftLowerLip
+  chain: Mouth
+   link: 5
+      x: 38.378
+      y: 11.203
+      z: -11.397
+[InterestPoint29]
+   name: UpperRightLowerLip
+  chain: Mouth
+   link: 5
+      x: 38.378
+      y: 11.203
+      z: 11.397
+[InterestPoint30]
+   name: LowerLeftUpperLip
+  chain: Mouth
+   link: 4
+      x: 79.518
+      y: -22.291
+      z: -11.397
+[InterestPoint31]
+   name: LowerRightUpperLip
+  chain: Mouth
+   link: 4
+      x: 79.518
+      y: -22.291
+      z: 11.397
+[InterestPoint32]
+   name: LowerLeftSnout
+  chain: Camera
+   link: 4
+      x: 54.223
+      y: -21.146
+      z: -37.291
+[InterestPoint33]
+   name: LowerRightSnout
+  chain: Camera
+   link: 4
+      x: 54.223
+      y: -21.146
+      z: 37.291
+[InterestPoint34]
+   name: UpperLeftSnout
+  chain: Camera
+   link: 4
+      x: 54.223
+      y: 7.605
+      z: -26.284
+[InterestPoint35]
+   name: UpperRightSnout
+  chain: Camera
+   link: 4
+      x: 54.223
+      y: 7.605
+      z: 26.284
+[InterestPoint36]
+   name: LeftMicrophone
+  chain: Camera
+   link: 4
+      x: -11.156
+      y: 14.897
+      z: -46.941
+[InterestPoint37]
+   name: RightMicrophone
+  chain: Camera
+   link: 4
+      x: -11.156
+      y: 14.897
+      z: 46.941
+[InterestPoint38]
+   name: HeadButton
+  chain: Camera
+   link: 4
+      x: -7.704
+      y: 41.192
+      z: 0
+[InterestPoint39]
+   name: ToeLFrPaw
+  chain: LFr
+   link: 5
+      x: 7.180
+      y: 29.548
+      z: 0
+[InterestPoint40]
+   name: ToeRFrPaw
+  chain: RFr
+   link: 5
+      x: 7.180
+      y: 29.548
+      z: 0
+[InterestPoint41]
+   name: ToeLBkPaw
+  chain: LBk
+   link: 5
+      x: -6.414
+      y: 27.759
+      z: 0
+[InterestPoint42]
+   name: ToeRBkPaw
+  chain: RBk
+   link: 5
+      x: -6.414
+      y: 27.759
+      z: 0
+[InterestPoint43]
+   name: LowerOuterFrontLFrShin
+  chain: LFr
+   link: 4
+      x: 59.298
+      y: 21.239
+      z: -24.557
+[InterestPoint44]
+   name: LowerInnerFrontRFrShin
+  chain: RFr
+   link: 4
+      x: 59.298
+      y: 21.239
+      z: -15.158
+[InterestPoint45]
+   name: LowerOuterFrontLBkShin
+  chain: LBk
+   link: 4
+      x: 41.172
+      y: -33.863
+      z: 24.557
+[InterestPoint46]
+   name: LowerInnerFrontRBkShin
+  chain: RBk
+   link: 4
+      x: 41.172
+      y: -33.863
+      z: 15.158
+[InterestPoint47]
+   name: LowerInnerFrontLFrShin
+  chain: LFr
+   link: 4
+      x: 59.298
+      y: 21.239
+      z: 15.158
+[InterestPoint48]
+   name: LowerOuterFrontRFrShin
+  chain: RFr
+   link: 4
+      x: 59.298
+      y: 21.239
+      z: 24.557
+[InterestPoint49]
+   name: LowerInnerFrontLBkShin
+  chain: LBk
+   link: 4
+      x: 41.172
+      y: -33.863
+      z: -15.158
+[InterestPoint50]
+   name: LowerOuterFrontRBkShin
+  chain: RBk
+   link: 4
+      x: 41.172
+      y: -33.863
+      z: -24.557
+[InterestPoint51]
+   name: LowerOuterMiddleLFrShin
+  chain: LFr
+   link: 4
+      x: 63.011
+      y: -15.573
+      z: -24.557
+[InterestPoint52]
+   name: LowerInnerMiddleRFrShin
+  chain: RFr
+   link: 4
+      x: 63.011
+      y: -15.573
+      z: -15.158
+[InterestPoint53]
+   name: LowerOuterMiddleLBkShin
+  chain: LBk
+   link: 4
+      x: 75.203
+      y: -8.342
+      z: 24.557
+[InterestPoint54]
+   name: LowerInnerMiddleRBkShin
+  chain: RBk
+   link: 4
+      x: 75.203
+      y: -8.342
+      z: 15.158
+[InterestPoint55]
+   name: LowerInnerMiddleLFrShin
+  chain: LFr
+   link: 4
+      x: 63.011
+      y: -15.573
+      z: 15.158
+[InterestPoint56]
+   name: LowerOuterMiddleRFrShin
+  chain: RFr
+   link: 4
+      x: 63.011
+      y: -15.573
+      z: 24.557
+[InterestPoint57]
+   name: LowerInnerMiddleLBkShin
+  chain: LBk
+   link: 4
+      x: 75.203
+      y: -8.342
+      z: -15.158
+[InterestPoint58]
+   name: LowerOuterMiddleRBkShin
+  chain: RBk
+   link: 4
+      x: 75.203
+      y: -8.342
+      z: -24.557
+[InterestPoint59]
+   name: LowerOuterBackLFrShin
+  chain: LFr
+   link: 4
+      x: 40.581
+      y: -26.402
+      z: -24.557
+[InterestPoint60]
+   name: LowerInnerBackRFrShin
+  chain: RFr
+   link: 4
+      x: 40.581
+      y: -26.402
+      z: -15.158
+[InterestPoint61]
+   name: LowerOuterBackLBkShin
+  chain: LBk
+   link: 4
+      x: 71.133
+      y: 8.187
+      z: 24.557
+[InterestPoint62]
+   name: LowerInnerBackRBkShin
+  chain: RBk
+   link: 4
+      x: 71.133
+      y: 8.187
+      z: 15.158
+[InterestPoint63]
+   name: LowerInnerBackLFrShin
+  chain: LFr
+   link: 4
+      x: 40.581
+      y: -26.402
+      z: 15.158
+[InterestPoint64]
+   name: LowerOuterBackRFrShin
+  chain: RFr
+   link: 4
+      x: 40.581
+      y: -26.402
+      z: 24.557
+[InterestPoint65]
+   name: LowerInnerBackLBkShin
+  chain: LBk
+   link: 4
+      x: 71.133
+      y: 8.187
+      z: -15.158
+[InterestPoint66]
+   name: LowerOuterBackRBkShin
+  chain: RBk
+   link: 4
+      x: 71.133
+      y: 8.187
+      z: -24.557
+[InterestPoint67]
+   name: MiddleOuterMiddleLFrShin
+  chain: LFr
+   link: 4
+      x: 42.057
+      y: -10.714
+      z: -27.747
+[InterestPoint68]
+   name: MiddleInnerMiddleRFrShin
+  chain: RFr
+   link: 4
+      x: 42.057
+      y: -10.714
+      z: -18.353
+[InterestPoint69]
+   name: MiddleOuterMiddleLBkShin
+  chain: LBk
+   link: 4
+      x: 41.625
+      y: -11.335
+      z: 27.747
+[InterestPoint70]
+   name: MiddleInnerMiddleRBkShin
+  chain: RBk
+   link: 4
+      x: 41.625
+      y: -11.335
+      z: 18.353
+[InterestPoint71]
+   name: MiddleInnerMiddleLFrShin
+  chain: LFr
+   link: 4
+      x: 42.057
+      y: -10.714
+      z: 18.353
+[InterestPoint72]
+   name: MiddleOuterMiddleRFrShin
+  chain: RFr
+   link: 4
+      x: 42.057
+      y: -10.714
+      z: 27.747
+[InterestPoint73]
+   name: MiddleInnerMiddleLBkShin
+  chain: LBk
+   link: 4
+      x: 41.625
+      y: -11.335
+      z: -18.353
+[InterestPoint74]
+   name: MiddleOuterMiddleRBkShin
+  chain: RBk
+   link: 4
+      x: 41.625
+      y: -11.335
+      z: -27.747
+[InterestPoint75]
+   name: UpperOuterFrontLFrShin
+  chain: LFr
+   link: 4
+      x: 29.289
+      y: 14.743
+      z: -23.426
+[InterestPoint76]
+   name: UpperInnerFrontRFrShin
+  chain: RFr
+   link: 4
+      x: 29.289
+      y: 14.743
+      z: -14.026
+[InterestPoint77]
+   name: UpperOuterFrontLBkShin
+  chain: LBk
+   link: 4
+      x: 2.812
+      y: -22.417
+      z: 23.426
+[InterestPoint78]
+   name: UpperInnerFrontRBkShin
+  chain: RBk
+   link: 4
+      x: 2.812
+      y: -22.417
+      z: 14.026
+[InterestPoint79]
+   name: UpperInnerFrontLFrShin
+  chain: LFr
+   link: 4
+      x: 29.289
+      y: 14.743
+      z: 14.026
+[InterestPoint80]
+   name: UpperOuterFrontRFrShin
+  chain: RFr
+   link: 4
+      x: 29.289
+      y: 14.743
+      z: 23.426
+[InterestPoint81]
+   name: UpperInnerFrontLBkShin
+  chain: LBk
+   link: 4
+      x: 2.812
+      y: -22.417
+      z: -14.026
+[InterestPoint82]
+   name: UpperOuterFrontRBkShin
+  chain: RBk
+   link: 4
+      x: 2.812
+      y: -22.417
+      z: -23.426
+[InterestPoint83]
+   name: UpperOuterBackLFrShin
+  chain: LFr
+   link: 4
+      x: 6.397
+      y: -20.060
+      z: -23.426
+[InterestPoint84]
+   name: UpperInnerBackRFrShin
+  chain: RFr
+   link: 4
+      x: 6.397
+      y: -20.060
+      z: -14.026
+[InterestPoint85]
+   name: UpperOuterBackLBkShin
+  chain: LBk
+   link: 4
+      x: 32.869
+      y: 9.622
+      z: 23.426
+[InterestPoint86]
+   name: UpperInnerBackRBkShin
+  chain: RBk
+   link: 4
+      x: 32.869
+      y: 9.622
+      z: 14.026
+[InterestPoint87]
+   name: UpperInnerBackLFrShin
+  chain: LFr
+   link: 4
+      x: 6.397
+      y: -20.060
+      z: 14.026
+[InterestPoint88]
+   name: UpperOuterBackRFrShin
+  chain: RFr
+   link: 4
+      x: 6.397
+      y: -20.060
+      z: 23.426
+[InterestPoint89]
+   name: UpperInnerBackLBkShin
+  chain: LBk
+   link: 4
+      x: 32.869
+      y: 9.622
+      z: -14.026
+[InterestPoint90]
+   name: UpperOuterBackRBkShin
+  chain: RBk
+   link: 4
+      x: 32.869
+      y: 9.622
+      z: -23.426
+[InterestPoint91]
+   name: LowerOuterFrontLFrThigh
+  chain: LFr
+   link: 3
+      x: 47.947
+      y: 14.539
+      z: 17.189
+[InterestPoint92]
+   name: LowerInnerFrontRFrThigh
+  chain: RFr
+   link: 3
+      x: 47.947
+      y: -5.043
+      z: -17.189
+[InterestPoint93]
+   name: LowerOuterFrontLBkThigh
+  chain: LBk
+   link: 3
+      x: 47.947
+      y: 14.539
+      z: 17.189
+[InterestPoint94]
+   name: LowerInnerFrontRBkThigh
+  chain: RBk
+   link: 3
+      x: 47.947
+      y: -5.043
+      z: -17.189
+[InterestPoint95]
+   name: LowerInnerFrontLFrThigh
+  chain: LFr
+   link: 3
+      x: 47.947
+      y: -5.043
+      z: 17.189
+[InterestPoint96]
+   name: LowerOuterFrontRFrThigh
+  chain: RFr
+   link: 3
+      x: 47.947
+      y: 14.539
+      z: -17.189
+[InterestPoint97]
+   name: LowerInnerFrontLBkThigh
+  chain: LBk
+   link: 3
+      x: 47.947
+      y: -5.043
+      z: 17.189
+[InterestPoint98]
+   name: LowerOuterFrontRBkThigh
+  chain: RBk
+   link: 3
+      x: 47.947
+      y: 14.539
+      z: -17.189
+[InterestPoint99]
+   name: LowerOuterBackLFrThigh
+  chain: LFr
+   link: 3
+      x: 47.947
+      y: 14.539
+      z: -17.189
+[InterestPoint100]
+   name: LowerInnerBackRFrThigh
+  chain: RFr
+   link: 3
+      x: 47.947
+      y: -5.043
+      z: 17.189
+[InterestPoint101]
+   name: LowerOuterBackLBkThigh
+  chain: LBk
+   link: 3
+      x: 47.947
+      y: 14.539
+      z: -17.189
+[InterestPoint102]
+   name: LowerInnerBackRBkThigh
+  chain: RBk
+   link: 3
+      x: 47.947
+      y: -5.043
+      z: 17.189
+[InterestPoint103]
+   name: LowerInnerBackLFrThigh
+  chain: LFr
+   link: 3
+      x: 47.947
+      y: -5.043
+      z: -17.189
+[InterestPoint104]
+   name: LowerOuterBackRFrThigh
+  chain: RFr
+   link: 3
+      x: 47.947
+      y: 14.539
+      z: 17.189
+[InterestPoint105]
+   name: LowerInnerBackLBkThigh
+  chain: LBk
+   link: 3
+      x: 47.947
+      y: -5.043
+      z: -17.189
+[InterestPoint106]
+   name: LowerOuterBackRBkThigh
+  chain: RBk
+   link: 3
+      x: 47.947
+      y: 14.539
+      z: 17.189
+[InterestPoint107]
+   name: UpperOuterFrontLFrThigh
+  chain: LFr
+   link: 3
+      x: 0
+      y: 10.310
+      z: 17.189
+[InterestPoint108]
+   name: UpperInnerFrontRFrThigh
+  chain: RFr
+   link: 3
+      x: 0
+      y: -5.043
+      z: -17.189
+[InterestPoint109]
+   name: UpperOuterFrontLBkThigh
+  chain: LBk
+   link: 3
+      x: 0
+      y: 10.310
+      z: 17.189
+[InterestPoint110]
+   name: UpperInnerFrontRBkThigh
+  chain: RBk
+   link: 3
+      x: 0
+      y: -5.043
+      z: -17.189
+[InterestPoint111]
+   name: UpperInnerFrontLFrThigh
+  chain: LFr
+   link: 3
+      x: 0
+      y: -5.043
+      z: 17.189
+[InterestPoint112]
+   name: UpperOuterFrontRFrThigh
+  chain: RFr
+   link: 3
+      x: 0
+      y: 10.310
+      z: -17.189
+[InterestPoint113]
+   name: UpperInnerFrontLBkThigh
+  chain: LBk
+   link: 3
+      x: 0
+      y: -5.043
+      z: 17.189
+[InterestPoint114]
+   name: UpperOuterFrontRBkThigh
+  chain: RBk
+   link: 3
+      x: 0
+      y: 10.310
+      z: -17.189
+[InterestPoint115]
+   name: UpperOuterBackLFrThigh
+  chain: LFr
+   link: 3
+      x: 0
+      y: 10.310
+      z: -17.189
+[InterestPoint116]
+   name: UpperInnerBackRFrThigh
+  chain: RFr
+   link: 3
+      x: 0
+      y: -5.043
+      z: 17.189
+[InterestPoint117]
+   name: UpperOuterBackLBkThigh
+  chain: LBk
+   link: 3
+      x: 0
+      y: 10.310
+      z: -17.189
+[InterestPoint118]
+   name: UpperInnerBackRBkThigh
+  chain: RBk
+   link: 3
+      x: 0
+      y: -5.043
+      z: 17.189
+[InterestPoint119]
+   name: UpperInnerBackLFrThigh
+  chain: LFr
+   link: 3
+      x: 0
+      y: -5.043
+      z: -17.189
+[InterestPoint120]
+   name: UpperOuterBackRFrThigh
+  chain: RFr
+   link: 3
+      x: 0
+      y: 10.310
+      z: 17.189
+[InterestPoint121]
+   name: UpperInnerBackLBkThigh
+  chain: LBk
+   link: 3
+      x: 0
+      y: -5.043
+      z: -17.189
+[InterestPoint122]
+   name: UpperOuterBackRBkThigh
+  chain: RBk
+   link: 3
+      x: 0
+      y: 10.310
+      z: 17.189
Index: ms/config/tekkotsu.cfg
===================================================================
RCS file: /afs/cs/project/skinnerbots/aibo/Tekkotsu/project/ms/config/tekkotsu.cfg,v
retrieving revision 1.39
retrieving revision 1.49
diff -u -d -r1.39 -r1.49
--- ms/config/tekkotsu.cfg	21 Jan 2004 07:02:44 -0000	1.39
+++ ms/config/tekkotsu.cfg	18 Oct 2004 21:57:13 -0000	1.49
@@ -30,15 +30,27 @@
 #     how it is being used...
 #
 ##################################################################
+####################### $Revision: 1.49 $ ########################
+################## $Date: 2004/10/18 21:57:13 $ ##################
+##################################################################
+
 
+
+##################################################################
+##################################################################
 [Wireless]
+##################################################################
+##################################################################
 # unique id for Aibo (not used by Tekkotsu, but you might want it...)
 id=1
 
 
+
+##################################################################
+##################################################################
 [Vision]
-raw_port=10011
-rle_port=10012
+##################################################################
+##################################################################
 
 # white_balance  indoor | flourescent | outdoor
 <ERS-2*>
@@ -54,14 +66,32 @@
 
 # shutter_speed  slow | mid | fast
 # slower shutter will brighten image, but increases motion blur
+<ERS-2*>
 shutter_speed=mid
+</ERS-2*>
+<ERS-7>
+shutter_speed=slow
+</ERS-7>
 
 # resolution     quarter | half | full
 # this is the resolution vision's object recognition system will run at
 resolution=full
 
+### Camera Parameters ###
 
-### Color Segmentation Threshold files: ###
+# The field of view information should be specified in degrees
+<ERS-2*>
+horizFOV=57.6
+vertFOV=47.8
+focal_length=2.18
+</ERS-2*>
+<ERS-7>
+horizFOV=56.9
+vertFOV=45.2
+focal_length=3.27
+</ERS-7>
+
+### Color Segmentation Threshold files ###
 # Threshold (.tm) files define the mapping from full color to indexed color
 # You can uncomment more than one of these - they will be loaded into
 # separate channels of the segmenter.  The only cost of loading more
@@ -94,6 +124,12 @@
 
 
 ### Image Streaming Format ###
+# These parameters control the video stream over wireless ethernet
+# transport can be either 'udp' or 'tcp'
+raw_port=10011
+raw_transport=udp
+rle_port=10012
+rle_transport=udp
 
 # rawcam_encoding   color | y_only | uv_only | u_only | v_only | y_dx_only | y_dy_only | y_dxdy_only
 rawcam_encoding=color
@@ -138,7 +174,12 @@
 rlecam_skip=1
 
 
+
+##################################################################
+##################################################################
 [Main]
+##################################################################
+##################################################################
 console_port=10001
 stderr_port=10002
 error_level=0
@@ -154,11 +195,21 @@
 use_VT100=true
 
 
+
+##################################################################
+##################################################################
 [Behaviors]
+##################################################################
+##################################################################
 # your-stuff-here?
 
 
+
+##################################################################
+##################################################################
 [Controller]
+##################################################################
+##################################################################
 gui_port=10020
 select_snd=whiip.wav
 next_snd=toc.wav
@@ -168,17 +219,65 @@
 error_snd=fart.wav
 
 
+
+##################################################################
+##################################################################
 [Motion]
+##################################################################
+##################################################################
 root=/ms/data/motion
-walk=/ms/data/motion/walk.prm
+walk=walk.prm
+<ERS-2*>
+<ERS-210>
+kinematics=/ms/config/ers210.kin
+kinematic_chains=Mouth
+</ERS-210>
+<ERS-220>
+kinematics=/ms/config/ers220.kin
+</ERS-220>
+kinematic_chains=IR
+</ERS-2*>
+<ERS-7>
+kinematics=/ms/config/ers7.kin
+kinematic_chains=Mouth
+kinematic_chains=NearIR
+kinematic_chains=FarIR
+kinematic_chains=ChestIR
+</ERS-7>
+kinematic_chains=LFr
+kinematic_chains=RFr
+kinematic_chains=LBk
+kinematic_chains=RBk
+kinematic_chains=Camera
+
 estop_on_snd=skid.wav
 estop_off_snd=yap.wav
+
+# These values are used by some behaviors to limit the
+# speed of the head to reduce wear on the joints
+# Units: radians per second
+<ERS-2*>
 max_head_tilt_speed=2.1
 max_head_pan_speed=3.0
 max_head_roll_speed=3.0
+</ERS-2*>
+<ERS-7>
+#the pan speed is revised down from Sony's maximum a bit
+max_head_tilt_speed=3.18522588
+max_head_pan_speed=5.78140315
+max_head_roll_speed=5.78140315
+</ERS-7>
+
+console_port=10003
+stderr_port=10004
 
 
+
+##################################################################
+##################################################################
 [Sound]
+##################################################################
+##################################################################
 root=/ms/data/sound
 # volume = mute | level_1 | level_2 | level_3 | <direct dB setting: 0x8000 - 0xFFFF>
 # if you directly set the decibel level, be warned sony recommends against going above 0xF600
@@ -194,8 +293,3 @@
 preload=yap.wav
 
 
-[WorldModel2]
-dm_port=10041
-hm_port=10042
-gm_port=10043
-fs_port=10044
Index: ms/data/motion/circles.wyp
===================================================================
RCS file: ms/data/motion/circles.wyp
diff -N ms/data/motion/circles.wyp
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ ms/data/motion/circles.wyp	30 Mar 2004 04:31:39 -0000	1.1
@@ -0,0 +1,16 @@
+#WyP
+
+#Does a one meter square pattern, turns as targets each new waypoint
+
+#add_{point|arc} {ego|off|abs} x_val y_val {hold|follow} angle_val speed_val arc_val
+max_turn_speed 0.5
+track_path 1
+add_arc EGO 0 .5 FOLLOW 0 0.1 3.1415
+add_arc EGO 0 0 FOLLOW 1.571 0.1 0
+add_arc EGO .5 0 FOLLOW 1.571 0.1 3.1415
+add_arc EGO 0 0 FOLLOW -1.571 0.1 0
+add_arc EGO 0 .25 FOLLOW 0 0.075 3.1415
+add_arc EGO 0 0 FOLLOW 1.571 0.075 0
+add_arc EGO .25 0 FOLLOW 1.571 0.075 3.1415
+add_arc EGO 0 0 FOLLOW -1.571 0.075 0
+#END
Index: ms/data/motion/rightkick.pos
===================================================================
RCS file: ms/data/motion/rightkick.pos
diff -N ms/data/motion/rightkick.pos
--- ms/data/motion/rightkick.pos	21 Sep 2003 19:44:14 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,44 +0,0 @@
-#POS
-LFr:rotor	 0.1654	 1.0000
-LFr:elvtr	 0.0228	 1.0000
-LFr:knee~	 0.4531	 1.0000
-RFr:rotor	 0.1858	 1.0000
-RFr:elvtr	-0.0349	 1.0000
-RFr:knee~	 0.9183	 1.0000
-LBk:rotor	 0.2493	 1.0000
-LBk:elvtr	 0.4389	 1.0000
-LBk:knee~	 0.8055	 1.0000
-RBk:rotor	-0.4930	 1.0000
-RBk:elvtr	 0.4275	 1.0000
-RBk:knee~	 1.1636	 1.0000
-NECK:tilt	-0.0038	 1.0000
-NECK:pan~	 0.0000	 1.0000
-NECK:roll	 0.0038	 1.0000
-TAIL:tilt	-0.0229	 1.0000
-TAIL:pan~	 0.0000	 1.0000
-MOUTH~~~~	-0.0524	 1.0000
-LED:botL~	 1.0000	 1.0000
-LED:botR~	 1.0000	 1.0000
-LED:midL~	 0.0400	 1.0000
-LED:midR~	 0.0400	 1.0000
-LED:topL~	 0.0000	 1.0000
-LED:topR~	 0.0000	 1.0000
-LED:topBr	 0.0000	 1.0000
-LED:bkL1~	 0.0000	 1.0000
-LED:bkL2~	 0.0000	 1.0000
-LED:bkL3~	 0.0000	 1.0000
-LED:bkR3~	 0.0000	 1.0000
-LED:bkR2~	 0.0000	 1.0000
-LED:bkR1~	 0.0000	 1.0000
-LED:tailL	 0.0000	 1.0000
-LED:tailC	 0.0000	 1.0000
-LED:tailR	 0.0000	 1.0000
-LED:faceB	 0.0000	 1.0000
-LED:faceA	 0.0000	 1.0000
-LED:faceC	 0.0000	 1.0000
-LED:light	 0.0000	 1.0000
-LED:tlRed	 0.0000	 1.0000
-LED:tlBlu	 0.0000	 1.0000
-EAR:left~	 1.0000	 1.0000
-EAR:right	 1.0000	 1.0000
-#END
Index: ms/data/motion/rkick.pos
===================================================================
RCS file: ms/data/motion/rkick.pos
diff -N ms/data/motion/rkick.pos
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ ms/data/motion/rkick.pos	8 Jul 2004 03:04:21 -0000	1.1
@@ -0,0 +1,44 @@
+#POS
+LFr:rotor	 0.1654	 1.0000
+LFr:elvtr	 0.0228	 1.0000
+LFr:knee~	 0.4531	 1.0000
+RFr:rotor	 0.1858	 1.0000
+RFr:elvtr	-0.0349	 1.0000
+RFr:knee~	 0.9183	 1.0000
+LBk:rotor	 0.2493	 1.0000
+LBk:elvtr	 0.4389	 1.0000
+LBk:knee~	 0.8055	 1.0000
+RBk:rotor	-0.4930	 1.0000
+RBk:elvtr	 0.4275	 1.0000
+RBk:knee~	 1.1636	 1.0000
+NECK:tilt	-0.0038	 1.0000
+NECK:pan~	 0.0000	 1.0000
+NECK:roll	 0.0038	 1.0000
+TAIL:tilt	-0.0229	 1.0000
+TAIL:pan~	 0.0000	 1.0000
+MOUTH~~~~	-0.0524	 1.0000
+LED:botL~	 1.0000	 1.0000
+LED:botR~	 1.0000	 1.0000
+LED:midL~	 0.0400	 1.0000
+LED:midR~	 0.0400	 1.0000
+LED:topL~	 0.0000	 1.0000
+LED:topR~	 0.0000	 1.0000
+LED:topBr	 0.0000	 1.0000
+LED:bkL1~	 0.0000	 1.0000
+LED:bkL2~	 0.0000	 1.0000
+LED:bkL3~	 0.0000	 1.0000
+LED:bkR3~	 0.0000	 1.0000
+LED:bkR2~	 0.0000	 1.0000
+LED:bkR1~	 0.0000	 1.0000
+LED:tailL	 0.0000	 1.0000
+LED:tailC	 0.0000	 1.0000
+LED:tailR	 0.0000	 1.0000
+LED:faceB	 0.0000	 1.0000
+LED:faceA	 0.0000	 1.0000
+LED:faceC	 0.0000	 1.0000
+LED:light	 0.0000	 1.0000
+LED:tlRed	 0.0000	 1.0000
+LED:tlBlu	 0.0000	 1.0000
+EAR:left~	 1.0000	 1.0000
+EAR:right	 1.0000	 1.0000
+#END
Index: ms/data/motion/sqbasca2.wyp
===================================================================
RCS file: ms/data/motion/sqbasca2.wyp
diff -N ms/data/motion/sqbasca2.wyp
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ ms/data/motion/sqbasca2.wyp	30 Mar 2004 04:31:39 -0000	1.1
@@ -0,0 +1,12 @@
+#WyP
+
+#Does a one meter square pattern, turns as targets each new waypoint
+
+#add_{point|arc} {ego|off|abs} x_val y_val {hold|follow} angle_val speed_val arc_val
+max_turn_speed 0.5
+track_path 1
+add_point ABS 1 0 FOLLOW 0 0.1 0
+add_point ABS 1 -1 FOLLOW 0 0.1 0
+add_point ABS 0 -1 FOLLOW 0 0.1 0
+add_point ABS 0 0 FOLLOW 0 0.1 0
+#END
Index: ms/data/motion/sqbasce2.wyp
===================================================================
RCS file: ms/data/motion/sqbasce2.wyp
diff -N ms/data/motion/sqbasce2.wyp
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ ms/data/motion/sqbasce2.wyp	30 Mar 2004 04:31:40 -0000	1.1
@@ -0,0 +1,9 @@
+#WyP
+
+#Does a one meter square pattern, turns as targets each new waypoint
+
+#add_{point|arc} {ego|off|abs} x_val y_val {hold|follow} angle_val speed_val arc_val
+max_turn_speed 0.5
+track_path 1
+add_point EGO 0 -1 FOLLOW 0 0.1 0
+#END
Index: ms/data/motion/sqbasco2.wyp
===================================================================
RCS file: ms/data/motion/sqbasco2.wyp
diff -N ms/data/motion/sqbasco2.wyp
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ ms/data/motion/sqbasco2.wyp	30 Mar 2004 04:31:40 -0000	1.1
@@ -0,0 +1,12 @@
+#WyP
+
+#Does a one meter square pattern, turns as targets each new waypoint
+
+#add_{point|arc} {ego|off|abs} x_val y_val {hold|follow} angle_val speed_val arc_val
+max_turn_speed 0.5
+track_path 1
+add_point OFF 1 0 FOLLOW 0 0.1 0
+add_point OFF 0 -1 FOLLOW 0 0.1 0
+add_point OFF -1 0 FOLLOW 0 0.1 0
+add_point OFF 0 1 FOLLOW 0 0.1 0
+#END
Index: ms/data/motion/sqbasica.wyp
===================================================================
RCS file: ms/data/motion/sqbasica.wyp
diff -N ms/data/motion/sqbasica.wyp
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ ms/data/motion/sqbasica.wyp	30 Mar 2004 04:31:40 -0000	1.1
@@ -0,0 +1,16 @@
+#WyP
+
+#Does a one meter square pattern, very basic: move, stop, turn
+
+#add_{point|arc} {ego|off|abs} x_val y_val {hold|follow} angle_val speed_val arc_val
+max_turn_speed 0.5
+track_path 1
+add_point ABS 1 0 FOLLOW 0 0.1 0
+add_point ABS 1 0 FOLLOW -1.571 0.1 0
+add_point ABS 1 -1 FOLLOW 0 0.1 0
+add_point ABS 1 -1 FOLLOW -1.571 0.1 0
+add_point ABS 0 -1 FOLLOW 0 0.1 0
+add_point ABS 0 -1 FOLLOW -1.571 0.1 0
+add_point ABS 0 0 FOLLOW 0 0.1 0
+add_point ABS 0 0 FOLLOW -1.571 0.1 0
+#END
Index: ms/data/motion/sqbasice.wyp
===================================================================
RCS file: ms/data/motion/sqbasice.wyp
diff -N ms/data/motion/sqbasice.wyp
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ ms/data/motion/sqbasice.wyp	30 Mar 2004 04:31:40 -0000	1.1
@@ -0,0 +1,10 @@
+#WyP
+
+#Does a one meter square pattern, turns as targets each new waypoint
+
+#add_{point|arc} {ego|off|abs} x_val y_val {hold|follow} angle_val speed_val arc_val
+max_turn_speed 0.5
+track_path 1
+add_point EGO 1 0 FOLLOW 0 0.1 0
+add_point EGO 0 0 FOLLOW -1.571 0.1 0
+#END
Index: ms/data/motion/sqbasico.wyp
===================================================================
RCS file: ms/data/motion/sqbasico.wyp
diff -N ms/data/motion/sqbasico.wyp
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ ms/data/motion/sqbasico.wyp	30 Mar 2004 04:31:40 -0000	1.1
@@ -0,0 +1,16 @@
+#WyP
+
+#Does a one meter square pattern, very basic: move, stop, turn
+
+#add_{point|arc} {ego|off|abs} x_val y_val {hold|follow} angle_val speed_val arc_val
+max_turn_speed 0.5
+track_path 1
+add_point OFF 1 0 FOLLOW 0 0.1 0
+add_point OFF 0 0 FOLLOW -1.571 0.1 0
+add_point OFF 0 -1 FOLLOW 0 0.1 0
+add_point OFF 0 0 FOLLOW -1.571 0.1 0
+add_point OFF -1 0 FOLLOW 0 0.1 0
+add_point OFF 0 0 FOLLOW -1.571 0.1 0
+add_point OFF 0 1 FOLLOW 0 0.1 0
+add_point OFF 0 0 FOLLOW -1.571 0.1 0
+#END
Index: ms/data/motion/sqpush.wyp
===================================================================
RCS file: ms/data/motion/sqpush.wyp
diff -N ms/data/motion/sqpush.wyp
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ ms/data/motion/sqpush.wyp	30 Mar 2004 04:31:40 -0000	1.1
@@ -0,0 +1,18 @@
+#WyP
+
+#Does a square pattern, theoretically with a ball in front of it
+#In other words, it does a little arc on each corner so the ball
+#will stay in control.
+
+#add_{point|arc} {ego|off|abs} x_val y_val {hold|follow} angle_val speed_val arc_val
+max_turn_speed 0.5
+track_path 1
+add_point EGO 0.75 0 FOLLOW 0 0.1 0
+add_point EGO 0.15 0.15 FOLLOW -1.571 0.06 -1.571
+add_point EGO 0.75 0 FOLLOW 0 0.1 0
+add_point EGO 0.15 0.15 FOLLOW -1.571 0.06 -1.571
+add_point EGO 0.75 0 FOLLOW 0 0.1 0
+add_point EGO 0.15 0.15 FOLLOW -1.571 0.06 -1.571
+add_point EGO 0.75 0 FOLLOW 0 0.1 0
+add_point EGO 0.15 0.15 FOLLOW -1.571 0.06 -1.571
+#END
Index: ms/open-r/mw/conf/connect.cfg
===================================================================
RCS file: /afs/cs/project/skinnerbots/aibo/Tekkotsu/project/ms/open-r/mw/conf/connect.cfg,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- ms/open-r/mw/conf/connect.cfg	8 Jan 2004 22:41:57 -0000	1.6
+++ ms/open-r/mw/conf/connect.cfg	28 Sep 2004 23:07:08 -0000	1.7
@@ -1,6 +1,7 @@
 #System->Main
 OVirtualRobotComm.Sensor.OSensorFrameVectorData.S MainObj.SensorFrame.OSensorFrameVectorData.O
 OVirtualRobotComm.FbkImageSensor.OFbkImageVectorData.S MainObj.Image.OFbkImageVectorData.O
+OVirtualRobotAudioComm.Mic.OSoundVectorData.S MainObj.Mic.OSoundVectorData.O
 
 #Main<->Motion
 MainObj.RegisterWorldState.WorldState.S MotoObj.ReceiveWorldState.WorldState.O
Index: ms/open-r/mw/conf/passwd
===================================================================
RCS file: /afs/cs/project/skinnerbots/aibo/Tekkotsu/project/ms/open-r/mw/conf/passwd,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- ms/open-r/mw/conf/passwd	28 Jul 2003 06:58:30 -0000	1.4
+++ ms/open-r/mw/conf/passwd	6 Jul 2004 22:46:12 -0000	1.5
@@ -1,5 +1,5 @@
-#user pass /MS/
-#guest * /MS/OPEN-R/MW/
+# FORMAT: <user> <password | *> <base_dir>
+#EXAMPLE: guest * /MS/OPEN-R/MW/
 config config /MS/CONFIG/
 data data /MS/DATA/
 ftpinst ftpinst /MS/
Index: templates/behavior_header.h
===================================================================
RCS file: templates/behavior_header.h
diff -N templates/behavior_header.h
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ templates/behavior_header.h	25 Aug 2004 01:09:24 -0000	1.1
@@ -0,0 +1,51 @@
+//-*-c++-*-
+
+// This is an empty Behavior template file.
+// Replace CLASSNAME and DESCRIPTION as appropriate, and go to town!
+
+#ifndef INCLUDED_CLASSNAME_h_
+#define INCLUDED_CLASSNAME_h_
+
+#include "Behaviors/BehaviorBase.h"
+
+//! DESCRIPTION
+class CLASSNAME : public BehaviorBase {
+public:
+	//! constructor
+	CLASSNAME() : BehaviorBase() {}
+
+	virtual void DoStart() {
+		BehaviorBase::DoStart(); // do this first
+		// <your startup code here>
+	}
+
+	virtual void DoStop() {
+		// <your shutdown code here>
+		BehaviorBase::DoStop(); // do this last
+	}
+
+	virtual void processEvent(const EventBase& e) {
+		// <your event processing code here>
+		// you can delete this function if you don't use any events...
+	}
+
+	virtual std::string getName() const { return "CLASSNAME"; }
+
+	static std::string getClassDescription() { return "DESCRIPTION"; }
+	
+protected:
+	
+};
+
+/*! @file
+ * @brief Defines CLASSNAME, which DESCRIPTION
+ * @author YOURNAMEHERE (Creator)
+ *
+ * $Author: ejt $
+ * $Name:  $
+ * $Revision: 1.1 $
+ * $State: Exp $
+ * $Date: 2004/08/25 01:09:24 $
+ */
+
+#endif
Index: templates/header.h
===================================================================
RCS file: templates/header.h
diff -N templates/header.h
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ templates/header.h	25 Aug 2004 01:09:24 -0000	1.1
@@ -0,0 +1,24 @@
+//-*-c++-*-
+#ifndef INCLUDED_CLASSNAME_h_
+#define INCLUDED_CLASSNAME_h_
+
+//! description of CLASSNAME
+class CLASSNAME {
+public:
+	
+protected:
+	
+};
+
+/*! @file
+ * @brief 
+ * @author YOURNAMEHERE (Creator)
+ *
+ * $Author: ejt $
+ * $Name:  $
+ * $Revision: 1.1 $
+ * $State: Exp $
+ * $Date: 2004/08/25 01:09:24 $
+ */
+
+#endif
Index: templates/implementation.cc
===================================================================
RCS file: templates/implementation.cc
diff -N templates/implementation.cc
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ templates/implementation.cc	25 Aug 2004 01:09:24 -0000	1.1
@@ -0,0 +1,13 @@
+#include "CLASSNAME.h"
+
+/*! @file
+ * @brief 
+ * @author YOURNAMEHERE (Creator)
+ *
+ * $Author: ejt $
+ * $Name:  $
+ * $Revision: 1.1 $
+ * $State: Exp $
+ * $Date: 2004/08/25 01:09:24 $
+ */
+
