Commit 0ed8a065 authored by Matthew Hausknecht's avatar Matthew Hausknecht

Added agent2d.

parent c723eea4
Hidehisa AKIYAMA <akky@users.sourceforge.jp>
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
## Process this file with automake to produce Makefile.in
ACLOCAL_AMFLAGS=-I m4
SUBDIRS = src .
EXTRA_DIST = \
bootstrap \
m4/ax_boost_base.m4 \
NEWS.en
CLEANFILES = \
*~
This diff is collapsed.
[3.1.1]
* gcc-4.6でのコンパイルエラー・警告へ対応
[3.1.0]
* librcscの変更に追従し,ボロノイ図計算で暴走する問題を修正した.
[3.0.0]
* rcssserverバージョン14に対応し,librcsc-4.0.xを要求するようになっ
た.
* 行動探索フレームワークを追加した.
* Keepawayのテンプレートを追加した.
[2.1.0]
* フォーメーション設定ファイルが新しいフォーマットバージョンに変更さ
れた.このフォーマットは,soccerwindow2 4.1.0以降に付属のfeditで編
集可能である.
* フォーメーションファイルの読み込みが統一され,Staticタイプのフォー
メーションを他のタイプと同じ手順で読み込めるようになった.
* start.shのコマンドラインオプションが拡張された.
- -f, --formation DIR : フォーメーションのディレクトリ指定
- --offline-logging : オフラインクライアント用のログを記録する
- --offline-client-mode : オフラインクライアントモードで起動する
- --debug-fullstate : 通常のワールドモデルとは別にfullstateで構築
したワールドモデルを参照できるようになる
* デバッグ用の起動スクリプトのサンプル,start-debug.shと
start-offline.shがパッケージに追加された.
[2.0.1]
* team_graphicサポートの不具合を修正した.
* team_graphic用のxpmファイルのサンプルを追加した.
[2.0.0]
* rcssserverバージョン13をサポートした.
* librcsc-3.0.xをサポートした.いくつかのアクションはobsoleteとなり,
新しいアクションへと置き換えられたことに注意.
* いくつかのアクションをHELIOS2007-2008相当のものに置き換えた.キー
パーはHELIOS2008の非saviorモード時と同等の動作をするようになった.
- (追加)Bhv_DangerAreaTackle
- (追加)Neck_GoalieTurnNeck
- (更新)Bhv_BasicTackle
- (更新)Bhv_GoalieBasicMove
- (更新)Bhv_GoalieChaseBall
* rcssserver-13の新ダッシュモデルに対応した.ただし,キーパーの動作
に関しては修正が不完全である.
* デフォルトの守備的動作において,ダッシュスピードを調整した.
* before-kick-off.confで定義される初期配置を変更した.
* FormationBPNのサポートを停止した.それに伴い,フォーメーション設定
ファイルのoffense-formation.confとdefense-formation.confを
normal-formation.confへ統一した.
* start.shにいくつかのオプションを追加した.
- -p, --port PORT : プレイヤの接続ポート番号変更
- -P, --coach-port PORT : コーチの接続ポート番号変更
- --team-graphic FILE : チームロゴXPMファイルを指定
- --debug-server-host HOST : デバッグサーバ(soccerwindow2)のホスト
名(またはIPアドレス)を指定
- --debug-server-port PORT : デバッグサーバ(soccerwindow2)の接続ポー
ト番号を指定
- --log-dir DIRECTORY : デバッグログファイルを書き出すディレクトリ
パスを指定
- --log-ext EXTENTION : デバッグログファイルの拡張子名を指定
- --use-fullstate (true|false) : fullstate情報でワールドモデルを更
新するか否かを指定
[1.0.0]
* Supported rcssserver 12.
[0.4.0]
* Supported new communication framework.
* Supported player type analysis by coach agent.
* Added coach.conf
* Fixed defect in the change view action when player search the
ball.
[3.1.1]
* fixed the compilation problems on gcc-4.6.
[3.1.0]
* fixed the problem of going out of control in the voronoi diagram
calculation.
[3.0.0]
* Supported rcssserver-14
[2.1.0]
* Changed formation file format.
* Changed command line options of start.sh.
[2.0.1]
* Fixed a defect of team_graphic option.
* Added a sample xpm file for team_graphic.
[2.0.0]
* Supported rcssserver 13.
* Supported librcsc-3.0.x. Note that some obsolete actions were
replaced with new actions.
* Some actions were replaced with actions which was used by
HELIOS2007-2008. Now, the goalie player's behavior is equivalent
to the non-savior mode goalie of HELIOS2008.
* Supported new dash model in rcssserver-13. Note that the
fix of goalie's behavior has not been completed yet.
* Tuned a dash speed of default behavior for defensive situation.
* Changed the default formation defined in before-kick-off.conf
* Stopped to support FormationBPN. Now, offense-formation.conf and
defense-formation.conf are integrated into normal-formation.conf.
* Added new options to start.sh.
- -p, --port PORT : set a connection port number for players.
- -P, --coach-port PORT : set a connection port number for an
online coach.
- --team-graphic FILE : set a team logo file formatted by XPM.
- --debug-server-host HOST : set a host name(or ip address) to
connect to the debug server(soccerwindow2)
- --debug-server-port PORT : set a connection port number to
connect to the debug server
- --log-dir DIRECTORY : set a directory path string to write debug
log files.
- --log-ext EXTENTION : set a extention name of debug log files.
- --use-fullstate (true|false) : enable/disable player's world
model to be updated by fullstate information.
[1.0.0]
* Supported rcssserver 12.
[0.4.0]
* Supported new communication framework.
* Supported player type analysis by coach agent.
* Added coach.conf
* Fixed defect in the change view action when player search the
ball.
=======
はじめに
=======
agent2dはlibrcscを使用したシンプルなチームの実装例です.RoboCup Soccer
Simulator(rcssserver)バージョン15で動作させることを想定しています.
- RoboCup Soccer Simulator Homepage: http://sserver.sf.net/
- RoboCup Official Homepage: http://www.robocup.org/
- librcsc Homepage: http://rctools.sourceforge.jp/
============
要求ライブラリ
============
agent2d-3.1.1 は以下のライブラリを要求します.
- boost-1.32 or later
- librcsc-4.1.x
=====
ビルド
=====
パッケージを展開したディレクトリ内部で以下のコマンドを実行します:
./configure
make
librcscをシステムのディレクトリにインストールしていない場合,以下のよ
うにconfigureの'--with-librcsc'オプションによってlibrcscのインストール
パスを指定しなければなりません.
./configure --with-librcsc=/path/to/prefix
この場合,環境変数 LD_LIBRARY_PATH も設定する必要があるかもしれません.
=================
インストール時の設定
=================
agent2dをビルドする前に,パッケージに含まれるconfigureスクリプトのオプ
ションによって設定を変更することができます.configureで指定できるオプ
ションの詳細は,'configure --help'を実行することで参照できます.
==========
チームの起動
==========
agent2dのチームを起動するには,srcディレクトリ内で以下のコマンドをタイ
プします.
`./start.sh'
This diff is collapsed.
#!/bin/sh
set -x
autoreconf -i -f
#aclocal -I config
#autoheader
#automake -a -c
#autoconf
/* config.h.in. Generated from configure.ac by autoheader. */
/* define if the Boost library is available */
#undef HAVE_BOOST
/* Define to 1 if you have the `floor' function. */
#undef HAVE_FLOOR
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
/* Define to 1 if you have the `rcsc_gz' library (-lrcsc_gz). */
#undef HAVE_LIBRCSC_GZ
/* Define to 1 if you have the `z' library (-lz). */
#undef HAVE_LIBZ
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
/* Define to 1 if you have the `pow' function. */
#undef HAVE_POW
/* Define to 1 if you have the <rcsc/types.h> header file. */
#undef HAVE_RCSC_TYPES_H
/* Define to 1 if you have the `sqrt' function. */
#undef HAVE_SQRT
/* Define to 1 if stdbool.h conforms to C99. */
#undef HAVE_STDBOOL_H
/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H
/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H
/* Define to 1 if you have the `strerror' function. */
#undef HAVE_STRERROR
/* Define to 1 if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H
/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H
/* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H
/* Define to 1 if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
/* Define to 1 if the system has the type `_Bool'. */
#undef HAVE__BOOL
/* Name of package */
#undef PACKAGE
/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT
/* Define to the full name of this package. */
#undef PACKAGE_NAME
/* Define to the full name and version of this package. */
#undef PACKAGE_STRING
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
/* Define to the home page for this package. */
#undef PACKAGE_URL
/* Define to the version of this package. */
#undef PACKAGE_VERSION
/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#undef TIME_WITH_SYS_TIME
/* Version number of package */
#undef VERSION
/* Define to empty if `const' does not conform to ANSI C. */
#undef const
/* Define to `__inline__' or `__inline' if that's what the C compiler
calls it, or to nothing if 'inline' is not supported under any name. */
#ifndef __cplusplus
#undef inline
#endif
/* Define to `unsigned int' if <sys/types.h> does not define. */
#undef size_t
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.61)
AC_INIT([agent2d],[3.1.1],[akky@users.sourceforge.jp])
AC_CONFIG_SRCDIR([config.h.in])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_AUX_DIR([config])
AC_CONFIG_MACRO_DIR([m4])
# --------------------------------------------------------------
AM_INIT_AUTOMAKE([gnu check-news])
AC_LANG([C++])
# --------------------------------------------------------------
# Checks for programs.
AC_PROG_CXX
AC_PROG_CC
AC_PROG_RANLIB
AC_PROG_LN_S
# ----------------------------------------------------------
# check boost
AX_BOOST_BASE([1.32.0])
CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
# check librcsc path
AC_SUBST(LIBRCSCLIB)
LIBRCSCLIB="/usr/local/lib"
librcsc_prefix=""
AC_ARG_WITH(librcsc,
[ --with-librcsc=PREFIX prefix where librcsc is installed (optional)],
librcsc_prefix="$withval",
librcsc_prefix="")
if test x$librcsc_prefix != x; then
CPPFLAGS="$CPPFLAGS -I$librcsc_prefix/include"
LDFLAGS="$LDFLAGS -L$librcsc_prefix/lib"
LIBRCSCLIB="$librcsc_prefix/lib"
else
for librcsc_path_tmp in $HOME $HOME/local $HOME/rcss /opt/robocup /opt /opt/local ; do
if test -d "$librcsc_path_tmp/include/rcsc" && test -r "$librcsc_path_tmp/include/rcsc/types.h" ; then
CPPFLAGS="$CPPFLAGS -I$librcsc_path_tmp/include"
LDFLAGS="$LDFLAGS -L$librcsc_path_tmp/lib"
LIBRCSCLIB="$librcsc_path_tmp/lib"
break;
fi
done
fi
# --------------------------------------------------------------
# Checks for libraries.
AC_CHECK_LIB([m], [cos],
[LIBS="-lm $LIBS"],
[AC_MSG_ERROR([*** -lm not found! ***])])
AC_CHECK_LIB([z], [deflate])
AC_CHECK_LIB([rcsc_geom], [main],
[LIBS="-lrcsc_geom $LIBS"],
[AC_MSG_ERROR([*** -lrcsc_geom not found! ***])])
AC_CHECK_LIB([rcsc_rcg], [main],
[LIBS="-lrcsc_rcg $LIBS"],
[AC_MSG_ERROR([*** -lrcsc_rcg not found! ***])])
# defined HAVE_LIBRCSC_GZ and set LIBS="-lrcsc_gz $LIBS"
AC_CHECK_LIB([rcsc_gz], [main])
AC_CHECK_LIB([rcsc_param], [main],
[LIBS="-lrcsc_param $LIBS"],
[AC_MSG_ERROR([*** -lrcsc_param not found! ***])])
AC_CHECK_LIB([rcsc_time], [main],
[LIBS="-lrcsc_time $LIBS"],
[AC_MSG_ERROR([*** -lrcsc_time not found! ***])])
AC_CHECK_LIB([rcsc_net], [main],
[LIBS="-lrcsc_net $LIBS"],
[AC_MSG_ERROR([*** -lrcsc_time not found! ***])])
AC_CHECK_LIB([rcsc_ann], [main],
[LIBS="-lrcsc_ann $LIBS"],
[AC_MSG_ERROR([*** -lrcsc_ann not found! ***])])
AC_CHECK_LIB([rcsc_agent], [main],
[LIBS="-lrcsc_agent $LIBS"],
[AC_MSG_ERROR([*** -lrcsc_agent not found! ***])])
# --------------------------------------------------------------
# Checks for header files.
AC_CHECK_HEADERS([rcsc/types.h])
# --------------------------------------------------------------
# Checks for typedefs, structures, and compiler characteristics.
AC_HEADER_STDBOOL
AC_C_CONST
AC_C_INLINE
AC_TYPE_SIZE_T
AC_HEADER_TIME
# --------------------------------------------------------------
# Add original options
AC_ARG_ENABLE(debug,
AC_HELP_STRING([--enable-debug],
[turn on debugging (default=no)]))
if test "x$enable_debug" = "xyes"; then
# AC_DEFINE([DEBUG], [1], [debugging flag])
CFLAGS="-DDEBUG $CFLAGS"
CXXFLAGS="-DDEBUG $CXXFLAGS"
echo "enabled debug"
fi
# --------------------------------------------------------------
# Checks for library functions.
AC_HEADER_STDC
AC_CHECK_FUNCS([floor pow sqrt strerror])
AC_CONFIG_FILES([Makefile
src/Makefile
src/start.sh
src/keepaway.sh
src/train.sh],
[test -f src/start.sh && chmod +x src/start.sh]
[test -f src/keepaway.sh && chmod +x src/keepaway.sh]
[test -f src/train.sh && chmod +x src/train.sh])
AC_OUTPUT
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
// -*-c++-*-
/*
*Copyright:
Copyright (C) Hidehisa AKIYAMA
This code is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3, or (at your option)
any later version.
This code is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this code; see the file COPYING. If not, write to
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
*EndCopyright:
*/
/////////////////////////////////////////////////////////////////////
#ifndef BHV_BASIC_MOVE_H
#define BHV_BASIC_MOVE_H
#include <rcsc/geom/vector_2d.h>
#include <rcsc/player/soccer_action.h>
class Bhv_BasicMove
: public rcsc::SoccerBehavior {
public:
Bhv_BasicMove()
{ }
bool execute( rcsc::PlayerAgent * agent );
private:
double getDashPower( const rcsc::PlayerAgent * agent );
};
#endif
This diff is collapsed.
// -*-c++-*-
/*
*Copyright:
Copyright (C) Hidehisa AKIYAMA
This code is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3, or (at your option)
any later version.
This code is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this code; see the file COPYING. If not, write to
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
*EndCopyright:
*/
/////////////////////////////////////////////////////////////////////
#ifndef TOKYOTEC_BHV_BASIC_OFFENSIVE_KICK_H
#define TOKYOTEC_BHV_BASIC_OFFENSIVE_KICK_H
#include <rcsc/player/soccer_action.h>
class Bhv_BasicOffensiveKick
: public rcsc::SoccerBehavior {
private:
public:
bool execute( rcsc::PlayerAgent * agent );
};
#endif
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment