Paper index

January 24th, 2006

Index

- Abstract
- Introduction
o Related work
- Methods
o Behaviour control – layered decisions
o Collaborative behaviour
- Results and Discussion
o Measurements
o Experiment framework
- Future work
- Conclusions
- References

- Isaac -

First experiment

January 24th, 2006

Motivation

While performing test runs for the Passing Challenge, it became clear that when the Aibos come too close to eachother, they will all try to grab the ball at the same time. Doing so, they prevent eachother from getting hold of the ball. And even if one manages to grab the ball, the other members of the team will ‘’steel'’ the ball before he is able to pass the ball to one of them.

Collaboration might prevent the agents from this kind of behavior. Being able to communicate about ball possession, each individual Aibo will know whether he is allowed to grab the ball or whether he should just keep waiting until he receives a message from one the team members that the ball has become ‘’free'’ to grab it.

Hypothesis

This experiment will first of all try to show that collaboration improves the group behavior. The second goal of this experiment is to find out how much difference there is between using communication and complete individual behavior. The expected results are thus that with communication the team behavior will be better most of the time, especially when the distances between the Aibos are small.

Experiment design

TODO

Dave

Abstract Draft

January 23rd, 2006

Abstract

In this paper we present our work on the assignment that we obtained for the DOAS\footnote{Design and Organization of Autonomous Systems} project. It describes the changes and additions we made to the design of the behavior of the Aibo robot dog soccer team used by the \emph{Dutch Aibo Team}~\cite{TODO}, in order to let the team perform joint actions. Our implementation is the first effort towards the \emph{Sony Four Legged RoboCup}~\cite{TODO} \emph{Open Challenge} assignment~\cite{TODO} of 2006, in which ball passing among team members is the main issue.

The problems faced can be divided roughly into the following categories: ball handling, self localization and team mate localization, team messaging and global strategy determination. In particular we explore how the use of communication between the team members can help to improve the collaborative behavior.

Dave

Results of kick-angle experiment

January 23rd, 2006

We performed an experiment on the accuracy of the kick that the robot performs when passing the ball. By perfoming more accurate kicks, the robots will be able to pass the ball more back and forth to each other. In the current implementation, the robot performs the kick with an angle of 45 degrees. By experimenting with other kick-angles we want to find the best angle that allows the robot to kick the ball right between the paws of another teammate (assuming the receiving teammate is blocking the ball with both paws spread out). This is the criteria on which we consider a kick to be correct.
Also in the setup of the experiment, the teammate that receives the ball is at a fixed position (more or less) from the robot that is kicking the ball.

The results of this experiment are:

  • By an angle of 45 degrees: 3 correct kicks out of 10 (7 misses)
  • By an angle of 55 degrees: 4 correct kicks out of 10 (8 misses)
  • By an angle of 60 degrees: 5 correct kicks out of 10 (5 misses)
  • By an angle of 65 degrees: 3 correct kicks out of 10 (7 misses)

After performing this experiment and looking at the results, we chose to set the kick-angle to 60 degrees because of the 50% accuracy.

Note: grabbing the ball before performing the kick to the teammate has been included in the passing

Areej

Project Tasks

January 23rd, 2006

We have defined the tasks for this week and assigned each team-member one or more tasks. Here follows a list of the tasks and the name of the member assigned to the task:

  • Starting to write the paper: abstract/introduction (Areej)
  • Design experiments that will be performed and also write it in paper-form (Dave)
  • Solve some of the easy problems of the blackhole (Isaac)
  • Construct theory we will use in the paper and write about it (Isaac)
  • Design Technical report and write about the things already accomplished (Areej)
  • Implement communication between the robots -split the current system to two different systems- (Mark)

Solving some of the problems of the blackhole will be limited to only today, if by tomorrow the problems are not fixed, then we will not go any further in solving them due to time constraints
Areej

First meeting presentation

January 23rd, 2006

We succesfully finished the first status meeting will all the DOAS groups.

The ideas we presented regarding the collaborative bahavior approached were quite successfull.

Status presentation

- Isaac -

First 2 players PASS

January 23rd, 2006

We finally tuned the passing and blocking, and got two of the aibos to perform at least one succesfull pass-block-pass-block.

First block-pass-block-pass

- Isaac -

First PASS

January 23rd, 2006

We got the first block-and-pass behavior working today. Still lots to do, but we are in the right way.

first aibos block-and-pass

- Isaac -

Current State

January 22nd, 2006

Here follows a list of things that still have to be done, which are:

  • Letting the robot grab the ball (again) before performing a kick and after locating the teammate that we want to pass the ball to.
  • Finding out weither the turn required to perform the kick that we chose is exactly 45 deg. this to be able to perform the kick more accuratly
  • Keeping the robots at all time at a fixed range from the ball (say 1 meter), this to prevent the robots from not seeing the other teammates because the are so far away.
  • Working on blocking the ball correctly: stopping the ball after blocking it with paw instead of blocking it and directly pushing it away

The ‘passing around’ is somewhat working, but still not very statifying. Performing the adjusments mentioned above will definetly improve the play.
We have discussed the possible team-message exchange, to allow more joint actions and teamplay. Up till now, the robots do not exchange any information while passing the ball to each other. After getting this current implemetation of the ‘passing around’ to work properly, we will extend it to a more coordinated teamplay and joint decision making (for example over who is getting the ball).

The messages we thought to be neccessary are the following

  • ball-state: free ball or robot has the ball. This is needed to let the robots know weither to run after the ball and grab it, or that another teammate is already doing that.
  • ball-being-kicked state.

These are naturally the first thoughts that have come up, in the next few days we will take a more deeper look at the possible situations by the ‘fooling around’ and thinking more of the required message exchange for a more collabrative behavior.
Finally,the changes performed on the files last week are:

  • added ‘playerPercept’ in the file Cognition.cpp and Cognition.h
  • added a number of functions to StrategySymbols.cpp, StrategySymbols.h and StrategySymbols.xml
  • added a function to store angle-to-teammate in angleSymbols.cpp, angleSymbols.xml and angleSymbols.h
  • added ‘playerPercept’ to BehaviorControl.h

Areej

How To add a new symbol in Xabsl

January 19th, 2006

To add a new input symbol in Xabsl you have to perform the following steps
If you want to add it for example to “strategy-symbols.xml”

- First add it to the .xml file

- Add in GT2004StrategySymbols.cpp:

in the function
“GT2004StrategySymbols::registerSymbols(Xabsl2Engine& engine):”

for numbers:
“engine.registerDecimalInputSymbol(”name-of-variable”,
this,(double(Xabsl2FunctionProvider::*)())
&GT2004StrategySymbols::nameOfFunction);”

for booleans:
“engine.registerBooleanInputSymbol(”name-of-variable”,
this,(bool(Xabsl2FunctionProvider::*)())
&GT2004StrategySymbols::nameOfFunction);”

where name-of-variable is the name you gave it in the .xml file and the nameOfFunction is the name of the function in “GT2004StrategySymbols.cpp” of which gives the output value to the symbol.

- add the function nameOfFunction

- declare the function you made in “GT2004StrategySymbols.cpp” in “GT2004StrategySymbols.h”

Mark