Skip to content

Commit 68c9370

Browse files
committed
Merge pull request #19 from reaganlo/release
Release 1.0.2
2 parents 199e42c + e992fb2 commit 68c9370

19 files changed

+577
-349
lines changed

.github/ISSUE_TEMPLATE.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
### System Configuration
2+
Please complete Your Configuration detail below.
3+
4+
| Version | Known Good | Your Configuration |
5+
| ---------------- | ------------:| ------------------:|
6+
| Operating System | ubuntu 14.04 | ??? |
7+
| Kernel Version | 4.4.0-13 | ?.?.?-? |
8+
| R200 FW | 1.0.72.06 | ?.?.?.? |
9+
| librealsense | 0.9.1 | ?.?.? |
10+
11+
---
12+
#### How to collect Configuration Data
13+
*This section can be delete before submission.*
14+
15+
| Version | Method |
16+
| ---------------- | ------------ |
17+
| Operating System | `cat /etc/*elease*` |
18+
| Kernel Version | `uname -r` |
19+
| R200 FW | View the ROS log from running node **OR** `<path to librealsense>/librealsense/bin/cpp-enumerate-devices | grep -i firmware` |
20+
| librealsense | `cat <path to librealsense>/librealsense/readme.md | grep release-image | awk -F- '{print $3}'` |
21+
---
22+
23+
24+
### Expected Behavior
25+
26+
27+
### Actual Behavior
28+
29+
30+
### Steps to Reproduce
31+
32+

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
Fixes Issue: #
2+
3+
Changes proposed in this pull request:
4+
-
5+
-
6+
-
7+
8+

camera/CHANGELOG.rst

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,24 @@
22
Changelog for package realsense_camera
33
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
44

5+
1.0.2 (2016-03-28)
6+
------------------
7+
* Added functionality to access camera using Serial No:
8+
This fixes Issue #18.
9+
Added code to handle various use cases for input serial number such as
10+
--Exit with error if no serial number is specified and multiple cameras are detected.
11+
--Exit with error if no camera is detected that matches the input serial number.
12+
--Prints all the detected cameras.
13+
Updated launch files with a placeholder for serial number.
14+
Updated rgbd_launch test code to remove hardcoded topic names.
15+
* Modified all parameters to lowercase for consistency
16+
This fixes Issue #13.
17+
* Removed support for R200_DISPARITY_MULTIPLIER camera option
18+
* Added missing install targets
19+
This fixes Pull Request #2.
20+
This fixes Issue #17.
21+
* Contributors: Reagan Lopez, Rajvi Jingar
22+
523
1.0.1 (2016-03-17)
624
------------------
725
* Convert command line args to ROS params

camera/CMakeLists.txt

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,29 +43,47 @@ generate_dynamic_reconfigure_options(
4343
cfg/camera_params.cfg
4444
)
4545

46-
47-
4846
include_directories(
4947
${catkin_INCLUDE_DIRS}
5048
)
5149

