概要

gmappingなどの多くのマップ生成パッケージでは、sensor_msgs/LaserScanの型のトピックを受信することが多いと思います。そのような時に、scanを発行できるデバイスはLidarなどがありますが、Lidarを使わずにデプスカメラだけを用いたい場合に、深度マップのトピックをscanトピックに変換してくれるdepthimage_to_laserscan というパッケージを用いることをおすすめします。

使い方

launchファイルの例は下記になります。

  <node pkg="depthimage_to_laserscan" type="depthimage_to_laserscan" name="depthimage_to_laserscan_left" >
    <param name="output_frame_id" value="scan_link"/>
    <remap from="image" to="/camera/depth/image_raw" />
    <remap from="camera_info" to="/camera/depth/camera_info" />
  </node>
  • output_frame_id: scanトピックが発行されるフレームのIDです。通常は、デプスカメラが設置されたフレームを指定すれば良いかと思います。
  • image: インプットされるデプスカメラのデータです。デフォルトだと/imageというトピックをsubscribeしにいくので、 デプスカメラが発行するトピックにremapします。(例では/camera/depth/image_raw)
  • camera_info: インプットされるデプスカメラのメタデータです。デフォルトだと/camera_infoというトピックをsubscribeしにいくので、デプスカメラが発行するトピックにremapします。(例では/camera/depth/camera_info) 

上記をlaunchファイルに追加して実行するとデプスカメラの情報がscanトピックに変換されて出力されます。

scanトピックの発行

複数方向のデプスマップの統合

デプスカメラはLidarなどに比べるとスキャン範囲は狭くなってしまうので、複数台を組み合わせることも可能です。

複数変換したい時も同様で、下記のように名前がぶつからないように注意しながらlaunchファイルを組めば大丈夫です。 

  <node pkg="depthimage_to_laserscan" type="depthimage_to_laserscan" name="depthimage_to_laserscan_front" >
    <param name="output_frame_id" value="scan_front_link"/>
    <remap from="image" to="/camera_front/depth/image_raw" />
    <remap from="camera_info" to="/camera_front/depth/camera_info" />
    <remap from="scan" to="/scan_front" />
  </node>

  <node pkg="depthimage_to_laserscan" type="depthimage_to_laserscan" name="depthimage_to_laserscan_left" >
    <param name="output_frame_id" value="scan_left_link"/>
    <remap from="image" to="/camera_left/depth/image_raw" />
    <remap from="camera_info" to="/camera_left/depth/camera_info" />
    <remap from="scan" to="/scan_left" />
  </node>

  <node pkg="depthimage_to_laserscan" type="depthimage_to_laserscan" name="depthimage_to_laserscan_right" >
    <param name="output_frame_id" value="scan_right_link"/>
    <remap from="image" to="/camera_right/depth/image_raw" />
    <remap from="camera_info" to="/camera_right/depth/camera_info" />
    <remap from="scan" to="/scan_right" />
  </node>

スキャントピックのマージ

複数のscanトピックを統合する方法については下記記事を参考にしてください。

https://rb-station.com/blogs/article/ros-laserscan_multi_merger

Ros

Related Posts

Arduino Nano互換ボードで書き込めない時はプロセッサを確認
Arduino Nano互換ボードで書き込めない時はプロセッサを確認
概要 安価なArduino Nano互換ボードを使っていると、Arduino IDEで書き込みができずにエラーになってしまうことがあります。本記事ではその対処法について解説をします。 対処法 書き込み時にエラーが出る原因はさまざまな...
Read More
ブレッドボードに5V/3.3Vの電源をMB102で供給する
ブレッドボードに5V/3.3Vの電源をMB102で供給する
概要 ブレッドボードには電源を流すことに主に用いられる、両脇の赤と青のラインがあります。Arduinoなどのマイコンから5Vや3.3Vの電源を供給することもできますが、色々な用途に使っていると電流が足りなくなってしまったりするので、別...
Read More
積載重量2kg / 4輪駆動小型DCモータ メカナムホイールロボット台車・カーシャーシの組み立てマニュアル
積載重量2kg / 4輪駆動小型DCモータ メカナムホイールロボット台車・カーシャーシの組み立てマニュアル
概要 積載重量2kg / 4輪駆動小型DCモータ メカナムホイールロボット台車・カーシャーシの組み立て方について解説をします。 商品リンクは下記になります。 https://rb-station.com/products/%E7%A9...
Read More