ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

Camera launch ignores camera info urls

asked 2017-06-14 06:13:14 -0500

adr_arroyo gravatar image

updated 2017-09-09 03:07:57 -0500

130s gravatar image

Hello, I am using an Orbbec Astra camera with the astra drivers. My launch file looks like this:

<launch>
  <!-- Bring up Kinect and processing nodelets -->
 <include file="$(find astra_launch)/launch/astra.launch">
<!-- Set cam info URLs, if not in the default location -->
<!-- calib filess -->
 <arg name="rgb_camera_info_url"
      value="file:///home/adrian/CameraCalibration/pruebas/top/holaRGB.yaml" />
 <arg name="depth_camera_info_url"
      value="file:///home/adrian/CameraCalibration/pruebas/top/holaDepth.yaml" />

  <!-- Suppress the default tf transforms (Fuerte only) -->
   <arg name="publish_tf" value="false" />
 </include>

  <!-- Extrinsic transform publisher -->
  <include file="$(find camera_pose_calibration)/blocks/calibration_tf_publisher.launch">
   <arg name="cache_file" value="./extrinsics_cache.bag" />
  </include>
</launch>

The problem is that, even though it launches the camera, it completely ignores my camera info urls, where I have the calibration parameters; so my depth image looks completely bad. The output for rostopic echo /camera/depth/camera_info is:

header: 
seq: 818
stamp: 
    secs: 1497437986
    nsecs: 339961044
  frame_id: camera_depth_optical_frame
height: 480
width: 640
distortion_model: plumb_bob
D: [0.0, 0.0, 0.0, 0.0, 0.0]
K: [570.3422241210938, 0.0, 314.5, 0.0, 570.3422241210938, 235.5, 0.0, 0.0, 1.0]
R: [1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0]
P: [570.3422241210938, 0.0, 314.5, 0.0, 0.0, 570.3422241210938, 235.5, 0.0, 0.0, 0.0, 1.0, 0.0]
binning_x: 0
binning_y: 0
roi: 
  x_offset: 0
  y_offset: 0
  height: 0
  width: 0
  do_rectify: False

But in the url file the parameters look like:

image_width: 640
image_height: 480
camera_name: "depth_Orbbec_Orbbec    "
camera_matrix:
  rows: 3
  cols: 3
  data: [586.0295803105151, 0, 325.1107120728067, 0, 585.5541564977655, 242.3986130691661, 0, 0, 1]
distortion_model: plumb_bob
distortion_coefficients:
  rows: 1
  cols: 5
  data: [-0.03292964909879049, 0.08060137821556344, -0.001139453780851402, 0.007361020257652488, 0]
rectification_matrix:
  rows: 3
  cols: 3
  data: [1, 0, 0, 0, 1, 0, 0, 0, 1]
projection_matrix:
  rows: 3
  cols: 4
  data: [586.5491943359375, 0, 328.8950540238802, 0, 0, 589.6646118164062, 241.3611304274491, 0, 0, 0, 1, 0]

I am trying to calibrate the camera but, if the launch file ignores the files, I am not able to check if the calibration was good.

How can I solve this?

Regards

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2017-06-14 10:13:44 -0500

adr_arroyo gravatar image

Ok so it actually seems that the driver reads whatever parameters they decide if the parameters in the info url file are completely "crazy" (have values that do not seem adecuate)

Sorry for misunderstanding

edit flag offensive delete link more

Comments

Did you still find out how to use your own calibration file instead of the provided calibration file?

deplanque gravatar image deplanque  ( 2018-03-05 06:27:13 -0500 )edit

I dont remember exactly, but I think that you can use any calibration file you want, but the values that you use should be within the tresholds of the values in the camera's drivers. If they are not, the default values will be used

adr_arroyo gravatar image adr_arroyo  ( 2018-03-05 07:46:39 -0500 )edit

Question Tools

2 followers

Stats

Asked: 2017-06-14 06:13:14 -0500

Seen: 855 times

Last updated: Sep 09 '17