5250
add_library(realsense_camera_nodelet src/realsense_camera_nodelet.cpp)
53-
target_link_libraries(realsense_camera_nodelet
51+
target_link_libraries(realsense_camera_nodelet
5452
${catkin_LIBRARIES}
5553
/usr/local/lib/librealsense.so
5654
)
5755
add_dependencies(realsense_camera_nodelet realsense_camera_generate_messages_cpp ${PROJECT_NAME}_gencfg)
5856

5957
add_executable(realsense_camera_test test/realsense_camera_test_node.cpp)
60-
target_link_libraries(realsense_camera_test
58+
target_link_libraries(realsense_camera_test
6159
${catkin_LIBRARIES}
6260
${GTEST_LIBRARIES}
6361
)
6462
add_dependencies(realsense_camera_test realsense_camera_generate_messages_cpp ${PROJECT_NAME}_gencfg)
6563

6664
add_executable(realsense_camera_test_rgbd test/realsense_camera_test_rgbd_node.cpp)
67-
target_link_libraries(realsense_camera_test_rgbd
65+
target_link_libraries(realsense_camera_test_rgbd
6866
${catkin_LIBRARIES}
6967
${GTEST_LIBRARIES}
7068
)
7169
add_dependencies(realsense_camera_test_rgbd realsense_camera_generate_messages_cpp)
70+
71+
# Install nodelet library
72+
install(TARGETS realsense_camera_nodelet LIBRARY
73+
DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
74+
)
75+
76+
# Install launch files
77+
install(DIRECTORY launch/
78+
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/launch
79+
)
80+
81+
# Install rviz files
82+
install(DIRECTORY rviz/
83+
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/rviz
84+
)
85+
86+
# Install xml files
87+
install(FILES package.xml realsense_camera_nodelet_plugins.xml
88+
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
89+
)

camera/README.md

Lines changed: 56 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,9 @@ Infrared2 camera
7373
#### Static Parameters
7474

7575
Stream parameters:
76+
serial_no (string, default: blank)
77+
Specify the serial_no to uniquely connect to a camera, especially if multiple cameras are detected by the nodelet.
78+
This feature has been tested to work only on kernel version 4.4.0-040400-generic.
7679
mode (string, default: preset)
7780
Specify the mode to start camera streams. Mode comprises of height, width and fps.
7881
Preset mode enables default values whereas Manual mode enables the specified parameter values.
@@ -98,19 +101,19 @@ Infrared2 camera
98101
Specify the camera name.
99102
Camera parameters:
100103
Following are the parameters that can be set only statically in the R200 camera:
101-
R200_DEPTH_UNITS : [1, 2147483647]
102-
R200_DEPTH_CLAMP_MIN : [0, 65535]
103-
R200_DEPTH_CLAMP_MAX : [0, 65535]
104-
R200_DEPTH_CONTROL_ESTIMATE_MEDIAN_DECREMENT : [0 - 255]
105-
R200_DEPTH_CONTROL_ESTIMATE_MEDIAN_INCREMENT : [0 - 255]
106-
R200_DEPTH_CONTROL_MEDIAN_THRESHOLD : [0 - 1023]
107-
R200_DEPTH_CONTROL_SCORE_MINIMUM_THRESHOLD : [0 - 1023]
108-
R200_DEPTH_CONTROL_SCORE_MAXIMUM_THRESHOLD : [0 - 1023]
109-
R200_DEPTH_CONTROL_TEXTURE_COUNT_THRESHOLD : [0 - 31]
110-
R200_DEPTH_CONTROL_TEXTURE_DIFFERENCE_THRESHOLD : [0 - 1023]
111-
R200_DEPTH_CONTROL_SECOND_PEAK_THRESHOLD : [0 - 1023]
112-
R200_DEPTH_CONTROL_NEIGHBOR_THRESHOLD : [0 - 1023]
113-
R200_DEPTH_CONTROL_LR_THRESHOLD : [0 - 2047]
104+
r200_depth_units : [1, 2147483647]
105+
r200_depth_clamp_min : [0, 65535]
106+
r200_depth_clamp_max : [0, 65535]
107+
r200_depth_control_estimate_median_decrement : [0 - 255]
108+
r200_depth_control_estimate_median_increment : [0 - 255]
109+
r200_depth_control_median_threshold : [0 - 1023]
110+
r200_depth_control_score_minimum_threshold : [0 - 1023]
111+
r200_depth_control_score_maximum_threshold : [0 - 1023]
112+
r200_depth_control_texture_count_threshold : [0 - 31]
113+
r200_depth_control_texture_difference_threshold : [0 - 1023]
114+
r200_depth_control_second_peak_threshold : [0 - 1023]
115+
r200_depth_control_neighbor_threshold : [0 - 1023]
116+
r200_depth_control_lr_threshold : [0 - 2047]
114117

115118
####Services
116119
get_settings (camera/get_settings)
@@ -126,28 +129,27 @@ To get supported camera options with current value set. It returns string in opt
126129

127130
Camera parameters:
128131
Following are the parameters that can be set dynamically as well as statically in the R200 camera.
129-
COLOR_BACKLIGHT_COMPENSATION
130-
COLOR_BRIGHTNESS
131-
COLOR_CONTRAST
132-
COLOR_GAIN
133-
COLOR_GAMMA
134-
COLOR_HUE
135-
COLOR_SATURATION
136-
COLOR_SHARPNESS
137-
COLOR_ENABLE_AUTO_WHITE_BALANCE
138-
COLOR_WHITE_BALANCE (Must be set only if COLOR_ENABLE_AUTO_WHITE_BALANCE is disabled)
139-
R200_LR_GAIN
140-
R200_EMITTER_ENABLED
141-
R200_DISPARITY_MULTIPLIER (This parameter does not work in the latest R200 firmware release. Likely to be removed in the next ros-realsense release.)
142-
R200_LR_EXPOSURE (Must be set only if R200_LR_AUTO_EXPOSURE_ENABLED is disabled)
143-
Following are the parameters that can only be set dynamically in the R200 camera.
144-
R200_LR_AUTO_EXPOSURE_ENABLED
145-
R200_AUTO_EXPOSURE_TOP_EDGE (Must be set only if R200_LR_AUTO_EXPOSURE_ENABLED is enabled)
146-
R200_AUTO_EXPOSURE_BOTTOM_EDGE (Must be set only if R200_LR_AUTO_EXPOSURE_ENABLED is enabled)
147-
R200_AUTO_EXPOSURE_LEFT_EDGE (Must be set only if R200_LR_AUTO_EXPOSURE_ENABLED is enabled)
148-
R200_AUTO_EXPOSURE_RIGHT_EDGE (Must be set only if R200_LR_AUTO_EXPOSURE_ENABLED is enabled)
149-
150-
Note: For Autoexposure EDGE parameters, max value will go only upto the bounds of the infrared image.
132+
color_backlight_compensation
133+
color_brightness
134+
color_contrast
135+
color_gain
136+
color_gamma
137+
color_hue
138+
color_saturation
139+
color_sharpness
140+
color_enable_auto_white_balance
141+
color_white_balance (Must be set only if color_enable_auto_white_balance is disabled)
142+
r200_lr_gain
143+
r200_emitter_enabled
144+
r200_lr_exposure (Must be set only if r200_lr_auto_exposure_enabled is disabled)
145+
Following are the parameters that can only be set dynamically in the R200 camera.
146+
r200_lr_auto_exposure_enabled
147+
r200_auto_exposure_top_edge (Must be set only if r200_lr_auto_exposure_enabled is enabled)
148+
r200_auto_exposure_bottom_edge (Must be set only if r200_lr_auto_exposure_enabled is enabled)
149+
r200_auto_exposure_left_edge (Must be set only if r200_lr_auto_exposure_enabled is enabled)
150+
r200_auto_exposure_right_edge (Must be set only if r200_lr_auto_exposure_enabled is enabled)
151+
152+
Note: For Autoexposure edge parameters, max value will go only upto the bounds of the infrared image.
151153
E.g. For 320x240 infrared image, valid values are within 0-319 and 0-239)
152154

153155
Use rqt_reconfigure GUI to view and edit the parameters that are accessible via dynamic_reconfigure.
@@ -158,7 +160,7 @@ Command to launch GUI:
158160
Command to change dynamic parameters using commandline:
159161

160162
$ rosrun dynamic_reconfigure dynparam set /<node> <parameter_name> <value>
161-
E.g. $ rosrun dynamic_reconfigure dynparam set /RealsenseNodelet COLOR_BACKLIGHT_COMPENSATION 2
163+
E.g. $ rosrun dynamic_reconfigure dynparam set /RealsenseNodelet color_backlight_compensation 2
162164

163165

164166
###Running the R200 nodelet
@@ -245,17 +247,22 @@ Refer to the function definitions in [realsense_camera_nodelet.h](src/realsense_
245247

246248

247249
###Limitations:
248-
Currently, the ROS camera nodelet only supports the following formats:
249-
* Color stream: RGB8
250-
* Depth stream: Y16
251-
* Infrared stream: Y8
252-
253-
Note: The camera does not provide hardware based depth registration/projector data. Hence the launch file "realsense_r200_rgbd.launch" will not generate data for the following topics:
254-
/camera/depth_registered/hw_registered/image_rect_raw
255-
/camera/depth_registered/points
256-
/camera/depth_registered/hw_registered/image_rect
257-
/camera/depth_registered/image
258-
/camera/depth/disparity
259-
/camera/depth_registered/disparity
260-
250+
* Currently, the camera nodelet has been tested to work only for R200 cameras.
251+
252+
* Currently, the camera nodelet only supports the following formats:
253+
* Color stream: RGB8
254+
* Depth stream: Y16
255+
* Infrared stream: Y8
256+
257+
* The camera does not provide hardware based depth registration/projector data.
258+
Hence the launch file "realsense_r200_rgbd.launch" will not generate data for the following topics:
259+
* /camera/depth_registered/hw_registered/image_rect_raw
260+
* /camera/depth_registered/points
261+
* /camera/depth_registered/hw_registered/image_rect
262+
* /camera/depth_registered/image
263+
* /camera/depth/disparity
264+
* /camera/depth_registered/disparity
265+
266+
* If there are multiple R200 cameras connected to a system, the nodelet can be launched for a particular camera
267+
by specifing the serial_no parameter in the launch file. But it has not been tested to launch nodelets simultaneouly for multiple cameras.
261268

camera/cfg/camera_params.cfg

Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -8,24 +8,23 @@ gen = ParameterGenerator()
88

99
# Name Type Level Description Default Min Max
1010
gen.add("enable_depth", bool_t, 0, "Enable Depth", True)
11-
gen.add("COLOR_BACKLIGHT_COMPENSATION", int_t, 0, "Backlight Compensation", 1, 0, 4)
12-
gen.add("COLOR_BRIGHTNESS", int_t, 0, "Brightness", 56, 0, 255)
13-
gen.add("COLOR_CONTRAST", int_t, 0, "Contrast", 32, 16, 64)
14-
gen.add("COLOR_GAIN", int_t, 0, "Gain", 32, 0, 256)
15-
gen.add("COLOR_GAMMA", int_t, 0, "Gamma", 220, 100, 280)
16-
gen.add("COLOR_HUE", int_t, 0, "Hue", 0, -2200, 2200)
17-
gen.add("COLOR_SATURATION", int_t, 0, "Saturation", 128, 0, 255)
18-
gen.add("COLOR_SHARPNESS", int_t, 0, "Sharpness", 0, 0, 7)
19-
gen.add("COLOR_WHITE_BALANCE", int_t, 0, "White Balance", 6500, 2000, 8000)
20-
gen.add("COLOR_ENABLE_AUTO_WHITE_BALANCE", int_t, 0, "Enable Auto White Balance", 1, 0, 1)
21-
gen.add("R200_LR_AUTO_EXPOSURE_ENABLED", int_t, 0, "LR Auto Exposure Enabled", 0, 0, 1)
22-
gen.add("R200_LR_GAIN", int_t, 0, "LR Gain", 400, 100, 6399)
23-
gen.add("R200_LR_EXPOSURE", int_t, 0, "LR Exposure", 164, 1, 164)
24-
gen.add("R200_EMITTER_ENABLED", int_t, 0, "Emitter Enabled", 1, 0, 1)
25-
gen.add("R200_DISPARITY_MULTIPLIER", int_t, 0, "Disparity Multiplier", 32, 1, 1000)
26-
gen.add("R200_AUTO_EXPOSURE_TOP_EDGE", int_t, 0, "Auto Exposure Top Edge", 0, 0, 479)
27-
gen.add("R200_AUTO_EXPOSURE_BOTTOM_EDGE", int_t, 0, "Auto Exposure Bottom Edge", 479, 0, 479)
28-
gen.add("R200_AUTO_EXPOSURE_LEFT_EDGE", int_t, 0, "Auto Exposure Left Edge", 0, 0, 639)
29-
gen.add("R200_AUTO_EXPOSURE_RIGHT_EDGE", int_t, 0, "Auto Exposure Right Edge", 639, 0, 639)
11+
gen.add("color_backlight_compensation", int_t, 0, "Backlight Compensation", 1, 0, 4)
12+
gen.add("color_brightness", int_t, 0, "Brightness", 56, 0, 255)
13+
gen.add("color_contrast", int_t, 0, "Contrast", 32, 16, 64)
14+
gen.add("color_gain", int_t, 0, "Gain", 32, 0, 256)
15+
gen.add("color_gamma", int_t, 0, "Gamma", 220, 100, 280)
16+
gen.add("color_hue", int_t, 0, "Hue", 0, -2200, 2200)
17+
gen.add("color_saturation", int_t, 0, "Saturation", 128, 0, 255)
18+
gen.add("color_sharpness", int_t, 0, "Sharpness", 0, 0, 7)
19+
gen.add("color_white_balance", int_t, 0, "White Balance", 6500, 2000, 8000)
20+
gen.add("color_enable_auto_white_balance", int_t, 0, "Enable Auto White Balance", 1, 0, 1)
21+
gen.add("r200_lr_auto_exposure_enabled", int_t, 0, "LR Auto Exposure Enabled", 0, 0, 1)
22+
gen.add("r200_lr_gain", int_t, 0, "LR Gain", 400, 100, 6399)
23+
gen.add("r200_lr_exposure", int_t, 0, "LR Exposure", 164, 1, 164)
24+
gen.add("r200_emitter_enabled", int_t, 0, "Emitter Enabled", 1, 0, 1)
25+
gen.add("r200_auto_exposure_top_edge", int_t, 0, "Auto Exposure Top Edge", 0, 0, 479)
26+
gen.add("r200_auto_exposure_bottom_edge", int_t, 0, "Auto Exposure Bottom Edge", 479, 0, 479)
27+
gen.add("r200_auto_exposure_left_edge", int_t, 0, "Auto Exposure Left Edge", 0, 0, 639)
28+
gen.add("r200_auto_exposure_right_edge", int_t, 0, "Auto Exposure Right Edge", 639, 0, 639)
3029

3130
exit(gen.generate(PACKAGE, "realsense_camera", "camera_params"))

camera/launch/includes/realsense_r200_nodelet.launch.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
<launch>
22
<!-- Name of nodelet manager, must be fully resolved -->
33
<arg name="manager" />
4-
54
<arg name="depth_frame_id" default="camera_depth_optical_frame" />
65
<arg name="rgb_frame_id" default="camera_rgb_optical_frame" />
76
<arg name="publish_tf" default="true" />
87
<arg name="depth" default="depth" />
98
<arg name="rgb" default="rgb" />
109
<arg name="ir" default="ir" />
1110
<arg name="ir2" default="ir2" />
11+
<arg name="serial_no" default="" />
1212
<arg name="mode" default="preset" />
1313
<arg name="enable_depth" default="true" />
1414
<arg name="enable_color" default="true" />
@@ -25,6 +25,7 @@
2525

2626
<node pkg="nodelet" type="nodelet" name="camera_nodelet"
2727
args="load realsense_camera/RealsenseNodelet $(arg manager)">
28+
<param name="serial_no" type="str" value="$(arg serial_no)" />
2829
<param name="mode" type="str" value="$(arg mode)" />
2930
<param name="enable_depth" type="bool" value="$(arg enable_depth_ir)" />
3031
<param name="enable_color" type="bool" value="$(arg enable_color)" />

camera/launch/realsense_r200_navigation.launch

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<launch>
2-
2+
<arg name="serial_no" default="" />
33
<arg name="mode" default="preset" />
44
<arg name="enable_depth" default="true" />
55
<arg name="enable_color" default="true" />
@@ -10,6 +10,7 @@
1010

1111
<node pkg="nodelet" type="nodelet" name="RealsenseNodelet"
1212
args="load realsense_camera/RealsenseNodelet standalone_nodelet" >
13+
<param name="serial_no" type="str" value="$(arg serial_no)" />
1314
<param name="mode" type="str" value="$(arg mode)" />
1415
<param name="enable_depth" type="bool" value="$(arg enable_depth)" />
1516
<param name="enable_color" type="bool" value="$(arg enable_color)" />

camera/launch/realsense_r200_nodelet_standalone_manual.launch

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
<launch>
22

3+
<arg name="serial_no" default="" />
34
<arg name="mode" default="manual" />
45
<arg name="color_height" default="240" />
56
<arg name="color_width" default="320" />
@@ -16,6 +17,7 @@
1617

1718
<node pkg="nodelet" type="nodelet" name="RealsenseNodelet"
1819
args="load realsense_camera/RealsenseNodelet standalone_nodelet">
20+
<param name="serial_no" type="str" value="$(arg serial_no)" />
1921
<param name="mode" type="str" value="$(arg mode)" />
2022
<param name="enable_depth" type="bool" value="$(arg enable_depth)" />
2123
<param name="enable_color" type="bool" value="$(arg enable_color)" />

camera/launch/realsense_r200_nodelet_standalone_preset.launch

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<launch>
2-
2+
<arg name="serial_no" default="" />
33
<arg name="mode" default="preset" />
44
<arg name="enable_depth" default="true" />
55
<arg name="enable_color" default="true" />
@@ -10,6 +10,7 @@
1010

1111
<node pkg="nodelet" type="nodelet" name="RealsenseNodelet"
1212
args="load realsense_camera/RealsenseNodelet standalone_nodelet">
13+
<param name="serial_no" type="str" value="$(arg serial_no)" />
1314
<param name="mode" type="str" value="$(arg mode)" />
1415
<param name="enable_depth" type="bool" value="$(arg enable_depth)" />
1516
<param name="enable_color" type="bool" value="$(arg enable_color)" />

0 commit comments

Comments
 (0)