spencer-project / spencer_people_tracking

Multi-modal ROS-based people detection and tracking framework for mobile robots developed within the context of the EU FP7 project SPENCER.
http://www.spencer.eu/
656 stars 326 forks source link

Rwth_ground_hog_with_GP.launch doesn't subscribe the node to anything #95

Closed PedromsLeal closed 3 years ago

PedromsLeal commented 3 years ago

Hello, I have done all the prerequisites for the groundHOG package. I've done minimal changes on the launch files in order to accept the input topics from my L515 intel realsense. I can sucessfuly detect humans with the ground_hog.launch. However, because it gives some false positives, I would like to try the version with the ground plane: ground_hog_with_GP.launch.

For this I also run the ground_plane_tf_based_fixed node, which seems to be working properly looking at the rostopic echo of its output.

Unfortunately, the groundHOG node when used by this launch file doesn't subscribe to anything at all (I'm checking using rosnode info /ground_hog). Meaning I'm not sure how to remap it.

Any idea why would this be happening?

ground_hog_with_GP.launch looks like this:

<arg name="model" default="$(find rwth_ground_hog)/model/config" />
<arg name="ground_plane" default="/ground_plane" />
<arg name="queue_size" default="10" />
<arg name="camera_namespace" default="/camera" />
<arg name="detections" default="/groundHOG/detections" />
<arg name="result_image" default="/groundHOG/image" />
<arg name="detected_persons" default="/detected_persons"/>
<arg name="detection_id_offset" default="0"/>
<arg name="detection_id_increment" default="1"/>
<arg name="world_scale" default="1"/>
<arg name="score_thresh" default="0.0"/>

<node pkg="rwth_ground_hog" type="groundHOG" name="groundHOG" output="screen">
    <param name="world_scale" value="$(arg world_scale)"/>
    <param name="score_thresh" value="$(arg score_thresh)"/>
    <param name="model" value="$(arg model)" type="string"/>
    <param name="ground_plane" value="$(arg ground_plane)" type="string"/>
    <param name="queue_size" value="$(arg queue_size)" type="int"/>
    <param name="camera_namespace" value="$(arg camera_namespace)" type="string"/>
    <param name="detections" value="$(arg detections)" type="string"/>
    <param name="result_image" value="$(arg result_image)" type="string"/>
    <param name="detected_persons" value="$(arg detected_persons)" type="string"/>
    <param name="detection_id_offset" value="$(arg detection_id_offset)"/>
    <param name="detection_id_increment" value="$(arg detection_id_increment)"/>
</node>
PedromsLeal commented 3 years ago

It was happening because it is a lazy publisher, meaning it won't publish unless there's another node subscribing to it.