find-object icon indicating copy to clipboard operation
find-object copied to clipboard

Please help me about 3d launch using phoxi camera

Open ghost opened this issue 6 years ago • 8 comments

Hello, I want to know why can not i use this 3d launch file? Im using the Phoxi camera L model. when i first use find_object_2d.launch. it worked very well. why cant i see images when using 3d.launch ? The connection is clear but why can not i use 3d pose this app Screenshot from 2019-09-17 23-36-55

<node name="find_object_3d" pkg="find_object_2d" type="find_object_2d" output="screen">
	<param name="gui" value="true" type="bool"/>
	<param name="settings_path" value="~/.ros/find_object_2d.ini" type="str"/>
	<param name="subscribe_depth" value="true" type="bool"/>
	<param name="objects_path" value="" type="str"/>
	<param name="object_prefix" value="object" type="str"/>
	
	<remap from="rgb/image_rect_color" to="phoxi_camera/rgb_texture"/>
	<remap from="depth_registered/image_raw" to="phoxi_camera/depth_map"/>
	<remap from="depth_registered/camera_info" to="camera_info"/>
</node>

<!-- Example of tf synchronisation with the objectsStamped message -->
<node name="tf_example" pkg="find_object_2d" type="tf_example" output="screen">
	<param name="map_frame_id" value="/map" type="string"/>
	<param name="object_prefix" value="object" type="str"/>
</node>
<!-- fake some tf frames for the example /map -> /odom -> /base_link -> /camera_link -->
<node pkg="tf" type="static_transform_publisher" name="base_to_camera_tf" 
	args="0.1 0.0 0.3 0.0 0.0 0.0 /base_link /camera_link 100" />
<node pkg="tf" type="static_transform_publisher" name="odom_to_base_tf" 
	args="1.0 0.0 0.1 1.5707 0.0 0.0 /odom /base_link 100" />
<node pkg="tf" type="static_transform_publisher" name="map_to_odom_tf" 
	args="0.0 0.5 0.0 0.7853 0.0 0.0 /map /odom 100" />

i try to use find_object_3d.launch and find_object_3d_kinect.launch. these have same problem. plz solve this problem. and sorry it is my first use github^^;

ghost avatar Sep 17 '19 14:09 ghost

Hi,

Can you record/share a small rosbag with the topics below and an object to detect in the field of view?

$ rosbag record phoxi_camera/rgb_texture phoxi_camera/depth_map camera_info tf tf_static

cheers, Mathieu

matlabbe avatar Sep 18 '19 18:09 matlabbe

Thank you for answer,

Is it right? do you want to know? image

I want to know what is camera_info in 3d.launch param. Phoxi_camera does not publish information like camera info.

This is phoxi param and topics list.

image

Thank you

ghost avatar Sep 19 '19 03:09 ghost

Hi,

I solved the problem that mentioned earlier.

However, I have a new problem.

Do you know? What error is this?

image

ghost avatar Sep 22 '19 13:09 ghost

The camera_info contains camera calibration required to transform a 2D point (u,v) with known depth (d) in 3D (X, Y, Z).

Can you show the published objects topic when this happens?

matlabbe avatar Sep 23 '19 00:09 matlabbe

This is objects topic echo. image

It is an error text

image

Sorry, I want to solve myself but I don`t understand 3d pose estimator exactly.

Thank you.

ghost avatar Sep 23 '19 13:09 ghost

It feels that the tf object_102 is not published, maybe because find_object cannot compute the 3D pose (depth image is wrong or calibration is wrong). You can also launch rqt_console to see better where the warning is coming from. You can also show what contains your camera_info message? if focal distances are valid... What also is the format of the depth map? (16UC1 in mm, 32FC1 in meters?)

matlabbe avatar Sep 23 '19 14:09 matlabbe

The format is 32FC1 in meters. and I think that depth image(depth values) is not problem. I wonder that Camera_info message. Actually It is not published original package. So I made this topic. This is camera_info message that I made it. I only use header. Does it provoke any problem ? image

This is rqt_graph and rviz commander error image

ghost avatar Sep 23 '19 14:09 ghost

At least K[4] (called fx) should be set in camera_info msg: https://github.com/introlab/find-object/blob/5489d5f4c4fad66df6e111dcefe274f8986bceb4/src/ros/CameraROS.cpp#L167 Setting to zero will create a NAN not handled by the code. It is maybe why resulting TF contains nan values.

You can find the camera matrix K by doing calibration of the RGB camera, see http://wiki.ros.org/camera_calibration/Tutorials/MonocularCalibration

matlabbe avatar Sep 23 '19 18:09 matlabbe