# Tankチュートリアル

本チュートリアルでは、Choreonoidのサンプルモデルのひとつである “Tank” モデルをゲームパッド（ジョイスティック）で操作するシミュレーションを実現します。チュートリアルはステップ1からステップ6の6段階で構成されており、これらを順番に実行していくことで、基本的なシミュレーションの実現方法を具体的に学ぶことができます。

- ステップ1: シミュレーションプロジェクトの作成
  - Choreonoidの起動
  - ワールドアイテムの作成
  - Tankモデルの読み込み
  - 床モデルの読み込み
  - シミュレータアイテムの作成
  - プロジェクトの保存
  - シミュレーションの実行
  - シミュレーションの停止
- ステップ2: コントローラの導入
  - コントローラの形式について
  - コントローラ “TurretController1” の実装
  - プロジェクトディレクトリの作成
  - コントローラのコンパイル方法
  - CMakeLists.txtの記述
  - コントローラのコンパイル
  - コントローラアイテムの生成
  - コントローラ本体のセット
  - シミュレーションの実行
  - 実装内容の解説
    - SimpleControllerクラス
    - initialize関数の実装
    - control関数の実装
    - ファクトリ関数の定義
- ステップ3: ゲームパッドによる砲塔の制御
  - ゲームパッドの準備
  - 仮想ジョイスティックビューの準備
  - コントローラのソースコード
  - コントローラのコンパイル
  - コントローラの置き換え
  - 砲塔の操作
  - 実装内容の解説
- ステップ4: クローラの制御
  - Tankモデルの簡易クローラ
  - 簡易クローラのコントローラ
  - コントローラの導入
  - クローラの操作
  - 実装内容の解説
- ステップ5: ライトの制御
  - 環境設定
    - シーンレンダラの変更
    - 環境モデルの変更
    - シーン設定の変更
  - ライトのコントローラ
  - コントローラの導入
  - ライトの操作
  - 実装内容の解説
- ステップ6: カメラ画像のシミュレーションと取得
  - 本ステップの概要
  - コントローラのソースコード

本チュートリアルはUbuntu Linux上での実行を想定して記述していますので、基本的にはUbuntu Linux上で進めるようにして下さい。ソースコード自体は他のOS上でも有効ですが、Choreonoid本体の場合と同様に、コンパイル方法が若干異なってきます。

注釈

本チュートリアルで作成するプロジェクトやソースコードのファイルは、Choreonoidソースの “sample/tutorial/Tank” 以下に格納されています。