====== 5. ロボット設計モード ====== ロボット設計モードでは、ロボットの動き(モーション)やロボットの構成(寸法、質量、関節数等)を自由に設計することができます。 ===== ロボット設計モードへの移行 ===== メニューから、【モード】ウィンドウを開き、【ロボット設計】を選択してください(図 5-1)。 次に図 5-2のような画面になっていることを確認してください。 {{:ja:manual:design_ws000036.png?160|}}\\ 図 5-1 ロボット設計モードへの移行 {{:ja:manual:robot_d1.png?400|}}\\ 図 5-2 ロボット設計モードの画面 ===== 上級/入門メニュー ===== メニューの【入門/上級】で、入門モードと上級モードに切り替えることができます。 入門モードにしますと、難しい操作を行うメニューが使用できないようになります。 操作に慣れるまでは、入門モードにされることをお勧めします。\\ ===== プロジェクトメニュー ===== ==== ロボットプロジェクトとは ==== ロボットのモデルデータには様々なデータが含まれています。例えば寸法質量等のデータや、外装のポリゴンファイルデータ、歩行モーション等を記述したデータ等様々なデータがあります。\\ これらのデータをロボット毎に一つにまとめたものを「ロボットプロジェクト」として、管理しています。\\ {{:ja:manual:design2.png|}}\\ 図 5-3 プロジェクト ==== ロボットプロジェクトの新規作成 ==== メニューの【プロジェクト】→【ロボットプロジェクト】を選択してください。プロジェクトウィンドウ(図 5-4)が表示されます。\\ ロボットプロジェクトを新規に作成するには、図 5-4のように、①プロジェクト名を記入し、②【新規作成】ボタンを押してください。すると、③ロボットが新規に作成されます。 本章の解説では、このロボット(以下、「デフォルトのロボット」と呼びます)をベースに改造していくことになります。\\ なお、基本的な設定やモーションは登録されていますので、__デフォルトのロボットですぐにゲーム__を楽しむことができます。\\ {{:ja:manual:design3.png|}}\\ 図 5-4 プロジェクトウィンドウ ==== ロボットのロード ==== 既に作成されたロボットを開くときは、図 5-5のように、①ロボットを選択し、②【開く】ボタンを押してください。\\ 念のため③ステータス表示を確認してください。もしもロードに失敗すると、エラーやワーニングが表示されることがありますので内容を確認してください。\\ {{:ja:manual:design4.png?420|}}\\ 図 5-5 ロボットプロジェクトのロード ==== ロボットの削除 ==== ロボットプロジェクトを削除するときはロボットを選択し、【削除】ボタンを押してください。\\ 尚、安全のためここで削除しても__ファイル自体は削除されない__ようになっています。 次節で解説するように【プロジェクトフォルダを開く】ボタンを押すと、エクスプローラが立ち上がりますので、 そちらでフォルダの内容を確認しますと、プロジェクトフォルダが「test01」→「_del.test01」のようにリネームされているのが確認できます。 フォルダの先頭に「_del.」とあったらプロジェクトフォルダとして認識しないようになっています。 __再度使用したい場合は、フォルダ名の「_del.」という部分を消してください。__ ==== ステージ選択 ==== 設計モードで使用するステージを選択することが可能です。\\ メニューの【プロジェクト】→【ステージ選択】を選択してください(図 5-6)。\\ \\ ロボットプロジェクトと同様に選択し、【開く】ボタンを押してください。\\ \\ 【デフォルト】エリアはインストール時に一緒に用意されるステージです。\\ 【ユーザ作成】エリアはユーザーが作成したステージが表示されています。\\ \\ 尚、ここではステージは開くのみで編集はできません。ステージの編集はステージ設計モードで行うことができます([[ja:manual:stage_design_mode|ステージ設計モード]]を参照)。\\ {{:ja:manual:ws000009.png?160|}}\\ 図 5-6 ステージ選択 ===== モーション設計メニュー ===== 本節では、ロボットのモーションの作成方法を解説します。\\ 事前にロボットプロジェクトを新規作成してください([[ja:manual:robot_design_mode#プロジェクトメニュー|プロジェクトメニューの節]]参照)。デフォルトのロボットを元に解説を進めて行きます。\\ ==== モーションエディタ ==== メニューバーから【モーション設計】→【モーションエディタ】を選択すると、図 5-7のようにモーションエディタが開きます。\\ {{:ja:manual:design5.png?420|}}\\ 図 5-7 モーションエディタを起動 === ポーズ作成(FK) === ポーズを作成するには、図 5-8のようにFKタブの【白い欄】に数値を入れることによって、ロボットの関節角を指定することができます。単位は[度]です(関節がスライダージョイントの場合は[mm]です)。 なお、FKとは順運動学(Forward Kinematics)という意味で、詳細は[[ja:manual:robot_design_mode#モーション作成(IK)|モーション作成(IK)の節]]を参照ください。\\ \\ {{:ja:manual:design6.png?420|}}\\ 図 5-8 ポーズ作成\\ 物理演算を行っていますので、例えば図 5-9のようにバランスが崩れると転倒します。\\ \\ {{:ja:manual:design7.png?420|}}\\ 図 5-9 無理なポーズで転倒 転倒した場合は、【設定】メニューの【RESET】ボタンを押すと元の位置に戻ります(図 5-10)。\\ {{:ja:manual:design8.png?150|}}\\ 図 5-10 RESETボタンを押すとロボットを初期位置に戻せる === モーション作成 === モーション(ロボットの動き)は、前節で作成したポーズを複数つくって、順次再生してつくります。パラパラ漫画のような要領で複数ポーズを用意して再生します。 モーションを作成するには図 5-11のようにポーズを一つ一つ登録していきます。 主な流れは、①ポーズを登録する行を選択し、②関節角を動かしてポーズを決め、 ③【→】ボタンを押すと①で指定した行にポーズが登録されます。 この操作を繰り返し、図 5-12のように、④複数のポーズを登録してください。 そして、⑤【Run Motion】ボタンを押すと登録されたポーズを連続的にモーションとして実行されます。\\ \\ {{:ja:manual:design9.png?450|}}\\ 図 5-11 モーション登録(ポーズの登録)\\ \\ {{:ja:manual:design10.png?300|}}\\ 図 5-12 モーション登録(複数ポーズを登録後、実行)\\ その他のFKタブでの使用可能な機能を図 5-13にまとめました。\\ {{:ja:manual:design11.png?400|}}\\ 図 5-13 モーションエディタFKタブでのその他の機能\\ === モーションのセーブとロード === モーションデータの、保存、ロード、削除は図 5-14 の【Save】、【Load】、【Delete】ボタンから行うことができます。\\ 予めサンプルモーションが複数登録されていますので、これらをロードして参考にされると良いでしょう。\\ ロードしたら図 5-12 で解説したように、【Run Motion】ボタンを押すとモーションが実行されます。\\ __なお、モーション名には半角英数字のみ指定可能です。__\\ モーションファイルの保存場所は[[ja:manual:file_structure#ROBOT_PROJECTS フォルダ|ファイル構成ページのROBOT_PROJECTS フォルダの節]]を参考にしてください。\\ \\ {{:ja:manual:design12.png?200|}}\\ 図 5-14 モーションのSave,Load,Delete\\ \\ {{:ja:manual:design13.png?200|}}\\ 図 5-15 デフォルトロボットに予め用意されているモーション\\ === ポーズ作成(FK sync) === これまでは一つの関節毎の操作方法を解説しましたが、複数の関節を同時に動かすことが可能です。\\ 【モーションエディタ】の【FK sync】タブを選択してください(sync=「同期」の略です)。 例えばロボットの右肩と左肩を同時に動かすには図 5-16 のように、①右肩と左肩の数値を1に設定し、②+/-ボタンを押すと、③右腕と左腕が同期して前に動きます。\\ {{:ja:manual:design14.png?420|}}\\ 図 5-16 モーションエディタFK syncタブの使用方法\\ FK syncタブのすべての値を0クリアするには図 5-17の【Clear】ボタンを押してください。 FK syncの値を保存、削除するには【Save】【Delete】ボタンを押してください。\\ \\ {{:ja:manual:design15.png?200|}}\\ 図 5-17 FK syncのClear, Save, Delete\\ 保存した値をロードするには図 5-18 のコンボボックスから選択します。FK Syncタブのタブエリアの外にありますので、いつでもロードすることが可能です。\\ \\ {{:ja:manual:design16.png?200|}}\\ 図 5-18 FK syncのLoad\\ === ポーズ作成(Switch) === 初期状態では全ての関節角を操作できるようになっていますが、一部の関節角のみに制限することが可能です。\\ 【Switch】タブのチェックボックスを外し(図 5-19(1))、【FK】タブで確認すると、関節角の操作を出来ないようにロックされていることが確認できます(図 5-19(2))。\\ {{:ja:manual:design17.png|}}\\ 図 5-19 モーションエディタSwitchタブ\\  この機能は、モーションを連結する際に便利なときがあります。\\  例えば既に他のモーションで上半身のポーズを作り、次に上半身はそのままのポーズに固定して歩行したいとします。このとき、通常のように歩行モーションを作ると上半身の動きも指定されてしまうので、ポーズを固定できません。そこで、上半身の関節のSwitchを全てOFFにして、下半身のみで歩行モーションを作れば、上半身のポーズはそのままで歩行モーションを実行することができます。\\ === モーション作成(IK) === これまでのロボットの動作作成では、関節角を直接指定しました。\\ このようなロボットのポーズの指定方法を順運動学(Forward Kinematics; FK)と呼びます。\\ 逆に、例えばロボットの手先の位置や姿勢をして、自動的に関節の角度を指定する方法を逆運動学(Inverse Kinematics; IK)と呼びます。\\ FK及びIKはロボットやCG、ゲーム等、3次元モデリングの分野でよく使われる用語ですので興味のある方は詳しく調べてみてください。\\ Go Simulation!でもIKでロボットのポーズを作成することが可能です。 == (1)IKの基本操作 == 【IK】タブを選択し、図 5-20 のように、①デフォルトのロボットで固定パーツ1を「0」に、移動パーツを「23」に設定してください。 ②固定パーツ(BODY0=胴体)が青枠で、移動パーツ(BODY23=右手)が緑枠で表示されていることを確認してください。 ③【-Y】ボタンを7回、【+Z】ボタンを7回押してください(中央の数値0.010はボタンを押したときの移動量で1回ボタンを押すたびに相対で0.01m移動することを示しています)。 すると図 5-21(1)のように右手パーツが移動します。\\ 引き続き【-RY】ボタンを20回程押すと(2)のように右手パーツが回転します(中央の数値1.0はボタンを押したときの回転量で相対で1.0deg移動することを示しています)。\\ {{:ja:manual:design18.png?420|}}\\ 図 5-20 モーションエディタ IKタブ\\ {{:ja:manual:design19.png?420|}}\\ 図 5-21 IK駆動で右手の位置を指定した IK駆動で指定すると、動けない位置・姿勢へ指定される場合もあります。その場合はできるだけ近い位置・姿勢に設定されます。 達成度の目安として図 5-22 の評価関数の値を参考にしてください。誤差の値が小さいほど目標位置・姿勢に到達しているということを示しています。 {{:ja:manual:design20.png?300|}}\\ 図 5-22 IK駆動の評価関数(誤差が小さい程良い) == (2)IK操作二か所固定 == 前節では固定部は1箇所でしたが、固定パーツを二箇所にすることが可能です。 例えば図 5-23 のように固定パーツ1と固定パーツ2、移動パーツを設定してください。 次にFKタブの操作で__ロボットが少ししゃがんだ状態__にし、図 5-24 のように【+RX】ボタンを押すと+RX方向に回転します。 ロボットの両足を固定して胴体を動かすという操作を行ったことになります。 このようなモーションをFKタブの操作のみで行うのは非常に大変です。 {{:ja:manual:design21.png?250|}}\\ 図 5-23 固定パーツを二箇所指定\\ {{:ja:manual:design22.png?450|}}\\ 図 5-24 二箇所固定してIK駆動させた例 本操作では「__ロボットが少ししゃがんだ状態__から」操作を行いました。\\ この操作を行わずにIK操作をしますと、思わぬ動作になります。 例えばしゃがまない状態から【-Z】方向に移動すると、図 5-25 以下のように片方の脚が逆関節に曲がることがあります。\\ このようになる場合もありますし、うまく行く場合もあります 。曲げ方向が何通りかあるときは、予め希望する方向に少しだけ動かしてからIK操作をさせると良いでしょう。\\ {{:ja:manual:design23.png?200|}}\\ 図 5-25 IK駆動で予想外の方向に駆動してしまった例\\ == (3)IKの設定ができるループ == IK設定が可能なループと不可能なループを図 5-26 に示します。\\ (1)のように、[3]→[1]→[0]または、[0]→[2]→[4]のように、Body番号が減少のみまたは増加のみの場合は設定可能です。\\ (2)のように、[2]→[0]→[1]→[3]のように、Body番号の減少と増加が混在するようなループは設定することができません。\\ {{:ja:manual:design24.png?450|}}\\ 図 5-26 IK接続ループ == (4)サーボモータの分解能(精度)との関係 == サーボモータの精度がHinge(回転)の場合は0.01[deg]、Sliderの場合は0.001[m]となっているため、これより高精細なIK駆動をすることはできません。 === 歩行モーション生成機能 === 歩行モーションを自動で生成する機能があります。 デフォルトで作成されるロボットに近いモデルでしたら、この機能を使うと簡単に歩行させることができます。 ただし、簡易的なアルゴリズムですので、より高速な歩行等を目指す場合は、この機能に頼らずに歩行モーションを作成したほうが良い場合があります。 【Walk】タブを選択し、図 5-27 のように、①【歩行モーション生成】ボタンを押し、②モーションが自動作成されたことを確認し、③【Run Motion】ボタンを押すと歩行モーションが実行されます。 初期状態のパラメータはその場で足踏みをするようになっています。\\ 例えば前進させるには、【前後角(歩幅)[deg]】の値を7.0等に設定してみてください。 先ほどと同様に①→②→③の手順でモーションを実行してください。前進することが確認できます。\\ バランスが崩れ始めたら他のパラメータを調整してください。\\ {{:ja:manual:design25.png|}}\\ 図 5-27 歩行モーションの作成\\ 本機能を使用するためには、デフォルトのロボットと同じように以下の関節角の変数名が設定されている必要があります。\\ AnkR_R, AnkR_L, HipR_R, HipR_L, AnkP_R, KneP_R, HipP_R,\\ AnkP_L, KneP_L, HipP_L, ShoP_R, ShoP_L 変数名の設定については[[ja:manual:robot_design_mode#サーボモータ設定|サーボモータ設定]]の節を参照ください。 === ジャイロ制御の反映 === ロボットの歩行を安定させるためにジャイロ制御がよく用いられます。\\ ジャイロは角速度、簡単に言うと“揺れ具合”を測定するセンサーです。 ジャイロ制御では、ジャイロセンサーで揺れをみて、揺れを抑える制御を行います。\\ デフォルトのロボットには予めジャイロ制御パラメータ(制御の強さ)が設定されています。 ジャイロ制御パラメータの設定は[[ja:manual:robot_design_mode#ジャイロ制御設定|ジャイロ制御設定]]の節を参照ください。\\ \\ ジャイロ制御の有効性を確かめるために、例としてデフォルトのロボットで、\\ 【モーションエディタ】→【FK】タブ→【Load】→【0WalkYokoTaore.rmo】をロードしてください。\\ 【RunMotion】ボタンを押して実行するとバランスを崩して倒れてしまいます。わざと不安定な歩行をさせているためにバランスを崩しています(図 5-28 )。\\ 次に【ジャイロ制御On/Off】にチェックを入れてから(図 5-29 )、モーションを実行してください。倒れずに歩行できていることが確認できます。\\ このようにバランスを崩しそうなモーションでもジャイロ制御を入れることによって、バランスを保つことができます。とはいえ万能ではありませんが。 __モーション保存時に【ジャイロ制御On/Off】の状態もモーションデータと一緒に保存されます。モーションによってジャイロ制御のOn/Offを使い分けることが可能です。__\\ {{:ja:manual:design26.png?220|}}\\ 図 5-28 不安定な歩行(0WalkYokoTaore.rmo)で転倒\\ {{:ja:manual:design27.png?180|}}\\ 図 5-29 ジャイロ制御のOn/Off\\ ==== モーショングループ ==== 複数のモーションデータをまとめてモーショングループとして登録可能です。 繰り返し部分の多いダンスモーションや、連続コンボ技などを登録するのに便利です。 モーショングループを登録するには、【モーション設計】→【モーショングループ】を選択すると図 5-30 (1)のようなウィンドウが表示されます。 ①登録する行を選択し、②登録するモーションを選択し、【セット】ボタンを押すとモーションが登録されます。\\ 同様の操作で二つのモーションを登録すると、図 5-30 (2)のようになります。 そして④【実行】ボタンを押すと、二つのモーションが連続で実行されます。 また、⑤【For】で繰り返し実行される回数を個別に設定することが可能です。 モーショングループから他のモーショングループを呼び出すことも可能です。 データの【Save】【Load】【Delete】が可能です。\\ {{:ja:manual:design28.png|}}\\ 図 5-30 モーショングループ\\ ==== ジョイパッドエディタ ==== ジョイパッドのボタンに任意のモーションやモーショングループを割り当てることが可能です。 ジョイパッドの操作法については[[ja:manual:battle_mode#操作方法|バトルモードページの操作方法の節]]を参照ください。\\ ジョイパッドの設置をするには、【モーション設計】→【ジョイパッド設定】を選択してください。 図 5-31 のようなウィンドウが表示されます。デフォルトのロボットには予めいくつかのモーションが登録されています。 変更するには、①コンボボックスからモーションファイル又はモーショングループを選択、 ②再生ボタンを押すと指定モーションが実行されますので動作を確認してください。最後に③【Save】ボタンを押すと設定が保存されます。\\ __尚、設定データは【Save】ボタンを押した後にジョイパッドに反映されます。__\\ {{:ja:manual:design29.png?450|}}\\ 図 5-31 モーショングループ\\ ==== ジャイロ制御設定 ==== ジャイロ制御については[[ja:manual:robot_design_mode#ジャイロ制御の反映|ジャイロ制御の反映]]の節で解説しました。 ここではジャイロ制御のパラメータ(強さ)の設定方法について解説します。\\ ジャイロ制御を調整するには、【モーション設計】→【ジャイロ設計エディタ】を選択してください。 図 5-32 のようにジャイロ設計設定ウィンドウが表示されます。\\ X、Y、Z軸の各軸毎に制御系設定をすることが可能です。デフォルトのロボットにはX軸(ロール軸)方向の制御のみ設定されており 、図 5-32 のようにX軸周りの左右足首、左右腰のロール軸のパラメータをそれぞれ80に設定されています。\\ [[ja:manual:robot_design_mode#ジャイロ制御の反映|ジャイロ制御の反映]]節で解説したようにロール軸方向の揺れに対して強くなっています。\\ {{:ja:manual:design30.png?450|}}\\ 図 5-32 ジャイロ制御設定ウィンドウ ==== コマンドウィンドウ ==== ロボットの制御はオリジナルのスクリプト言語で記述されています([[ja:manual:script_language|スクリプト言語のページ]])。 スクリプト言語のデバッグ用にコマンドウィンドウが用意されています。\\ コマンドウィンドウを開くには、【モーション設計】→【コマンドウィンドウ】を選択してください(図 5-33 )。\\ {{:ja:manual:design31.png?350|}}\\ 図 5-33 コマンドウィンドウ\\ 簡単なコマンドの実行方法について解説します。\\ ロボットの関節指令値には[[ja:manual:robot_design_mode#サーボモータ設定|サーボモータ設定]]の節にあるように、変数が設定されています。\\ コマンドウィンドウから直接変数の値を読んだり、書き換えたりできます。\\ デフォルトのロボットの場合、右肩ピッチ軸の変数は「ShoP_R」となっています。\\ ①コマンドウィンドウでShoP_Rと打ち込んでください。\\ ②ShoP_Rの現在値(ShoP_R=0)が表示されます。\\ ③ShoP_R=9000と入力してください。ロボットの右肩が90[deg]回転します。\\ 値1カウントに対し0.01[deg]に設定されていますので、9000で90[deg]に相当します。\\ ④rmo(0Walk)と入力してください。\\ モーションファイル0Walk.rmoが実行され、ロボットが前進歩行します。\\ ⑤rmg(LR-Step)と入力してください。\\ モーショングループLR-Step.rmgが実行され、ロボットが左右に移動します。\\ ⑥runと入力すると、スクリプトmain.txtが実行されます。\\ main.txtは無限ループ実行されるので、停止するには、【設定】→【Reset】ボタンを押してください。\\ ===== 構成設計メニュー ===== 構成設計のメニューではロボットの構成や形状等を大きく変更することができます。小型ロボット、大型ロボット、車輪型ロボット、動くステージ、障害物など、様々なものを作成可能です。\\ そのため、モーションを作成した後に、構成設計のメニューを使用しますとこれまでに作成したモーションで動かなくなる場合や、モーションが使えなく場合もありますので、注意してください。\\ __新規にロボットを設計される場合は、最初に構成設計を行い、そのあとにモーション設計をされることをお勧めします。__ ==== パーツの構成 ==== ロボットの設計を解説する前に、ロボットやステージのパーツの構成について解説します。\\ パーツ単体は図 5-34 のような構成になっており、物理情報とポリゴン情報、そしてジョイント情報より構成されています。\\ 各パーツは一つだけジョイントを持っていて、これを接続することで図 5-35 のようなロボットのモデルを作ります。但し0番目のパーツにはジョイント情報がありません。 ロボットの各パーツには親子関係があり、例えば図にありますようにパーツ1番の親は0番となっています。子は親に連動して動きます。\\ {{:ja:manual:design32.png?350|}}\\ 図 5-34 パーツの構成\\ {{:ja:manual:design33.png?320|}}\\ 図 5-35 ロボットのパーツ構\\ ==== データの保存 ==== 変更したデータを保存するには、【保存】ボタンを押してください(図 5-36 )。\\ {{:ja:manual:design34.png?250|}}\\ 図 5-36 設計データの保存\\ 設定データの保存先は、【データフォルダを開く】ボタンを押したときにエクスプローラ等に表示される、config.txtになります。ファイル構成については[[ja:manual:file_structure|ファイル構成ページ]]を参照ください。\\ {{:ja:manual:design35.png?350|}}\\ 図 5-37 設計データの保存先\\ ==== 設計エディタ ==== メニューバーから【構成設計】→【設計エディタ】を選択すると、図 5-38 のように設計エディタが開きます。\\ {{:ja:manual:design_ws000035.png?450|}}\\ 図 5-38 設計エディタ === 設計BODYの選択 === 設計エディタではBODY毎に設定を行います。例えば17番のBODYを編集したいときは、図 5-39 のように選択します。\\ 選択したときに、3D Viewウィンドウ上で赤色で表示されているBODYが現在編集中のBODYで、黒破線で表示されているBODYは親BODYです。BODYの親子関係については、[[ja:manual:robot_design_mode#パーツの構成|パーツの構成]]の節を参照ください。\\ {{:ja:manual:design36.png?350|}}\\ 図 5-39 設計パーツの選択 === パーツの位置・姿勢の変更 === パーツの位置・姿勢を変更するには、①【位置姿勢】タブを選択し、②Body Posの値を変更し(例ではX方向に123.4[mm])、③Body Rotを変更(例ではX軸周りに34.5[deg]回転)します。 {{:ja:manual:design37.png|}}\\ 図 5-40 BODYの位置・回転 親に対して、どの位置に配置するかを設定できます。図 5-41 のようAlignment(アライメント)を調整することによって、親パーツに対する位置を設定することが可能です。設定内容は表 5-1 のようになります。\\ {{:ja:manual:design38.png|}}\\ 図 5-41 Alignmentの変更 \\ \\ \\ 表 5-1 Alignmentの設定値\\ ^設定値 ^ 動作 ^ |Center | 親パーツのCenter(中心)に合わせる | |+X | 〃の+X面(前)に合わせる | |-X | 〃の-X面(後)に合わせる | |+Y | 〃の+Y面(左)に合わせる | |-Y | 〃の-Y面(右)に合わせる | |+Z | 〃の+Z面(上)に合わせる | |-Z | 〃の-Z面(下)に合わせる | === 質量・寸法 === 各パーツの寸法質量は、【寸法・質量】タブで設定可能です。 図 5-42 の例では0番のBody SizeのZ方向の寸法を55[mm]→155[mm]に変更しました。\\ \\ {{:ja:manual:design39.png}}\\ 図 5-42 寸法・質量の変更\\ === Joint === ジョイントの位置や方向は、【Joint】タブで設定可能です。 図 5-43 の例では右肩のJoint Axisをピッチ方向(0,1,0)→ヨー方向(0,0,1)に 変更しました。 関節の駆動方向が変わったことが確認できます。\\ {{:ja:manual:design40.png}}\\ 図 5-43 Joint設定\\ === 簡易表示用色 === 簡易表示時の色は、【簡易表示用色】タブで設定可能です。 図 5-44 の例では右肩の色を、(R=0, G=1.5, B=0, A=0)→(R=2, G=0, B=0, A=1)に 変更しました。\\ 但し、RGBAの定義は以下の通りです。\\ R:赤成分\\ G:緑成分\\ B:青成分\\ A:透明度\\ \\ 通常、簡易表示部の表示は行わないので、A=0に設定することになると思います。\\ Aの値を増やしていくと、常に表示されるようになります。\\ \\ {{:ja:manual:design41.png}}\\ 図 5-44 簡易表示色\\ === 特殊設定 === その他の設定は特殊設定タブにまとめてあります(図 5-45 )。\\ \\ {{:ja:manual:design41_5.png?300|}}\\ 図 5-45 特殊設定\\ \\ \\ Joint Type\\ ジョイントのタイプを選択することができます。\\ |HINGE |回転ジョイント| |SLIDER |直線駆動するジョイント| |FIXED |ジョイントを固定する(モータ駆動しない)| |NONE |ジョイント無し| \\ \\ Body Type\\ 衝突判定エリアの形状を選択することができます。\\
BOX直方体
SPHERE球体
CAPPED_CYLINDERカプセル型形状
CYLINDER円柱型形状(接触判定の動作が不安定なためお勧め致しません)
各形状は図 5-46 のようになります。\\ \\ {{:ja:manual:design42.png|}}\\ 図 5-46 Body Type\\ \\ \\ Phys Type\\ 物理演算を行うかの設定をします。\\ |物理演算ON|全ての物理演算を行います。| |接触判定のみ|接触判定のみを行います。動かない壁や床等はこの設定にすると演算速度が速くなります。| |物理演算OFF|物理演算を行わないようにします。駆動出来ますので、ビジュアル的に駆動させることが可能です。| // // Parent\\ 親パーツを設定することができます。\\ 親パーツに設定できるのは、自分のパーツ番号よりも小さいパーツです。\\ 親パーツ無しに設定することも可能です。\\ === ポリゴン設定 === ポリゴンファイルの設定方法について解説します。\\ 設定は図 5-47 のエリアで行います。\\ {{:ja:manual:design43.png?280|}}\\ 図 5-47 ポリゴンファイルの設定\\ \\ ポリゴンファイルを追加するには、【ポリゴン追加】ボタンを、削除するには【ポリゴン削除】ボタンを押してください。\\ ポリゴンファイルの数に応じてタブが増えます(図 5-48 )。\\ {{:ja:manual:design44.png?300|}}\\ 図 5-48 ポリゴンファイルの追加 CAD等で作成したポリゴンファイルを使えるようにするには、 【データフォルダを開く】ボタンを押してフォルダを開き、\\   STLファイルの場合は【stl_data】フォルダ内に、\\   Xファイルの場合は【X File】フォルダ内に、\\ コピーしてください(STL, X FILEについては[[ja:manual:one_point#STLファイルの軽量化方法|ワンポイントページのSTLファイルの軽量化方法の節]]、 [[ja:manual:one_point#メタセコイアからのインポート方法|ワンポイントページのメタセコイアからのインポート方法の節]]を参照ください)。\\ ポリゴンファイルを変更するには【FILE TYPE】から【STL】か【X FILE】を選択してください。 次に【FILE 名】でファイルを選択してください。\\ STLファイルの場合は色を設定できますので、色を設定してください (X FILEの場合はファイル内で色が既に設定されています。)\\ 位置を変更するには【Pos[mm]】の値を、姿勢を変更する場合は【Rot[deg]】の値を、拡大縮小を行う場合は【Zoom】をそれぞれ選択してください。\\ 【センター基準】にチェックが入っていない場合は、ポリゴンの位置はファイルの座標値をそのまま使用します。 チェックが入っている場合は、ポリゴンの中心位置を原点とします。\\ 【ポリゴン表示】のチェックを外すとポリゴンが一時的に表示されなくなります。 最後に、以上の機能を使用してポリゴンデータを追加した例を図 5-49 (右肩の赤いパーツ)に示します。\\ {{:ja:manual:design45.png?420|}}\\ 図5-49 ポリゴンを追加した例 === 情報のコピー&ペースト === パーツの一部の情報をコピーし、別のパーツにペーストすることが可能です(図 5-50 )。\\ {{:ja:manual:design46.png?250|}}\\ 図 5-50 コピー&ペースト\\ 【寸法質量色Copy,Paste】ボタンで、[[ja:manual:robot_design_mode#質量・寸法|質量・寸法]]の節の寸法質量情報と、 [[ja:manual:robot_design_mode#簡易表示用色|簡易表示用色]]の節の簡易表示情報のCopy,Pasteを行うことができます。\\ 【ポリゴン情報Copy,Paste】ボタンで、[[ja:manual:robot_design_mode#ポリゴン設定|ポリゴン設定]]の節のポリゴン情報のCopy, Pasteを行うことができます。\\ === 足裏パーツの設定 === ロボットの足裏となるパーツの番号を設定できます。\\ {{:ja:manual:design47.png?250|}}\\ 図 5-51 足裏パーツの定義\\ 足裏パーツの定義は、バトルでの転倒判定に使用されます。 バトルでは足裏以外が地面についたらダメージが蓄積されます。 従って、ここで定義された11番と12番のパーツが地面に接している間はダメージが蓄積されません。\\ また、[[ja:manual:common_functions#設定メニュー|各モード共通機能ページの設定メニューの節]]のZMP表示の計算にも足裏のパーツ番号を使用しています。\\ === カメラを搭載するBODYの設定 === ロボット搭載カメラ([[ja:manual:common_functions#カメラメニュー|各モード共通機能ページのカメラメニューの節]])をどのパーツに載せるかを設定することができます(図 5-52 )。\\ {{:ja:manual:design48.png?250|}}\\ 図 5-52 カメラを搭載するBODYの設定\\ === 共通テクスチャ === STLファイルのモデル全体に適用するテクスチャファイルを設定することができます(図 5-53 )。\\ デフォルトではtex.bmpを使用しています。\\ {{:ja:manual:design49.png?250|}}\\ 図 5-53 共通テクスチャ\\ === その他 === ロボットの0番目のBodyを常に空中に固定することができます(図 5-54 )。 特殊な用途向けですので、ゲームでは使用しないでください。\\ {{:ja:manual:design50.png?250|}}\\ 図 5-54 空中に固定 ==== サーボモータ設定 ==== ロボットの関節のサーボモータの特性を設定することが可能です。 設定を行うには、メニューから【構成設計】→【サーボモータ設定】を選択し、図 5-55 のサーボモータ設定ウィンドウで設定します。\\ {{:ja:manual:design51.png|}}\\ 図 5-55 サーボモータ設定\\ 各項目の設定内容は次の通りです。\\ ID:BODY番号 変数名:スクリプトで使用する変数名 方向:モーターの回転方向を+,-で設定 最大トルク:モータの最大トルク(or 力) 位置gain :位置制御の強さ モータPgain:モータの保持力の強さ モータDgain:モータの粘性力の強さ 摩擦力:関節に加わる摩擦トルク(or 力) 最大速度:関節の最大速度 最小範囲:最小駆動範囲 最大範囲:最大駆動範囲 デッドバンド:制御できない範囲(ギアのバッククラッシュの模擬用) 制御タイプ:位置制御か速度制御を選択 ==== 接触グループ設定 ==== ロボット内のパーツ同士をグループ化し、グループ同士を接触させることが可能です。\\ 接触グループの設定を行うには、メニューから【構成設計】→【接触グループ設定】を選択し、図 5-56 の接触グループ設定ウィンドウで設定します。 図を例に、接触グループ設定ウィンドウの見方を解説します。 * 【接触グループ構成】エリアに、グループが0番から4番まであり、その親子関係が表示されています。 * 違うグループ同士が接触します。また、親と子は接触しません。\\ 従って、この場合では3番と4番のグループが接触します。 * 左側のエリアでロボットのパーツに、接触グループを割り当てています。\\ 上半身がグループ1、右足がグループ3、左足がグループ4に設定されています。\\ 従って、右足のグループと、左足のグループが接触します。 * 接触グループ同士の、接触パラメータは【接触パラメータ】エリアで設定します。\\ 【親番号】は、①の親子関係を設定しています。\\ 【接触判定モード】は、反発係数モデルとバネダンパモデルを選択可能です。\\ 前者は固い物体同士、後者は柔らかい接触をさせたいときに使用するのが良いでしょう。\\ 【摩擦係数】は、摩擦係数を設定します。\\ 反発係数モデルのときは、【反発係数】を設定します。\\ バネダンパモデルのときは、【バネ定数】と【減衰定数】を設定します。 {{:ja:manual:design52.png|}}\\ 図 5-56 接触グループ設定\\ ==== 配置エディタ ==== メニューから【構成設計】→【配置エディタ】を選択すると、配置エディタウィンドウが表示されます。 配置エディタには大きく2つの機能があります。 - モーションエディタや設計エディタの、モーターのボタン配置 - パーツの追加・削除 === ボタン配置 === ロボットによって関節の構成が違いますので、ロボット毎にモーションエディタ等でのボタン配置を変更する機能が設けられています。\\ 例えば図 5-57 (1)のように配置を設定すると、図 5-57 (2)のようにモーションエディタ等のボタンの配置が変わります。\\ {{:ja:manual:design53.png|}}\\ 図 5-57 配置エディタ(ボタン配置の変更)\\ === パーツの追加・削除 === 配置エディタでロボットのパーツ数を自由に変更することが出来ます。\\ 例えばパーツ番号25番を追加するには、追加エリアに「25」と設定して【追加】ボタンを押します。左手に、24番パーツの子としてパーツが追加されました(図 5-58 (1))。\\ これを右手に移動させるには、配置エディタを閉じて設計エディタを開き、図 5-58 (2)のように【特殊】タブの、【Parent】の値を23(右手パーツ)に設定します。 {{:ja:manual:design54.png|}}\\ 図 5-58 配置エディタ(パーツの追加・削除)\\ ===== その他ウィンドウ操作 ===== その他各モードで共通的な操作は[[ja:manual:common_functions|各モード共通機能のページ]]を参照ください。