Skip to content

Interoperability

Jacob Allen edited this page Apr 2, 2020 · 3 revisions

Range Merger

This node is responsible for taking multiple range sensors and combining their data into a single laser scan with varying levels of interpolation.

This node is important as it allows conversion from Range to LaserScan in a continuous way, which allows ranges to be used as input to packages which expect a single continuous LaserScan as input instead of disparate scans.

Parameters

  • ~scan_start, float: start angle of scan (default: radians(-135)).
  • ~scan_end, float: end angle of scan (default: radians(135)).
  • ~scan_step, float: steps in scan (default: radians(2.5)).
  • ~scan_max_influence, float: maximum influence of range sensors (default: radians(20)).
  • ~scan_influence_smoothing, float: the amount of smoothing on range reading effects (default: 1.5).
  • ~scan_max_range, float: max range reading to consider from range sensors [m] (default: 1.35).
  • ~scan_min_range, float: min range reading to consider from range sensors [m] (default: 0).
  • ~scan_robot_radius, float: offset of radial sensors from centre of robot scan frame [m] (default: 0.035).
  • ~robot_root, namespace: the root namespace of the Pi-puck (default: current namespace).
  • ~reference_frame, str: the reference frame to send laser scans from (default: scan_base).
  • tf_prefix, str: the transform prefix to be applied to reference frames.

Subscribed Topics

  • navigation/proximity/short_range_ir/0 to navigation/proximity/short_range_ir/7, Range: input range readings.
  • navigation/proximity/long_range_ir/0 to navigation/proximity/long_range_ir/5 excluding navigation/proximity/long_range_ir/3, Range: input range readings.

Published Topics

  • range_merger/scan, LaserScan: the resulting laser scan.

Range to Laser Scan

This node is responsible for converting Range messages to LaserScan messages for SLAM packages (or other packages) which don't accept Range as input.

Parameters

  • ~publish_combined_topic, bool: whether to publish a single combined topic for all ranges, useful as most SLAM packages only accept a single scan topic (default: true).
  • ~publish_separate_topics, bool: whether to publish separate topics for every converted range (default: false).
  • ~fov_adjustment, float: adjustment to the laser scan points to make them cover a larger or smaller area than the field of view of the range source would have, 0.5 means half the effective field of view, 2.0 means double, so on (default: 1.0).
  • ~robot_root, namespace: the root namespace of the robot to convert range topics for (default: current namespace).

Published Topics

  • interop/range_to_laser/combined, LaserScan: the combined Ranges as LaserScans.
  • interop/range_to_laser/{TOPIC_PATH_FROM_ROBOT_ROOT}, LaserScan: the individual Ranges as LaserScans.

Subscribed Topics

  • All Ranges under the robot_root.