Comments (8)
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.
Hi @chrisywong , answering in order:
- This mismatch is probably due to an outdated version of the
hri
package, which is used by thehri_rviz
plugins to display the skeleton. Could you try updating both of them? - 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.
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
.
from hri_fullbody.
Hi @chrisywong,
Could you please provide us the parameters you're using to run hri_fullbody
?
from hri_fullbody.
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.
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.
@chrisywong any update on this?
from hri_fullbody.
@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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hri_fullbody.