0
$\begingroup$

Rosanswers logo

Hello,

i want to detect markers and there position. I found the acuro markers and the ROS nodes that sounded promising. I found these two tutorials (one, two). Both seem to use the same package and almost the same launch file. But both tutorials seem to use a different Ubuntu (I'm using 14.04), since in my registry the following for example is not found (apt-get update already tried):

  • sudo apt-get install ros-indigo-usb-cam
  • the openCV-lib (can't find the terminal line anymore)

So i installed openCV with the help of one of the forum members (thanks again), but had to change some of the constants defined in openCV2 to the new ones used in openCV3 and also installed the usb-cam-lib. With the launch files of the tutorials i managed to get some images out of the cam (viewed in rviz) and even calibrated the cam with this tutorial (no mater how well it worked, at least i was able to finish all the steps):

roscore
> (everything normal here)

roslaunch my_robot usb_cam_stream.launch
> (...)
> Starting 'head_camera' (/dev/video0) at 640x480 via mmap (mjpeg) at 30 FPS
> [ WARN] [1532530276.439567317]: sh: 1: v4l2-ctl: not found
> [ WARN] [1532530276.443605906]: sh: 1: v4l2-ctl: not found

rostopic list 
> /rosout
> /rosout_agg
> /usb_cam/camera_info
> /usb_cam/image_raw
> /usb_cam/image_raw/compressed
> /usb_cam/image_raw/compressed/parameter_descriptions
> /usb_cam/image_raw/compressed/parameter_updates
> ...

Now to the part that's not working. So far everything was just the preparation for the real node from Arcuro. But when i start the launch file from one of the tutorials mentioned at the beginning, the following happens:

roslaunch aruco_ros single.launch 
> (...) 
> PARAMETERS
>  * /aruco_single/camera_frame: base_link
>  * /aruco_single/corner_refinement: LINES
>  * /aruco_single/image_is_rectified: True
>  * /aruco_single/marker_frame: aruco_marker_frame
>  * /aruco_single/marker_id: 582
>  * /aruco_single/marker_size: 0.034
>  * /aruco_single/reference_frame: aruco_ref_frame
>  * /rosdistro: indigo
>  * /rosversion: 1.11.21
> (...)
> core service [/rosout] found
> process[aruco_single-1]: started with pid [26729]
> [aruco_single-1] process has died [pid 26729, exit code -11, 
   cmd /home/lukas/catkin_ws/devel/lib/aruco_ros/single/camera_info:=/usb_cam/camera_info 
   /image:=/usb_cam/image_raw __name:=aruco_single 
   __log:=/home/lukas/.ros/log/f9e14154-8ffb-11e8-a1c7-14b31f1cb5de/aruco_single-1.log]. 
> log file: /home/lukas/.ros/log/f9e14154-8ffb-11e8-a1c7-14b31f1cb5de/aruco_single-1*.log
> all processes on machine have died, roslaunch will exit
> shutting down processing monitor...
> ... shutting down processing monitor complete

Even when i try to start the node directly it's not working:

rosrun aruco_ros single 
> Segmentation fault (core dumped)

which is one of the most useless errors i got in the last weeks - so short. Google told me that it might be some errors/warnings during catkin_make, but no errors at all and warnings occur only at nodes i wrote myself and are not launched right now, nor required by the aruco's nodes.

Anybody has a hint, what's going wrong? How can i find out what the real error is?

Like the last time: Thanks everybody reading through this and for every help. Lukas


Originally posted by -LD- on ROS Answers with karma: 135 on 2018-07-25

Post score: 0


Original comments

Comment by rdelgadov on 2018-07-25:
Can you post the content of the file '/home/lukas/.ros/log/f9e14154-8ffb-11e8-a1c7-14b31f1cb5de/aruco_single-1*.log' ? It could contains more information about the error

Comment by -LD- on 2018-07-27:
Took me awhile to find that file since it's hidden (indicated by the leading "." on ".ros" as i now know). There is only one file that sounds right in that folder: "aruco_single-1-stdout.log". And it's empty. Not an empty doc, but with a size of 0 Byte. Therefore can't open it.

Comment by Mark Rose on 2018-07-28:
I tried various Aruco ROS packages and found aruco_detect worked best for me. The only problem I found is that you need to make sure the frame rate is not too high. I used the drop node in topic_tools to reduce the image frame rate into aruco_detect.

Comment by -LD- on 2018-07-30:
Unfortunately aruco_detect is just for ROS-kinetik and i'm bound to indigo :(

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

Ok, don't ask me why, but it somehow runs now.

I did many things: downloaded a couple of other packages, tried them, removed them, catkin_make from stretch, tried them again, ...

finally a was ready to program everything myself just to see that the actual error is. i tried a very simple example of the cv_bridge since i need to read the images in openCV and also report them back to ROS. The example failed since i hadn't cv_bridge ?!?!

added cb_bridge to the catkin_ws. Finally, as the example was working and i was able to draw a circle in the image and display it in rviz, i tried the aruco again and guess what, the code ran the first time till the point where a camera frame is needed. Well from there on it was just a peace of cake, add a frame, get the image, try a marker and be happy like i wasn't for a couple of weeks as the coordinate frame was added to the image by the aruco code.

So, sorry for everybody else coming across this problem, i can't tell you what causes the error. But maybe just cv_bridge is missing ...


Originally posted by -LD- with karma: 135 on 2018-07-30

This answer was ACCEPTED on the original site

Post score: 0

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.