open-rmf / rmf_obstacle

Packages that infer the presence of obstacles from sensor inputs.
Apache License 2.0
5 stars 10 forks source link

[Bug]: Lane Blocker fails when there are multiple laser scanners in simulation #33

Closed Jerrybaoyilei closed 4 months ago

Jerrybaoyilei commented 4 months ago

Before proceeding, is there an existing issue or discussion for this?

OS and version

Ubuntu 22.04

Open-RMF installation type

Binaries

Other Open-RMF installation methods

No response

Open-RMF version or commit hash

2.1.2

ROS distribution

Iron

ROS installation type

Binaries

Other ROS installation methods

No response

Package or library, if applicable

No response

Description of the bug

If I have 2 lidar models in the simulation, The lane blocker no longer works. The lasers from the lidar model start to flash. There are multiple large obstacles that show up in Rviz, even though I never added any obstacle in the simulation. Also, some of the lidar rays pass through the walls, even though I set the lidar models' elevation to be 0.5m.

If I only have 1 lidar model, everything works fine.

Steps to reproduce the bug

Run the simulation (for example, the demo office from rmf_demos), and run the laserscan detector node, and then run the lane blocker node. Also start the Gazebo-ROS bridge for the laser scan topic and clock topic.

Expected behavior

No response

Actual behavior

No response

Additional information or screenshots

Below are 2 screenshots I took. It seems like only one lidar is working at one time. lidar_2 lidar_1

Jerrybaoyilei commented 4 months ago

I found a temporary fix to the solution. If you have multiple laser scanners in the simulation, you need to have one rmf_obstacle_detector_laserscan node for each scanner. Have each scanner publish to a separate topic, for example, /lidar/scan/<scanner_name>, and have the corresponding rmf_obstacle_detector_laserscan node subscribe to that topic. Otherwise, some scanners will be picked up by other scanners as obstacles.