Problems with latest RobotControl? combined with bremen-deployments. The names of the behavior options have changed, so RobotControl? changes Behavior Control from DT2005-soccer to Disabled.
Recorded logfile with Medium Speed and High Gain. Do not know which settings are used during the game. Tried to improve the colortable, but result was not convincing.
Solved problem with copy-update.bash. This script didn't work, because the meaning of 'ls --full-time' has changed between version 4.1 and 5.2.1. Solution was to explicitly specify the format with 'ls -l --time-style=+%a%t%b%t%y%t%T%t%Y' See 'man date' for meaning of FORMAT for --time-style. This trick is not backwards compatible, the option time-style doesn't exist for version 4.1.
5 September 2006
Solved linker problems with jpeglib.h. jpeglib.h expects int function, but calls them boolean. When boolean is defined by Visual Studio as unsigned char, there is a problem. Solved by double declarations with #ifdef HAVE_BOOLEAN. Not nice, but it works. Nice solution would be to look for more recent Src/Tools/jpeglib than the version JPEG_LIB_VERSION 62 (6b) by Thomas G. Lane from 1998.
The other linker problems is related the iterator of mystring used in sim3DFile.cpp. The SCANNER defined in this file is used in src\simrob95\simrobot\SensorClasses.h and src\simrob95\simrobot\BasicGraphics.h. NextSymbol is heavily used in SensorClasses.cpp. Also BACKUP is heavily used. Changed in C/C++ -> General -> Compile with Common Language Runtime support to /clr:oldsyntax. Had to change C/C++ -> Code Generation -> Runtime Library from /MT to /MD and Code Generation -> Enable C++ Exceptions from /EHsc to No. Result is linker errors in MSVCMRT.lib(mstartup.obj).
That was the solution!. libcmt.lib was missing in the addtional libraries. Only libcmt and libcmtd have to be ignored/added, the other conficlts can be solved by adding /FORCE:MULTIPLE to the command-line of the linker (and INCREMENTAL is ignored). Solving without /FORCE:MULTIPLE because the conflict between msvcprtd.lib and libcpmtd.lib was two-sided.
Defined in VC\PlatformSDK\Include\RpcNdr.h(147):typedef unsigned char boolean;, called in Platform dependent GTassert.h
Solution, changed protection HAVE_BOOLEAN to _HYPER_DEFINED, which is a constant defined in NpcNdr.h
Everything works. Start Robocontrol and look if I can make a working memorystick. Problems with both write snapshot and write to stick. To be solved by Jurgen.
Tested on Visual C++ 6.0 environment. Multiple loop-variable definitions didn't work there, so I had to define them old-fashioned at the beginning of the block (works in both versions). Commited changes on trunk as revision 311.
4 September 2006
pc-unreal is back in the office. Installed the code from http://www.dutchaiboteam.nl/robocup/robocup2006/ on D:. pc-unreal has Visual Studio Version 8 installed. The project DT2004 fails two times:
d:\dt2006\src\depend\depend.cpp(977) : error C2440: '=' : cannot convert from 'const char *' to 'char *'. Conversion loses qualifiers
Solved both problems. Depend has linker problems, but that is known from 13 March 2006. Project DT2004 successfull made.
change Depend -> project -> properties -> General -> UseMFC? from StandardWindows? to SharedMFC?.
d:\dt2006\src\depend\depend.cpp(977) : when both arguments are const char, strstr returns a const char. Added explicit cast (char *) to first argument.
.\UniversalResourceCompiler.cpp(516) : Added int to first loop-declarion of j at two places..
Project RobotControl fails three times (SimRobotForRobotControl, SimRobotForRobotControlStaticLink, SimRobotForRobotControl).
Added _CRT_SECURE_NO_DEPRECATE to project -> C/C++ -> preprocessor -> preprocessor definition to get rid of all warnings about string.h.
Ignored default-int error by adding /wd4430 to project -> C/C++ -> Advanced -> Disable specific warnings
Error 2885 is less easy to avoid. Using declaration of nested type no longer allowed in Visual Studio 8. This change was made for conformance reasons, to make code more portable. To resolve fully qualify references to nested types, put the type in a namespace, or create a typedef. Instead, I changed all references to an explicit reference.
** BSCMAKE: error BK1506 : cannot open file '..\build\robotcontrol\cmdrelease\DebugDrawingManager.sbr
** <nowiki>..\Src\Modules\ImageProcessor\ImageProcessorTools\SUSANEdgeDetectionLite.cpp(23) : error C2668: 'pow' : ambiguous call to overloaded function.
Added explicit cast to double to first argument (double)(-pow((double )((k-126)<<1)/threshold).
d:\dt2006\src\platform\Win32/ProcessFramework.h(198) : error C3867: 'ProcessBase::main': function call missing argument list; use '&ProcessBase::main' to create a pointer to member
Added &ProcessBase:: before second argument void start() {Thread<ProcessBase>::start(this,&ProcessBase::main);}
Remaining error is UINT OnNcHitTest vs LRESULT OnNcHitTest. Check how this is implemented in Visual Studio 5.
Solution is to protect OnNCHitTest with #if _MFC_VER >= 0x0800.
Finally everything compiled, and only 7 link errors left
Linking...
JPEGImage.obj : error LNK2019: unresolved external symbol "unsigned char __cdecl jpeg_finish_decompress(struct jpeg_decompress_struct *)" (?jpeg_finish_decompress@@YAEPAUjpeg_decompress_struct@@@Z) referenced in function "public: void __thiscall JPEGImage::toImage(class Image &)const " (?toImage@JPEGImage@@QBEXAAVImage@@@Z)
JPEGImage.obj : error LNK2019: unresolved external symbol "unsigned char __cdecl jpeg_start_decompress(struct jpeg_decompress_struct *)" (?jpeg_start_decompress@@YAEPAUjpeg_decompress_struct@@@Z) referenced in function "public: void __thiscall JPEGImage::toImage(class Image &)const " (?toImage@JPEGImage@@QBEXAAVImage@@@Z)
JPEGImage.obj : error LNK2019: unresolved external symbol "int __cdecl jpeg_read_header(struct jpeg_decompress_struct *,unsigned char)" (?jpeg_read_header@@YAHPAUjpeg_decompress_struct@@E@Z) referenced in function "public: void __thiscall JPEGImage::toImage(class Image &)const " (?toImage@JPEGImage@@QBEXAAVImage@@@Z)
JPEGImage.obj : error LNK2019: unresolved external symbol "unsigned char __cdecl jpeg_resync_to_restart(struct jpeg_decompress_struct *,int)" (?jpeg_resync_to_restart@@YAEPAUjpeg_decompress_struct@@H@Z) referenced in function "public: void __thiscall JPEGImage::toImage(class Image &)const " (?toImage@JPEGImage@@QBEXAAVImage@@@Z)
JPEGImage.obj : error LNK2019: unresolved external symbol "void __cdecl jpeg_start_compress(struct jpeg_compress_struct *,unsigned char)" (?jpeg_start_compress@@YAXPAUjpeg_compress_struct@@E@Z) referenced in function "public: class JPEGImage & __thiscall JPEGImage::operator=(class Image const &)" (??4JPEGImage@@QAEAAV0@ABVImage@@@Z)
JPEGImage.obj : error LNK2019: unresolved external symbol "void __cdecl jpeg_set_quality(struct jpeg_compress_struct *,int,unsigned char)" (?jpeg_set_quality@@YAXPAUjpeg_compress_struct@@HE@Z) referenced in function "public: class JPEGImage & __thiscall JPEGImage::operator=(class Image const &)" (??4JPEGImage@@QAEAAV0@ABVImage@@@Z)
SimRobotForRobotControlStaticLink.lib(sim3DFile.obj) : error LNK2019: unresolved external symbol __invalid_parameter_noinfo referenced in function "public: char const & __thiscall std::_String_const_iterator<char,struct std::char_traits<char>,class std::allocator<char> >::operator*(void)const " (??D?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEABDXZ)
21 August 2006
Received walk-with-ball.xml, but this file has the same problem as walk-with-ball-x.xml. The problem is that passing-symbols is not defined. I will look at pc-avmovie for in Src\Modules\BehaviorControl\CommonXabsl2Symbols
19 July 2006
Created dt2006_readme.txt
cd bin; ./add_revisions.sh.
cd pc-aibo:e/branches; copydiff DT2006 DT2005-release DT2006-diff
Commited version 309, 117 source-files with DT2006 copyright notion.
18 July 2006
Removed the GT2004 Open Challenge options. 100 key-not-founds at end of xincluded.
Back to v304, and the addition of slam-test. Works, commited to version 305.
Merged Src/Platform from trunk to branches/jurgen. Compiled OK.
Merged Src/RobotControl from trunk to branches/jurgen. Compiles and runs OK.
Merged Src/Tools from trunk to branches/jurgen. Compiles OK.
Merged Src/Representations. Conflicts in Representation/Perception. The Acc variant has setColorTable and detectBeacon, jurgens variant has normalize. Also updated GT2004Symbols/SLAMsymbols. Additonal problems with beacon 1-4 detected. Should also opdate Options\slam-test. 33 errors.
Merged SLAMsymbols and renamed slam-test to slam-test-acc. Compiles!
Merged SelfLocator. Compiles and links!
Added FastPanoramaProcessor. Conflicts about used distance in Clustering and SignatureGenaration. Renamed two classes in ACC, and use rest of FastPanorama. Compiles, links, runs.
Added jurgen's slam-*.xml to agents and options. No problems. Commited to version 306, and slam-test to version 307. Tested on other sandbox. FastPanoramaProcessor was still on branches/jurgen. Included it on version 308.
17 July 2006
Added the ball-passing options. Only the DOAS2006 files gave 87 errors. Checked for the options used, and added soccer-options aproach-ball, turn-for-ball, do-kick and do-special-actions. Result 130 errors. Back to version 300, added slam-options, 44 errors.
Back to version 300, couldn't get validation started. Modified agents and options by removing walk-route, but still no validation. Commited my work, to be tested on another sandbox.
Xabsl showed a number of 'key not founds'. Updated agents and options.xml to version 300, still same problem.
Updated complete BehaviorControl to version 275. Now validating works, only problem with BehaviorControlSelector.h.
Updated complete BehaviorControl to version 286 (just before walk-with-ball problems). Validating still works. Updated BehaviorControlSelector.h to version 303. Now problems with slamsymbols.cpp.
Updated complete BehaviorControl to version 296 (just after adding dribbles). After removing both walk-with-ball options, validating fails with 104 errors. Updated slamsymbols.cpp to version 303. Now problems with slamsymbols.cpp.
Back to version 286, with BehaviorControlSelector.h and slamsymbols.cpp to version 303. Validating succeeds, compiling RobotControl no problems. G2004 no problems.
Updated complete Options-directory to version 303. One key-not-found error in turn-and-kick-exactly, which uses dribble
Back to version 286 for turn-and-kick-exactly. Key-not-found error solved. Updated GT2004BasicBehav, GT2004DTT, PotentialFields and GT2004 to 303. Only slamsymbols.xml is changed. Two key-not-found errors. Problem was the obsolete walk-slam-route. Removed from options and agents.xml. OK.
Two directory up. Updated BehaviorControl, except GT2004BehaviorControl. No problems.
Committed the options and agents.xml without walk-slam-route as version 304. Tested on other sandbox, and seems to work!
13 July 2006
Entidy-Id doesn't give information, because the ID is always zero. Tried PParse.exe directly on agents.xml, but this file was very fast processed without errors. Tried now to get the original SaxParser error by not overriding it in PParseHandlers. Yet, the SaxParser error doesn't print anything.
Tried to merge branches/acc with trunk on pc-aibo:/cygdrive/e/branches/trunk. In principle Dave and Mark only changed Representations/Perception, Modules/BehaviorControl, Modules/ColorTableMod and Modules/ImageProcessing. Yet, their work is build on top of the work of Jurgen, so large part of his code are needed. After some hard work, the RobotControl compiles (with the reduced options and agents.xml).
Note that I removed the 'osaka hack' out of the ImageProcessor, which was a sanity check about flags at the wrong site of the goal. This hack conflicts with the favorite testimage of Dave and Mark: all objects in view..
Also the GT2004 project, compiles. Created trunk-v301-merge-with-acc.tgz and no crashes.
Now only a combined options and agents.xml and we can commit.
12 July 2006
Updated GT2004symbols directory to trunk v300, but still 7 keys not found.
Updated CommonXabsl2Symbols and BehaviorControl to v300, and now Xabsl compiles. Process.h problem still exists, seems to be something with Depend that works with the wrong root-directory.
CommonXabsl2Symbols and GT2004Symbols are mainly changed as result of the Doas 2006 project.
Included slam-* to options.xml. Many keys not found. Updated slam-symbols.xml. Still 1315 key errors.
Back to trunk/options.xml. With updated slam-symbols xabls works. Included slam-autoshutter -> 103 key errors.
Downloaded xerces-c-2_7_0, and build PParse which gives in PParseHandlers.cpp the code to print the error. Modified the method that also the Entity-Id is given.
11 July 2006
Tried to compile pc-aibo:e/branches/DT2005-diff, but xabsl has unresolved keys. Update to version 287 (18 June) of agents.xml didn't help.
Checked out version 260 (13 June) in pc-aibo:e/branches/trunk to verify if this version compiles. It does.
Update to version 280 (16 June). Xabsl2 validating fails.
Update to version 270 (15 June). Xabsl2 validating successful.
Update to version 275 (15 June). Xabsl2 validating successful.
Update to version 278 (16 June). task-version-symbols and math-functions are removed in turn-and-release.xml.
Update to version 279 (16 June). Only change in Selflocator.cpp.
Update to version 280 (16 June). dribble is deleted from options.xml, task-version-symbols is removed from play-soccer.xml, new playing-and-localize.xml is added (but not included in agents.xml). Play-and-localize is called from play-soccer.xml. Adding playing-and-localize to agents.xml solves the problem.
Update to version 285 (17 June). dribble, walk-with-ball and walk-with-ball-x are added to agents.xml, yet this options are not in the update. The only new option is test-run-and-release, which is not in agents or options.xml. Problem of paying-and-localize is solved, although in this version playing-and-localize is added to options instead of agents. Version 285 compiles succesfully, with or without an extra dribble.xml.
Update to version 290 (end June). walk-with-ball-x is now added to options. dribble seems to oscilate. Removed walk-with-ball from agents.xml and passing-symbols from walk-with-ball-x. Still errors, so also removed walk-with-ball-x from agents.xml. Adding dribble doesn't help. Removing walk-with-ball and walk-with-ball-x from options.xml does!
Update to head revision 296 (6 July). Dribble is now officially added, but no changes in walk-with-ball problem. Head revision compiles with modified options.xml and agents.xml.
Committed to version 300.
Back to ried to compile pc-aibo:e/branches/DT2005-diff, an update to version 300 doesn't help. Agents.xml is now the same, options.xml differ a lot.
Using v300 of option.xml reduces the option not found to 26 errors 'The key for identity constraint of element 'option' is not found.'. Options directory is the same, so check GT2004symbols directory for modifications.
6 July 2006
Today a game between the 2006 versus the 2005 code was played. It was not a representative game, because the two goalies didn't boot up (Lewy and Sticky). The 2005 code scored the only goal, which was luck. The 2005 code played in red, and confused the team uniforms with the ball (colortable should be improved). The 2006 code showed the power of the improved localize before you shoot, but failed to translate that in a goal. Also check Src/Tools?/Process?.h(10): error : include file not found: Tools/MessageQueue?/MessageQueue?.h
4 July 2006
Removed three warnings for URC, by creating incremental link in project settings
Removed the dependency on other files than pfc- and xml-files in potential fields makefile
Removed dependency on outputdirs in CommonXabsl2BehaviorControlMakefile
xabsl-project gives key not found errors
GT2004 doesn't generate Cognition.o due to three errors:
e:/branches/DT2005-diff/Src/Modules/BehaviorControl/BehaviorControlSelector.h: In member function `virtual Module* BehaviorControlSelector::createSolution(SolutionRequest::ModuleSolutionID)':
e:/branches/DT2005-diff/Src/Modules/BehaviorControl/BehaviorControlSelector.h(78) : error: `dt2006BehaviorControlAgentBallPassing' is not a member of type `SolutionRequest'