MATLAB Answers

0

チュートリアルが正しく動かない ROS アクションと逆運動学を使用した PR2 のアーム動作の制御

Asked by Kazutaka Kikuchi on 18 Mar 2019
Latest activity Commented on by Kazutaka Kikuchi on 20 Mar 2019
Robot System ToolboxのGazebo関連のチュートリアルをいくつか実施していますが、
下記のチュートリアルが動作しません。どのように対処すればよいでしょうか?
 ・ROS アクションと逆運動学を使用した PR2 のアーム動作の制御
 ・シミュレーションでのロボットの自律性のテスト
下記は正常動作しました。
・Gazebo からのモデルおよびシミュレーションの特性の読み取り
・Gazebo でのオブジェクトの追加、作成、および削除
・Rosinitも正常です
このことから、Gazeboへの接続はうまくいっていると思います。
環境はMathworksツールはWindows10、Gazeboはチュートリアル上からダウンロードしました。

  2 Comments

Tohru Kikawada on 20 Mar 2019
もう少し詳しく現象を教えていただいてもよろしいでしょうか。
チュートリアルが動作しないというのはコードのどこで起こっていますか。
たとえば、sendGoalAndWaitコマンド(actionlib)が動作しないなどでしょうか。
Tohru Kikawada様
返信ありがとうございます。
>>rosinit('192.168.1.103')
Initializing global node /matlab_global_node_43058 with NodeURI http://192.168.1.100:62549/
>>[rArm, rGoalMsg] = rosactionclient('r_arm_controller/joint_trajectory_action');
>>waitForServer(rArm); ← 30分待ちましたが帰ってきません
また、sendGoalAndWaitも同様に帰ってきません。
Gazeboの物理情報取得やRostopics一覧はMATLABから見ることができています。
追加で必要なデータ等ありましたら、お申しつけください。
全く原因がわからず困っています。

Sign in to comment.

1 Answer

Answer by Tohru Kikawada on 20 Mar 2019

Gazebo側からメッセージが返ってこないことでMATLABが待機状態になっているようです。ホスト側のネットワークアダプタのIPアドレスを明示的に指定することで解決できるケースがあります。
ROS ネットワークへの接続 の"ROS 環境変数"にあるようにsetenv関数を使って明示的にそれぞれの変数を設定してみてください。

  4 Comments

Show 1 older comment
追加で以下のエラーが発生しました。
Error [ModelDatabase.cc:387] Unable to get model name[http://gazebosim.org/models/drc_practice_door_4x8]
Tohru Kikawada on 20 Mar 2019
混乱させてしまって申し訳ありませんが、setenvはMATLBのコマンドです。MATLAB上で下記のコマンドでMATLABで使う環境変数を設定してみてください。VMware上のUbuntuの設定ではありません。
MATLAB側でrosinitの前に下記のとおり設定をお試しいただけますでしょうか。
setenv('ROS_MASTER_URI','http://192.168.1.103:11311') % VMwaer上のUbuntuのROSのURI
setenv('ROS_IP','192.168.1.100') % Windows側のネットワークIFのIPアドレス
rosinit
ご指摘ありがとうございます。上記試しましたが、変化ありませんでした。
念のため、rosinitも2種類 rosinit、rosinit("192.168.1.103")の両方を試しましたが、
残念ながら結果は同じでした。

Sign in to comment.