You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* uas arm modifications
* image_transport added in - seg faults
* image_transport added in - seg faults
* Removing shared pointer for image transport and removing gdb
* A couple little tweaks
* removing gdb
* image_transport added in - seg faults
* image_transport added in - seg faults
* Removing shared pointer for image transport and removing gdb
* A couple little tweaks
* support to change target grey value and dynamic reconfigure
* fixed imagetransport, changed from imagetransport:;publisher to imagetransport::camerapublisher and made caminfo to caminfoptr
* image_transport added in - seg faults
* image_transport added in - seg faults
* Removing shared pointer for image transport and removing gdb
* A couple little tweaks
* image_transport added in - seg faults
* image_transport added in - seg faults
* Removing shared pointer for image transport and removing gdb
* support to change target grey value and dynamic reconfigure
* changed dynamic reconfig levels
* added support for nodelets
* debugging nodelets and added a tester node to measure performance
* addind params
* added respawn
* fix CMakeList for aarch64 flag
* cleaned acquisition_nodelet launch file and added nodelet_test laucnh file for the same
* changed Readme on instructions to use nodelets and changed launch files for nodelets and added example for multiple nodelets
* update Readme for typos
* will make changes as suggested after review in pl #30, changing names of launch files, changing dynamic recfg server namespace to fix ns issue for nodelets, nodelet manager starts by default in acquisition.launch
Copy file name to clipboardExpand all lines: README.md
+41-6Lines changed: 41 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,4 @@
1
-
# spinnaker_camera_driver
1
+
# spinnaker_sdk_camera_driver
2
2
3
3
These are the ros drivers for running the Pt Grey (FLIR) cameras that use the Spinnaker SDK. This code has been tested with various Point Grey Blackfly S (BFS) cameras.
4
4
@@ -13,6 +13,8 @@ The pre-requisites for this repo include:
13
13
* spinnaker (download from [Pt Grey's website](https://www.ptgrey.com/support/downloads))
14
14
* ros-kinetic-cv-bridge
15
15
* ros-kinetic-image-transport
16
+
17
+
# Incase of x86_64 or x86_32 architecture, install the following:
16
18
* libunwind-dev
17
19
18
20
```bash
@@ -21,6 +23,11 @@ The pre-requisites for this repo include:
21
23
# after installing ros, install other pre-requisites with:
Modify the `params/test_params.yaml` file replacing the cam-ids and master cam serial number to match your camera's serial number. Then run the code as:
# Test that the images are being published by running
44
57
rqt_image_view
45
58
```
@@ -51,8 +64,8 @@ All the parameters can be set via the launch file or via the yaml config_file.
51
64
Binning for cameras, when changing from 2 to 1 cameras need to be unplugged and replugged
52
65
*~color (bool, default: false)
53
66
Should color images be used (only works on models that support color images)
54
-
*~exp (int, default: 0)
55
-
Exposure setting for cameras
67
+
*~exposure_time (int, default: 0, 0:auto)
68
+
Exposure setting for cameras, also available as dynamic reconfiguarble parameter.
56
69
*~frames (int, default: 50)
57
70
Number of frames to save/view 0=ON
58
71
*~live (bool, default: false)
@@ -74,7 +87,7 @@ All the parameters can be set via the launch file or via the yaml config_file.
74
87
*~utstamps (bool, default:false)
75
88
Flag whether each image should have Unique timestamps vs the master cams time stamp for all
76
89
*~max_rate_save (bool, default: false)
77
-
Flag for max rate mode which is when the master triggers the slaves and saves images at maximum rate possible. This is the multithreaded mode"
90
+
Flag for max rate mode which is when the master triggers the slaves and saves images at maximum rate possible. This is the multithreaded mode
78
91
79
92
### System configuration parameters
80
93
*~cam_ids (yaml sequence or array)
@@ -86,7 +99,27 @@ This is the names that would be given to the cameras for filenames and rostopics
86
99
*~skip (int)
87
100
Number of frames to be skipped initially to flush the buffer
88
101
*~delay (float)
89
-
Secs to wait in the deinit/init sequence
102
+
Secs to wait in the deinit/init sequence.
103
+
104
+
105
+
### Dynamic Reconfigure parameters
106
+
*~target_grey_val (double)
107
+
Target Grey Value is a parameter that helps to compensate for various lighting conditions by adjusting brightness to achieve optimal imaging results. The value is linear and is a percentage of the maximum pixel value.
108
+
Explained in detail at [FLIR webpage](https://www.flir.com/support-center/iis/machine-vision/application-note/using-auto-exposure-in-blackfly-s/).
109
+
110
+
Setting target_grey_val invokes setting AutoExposureTargetGreyValueAuto to 'off' and AutoExposureTargetGreyValue is set to target_grey_val.
111
+
*~exposure_time (int, default= 0, 0:auto)
112
+
Exposure time for the sensor.
113
+
When Exposure time is set within minimum and maximum exposure time limits(varies with camera model), ExposureAuto is set to 'off' and ExposureTime is set to exposure_time param value.
114
+
115
+
When exposure_time is set to 0(zero), the ExposureAuto is set to 'Continuous', enabling auto exposure.
Specify the name of the nodelet_manager under which nodelet to be launched.
120
+
*~start_nodelet_manager (bool, default: false)
121
+
If set True, nodelet_manager of name $(arg nodelet_manager_name) will be launched.
122
+
If set False(default), the acquisition/capture_nodelet waits for the nodelet_manager name $(arg nodelet_manager_name).
90
123
91
124
### Camera info message details
92
125
*~image_width (int)
@@ -100,9 +133,11 @@ This is the names that would be given to the cameras for filenames and rostopics
100
133
Specified as [fx 0 cx 0 fy cy 0 0 1]
101
134
*~projection_coeffs (array of arrays)
102
135
Projection coefficients of all the cameras in the array. Must match the number of cam_ids provided.
136
+
For case of Monocular camera, if projection_coeffs is not set, intrinsic_coeff will be used to set, P[1:3,1:3]=K
103
137
*~rectification_coeffs (array of arrays)
104
138
Rectification coefficients of all the cameras in the array. Must match the number of cam_ids provided.
105
139
140
+
106
141
## Multicamera Master-Slave Setup
107
142
When using multiple cameras, we have found that the only way to keep images between different cameras synched is by using a master-slave setup using the GPIO connector. So this is the only way we support multicamera operation with this code. A general guide for multi camera setup is available at https://www.ptgrey.com/tan/11052, however note that we use a slightly different setup with our package.
108
143
Refer to the `params/multi-cam_example.yaml` for an example on how to setup the configuration. You must specify a master_cam which must be one of the cameras in the cam_ids list. This master camera is the camera that is either explicitly software triggered by the code or triggered internally via a counter at a given frame rate. All the other cameras are triggered externally when the master camera triggers. In order to make this work, the wiring must be such that the external signal from the master camera **Line2** is connected to **Line3** on all slave cameras. To connect cameras in this way:
0 commit comments