2019年2月21日木曜日

続ROS#と戦ってみた

とりあえずの戦況報告。
前回、BSON化してLaserScanを送るという所までできました。
その後、細々とした修正をに加え、PointCloudを扱うコードを追加したりしてました。

とりあえずの移動ロボット可視化には十分つかえそうな感じです。
もし要望があるようならば、そのうち解説をかこうかなと思っています。

5 件のコメント:

  1. Velodyneのデータ可視化に取り組んでいますが、Pointcloud含めlaserscanの解説お願いしたいです。

    返信削除
  2. leaserscanとpontcloudは全然別のフォーマットなんですが、velodyneのrosドライバはさらに独自のデータフォーマットみたいですね。 ということで、ros-sharpのマニュアルにあるとおり、自分でメッセージを追加してあげて、ビジュアライザも自分で組む必要があります。 http://docs.ros.org/indigo/api/velodyne_msgs/html/msg/VelodyneScan.html

    返信削除
  3. ありがとうございます。現状でvelodyne_pointcloudにてpointcloud2に変換し表示を試みています。。

    返信削除
  4. 私の場合はcost_mapの表示(float型)につかったので、こんな感じに以下のファイルを追加して実装してます。
    本家のros-sharpのライブラリ自体にデータ型をつくってあるのですが、ビジュアライザは実装されてなかったので


    https://github.com/akirayou/ros-sharp/blob/withBSON/Unity3D/Assets/RosSharp/Scripts/RosBridgeClient/SensorDataVisualization/PointCloud2VisualizerGeneral.cs
    https://github.com/akirayou/ros-sharp/blob/withBSON/Unity3D/Assets/RosSharp/Scripts/Extensions/PointCloud2Extensions.cs
    https://github.com/akirayou/ros-sharp/blob/withBSON/Unity3D/Assets/RosSharp/Scripts/RosBridgeClient/RosCommuncation/PointCloud2Subscriber.cs

    返信削除
  5. 補足しておくとMarkerPrefabがpointCloud上の点におくオブジェクトを設定します。 
    LaserScanVisualizerSpheresに近い実装です

    返信削除