KHRシミュレータ 技術情報
KHR-3HV Small Humanoid Robot Simulator Technical Tips
※KHRシミュレータの概要、最小システム要件、基本的な使い方などについては、“KHRシミュレータ・ホーム”ページに記述されています。
またインストール方法については、“ダウンロード”ページをご参照ください。
RCBsim
RCBsimの制限事項
- “COM通信速度”の設定は無視されます。システムレジスタを書き換えても、動的には変更されません。
- “ICS通信速度”の設定は無視されます。
- “出力周期”の設定は無視されます。システムレジスタを書き換えても、動的には変更されません。現在は15ms固定です。
- “トリム調整”は無視されます。KHRシミュレータでは、常にトリム調整された状態になっています。意図的にトリム値をずらすことはできません。
- STRETCH/SPEEDコマンドは無視されます。
- RCB4のすべてのコマンドや機能に対応しているわけではありません。
これらについて、今後のバージョンアップで仕様が変更される可能性があります。
初期設定ファイル
RCBsim.exeは起動時に、同じフォルダにある“khrsim.conf”という初期設定ファイルを読みにいきます。初期設定の必要がなければ、このファイルは無くても構いません。設定を変更した場合には、RCBsim.exeの再起動が必要になります。
変数名 値 # コメント
変数名や値(文字列)の前後には、“ ” は付けません。
簡易調整
数値計算でロボットの動きを再現するために、ロボットの形や重さの他、運動特性を表す多数のパラメタを設定してあります。 なるべく実機に近い動きをするようにしていますが、多数のパラメタの最適値を見付けることは大変難しく、いまもずっと調整を続けています。なおパラメタの変更は他のすべてのモーションにも影響を与えるので、注意が必要です。簡易調整の方法を一つ、示します。簡易調整なので、これだけではうまく調整できないこともあります。
ICS_ADJUST -1 # 小さい整数値(プラスあるいはマイナス)を設定します。
加速度センサ
起きあがりモーションには基本的に、“起きあがり(うつぶせ)”と“起きあがり(仰向け)”の2種類があります。ロボットが倒れた向きによって、二つのモーションを使い分ける必要があります。加速度センサを使うと、ロボットの静止時に傾き(うつぶせか仰向けか)を知ることができます。(動作時には、傾きは分かりません。)これにより“起きあがり(方向判定)”モーション(例えば22軸用サンプルモーションに含まれています)で、自動判定できるようになります。加速度センサの設定をせずに“起きあがり(方向判定)”を実行してもエラーにはなりませんが、正しい結果は得られません。KHR-3HVにはオプションで、加速度センサが用意されています。以前はRAS-2C(現在は販売終了)が使われていましたが、2017年からRAS-3に切り替わりました。センサの出力値が異なるため、“起きあがり(方向判定)”モーションにはRAS-2C用とRAS-3用の2種類があります。
KHRシミュレータでは、khrsim.confで加速度センサの種類を指定できます。
ACCELEROMETER_TYPE 2 # 0: None, 2: RAS-2C, 3: RAS-3
“halt. (Simulator only)”
実機に搭載されたCPUボードRCB4では初期設定のあと、優先モーションの条件チェックを繰り返しながら(メインループ)、外部からCOMポートにコマンドが送られてくるのを待ちます。これだと実行したコマンドをトレースする場合に大量のデータが生成されるので、KHRシミュレータでは優先モーションの条件チェックを1度だけ実行するとhalt(一時停止)するようにしています。そして外部からコマンドが送られてくると、自動的に実行を再開します。このhaltするポイントが、PCアドレス0x00044b (MainLoopCmd)です。CoppeliaSim (旧V-REP) Player (Coppelia Robotics社) 関連
KHR3_17モデル
KHR3_17モデル(KHR3_17_xx.ttt)は、近藤科学社の公開情報や実機の実測値をもとにして我々がCoppeliaSim用にモデリングしたKHR-3HVの17軸モデルです。実は内部的には22軸仕様でモデリングしてあり、そこに17軸のプロパティ(各パーツのサイズや重量など)を載せています。(外観のCGも、22軸仕様になっています。)17軸モデルに対して22軸用モーションを実行しても、実機と同じくエラーにはなりません。ただしプロパティが違うので、正しい物理シミュレーションは期待できません。
なおモデルごとに物理シミュレーションのための細かいパラメタ調整が必要なため、 17軸以外のモデルの提供については未定です。
CoppeliaSim Playerの速度チェック
あらかじめCoppeliaSim Playerをインストールしておきます。 KHR3_17モデル(KHR3_17_xx.ttt)をダブルクリックして、CoppeliaSim Playerを起動します。上段メニューバーの中央付近にある “Start/resume simulation”ボタン(右向きの三角アイコン)をクリックして、シミュレーションを開始します。ただしロボットをコントロールするものが何もつながっていないので、ロボットは動きません。 シミュレーション画面内の上部右側に“(real time fact=1.00)”と表示されているか確認します。1.00でない場合は、残念ながらハードウェア性能が足りていません。動作のタイミングがずれるので、例えばロボットが倒れたり、起き上がれないなど、正しいシミュレーション結果が得られません。
シミュレーションを停止する場合は、“Stop simulation”ボタン(“☐”アイコン)をクリックします。
CoppeliaSim Playerを終了する場合は、シミュレーションを停止してから右上の“☓”アイコンをクリックします。
シミュレーションウインドウ
CoppeliaSim Playerの左メニューバー(縦)にある“Model browser”(ロボットのアイコン)と“Scene hierarchy”(階層リストのアイコン)のチェックを外すと不要なサブウインドウが消えて、シミュレーションウインドウが広く使えます。カメラの移動・回転
シミュレーションのカメラを動かすことができます。CoppeliaSim Playerの上メニューバーの左側にあるアイコンをクリックして、カメラの移動や回転を選択します。またマウスのボタンでも、カメラを動かすことができます。- マウスの左ボタン ... 水平、垂直移動
- マウスの中ボタン ... 回転
- マウスのホイール ... 前後
Simulation parametersについての注意画面
シミュレーションをスタートすると、“Simulation parameters”についての注意画面が表示されます。注意画面の下部にあるボックスをチェックして、OKをクリックしてください。 3回繰り返すと、それ以降は表示されなくなります。CoppeliaSim PlayerとRCBsimの実行順序
「CoppeliaSim Playerソフトウェアの起動/終了」とCoppeliaSim Playerによ る「シミュレーションの開始/停止」を、きちんと区別する必要があります。 CoppeliaSim Playerを起動した時点では、シミュレーションは開始されていま せん。- RCBsimの起動時に、CoppeliaSim Playerが先に起動している必要があります。
- CoppeliaSim Playerを起動し直す場合には、RCBsimも起動し直す必要があります。
- RCBsimを起動し直す場合には、CoppeliaSim Playerを起動し直す必要はありません。
- RCBsimがCoppeliaSim Playerに接続すると、シミュレーションが自動的に開始されます
- RCBsimがCoppeliaSim Playerに接続したあと手動でシミュレーションを停止した場合、シミュレーションが自動的に再開されることはありません。手動でシミュレーションを再開してください。このとき、RCBsimを起動し直す必要はありません。
- CoppeliaSim Playerを終了する前に、シミュレーションを停止させてください。
ロボットがシミュレーション画面から消える?
シミュレーションを開始したまま長時間放置すると、ロボットがシミュレーション画面からいなくなることがあります。実は、床(ステージ)の端から奈落に転落しています。手動でシミュレーションを停止すると、ロボットが初期位置に戻ります。ただしシミュレーションが自動的に再開されることはないので、手動でシミュレーションを再開してください。RCBsimを起動し直す必要はありません。HTH4 Private版
Private版の主な変更点

