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