No version for distro humble. Known supported distros are highlighted in the buttons above.
No version for distro jazzy. Known supported distros are highlighted in the buttons above.
No version for distro rolling. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.2.0
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description Using apriltag & apriltag_ros & bluefox2 & OpenCV & VISP.
Checkout URI https://github.com/lifuguan/apriltag_localization.git
VCS Type git
VCS Version master
Last Updated 2020-05-20
Dev Status UNKNOWN
CI status No Continuous Integration
Released UNRELEASED
Tags opencv gazebo-simulator ros-melodic apriltag-ros bluefox2
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

The bluefox2 package

Additional Links

No additional links.

Maintainers

  • Chao Qu

Authors

No additional authors.

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)

Install mvIMPACT Driver

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
        
  1. 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
CHANGELOG
No CHANGELOG found.

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

  • launch/stereo_nodelet.launch
      • rate [default: 20]
      • left [default: 25000855]
      • right [default: 25001110]
      • left_camera_name [default: mv_$(arg left)]
      • right_camera_name [default: mv_$(arg right)]
      • left_calib_url [default: file://${ROS_HOME}/camera_info/$(arg left_camera_name).yaml]
      • right_calib_url [default: file://${ROS_HOME}/camera_info/$(arg right_camera_name).yaml]
      • camera [default: stereo]
      • frame_id [default: $(arg camera)]
      • fps [default: $(arg rate)]
      • color [default: false]
      • aec [default: 0]
      • cbm [default: false]
      • ctm [default: 1]
      • dcfm [default: 0]
      • hdr [default: false]
      • wbp [default: -1]
      • expose_us [default: 5000]
      • gain_db [default: 0.0]
      • boost [default: false]
      • mm [default: 0]
      • output [default: screen]
      • plugin [default: false]
      • proc [default: false]
      • view [default: false]
      • manager [default: stereo_nodelet]
  • launch/stereo_node.launch
      • rate [default: 20]
      • left [default: 25000855]
      • right [default: 25001110]
      • left_camera_name [default: mv_$(arg left)]
      • right_camera_name [default: mv_$(arg right)]
      • left_calib_url [default: file://${ROS_HOME}/camera_info/$(arg left_camera_name).yaml]
      • right_calib_url [default: file://${ROS_HOME}/camera_info/$(arg right_camera_name).yaml]
      • camera [default: stereo]
      • frame_id [default: $(arg camera)]
      • fps [default: $(arg rate)]
      • color [default: false]
      • aec [default: 0]
      • cbm [default: false]
      • ctm [default: 1]
      • dcfm [default: 0]
      • hdr [default: false]
      • wbp [default: -1]
      • expose_us [default: 5000]
      • gain_db [default: 0.0]
      • boost [default: false]
      • output [default: screen]
      • proc [default: false]
      • view [default: false]
      • calib [default: false]
      • image [default: image_rect]
      • pattern [default: chessboard]
      • size
      • square
      • num_dist_coeff [default: 2]
  • launch/single_nodelet.launch
      • device
      • rate [default: 20]
      • serial [default: $(arg device)]
      • camera_name [default: mv_$(arg serial)]
      • camera [default: $(arg camera_name)]
      • frame_id [default: $(arg camera)]
      • calib_url [default: file://${ROS_HOME}/camera_info/$(arg camera_name).yaml]
      • fps [default: $(arg rate)]
      • color [default: false]
      • aec [default: 0]
      • cbm [default: false]
      • ctm [default: 1]
      • dcfm [default: 0]
      • hdr [default: false]
      • wbp [default: -1]
      • expose_us [default: 5000]
      • gain_db [default: 0.0]
      • boost [default: false]
      • mm [default: 0]
      • plugin [default: false]
      • output [default: screen]
      • proc [default: false]
      • view [default: false]
      • calib [default: false]
      • manager [default: single_nodelet]
      • image [default: image_raw]
  • launch/trinocular.launch
      • rate [default: 10]
      • left [default: 25000804]
      • left_camera_name [default: mv_$(arg left)]
      • left_calib_url [default: file://${ROS_HOME}/camera_info/$(arg left_camera_name).yaml]
      • middle [default: 25000851]
      • middle_camera_name [default: mv_$(arg middle)]
      • middle_calib_url [default: file://${ROS_HOME}/camera_info/$(arg middle_camera_name).yaml]
      • right [default: 25001110]
      • right_camera_name [default: mv_$(arg right)]
      • right_calib_url [default: file://${ROS_HOME}/camera_info/$(arg right_camera_name).yaml]
      • camera [default: trinocular]
      • frame_id [default: $(arg camera)]
      • fps [default: $(arg rate)]
      • color [default: false]
      • aec [default: 0]
      • cbm [default: false]
      • ctm [default: 1]
      • dcfm [default: 0]
      • hdr [default: false]
      • wbp [default: -1]
      • expose_us [default: 5000]
      • gain_db [default: 0.0]
      • mm [default: 0]
      • output [default: screen]
  • launch/single_node.launch
      • device [default: 26806946]
      • rate [default: 20]
      • serial [default: $(arg device)]
      • camera_name [default: mv_$(arg serial)]
      • camera [default: $(arg camera_name)]
      • frame_id [default: $(arg camera)]
      • calib_url [default: file://${ROS_HOME}/camera_info/$(arg camera_name).yaml]
      • fps [default: $(arg rate)]
      • idpf [default: 0]
      • aec [default: true]
      • expose_us [default: 10000]
      • agc [default: true]
      • gain_db [default: 0.0]
      • cbm [default: 0]
      • ctm [default: 1]
      • dcfm [default: 0]
      • hdr [default: false]
      • wbp [default: -1]
      • request [default: 0]
      • mm [default: 0]
      • jpeg_quality [default: 80]
      • output [default: screen]
      • proc [default: false]
      • view [default: false]
      • calib [default: false]
      • image [default: image_raw]
      • pattern [default: chessboard]
      • size
      • square
      • num_dist_coeff [default: 2]
  • launch/multi_node.launch
      • rate [default: 20]
      • num_cameras
      • camera0 [default: 25000804]
      • camera0_camera_name [default: mv_$(arg camera0)]
      • camera0_calib_url [default: file://${ROS_HOME}/camera_info/$(arg camera0_camera_name).yaml]
      • camera1 [default: 25000851]
      • camera1_camera_name [default: mv_$(arg camera1)]
      • camera1_calib_url [default: file://${ROS_HOME}/camera_info/$(arg camera1_camera_name).yaml]
      • camera2 [default: 25001110]
      • camera2_camera_name [default: mv_$(arg camera2)]
      • camera2_calib_url [default: file://${ROS_HOME}/camera_info/$(arg camera2_camera_name).yaml]
      • camera [default: multi]
      • frame_id [default: $(arg camera)]
      • fps [default: $(arg rate)]
      • color [default: false]
      • aec [default: 0]
      • cbm [default: false]
      • ctm [default: 1]
      • dcfm [default: 0]
      • hdr [default: false]
      • wbp [default: -1]
      • expose_us [default: 5000]
      • gain_db [default: 0.0]
      • mm [default: 0]
      • output [default: screen]

Messages

No message files found.

Plugins

Recent questions tagged bluefox2 at Robotics Stack Exchange

No version for distro noetic. Known supported distros are highlighted in the buttons above.
No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro crystal. Known supported distros are highlighted in the buttons above.
No version for distro eloquent. Known supported distros are highlighted in the buttons above.
No version for distro dashing. Known supported distros are highlighted in the buttons above.
No version for distro galactic. Known supported distros are highlighted in the buttons above.
No version for distro foxy. Known supported distros are highlighted in the buttons above.
No version for distro iron. Known supported distros are highlighted in the buttons above.
No version for distro lunar. Known supported distros are highlighted in the buttons above.
No version for distro jade. Known supported distros are highlighted in the buttons above.
No version for distro indigo. Known supported distros are highlighted in the buttons above.
No version for distro hydro. Known supported distros are highlighted in the buttons above.
No version for distro kinetic. Known supported distros are highlighted in the buttons above.
No version for distro melodic. Known supported distros are highlighted in the buttons above.