GithubHelp home page GithubHelp logo

kumarrobotics / bluefox2 Goto Github PK

View Code? Open in Web Editor NEW
46.0 50.0 67.0 31.17 MB

ROS driver for the Matrix Vision mvBlueFOX cameras

CMake 0.35% Python 0.30% C++ 99.16% Shell 0.02% C 0.17%
ros-driver camera

bluefox2's Introduction

Build Status

Bluefox2

This driver depends on package camera_base

https://github.com/KumarRobotics/bluefox2

image

mvBluefox MLC

Supported hardware

This driver should work with any Matrix-Vision Bluefox usb2.0 MLC cameras (bluefox2).

API Stability

The ROS API of this driver should be considered unstable.

ROS API

single_node

single_node is a node for a single bluefox2 camera.

Published topics

~image_raw (sensor_msgs/Image)

The unprocessed image data.

~camera_info (sensor_msgs/CameraInfo)

Contains the camera calibration (if calibrated) and extra data about the camera configuration.

Parameters

Common interface

~device (string)

This will be the same as serial.

~rate (double)

This will be the same as fps.

Normal parameters

~serial (string, default: <device>)

bluefox2 camera serial number.

~camera_name (string, default: mv_<serial>)

Camera name used by camera_info_manager for loading calibration file, should be the same as the name in mv_<serial>.yaml.

~camera (string, default: <camera_name>)

Name of the node.

~frame_id (string, default: <camera>)

frame id of the published topics.

~calib_url (string)

camera calibration URL.

Dynamically Reconfigurable Parameters

See the dynamic_reconfigure package for details on dynamically reconfigurable parameters.

white balance parameter:

  • -1 - wbp_unavailable
  • 0~5 - wbp_tungsten and friends
  • 6 ~ wbp_user1
  • 7 - wbp_calibrate, calibrate next frame for white balance

For calibrating white balance, first point the camera at a white board, then select wbp_calibrate, the mvIMPACT driver will calibrate white balance automatically and save it to wbp_user1.

~dcfm (int, default: 1)

dark current filter mode:

  • 0 - dcfm_off
  • 1 - dcfm_on
  • 2 - dcfm_calibrate
  • 3 - correction_image

If you are using a color camera, you would want to perform a 'dark current filter calibration` to enhance the quality of acquisition. This is done with the following steps:

  1. Start the bluefox node, let it run for about 5-6 minutes until the temperature of the sensor reaches a stable value. Then you would see something like this.
    image
  2. Put the lense cap on so that the image looks like this. You can see that there are some pixels that are not completely dark, this is due to the effect of dark current.
    image
  3. Select dcfm_calibrate from the reconfigure server. The driver will do the dark current calibration and then switch the filter on. You can verify the result by selecting correction_image and you will see this.
    image
  4. Then you can switch back to dcfm_on and your image would look much better then before.
    image
  5. This calibration process cannot be done automatically since it requires the sensor be running for a few minutes and manually putting the lense cap on.

Read this article as well.

~hdr (bool, default: false)

Only 200wG camera supports this mode, set hdr to true for other cameras will have no effect.

This mode is required when high fps desired which allows 200wG to work at 90 fps and 200bG at 24 fps (with ctm = 1). Using this will result in imprecise time stamp of captured image. Use with caution.

stereo_node

stereo_node is a node for 2 bluefox2 cameras in stereo configuration.

Published topics

~left/image_raw (sensor_msgs/Image)

~right/image_raw (sensor_msgs/Image)

The unprocessed image data.

~/left/camera_info (sensor_msgs/CameraInfo)

~/right/camera_info (sensor_msgs/CameraInfo)

Contains the camera calibration (if calibrated) and extra data about the camera configuration.

Common interface

~rate (double)

This will be the same as fps.

Normal parameters

~left (string, default: <left_serial>)

~right (string, default: <right_serial>)

bluefox2 camera serial number for the left and right camera.

~left_camera_name (string, default: mv_<left_serial>)

~right_camera_name (string, default: mv_<right_serial>)

Camera name used by camera_info_manager for load calibration file, should be the same as the name in calib_<serial>.yml.

