strands-project / strands_perception_people

long-term detection, tracking and recognition of people
96 stars 70 forks source link

rostopic echo /ground_plane returning [nan, nan, nan] for ground plane estimation launch file #229

Open marcuskohtongjie95 opened 4 years ago

marcuskohtongjie95 commented 4 years ago

Hi all, I am running the upper_body_detector and ground_plane_estimated in simulation only (gazebo/rviz) and have installed the real_sense_gazebo_plugin (r200 camera). I remapped the topics of ground_plane_estimation.launch to subscribe the the r200 camera as follow:

`

  <arg name="camera_info_rgb" default="/color/camera_info" />
   <arg name="ground_plane" default="/ground_plane" />

`

However when i run the ground_plane_estimated.launch and i rostopic echo /ground_plane I get the following msgs

header: seq: 180 stamp: secs: 4107 nsecs: 219000000 frame_id: "color" n: [nan, nan, nan] d: inf

header: seq: 181 stamp: secs: 4107 nsecs: 888000000 frame_id: "color" n: [nan, nan, nan] d: nan

Running the upper_body_detector image works fine, meaning that i am able to visualise the topic /upper_body_detector/image but however i am unable to get a detection (either by the bounding box in rqt_image or marker array in rviz), thus i think that the lack of detection is due to the /ground_plane topic not publishing correctly. I initially thought the problem was because in gazebo, the depth camera is unable to capture the invisible(?) ground plane so i placed a flooring (actually a piece of wall laid flat on the floor) below the robot but that doesnt seem to solve the issue. Can anyone help me out with this i would be very grateful thanks! Screenshot from 2020-01-05 20-40-56

FooKii commented 4 years ago

hey, im also using gazebo. By running people_tracker_standalone.launch i can successully have human identified by upper-body-detection (marker seen in rviz). maybe it can help u somehow. I do have problem when running people_tracker_robot.launch where i can have result from leg_detector but nothing from upper-body-detector.

marcuskohtongjie95 commented 4 years ago

hi thanks for the reply, i couldn't solve this issue so I changed to the darket_yolo package for human detection instead and its working great for me

FooKii commented 4 years ago

hi, it's me again cause i ran into the same problem.
I guess the reason is that your camera's angle or height make it impossible to see the "ground".
The solution is to switch to fixed_groundplane, but i'm guessing u then have the problem caused by "PTU" (e.x. i dont have a ptu integrated), this then involve the issue #177 which is still open.

I fixed by modifying fixed_gp.cpp (modified ugly but it works).

If you still need this, let me know, i try to make a pull request.

OR: if your robot is static or u just want it to work, a quick fix will be set /ptu_state to /joint_states in ground_plane_fixed.launch

marcuskohtongjie95 commented 4 years ago

Hi there! My camera (RealSense r200) is placed 1 meter above the ground and sees the ground just fine. I also do not have a PTU integrated as well and my robot is moving so i don't think I can apply the quick fix that you mentioned.