okay, things are starting to get there...here is a quick rundown on how to set things up: ************** Programs ********************************* bin/soccer -- this is the main soccer program. You can specify tactics on the command line. This runs on mollusk bin/gui -- pretty obvious bin/vtest -- used to test what vision is doing off-line using log files bin/robot -- this is the robot server. It runs on platini and should be started first bin/xdriver -- run from a client. This allows you to control the robot remotely bin/extract* -- extract ppm images from log files bin/displaylog -- just display a vision log All config files are in ./config ***************** Running the code ************************** - ssh into platini via mollusk - set environment variable SEGWAYCONFIG to point to the config directory - run ./bin/robot without params. (if the test warning comes up then change TESTMODE in settings.cfg to 0) - ssh into mollusk - set SEGWAYCONFIG variable - run ./bin/soccer Useful switches are -t "tactic string goes here" to run a tactic (currently only chaseball does anything) -c to capture a file - from you machine, set SEGWAYCONFIG and run the gui with ./bin/gui -R Rmemeber -h always lists the command line options if you are unsure. ***************** Details *********************************** Robot Server - this runs on platini - segway.cfg has most of its settings - it uses TESTMODE specified in settings.cfg to determine if it will actually drive hte robot. So during testing put TESTMODE=1 and nothing will happen. TESTMODE=0 for the robot to run around. You will get a warning message when started in testmode. Soccer - runs on mollusk - it uses TESTMODE specified in settings.cfg to determine if it captures vision and tries to talk to a robot server. So during testing put TESTMODE=1 and ytou can run anywhere. TESTMODE=0 for the robot to run around. You will get a warning message when started in testmode. You can capture vision logs while you run with -c You can play back from a vision log in testmode with -l The capture/playback rates are controlled byllogging.cfg, with the variable LOG_IMAGE_RATE, specified in Hertz. XDriver - this is the same as the smallsize xdrive program. Just start it, with -S to tell it where to connect to. It will then override the soccer program. Soccer can listen to what it sends though, which will be useful for learning/teaching. GUI - this is currently pretty poor, but you can see what hte robot sees (raw vision), and it draws some crosses for the ball and blue bins. *************** Code structure ******************************** The code is still morphing, but the main structure is: - soccer - contains tactics/soccer program/strategy/robotcontrol - worldmodel - contains the world model and tracking system - segway - robot server, segway canbus code - gui - you guessed it... - vision - contains al lthe vision code - cmvision - contains the cmvision library - iface - debug client/server and network structures - logging - all logging utilities. This is still being worked on. - config - all config files - client-utils - utilities for testing. vtest is here, some of hte display programs are here - segway-utils - utilities for hte segway - include - major constants and not much else - shared - shared directory with smallsize/dogs/calo - libgui - gui library files - lib - all libraries end up here ************** Soccer Code *********************************** We now have a world model that gives relative positions of the ball and any boxes the robot sees. There is no real tracking for this yet so it is noisy. There is one tactic "chaseball", this currently drives towards the ball and that is about it.