= What is this and how does it work? =
[wiki:wikiIntro Robocup Wiki Introduction]
= Nao Robocup Toolkit DP1 =
[wiki:Nao Nao Robocup Toolkit DP1]
= Getting started =
[wiki:NaoGettingStarted Software Installation]
= Where can I get the code? =
[wiki:SubversionRepository Subversion Repository] (https://192.168.0.200/svn/robocup/trunk/)
At the moment the above address is for the old code for the aibo, we really should be moving it else where.
= The Robocup 2006 (Sony aibos page) =
[wiki:Robocup06 Robocup 2006] - for all the information about the old Sony Aibo platform
= Standard Platform league =
Aledebaran Robotics's [wiki:Nao Nao] has superceeded Sony's Aibo as the new robot for robocup which also got renamed to the Standard Platform League. Some information can be found at [http://www.aldebaran-robotics.com/eng/pageProjetsNao.php]
= Some interesting literature =
* An effective trajectory generation method for bipedal walking (on ScienceDirect)
* Automatic motion generation exploiting the global structure of nonlinear dynamics based on finite-time reachability (also on ScienceDirect)
* Biped Dynamic Walking Using Reinforcement Learning.pdf
* The first few chapters give a good introduction on biped walking and learning.
= Some interesting, but not so useful literature =
* Learning from demonstration and adaptation of biped locomotion.pdf
* Too many mathematical symbols :-).
= Coding/interface/documentation =
* code that requires change I've flagged it by doing:
{{{
// change required
...
// /change required
}}}
* in gps.cc: GPS::resetGaussians() theres a comment that says !FIXME change the interface for this function so that we can also specify the new covariances of the ball vector. Maybe we could change it now.
* this is sort of handled by doing this, where BALLSPEED95CF is 56.25
{{{
void GPS::resetGaussians(double x, double y, double h,
double covX, double covY, double covH,
double dxCov = BALLSPEED95CF, double dyCov = BALLSPEED95CF)
}}}
* double get95CF(double standardDeviation) supposed to give a 95% confident factor of a given std deviation and is defined as
{{{
inline double get95CF(double standardDeviation) {
return SQUARE(standardDeviation) / 4;
}
}}}
* squaring SD gives you variance then divide by 4??? A lot of the usage has been passing the length of the field and HALF_CIRCLE as parameter which isn't even a SD???
* At the moment we keep 2 separate gaussian matrices that seems to store the same information, the shared_gaussian and the world model, maybe its possible to just use 1 and extract a matrix from the world model whenever we want to send our info ti our teammates?
* WorldModelParams doesn't have a single word of documentation, anyone care to find out what it does?
* look as though the first n-1 parameters are factors and the last is a constant
* it semi makes sense because kalman filters are linear recursive estimators, then the linear equation would be c1x1 + c2x2 + ... + c(n-1)x(n-1) + cn, no idea where they got the actual coefficients from though
= Design/ideas =
* Approach?
* modular, layered system with multiple threads doing stuff like vision, networking, thinking?
* modular, single layer system?
* Balancing
* machine learning?
* neural networks?
* tuning it by hand to obtain posture balance seems creditably difficult
* Strategy
* Since robots don't have stamina issue, maybe we should try total football =)
Possible design
* [wiki:Modular Modular Design]