違うバージョンのROS間で、MarkerArrayの可視化をrvizで行う

ROS Indigo上でPublishするMarkerArrayを、ROS Kinetic上のrvizで可視化するのにはまったので、解決法を書いておきます。
異なるバージョンのMakerArrayをSubscribeするとrvizがエラーを吐き可視化できません。バージョンの違いを検出する仕組みとしては、/opt/ros/*version*/include/visualization_msgs/MarkerArray.hに直書きされてるmd5値を照合しています。
今回の場合は、

  1. ROS Indigoの/opt/ros/indigo/include/visualization_msgs/MarkerArray.hに書いてあるmd5値をコピー、
  2. ROS Kineticの/opt/ros/indigo/include/visualization_msgs/MarkerArray.hに書いてあるmd5値をIndigoのものと同じになるよう変更
  3. rvizのソースをダウンロード
  4. コンパイルしてパスを通す
  5. rosrun rviz rvizで実行
みたいな感じで、同一のmd5値にしてあげることでエラーを回避できます。

Makerの場合も多分同様の方法で解決可能だと思います。(maker.hにもmd5値が書いてあるのは確認した)


0 件のコメント :

コメントを投稿