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

prosilica_camera on an ARM plattform [closed]

asked 2015-08-19 09:14:38 -0500

Tirgo gravatar image

updated 2015-12-07 02:15:40 -0500

Hello,

i am currently trying to get a manta 609B from allied vision tech to work an an arm platform. Unfortunately no binary install is available yet. If i try to install it from source, the whole compilation process works well, but as soon as i try to start camera driver i get the following error:

[ERROR] [1439993319.314367411]: Failed to load nodelet [/prosilica_driver] of type [prosilica_camera/driver]: Failed to load library /home/odroid/test_ws/devel/lib//libprosilica_nodelet.so. Make sure that you are calling the PLUGINLIB_EXPORT_CLASS macro in the library code, and that names are consistent between this macro and your XML. Error string: Could not load library (Poco exception = libPvAPI.so: cannot open shared object file: No such file or directory)

I checked the the libraries. Both libprosilica_nodelet.so and libPvAPI.so can be found in the /devel/lib folder.

Thank you for your answers.

EDIT1: Changed to package avt_vimba_camera and added the needed arm libraries. Result:

/home/odroid/test_ws/src/avt_vimba_camera/src/avt_vimba_camera.cpp: In constructor 'avt_vimba_camera::AvtVimbaCamera::AvtVimbaCamera()':
/home/odroid/test_ws/src/avt_vimba_camera/src/avt_vimba_camera.cpp:87:84: warning: delegating constructors only available with -std=c++11 or -std=gnu++11 [enabled by default]
 AvtVimbaCamera::AvtVimbaCamera() : AvtVimbaCamera(ros::this_node::getName().c_str()) {
                                                                                    ^
g++-4.8.real: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.8/README.Bugs> for instructions.
make[2]: *** [avt_vimba_camera/CMakeFiles/stereo_camera_node.dir/src/nodes/stereo_camera_node.cpp.o] Error 4
make[2]: *** Waiting for unfinished jobs....
Linking CXX executable /home/odroid/test_ws/devel/lib/avt_vimba_camera/mono_camera_node
make[1]: *** [avt_vimba_camera/CMakeFiles/stereo_camera_node.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[100%] Built target mono_camera_node
make: *** [all] Error 2
Invoking "make -j8 -l8" failed

EDIT2: I installed the AVT Software - Vimba v1.3 ARM_Hard-Float. Now i can use my Manta G609B with the package avt_vimba_camera on my odroid XU3 . Unfortunately there are some frame rate restrictions. Depending on the resolution it will lower the frame rate automatically:

[ INFO] [1440425646.889163949]: New PixelFormat config (manta) : 
    PixelFormat : Mono8 was Mono8
[ INFO] [1440425646.899412146]: Asking for feature AcquisitionFrameRateLimit with datatype float and value 8.86603
[ WARN] [1440425646.900022564]: Max frame rate allowed: 8.86603. Setting 8...

Any ideas?

EDIT3: So i realized that the Odroid XU3 has just a FAST Ethernet controller... But no problem, i switched to an XU4, which has an GIG Ethernet Controller. But as always i got into more troubles: I am using the same launch file on the XU3, even the same microsd card!! So basically same system! The camera_node crashes after some time and it shows a really strange behavior... If i don't subscriber to the camera topic it runs forever. If i subscribe, for example with rostopic hz to check the frame rate, it crashes after some time. If i use image_view, i get the following error message from time to time:

[ERROR] [1356999010.655579398]: Unable to convert 'mono8' image to bgr8: 'Image is wrongly ...
(more)
edit retag flag offensive reopen merge delete

Closed for the following reason the question is answered, right answer was accepted by Tirgo
close date 2015-12-07 02:16:06.394627

Comments

I'd recommend to answer your own question, and then accept that answer. Right now the answer is 'hidden' behind the more button/link, which isn't that easy to find.

gvdhoorn gravatar image gvdhoorn  ( 2015-12-07 02:38:51 -0500 )edit

2 Answers

Sort by ยป oldest newest most voted
0

answered 2015-08-22 02:14:29 -0500

ahendrix gravatar image

I think the provided prosilica binaries only work on armel (soft-float), and all of the modern versions of ROS for ARM are armhf (hard-float).

You're likely getting a file not found error because the executables are in the wrong format for your processor, and the kernel can't find an interpreter capable of running them (hence the file not found is more like interpreter not found).

I'm not aware of any drivers which support the AVT cameras on armhf; if you can find an armhf version of the newer VIMBRA libraries, you may be able to adapt the avt_vimbra_camera package to work on armhf.

edit flag offensive delete link more

Comments

Oh I didn't know that there is a newer version. So i changed to avt_vimbra_camera. To compile the package from source is not working on arm. But i added the arm-libraries as you mentioned and adjusted the CMakeList.txt file. Unfortunately i get now an other error. I updated my first question.

Tirgo gravatar image Tirgo  ( 2015-08-24 06:24:14 -0500 )edit

avt_vimbra_camera is now running on my odroid XU3. See the second EDIT.

Tirgo gravatar image Tirgo  ( 2015-08-24 09:16:39 -0500 )edit

That looks like the driver or the camera is limiting the frame rate. Are you sure it isn't bandwidth-limited by your network speed?

ahendrix gravatar image ahendrix  ( 2015-08-24 18:29:48 -0500 )edit

Yes it was some bandwidth issue. I swapped to my odroid XU4. But i am still facing same issues. You can check my latest EDIT. Thank you.

Tirgo gravatar image Tirgo  ( 2015-08-25 08:05:00 -0500 )edit
1

answered 2015-12-09 01:53:13 -0500

Tirgo gravatar image

ANSWER: It turns out that the ethernet controller of the odroid is the bottleneck. It is only capable of a MTU packet size of around 4078.

edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2015-08-19 09:14:38 -0500

Seen: 483 times

Last updated: Dec 07 '15