佐倉です。本日DARwIn-OPはROBOMECに出張中です。
なので、本日の研修はRoboCupに出場するためのシステムをどんな形にしようか考える という内容になりました。
まず、RoboCupで求められている事を考えてみると、「サッカーをする」ということになります。
サッカーを行うために必要な要素は
- 機体が運動できる
- 機体が環境を把握できる
- 状況に応じて機体を運動させる
の3点になります。1,2はロボットのハードウェアと計測制御システムに求められる部分です。このあたりは1から作るとなると難しいですが、DARwIn-OPではパッケージ化されているので今回は考えない事にします。
今回は3の、知能部分の構成をメインに考えてみます。とりあえず実現方法等は考えずに、キレイにまとまりそうな感じで大雑把に図を描きました。
まず、フィールド情報部分は各々のロボットからデータを受け取り、それを統合してフィールドの情報にまとめます。
ゲーム情報の部分はレフェリーボックスという機器から送られてくるゲームの進行状況を管理します。
この2つの情報を素に戦術をねり、どのロボットがどのような行動を取るべきかを決定します。このデータをロボット毎に作成し、送信します。
このシステムがRobocupの規定するリモートブレインにあたるかどうかはよくわかりませんが、ロボット内に積んだPCで処理を行う分には、
リーダープレーヤとプレーヤというごく一般的な構成になるので、RoboCupが曖昧に打ち出している、「人間らしくなさ」にはひっかからないんじゃないかと思います。
さて、非常に簡単にですが、コマンドを受ける側の様子も見てみましょう。
こんな感じです。知能部分が作ったメタな行動計画を障害物回避やボールに対する位置合わせを含めた具体的な計画に起こし、モーションを発行します。
環境データ部は、センサ入力を処理し、適切な形に加工してローカルの行動計画部や知能のフィールド情報部に送ります。
このような感じのシステムを考えてみました。実際に作ろうとすると問題が出てくると思うので、逐次修正しつつシステムを作っていこうと思います。