opensdk-cvs Mailing List for openSDK (Page 2)
Status: Beta
Brought to you by:
nuno-lopes
You can subscribe to this list here.
| 2006 |
Jan
|
Feb
|
Mar
(127) |
Apr
(6) |
May
|
Jun
(4) |
Jul
(59) |
Aug
(6) |
Sep
(1) |
Oct
(7) |
Nov
(10) |
Dec
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2007 |
Jan
(58) |
Feb
(51) |
Mar
(77) |
Apr
(34) |
May
(7) |
Jun
(5) |
Jul
(19) |
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Nuno L. <nun...@us...> - 2007-06-20 14:54:09
|
Update of /cvsroot/opensdk/openSDK/root/OPEN_R/bin In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv8959 Modified Files: mkbin Log Message: fix case when mbin was called with '-m /path/to/file.ocf' Index: mkbin =================================================================== RCS file: /cvsroot/opensdk/openSDK/root/OPEN_R/bin/mkbin,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- mkbin 25 Mar 2007 12:13:13 -0000 1.6 +++ mkbin 20 Jun 2007 14:54:09 -0000 1.7 @@ -3,4 +3,4 @@ # this file just creates the *.BIN objects (which are shared librarys) # filter some flags that can be passed to this command -echo $@ | sed -e 's/-p\s*[^ ]\+//g' -e 's/[^ ]*\.ocf//g' -e 's/-lObjectComm//g' -e 's/-lInternet//g' -e 's/-lantMCOOP//g' -e 's/-lERA201D1//g' -e 's/-lOPENR//g' | xargs g++ -shared -Wl,--wrap,strtok -Wl,--wrap,open -Wl,--wrap,fopen +echo $@ | sed -e 's/-p\s*[^ ]\+//g' -e 's/\(-m\s*\)\?[^ ]*\.ocf//g' -e 's/-lObjectComm//g' -e 's/-lInternet//g' -e 's/-lantMCOOP//g' -e 's/-lERA201D1//g' -e 's/-lOPENR//g' | xargs g++ -shared -Wl,--wrap,strtok -Wl,--wrap,open -Wl,--wrap,fopen |
|
From: Nuno L. <nun...@us...> - 2007-05-23 14:55:07
|
Update of /cvsroot/opensdk/openSDK/loader In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv29004 Modified Files: OVirtualRobotComm.cc Log Message: yesterday fix was not totally right: the number of ticks mantains, it was just the frame counting that was wrong Index: OVirtualRobotComm.cc =================================================================== RCS file: /cvsroot/opensdk/openSDK/loader/OVirtualRobotComm.cc,v retrieving revision 1.28 retrieving revision 1.29 diff -u -d -r1.28 -r1.29 --- OVirtualRobotComm.cc 22 May 2007 19:35:42 -0000 1.28 +++ OVirtualRobotComm.cc 23 May 2007 14:54:21 -0000 1.29 @@ -226,7 +226,7 @@ { struct itimerval timer = { - {0, USECONDS_TICK * NUM_TICKS_TO_SEND_DATA}, {0, USECONDS_TICK * NUM_TICKS_TO_SEND_DATA} + {0, USECONDS_TICK}, {0, USECONDS_TICK} }; signal(SIGALRM, sigalrm_handler); |
|
From: Nuno L. <nun...@us...> - 2007-05-22 19:36:15
|
Update of /cvsroot/opensdk/openSDK/loader In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv14902 Modified Files: OVirtualRobotComm.cc Log Message: fix OVirtualRobotComm.Sensor frame numbering fix OVirtualRobotComm.Sensor timer (it was sending 1 message per tick instead of 1 message per 4 ticks - 32 ms) Index: OVirtualRobotComm.cc =================================================================== RCS file: /cvsroot/opensdk/openSDK/loader/OVirtualRobotComm.cc,v retrieving revision 1.27 retrieving revision 1.28 diff -u -d -r1.27 -r1.28 --- OVirtualRobotComm.cc 27 Apr 2007 11:35:19 -0000 1.27 +++ OVirtualRobotComm.cc 22 May 2007 19:35:42 -0000 1.28 @@ -226,7 +226,7 @@ { struct itimerval timer = { - {0, USECONDS_TICK}, {0, USECONDS_TICK} + {0, USECONDS_TICK * NUM_TICKS_TO_SEND_DATA}, {0, USECONDS_TICK * NUM_TICKS_TO_SEND_DATA} }; signal(SIGALRM, sigalrm_handler); @@ -283,10 +283,11 @@ tick_number = 0; for (unsigned int i=0; i < numVectorData; ++i) { - frameNumber = (frameNumber + NUM_TICKS_TO_SEND_DATA) % oframeMAX_NUMBER; - SensorFrameData->GetInfo(i)->frameNumber = (frameNumber-1) % oframeMAX_NUMBER; + SensorFrameData->GetInfo(i)->frameNumber = frameNumber; } + frameNumber = (frameNumber + NUM_TICKS_TO_SEND_DATA) % oframeMAX_NUMBER; + subject->SetData(SensorFrameData, SensorFrameData_size); subject->NotifyObservers(); } |
|
From: Nuno L. <nun...@us...> - 2007-05-20 17:49:17
|
Update of /cvsroot/opensdk/openSDK/samples In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv23001 Modified Files: Makefile Log Message: use -Wall when compiling the samples Index: Makefile =================================================================== RCS file: /cvsroot/opensdk/openSDK/samples/Makefile,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- Makefile 9 Mar 2007 18:23:25 -0000 1.5 +++ Makefile 20 May 2007 17:49:17 -0000 1.6 @@ -13,7 +13,7 @@ TARGETS=all install clean OPENRSDK_ROOT=$(shell pwd)/../root STRIPOBJECTS?=1 -DEBUGFLAGS?=-DOPENR_DEBUG +DEBUGFLAGS?=-DOPENR_DEBUG -Wall .PHONY: $(TARGETS) |
|
From: Nuno L. <nun...@us...> - 2007-05-20 17:41:07
|
Update of /cvsroot/opensdk/openSDK/servers/usarsim In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv19108 Modified Files: main.cc Log Message: flush the opensdk sensor sockets after writing as we want fresh data ASAP Index: main.cc =================================================================== RCS file: /cvsroot/opensdk/openSDK/servers/usarsim/main.cc,v retrieving revision 1.24 retrieving revision 1.25 diff -u -d -r1.24 -r1.25 --- main.cc 22 Apr 2007 14:27:45 -0000 1.24 +++ main.cc 20 May 2007 17:39:50 -0000 1.25 @@ -244,6 +244,7 @@ } fprintf(sensors_socket, "IRN:%lf\nIRF:%lf\nEDG:%lf\n", IRN, IRF, EDG); + fflush(sensors_socket); } else if (!strncmp("{Type Accel} ", msg, sizeof("{Type Accel} ")-1)) { msg += sizeof("{Type Accel} ")-1; @@ -253,6 +254,7 @@ } fprintf(sensors_socket, "AX:%lf\nAY:%lf\nAZ:%lf\n", ax, ay, az); + fflush(sensors_socket); } else if (!strncmp("{Type Helper}", msg, sizeof("{Type Helper}")-1)) { continue; // this message has no interest for us @@ -420,6 +422,7 @@ sprintf(str, "\r\n"); send_usarsim(usarsim_socket, buffer); fwrite(buffer_opensdk, strlen(buffer_opensdk), 1, sensors_socket); + fflush(sensors_socket); } } |
|
From: Nuno L. <nun...@us...> - 2007-05-12 10:35:14
|
Update of /cvsroot/opensdk/website In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv613 Modified Files: index.php Log Message: add link to download the updated open-r toolchain (only gcc 3.3.6 for now) Index: index.php =================================================================== RCS file: /cvsroot/opensdk/website/index.php,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- index.php 6 Apr 2007 12:37:18 -0000 1.12 +++ index.php 12 May 2007 10:35:09 -0000 1.13 @@ -24,14 +24,15 @@ faster, so if you are willing to help, please write to the developer's mailing list.</p> <p>Connecting openSDK to a simulator is also supported. At this time only -<a href="http://usarsim.sf.net">USARSim</a> is supported, because it is a great +<a href="http://usarsim.sourceforge.net">USARSim</a> is supported, because it is a great simulator.</p> <p> </p> <h2>Downloading</h2> <ul> -<li><a href="http://sf.net/cvs/?group_id=162716">CVS instructions</a> (preferred way). CVS module name: openSDK</li> +<li><a href="http://sourceforge.net/cvs/?group_id=162716">CVS instructions</a> (preferred way). CVS module name: openSDK</li> <li><a href="/files/">Snapshots</a></li> +<li><a href="http://sourceforge.net/project/showfiles.php?group_id=162716&package_id=231594">OPEN-R toolchain</a> (not needed for openSDK, only for running the code on the AIBO)</li> </ul> <h2>Documentation</h2> @@ -44,10 +45,10 @@ <h2>Developer Resources</h2> <ul> <li><a href="/technotes.php">Technical Notes about OPEN-R and the openSDK implementation</a></li> -<li><a href="/doxygen">Doxygen generated documentation</a></li> -<li><a href="http://sf.net/projects/opensdk">SF.net Project Page</a></li> -<li><a href="http://lists.sf.net/lists/listinfo/opensdk-internals">Developers mailing list</a></li> -<li><a href="http://lists.sf.net/lists/listinfo/opensdk-cvs">CVS commits mailing list</a></li> +<li><a href="/doxygen/">Doxygen generated documentation</a></li> +<li><a href="http://sourceforge.net/projects/opensdk">SF.net Project Page</a></li> +<li><a href="http://lists.sourceforge.net/lists/listinfo/opensdk-internals">Developers mailing list</a></li> +<li><a href="http://lists.sourceforge.net/lists/listinfo/opensdk-cvs">CVS commits mailing list</a></li> </ul> <p> </p> |
|
From: Nuno L. <nun...@us...> - 2007-05-11 15:06:21
|
Update of /cvsroot/opensdk/openSDK/scripts In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv28819/scripts Added Files: build-devtools-3.3.6.sh Log Message: add script to compile a gcc 3.3.6 based toolchain --- NEW FILE: build-devtools-3.3.6.sh --- #!/bin/sh ###################################################################### # # Copyright 2004 Sony Corporation # # This software is provided "as is" without warranty of any kind, # either expressed or implied, including but not limited to the # implied warranties of fitness for a particular purpose. # # This script builds the following tools so as to be used with OPEN-R # SDK. # # binutils-2.14 # gcc-3.3.6 # newlib-1.10.0 # # Run the script in the directory where the source packages (.tar.gz # or .tar.bz2 files) of the above tools are placed. # # NOTE: this script was modified (not by Sony) to use gcc 3.3.6 # ###################################################################### # Constants # Installation directory PREFIX=/usr/local/OPEN_R_SDK # Target name # Note: The target name `mipsel-linux' does not mean that Linux is # running on AIBO. `linux' is specified just for enabling # PIC code generation. TARGET=mipsel-linux # source packages BINUTILS=binutils-2.14 GCC=gcc-3.3.6 NEWLIB=newlib-1.10.0 GCC_PATCHSET=gcc-3.3.6-patches-1.4 PACKAGES="BINUTILS GCC NEWLIB GCC_PATCHSET" BINUTILS_BLD=bld-$BINUTILS GCC_BLD=bld-$GCC NEWLIB_BLD=bld-$NEWLIB GENTOO_MIRROR_DIST="http://dev.gentoo.org/~vapier/dist/" ###################################################################### # Functions #apply gentoo's gcc patches. this function is also based on gentoo's eutils.class. apply_gcc_patches() { pushd . > /dev/null cd $GCC for f in `ls -1 ../patch/*.patch` do echo -n "patching gcc with $f... " if ( ! echo $f | grep _all_ > /dev/null ) then echo "skipped" continue fi local count=0 while [ "${count}" -lt 5 ] do if (cat $f | patch -g0 -E --no-backup-if-mismatch -p${count} --dry-run -f ) &> /dev/null then echo "ok with -p${count}" cat $f | patch -g0 -E --no-backup-if-mismatch -p${count} --quiet break; fi count=$((count + 1)) done if [ "${count}" -ge 5 ] then echo "failed!" fi done popd > /dev/null } ###################################################################### # Preparation # # download the gentoo patchset automatically to enable gcc 3.3.x to be built with newer gcc versions if [ ! -f $GCC_PATCHSET.tar.bz2 ]; then URL=${GENTOO_MIRROR_DIST}${GCC_PATCHSET}.tar.bz2 if ( ! wget "${URL}" ); then echo "Couldn't download $GCC_PATCHSET.tar.bz2 automatically. Please download it manually from ${URL}" exit 1 fi fi # Confirm the source packages exists for p in $PACKAGES; do pkg=${!p}; #p is the variable name, pkg is the actual package name if [ ! -f "$pkg.tar.gz" -a ! -f "$pkg.tar.bz2" ] ; then echo $pkg not found in the current directory, exiting. 1>&2 exit 1 fi done # Confirm the directory $PREFIX exists and is writable if mkdir -p $PREFIX/tmp$$ > /dev/null 2>&1; then # OK; $PREFIX is writable directory rmdir $PREFIX/tmp$$ else echo Please create the writable directory $PREFIX. Exiting. 1>&2 exit 1 fi for p in $PACKAGES ; do pkg=${!p}; #p is the variable name, pkg is the actual package name if [ -f "$pkg.tar.gz" ] ; then echo "Unpacking $pkg.tar.gz..." tar xzf "$pkg.tar.gz" || exit elif [ -f "$pkg.tar.bz2" ] ; then echo "Unpacking $pkg.tar.bz2..." tar xjf "$pkg.tar.bz2" || exit else echo "Could not find $pkg.tar.{gz,bz2}" exit 1; fi; done ###################################################################### # Applying patches # apply_gcc_patches # -------------------------------------------------------------------- # Make libstdc++-v3 use newlib patch -p0 <<'EOF' || exit --- gcc-3.3.6/libstdc++-v3/configure.orig 2003-09-11 12:08:35.000000000 +0900 +++ gcc-3.3.6/libstdc++-v3/configure 2003-11-18 15:12:29.552891100 +0900 @@ -4213,7 +4213,8 @@ # GLIBCPP_CHECK_MATH_SUPPORT case "$target" in - *-linux*) +# *-linux*) + *-linux-nevermatch*) os_include_dir="os/gnu-linux" for ac_hdr in nan.h ieeefp.h endian.h sys/isa_defs.h \ machine/endian.h machine/param.h sys/machine.h sys/types.h \ EOF # -------------------------------------------------------------------- # BUFSIZ defined in newlib's stdio.h is too small for AIBO's file # system. patch -p0 <<'EOF' || exit --- newlib-1.10.0/newlib/libc/include/stdio.h.orig Mon Oct 7 17:19:42 2002 +++ newlib-1.10.0/newlib/libc/include/stdio.h Mon Oct 7 17:20:00 2002 @@ -92,7 +92,7 @@ #ifdef __BUFSIZ__ #define BUFSIZ __BUFSIZ__ #else -#define BUFSIZ 1024 +#define BUFSIZ 16384 #endif #ifdef __FOPEN_MAX__ EOF # -------------------------------------------------------------------- # vfprintf modified not to use too much stack size patch -p0 <<'EOF' || exit --- newlib-1.10.0/newlib/libc/stdio/vfprintf.c.orig Mon Oct 7 17:22:28 2002 +++ newlib-1.10.0/newlib/libc/stdio/vfprintf.c Mon Oct 7 17:22:50 2002 @@ -429,9 +429,12 @@ return (EOF); /* optimise fprintf(stderr) (and other unbuffered Unix files) */ +/* comment out: __sbprintf requires too large stack size (> BUFSIZ) */ +#if 0 if ((fp->_flags & (__SNBF|__SWR|__SRW)) == (__SNBF|__SWR) && fp->_file >= 0) return (__sbprintf(fp, fmt0, ap)); +#endif fmt = (char *)fmt0; uio.uio_iov = iovp = iov; EOF ###################################################################### # Building binutils # rm -fr $BINUTILS_BLD mkdir $BINUTILS_BLD || exit echo Configuring $BINUTILS (cd $BINUTILS_BLD; ../$BINUTILS/configure --prefix=$PREFIX \ --target=$TARGET) || exit echo Making $BINUTILS (cd $BINUTILS_BLD; make) || exit echo Installing $BINUTILS (cd $BINUTILS_BLD; make install) || exit ###################################################################### # Building gcc # # $TARGET-ar must be found via PATH export PATH="$PREFIX/bin:$PATH" cp -R $NEWLIB/newlib/libc/include $PREFIX/mipsel-linux rm -fr $GCC_BLD mkdir $GCC_BLD || exit echo Configuring $GCC (cd $GCC_BLD; ../$GCC/configure --prefix=$PREFIX \ --target=$TARGET \ --with-gnu-as \ --with-gnu-ld \ --with-headers=../$NEWLIB/newlib/libc/include \ --with-as=$PREFIX/bin/$TARGET-as \ --with-ld=$PREFIX/bin/$TARGET-ld \ --disable-shared \ --enable-languages=c,c++ \ --disable-threads \ --with-newlib) || exit echo Making $GCC (cd $GCC_BLD; make) || exit echo Installing $GCC (cd $GCC_BLD; make install) || exit ###################################################################### # Building newlib # rm -fr $NEWLIB_BLD mkdir $NEWLIB_BLD || exit echo Configuring $NEWLIB (cd $NEWLIB_BLD; ../$NEWLIB/configure --prefix=$PREFIX \ --target=$TARGET) || exit echo Making $NEWLIB (cd $NEWLIB_BLD; make) || exit echo Installing $NEWLIB (cd $NEWLIB_BLD; make install) || exit ###################################################################### # Creating libc-.a # # Some functions in libc.a have improper implementation. Correct # version of them are provided by libapsys.a. To avoid mislinking, we # use libc-.a, from which the duplicated functions are removed. echo Creating $PREFIX/$TARGET/lib/libc-.a cp $PREFIX/$TARGET/lib/libc.a $PREFIX/$TARGET/lib/libc-.a || exit $PREFIX/bin/$TARGET-ar d $PREFIX/$TARGET/lib/libc-.a \ mallocr.o freer.o reallocr.o callocr.o cfreer.o malignr.o \ vallocr.o pvallocr.o mallinfor.o mallstatsr.o msizer.o malloptr.o \ calloc.o malign.o msize.o mstats.o mtrim.o realloc.o valloc.o malloc.o \ abort.o sbrkr.o exit.o rename.o || exit $PREFIX/bin/$TARGET-ranlib $PREFIX/$TARGET/lib/libc-.a || exit echo Done |
|
From: Nuno L. <nun...@us...> - 2007-05-11 15:04:56
|
Update of /cvsroot/opensdk/openSDK/scripts In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv28066/scripts Log Message: Directory /cvsroot/opensdk/openSDK/scripts added to the repository |
|
From: Nuno L. <nun...@us...> - 2007-04-27 11:36:25
|
Update of /cvsroot/opensdk/openSDK/loader In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv30772 Modified Files: OVirtualRobotComm.cc Log Message: get ride of stupid warnings about double->size_t casts and also make sure the calculations are correct (no more floating point) Index: OVirtualRobotComm.cc =================================================================== RCS file: /cvsroot/opensdk/openSDK/loader/OVirtualRobotComm.cc,v retrieving revision 1.26 retrieving revision 1.27 diff -u -d -r1.26 -r1.27 --- OVirtualRobotComm.cc 25 Apr 2007 10:33:20 -0000 1.26 +++ OVirtualRobotComm.cc 27 Apr 2007 11:35:19 -0000 1.27 @@ -450,14 +450,14 @@ info->dataSize = IMG_SIZE/((s)*(s)); \ info->width = IMG_WIDTH/(s); \ info->height = IMG_HEIGHT/(s); \ - info->dataOffset = sizeof(ODataVectorInfo) + sizeof(OFbkImageInfo)*IMG_LAYERS + IMG_SIZE*(sprev); \ + info->dataOffset = sizeof(ODataVectorInfo) + sizeof(OFbkImageInfo)*IMG_LAYERS + (sprev); \ } /** read camera images and forward them to the observers */ static void* process_images(void*) { FILE **fp = &socketList[IMAGE].fp_client; - const size_t data_size = sizeof(OFbkImageVectorData) + sizeof(OFbkImageInfo)*IMG_LAYERS + (1.0+1.0/4.0+1.0/16.0+1.0)*IMG_SIZE; + const size_t data_size = sizeof(OFbkImageVectorData) + sizeof(OFbkImageInfo)*IMG_LAYERS + (IMG_SIZE+IMG_SIZE/4+IMG_SIZE/16+IMG_SIZE); OFbkImageVectorData *data; BLOCK_SIGNALS() @@ -468,9 +468,9 @@ FILL_INFO(ofbkimageLAYER_H, 1, 0) - FILL_INFO(ofbkimageLAYER_M, 2, 1) - FILL_INFO(ofbkimageLAYER_L, 4, 1.0+1.0/4.0) - FILL_INFO(ofbkimageLAYER_C, 1, 1.0+1.0/4.0+1.0/16.0) + FILL_INFO(ofbkimageLAYER_M, 2, IMG_SIZE) + FILL_INFO(ofbkimageLAYER_L, 4, IMG_SIZE+IMG_SIZE/4) + FILL_INFO(ofbkimageLAYER_C, 1, IMG_SIZE+IMG_SIZE/4+IMG_SIZE/16) while (true) { if (!*fp) { |
|
From: Nuno L. <nun...@us...> - 2007-04-27 10:29:28
|
Update of /cvsroot/opensdk/openSDK/src In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv4545 Modified Files: DataManager.cc Log Message: implement DataManager (not yet used internally) Index: DataManager.cc =================================================================== RCS file: /cvsroot/opensdk/openSDK/src/DataManager.cc,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- DataManager.cc 26 Jan 2007 23:12:05 -0000 1.2 +++ DataManager.cc 27 Apr 2007 10:28:42 -0000 1.3 @@ -23,10 +23,71 @@ DataManager::DataManager() { - //TODO + // do nothing } + DataManager::~DataManager() { - //TODO + ClearAll(); +} + + +void DataManager::Register(const SubjectID& subject, RCRegion *myRCR, RCRegion *srcRCR) +{ + dataInfo_.push_back(DataInfo(subject, myRCR, srcRCR)); +} + + + void DataManager::InitUnregistration() +{ + // do nothing +} + + +DataInfo DataManager::Unregister(const SubjectID& subject) +{ + DataInfo info; + + for (list<DataInfo>::iterator it = dataInfo_.begin(); it != dataInfo_.end(); ) { + if ((*it).subject == subject) { + info = (*it); + (*it).myRCRegion->RemoveReference(); + it = dataInfo_.erase(it); + } else { + ++it; + } + } + + return info; +} + + +void DataManager::Clear(const SubjectID& subject) +{ + for (list<DataInfo>::iterator it = dataInfo_.begin(); it != dataInfo_.end(); ) { + if ((*it).subject == subject) { + it = dataInfo_.erase(it); + } else { + ++it; + } + } +} + + +void DataManager::ClearAll() +{ + dataInfo_.clear(); +} + + +SubjectID DataManager::FindSender(RCRegion *ptr) const +{ + for (list<DataInfo>::const_iterator it = dataInfo_.begin(); it != dataInfo_.end(); ++it) { + if ((*it).srcRCRegion == ptr) { + return (*it).subject; + } + } + + return SubjectID(); } |
|
From: Nuno L. <nun...@us...> - 2007-04-25 18:47:30
|
Update of /cvsroot/opensdk/openSDK/src In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv8532/src Modified Files: antEnvBaseMsg.cc Log Message: 2nd try to make it compile on cygwin Index: antEnvBaseMsg.cc =================================================================== RCS file: /cvsroot/opensdk/openSDK/src/antEnvBaseMsg.cc,v retrieving revision 1.22 retrieving revision 1.23 diff -u -d -r1.22 -r1.23 --- antEnvBaseMsg.cc 22 Apr 2007 14:55:11 -0000 1.22 +++ antEnvBaseMsg.cc 25 Apr 2007 18:46:46 -0000 1.23 @@ -955,9 +955,11 @@ static DNSEndpointError DNS_error(int error) { switch (error) { +#ifndef __CYGWIN__ case EAI_AGAIN: return DNS_TRY_AGAIN; case EAI_NODATA: return DNS_NO_DATA; - default: printf("DNSerror::%d\n", error);return DNS_FAIL; +#endif + default: return DNS_FAIL; } } @@ -967,6 +969,7 @@ OpenSdkEndpointInfo *osei = (OpenSdkEndpointInfo*)arg; DNSEndpointGetHostByNameMsg *msg = (DNSEndpointGetHostByNameMsg*)osei->msg; +#ifndef __CYGWIN__ struct addrinfo *res; struct addrinfo hints; memset(&hints, 0, sizeof(hints)); @@ -974,6 +977,9 @@ hints.ai_family = AF_INET; // we only support IPv4 for now int ret = getaddrinfo(osei->hostname, NULL, &hints, &res); +#else + int ret = -1; +#endif free(osei->hostname); if (ret != 0) { @@ -982,6 +988,7 @@ msg->n_alias = 0; } else { +#ifndef __CYGWIN__ msg->error = DNS_SUCCESS; unsigned int count = 0; @@ -996,6 +1003,7 @@ msg->n_address = count; msg->n_alias = 0; +#endif } _sendMessage(osei->entry, msg); |
|
From: Nuno L. <nun...@us...> - 2007-04-25 18:47:27
|
Update of /cvsroot/opensdk/openSDK/loader In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv8532/loader Modified Files: main.cc Log Message: 2nd try to make it compile on cygwin Index: main.cc =================================================================== RCS file: /cvsroot/opensdk/openSDK/loader/main.cc,v retrieving revision 1.53 retrieving revision 1.54 diff -u -d -r1.53 -r1.54 --- main.cc 6 Apr 2007 12:20:36 -0000 1.53 +++ main.cc 25 Apr 2007 18:46:45 -0000 1.54 @@ -97,7 +97,10 @@ /** load a module to memory and create a thread for it */ static bool load_module(const char* name) { - const int dlopen_flags = RTLD_LAZY | RTLD_LOCAL + const int dlopen_flags = RTLD_LAZY +#ifdef RTLD_LOCAL + | RTLD_LOCAL +#endif #ifdef RTLD_DEEPBIND | RTLD_DEEPBIND #endif |
|
From: Nuno L. <nun...@us...> - 2007-04-25 15:43:11
|
Update of /cvsroot/opensdk/openSDK/src In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv32304 Modified Files: RCRegion.cc Log Message: fix build with gcc 3.3 and possibily gcc 4.0 on MacOS ;) Index: RCRegion.cc =================================================================== RCS file: /cvsroot/opensdk/openSDK/src/RCRegion.cc,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- RCRegion.cc 26 Jan 2007 23:12:05 -0000 1.8 +++ RCRegion.cc 25 Apr 2007 15:43:10 -0000 1.9 @@ -103,12 +103,12 @@ size_ = size; } -static void* RCRegion::operator new(size_t size) +void* RCRegion::operator new(size_t size) { return ::new RCRegion; } -static void RCRegion::operator delete(void* ptr, size_t size) +void RCRegion::operator delete(void* ptr, size_t size) { ::delete (RCRegion*)ptr; } |
|
From: Nuno L. <nun...@us...> - 2007-04-25 10:33:23
|
Update of /cvsroot/opensdk/openSDK/src In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv5990/src Modified Files: Platform.h Log Message: fix ERS-7 image resolution Index: Platform.h =================================================================== RCS file: /cvsroot/opensdk/openSDK/src/Platform.h,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- Platform.h 25 Mar 2007 12:58:16 -0000 1.12 +++ Platform.h 25 Apr 2007 10:33:21 -0000 1.13 @@ -60,8 +60,14 @@ #endif // camera image definitions +#ifdef ERS220 const unsigned int IMG_WIDTH = 176; const unsigned int IMG_HEIGHT = 144; +#else +const unsigned int IMG_WIDTH = 208; +const unsigned int IMG_HEIGHT = 160; +#endif + const unsigned int IMG_SIZE = (IMG_WIDTH * IMG_HEIGHT * 3); const unsigned int IMG_LAYERS = 4; |
|
From: Nuno L. <nun...@us...> - 2007-04-25 10:33:23
|
Update of /cvsroot/opensdk/openSDK/loader In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv5990/loader Modified Files: OVirtualRobotComm.cc Log Message: fix ERS-7 image resolution Index: OVirtualRobotComm.cc =================================================================== RCS file: /cvsroot/opensdk/openSDK/loader/OVirtualRobotComm.cc,v retrieving revision 1.25 retrieving revision 1.26 diff -u -d -r1.25 -r1.26 --- OVirtualRobotComm.cc 6 Apr 2007 17:19:29 -0000 1.25 +++ OVirtualRobotComm.cc 25 Apr 2007 10:33:20 -0000 1.26 @@ -457,7 +457,7 @@ static void* process_images(void*) { FILE **fp = &socketList[IMAGE].fp_client; - const size_t data_size = sizeof(OFbkImageVectorData) + sizeof(OFbkImageInfo)*IMG_LAYERS + 99792 /* (1+1/4+1/16+1)*IMG_SIZE */; + const size_t data_size = sizeof(OFbkImageVectorData) + sizeof(OFbkImageInfo)*IMG_LAYERS + (1.0+1.0/4.0+1.0/16.0+1.0)*IMG_SIZE; OFbkImageVectorData *data; BLOCK_SIGNALS() @@ -469,8 +469,8 @@ FILL_INFO(ofbkimageLAYER_H, 1, 0) FILL_INFO(ofbkimageLAYER_M, 2, 1) - FILL_INFO(ofbkimageLAYER_L, 4, 1.25 /*1+1/4*/) - FILL_INFO(ofbkimageLAYER_C, 1, 1.3125 /*1+1/4+1/16*/) + FILL_INFO(ofbkimageLAYER_L, 4, 1.0+1.0/4.0) + FILL_INFO(ofbkimageLAYER_C, 1, 1.0+1.0/4.0+1.0/16.0) while (true) { if (!*fp) { |
|
From: Nuno L. <nun...@us...> - 2007-04-24 16:38:46
|
Update of /cvsroot/opensdk/openSDK/root/OPEN_R/bin In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv31928 Modified Files: stubgen2 Log Message: typo: include missing header Index: stubgen2 =================================================================== RCS file: /cvsroot/opensdk/openSDK/root/OPEN_R/bin/stubgen2,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -r1.16 -r1.17 --- stubgen2 24 Apr 2007 16:33:00 -0000 1.16 +++ stubgen2 24 Apr 2007 16:38:03 -0000 1.17 @@ -394,6 +394,7 @@ #include <OPENR/OSyslog.h> #include <ObjectEntryTable.h> #include <OPENR/stub_macro.h> +#include <MCOOP/antEnvMsg.h> #include <pthread.h> #include <semaphore.h> #include <queue> |
|
From: Nuno L. <nun...@us...> - 2007-04-24 16:33:59
|
Update of /cvsroot/opensdk/openSDK/root/OPEN_R/bin In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv29764 Modified Files: stubgen2 Log Message: fix severe memory leaks, specially when receiving Notify messages (observers) Index: stubgen2 =================================================================== RCS file: /cvsroot/opensdk/openSDK/root/OPEN_R/bin/stubgen2,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- stubgen2 2 Mar 2007 21:43:48 -0000 1.15 +++ stubgen2 24 Apr 2007 16:33:00 -0000 1.16 @@ -582,7 +582,18 @@ struct message m = MOD_DATA(queue).front(); MOD_DATA(queue).pop(); symbol_table[m.entry.GetSelector()](m.msg); - delete m.msg; // see note below + + OControlMessage *msg = (OControlMessage*)m.msg; + if (msg->msgType == omsgCONTROL) { + delete msg; + } else if (msg->msgType == omsgCONNECT) { + delete (OConnectMessage*)m.msg; + } else if (msg->msgType == omsgREADY_V22) { + delete (OReadyMessage*)m.msg; + } else { + OSYSLOG1((osyslogERROR, "unexpected message type (1st processor): %d. please report this to the openSDK developers", msg->msgType)); + // shouldn't happen.. + } } pthread_mutex_unlock(&MOD_DATA(queue_mutex)); @@ -612,10 +623,23 @@ pthread_mutex_unlock(&MOD_DATA(queue_mutex)); symbol_table[m.entry.GetSelector()](m.msg); - // deleting a void* pointer isn't usually a good idea, but this seems to be - // the only place where we can free the messages. as the structs don't have - // destructors, this is not a real problem. - delete m.msg; + + ONotifyMessage *msg = (ONotifyMessage*)m.msg; + if (msg->msgType == omsgNOTIFY_V22) { + size_t n = (size_t)msg->numOfData; + for (size_t i=0; i < n; ++i) { + msg->data[i].srcRCR->RemoveReference(); + } + delete msg; + } else if (msg->msgType == omsgREADY_V22) { + delete (OReadyMessage*)m.msg; + } else if (msg->msgType == omsgPOWER_STATUS) { + delete (OPowerStatusMessage*)m.msg; + } else { + //OSYSLOG1((osyslogERROR, "unexpected message type (2nd processor): %d. please report this to the openSDK developers", msg->msgType)); + // default to antEnvMsg, because we can't identify it (no msgType property) + delete (antEnvMsg*)m.msg; + } } MOD_DATA(exited) = true; |
|
From: Nuno L. <nun...@us...> - 2007-04-22 14:55:13
|
Update of /cvsroot/opensdk/openSDK/src In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv6979 Modified Files: OpenSdkEndpointInfo.cc antEnvBaseMsg.cc Log Message: when doing UDP operation, copy the OpenSdkEndpointInfo structure, so that multiple send/receive operations dont overwrite each other data. the same thing might be needed for TCP connections.. Index: OpenSdkEndpointInfo.cc =================================================================== RCS file: /cvsroot/opensdk/openSDK/src/OpenSdkEndpointInfo.cc,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- OpenSdkEndpointInfo.cc 22 Apr 2007 14:34:17 -0000 1.8 +++ OpenSdkEndpointInfo.cc 22 Apr 2007 14:55:11 -0000 1.9 @@ -44,6 +44,8 @@ OpenSdkEndpointInfo::~OpenSdkEndpointInfo() { + /* for now let the OS handle this if (socket > 0) close(socket); if (server_socket > 0) close(server_socket); + */ } Index: antEnvBaseMsg.cc =================================================================== RCS file: /cvsroot/opensdk/openSDK/src/antEnvBaseMsg.cc,v retrieving revision 1.21 retrieving revision 1.22 diff -u -d -r1.21 -r1.22 --- antEnvBaseMsg.cc 18 Mar 2007 12:50:19 -0000 1.21 +++ antEnvBaseMsg.cc 22 Apr 2007 14:55:11 -0000 1.22 @@ -397,6 +397,8 @@ return ANT_FAIL; } + osei = new OpenSdkEndpointInfo(*osei); + osei->buffer = sendMsg->buffer; osei->size = sendMsg->size; osei->msg = new UDPEndpointSendMsg(*sendMsg); @@ -421,6 +423,8 @@ return ANT_FAIL; } + osei = new OpenSdkEndpointInfo(*osei); + osei->buffer = receiveMsg->buffer; osei->size = receiveMsg->size; osei->msg = new UDPEndpointReceiveMsg(*receiveMsg); @@ -445,6 +449,7 @@ return ANT_FAIL; } + osei = new OpenSdkEndpointInfo(*osei); osei->msg = new UDPEndpointCloseMsg(*closeMsg); if (OpenSdkThread::runFunction(udpCloseThreadFunc, osei) == 0) { @@ -471,9 +476,8 @@ { DNSEndpointGetHostByNameMsg *msg = (DNSEndpointGetHostByNameMsg*)this; - osei->msg = new DNSEndpointGetHostByNameMsg(*msg); - - strncpy(osei->hostname, msg->name, MAXDNAME); + osei->msg = new DNSEndpointGetHostByNameMsg(*msg); + osei->hostname = strdup(msg->name); if (OpenSdkThread::runFunction(dnsGetHostByNameThreadFunc, osei) == 0) { msg->error = DNS_SUCCESS; @@ -486,6 +490,12 @@ } break; + case DNSEndpoint_Operation_Close: + { + // do nothing + } + break; + default: OSYSLOG1((osyslogERROR, "antEnvMsg::Send: Invalid DNS message type (%d)", this->dstOperation)); } @@ -889,6 +899,7 @@ _sendMessage(osei->entry, receiveMsg); + delete osei; return NULL; } @@ -918,6 +929,7 @@ _sendMessage(osei->entry, sendMsg); + delete osei; return NULL; } @@ -935,6 +947,7 @@ _sendMessage(osei->entry, closeMsg); + delete osei; return NULL; } @@ -961,6 +974,7 @@ hints.ai_family = AF_INET; // we only support IPv4 for now int ret = getaddrinfo(osei->hostname, NULL, &hints, &res); + free(osei->hostname); if (ret != 0) { msg->error = DNS_error(ret); |
|
From: Nuno L. <nun...@us...> - 2007-04-22 14:34:18
|
Update of /cvsroot/opensdk/openSDK/src In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv31310 Modified Files: OpenSdkEndpointInfo.cc OpenSdkEndpointInfo.h Log Message: add copy-constructor Index: OpenSdkEndpointInfo.cc =================================================================== RCS file: /cvsroot/opensdk/openSDK/src/OpenSdkEndpointInfo.cc,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- OpenSdkEndpointInfo.cc 9 Mar 2007 18:24:34 -0000 1.7 +++ OpenSdkEndpointInfo.cc 22 Apr 2007 14:34:17 -0000 1.8 @@ -28,6 +28,20 @@ server_socket = NO_SOCKET; } +OpenSdkEndpointInfo::OpenSdkEndpointInfo(OpenSdkEndpointInfo& osei) +{ + msg = osei.msg; + entry = osei.entry; + server_socket = osei.server_socket; + socket = osei.socket; + buffer = osei.buffer; + size = osei.size; + port = osei.port; + ip = osei.ip; + listen_mutex = osei.listen_mutex; + hostname = osei.hostname; +} + OpenSdkEndpointInfo::~OpenSdkEndpointInfo() { if (socket > 0) close(socket); Index: OpenSdkEndpointInfo.h =================================================================== RCS file: /cvsroot/opensdk/openSDK/src/OpenSdkEndpointInfo.h,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- OpenSdkEndpointInfo.h 10 Mar 2007 00:44:30 -0000 1.9 +++ OpenSdkEndpointInfo.h 22 Apr 2007 14:34:17 -0000 1.10 @@ -37,6 +37,7 @@ public: OpenSdkEndpointInfo(); + OpenSdkEndpointInfo(OpenSdkEndpointInfo&); ~OpenSdkEndpointInfo(); enum State { @@ -65,7 +66,7 @@ pthread_mutex_t *listen_mutex; // dns name resolving - char hostname[MAXDNAME]; + char *hostname; }; |
|
From: Nuno L. <nun...@us...> - 2007-04-22 14:27:47
|
Update of /cvsroot/opensdk/openSDK/servers/usarsim In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv28541 Modified Files: main.cc Log Message: use TCP_NODELAY on USARSim sockets, to allow a more real-time communications of the joint changes Index: main.cc =================================================================== RCS file: /cvsroot/opensdk/openSDK/servers/usarsim/main.cc,v retrieving revision 1.23 retrieving revision 1.24 diff -u -d -r1.23 -r1.24 --- main.cc 4 Apr 2007 17:57:43 -0000 1.23 +++ main.cc 22 Apr 2007 14:27:45 -0000 1.24 @@ -32,6 +32,7 @@ #include <sys/socket.h> #include <sys/un.h> #include <arpa/inet.h> +#include <netinet/tcp.h> #include <pthread.h> #include <signal.h> #include "config.h" @@ -122,6 +123,14 @@ fwrite(buffer, ret, 1, stdout); } +#if defined(TCP_NODELAY) && defined(IPPROTO_TCP) + // disable buffering of joint actions (creates more packets, but improves sense of realism) + const int opt = 1; + if (setsockopt(*sock, IPPROTO_TCP, TCP_NODELAY, &opt, sizeof(opt)) < 0) { + perror("could not set TCP_NODELAY"); + } +#endif + return true; } |
|
From: Nuno L. <nun...@us...> - 2007-04-22 09:26:38
|
Update of /cvsroot/opensdk/openSDK/servers/usarsim In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv27134 Modified Files: images.cc Log Message: kill: images.cc:58: warning: unused variable 'nw' Index: images.cc =================================================================== RCS file: /cvsroot/opensdk/openSDK/servers/usarsim/images.cc,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- images.cc 4 Apr 2007 17:49:15 -0000 1.7 +++ images.cc 22 Apr 2007 09:26:13 -0000 1.8 @@ -55,7 +55,6 @@ byte *outCr ) { size_t i, j, x; - size_t nw = width / factor; for (i = x = 0; i < height; i+=factor) { for (j = 0; j < width; j+=factor, x++) { |
|
From: Nuno L. <nun...@us...> - 2007-04-06 17:19:31
|
Update of /cvsroot/opensdk/openSDK/loader In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv4928 Modified Files: OVirtualRobotComm.cc Log Message: workaround for gcc limitations: use the numeric constants instead of a long expression that resulted in loss of precision, thus breaking the images Index: OVirtualRobotComm.cc =================================================================== RCS file: /cvsroot/opensdk/openSDK/loader/OVirtualRobotComm.cc,v retrieving revision 1.24 retrieving revision 1.25 diff -u -d -r1.24 -r1.25 --- OVirtualRobotComm.cc 6 Apr 2007 16:44:05 -0000 1.24 +++ OVirtualRobotComm.cc 6 Apr 2007 17:19:29 -0000 1.25 @@ -457,7 +457,7 @@ static void* process_images(void*) { FILE **fp = &socketList[IMAGE].fp_client; - const size_t data_size = sizeof(OFbkImageVectorData) + sizeof(OFbkImageInfo)*IMG_LAYERS + (1+1/4+1/16+1)*IMG_SIZE; + const size_t data_size = sizeof(OFbkImageVectorData) + sizeof(OFbkImageInfo)*IMG_LAYERS + 99792 /* (1+1/4+1/16+1)*IMG_SIZE */; OFbkImageVectorData *data; BLOCK_SIGNALS() @@ -469,8 +469,8 @@ FILL_INFO(ofbkimageLAYER_H, 1, 0) FILL_INFO(ofbkimageLAYER_M, 2, 1) - FILL_INFO(ofbkimageLAYER_L, 4, 1+1/4) - FILL_INFO(ofbkimageLAYER_C, 1, 1+1/4+1/16) + FILL_INFO(ofbkimageLAYER_L, 4, 1.25 /*1+1/4*/) + FILL_INFO(ofbkimageLAYER_C, 1, 1.3125 /*1+1/4+1/16*/) while (true) { if (!*fp) { |
|
From: Nuno L. <nun...@us...> - 2007-04-06 16:44:11
|
Update of /cvsroot/opensdk/openSDK/loader In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv22505 Modified Files: OVirtualRobotComm.cc Log Message: fill in image type (and fix the ImageObserver's LAYER_H.RAW image) Index: OVirtualRobotComm.cc =================================================================== RCS file: /cvsroot/opensdk/openSDK/loader/OVirtualRobotComm.cc,v retrieving revision 1.23 retrieving revision 1.24 diff -u -d -r1.23 -r1.24 --- OVirtualRobotComm.cc 4 Apr 2007 17:57:43 -0000 1.23 +++ OVirtualRobotComm.cc 6 Apr 2007 16:44:05 -0000 1.24 @@ -446,6 +446,7 @@ { \ OFbkImageInfo *info = data->GetInfo(idx); \ info->primitiveID = 18; \ + info->type = odataFBK_YCrCb; \ info->dataSize = IMG_SIZE/((s)*(s)); \ info->width = IMG_WIDTH/(s); \ info->height = IMG_HEIGHT/(s); \ |
|
From: Nuno L. <nun...@us...> - 2007-04-06 16:03:38
|
Update of /cvsroot/opensdk/website In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv6033 Modified Files: usarsim-tutorial.php Log Message: add link to the image server download Index: usarsim-tutorial.php =================================================================== RCS file: /cvsroot/opensdk/website/usarsim-tutorial.php,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- usarsim-tutorial.php 6 Apr 2007 15:31:35 -0000 1.1 +++ usarsim-tutorial.php 6 Apr 2007 16:03:36 -0000 1.2 @@ -24,7 +24,8 @@ <h2>3. The Image Server</h2> <p>One of the openSDK+USARSim integration features is live image feeding from the simulator. For using this feature -you need to download the Image Server for USARSim-Aibo edition. After downloading the zip file, extract its contents +you need to download the Image Server for USARSim-Aibo edition. After downloading the zip file from +<a href="http://sourceforge.net/project/showfiles.php?group_id=162716&package_id=227284">here</a>, extract its contents to a folder. No installation is necessary.</p> <p>To run the image server, just launch the 'Release\ImageSrv.exe' program and click on Start. However this is not enough. Then you need to click on the 'Show UT' button. This will show you a little window with the image that the robot will see. |
|
From: Nuno L. <nun...@us...> - 2007-04-06 15:31:36
|
Update of /cvsroot/opensdk/website In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv25482 Added Files: usarsim-robot-camera.jpg usarsim-tutorial.php Log Message: more documentation :) --- NEW FILE: usarsim-robot-camera.jpg --- (This appears to be a binary file; contents omitted.) --- NEW FILE: usarsim-tutorial.php --- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <!-- $Revision: 1.1 $ --> <head> <title>Tutorial: running openSDK with USARSim simulator</title> </head> <body> <h1 style="text-align:center">Tutorial: running openSDK with USARSim simulator</h1> <p>Here we describe the steps to run openSDK and USARSim along. You'll need two separate computers for the job (or a virtual machine): one with linux to run openSDK and another with Windows to run USARSim. They should also have a fast network connection between them, to allow a more realistic simulation environment.</p> <h2>1. Compiling the Source Code</h2> <p>The first thing to do after installing openSDK and USARSim is to compile your own source code using the openSDK toolchain. This is a simple process and shouldn't require any change to the build process other than. changing the OPEN-R SDK root. If you are using the Sony style makefiles, you just need to run 'make clean' and then run 'make OPENRSDK_ROOT=/path/to/openSDK/root install'.</p> <h2>2. Starting the Simulator</h2> <p>The second thing to care about is the USARSim simulator. It runs on top of Unreal Tournament 2004, so you'll need a license to run the simulator. To launch the simulator go to the Start menu then Programs -> USARSim -> Maps -> DM-spqrSoccer2006 (for example) -> Run-Server. It will open a console, which you can minimize.</p> <h2>3. The Image Server</h2> <p>One of the openSDK+USARSim integration features is live image feeding from the simulator. For using this feature you need to download the Image Server for USARSim-Aibo edition. After downloading the zip file, extract its contents to a folder. No installation is necessary.</p> <p>To run the image server, just launch the 'Release\ImageSrv.exe' program and click on Start. However this is not enough. Then you need to click on the 'Show UT' button. This will show you a little window with the image that the robot will see. When the robot appears (after you launch your program) you'll need to click on the window with the left button of the mouse until it appears the image from the robot camera. Example:</p> <p><img src="usarsim-robot-camera.jpg"></p> <h2>4. The openSDK/USARSim connector</h2> <p>Now turn back to the linux computer and open a console. then run:</p> <pre> cd /path/to/openSDK/servers/usarsim # if you haven't build it already make # see the available options ./USARSimServer --help # typical run ./USARSimServer --usarsim-host=ip-of-the-usarsim-machine /path/to/the/MS/dir </pre> <h2>5. Launching your Program</h2> <p>Finally you are ready to launch your program! To launch it, open another console and type something like:</p> <pre> cd /path/to/openSDK ./OPENRloader /path/to/the/MS/dir </pre> <p>After pressing enter it should start your program. If it is the first time you are running it in other platform than AIBO, it is very probable that the program will crash, due to some hidden bug your program might have that was uncovered by some CPU/OS pikiness. In the case you think it's a bug in openSDK, please report it in our <a href="http://sourceforge.net/tracker/?func=add&group_id=162716&atid=824886">Bug Tracker</a>.</p> <p>To stop the program just hit Ctrl-C and it will start the shutdown procedures. The openSDK/USARSim connector will be also shutdown. You'll have to start it again in the case you want to run your program again (and before you start the OPENRloader).</p> <p> </p> <p style="font-size:smaller">AIBO and OPEN-R are a trademark or a registered trademark of Sony Corporation.</p> </body> </html> |