Gazebo およびシミュレートされた TurtleBot の入門
この例では、Gazebo® シミュレーター エンジンの設定方法を説明します。この例では、Gazebo を使用してさらに詳しく調査したり、シミュレートされた TurtleBot® を使用して調査を進めるための準備を行います。
Gazebo は、物理的シナリオで現実的なテストおよび実験を行うことができるシミュレーターです。Gazebo は、しっかりとした物理学と良質なグラフィックスを使用して短時間で実験を作成し実行できるため、ロボティクスにおいて便利なツールです。MATLAB® は、ROS インターフェイス経由で Gazebo に接続します。
バーチャル マシンのダウンロード
ROS と Gazebo が既にインストールされているバーチャル マシンのイメージをダウンロードできます。このバーチャル マシンは Ubuntu® Linux® をベースとしており、ROS Toolbox™ の例をサポートするように事前設定されています。
ROS バーチャル マシンをダウンロードしてインストールします。
バーチャル マシンを起動します。
Ubuntu デスクトップに、複数の Gazebo ワールドの起動スクリプトやその他のユーティリティ ショートカットが表示されます。TurtleBot® の例では、Gazebo Empty、Gazebo House、Gazebo Office または Gazebo Sign Follower ROS のアイコンを使用します。
Gazebo House をクリックします。ワールドが開きます。
メモ: Gazebo 画面全体が黒く見える場合は、イメージを最小化してから最大化して更新します。
Ubuntu バーチャル マシンで新しいターミナルを開きます。
ifconfig
と入力し、Return を押してバーチャル マシンのネットワーク情報を確認します。eth0
の下のinet addr
に、バーチャル マシンの IP アドレスが表示されます。
ネットワークを設定するには、次の 2 つの ROS 環境変数を設定しなければなりません。ROS_MASTER_URI および ROS_IP。Linux® バーチャル マシンのデスクトップからデモを使用している場合、これらの変数は、通常は起動時に自動的に設定されます。
(オプション) 独自のバーチャル マシンを使用している場合は、ターミナルで以下のコマンドを実行して変数を設定します。
IP_OF_VM
を、ifconfig
によって取得した IP アドレスに置き換えます。
echo export ROS_MASTER_URI=http://IP_OF_VM:11311 >> ~/.bashrc echo export ROS_IP=IP_OF_VM >> ~/.bashrc
echo $ENV_VAR
(ENV_VAR は該当する環境変数に置き換え) を使用して環境変数をチェックします。ターミナルを閉じてから再度開くと、有効になります。
以下の図は、環境変数の正しい割り当て (疑似 IP アドレスを使用) を示しています。
既存の Gazebo シミュレーターへの接続
Linux ディストリビューションで Gazebo を既に実行している場合は、ここで説明するようにシミュレーターを設定します。
ROS Web サイトで、TurtleBot 用の適切なパッケージをダウンロードします。
ROS Web サイトの手順に従って、シミュレートされた Gazebo 環境で TurtleBot を実行します。
環境変数が適切に設定されていることと、ホスト コンピューターと Gazebo コンピューターの間で相互に ping が可能なことを確認します。ネットワークの設定方法は多数あります。ROS ネットワークへの接続の例には、ROS ネットワーク内のデバイス間接続の確認方法に関するヒントが含まれています。
Linux マシン上のターミナルで ROS コマンドを使用するためには、ターミナルの環境で適正な ROS インストールを使用するように設定する必要があります。ROS コマンドを実行する前に、ターミナルで適切な ROS 環境セットアップ スクリプトを取得します。バーチャル マシンのコマンドは
source
/opt/ros/noetic/setup.bash
です。以下のトピックにアクセスできることを確認します。Linux マシン上のターミナルで、
rostopic list
と入力して最小限使用可能なトピックを確認します。
ホスト コンピューターの設定
ネットワーク上でホスト コンピューターの IP アドレスを見つけます。Windows® マシンの場合は、コマンド プロンプトで
ipconfig
と入力します。Mac マシンまたは Linux マシンの場合は、ターミナルを開いてifconfig
と入力します。ipconfig
の例は次のとおりです。
メモ: 接続タイプは、ラップトップへの接続方法によって異なる場合があります。この場合はイーサネットを使用しますが、多くの場合はワイヤレス (WLAN) が適切な接続です。
シミュレーター マシン
ping IP_OF_VM
に ping を実行します。成功したping
が最初に表示され、その後に失敗したping
が表示されます。
次のステップ
Gazebo のその他の例については、Gazebo での ROS を使用したピックアンドプレース ワークフロー (Robotics System Toolbox)を参照してください。
TurtleBot の例については、TurtleBot との通信を参照してください。