Ask Your Question

AdrianPeng's profile - activity

2020-09-09 15:19:50 -0500 marked best answer opencv undefined reference problem

I am trying to build learning_image_transport from image_transport tutorial on Gumstix Overo which has ros groovy running on linaro.

However, one of dependencies of learning_image_transport -- opencv2 cannot be resolved in system dependency. So I cannot use rosdep to install opencv2.

Then I went to http://opencv.org/downloads.html and downloaded version 2.4.3 and followed instruction to install OpenCV.

Then I copy opencv and opencv2 from usr/local/include to /ros_core_ws/install/include so that ROS can find all the header file of OpenCV(such as highgui.h).

However, when I make learning_image_transport, I got the following error:

  [ 50%] Building CXX object CMakeFiles/my_publisher.dir/src/my_publisher.cpp.o
  In file included from /root/ros_core_ws/install/include/opencv2/flann/kmeans_index.h:50:0,
               from /root/ros_core_ws/install/include/opencv2/flann/all_indices.h:38,
               from /root/ros_core_ws/install/include/opencv2/flann/flann_base.hpp:44,
               from /root/ros_core_ws/install/include/opencv2/flann/flann.hpp:50,
               from /root/ros_core_ws/install/include/opencv/cv.h:69,
               from /root/catkin_ws/src/vision_opencv-fuerte-devel/cv_bridge/include/cv_bridge/CvBridge.h:41,
               from /root/catkin_ws/src/learning_image_transport/src/my_publisher.cpp:5:
  /root/ros_core_ws/install/include/opencv2/flann/logger.h:73:9: note: the mangling of ‘va_list’ has changed in GCC 4.4
  In file included from /root/catkin_ws/src/learning_image_transport/src/my_publisher.cpp:5:0:
  /root/catkin_ws/src/vision_opencv-fuerte-devel/cv_bridge/include/cv_bridge/CvBridge.h: In static member function ‘static sensor_msgs::Image_<std::allocator<void> >::Ptr sensor_msgs::CvBridge::cvToImgMsg(const IplImage*, std::string)’:
  /root/catkin_ws/src/vision_opencv-fuerte-devel/cv_bridge/include/cv_bridge/CvBridge.h:408:55: warning: ‘static bool sensor_msgs::CvBridge::fromIpltoRosImage(const IplImage*, sensor_msgs::Image&, std::string)’ is deprecated (declared at /root/catkin_ws/src/vision_opencv-fuerte-devel/cv_bridge/include/cv_bridge/CvBridge.h:307) [-Wdeprecated-declarations]
  /root/catkin_ws/src/learning_image_transport/src/my_publisher.cpp: In function ‘int main(int, char**)’:
  /root/catkin_ws/src/learning_image_transport/src/my_publisher.cpp:15:84: warning: ‘static sensor_msgs::Image_<std::allocator<void> >::Ptr sensor_msgs::CvBridge::cvToImgMsg(const IplImage*, std::string)’ is deprecated (declared at /root/catkin_ws/src/vision_opencv-fuerte-devel/cv_bridge/include/cv_bridge/CvBridge.h:405) [-Wdeprecated-declarations]
  Linking CXX executable ../bin/my_publisher
  CMakeFiles/my_publisher.dir/src/my_publisher.cpp.o: In function `cv::WImageBufferC<unsigned char, 3>::ReleaseImage()':
  /root/ros_core_ws/install/include/opencv2/core/wimage.hpp:399: undefined reference to `cvReleaseImage'
  /root/ros_core_ws/install/include/opencv2/core/wimage.hpp:399: undefined reference to `cvReleaseImage'
  CMakeFiles/my_publisher.dir/src/my_publisher.cpp.o: In function `sensor_msgs::CvBridge::fromIpltoRosImage(_IplImage const*, sensor_msgs::Image_<std::allocator<void> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
  /root/catkin_ws/src/vision_opencv-fuerte-devel/cv_bridge/include/cv_bridge/CvBridge.h:311: undefined reference to `cvGetMat'
  CMakeFiles/my_publisher.dir/src/my_publisher.cpp.o: In function `main':
  /root/catkin_ws/src/learning_image_transport/src/my_publisher.cpp:14: undefined reference to `cvLoadImage'

In wimage.hpp file, it includes opencv2/core/core_c.h which defines:

CVAPI(IplImage*)  cvCreateImage( CvSize size, int depth, int channels );
CVAPI(void)  cvReleaseImage( IplImage** image );
CVAPI(void*) cvLoad( const char* filename,
                 CvMemStorage* memstorage CV_DEFAULT(NULL),
                 const char* name CV_DEFAULT(NULL),
                 const char** real_name CV_DEFAULT(NULL) );

However, in opencv2/core/types_c.h which is included ... (more)

2019-10-15 02:13:14 -0500 marked best answer Can rosbag record and playback action goal?

Hi,

I am wondering if rosbag is able to record a action goal? Right now, I use moveit to generate a trajectory for pr2 left arm. And I want to record the trajectory and use it again later.

I tried to use rosbag to record the message in topic

/l_arm_controller/follow_joint_trajectory/goal

and tried to playback the message. I am able to see the playback message using "rostopic echo". However, pr2's left arm didn't move. I guess maybe pr2's left arm controller will only work once it receive a action goal.

Is there anyway to record a action goal?

Following is all topics related to left arm controller.

/l_arm_controller/command
/l_arm_controller/follow_joint_trajectory/cancel
/l_arm_controller/follow_joint_trajectory/feedback
/l_arm_controller/follow_joint_trajectory/goal
/l_arm_controller/follow_joint_trajectory/result
/l_arm_controller/follow_joint_trajectory/status
/l_arm_controller/joint_trajectory_action/cancel
/l_arm_controller/joint_trajectory_action/feedback
/l_arm_controller/joint_trajectory_action/goal
/l_arm_controller/joint_trajectory_action/result
/l_arm_controller/joint_trajectory_action/status
/l_arm_controller/state

Thanks for any help in advance!

2019-05-14 15:51:58 -0500 received badge  Notable Question (source)
2019-05-14 15:51:58 -0500 received badge  Popular Question (source)
2017-12-01 07:01:06 -0500 marked best answer Questions about Moveit collision detection

Hi everyone,

I am doing research about safety issue about human and robot cooperation. I am really interested in using collision detection functionality provided by moveit. As far as I know, I can get the distance between world object and any part of pr2 link through moveit API of collision detection. I am wondering if it is possible to get the coordinates information about the point on pr2 link which is closest to the world object? And is it possible to get the joint vector (standard vector on z-axis of a joint) information?

Thanks for any help in advance!

update1:

For FCL distance check called in moveit, can I simply create a new fcl::DistanceRequest object with the public attribute "enable_nearest_points" set to true and pass the fcl::DistanceRequest object to "double d = fcl::distance(o1, o2, fcl::DistanceRequest(), dist_result);" ? If I do so, can I get nearest points between o1 and o2 from dist_result?

update2:

I modified the code in FCL distance check in following way:

fcl::DistanceResult dist_result;
dist_result.update(cdata->res_->distance, NULL, NULL, fcl::DistanceResult::NONE, fcl::DistanceResult::NONE); // can be faster
double d = fcl::distance(o1, o2, fcl::DistanceRequest(true), dist_result);
printf("\n print nearest point 1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!! \n  %f %f %f  \n",dist_result.nearest_points[0].data.vs[0], dist_result.nearest_points[0].data.vs[1], dist_result.nearest_points[0].data.vs[2]);
printf("\n print nearest point 2 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!! \n  %f %f %f  \n",dist_result.nearest_points[1].data.vs[0], dist_result.nearest_points[1].data.vs[1], dist_result.nearest_points[1].data.vs[2]);

But I don't know why I got (0,0,0) for each nearest point.

Quan

2017-10-03 06:55:56 -0500 marked best answer A subscriber error

Hi everyone,

I tried to establish a subscriber in move_action_capability in Moveit!

I established the subscriber within method "move_group::MoveGroupMoveAction::executeMoveCallback_PlanOnly" and following is my code to establish the subscriber:

ros::NodeHandle handle;
ros::Subscriber sub = handle.subscribe("r_arm_controller/state", 1000, controllerStateCB);

This is my callback signature:

void controllerStateCB(const pr2_controllers_msgs::JointTrajectoryControllerState::ConstPtr& msg)
{
    for (int joint_index = 0; joint_index < 7; joint_index++)
    {
        current_joint_position[joint_index]=msg->actual.positions[joint_index];
        current_joint_velocity[joint_index]=msg->actual.velocities[joint_index];
    }
}

However, when I compile, I got the following error:

/home/pr2/moveit/src/moveit_ros/move_group/src/default_capabilities/move_action_capability.cpp: In member function ‘void move_group::MoveGroupMoveAction::executeMoveCallback_PlanOnly(const MoveGroupGoalConstPtr&, moveit_msgs::MoveGroupResult&)’:
/home/pr2/moveit/src/moveit_ros/move_group/src/default_capabilities/move_action_capability.cpp:203:91: error: no matching function for call to ‘ros::NodeHandle::subscribe(const char [23], int, <unresolved overloaded function type>)’
/home/pr2/moveit/src/moveit_ros/move_group/src/default_capabilities/move_action_capability.cpp:203:91: note: candidates are:
/opt/ros/groovy/include/ros/node_handle.h:379:14: note: template<class M, class T> ros::Subscriber ros::NodeHandle::subscribe(const string&, uint32_t, void (T::*)(M), T*, const ros::TransportHints&)
/opt/ros/groovy/include/ros/node_handle.h:390:14: note: template<class M, class T> ros::Subscriber ros::NodeHandle::subscribe(const string&, uint32_t, void (T::*)(M)const, T*, const ros::TransportHints&)
/opt/ros/groovy/include/ros/node_handle.h:438:14: note: template<class M, class T> ros::Subscriber ros::NodeHandle::subscribe(const string&, uint32_t, void (T::*)(const boost::shared_ptr<const MReq>&), T*, const ros::TransportHints&)
/opt/ros/groovy/include/ros/node_handle.h:448:14: note: template<class M, class T> ros::Subscriber ros::NodeHandle::subscribe(const string&, uint32_t, void (T::*)(const boost::shared_ptr<const MReq>&)const, T*, const ros::TransportHints&)
/opt/ros/groovy/include/ros/node_handle.h:498:14: note: template<class M, class T> ros::Subscriber ros::NodeHandle::subscribe(const string&, uint32_t, void (T::*)(M), const boost::shared_ptr<U>&, const ros::TransportHints&)
/opt/ros/groovy/include/ros/node_handle.h:509:14: note: template<class M, class T> ros::Subscriber ros::NodeHandle::subscribe(const string&, uint32_t, void (T::*)(M)const, const boost::shared_ptr<U>&, const ros::TransportHints&)
/opt/ros/groovy/include/ros/node_handle.h:559:14: note: template<class M, class T> ros::Subscriber ros::NodeHandle::subscribe(const string&, uint32_t, void (T::*)(const boost::shared_ptr<const MReq>&), const boost::shared_ptr<U>&, const ros::TransportHints&)
/opt/ros/groovy/include/ros/node_handle.h:570:14: note: template<class M, class T> ros::Subscriber ros::NodeHandle::subscribe(const string&, uint32_t, void (T::*)(const boost::shared_ptr<const MReq>&)const, const boost::shared_ptr<U>&, const ros::TransportHints&)
/opt/ros/groovy/include/ros/node_handle.h:618:14: note: template<class M> ros::Subscriber ros::NodeHandle::subscribe(const string&, uint32_t, void (*)(M), const ros::TransportHints&)
/opt/ros/groovy/include/ros/node_handle.h:663:14: note: template<class M> ros::Subscriber ros::NodeHandle::subscribe(const string&, uint32_t, void (*)(const boost::shared_ptr<const T>&), const ros::TransportHints&)
/opt/ros/groovy/include/ros/node_handle.h:706:14: note: template<class M> ros::Subscriber ros::NodeHandle::subscribe(const string&, uint32_t, const boost::function ...
(more)
2017-02-17 03:25:45 -0500 received badge  Famous Question (source)
2017-02-17 03:25:45 -0500 received badge  Notable Question (source)
2017-01-08 21:22:01 -0500 received badge  Notable Question (source)
2017-01-08 21:22:01 -0500 received badge  Famous Question (source)
2016-07-21 04:14:59 -0500 marked best answer unable to get Point Grey USB camera work in ubuntu

Hello,

I have problem in using POINT GREY FIREFLY MV FMVU-13S2C digital camera to work on Ubuntu 11.04.

This is the version of ubuntu.

adrian@ubuntu:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 11.04
Release:    11.04
Codename:   natty

As far as I know, POINT GREY FIREFLY MV FMVU-13S2C uses IEEE1394 interface to transfer data with computer. So I downloaded the Coriander – the linux GUI for IEEE1394/Firewire cameras.

However, when I plugged in the camera and launched the coriander, this error appears:

Warning: could not find a Digital Camera on the bus. Please check that: -the cables are properly set -the devices on the bus are properly powered -your camera is compliant with the Digital Camera specs (see http://www.1394ta.org).

Then I run the command “lsusb”:

adrian@ubuntu:~$ lsusb
Bus 003 Device 002: ID 1e10:2002 Point Grey Research, Inc. 
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 004: ID 17ef:1003 Lenovo Integrated Smart Card Reader
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 007: ID 04f2:b217 Chicony Electronics Co., Ltd 
Bus 001 Device 006: ID 0a5c:217f Broadcom Corp. Bluetooth Controller
Bus 001 Device 005: ID 147e:2016 Upek Biometric Touchchip/Touchstrip Fingerprint Sensor
Bus 001 Device 004: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 001 Device 003: ID 0765:5001 X-Rite, Inc. 
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Apparently, the first output is the camera.

Then I guess maybe I need to configure udev to work with camera. So I run “sudo gedit /etc/udev/rules.d/10-pointgrey.rules” and type in the following text.

BUS=="usb", SYSFS{idVendor}=="1e10", SYSFS{idProduct}=="2002", GROUP="plugdev"

Then I restart the udev by “sudo restart udev” and restart coriander again. But the same error still appears.

Then I opened the official website of the POINT GREY and downloaded the FlyCapture2 software. Surprisingly, This software is able to recognize the camera. Why coriander cannot recognize camera? camera1394 ros node also cannot recognize camera.

Can any help me to solve this problem? Thanks in advance!

2016-06-09 10:51:36 -0500 marked best answer error when build catkin package

I have already make a catkin work space following the ROS tutorial. And I also have created a catkin package in source folder. So next I tried to build the catkin package. Everything works before I add the c++ source file into the source folder of the catkin package. After I add the c++ source file, configuration step works fine. But next when I run "make" to build the package, this kind of error appears. It seems it cannot find ROS library.

CMakeFiles/joy_teleop_node.dir/src/joy_teleop_node.cpp.o: In function `TeleopTurtle::TeleopTurtle()':
joy_teleop_node.cpp:(.text+0x37): undefined reference to `ros::NodeHandle::NodeHandle(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&)'
joy_teleop_node.cpp:(.text+0x2a2): undefined reference to `ros::Publisher::~Publisher()'
joy_teleop_node.cpp:(.text+0x366): undefined reference to `ros::Subscriber::~Subscriber()'
joy_teleop_node.cpp:(.text+0x443): undefined reference to `ros::Publisher::~Publisher()'
joy_teleop_node.cpp:(.text+0x470): undefined reference to `ros::Subscriber::~Subscriber()'
joy_teleop_node.cpp:(.text+0x4ae): undefined reference to `ros::Subscriber::~Subscriber()'
joy_teleop_node.cpp:(.text+0x4c0): undefined reference to `ros::Publisher::~Publisher()'
joy_teleop_node.cpp:(.text+0x4cf): undefined reference to `ros::NodeHandle::~NodeHandle()'

This is package.xml:

<?xml version="1.0"?>
<package>
<name>joy_teleop</name>
<version>0.0.0</version>
<description>The joy_teleop package</description>
<maintainer email="quan1992@wpi.edu">adrian</maintainer>
<license>BSD</license>
<buildtool_depend>catkin</buildtool_depend>
<build_depend>joy</build_depend>
<build_depend>roscpp</build_depend>
<build_depend>turtlesim</build_depend>
<run_depend>joy</run_depend>
<run_depend>roscpp</run_depend>
<run_depend>turtlesim</run_depend>
<export>
</export>
</package>

And this is CMakeList.txt

cmake_minimum_required(VERSION 2.8.3)
project(joy_teleop)
find_package(catkin REQUIRED COMPONENTS joy roscpp turtlesim)
catkin_package(
INCLUDE_DIRS include
)
include_directories(include
${catkin_INCLUDE_DIRS}
)
add_executable(joy_teleop_node src/joy_teleop_node.cpp)

I can build the source file using rosbuild method, but not catkin.

Anyone can help me? Thanks in advance!

2016-03-14 10:20:10 -0500 marked best answer how to disable gravity of a model in the world? (only disable one model)

Hi,

I want to disable the gravity of one model in gazebo world. How can I do that?

Thanks for any help in advance!

2016-03-14 10:20:10 -0500 received badge  Good Answer (source)
2016-03-14 10:20:10 -0500 received badge  Enlightened (source)
2015-11-28 16:30:23 -0500 received badge  Famous Question (source)
2015-11-28 16:29:37 -0500 received badge  Popular Question (source)
2015-11-16 01:42:23 -0500 marked best answer error while compiling camera1394

Hi there,

I am trying to compile camera1394 (master branch)from source. However, I got many error like these:

dev_camera1394.cpp:(.text+0xe28): undefined reference to `ros::console::initializeLogLocation(ros::console::LogLocation*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, ros::console::levels::Level)'
dev_camera1394.cpp:(.text+0xe62): undefined reference to `ros::console::setLogLocationLevel(ros::console::LogLocation*, ros::console::levels::Level)'
dev_camera1394.cpp:(.text+0xe6e): undefined reference to `ros::console::checkLogLocationEnabled(ros::console::LogLocation*)'

I am using Gumstix Overo and its OS is Linaro.

Then I try to build camera1394 (groovy branch) with rosmake, but I got following error:

[ rosmake ] Last 40 linesmera1394: 721.5 sec ]         [ 1 Active 8/9 Complete ]
{-------------------------------------------------------------------------------
  Scanning dependencies of target rospack_gencfg_real
  make[3]: Leaving directory `/root/rosbuild_ws/camera1394/build'
  [  7%] Built target rospack_gencfg_real
  make[3]: Entering directory `/root/rosbuild_ws/camera1394/build'
  Scanning dependencies of target rospack_genmsg_libexe
  make[3]: Leaving directory `/root/rosbuild_ws/camera1394/build'
  [  7%] Built target rospack_genmsg_libexe
  make[3]: Entering directory `/root/rosbuild_ws/camera1394/build'
  Scanning dependencies of target rosbuild_precompile
  make[3]: Leaving directory `/root/rosbuild_ws/camera1394/build'
  [  7%] Built target rosbuild_precompile
  make[3]: Entering directory `/root/rosbuild_ws/camera1394/build'
  Scanning dependencies of target camera1394_node
  make[3]: Leaving directory `/root/rosbuild_ws/camera1394/build'
  make[3]: Entering directory `/root/rosbuild_ws/camera1394/build'
  [ 15%] Building CXX object src/nodes/CMakeFiles/camera1394_node.dir/camera1394_node.cpp.o
  In file included from /root/rosbuild_ws/camera1394/src/nodes/driver1394.h:44:0,
               from /root/rosbuild_ws/camera1394/src/nodes/camera1394_node.cpp:38:
  /root/catkin_ws/install/include/driver_base/driver.h: In static member function ‘static const string& driver_base::Driver::getStateName(driver_base::Driver::state_t)’:
  /root/catkin_ws/install/include/driver_base/driver.h:238:14: warning: comparison is always true due to limited range of data type [-Wtype-limits]
  [ 23%] Building CXX object src/nodes/CMakeFiles/camera1394_node.dir/modes.cpp.o
  [ 30%] Building CXX object src/nodes/CMakeFiles/camera1394_node.dir/format7.cpp.o
  [ 38%] Building CXX object src/nodes/CMakeFiles/camera1394_node.dir/features.cpp.o
  [ 46%] Building CXX object src/nodes/CMakeFiles/camera1394_node.dir/dev_camera1394.cpp.o
  [ 53%] Building CXX object src/nodes/CMakeFiles/camera1394_node.dir/driver1394.cpp.o
  In file included from /root/rosbuild_ws/camera1394/src/nodes/driver1394.h:44:0,
               from /root/rosbuild_ws/camera1394/src/nodes/driver1394.cpp:42:
  /root/catkin_ws/install/include/driver_base/driver.h: In static member function ‘static const string& driver_base::Driver::getStateName(driver_base::Driver::state_t)’:
  /root/catkin_ws/install/include/driver_base/driver.h:238:14: warning: comparison is always true due to limited range of data type [-Wtype-limits]
  c++: internal compiler error: Killed (program cc1plus)
  Please submit a full bug report,
  with preprocessed source if appropriate.
  See <file:///usr/share/doc/gcc-4.6/README.Bugs> for instructions.
  make[3]: *** [src/nodes/CMakeFiles/camera1394_node.dir/driver1394.cpp.o] Error 4
  make[3]: Leaving directory `/root/rosbuild_ws/camera1394/build'
  make[2]: *** [src/nodes/CMakeFiles/camera1394_node.dir/all] Error 2
  make[2]: Leaving directory `/root/rosbuild_ws/camera1394/build'
  make[1]: *** [all] Error 2
  make[1]: Leaving directory `/root/rosbuild_ws/camera1394/build'

I have successfully compiled all the dependencies of camera1394.

Can anyone ... (more)

2015-11-16 01:36:02 -0500 marked best answer ROS unable to find opencv libraries

I am trying to build image_view from source on Gumstix Overo which has ros groovy running on linaro.

However, one of dependencies of image_view -- opencv2 cannot be resolved in system dependency. So I cannot use rosdep to install opencv2.

Then I went to http://opencv.org/downloads.html and downloaded version 2.4.3 and followed instruction to install OpenCV.

However, when I make image_view, I got the following error.

[rosmake-0] Starting >>> image_view [ make ]                                    
[ rosmake ] Last 40 linesage_view: 346.6 sec ]       [ 1 Active 17/18 Complete ]
{-------------------------------------------------------------------------------
  CMakeFiles/stereo_view.dir/src/nodes/stereo_view.cpp.o: In function `~Mat':
  /usr/local/include/opencv2/core/mat.hpp:278: undefined reference to `cv::fastFree(void*)'
  CMakeFiles/stereo_view.dir/src/nodes/stereo_view.cpp.o: In function `~CvBridge':
  /root/catkin_ws/src/vision_opencv-fuerte-devel/cv_bridge/include/cv_bridge/CvBridge.h:72: undefined reference to `cvReleaseImageHeader'
  /root/catkin_ws/src/vision_opencv-fuerte-devel/cv_bridge/include/cv_bridge/CvBridge.h:77: undefined reference to `cvReleaseImage'
  /root/catkin_ws/src/vision_opencv-fuerte-devel/cv_bridge/include/cv_bridge/CvBridge.h:72: undefined reference to `cvReleaseImageHeader'
  /root/catkin_ws/src/vision_opencv-fuerte-devel/cv_bridge/include/cv_bridge/CvBridge.h:77: undefined reference to `cvReleaseImage'
  CMakeFiles/stereo_view.dir/src/nodes/stereo_view.cpp.o: In function `~Mat':
  /usr/local/include/opencv2/core/mat.hpp:278: undefined reference to `cv::fastFree(void*)'
  /usr/local/include/opencv2/core/mat.hpp:278: undefined reference to `cv::fastFree(void*)'
  CMakeFiles/stereo_view.dir/src/nodes/stereo_view.cpp.o: In function `~Mat_':
  /usr/local/include/opencv2/core/mat.hpp:367: undefined reference to `cv::Mat::deallocate()'
  CMakeFiles/stereo_view.dir/src/nodes/stereo_view.cpp.o: In function `~Mat':
  /usr/local/include/opencv2/core/mat.hpp:367: undefined reference to `cv::Mat::deallocate()'
  /usr/local/include/opencv2/core/mat.hpp:367: undefined reference to `cv::Mat::deallocate()'
  CMakeFiles/stereo_view.dir/src/nodes/stereo_view.cpp.o: In function `StereoView::saveImage(char const*, cv::Mat const&)':
  /root/catkin_ws/src/image_pipeline-electric/image_view/src/nodes/stereo_view.cpp:499: undefined reference to `cv::_InputArray::_InputArray(cv::Mat const&)'
  /root/catkin_ws/src/image_pipeline-electric/image_view/src/nodes/stereo_view.cpp:499: undefined reference to `cv::imwrite(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cv::_InputArray const&, std::vector<int, std::allocator<int> > const&)'
  CMakeFiles/stereo_view.dir/src/nodes/stereo_view.cpp.o: In function `CvBridge':
  /root/catkin_ws/src/vision_opencv-fuerte-devel/cv_bridge/include/cv_bridge/CvBridge.h:66: undefined reference to `cvCreateImageHeader'
  /root/catkin_ws/src/vision_opencv-fuerte-devel/cv_bridge/include/cv_bridge/CvBridge.h:66: undefined reference to `cvCreateImageHeader'
  CMakeFiles/stereo_view.dir/src/nodes/stereo_view.cpp.o: In function `StereoView':
  /root/catkin_ws/src/image_pipeline-electric/image_view/src/nodes/stereo_view.cpp:377: undefined reference to `cv::namedWindow(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)'
  /root/catkin_ws/src/image_pipeline-electric/image_view/src/nodes/stereo_view.cpp:378: undefined reference to `cv::namedWindow(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)'
  /root/catkin_ws/src/image_pipeline-electric/image_view/src/nodes/stereo_view.cpp:379: undefined reference to `cv::namedWindow(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)'
  /root/catkin_ws/src/image_pipeline-electric/image_view/src/nodes/stereo_view.cpp:380: undefined reference to `cvSetMouseCallback'
  /root/catkin_ws/src/image_pipeline-electric/image_view/src ...
(more)
2015-11-16 01:33:28 -0500 marked best answer Does camera1394 support UDP transport layer?

I am trying to stream video from my gumstix Overo to my laptop with camera1394 package. With default TCP layer, I found there are 5 to 10 seconds delay and the frame rate is just about 1 frame/sec (which is not what I set 15 frames/sec). I know I need to compress image and I will do some research on that later.

Right now, I really want to change the data transport layer from TCP to UDP because UDP is batter for tele-operation. I know that I can change the transport layer by transport hint in subscriber node. So I did that in my image_view source code "image_nodelet.cpp".

At line 118, I changed:

image_transport::TransportHints hints(transport, ros::TransportHints(), getPrivateNodeHandle());

to

image_transport::TransportHints hints(transport, ros::TransportHints().udp(), getPrivateNodeHandle());

And rosmake it again. Then I run the image_view to receive video. However I found it still utilize TCP transport layer instead of UDP. Does camera1394 support UDP transport layer?

My laptop have Ubuntu 12.04 running as a virtual machine and bridged the host network. I inspect the transport layer by wireshark in windows(host). I also doubt that if I make the right image_view package I edited because I know there is another one in /opt/ros/groovy/stacks. But I my ROS_PAKCKAGE_PATH is

/home/adrian/catkin_ws/src:/opt/ros/groovy/share:/opt/ros/groovy/stacks

So I think rosmake should make the source image_view in my workspace.

Thanks and have a good day!

2015-10-14 16:25:27 -0500 marked best answer cannot install ros packages by command line

Hi,

I had the ROS groovy run on Gumstix Overo but I have trouble in installing ros packages with command line.

I want to install camera1394 so I type in sudo apt-get install ros-groovy-camera1394, however following error appears:

root@linaro-alip:~# sudo apt-get install ros-groovy-camera1394
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package ros-groovy-camera1394

Then I try to update the package list, and this is output of sudo apt-get update:

root@linaro-alip:~# sudo apt-get update
Ign http://ports.ubuntu.com precise InRelease                                  
Ign http://ppa.launchpad.net precise InRelease                                 
Hit http://ports.ubuntu.com precise Release.gpg           
Hit http://ppa.launchpad.net precise Release.gpg          
Hit http://ports.ubuntu.com precise Release               
Hit http://ppa.launchpad.net precise Release                             
Ign http://packages.ros.org precise InRelease                             
Hit http://packages.ros.org precise Release.gpg                           
Hit http://ports.ubuntu.com precise/main Sources
Hit http://ppa.launchpad.net precise/main Sources
Hit http://packages.ros.org precise Release    
Hit http://ports.ubuntu.com precise/universe Sources                 
Hit http://ports.ubuntu.com precise/main armhf Packages              
Hit http://ports.ubuntu.com precise/universe armhf Packages          
Hit http://ports.ubuntu.com precise/main TranslationIndex            
Hit http://ppa.launchpad.net precise/main armhf Packages             
Ign http://ppa.launchpad.net precise/main TranslationIndex           
Hit http://ports.ubuntu.com precise/universe TranslationIndex        
Hit http://ports.ubuntu.com precise/main Translation-en
Hit http://packages.ros.org precise/main armhf Packages
Hit http://ports.ubuntu.com precise/universe Translation-en
Ign http://packages.ros.org precise/main TranslationIndex
Ign http://ppa.launchpad.net precise/main Translation-en
Ign http://packages.ros.org precise/main Translation-en
Reading package lists... Done

The output seems shorter than what I get from Ubuntu on my computer:

adrian@ubuntu:~$ sudo apt-get update
[sudo] password for adrian: 
Ign http://us.archive.ubuntu.com precise InRelease
Ign http://us.archive.ubuntu.com precise-updates InRelease                     
Ign http://us.archive.ubuntu.com precise-backports InRelease                   
Hit http://us.archive.ubuntu.com precise Release.gpg                           
Get:1 http://us.archive.ubuntu.com precise-updates Release.gpg [198 B]         
Hit http://us.archive.ubuntu.com precise-backports Release.gpg                 
Hit http://us.archive.ubuntu.com precise Release                               
Get:2 http://us.archive.ubuntu.com precise-updates Release [49.6 kB]           
Ign http://security.ubuntu.com precise-security InRelease                      
Ign http://extras.ubuntu.com precise InRelease                                 
Hit http://us.archive.ubuntu.com precise-backports Release                     
Hit http://us.archive.ubuntu.com precise/main Sources                          
Hit http://us.archive.ubuntu.com precise/restricted Sources                    
Hit http://us.archive.ubuntu.com precise/universe Sources                      
Hit http://us.archive.ubuntu.com precise/multiverse Sources                    
Hit http://us.archive.ubuntu.com precise/main i386 Packages                    
Hit http://us.archive.ubuntu.com precise/restricted i386 Packages              
Hit http://us.archive.ubuntu.com precise/universe i386 Packages                
Hit http://us.archive.ubuntu.com precise/multiverse i386 Packages              
Hit http://us.archive.ubuntu.com precise/main TranslationIndex                 
Hit http://us.archive.ubuntu.com precise/multiverse TranslationIndex           
Hit http://us.archive.ubuntu.com precise/restricted TranslationIndex           
Hit http://us ...
(more)
2015-07-29 06:26:10 -0500 received badge  Famous Question (source)
2015-07-29 06:26:10 -0500 received badge  Notable Question (source)
2015-05-28 22:28:19 -0500 received badge  Famous Question (source)
2015-05-17 14:31:27 -0500 received badge  Famous Question (source)
2015-05-17 14:31:27 -0500 received badge  Notable Question (source)
2015-04-23 15:38:46 -0500 received badge  Great Question (source)
2015-03-22 04:04:40 -0500 marked best answer Can't find Point Grey Camera in a new virtual machine

Hello,

I have used POINT GREY FIREFLY MV FMVU-13S2C digital camera to work on Ubuntu 10.04 and ros electric(I am gonna call it VM1) and it worked very well. But when I install another virtual machine (Ubuntu 10.4 and ros electric also)(I am gonna call it VM2), the camera cannot be found.

I remember the steps that I got the camera worked in VM1 are:

  1. install camera drivers by "sudo apt-get install ros-electric-camera-drivers"
  2. Create an udev rule for usb adapter to recognize Grey Firefly MV USB camera by "sudo gedit /etc/udev/rules.d/40-pgr.rules" and add the following text into it.

ATTRS{idVendor}=="1e10", ATTRS{idProduct}=="2000", MODE="0664", GROUP="pgrimaging"
ATTRS{idVendor}=="1e10", ATTRS{idProduct}=="2001", MODE="0664", GROUP="pgrimaging"
ATTRS{idVendor}=="1e10", ATTRS{idProduct}=="2002", MODE="0664", GROUP="pgrimaging"
ATTRS{idVendor}=="1e10", ATTRS{idProduct}=="2003", MODE="0664", GROUP="pgrimaging"
ATTRS{idVendor}=="1e10", ATTRS{idProduct}=="2004", MODE="0664", GROUP="pgrimaging"
ATTRS{idVendor}=="1e10", ATTRS{idProduct}=="2005", MODE="0664", GROUP="pgrimaging"
ATTRS{idVendor}=="1e10", ATTRS{idProduct}=="3000", MODE="0664", GROUP="pgrimaging"
ATTRS{idVendor}=="1e10", ATTRS{idProduct}=="3001", MODE="0664", GROUP="pgrimaging"
ATTRS{idVendor}=="1e10", ATTRS{idProduct}=="3002", MODE="0664", GROUP="pgrimaging"
ATTRS{idVendor}=="1e10", ATTRS{idProduct}=="3003", MODE="0664", GROUP="pgrimaging"
ATTRS{idVendor}=="1e10", ATTRS{idProduct}=="3004", MODE="0664", GROUP="pgrimaging"
ATTRS{idVendor}=="1e10", ATTRS{idProduct}=="3005", MODE="0664", GROUP="pgrimaging"
KERNEL=="raw1394", MODE="0664", GROUP="pgrimaging"
KERNEL=="video1394*", MODE="0664", GROUP="pgrimaging"
SUBSYSTEM=="firewire", GROUP="pgrimaging"

  1. then I follow

Install the modules

modprobe ohci1394
modprobe video1394
modprobe ieee1394
modprobe raw1394

Create proper 1394 devices

cd /dev
mknod raw1394 c 171 0
chmod 666 /dev/raw1394
mkdir video1394
cd video1394
mknod 0 c 171 16
mknod 1 c 171 17
chmod 666 /dev/video1394/*

Set user paths

su user

Check for the LD_LIBRARY_PATH. It should contain /usr/local/lib. This is necessary to run the applications with the help of the shared libdc1394_cotrol.so.13 object file.


I applied exactly same steps to VM2. however, when I run "rosrun camera1394 camera1394_node", camera cannot be found.

Following are some outputs of VM1 and VM2 for your information.


terminal: lsusb -t
output:

VM1:
1-1:1.0: No such file or directory
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
    |__ Port 1: Dev 2, If 0, Class=HID, Driver=usbhid, 12M
    |__ Port 1: Dev 2, If 1, Class=HID, Driver=usbhid, 12M
    |__ Port 2: Dev 3, If 0, Class=hub, Driver=hub/7p, 12M
        |__ Port 1: Dev 4, If 0, Class='bInterfaceClass 0xe0 not yet handled', Driver=btusb, 12M
        |__ Port 1: Dev 4, If 1, Class='bInterfaceClass 0xe0 not yet handled', Driver=btusb, 12M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/6p, 480M
    |__ Port 1: Dev 6, If 0, Class=vend., Driver=, 480M
    |__ Port 2: Dev 3, If 0, Class='bInterfaceClass 0x0e not yet handled', Driver=uvcvideo, 480M
    |__ Port 2: Dev 3, If 1, Class='bInterfaceClass 0x0e not yet handled', Driver=uvcvideo ...
(more)
2015-03-16 13:39:47 -0500 marked best answer what is proxy controller?

Hi,

In joint_trajectory_action_controller, there is a proxy controller mode. I am wondering what is proxy controller? What's difference between proxy controller and normal pid controller?

Thanks for any help in advance!

2014-12-15 17:18:08 -0500 received badge  Nice Question (source)
2014-12-15 13:43:42 -0500 marked best answer Can wet package depend on dry package?

Hi everyone,

I am wondering if wet package can depend on dry package?

Thanks