Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Devel/versavis #10

Open
wants to merge 27 commits into
base: kinetic-devel
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
7562b63
Add missing target (Cm3) and switch to find_package script. (#11)
helenol Sep 25, 2018
8c46088
Fix install targets when Spinnaker is installed locally. Tabs in Find…
mhosmar-cpr Sep 25, 2018
56ad82b
Update Changelog.
mhosmar-cpr Sep 25, 2018
8c2c238
0.1.3
mhosmar-cpr Sep 25, 2018
2df36e9
add a configuration file for Blackfly S
inkyusa Jan 7, 2019
271b592
publishing image_numbered message
inkyusa Jan 7, 2019
b8bf50b
using SpinnakerSDK for publishing image number
inkyusa Jan 7, 2019
e1b5a79
testing trigger (input) and exposure output.
inkyusa Jan 8, 2019
5be493a
increase timeout from 1sec to 60sec considering arduino vi initializa…
inkyusa Jan 9, 2019
ae939da
adding the subscriber status cb for image number topic.
inkyusa Jan 9, 2019
41e8bb3
adding line inverter (exposure output should be high while exposing).
inkyusa Jan 11, 2019
fff587a
adding the offset identified with Kalibr and adding line inverter con…
inkyusa Jan 11, 2019
e43b21a
add imu_offset param.
inkyusa Jan 14, 2019
93dfcac
clang formatting.
inkyusa Jan 24, 2019
3892be8
fix color output
Feb 11, 2019
e8c4fd2
add libusb dependency
floriantschopp Jul 22, 2019
41d4c8a
some more deps
floriantschopp Jul 22, 2019
8f61b18
Merge pull request #8 from ethz-asl/fix/libusb
floriantschopp Aug 5, 2019
fe16934
remove image_numbered_msgs as it is in versavis repo
floriantschopp Dec 19, 2019
f9a80eb
Add option to apply CLAHE (histogram equalization) in the driver
mfehr Jan 6, 2020
44dfcaa
Update camera.launch
mfehr Jan 7, 2020
00c912c
add standard histogram equalization as well
mfehr Jan 14, 2020
7ad0957
add missing message types from pointgrey driver
mfehr Jan 14, 2020
e147995
Merge branch 'devel/versavis' into feature/add_optional_clahe
mfehr Jan 14, 2020
a309bf2
Merge pull request #11 from ethz-asl/feature/add_optional_clahe
floriantschopp Jan 14, 2020
74fa4b5
add missing catkin deps for linked workspcae
nkhedekar Jan 14, 2020
5ce1005
add information about buffer
floriantschopp Apr 3, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,27 @@ Due to differences in parameter naming the configuration is separated from the m

When contributing make sure the travis job suceeds and please use [roscpp_code_format](https://github.com/davetcoleman/roscpp_code_format) to format your code.

## Increasing USB memory buffer
From [Pointgrey](https://www.ptgrey.com/tan/10685#ConfiguringUSBFS)

By default, Linux limits image capture to 2 MB. To capture images over 2 MB, extend the USBFS limit on how many buffers can be locked into the driver.

You can check your current buffer limit with
```
cat /sys/module/usbcore/parameters/usbfs_memory_mb
```

For capturing larger images, a buffer of ~1000 MB is recommended. Set it permanently by replacing the corresponding line in `/etc/default/grub` with the following:
```
GRUB_CMDLINE_LINUX_DEFAULT="nomodeset quiet splash usbcore.usbfs_memory_mb=1000"

```
followed by
```
sudo update-grub
```
and reboot.

## Licence
ROS-compatible Camera drivers originally provided by NREC, part of Carnegie Mellon University's robotics institute.
These drives are included along with modifications of the standard ros image messages that enable HDR and physics based vision.
Expand Down
3 changes: 3 additions & 0 deletions flir_camera_driver/CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@
Changelog for package flir_camera_driver
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

0.1.3 (2018-09-25)
------------------

0.1.2 (2018-07-27)
------------------

Expand Down
2 changes: 1 addition & 1 deletion flir_camera_driver/package.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<package format="2">
<name>flir_camera_driver</name>
<version>0.1.2</version>
<version>0.1.3</version>
<description>A set of drivers for Flir cameras based on the Spinnaker SDK.</description>

<maintainer email="[email protected]">Michael Hosmar</maintainer>
Expand Down
35 changes: 35 additions & 0 deletions image_exposure_msgs/CHANGELOG.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Changelog for package image_exposure_msgs
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

0.12.2 (2016-09-30)
-------------------

0.12.1 (2015-11-06)
-------------------

0.12.0 (2015-04-22)
-------------------

0.11.0 (2014-11-07)
-------------------

0.10.0 (2014-08-18)
-------------------

0.9.2 (2014-07-13)
------------------

0.9.1 (2014-03-12)
------------------

0.9.0 (2014-02-26)
------------------

0.0.2 (2014-02-26)
------------------

0.0.1 (2014-02-23)
------------------
* Initial release to Hydro
* Contributors: Chad Rockey, Dave Bradley, Mike Purvis
27 changes: 27 additions & 0 deletions image_exposure_msgs/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
cmake_minimum_required(VERSION 2.8.3)
project(image_exposure_msgs)

find_package(catkin REQUIRED COMPONENTS statistics_msgs std_msgs message_generation)

# Generate messages in the 'msg' folder
add_message_files(
FILES
ExposureSequence.msg
ImageExposureStatistics.msg
SequenceExposureStatistics.msg
)

# Generate added messages and services with any dependencies listed here
generate_messages(
DEPENDENCIES
statistics_msgs
std_msgs
)

catkin_package(
CATKIN_DEPENDS statistics_msgs std_msgs message_runtime
)

include_directories(
${catkin_INCLUDE_DIRS}
)
7 changes: 7 additions & 0 deletions image_exposure_msgs/msg/ExposureSequence.msg
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# exposure sequence (for mult-exposure HDR)
Header header
uint32[] shutter # Time duration (microseconds) the shutter was open.
float32 gain # Gain (in dB) applied to the images in the sequence.
uint16 white_balance_blue # White balance in blue.
uint16 white_balance_red # White balance in red.

18 changes: 18 additions & 0 deletions image_exposure_msgs/msg/ImageExposureStatistics.msg
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# message for exposure statistics reported a single image
time stamp # image time stamp
string time_reference # The name of the reference clock for this message's timestamp.
float32 shutterms # shutter durations in ms
float32 gaindb # gain in decibels
# pixel exposure and latency statistics
uint32 underExposed # number of pixels underexposed
uint32 overExposed # number of pixels overexposed
statistics_msgs/Stats1D pixelVal # distribution of pixel values in the image
statistics_msgs/Stats1D pixelAge # distribution of pixel ages in frames
# irradiance = pixelval/(shutterTime*10^(gaindb/10.0))
float64 meanIrradiance
float64 minMeasurableIrradiance
float64 maxMeasurableIrradiance
float64 minObservedIrradiance
float64 maxObservedIrradiance


10 changes: 10 additions & 0 deletions image_exposure_msgs/msg/SequenceExposureStatistics.msg
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# exposure statistics for a multi-exposure HDR sequence
ImageExposureStatistics[] exposures
uint32 underExposed # number of pixels underexposed in longest exposure
uint32 overExposed # number of pixels overexposed in shortest
float64 meanIrradiance # mean irradiance of all properly exposed pixels in all images in the sequence
float64 minMeasurableIrradiance
float64 maxMeasurableIrradiance
float64 minObservedIrradiance
float64 maxObservedIrradiance

24 changes: 24 additions & 0 deletions image_exposure_msgs/package.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<?xml version="1.0"?>
<package>
<name>image_exposure_msgs</name>
<version>0.12.2</version>
<description>Messages related to the Point Grey camera driver.</description>

<maintainer email="[email protected]">Mike Purvis</maintainer>

<license>BSD</license>

<url type="website">http://ros.org/wiki/pointgrey_camera_driver</url>

<author>Chad Rockey</author>

<buildtool_depend>catkin</buildtool_depend>
<build_depend>statistics_msgs</build_depend>
<build_depend>std_msgs</build_depend>
<build_depend>message_generation</build_depend>
<run_depend>statistics_msgs</run_depend>
<run_depend>std_msgs</run_depend>
<run_depend>message_runtime</run_depend>

<export></export>
</package>
12 changes: 12 additions & 0 deletions spinnaker_camera_driver/CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,18 @@
Changelog for package spinnaker_camera_driver
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

0.1.3 (2018-09-25)
------------------
* Fix install targets when Spinnaker is installed locally. Tabs in FindSpinnaker.
* Add missing target (Cm3) and switch to find_package script. (`#11 <https://github.com/ros-drivers/flir_camera_driver/issues/11>`_)
* Add missing target (Cm3) and switch to find_package script.
* Clean up message.
* Adding support of feeding some camera diagnostics to the diagnostic a… (`#4 <https://github.com/ros-drivers/flir_camera_driver/issues/4>`_)
* Adding support of feeding some camera diagnostics to the diagnostic aggregator
* Creating a seperate diagnostics launch example
* Fix null conversion and unsigned comparison Warnings.
* Contributors: Helen Oleynikova, Michael Hosmar, mlowe-ascent

0.1.2 (2018-07-27)
------------------
* Add ARM Build Support (`#3 <https://github.com/ros-drivers/flir_camera_driver/issues/3>`_)
Expand Down
43 changes: 28 additions & 15 deletions spinnaker_camera_driver/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 2.8.3)
cmake_minimum_required(VERSION 3.0.2)

set_directory_properties(PROPERTIES COMPILE_OPTIONS "-std=c++11;-Wall;-Wextra")

Expand All @@ -8,17 +8,18 @@ project(spinnaker_camera_driver)
find_package(catkin REQUIRED COMPONENTS
camera_info_manager diagnostic_updater dynamic_reconfigure
image_exposure_msgs image_transport nodelet roscpp sensor_msgs
wfov_camera_msgs
wfov_camera_msgs image_numbered_msgs
)

find_package(OpenCV REQUIRED)

generate_dynamic_reconfigure_options(
cfg/Spinnaker.cfg
#cfg/Spinnaker.cfg
cfg/SpinnakerBFS.cfg
)

catkin_package(CATKIN_DEPENDS
image_exposure_msgs nodelet roscpp sensor_msgs wfov_camera_msgs
image_exposure_msgs nodelet roscpp sensor_msgs wfov_camera_msgs image_numbered_msgs
DEPENDS OpenCV
)

Expand All @@ -28,12 +29,13 @@ catkin_package(CATKIN_DEPENDS
# the Point Grey EULA prohibits redistributing the headers or the packages which
# contains them. We work around this by downloading the archive directly from
# their website during this step in the build process.
find_library(Spinnaker_LIBRARIES Spinnaker)
# if(NOT Spinnaker_LIBRARIES)
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules")
find_package(Spinnaker QUIET)
if(NOT Spinnaker_FOUND)
message(STATUS "libSpinnaker not found in system library path")
include(cmake/DownloadSpinnaker.cmake)
download_spinnaker(Spinnaker_LIBRARIES Spinnaker_INCLUDE_DIRS)
# endif()
endif()

message(STATUS "libSpinnaker library: ${Spinnaker_LIBRARIES}")
message(STATUS "libSpinnaker include: ${Spinnaker_INCLUDE_DIRS}")
Expand All @@ -52,7 +54,8 @@ target_link_libraries(SpinnakerCameraLib
Camera
${Spinnaker_LIBRARIES}
${catkin_LIBRARIES}
${OpenCV_LIBRARIES})
${OpenCV_LIBRARIES}
usb-1.0)


# Test Executable for Spinnaker
Expand All @@ -63,35 +66,37 @@ add_executable(spinnaker_test_node
target_link_libraries(spinnaker_test_node
SpinnakerCameraLib
${catkin_LIBRARIES}
usb-1.0
)


add_dependencies(SpinnakerCameraLib ${PROJECT_NAME}_gencfg)


add_library(Camera src/camera.cpp)
target_link_libraries(Camera ${catkin_LIBRARIES})
target_link_libraries(Camera ${catkin_LIBRARIES} usb-1.0)
add_dependencies(Camera ${PROJECT_NAME}_gencfg)

add_library(Cm3 src/cm3.cpp)
target_link_libraries(Cm3 Camera ${catkin_LIBRARIES})
target_link_libraries(Cm3 Camera ${catkin_LIBRARIES} usb-1.0)
add_dependencies(Cm3 ${PROJECT_NAME}_gencfg)

add_library(Diagnostics src/diagnostics.cpp)
target_link_libraries(Diagnostics Camera SpinnakerCameraLib ${catkin_LIBRARIES})
target_link_libraries(Diagnostics Camera SpinnakerCameraLib ${catkin_LIBRARIES} usb-1.0)
add_dependencies(Diagnostics ${PROJECT_NAME}_gencfg)

add_library(SpinnakerCameraNodelet src/nodelet.cpp)
target_link_libraries(SpinnakerCameraNodelet Diagnostics SpinnakerCameraLib Camera Cm3 ${catkin_LIBRARIES})
target_link_libraries(SpinnakerCameraNodelet Diagnostics SpinnakerCameraLib Camera Cm3 ${catkin_LIBRARIES} usb-1.0)

add_executable(spinnaker_camera_node src/node.cpp)
target_link_libraries(spinnaker_camera_node SpinnakerCameraLib ${catkin_LIBRARIES})
target_link_libraries(spinnaker_camera_node SpinnakerCameraLib ${catkin_LIBRARIES} usb-1.0)
set_target_properties(spinnaker_camera_node PROPERTIES OUTPUT_NAME camera_node PREFIX "")

install(TARGETS
SpinnakerCameraLib
SpinnakerCameraNodelet
Camera
Cm3
Diagnostics
spinnaker_camera_node
ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
Expand All @@ -101,8 +106,16 @@ install(TARGETS

# Redistributing the flycapture .so file is permitted by the SDK EULA:
# http://www.ptgrey.com/support/kb/data/PGR-FlyCap-SDK-LA.pdf
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/usr/lib/ DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
PATTERN libQt* EXCLUDE)
if(EXISTS ${CMAKE_CURRENT_BINARY_DIR}/usr/lib)
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/usr/lib/ DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
PATTERN libQt* EXCLUDE)
else()
get_filename_component(Spinnaker_LIB_DIR ${Spinnaker_LIBRARIES} DIRECTORY)
file(READ ${PROJECT_SOURCE_DIR}/cmake/install_files filenames)
foreach(filename ${filenames})
install(FILES ${Spinnaker_LIB_DIR}/${filename} DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION})
endforeach()
endif()

install(FILES nodelet_plugins.xml DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} )

Expand Down
Loading