Giter Club home page Giter Club logo

Comments (8)

chrisywong avatar chrisywong commented on August 10, 2024 1

Hi @LorenzoFerriniCodes, I am currently away and won't be able to test for another 2 weeks. I will post an update once I can.

from hri_fullbody.

LukaJuricic avatar LukaJuricic commented on August 10, 2024

Hi @chrisywong , answering in order:

  1. This mismatch is probably due to an outdated version of the hri package, which is used by the hri_rviz plugins to display the skeleton. Could you try updating both of them?
  2. This is a bug, thank you for letting us know! We will fix it soon, in the meantime you can fix it by substituting https://github.com/ros4hri/hri_fullbody/blob/master/nodes/detect#L100 with
            KeyValue(key="Last detected body ID", value=str(next(reversed(self.detected_bodies), ''))),

Please note that in single_body=False mode, the package will not find all the bodies in an image per se but rather relies on an external body detector/tracker to provide the body IDs in /humans/bodies/tracked and relative cropped images in /humans/bodies/<body_id>/cropped. This kind of body detector is currently not part of the ROS4HRI released packages, so you would have to provide your own for this use case.

from hri_fullbody.

chrisywong avatar chrisywong commented on August 10, 2024

Hi @LukaJuricic

Thanks for the tips! I removed all the Debian packages and compiled everything from source and I no longer get that error and detection for a single person works. Unfortunately, now there's a problem with the TF tree between the upper and lower halves of the body. Detect works fine as it shows all the keypoints, but there is no tf between torso and body. I am using ikpy==3.2.2.

Screenshot from 2023-08-08 15-51-01

from hri_fullbody.

LorenzoFerriniCodes avatar LorenzoFerriniCodes commented on August 10, 2024

Hi @chrisywong,

Could you please provide us the parameters you're using to run hri_fullbody?

from hri_fullbody.

chrisywong avatar chrisywong commented on August 10, 2024

Hi @LorenzoFerriniCodes ,

I'm launching ~/catkin_ws/src/hri_fullbody/launch$ roslaunch ./hri_fullbody_visualize.launch single_body:=true.

I modified some of the default parameters for the launch file, but mostly just the debug parameters.

For hri_fullbody_visualize.launch:

<launch>

    <arg name="rgb_camera" default="/camera/color/"/>
    <arg name="rgb_camera_topic" default="$(arg rgb_camera)/image_raw"/>
    <arg name="rgb_camera_info" default="$(arg rgb_camera)/camera_info"/>

    <arg name="use_depth" default="true"/>
    <arg name="depth_camera" default="/camera/depth/"/>
    <arg name="depth_camera_topic" default="$(arg depth_camera)/image_rect_raw"/>
    <arg name="depth_camera_info" default="$(arg depth_camera)/camera_info"/>

    <!-- console output of detected bounding boxes, meant for single body execution -->
    <arg name="textual_debug" default="true"/>

    <!-- publishes a TF tree of the joints, *without* performing IK kinematics to
         properly align the joints' frames to the kinematci model of the human -->
    <arg name="stickman_debug" default="true"/>

     <!-- 
      If 'single_body' is False, hri_fullbody waits for bodies Region of Interests to be published on /humans/bodies/xxx/roi, and it uses those RoIs to perform 3D skeleton estimation.
      If 'single_body' is True, the node will not use external body detections, and instead will detect *a single* person, and provide the RoI + 3D skeleton of that person.
    -->
    <arg name="single_body" default="true"/>

    <include file="$(find hri_fullbody)/launch/hri_fullbody.launch" pass_all_args="true" />

    <!-- <node name="usb_cam" pkg="usb_cam" type="usb_cam_node">
        <remap from="/usb_cam/image_raw" to="$(arg rgb_camera_topic)"/>
        <remap from="/usb_cam/camera_info" to="$(arg rgb_camera_info)"/>
    </node> -->

    <node type="rviz" name="rviz" pkg="rviz" args="-d $(find hri_fullbody)/rviz/fullbody_urdf_visualization.rviz" output="screen"/>

</launch>

For hri_fullbody.launch:

<launch>

    <arg name="rgb_camera" default="/camera/color/"/>
    <arg name="rgb_camera_topic" default="$(arg rgb_camera)/image_raw"/>
    <arg name="rgb_camera_info" default="$(arg rgb_camera)/camera_info"/>

    <arg name="use_depth" default="False"/>
    <arg name="depth_camera" default="/camera/depth/"/>
    <arg name="depth_camera_topic" default="$(arg depth_camera)/image_rect_raw"/>
    <arg name="depth_camera_info" default="$(arg depth_camera)/camera_info"/>

    <!-- publishes a TF tree of the joints, *without* performing IK kinematics to
         properly align the joints frames to the kinematic model of the human -->
    <arg name="stickman_debug" default="False"/>

     <!-- 
      If 'single_body' is False, hri_fullbody waits for bodies Region of Interests to be published on /humans/bodies/xxx/roi, and it uses those RoIs to perform 3D skeleton estimation.
      If 'single_body' is True, the node will not use external body detections, and instead will detect *a single* person, and provide the RoI + 3D skeleton of that person.
    -->
    <arg name="single_body" default="true"/>


    <node name="hri_fullbody" pkg="hri_fullbody" type="detect" output="screen">
        <param name="use_depth" value="$(arg use_depth)"/>
        <param name="stickman_debug" value="$(arg stickman_debug)"/>
        <param name="single_body" value="$(arg single_body)"/>

        <remap from="/image" to="$(arg rgb_camera_topic)"/>
        <remap from="/camera_info" to="$(arg rgb_camera_info)"/>
        <remap from="/depth_image" to="$(arg depth_camera_topic)"/>
        <remap from="/depth_info" to="$(arg depth_camera_info)"/>
    </node>

</launch>

from hri_fullbody.

LorenzoFerriniCodes avatar LorenzoFerriniCodes commented on August 10, 2024

I've tried to replicate the error using the same parameters, but everything seems to be working fine here. Could you try disabling the RobotModel plugin and try using the Skeleton 3D plugin?

from hri_fullbody.

LorenzoFerriniCodes avatar LorenzoFerriniCodes commented on August 10, 2024

@chrisywong any update on this?

from hri_fullbody.

chrisywong avatar chrisywong commented on August 10, 2024

@LorenzoFerriniCodes For some reason, everything is back to the issue I initially had with the skeleton not matching the real pose in #4 (comment)

It's weird because I did not change anything since the last time (other than performing regular updates). All the ROS4HRI packages are built from source and not from the Debian packages, and I am using ikpy==3.2.2. I currently no longer have the problem mentioned in #4 (comment)

from hri_fullbody.

Related Issues (5)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.