- 近藤科学社のHTH4オリジナル版と簡単に区別するために、Private版にはHTH4ウインドウの左上のタイトル欄に“‹‹PRIVATE ver.XX››” という表示があります。
- COM選択メニュー(標準ではウインドウ上部)に、“‹KHR simulator›”を追加しました。従来通り、COMポートも選択できます。これにより、KHRシミュレータとKHR-3HVの実機を容易に切り替えることができます。
- メッセージウインドウ(標準では下ウインドウ)で、命令に関する詳細情報を表示するようにしました。なおオリジナルのHTH4の仕様により、すべての通信パケットが表示されるわけではありません。
- Motion Tableウインドウ(標準では右ウインドウ)で、モーションの番号や名前の上でダブルクリックしたときにそのモーションが再生されるようにしました。
- Projectウインドウ(標準では左ウインドウ)で、拡張子“.h4p”のファイルはすべてプロジェクトファイルとして扱うようにしました。
- モーション編集ウインドウ(標準では中央ウインドウ)で、再生が完了したときに「一時停止」アイコンから「再生」アイコンに復帰するようにしました。
- Microsoft .NET frameworkのバージョンを上げました。
※HTH4 Private版は近藤科学社の許可を得て、我々が改変し配布しているものです。近藤科学社が配布しているものではありません。これは近藤科学社のサポート対象外です。