depthscan takes in protobuf packets from the fathom depth sensor, and
generates laser scans, point clouds, and cliff messages, to be used in
lifelong_mapping (SLAM), and
fathom_obstacle_finder (low/high obstacle cloud generation).
If you activate the depth and/or amplitude images via the
curl-command interface, it will broadcast those as ROS images.
The node also safety-stops the robot and hard-resets the depth sensor if no data is seen for 0.5 and 10 seconds, respectively.
Also, if the depth sensor has not time synced to the high-speed board yet (incoming data time stamp is more than 1 second away from current time), the outgoing ROS messages will be stamped with current time - 0.2 secs.
The laser scan from the depth sensor (created from the main beam portion
of the point cloud, with “ghost points” from external reflections removed)
contains 360 readings over 180 degrees (one reading every 0.5 deg)
Same as /scan, but with every other reading removed (one beam every 1 deg)
used for mapping
Same as /scan (published for legacy reasons, used for nav)
The full point cloud from the depth sensor, in the frame of the sensor
Points are (x,y,z)
If activated via curl commands on the robot, the sensor’s depth image
If activated via curl commands on the robot, the sensor’s amplitude image
Readings from the front “cliff sensors,” generated on the sensor from the low/cliff beam’s point cloud (for feeding to
For debugging, the portion of the cloud used in cliff detection
If the depth sensor stops responding for 0.5 seconds, goes false to stop the robot from driving (safety check)
Latched node status publisher that goes true when it gets the first message, just for making startup order predictable
Used to hard-reset the depth sensor, if no data is seen for 10 seconds
Used to broadcast ROS topics based on a saved protobuf file
double, default 0.4 Only broadcast cliff messages if something changes, or every time_between_cliff_msgs secs
int, default 0 (but default-set to 1 in depthsensor.launch’s args) Number of (potentially false-positive) cliffs to ignore before broadcasting on /depthscan/front_cliff