aruco ros no markers detected

asked 2019-03-02 08:00:36 -0500

Markus gravatar image

updated 2019-03-03 08:22:03 -0500

Hey there,

I have a strange case: I am using a Logitech C930e camera and want to detect aruco markers with that camera using the aruco library from ros.

I tried it using e.g. aruco_mapping, or aruco_eye_ros both programs run without error however they do not detect any aruco marker. Both libraries are based on aruco ros (# include <aruco/aruco.h>)

Now I tried to use aruco marker detection by using opencv's aruco marker library e.g. package simple_aruco_detector. (#include <opencv2/aruco.hpp>) This works and I am able to detect markers with that program. But I want to get it to work with the aruco library from ros as I want to use aruco_mapping pacakge.

I use ubuntu 16.04, ros-kinetic. And I also use the usb_cam package to get the images from the camera.

Additional Tests

Note that I do not have these problems using a kinect or intel realsense r200 camera.

I also observed that if I use a simulated realsense r200 camera I do not have these issues in simulation:

image description

I also tested the libuvc_camera package to get the pictures in and then detect aruco markers on these images using aruco/aruco.h library from ros but it also failes..... (same as for usb_cam package)

Possible reasons might be

1) I am not using a rectified image on the logitech camera.

2) I guess these issues are related to the logitech camera.

3) It might be possible that it is due to the camera calibration but this fact does not explain why I do not get any problems when using the opencv library.

4) In my webcam package I do not use

<param name="pixel_format" value="mjpeg" />

This causes an error:

Starting 'head_camera' (/dev/video1) at 640x480 via mmap (mjpeg) at 30 FPS
[mjpeg @ 0x1bc0dc0] Changeing bps to 8
[mjpeg @ 0x1bc0dc0] mjpeg_decode_dc: bad vlc: 0:0 (0x1bbf4e8)
[mjpeg @ 0x1bc0dc0] error dc
[mjpeg @ 0x1bc0dc0] error y=59 x=29
[swscaler @ 0x1bc7f00] deprecated pixel format used, make sure you did set range correctly

Instead I use:

<param name="pixel_format" value="yuyv" />

Thanks for your help

Markus

edit retag flag offensive close merge delete