使用obstacle_detector过滤动态障碍

The obstacle_detector package provides utilities to detect and track obstacles from data provided by 2D laser scanners. Detected obstacles come in a form of line segments or circles. The package was designed for a robot equipped with two laser scanners therefore it contains several additional utilities.

这个包也可以用于合并scan

算法顺序: two laser scans -> scans merger -> merged scan or pcl -> obstacle extractor -> obstacles -> obstacle tracker -> refined obstacles

resulting laser scan divides the area into finite number of circular sectors and put one point (or actually one range value) in each section occupied by some measured points

This node converts messages of type sensor_msgs/LaserScan from topic scan or messages of type sensor_msgs/PointCloud from topic pcl into obstacles which are published as messages of custom type obstacles_detector/Obstacles under topic raw_obstacles.

  • obstacle_tracker node

使用卡尔曼滤波追踪和过滤圆形障碍,订阅消息类型obstacle_detector/Obstacles from topic raw_obstacles and publishes messages of the same type under topic tracked_obstacles. The tracking algorithm is applied only to the circular obstacles, hence the segments list in the published message is simply a copy of the original segments. The tracked obstacles are supplemented with additional information on their velocity.

自定义的消息

  • CircleObstacle
1
2
3
4
5
6
7
8
// center of circular obstacle,
geometry_msgs/Point center
// linear velocity of circular obstacle,
geometry_msgs/Vector3 velocity
// radius of circular obstacle with added safety margin,
float64 radius
// measured radius of obstacle without the safety margin.
float64 true_radius
  • SegmentObstacle
1
2
3
4
// first point of the segment (in counter-clockwise direction)
geometry_msgs/Point first_point
// end point of the segment
geometry_msgs/Point last_point
  • Obstacles
1
2
3
Header header
obstacle_detector/SegmentObstacle[] segments
obstacle_detector/CircleObstacle[] circles

obstacle_detector也有一定误检测概率,可能把真实静态障碍检测为行人。

参考:
Github的obstacle_detector
Cartographer行人点云过滤建图
Paper Review: Detection and Tracking of 2D Geometric Obstacles from LRF Data