Skip to content
This repository has been archived by the owner on Jan 28, 2023. It is now read-only.

SSL-Roots/consai2

Repository files navigation

本パッケージの使用は非推奨です

https://github.com/SSL-Roots/consai_ros2 へ開発を移行しています。

Build Status

CON-SAI2

CON-SAI2はRoboCup SSLに 初めて参加する人でも開発できるサッカーAIです。

CONtribution to Soccer AI

consai2_main

前作のCON-SAI からCON-SAI2へ開発を移行しました。

CON-SAIとの違い

  • ROSのルールに合うようパッケージ名を修正しました
  • サンプルプログラム(consai2_examples)を追加しました
    • Visualizer(Vision, Refereeとの通信確認)
    • Control(走行制御のテスト)
    • Game(試合プログラム)
    • Joystick(ジョイスティックコントローラによるロボットの操縦)
  • ユーザが拡張すべきプログラムと、変更が不要なプログラムを明確にしました
    • 例えば、Vision・Refereeのデータ受信やシミュレータへのデータ送信プログラムは変更不要です
    • 例えば、戦略プログラムや走行制御、ロボットへのデータ送信プログラムはユーザに合わせて拡張してください
    • Rootsが作成したコード例を各パッケージのexampleディレクトリに用意しています

Requirements

CON-SAI2はUbuntu 18.04で作成・テストしてます。

下記のPCスペックで問題なく動作します。

  • Intel(R) Core(TM) i5-6600K CPU @ 3.50GHz
  • 8 GB of RAM
  • 有線LANポート(試合会場では有線LANでロボット・ボール位置座標データを受信します)

Installation

ROSのインストール

ROS (Robot Operating System) は、ロボットソフトウェア開発をサポートする ライブラリ・ツールが豊富に含まれたオープンソースソフトウェアです。

CON-SAI2はKinetic、Melodicに対応しています。

Ubuntu install of ROS Melodicを参考に、インストールしてください。フルインストール推奨です。

Google Protobuf Librariesのインストール

sudo apt-get install libprotobuf-dev libprotoc-dev protobuf-compiler
sudo apt-get install python-pip
sudo pip2 install protobuf

依存パッケージのインストール

sudo apt-get install ros-$ROS_DISTRO-navigation ros-$ROS_DISTRO-bfl -y

CON-SAI2のビルド

git clone https://github.com/SSL-Roots/consai2 ~/catkin_ws/src/consai2
cd ~/catkin_ws/src/
rosdep install -r -y --from-paths . --ignore-src
cd ~/catkin_ws/
catkin_make
source ~/catkin_ws/devel/setup.bash

RoboCup SSLのAI開発に必要なツールをインストール

RoboCup SSLのAI開発にはシミュレータ(grSim)と審判ソフト(SSL-Game-Controller)があると便利です。

下記ページを参考に、ソフトウェアをインストールしてください。

grSim

SSL-Game-Controller

Tutorial

CON-SAI2を始めるに当たって、まずはサンプルプログラムを実行してください。

consai2_examples にサンプロプログラムの実行方法が記載されています。

Development

いくつかのパッケージ内のexampleディレクトリはRootsのコード例です。そのため、今後もRootsの意思で中身が大幅に変わる可能性があります。

masterブランチの変更を容易にマージするため、以下項目を守ってください。

  • masterからブランチを切り分ける
  • 各パッケージのexampleディレクトリ内を編集しない
  • 各パッケージのsrcscriptsディレクトリ直下にユーザコードを追加する

Contribution

CON-SAI2は全ユーザ共通で使用できるコード(consai2_receiverconsai2_senderなど)と、 各ユーザで作成すべきコード(作成例:exampleディレクトリ)に分かれています。

全ユーザ共通で扱うコードについてはRoots以外の要望も受け入れたいので、 Contribution(issue, pullreq)をお願いします。

些細な修正や指摘でも良いので、まずはissueの作成から始めてみてください。

Author

CON-SAI2はRoboCup SSLに参加している日本人チームRootsが作成しています。

RoboCup SSLへの参加方法、ロボットに必要な機能、開発環境などは Rootsのホームページに記載してます。

Roots - Home