コントローラの実行

このチュートリアルでは、mc_rtcで用意されているインターフェイスを使用してコントローラーを実行する方法について説明します。これはあくまで入門にすぎません。使用できるオプションの詳細については、各インターフェイスのドキュメントを参照してください。

前提条件

コントローラを視覚化して操作するには2つのオプションがあります:

  1. mc_rtc_rosで利用可能なRViZパネルを使用する
  2. mc_rtc-magnumのようなスタンドアロンのビジュアライザを使用する

ディスプレイインターフェイスの実行

RViZを使用する

roscoreが既に実行されているか、ROS_MASTER_URIがアクティブなマスターを指していると仮定します。

次のコマンドを実行して、必要なmc_rtc専用パネルとロボットモデルとともにRViZを起動します。

$ roslaunch mc_rtc_ticker display.launch

シミュレーションに2つ以上のロボットがある場合は、新しいRobotModelをシーンに追加する必要があります。ロボットの説明は、パラメータ/control/env_N(Nはロボットインデックスです)で公開されます。

mc_rtc-magnumを使用する

パッケージをインストールした後、次のコマンドを実行してください。

$ mc-rtc-magnum

コントローラの実行

コントローラを実行するには、次のコマンドを使用します。

$ mc_rtc_ticker

ディスプレイインターフェイスを再起動せずにコントローラを再起動できることに注意してください。

tickerにはさらに多くの機能があります。 mc_rtc_tickerとReplayプラグイン"チュートリアルを参照してください。

前提条件

このインターフェイスを実行するには、お使いのシステムにmc_openrtmがインストールされている必要があります。さらに、Choreonoidと、使用するロボットのシミュレーションファイルが必要です。JVRC-1用のサンプルが用意されています。

コントローラーを実行する

Choreonoidでシミュレーションファイルを開きます。例えば、JVRCのサンプルに付属しているmc_openrtmを使用します。

# シミュレーションファイルがインストールされているディレクトリに移動する
$ cd /usr/local/share/hrpsys/samples/JVRC1
# omniNamesサービスを再起動する
$ ./clear-omninames.sh
# シミュレーションファイルを開く
$ choreonoid sim_mc.cnoid

ボタンをクリックし、Choreonoidによるシミュレーションを開始します。このとき、コントローラーも起動されます。以下のようにしてコマンドラインからシミュレーションを直接開始できます。

$ choreonoid sim_mc.cnoid --start-simulation

コントローラーからのフィードバックの取得とコントローラーの操作

ROSのサポート付きでmc_rtcをビルドし、しかるべきオプションを有効にすると、RVizを使用してコントローラーの出力を可視化したり、RVizの専用パネルからコントローラーを操作することができます。RVizの起動方法については、mc_rtc_tickerのチュートリアルを参照してください。

Qtライブラリをお持ちの場合は、ROSのサポートなしでmc_rtc_rosをビルドすることもできます。インストール後に以下のコマンドを実行します。

$ mc_rtc_gui

注: Choreonoidで実現可能な範囲でのみ3次元表示が行えます。

前提条件

このインターフェイスを実行するには、お使いのシステムにmc_vrepV-REPがインストールされている必要があります。

コントローラーを実行する

まず、V-REPを起動し、制御したいロボットと共にシーンを読み込みます。このとき、mc_rtcが制御対象ロボットに合わせて設定されていることを確認してください。

シミュレーションを開始してコントローラーを実行するには、以下のコマンドを実行します。

$ mc_vrep

シミュレーションを停止するには、mc_vrepのコマンドシェルでstopと入力します。

コントローラーからのフィードバックの取得とコントローラーの操作

ROSのサポート付きでmc_rtcをビルドし、しかるべきオプションを有効にすると、RVizを使用してコントローラーの出力を可視化したり、RVizの専用パネルからコントローラーを操作することができます。RVizの起動方法については、mc_rtc_tickerのチュートリアルを参照してください。

Qtライブラリをお持ちの場合は、ROSのサポートなしでmc_rtc_rosをビルドすることもできます。インストール後に以下のコマンドを実行します。

$ mc_rtc_gui

注: V-REPで実現可能な範囲でのみ3次元表示できます。