Ask Your Question
0

Problem with ar_pose, error: Rectified topic '/camera/image_rect' requested but camera publishing '/camera/camera_info' is uncalibrated**

asked 2014-11-24 17:58:34 -0500

green96 gravatar image

updated 2014-11-24 18:30:54 -0500

Hi, I successfully calibrated my camera (rosrun uvc_cam_node works well) but when I launch ar_pose I get error that my camera isn't calibrated:

[ERROR] [1416872150.188997696]: Rectified topic '/camera/image_rect' requested but camera publishing '/camera/camera_info' is uncalibrated

Please help me and dispel my doubts:

  1. Compare two rosnode lists: Are they the same? /uvc_camera node = /camera/uvc_camera_node

  2. uvc_camera_node is a node which transmit video from camera to ROS and /camera/uvc_camera_node is a node which ar_pose use to get video to recognize maker/tag?

  3. Compare topic lists: /camera_info, /image_raw and /camera/camera_info, /camera/image_raw should I remap something in launch?

  4. Why in launch we set parameters and after It there is command 'find' which load parameters from file? is there any sense?

DETAILS: when I ran: uvc_camera I get:

przemek@przem:~/tum_simulator_ws/src/ar_tools/ar_pose/launch$ rosrun uvc_camera uvc_camera_node 
[ INFO] [1416870421.617654535]: using default calibration URL
[ INFO] [1416870421.617885710]: camera calibration URL: file:///home/przemek/.ros/camera_info/camera.yaml
opening /dev/video0
pixfmt 0 = 'YUYV' desc = 'YUV 4:2:2 (YUYV)'
  discrete: 640x480:   1/30 1/15 
  discrete: 352x288:   1/30 1/15 
  discrete: 320x240:   1/30 1/15 
  discrete: 176x144:   1/30 1/15 
  discrete: 160x120:   1/30 1/15 
  discrete: 1280x1024:   2/15 1/5 
  int (Brightness, 0, id = 980900): -10 to 10 (1)
  int (Contrast, 0, id = 980901): 0 to 20 (1)
  int (Saturation, 0, id = 980902): 0 to 10 (1)
  int (Gamma, 0, id = 980910): 100 to 200 (1)
  int (Gain, 0, id = 980913): 32 to 48 (1)
  menu (Power Line Frequency, 0, id = 980918): 0 to 2 (1)
    0: Disabled
    1: 50 Hz
    2: 60 Hz
  int (Sharpness, 0, id = 98091b): 0 to 10 (1)
select timeout in grab
select timeout in grab

and everything seems to be ok...

Rosnode and rostopic list:

przemek@przem:/opt/ros/indigo/share/uvc_camera$ rosnode list 
/rosout
/uvc_camera

przemek@przem:/opt/ros/indigo/share/uvc_camera$ rostopic list 
/camera_info
/image_raw
....

When I run ar_single_pose I get error:

process[camera/uvc_camera_node-4]: started with pid [22299]
process[ar_pose-5]: started with pid [22314]
[ INFO] [1416872056.747424013]: camera calibration URL: file:///opt/ros/indigo/share/uvc_camera/camera_calibration.yaml
[ INFO] [1416872057.006555638]: Starting ArSinglePublisher
[ INFO] [1416872057.008427734]:     Publish transforms: 1
[ INFO] [1416872057.013649211]:     Publish visual markers: 1
[ INFO] [1416872057.015248159]:     Threshold: 100
[ INFO] [1416872057.016890548]:     Marker Width: 152.4
[ INFO] [1416872057.019849023]:     Reverse Transform: 0
[ INFO] [1416872057.023319574]:     Marker frame: ar_marker
[ INFO] [1416872057.027037854]:     Use history: 1
[ INFO] [1416872057.046105711]:     Marker Center: (0.0,0.0)
[ INFO] [1416872057.046718919]: Subscribing to info topic
opening /dev/video0
pixfmt 0 = 'YUYV' desc = 'YUV 4:2:2 (YUYV)'
  discrete: 640x480:   1/30 1/15 
  discrete: 352x288:   1/30 1/15 
  discrete: 320x240:   1/30 1/15 
  discrete: 176x144:   1/30 1/15 
  discrete: 160x120:   1/30 1/15 
  discrete: 1280x1024:   2/15 1/5 
  int (Brightness, 0, id = 980900): -10 to 10 (1)
  int (Contrast, 0, id = 980901): 0 to 20 (1)
  int (Saturation, 0, id = 980902): 0 to 10 (1)
  int (Gamma, 0, id = 980910): 100 ...
(more)
edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted
0

answered 2014-11-25 01:29:51 -0500

Wolf gravatar image

Have you really calibrated your camera using the camera calibrator?

http://wiki.ros.org/camera_calibration

Some camera drivers may publish an empty uncalibrated camera_info along with the image, which seems to be the case as your calib matrix contains all zeros and the distortion factor is the default 0.000000 0.000000 0.000000 1.000000

edit flag offensive delete link more

Comments

EDIT / I found solution!

Yes, but I was doing it in wrong way. Because commit button didn't work, I manually copied file from calibration tar to appropriate localisation.

How to repair commit button in calibration: http://tinyurl.com/nksyrdm

I calibrated it again and commited setting to driver.

green96 gravatar imagegreen96 ( 2014-11-25 04:39:44 -0500 )edit
0

answered 2014-11-25 18:03:35 -0500

xqms gravatar image

I'd first check that the camera_info topic contains the data from your calibration config file. Use rostopic echo /camera_info and compare.

The next thing is always checking the ROS message graph for errors. Run rqt_graph and confirm that there are connections for camera_info and image_raw from camera driver to image_proc, and one image_rect connection from image_proc to ar_pose.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2014-11-24 17:58:34 -0500

Seen: 1,547 times

Last updated: Nov 25 '14