0
$\begingroup$

Rosanswers logo

Hello all,

I've spent a week unsuccessfully trying to get a Point Grey (PTGrey) Chameleon USB Camera (IEEE 1394 compatible, camera1394 node compatible) up and running on my Pandaboard (OMAP4430) single board computer as a ROS node. The camera tests out fine on that system using Coriander.

I have successfully installed ROS Diamondback from SVN using

rosinstall ~/ros "http://packages.ros.org/cgi-bin/gen_rosinstall.py?rosdistro=diamondback&variant=desktop-full&overlay=no"

The beginner tutorials work fine. The whole is running on Ubuntu 11.04. The LANG variable is set to

en_US.UTF-8

I then checked out

https://code.ros.org/svn/ros-pkg/stacks/camera_drivers/trunk

into a path in ROS_PACKAGE_PATH and changed to the resulting directory before executing

rosmake --rosdep-install

This resulted in the error:

*** ERROR: Unsupported architecture armv7l ***

whilst building this package in the camera_drivers stack:

prosilica_gige_sdk

Since I didn't need this package, but the camera1394 package, I decided to force-ignore the error with:

rosmake --rosdep-install -r

However, the camera1394 package fails too:

make[3]: Entering directory /home/joris/ros/stacks/camera_drivers/camera1394/build' [ 15%] Building CXX object src/nodes/CMakeFiles/camera1394_node.dir/camera1394_node.o In file included from /home/joris/ros/stacks/camera_drivers/camera1394/src/nodes/driver1394.h:42:0, from /home/joris/ros/stacks/camera_drivers/camera1394/src/nodes/camera1394_node.cpp:38: /home/joris/ros/driver_common/driver_base/include/driver_base/driver.h: In static member function ‘static const std::string& driver_base::Driver::getStateName(driver_base::Driver::state_t)’: /home/joris/ros/driver_common/driver_base/include/driver_base/driver.h:238:14: warning: comparison is always true due to limited range of data type [ 23%] Building CXX object src/nodes/CMakeFiles/camera1394_node.dir/driver1394.o In file included from /home/joris/ros/stacks/camera_drivers/camera1394/src/nodes/driver1394.h:42:0, from /home/joris/ros/stacks/camera_drivers/camera1394/src/nodes/driver1394.cpp:42: /home/joris/ros/driver_common/driver_base/include/driver_base/driver.h: In static member function ‘static const std::string& driver_base::Driver::getStateName(driver_base::Driver::state_t)’: /home/joris/ros/driver_common/driver_base/include/driver_base/driver.h:238:14: warning: comparison is always true due to limited range of data type [ 30%] Building CXX object src/nodes/CMakeFiles/camera1394_node.dir/dev_camera1394.o /home/joris/ros/stacks/camera_drivers/camera1394/src/nodes/dev_camera1394.cpp: In funct from /home/joris/ros/stacks/camera_drivers/camera1394/src/nodes/driver 1394.cpp:42: /home/joris/ros/driver_common/driver_base/include/driver_base/driver.h: In static membe r function ‘static const std::string& driver_base::Driver::getStateName(driver_base::Driv er::state_t)’: /home/joris/ros/driver_common/driver_base/include/driver_base/driver.h:238:14: warning: comparison is always true due to limited range of data type [ 30%] Building CXX object src/nodes/CMakeFiles/camera1394_node.dir/dev_camera1394.o /home/joris/ros/stacks/camera_drivers/camera1394/src/nodes/dev_camera1394.cpp: In funct ion ‘std::string bayer_string(dc1394color_filter_t, unsigned int)’: /home/joris/ros/stacks/camera_drivers/camera1394/src/nodes/dev_camera1394.cpp:398:18: error: ‘BAYER_RGGB16’ is not a member of ‘sensor_msgs::image_encodings’ /home/joris/ros/stacks/camera_drivers/camera1394/src/nodes/dev_camera1394.cpp:400:18: error: ‘BAYER_GBRG16’ is not a member of ‘sensor_msgs::image_encodings’ /home/joris/ros/stacks/camera_drivers/camera1394/src/nodes/dev_camera1394.cpp:402:18: error: ‘BAYER_GRBG16’ is not a member of ‘sensor_msgs::image_encodings’ /home/joris/ros/stacks/camera_drivers/camera1394/src/nodes/dev_camera1394.cpp:404:18: error: ‘BAYER_BGGR16’ is not a member of ‘sensor_msgs::image_encodings’ make[3]: *** [src/nodes/CMakeFiles/camera1394_node.dir/dev_camera1394.o] Error 1 make[3]: Leaving directory /home/joris/ros/stacks/camera_drivers/camera1394/build' make[2]: *** [src/nodes/CMakeFiles/camera1394_node.dir/all] Error 2 make[2]: Leaving directory /home/joris/ros/stacks/camera_drivers/camera1394/build' make[1]: *** [all] Error 2 make[1]: Leaving directory /home/joris/ros/stacks/camera_drivers/camera1394/build'

[ rosmake ] Output from build of package camera1394 written to: [ rosmake ]
/home/joris/.ros/rosmake/rosmake_output-20110819-191034/camera1394/build_output.log [rosmake-0] Finished <<< camera1394 [FAIL] [ 117.30 seconds ]

... Help! I've tried the advice in

http://answers.ros.org/question/1191/installing-camera-drivers-on-arm

and been through a whole lot more forum posts. There is eros but I don't see the point of resorting to that, since I have enough resources to compile on the pandaboard. This is making me so frustrated I'm thinking of ditching my pandaboard for an x86 board, but hopefully someone out there will cast a friendly look over my shoulder and see a solution :)

Joris


Originally posted by Joris on ROS Answers with karma: 68 on 2011-08-19

Post score: 1

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

You seem to have a mismatch in your version of camera_drivers vs. ROS. You installed Diamondback, but you checked out trunk of camera_drivers. The trunk of most stacks is developed against the latest ROS distro (or the upcoming one) which is currently Electric Emys.

Try checking out camera_drivers from the Diamondback tag: https://code.ros.org/svn/ros-pkg/stacks/camera_drivers/tags/diamondback/ and building.

Also note that, if you just want camera1394, you can do rosmake --rosdep-install camera1394 instead of rosmaking all of camera_drivers while force ignoring errors. That should build camera1394 and all of the packages it depends on either directly or indirectly.


Originally posted by Eric Perko with karma: 8406 on 2011-08-19

This answer was ACCEPTED on the original site

Post score: 1

$\endgroup$

Your Answer

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