====== 1. 概要 ====== このたびはGo Simulation!をお買い上げ頂きましてありがとうございます。\\ Go Simulation!は物理演算という計算をPCで行い、ロボットの動きを物理的にリアルにシミュレーションするソフトウェアです。\\ これまでのゲームには無いリアルな動きを是非体験してください。 ===== 物理演算とは ===== 物理演算とは物体の運動や接触、摩擦、関節などを、物理法則に従ってリアルにシミュレーションすることを言います。\\ 多くのCGアニメーションでは予め決められた動きが表示されていますが、 物理演算では物理的な動きをリアルタイムに計算しながら表示していきます。\\ \\ 例えば、積み上げられたブロックを蹴飛ばして崩した時、蹴飛ばし方により崩れ方が毎回変わってきます。\\ このようなシミュレーション技術は少し前までは大学や企業などでの専門家用のソフトウェアで、 計算に莫大な時間がかかり、また何百万円もする高価なソフトウェアでした。 近年になり物理演算の高速化手法がいくつか発表され、計算速度が上がり、 ゲーム等でリアルタイムで使用することが可能になってきました。 ===== Go Simulation!の特徴 ===== Go Simulation!は二足歩行ロボットに特化していますので、 インストール後にすぐにサンプルのロボットを使って歩行モーション作成等を楽しめます。\\ 初心者の方がすぐに物理演算を体験できるよう、様々な工夫がされています。\\ また、二足歩行以外にも車輪型のロボット、ロボットアーム等、さまざまなロボットをシミュレーションすることが可能です。\\ Go Simulation!には様々な機能を作り込んでいますが、次のように大きく3段階の楽しみ方を用意しています。 ==== 使い方その1「ゲーム」 ==== インストール後、すぐに「ゲーム機能」を楽しむことが出来ます。\\ 二足歩行ロボット同士で戦う「バトル」モードと、タイムを競う「ダッシュ」モードがあります。\\ 「バトル」では、ロボット同士の対戦を行います。\\ 二足歩行ロボット同士の戦いでROBO-ONE([[http://www.robo-one.com/|http://www.robo-one.com/]] )という ロボット大会が実際に行われておりますが、それと同じような戦いが可能です。 ロボットを自分で操縦することも、さらにAIのプログラムを作成して自動で戦うことも可能です。\\ 「ダッシュ」ではゴール地点に到達するまでの時間を競います。 ロボットを上手に操縦したり、ロボットのモーションを改良したりして、タイムを競います。 また、地面に障害物や動く壁なども設置できますので、アスレチックなステージも作成可能です。 さらに設定を工夫すると1対1のサッカー等も可能です。 {{:ja:manual:ws000000.png?200|}}\\ バトル {{:ja:manual:ws000001.png?200|}}\\ ダッシュ ==== 使い方その2「モーション作成」 ==== サンプルのロボットには基本的なモーションが登録されていますが、\\ ユーザー様でオリジナルのモーションを作成することも可能です。\\ オリジナルの必殺技モーションを作成してバトルで挑んだり、\\ 高速歩行モーションを編み出してダッシュで速いタイムを出したりなど、楽しめます。\\ 他にも、ダンスモーションを作ったり、物を運ぶ動作を作るなど、様々な動作をさせることも可能です。\\ モーション作成方法は、市販の二足歩行ロボットキットと同じような操作で、直観的に操作することが可能です。 {{:ja:manual:ws000002.png?300|}}\\ 使い方その2「モーション作成」 ==== 使い方その3「ロボット・ステージの設計」 ==== ユーザー様でオリジナルのロボットのモデルを作成することが可能です。\\ 各パーツの寸法・質量・ジョイント位置・ジョイント方向・ポリゴンデータ等、を自由にカスタマイズ可能ですので、 殆どの二足歩行ロボットのシミュレーションが可能です。\\ もちろん二足歩行に限らず、多足、車輪型のロボットもモデリング出来ます。\\ ステージも同様に自作可能です。障害物を置いたり、動く壁を作ったりといったことも可能です。 {{:ja:manual:ws000000a.png?300|}}\\ ロボット設計 {{:ja:manual:ws000008.png?300|}}\\ ステージ設計 ==== データのインポート ==== ロボットのデータはフォルダ毎に管理されていますので、\\ 他のロボットやステージをダウンロードし、フォルダ毎コピーすれば使用可能です。\\ また、3DモデルデータはSTLファイル形式とXファイル形式の一部に対応しています。 ==== シミュレーションの精度について ====  Go Simulation!では、シミュレーションの厳密な精度よりも、演算速度を重視した設定となっています。基本的に__リアルタイム__で演算できる速度になるように調整しています。これはGo Simulation!に限らず他の物理演算ソフトウェアも同様の傾向と思います。陰解法というアルゴリズムでサンプリングタイムを粗くしてもあまり暴れずそれなりの結果が出るようになっています。\\  シミュレーションの精度を上げたい場合は[[ja:manual:file_structure#timersettingtxt|ファイル構成ページのTimerSetting.txt]]の方法でサンプリングタイムを細かく設定してください。\\  実際のロボットと同一の動作は保障しておりませんので、御理解の上ご利用ください。 ===== Go Simulation!の仕組み ===== 複雑な形状で物理演算を行うと演算が重くなるため、Go Simulation!では、 表示用の「ポリゴンモデル」の他に、物理演算用の「物理演算モデル」を持っています。\\ 「ポリゴンモデル」は、通常時に表示されているような図 1-4( a )の表示モデルです。\\ これは表示用のモデルで、物理演算には使用していません。\\ 「物理演算モデル」には図 1-4( b )のように、シンプルな形状(直方体等)を用いています。 このようなシンプルな形状で物理演算を行うことによって、計算速度を向上させています。\\  両者の関係を図 1-4( c )に示します。\\ 「ポリゴンモデル」と「物理演算モデル」の形状がほぼ一致するように、 物理演算モデルの直方体の寸法等を設定しています。\\ {{:ja:manual:sum1.png?500|}}\\ 図 1-4ポリゴンモデルと物理演算モデル