【V-REP学習記録01】ROSでV-REPをセットアップする

内容の大部分は、書籍「Lentin Joseph - Mastering ROS for Robotics Programming」を参照しています。

環境:Ubuntu18.04ROS MelodicV-REP 3_6_2

1. V-REP3_6_2をダウンロードして解凍します。

wget https://coppeliarobotics.com/files/V-REP_PRO_EDU_V3_6_2_Ubuntu18_04.tar.xz

ダウンロードした圧縮パッケージを作業ディレクトリに解凍し、名前を V-REP に変更します。私のディレクトリはホーム ディレクトリ /home/b にあります。 

ホーム ディレクトリで Crtl+T を押してターミナルを開き、次のように入力します。

sudo gedit ~/.bashrc

bashrc ファイルの最後にコードを追加します。

 export VREP_ROOT=/home/b/V-REP

2. V-REP は、外部アプリケーションからシミュレートされたロボットを制御するための次のモードを提供します。 

 1. リモート API:いくつかの呼び出し可能な関数で構成され、C/c++、Python、Lua、または Matlab を使用して開発された外部アプリケーションです。リモート API はネットワーク経由で V-REP と対話し、ソケット通信を使用します。リモート API または Python ノードを C++ に統合して、ROS をシミュレーション シナリオに接続できます。すべてのリモート API のリストは、Coppelia Robotics Web サイト http://www.coppeliarobotics.com/helpFiles/en/remoteApiFunctions.htm でご覧いただけます。リモート API を使用するには、クライアント側とサーバー側の両方を実装する必要があります。

        V-REP クライアント: クライアントは外部アプリケーションに常駐します。これは、ROS ノード上で実行することも、サポートされているプログラミング言語のいずれかで記述された標準プログラムとして実行することもできます。

        V-REP サーバー: この目的は V-REP スクリプトに実装されており、シミュレーターが次の操作を実行して外部データを受信し、シミュレーション シーンと対話できるようにします。

2. RosPlugin: ROS 通信システムを使用して、オブジェクト シーンをシミュレートするための直接接続を実現します。このプラグインを使用すると、サブスクライブされたメッセージを自動的に適用し、シーン オブジェクトからトピックを公開して、情報を取得したり、シミュレートされたロボットを制御したりできます。

3. RosInterface: V-REP の最新バージョンで導入され、このインターフェイスは将来のバージョンでRosPlugin に置き換わりますRosPlugin とは異なり、このモジュールは API の C++ 関数を複製して、ROS と V-REP が通信できるようにします。

以下では、RosPlugin を使用して V-REP と対話する方法について説明します。

1 つ目は、ROS 通信ブリッジを作成することです。vrep_common と vrep_plugin という 2 つのパッケージを ROS ワークスペースに追加する必要があります。入手方法は次のとおりです。

git clone https://github.com/jocacace/vrep_common.git

git clone https://github.com/jocacace/vrep_plugin.git

これらのパッケージをコンパイルするには、catkin_make コマンドを使用します。

エラーが報告された場合は、エラー情報を検索すると、通常は解決できます。コメント欄で一緒に議論することもできます。

すべてが順調な場合:

vrep_plugin 共有ライブラリ: libv_repexvs を作成します。それで。このファイルは、devel/lib/ ディレクトリにあります。このファイルは、devel/lib/ ディレクトリにあります。V-REP でこのライブラリを使用するには、このライブラリをメイン ライブラリの vrep フォルダ、つまり VREP フォルダにコピーする必要があります。

cp devel/lib/libv_repExtRos.so $VREP_ROOT

このライブラリにより、V-REP は起動時に roscore のアクティブなインスタンスに接続し、フレームワークにリンクされた ROS ノードに変換できます。したがって、V-REP を ROS に接続するには、V-REP を起動する前に roscore インスタンスを実行する必要があります。すべてが正常に動作しているかどうかをテストするには、roscore を起動し、V-REP ソフトウェアを起動します。

roscore  

$VREP_ROOT/vrep.sh

成功: 

运行 rostopic list

テスト:

rosInterfaceTopicPublisherAndSubscriber.ttt を開き、「実行」をクリックして、トピックを表示するための新しいターミナル rostopic リストを作成します。

 購読して表示すると、結果は次のようになります。

 rosrun image_view image_view image:=/image

 

おすすめ

転載: blog.csdn.net/cz_include/article/details/131384866
おすすめ