~left_calib_url (string, default: package://bluefox2/calib/calib_<left_serial>.yml)

~right_calib_url (string, default: package://bluefox2/calib/calib_<right_serial>.yml)

camera calibration URL for the left and right camera.

All the rest parameters are the same with single_node, changing them will change the corresponding settings in both cameras.

Hardware sync

Notice that if you are using two 200w cameras, there's no need to use hardware synchronization because software synchronization is supported. The stereo_node will send two request one after another and the delay could be ignored.

Using 2 mvBlueFOX-MLC cameras in Master-Slave mode

Single-board version (mvBlueFOX-MLC2xx)

Run:

./install/install.sh

This will install mvIMPACT_Acquire SDK to /opt.

wxPropView

If you install the full matrix vision driver, you will have wxPropView installed to your system. It's an GUI application that let you inspect all properties of the camera.

FAQs

  1. I have the driver locally in my ros package, but every time I plug in a camera, I need to change the permission.

    • Simple fix:

      sudo chmod 777 /dev/bus/usb/xxx/xxx

    /dev/bus/usb/xxx/xxx can be easily identified with the error information ros provids.

    • Permanent fix: Adding a rule to /etc/udev/rules.d by the following command

      sudo cp -f path_to_driver/Scripts/51-mvbf.rules /etc/udev/rules.d/
      sudo service udev reload
  2. Camera acquisition failure after being unplugged and plugged back in If you are using linux kernel 3.13.0, then it's likely that you will encounter this problem. The solution is to install the latest kernel, eg. > 3.13

bluefox2's People

Contributors

bgromov avatar gareth-cross avatar kartikmohta avatar ke-sun avatar mwatterson avatar versatran01 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bluefox2's Issues

Compilation Error

I'm receive the following error when compiling on an ODROID Xu3 running Ubuntu 14.04:

In file included from /home/odroid/catkin_ws/src/bluefox2/src/bluefox2_ros.cpp:1:0:
/home/odroid/catkin_ws/src/bluefox2/include/bluefox2/bluefox2_ros.h:17:8: error: ‘bool bluefox2::Bluefox2Ros::Grab(const ImagePtr&)’ marked override, but does not override
bool Grab(const sensor_msgs::ImagePtr& image_msg) override;
^

Trigger control via ROS node

Hi all!

I'm trying to synchronize two sensors (camera and IMU) via hardware. Can anyone say me if I can use the trigger with this ROS node and how can I do it please?

Thank you so much.

Multi_node params reflecting only on one camera

Here is the launch file we are using:

<launch>
    <!-- Common Interface -->
    <arg name="rate" default="20"/>
    <arg name="num_cameras" default="2"/>

    <!-- Camera Settings -->
    <arg name="camera0" default="26806696"/>
    <arg name="camera0_camera_name" default="mv_$(arg camera0)"/>
    <arg name="camera0_calib_url"
    	default="file://${ROS_HOME}/camera_info/$(arg camera0_camera_name).yaml"/>

    <arg name="camera1" default="26806702"/>
    <arg name="camera1_camera_name" default="mv_$(arg camera1)"/>
    <arg name="camera1_calib_url"
    	default="file://${ROS_HOME}/camera_info/$(arg camera1_camera_name).yaml"/>

 
    <arg name="camera" default="multi"/>
    <arg name="frame_id" default="$(arg camera)"/>
    <arg name="fps" default="$(arg rate)"/>
    <arg name="color" default="true"/>
    <arg name="aec" default="0"/>
    <arg name="cbm" default="false"/>
    <arg name="ctm" default="1"/>
    <arg name="dcfm" default="1"/>
    <arg name="hdr" default="false"/>
    <arg name="wbp" default="-1"/>
    <arg name="expose_us" default="45000"/>
    <arg name="gain_db" default="0.0"/>
    <arg name="mm" default="0"/>
    <arg name="r_gain" default="1.1"/>
    <arg name="b_gain" default="1.56"/>

    <!-- Node Settings -->
    <arg name="output" default="screen"/>

    <!-- Node -->
    <node pkg="bluefox2" type="bluefox2_multi_node" name="$(arg camera)" output="$(arg output)">
    	  <param name="num_cameras" type="int" value="$(arg num_cameras)"/>
        <param name="camera0/camera_name" type="string" value="$(arg camera0_camera_name)"/>
        <param name="camera0/identifier" type="string" value="$(arg camera0)"/>
        <param name="camera0/calib_url" type="string" value="$(arg camera0_calib_url)"/>

        <param name="camera1/camera_name" type="string" value="$(arg camera1_camera_name)"/>
        <param name="camera1/identifier" type="string" value="$(arg camera1)"/>
        <param name="camera1/calib_url" type="string" value="$(arg camera1_calib_url)"/>

 
        <param name="frame_id" type="string" value="$(arg frame_id)"/>
        <param name="fps" type="double" value="$(arg fps)"/>
        <param name="color" type="bool" value="$(arg color)"/>
        <param name="aec" type="int" value="$(arg aec)"/>
        <param name="cbm" type="bool" value="$(arg cbm)"/>
        <param name="ctm" type="int" value="$(arg ctm)"/>
        <param name="dcfm" type="int" value="$(arg dcfm)"/>
        <param name="hdr" type="bool" value="$(arg hdr)"/>
        <param name="wbp" type="int" value="$(arg wbp)"/>
        <param name="expose_us" type="int" value="$(arg expose_us)"/>
        <param name="gain_db" type="double" value="$(arg gain_db)"/>
        <param name="r_gain" type="double" value="$(arg r_gain)"/>
        <param name="b_gain" type="double" value="$(arg b_gain)"/>
    </node>
</launch>

The camera1 node is reflecting the changes made in the parameters but not in the camera0

Auto exposure control

Hi, thanks for the great work. According to the readme, there are 4 possibile aec settings, two of which are controlled by the driver. On the other hand, the implementation seems to treat the setting as a bool, and I can't seem to find any reference to those two driver-controlled modes in the code.

Thanks,
Nico

Compilation error on NVIDIA TX2.

Hey there, I have installed the camera's driver of arm64. When I compiling it, there is a error like this:

Linking CXX executable /home/nvidia/monocular/catkin_ws/devel/lib/bluefox2/bluefox2_list_cameras
CMakeFiles/bluefox2_list_cameras.dir/list_cameras.cpp.o: In function mvIMPACT::acquire::ComponentAccess::compGetStringParam[abi:cxx11](mvIMPACT::acquire::TOBJ_StringQuery, int, int) const': list_cameras.cpp:(.text._ZNK8mvIMPACT7acquire15ComponentAccess18compGetStringParamB5cxx11ENS0_16TOBJ_StringQueryEii[_ZNK8mvIMPACT7acquire15ComponentAccess18compGetStringParamB5cxx11ENS0_16TOBJ_StringQueryEii]+0x64): undefined reference to OBJ_GetSWithInplaceConstruction'
CMakeFiles/bluefox2_list_cameras.dir/list_cameras.cpp.o: In function mvIMPACT::acquire::ComponentAccess::ComponentAccess(int)': list_cameras.cpp:(.text._ZN8mvIMPACT7acquire15ComponentAccessC2Ei[_ZN8mvIMPACT7acquire15ComponentAccessC5Ei]+0x4c): undefined reference to OBJ_CheckHandle'
CMakeFiles/bluefox2_list_cameras.dir/list_cameras.cpp.o: In function mvIMPACT::acquire::ComponentAccess::changedCounter() const': list_cameras.cpp:(.text._ZNK8mvIMPACT7acquire15ComponentAccess14changedCounterEv[_ZNK8mvIMPACT7acquire15ComponentAccess14changedCounterEv]+0x30): undefined reference to OBJ_GetChangedCounter'
CMakeFiles/bluefox2_list_cameras.dir/list_cameras.cpp.o: In function mvIMPACT::acquire::Component::isValid() const': list_cameras.cpp:(.text._ZNK8mvIMPACT7acquire9Component7isValidEv[_ZNK8mvIMPACT7acquire9Component7isValidEv]+0x18): undefined reference to OBJ_CheckHandle'
CMakeFiles/bluefox2_list_cameras.dir/list_cameras.cpp.o: In function mvIMPACT::acquire::Component::type() const': list_cameras.cpp:(.text._ZNK8mvIMPACT7acquire9Component4typeEv[_ZNK8mvIMPACT7acquire9Component4typeEv]+0x30): undefined reference to OBJ_GetType'
CMakeFiles/bluefox2_list_cameras.dir/list_cameras.cpp.o: In function mvIMPACT::acquire::ComponentLocatorBase::bindSearchBase(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)': list_cameras.cpp:(.text._ZN8mvIMPACT7acquire20ComponentLocatorBase14bindSearchBaseEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN8mvIMPACT7acquire20ComponentLocatorBase14bindSearchBaseEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x80): undefined reference to OBJ_GetHandleEx'
CMakeFiles/bluefox2_list_cameras.dir/list_cameras.cpp.o: In function mvIMPACT::acquire::ComponentLocatorBase::findComponent(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, int) const': list_cameras.cpp:(.text._ZNK8mvIMPACT7acquire20ComponentLocatorBase13findComponentERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEii[_ZNK8mvIMPACT7acquire20ComponentLocatorBase13findComponentERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEii]+0x60): undefined reference to OBJ_GetHandleEx'
CMakeFiles/bluefox2_list_cameras.dir/list_cameras.cpp.o: In function mvIMPACT::acquire::Property::readS(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const': list_cameras.cpp:(.text._ZNK8mvIMPACT7acquire8Property5readSEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZNK8mvIMPACT7acquire8Property5readSEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x9c): undefined reference to OBJ_GetSFormattedEx'
CMakeFiles/bluefox2_list_cameras.dir/list_cameras.cpp.o: In function mvIMPACT::acquire::Device::open()': list_cameras.cpp:(.text._ZN8mvIMPACT7acquire6Device4openEv[_ZN8mvIMPACT7acquire6Device4openEv]+0x44): undefined reference to DMR_OpenDevice'
CMakeFiles/bluefox2_list_cameras.dir/list_cameras.cpp.o: In function mvIMPACT::acquire::DeviceManager::updateInfoVector() const': list_cameras.cpp:(.text._ZNK8mvIMPACT7acquire13DeviceManager16updateInfoVectorEv[_ZNK8mvIMPACT7acquire13DeviceManager16updateInfoVectorEv]+0x80): undefined reference to DMR_GetDeviceCount'
list_cameras.cpp:(.text._ZNK8mvIMPACT7acquire13DeviceManager16updateInfoVectorEv[_ZNK8mvIMPACT7acquire13DeviceManager16updateInfoVectorEv]+0xe8): undefined reference to DMR_GetDevice' CMakeFiles/bluefox2_list_cameras.dir/list_cameras.cpp.o: In function mvIMPACT::acquire::DeviceManager::DeviceManager()':
list_cameras.cpp:(.text._ZN8mvIMPACT7acquire13DeviceManagerC2Ev[_ZN8mvIMPACT7acquire13DeviceManagerC5Ev]+0x60): undefined reference to DMR_Init' CMakeFiles/bluefox2_list_cameras.dir/list_cameras.cpp.o: In function mvIMPACT::acquire::DeviceManager::~DeviceManager()':
list_cameras.cpp:(.text._ZN8mvIMPACT7acquire13DeviceManagerD2Ev[_ZN8mvIMPACT7acquire13DeviceManagerD5Ev]+0x20): undefined reference to DMR_Close' CMakeFiles/bluefox2_list_cameras.dir/list_cameras.cpp.o: In function mvIMPACT::acquire::EnumPropertyI::read(int) const':
list_cameras.cpp:(.text._ZNK8mvIMPACT7acquire13EnumPropertyIIiE4readEi[_ZNK8mvIMPACT7acquire13EnumPropertyIIiE4readEi]+0x38): undefined reference to OBJ_GetI' collect2: error: ld returned 1 exit status bluefox2/src/CMakeFiles/bluefox2_list_cameras.dir/build.make:132: recipe for target '/home/nvidia/monocular/catkin_ws/devel/lib/bluefox2/bluefox2_list_cameras' failed make[2]: *** [/home/nvidia/monocular/catkin_ws/devel/lib/bluefox2/bluefox2_list_cameras] Error 1 CMakeFiles/Makefile2:2785: recipe for target 'bluefox2/src/CMakeFiles/bluefox2_list_cameras.dir/all' failed make[1]: *** [bluefox2/src/CMakeFiles/bluefox2_list_cameras.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_ImageRequestReset'
/home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetType' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetI'
/home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_AllocImageRequestBufferDesc' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_GetDevice'
/home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_Close' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetF'
/home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetFlags' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_OpenDevice'
/home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetElementCount' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_ReleaseImageBuffer'
/home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_ReleaseImageRequestBufferDesc' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_SetF'
/home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_GetDriverHandle' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetFirstChild'
/home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetFDictEntries' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_GetDeviceCount'
/home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetDictSize' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetChangedCounter'
/home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_ErrorCodeToString' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetP'
/home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_CloseDevice' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetIDictEntries'
/home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_ImageRequestUnlock' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_SetI'
/home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_FindList' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_Init'
/home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_ImageRequestWaitFor' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetHandleEx'
/home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_IsConstantDefined' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetNextSibling'
/home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetSFormattedEx' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetSWithInplaceConstruction'
/home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_ImageRequestSingle' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_CheckHandle'
collect2: error: ld returned 1 exit status
/home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_ImageRequestReset' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetType'
/home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetI' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_AllocImageRequestBufferDesc'
/home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_GetDevice' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_Close'
/home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetF' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetFlags'
/home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_OpenDevice' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined bluefox2/src/CMakeFiles/bluefox2_stereo_node.dir/build.make:131: recipe for target '/home/nvidia/monocular/catkin_ws/devel/lib/bluefox2/bluefox2_stereo_node' failed reference to OBJ_GetElementCount'
/home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_ReleaseImageBuffer' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_ReleaseImageRequestBufferDesc'
/home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_SetF' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_GetDriverHandle'
/home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetFirstChild' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetFDictEntries'
/home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_GetDeviceCount' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetDictSize'
/home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference tomake[2]: *** [/home/nvidia/monocular/catkin_ws/devel/lib/bluefox2/bluefox2_stereo_node] Error 1
OBJ_GetChangedCounter' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_ErrorCodeToString'
/home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetP' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_CloseDevice'
/home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetIDictEntries' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_ImageRequestUnlock'
/home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_SetI' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_FindList'
/home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_Init' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_ImageRequestWaitFor'
/home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetHandleEx' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_IsConstantDefined'
/home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetNextSibling' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetSFormattedEx'
/home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetSWithInplaceConstruction' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_ImageRequestSingle'
/home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_CheckHandle' collect2: error: ld returned 1 exit status CMakeFiles/Makefile2:2585: recipe for target 'bluefox2/src/CMakeFiles/bluefox2_stereo_node.dir/all' failed make[1]: *** [bluefox2/src/CMakeFiles/bluefox2_stereo_node.dir/all] Error 2 bluefox2/src/CMakeFiles/bluefox2_multi_node.dir/build.make:131: recipe for target '/home/nvidia/monocular/catkin_ws/devel/lib/bluefox2/bluefox2_multi_node' failed make[2]: *** [/home/nvidia/monocular/catkin_ws/devel/lib/bluefox2/bluefox2_multi_node] Error 1 CMakeFiles/Makefile2:2622: recipe for target 'bluefox2/src/CMakeFiles/bluefox2_multi_node.dir/all' failed make[1]: *** [bluefox2/src/CMakeFiles/bluefox2_multi_node.dir/all] Error 2 /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_ImageRequestReset'
/home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetType' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetI'
/home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_AllocImageRequestBufferDesc' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_GetDevice'
/home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_Close' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetF'
/home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetFlags' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_OpenDevice'
/home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetElementCount' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_ReleaseImageBuffer'
/home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_ReleaseImageRequestBufferDesc' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_SetF'
/home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_GetDriverHandle' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetFirstChild'
/home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetFDictEntries' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_GetDeviceCount'
/home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetDictSize' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetChangedCounter'
/home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_ErrorCodeToString' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetP'
/home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_CloseDevice' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetIDictEntries'
/home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_ImageRequestUnlock' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_SetI'
/home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_FindList' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_Init'
/home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_ImageRequestWaitFor' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetHandleEx'
/home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_IsConstantDefined' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetNextSibling'
/home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetSFormattedEx' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_GetSWithInplaceConstruction'
/home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to DMR_ImageRequestSingle' /home/nvidia/monocular/catkin_ws/devel/lib/libbluefox2.so: undefined reference to OBJ_CheckHandle'
collect2: error: ld returned 1 exit status
bluefox2/src/CMakeFiles/bluefox2_single_node.dir/build.make:131: recipe for target '/home/nvidia/monocular/catkin_ws/devel/lib/bluefox2/bluefox2_single_node' failed
make[2]: *** [/home/nvidia/monocular/catkin_ws/devel/lib/bluefox2/bluefox2_single_node] Error 1
CMakeFiles/Makefile2:2748: recipe for target 'bluefox2/src/CMakeFiles/bluefox2_single_node.dir/all' failed
make[1]: *** [bluefox2/src/CMakeFiles/bluefox2_single_node.dir/all] Error 2
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j4 -l4" failed

Has anyone succeeded on tx2?

Bluefox2 with unstable USB connection

Hello,

I am using the MVAcquire library together with the Bluefox2 camera. I do now have an unstable USB connection in my final application. If I disconnect my camera, my stream freezes. How I can I recover my camera afterwards?

Thank you very much in advance!

rostopic echo compressedDepth error

When I'm trying to echo compressedDepth(after launching stereo_node.launch). I shows there is an error shown as following. I wonder how to solve this problem.

Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: bgra8).

Support for bluefox3

I wanted to ask if this driver supports USB 3.0 camera or not? If not is there any other ros driver for usb 3.0 cameras.

Unable to locate mvimpact_acquire.git repository

I was trying to install the mvIMPACT_Acquire SDK using the install.bash script inside the install folder. However the error which I get on running the script is fatal: repository 'https://github.com/versatran01/mvimpact_acquire.git/' not found

getting dull images

I used the default setting given in the single_node.launch file and I am getting very dull images. what are the ways to improve the image quality. What should be parameters for getting good results.

how to start the bluefox2 driver?

hello,
I am using the bluefox cam (mvBlueFox-mlc 200 wG; ROS Indigo, Ubuntu 14.04.) and trying to start the single_node.launch file by typing:

roslaunch bluefox2 single_node.launch

after that I get following:


... logging to /home/kirill/.ros/log/64cc48dc-4f3b-11e6-b816-b8aeed718e60/roslaunch-kirill-boschnuc-4678.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

arg 'device' is not defined.

Arg xml is
The traceback for the exception was written to the log file


I suppose I have to change the single_node.launch file and to add the serial number of the camera (in my case: mv_25001846). But I have no idea where exactly the serial number should be placed.
Is there something else what should be done?

Thanks for your help!

P.S. the native driver of the matrix vision cam was installed.
After typing catkin_make there are no errors.

how to install the bluefox2 driver ?

hallo,
I am new in ROS.
I am trying to publish images with my mvBlueFOX MLC200wG using bluefox2 driver (Ubuntu 14.04 with ROS Indigo).
I did the following:

cd catkin_ws/src git clone https://github.com/KumarRobotics/bluefox2.git
cd ..
catkin_make

After that i get an error:


Could not find a package configuration file provided by "camera_base" with
any of the following names:

camera_baseConfig.cmake
camera_base-config.cmake

Add the installation prefix of "camera_base" to CMAKE_PREFIX_PATH or set
"camera_base_DIR" to a directory containing one of the above files. If
"camera_base" provides a separate development package or SDK, be sure it
has been installed.
Call Stack (most recent call first):
bluefox2/CMakeLists.txt:7 (find_package)

-- Could not find the required component 'camera_base'. The following CMake error indicates that you either need to install the package with the same name or change your environment so that it can be found.
CMake Error at /opt/ros/indigo/share/catkin/cmake/catkinConfig.cmake:83 (find_package):
Could not find a package configuration file provided by "camera_base" with
any of the following names:

camera_baseConfig.cmake
camera_base-config.cmake

Add the installation prefix of "camera_base" to CMAKE_PREFIX_PATH or set
"camera_base_DIR" to a directory containing one of the above files. If
"camera_base" provides a separate development package or SDK, be sure it
has been installed.
Call Stack (most recent call first):
bluefox2/CMakeLists.txt:7 (find_package)

-- Configuring incomplete, errors occurred!
See also "/home/kirill/catkin_ws/build/CMakeFiles/CMakeOutput.log".
See also "/home/kirill/catkin_ws/build/CMakeFiles/CMakeError.log".
Invoking "cmake" failed


Could someone help me please? What am I doing wrong?
What are the next steps to start the single node?
Thank you in advance!

stereo node synchronization

I want to run bluefox2 with two cameras and synchronization is quite important. From the README it is clear that there are two methods that can be employed to achieve this.

  1. Using master-slave method
  2. By hardwiring the same trigger source to both the cameras.

My doubt is, looking at the current implementation, it was not quite clear to me what is employed. Also, I couldn't find any parameters in the stereo_node.launch file that allows me to choose one method over the other

I presume, if used as master-slave, then, I wouldn't require to hardwire the same trigger source to both the cameras.

/mv_26803389: The setting 'mvBlueFOX_SYS' does not exist at storage location 0x00000001 with scope 0x00000001

Hello, I'm an user fo mvBlueFox mlc200wc camera.

Thanks to your instruction about how to install and run this camera with ROS, I can install the sdk and ROS wrapper easily.

BUT, when I use the roslaunch bluefox2 single_node.launch devide:=26803389 (this is my device serial number) , it gives weird message like below :

/mv_26803389: The setting 'mvBlueFOX_SYS' does not exist at storage location 0x00000001 with scope 0x00000001

and it is shutted down the very soon.

I cannot find any issue about this error message ... Could someone kindly make me know how to fix this problem?

ps. the full script when roslaunch .

... logging to /home/chkim/.ros/log/607693fc-72ec-11e7-bd3a-1002b520b930/roslaunch-chkim-14ZD960-GX3GK-10246.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://mycomputer:41632/

SUMMARY

PARAMETERS

  • /mv_26803389/aec: False
  • /mv_26803389/agc: False
  • /mv_26803389/calib_url: file://${ROS_HOME...
  • /mv_26803389/camera_name: mv_26803389
  • /mv_26803389/cbm: 0
  • /mv_26803389/ctm: 1
  • /mv_26803389/dcfm: 0
  • /mv_26803389/expose_us: 5000
  • /mv_26803389/fps: 60.0
  • /mv_26803389/frame_id: mv_26803389
  • /mv_26803389/gain_db: 0.0
  • /mv_26803389/hdr: False
  • /mv_26803389/identifier: 26803389
  • /mv_26803389/idpf: 0
  • /mv_26803389/image_raw/compressed/jpeg_quality: 100
  • /mv_26803389/mm: 0
  • /mv_26803389/request: 0
  • /mv_26803389/wbp: 1
  • /rosdistro: indigo
  • /rosversion: 1.11.21

NODES
/
mv_26803389 (bluefox2/bluefox2_single_node)

ROS_MASTER_URI=http://localhost:11311

core service [/rosout] found
process[mv_26803389-1]: started with pid [10264]
[ERROR] [1501175116.193683737]: /mv_26803389: The setting 'mvBlueFOX_SYS' does not exist at storage location 0x00000001 with scope 0x00000001
[mv_26803389-1] process has finished cleanly
log file: /home/chkim/.ros/log/607693fc-72ec-11e7-bd3a-1002b520b930/mv_26803389-1*.log
all processes on machine have died, roslaunch will exit
shutting down processing monitor...
... shutting down processing monitor complete
done

Images not published

Hi all,

We are using ROS jade bare bones version on an Odroid XU4 with Ubuntu 15.04. The bluefox2 workspace compiles successfully. We are also able to launch the single_nodelet.launch file and the single_node.launch file with our device:

odroid@odroid:~/Documents/ROS/new_ws$ roslaunch bluefox2 single_node.launch 
... logging to /home/odroid/.ros/log/89aa39a4-4787-11e6-b2f5-74da383b15eb/roslaunch-odroid-5035.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://odroid:59956/

SUMMARY
========

PARAMETERS
 * /mv_25001964/aec: True
 * /mv_25001964/agc: True
 * /mv_25001964/calib_url: file://${ROS_HOME...
 * /mv_25001964/camera_name: mv_25001964
 * /mv_25001964/cbm: 0
 * /mv_25001964/ctm: 1
 * /mv_25001964/dcfm: 0
 * /mv_25001964/expose_us: 10000
 * /mv_25001964/fps: 20.0
 * /mv_25001964/frame_id: mv_25001964
 * /mv_25001964/gain_db: 0.0
 * /mv_25001964/hdr: False
 * /mv_25001964/identifier: 25001964
 * /mv_25001964/idpf: 0
 * /mv_25001964/image_raw/compressed/jpeg_quality: 80
 * /mv_25001964/mm: 0
 * /mv_25001964/request: 0
 * /mv_25001964/wbp: -1
 * /rosdistro: jade
 * /rosversion: 1.11.13

NODES
  /
    mv_25001964 (bluefox2/bluefox2_single_node)

auto-starting new master
process[master]: started with pid [5046]
ROS_MASTER_URI=http://localhost:11311

setting /run_id to 89aa39a4-4787-11e6-b2f5-74da383b15eb
process[rosout-1]: started with pid [5059]
started core service [/rosout]
process[mv_25001964-2]: started with pid [5076]
[ INFO] [1468255821.282975155]: /mv_25001964: Initializing reconfigure server
[ INFO] [1468255821.309090421]: camera calibration URL: file:///home/odroid/.ros/camera_info/mv_25001964.yaml
[ INFO] [1468255821.310497627]: Unable to open camera calibration file [/home/odroid/.ros/camera_info/mv_25001964.yaml]
[ WARN] [1468255821.310735586]: Camera calibration file /home/odroid/.ros/camera_info/mv_25001964.yaml not found.

We haven't calibrated the camera yet, but were still expecting to see the raw images. When we do rostopic list, we see the following topics:

odroid@odroid:~/Documents/ROS/new_ws$ rostopic list
/diagnostics
/mv_25001964/camera_info
/mv_25001964/image_raw
/mv_25001964/parameter_descriptions
/mv_25001964/parameter_updates
/rosout
/rosout_agg

However, the /mv_25001964/image_raw does not seem to be publishing any images:

odroid@odroid:~/Documents/ROS/new_ws$ rostopic hz /mv_25001964/camera_info 
subscribed to [/mv_25001964/camera_info]

Any help would be appreciated. Thank you!

Does not properly quit

After launching the single_node.launch and pressing ctrl-c, the node just hangs at "Stopping camera" and eventually roslaunch send a SIGTERM to kill it:

[BLFOX]: 25000009: Acquiring images
^C[mv_25000009-1] killing on exit
[BLFOX]: 25000009: Stopping camera
[mv_25000009-1] escalating to SIGTERM

This is on an Odroid-U2, so can be arm specific.

Compilation possible on Jetson TX2?

Hey there, we use a Nvidia Jetson TX2 board which runs on an AArch64 architecture. Is it possible to compile this driver for this architecture?
Thanks in advance

single_node launch error

Hello everyone,
Firstly thanks to author mr.kumar for this kind of great work. well, i am using this repository for my camera mlc200wG. after installation of driver and this repository there is error while launching the single_node.launch file. i have provided the required configuration according to my camera serial number etc. the error is given below.

auto-starting new master
process[master]: started with pid [5241]
ROS_MASTER_URI=http://localhost:11311

setting /run_id to b4e163c2-5c38-11e9-96b9-00044b8d3c24
process[rosout-1]: started with pid [5254]
started core service [/rosout]
process[mv_25002830-2]: started with pid [5271]
process[mpu6050_serial_to_imu_node-3]: started with pid [5272]
terminate called after throwing an instance of 'std::bad_cast'
what(): std::bad_cast
[mv_25002830-2] process has died [pid 5271, exit code -6, cmd /home/nvidia/catkin_ws/devel/lib/bluefox2/bluefox2_single_node __name:=mv_25002830 __log:=/home/nvidia/.ros/log/b4e163c2-5c38-11e9-96b9-00044b8d3c24/mv_25002830-2.log].
log file: /home/nvidia/.ros/log/b4e163c2-5c38-11e9-96b9-00044b8d3c24/mv_25002830-2*.log

it seems something related with std::bad_cast error on the other hand singl_nodelet.launch is working well on my system. kindly help me to figure out this issue. thanks alot

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.