Camera_Info_Manager [closed]
Hello
I am trying to do a bumblebee xb3 driver and I have the following problem.
I found out a driver needs to supply the service set_camera_info for stereo camera calibration, because when i run stereo calibration the output is
mike@BLACKBANDIT:~$ rosrun camera_calibration cameracalibrator.py --size 8x6 --square 0.108 right:=/xb3_short/right/image_raw left:=/xb3_short/left/image_raw right_camera:=/xb3_short/right left_camera:=/xb3_short/left Waiting for service /xb3_short/left/set_camera_info ... Service not found Waiting for service /xb3_short/right/set_camera_info ... Service not found
Hence i started looking for this service. I found in http://www.ros.org/doc/api/camera1394... that we should use dynamic_reconfigure.
I also found that one should use camera_info_manager.
Well, problem is I cannot make them work togheter.
To have the dynamic_reconfigure i need to add to the CMakeLists.txt the follwoing
add dynamic reconfigure api
rosbuild_find_ros_package(dynamic_reconfigure) include(${dynamic_reconfigure_PACKAGE_PATH}/cmake/cfgbuild.cmake) gencfg() rosbuild_add_executable(dynamic_reconfigure_node src/dynamic_reconfigure_node.cpp)
And when I do add this to the CmakeList.txt there is a strange linking error about the camera_info_manager
[ 0%] Built target rospack_genmsg_libexe
[ 0%] Built target rosbuild_precompile
[ 25%] Building CXX object CMakeFiles/pgrlibdcstereo.dir/src/pgr_conversions.o
[ 50%] Building CXX object CMakeFiles/pgrlibdcstereo.dir/src/pgr_registers.o
[ 75%] Building CXX object CMakeFiles/pgrlibdcstereo.dir/src/pgr_stereocam.o
Linking CXX shared library lib/libpgrlibdcstereo.so
[ 75%] Built target pgrlibdcstereo
[100%] Building CXX object CMakeFiles/xb3.dir/src/xb3.o
Linking CXX executable bin/xb3
CMakeFiles/xb3.dir/src/xb3.o: In function main':
xb3.cpp:(.text+0x173d): undefined reference to
camera_info_manager::CameraInfoManager::CameraInfoManager(ros::NodeHandle, std::basic_string<char, std::char_traits<char="">, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char="">, std::allocator<char> > const&)'
collect2: ld returned 1 exit status
This does not occur when I have the CMakeList.txt without the previous lines.
I initialize camera_info_manager standard like
ros::NodeHandle nh;
CameraInfoManager TEST(nh);
Any hint?
Thanks
Miguel