├── .gitignore
├── realsense_camera_msgs
├── msg
│ ├── Extrinsics.msg
│ └── IMUInfo.msg
├── CHANGELOG.rst
├── CMakeLists.txt
└── package.xml
├── realsense_ros2_camera
├── rviz
│ ├── ros2_rviz.png
│ └── ros2.rviz
├── launch
│ ├── rs.launch.py
│ ├── ros2_intel_realsense.launch.py
│ ├── realsense2_to_laserscan.py
│ └── default.rviz
├── package.xml
├── include
│ └── realsense_ros2_camera
│ │ └── constants.hpp
├── CMakeLists.txt
├── CHANGELOG.rst
├── test
│ └── test_api.cpp
└── src
│ └── realsense_camera_node.cpp
├── CHANGELOG.rst
├── README.md
└── LICENSE
/.gitignore:
--------------------------------------------------------------------------------
1 | *.bin
2 | *.ppm
3 | *.bag
4 |
--------------------------------------------------------------------------------
/realsense_camera_msgs/msg/Extrinsics.msg:
--------------------------------------------------------------------------------
1 | std_msgs/Header header
2 | float64[9] rotation
3 | float64[3] translation
4 |
--------------------------------------------------------------------------------
/realsense_ros2_camera/rviz/ros2_rviz.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/intel/ros2_intel_realsense/HEAD/realsense_ros2_camera/rviz/ros2_rviz.png
--------------------------------------------------------------------------------
/realsense_camera_msgs/msg/IMUInfo.msg:
--------------------------------------------------------------------------------
1 | # header.frame_id is either set to "imu_accel" or "imu_gyro"
2 | # to distinguish between "accel" and "gyro" info.
3 | std_msgs/Header header
4 | float64[12] data
5 | float64[3] noise_variances
6 | float64[3] bias_variances
7 |
--------------------------------------------------------------------------------
/realsense_camera_msgs/CHANGELOG.rst:
--------------------------------------------------------------------------------
1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2 | Changelog for package realsense_camera_msgs
3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
4 |
5 | 2.0.3 (2018-12-11)
6 | ------------------
7 |
8 | 2.0.4 (2019-05-30)
9 | ------------------
10 | * update maintainer
11 | * 2.0.3
12 | * update changelog
13 | * Contributors: Chris Ye
14 |
15 | 2.0.2 (2018-12-07)
16 | ------------------
17 |
--------------------------------------------------------------------------------
/realsense_camera_msgs/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 3.5)
2 |
3 | project(realsense_camera_msgs)
4 |
5 | if(NOT CMAKE_CXX_STANDARD)
6 | set(CMAKE_CXX_STANDARD 14)
7 | endif()
8 |
9 | if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
10 | add_compile_options(-Wall -Wextra -Wpedantic)
11 | endif()
12 |
13 | find_package(ament_cmake REQUIRED)
14 | find_package(rosidl_default_generators REQUIRED)
15 | find_package(builtin_interfaces REQUIRED)
16 | find_package(std_msgs REQUIRED)
17 |
18 | set(msg_files
19 | "msg/IMUInfo.msg"
20 | "msg/Extrinsics.msg"
21 | )
22 | rosidl_generate_interfaces(${PROJECT_NAME}
23 | ${msg_files}
24 | DEPENDENCIES builtin_interfaces std_msgs
25 | ADD_LINTER_TESTS
26 | )
27 |
28 | ament_export_dependencies(rosidl_default_runtime)
29 |
30 | ament_package()
31 |
--------------------------------------------------------------------------------
/realsense_ros2_camera/launch/rs.launch.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2018 Intel Corporation
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 |
15 | """Launch realsense_ros2_camera node without rviz2."""
16 |
17 | from launch import LaunchDescription
18 | import launch_ros.actions
19 |
20 |
21 | def generate_launch_description():
22 | return LaunchDescription([
23 | # Realsense
24 | launch_ros.actions.Node(
25 | package='realsense_ros2_camera', node_executable='realsense_ros2_camera',
26 | output='screen'),
27 | ])
28 |
--------------------------------------------------------------------------------
/realsense_camera_msgs/package.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | realsense_camera_msgs
5 | 2.0.4
6 | A package containing realsense camera messages definitions.
7 | Sharron LIU
8 | Chris Ye
9 | Apache License 2.0
10 |
11 | ament_cmake
12 | rosidl_default_generators
13 | builtin_interfaces
14 | std_msgs
15 |
16 | rosidl_default_runtime
17 | builtin_interfaces
18 | std_msgs
19 |
20 | ament_lint_common
21 |
22 | rosidl_interface_packages
23 |
24 |
25 | ament_cmake
26 |
27 |
28 |
--------------------------------------------------------------------------------
/realsense_ros2_camera/package.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | realsense_ros2_camera
5 | 2.0.4
6 | The realsense_ros2_camera package
7 | Sharron LIU
8 | Chris Ye
9 | Apache License 2.0
10 |
11 | ament_cmake
12 |
13 | eigen
14 |
15 | builtin_interfaces
16 | cv_bridge
17 | image_transport
18 | librealsense2
19 | rclcpp
20 | realsense_camera_msgs
21 | sensor_msgs
22 | std_msgs
23 | tf2
24 | tf2_ros
25 |
26 | ament_cmake_gtest
27 | ament_lint_auto
28 | ament_lint_common
29 | libopencv-dev
30 |
31 |
32 | ament_cmake
33 |
34 |
35 |
--------------------------------------------------------------------------------
/CHANGELOG.rst:
--------------------------------------------------------------------------------
1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2 | Changelog for ros2_intel_realsense
3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
4 |
5 | 2.0.3 (2018-12-11)
6 | ------------------
7 | * fix build dependence for ros2 crystal release
8 | * Add eigen as a build dependency.
9 |
10 | 2.0.2 (2018-12-07)
11 | ------------------
12 | * create for bloom release
13 |
14 |
15 | 2.0.1 (2018-05-31)
16 | --------------------------------------------------------------------------------
17 | Sharron LIU (12):
18 | ros2_intel_realsense: added initial version
19 | README: updated for repo name "ros2_intel_realsense"
20 | Merge pull request #1 from dongx1x/master
21 | camera_msgs: added test dependent ament_lint_common
22 | realsense_ros2_camera: added test dependency ament_lint_common
23 | realsense_ros2_camera: copyright notes in ROS2 style
24 | ament test: pass ament test
25 | Merge pull request #3 from sharronliu/master
26 | cv_bridge: use the upstream ros2 cv_bridge
27 | Merge pull request #4 from sharronliu/master
28 | realsense_ros2_camera: added test dependent ros package
29 | README: clarified host OS supported
30 |
31 | Xiaocheng Dong (1):
32 | Add tests
33 |
34 | dongx1x (1):
35 | Update README.md
36 |
37 |
--------------------------------------------------------------------------------
/realsense_ros2_camera/launch/ros2_intel_realsense.launch.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2018 Intel Corporation
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 |
15 | """Launch realsense_ros2_camera node and rviz."""
16 |
17 | import os
18 |
19 | from ament_index_python.packages import get_package_share_directory
20 | from launch import LaunchDescription
21 | import launch_ros.actions
22 |
23 |
24 | def generate_launch_description():
25 | default_rviz = os.path.join(get_package_share_directory('realsense_ros2_camera'),
26 | 'launch', 'default.rviz')
27 | return LaunchDescription([
28 | # Realsense
29 | launch_ros.actions.Node(
30 | package='realsense_ros2_camera', node_executable='realsense_ros2_camera',
31 | output='screen'),
32 |
33 | # Rviz
34 | launch_ros.actions.Node(
35 | package='rviz2', node_executable='rviz2', output='screen',
36 | arguments=['--display-config', default_rviz]),
37 | ])
38 |
--------------------------------------------------------------------------------
/realsense_ros2_camera/launch/realsense2_to_laserscan.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2018 Intel Corporation
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 |
15 | """Launch face detection and rviz."""
16 |
17 | from launch import LaunchDescription
18 | import launch.actions
19 | import launch_ros.actions
20 |
21 |
22 | def generate_launch_description():
23 | enable_align_depth = launch.substitutions.LaunchConfiguration('enable_aligned_depth',
24 | default='false')
25 | output_frame = launch.substitutions.LaunchConfiguration('output_frame', default='base_scan')
26 | range_max = launch.substitutions.LaunchConfiguration('range_max', default='2.0')
27 | range_min = launch.substitutions.LaunchConfiguration('range_min', default='0.2')
28 | return LaunchDescription([
29 | # Realsense
30 | launch_ros.actions.Node(
31 | package='realsense_ros2_camera',
32 | node_executable='realsense_ros2_camera',
33 | node_name='realsense_ros2_camera',
34 | parameters=[{'enable_aligned_depth': enable_align_depth}],
35 | output='screen'),
36 | launch_ros.actions.Node(
37 | package='depthimage_to_laserscan',
38 | node_executable='depthimage_to_laserscan_node',
39 | node_name='depthimage_to_laserscan_node',
40 | output='screen',
41 | parameters=[{'output_frame': output_frame},
42 | {'range_min': range_min},
43 | {'range_max': range_max}],
44 | arguments=['depth:=/camera/depth/image_rect_raw',
45 | 'depth_camera_info:=/camera/depth/camera_info',
46 | 'scan:=/scan']),
47 | ])
48 |
--------------------------------------------------------------------------------
/realsense_ros2_camera/include/realsense_ros2_camera/constants.hpp:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2018 Intel Corporation. All Rights Reserved
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // http://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | #include
16 |
17 | #pragma once
18 | #ifndef REALSENSE_ROS2_CAMERA__CONSTANTS_HPP_
19 | #define REALSENSE_ROS2_CAMERA__CONSTANTS_HPP_
20 |
21 | #define REALSENSE_ROS_MAJOR_VERSION 2
22 | #define REALSENSE_ROS_MINOR_VERSION 0
23 | #define REALSENSE_ROS_PATCH_VERSION 1
24 |
25 | #define STRINGIFY(arg) #arg
26 | #define VAR_ARG_STRING(arg) STRINGIFY(arg)
27 | /* Return version in "X.Y.Z" format */
28 | #define REALSENSE_ROS_VERSION_STR (VAR_ARG_STRING(REALSENSE_ROS_MAJOR_VERSION. \
29 | REALSENSE_ROS_MINOR_VERSION.REALSENSE_ROS_PATCH_VERSION))
30 |
31 | namespace realsense_ros2_camera
32 | {
33 | const bool POINTCLOUD = false;
34 | const bool ALIGN_POINTCLOUD = true;
35 | const bool SYNC_FRAMES = true;
36 |
37 | const bool ALIGN_DEPTH = true;
38 |
39 | const int DEPTH_WIDTH = 640;
40 | const int DEPTH_HEIGHT = 480;
41 |
42 | const int INFRA1_WIDTH = 640;
43 | const int INFRA1_HEIGHT = 480;
44 |
45 | const int INFRA2_WIDTH = 640;
46 | const int INFRA2_HEIGHT = 480;
47 |
48 | const int COLOR_WIDTH = 640;
49 | const int COLOR_HEIGHT = 480;
50 |
51 | const int FISHEYE_WIDTH = 640;
52 | const int FISHEYE_HEIGHT = 480;
53 |
54 |
55 | const int DEPTH_FPS = 30;
56 | const int INFRA1_FPS = 30;
57 | const int INFRA2_FPS = 30;
58 | const int COLOR_FPS = 30;
59 | const int FISHEYE_FPS = 30;
60 | const int GYRO_FPS = 1000;
61 | const int ACCEL_FPS = 1000;
62 |
63 |
64 | const bool ENABLE_DEPTH = true;
65 | const bool ENABLE_INFRA1 = true;
66 | const bool ENABLE_INFRA2 = true;
67 | const bool ENABLE_COLOR = true;
68 | const bool ENABLE_FISHEYE = true;
69 | const bool ENABLE_IMU = true;
70 |
71 |
72 | const char DEFAULT_BASE_FRAME_ID[] = "camera_link";
73 | const char DEFAULT_DEPTH_FRAME_ID[] = "camera_depth_frame";
74 | const char DEFAULT_INFRA1_FRAME_ID[] = "camera_infra1_frame";
75 | const char DEFAULT_INFRA2_FRAME_ID[] = "camera_infra2_frame";
76 | const char DEFAULT_COLOR_FRAME_ID[] = "camera_color_frame";
77 | const char DEFAULT_FISHEYE_FRAME_ID[] = "camera_fisheye_frame";
78 | const char DEFAULT_IMU_FRAME_ID[] = "camera_imu_frame";
79 | const char DEFAULT_DEPTH_OPTICAL_FRAME_ID[] = "camera_depth_optical_frame";
80 | const char DEFAULT_INFRA1_OPTICAL_FRAME_ID[] = "camera_infra1_optical_frame";
81 | const char DEFAULT_INFRA2_OPTICAL_FRAME_ID[] = "camera_infra2_optical_frame";
82 | const char DEFAULT_COLOR_OPTICAL_FRAME_ID[] = "camera_color_optical_frame";
83 | const char DEFAULT_FISHEYE_OPTICAL_FRAME_ID[] = "camera_fisheye_optical_frame";
84 | const char DEFAULT_ACCEL_OPTICAL_FRAME_ID[] = "camera_accel_optical_frame";
85 | const char DEFAULT_GYRO_OPTICAL_FRAME_ID[] = "camera_gyro_optical_frame";
86 | const char DEFAULT_IMU_OPTICAL_FRAME_ID[] = "camera_imu_optical_frame";
87 | } // namespace realsense_ros2_camera
88 | #endif // REALSENSE_ROS2_CAMERA__CONSTANTS_HPP_
89 |
--------------------------------------------------------------------------------
/realsense_ros2_camera/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 3.5)
2 | project(realsense_ros2_camera)
3 |
4 | # ROS2 Flags
5 | if(NOT CMAKE_CXX_STANDARD)
6 | set(CMAKE_CXX_STANDARD 14)
7 | endif()
8 |
9 | if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
10 | add_compile_options(-Wall -Wextra -Wpedantic)
11 | endif()
12 |
13 | # Compiler Defense Flags
14 | if(UNIX OR APPLE)
15 | # Linker flags.
16 | if(${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU" OR ${CMAKE_CXX_COMPILER_ID} STREQUAL "Intel")
17 | # GCC specific flags. ICC is compatible with them.
18 | set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -z noexecstack -z relro -z now")
19 | set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -z noexecstack -z relro -z now")
20 | elseif(${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang")
21 | # In Clang, -z flags are not compatible, they need to be passed to linker via -Wl.
22 | set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now")
23 | set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now")
24 | endif()
25 |
26 | # Compiler flags.
27 | if(${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU")
28 | # GCC specific flags.
29 | if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 4.9 OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 4.9)
30 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIE -fstack-protector-strong")
31 | else()
32 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIE -fstack-protector")
33 | endif()
34 | elseif(${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang")
35 | # Clang is compatbile with some of the flags.
36 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIE -fstack-protector")
37 | elseif(${CMAKE_CXX_COMPILER_ID} STREQUAL "Intel")
38 | # Same as above, with exception that ICC compilation crashes with -fPIE option, even
39 | # though it uses -pie linker option that require -fPIE during compilation. Checksec
40 | # shows that it generates correct PIE anyway if only -pie is provided.
41 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fstack-protector")
42 | endif()
43 |
44 | # Generic flags.
45 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -fno-operator-names -Wformat -Wformat-security -Wall")
46 | # Dot not forward c++ flag to GPU beucause it is not supported
47 | set( CUDA_PROPAGATE_HOST_FLAGS OFF )
48 | set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -D_FORTIFY_SOURCE=2")
49 | set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pie")
50 | endif()
51 |
52 | if(CMAKE_BUILD_TYPE EQUAL "RELEASE")
53 | message(STATUS "Create Release Build.")
54 | set(CMAKE_CXX_FLAGS "-O2 ${CMAKE_CXX_FLAGS}")
55 | else()
56 | message(STATUS "Create Debug Build.")
57 | endif()
58 |
59 | set(CMAKE_CXX_FLAGS "-fPIE -fPIC -D_FORTIFY_SOURCE=2 -fstack-protector -Wformat -Wformat-security -Wall ${CMAKE_CXX_FLAGS}")
60 |
61 | find_package(ament_cmake REQUIRED)
62 | find_package(builtin_interfaces REQUIRED)
63 | find_package(cv_bridge REQUIRED)
64 | find_package(image_transport REQUIRED)
65 | find_package(librealsense2 REQUIRED)
66 | find_package(rclcpp REQUIRED)
67 | find_package(realsense_camera_msgs REQUIRED)
68 | find_package(std_msgs REQUIRED)
69 | find_package(sensor_msgs REQUIRED)
70 | find_package(tf2_ros REQUIRED)
71 | find_package(tf2 REQUIRED)
72 |
73 | include_directories(
74 | include
75 | )
76 |
77 | add_executable(${PROJECT_NAME}
78 | include/${PROJECT_NAME}/constants.hpp
79 | src/realsense_camera_node.cpp
80 | )
81 |
82 | ament_target_dependencies(${PROJECT_NAME}
83 | cv_bridge
84 | image_transport
85 | librealsense2
86 | rclcpp
87 | realsense_camera_msgs
88 | std_msgs
89 | sensor_msgs
90 | tf2
91 | tf2_ros
92 | )
93 |
94 | # Install binaries
95 | install(TARGETS ${PROJECT_NAME}
96 | RUNTIME DESTINATION bin
97 | )
98 |
99 | install(TARGETS ${PROJECT_NAME}
100 | DESTINATION lib/${PROJECT_NAME}
101 | )
102 |
103 | # Install header files
104 | install(
105 | DIRECTORY include/
106 | DESTINATION include
107 | )
108 |
109 | # Install launch files.
110 | install(DIRECTORY
111 | launch
112 | DESTINATION share/${PROJECT_NAME}/
113 | )
114 |
115 | if(BUILD_TESTING)
116 | find_package(ament_lint_auto REQUIRED)
117 | find_package(OpenCV REQUIRED)
118 |
119 | ament_lint_auto_find_test_dependencies()
120 |
121 | set(REALSENSE_DEVICE_PLUGIN FALSE)
122 | if(${REALSENSE_DEVICE_PLUGIN})
123 | ament_add_gtest(test_api test/test_api.cpp)
124 | endif()
125 | if(TARGET test_api)
126 | target_include_directories(test_api PUBLIC
127 | ${${PROJECT_NAME}_INCLUDE_DIRS}
128 | )
129 | ament_target_dependencies(test_api
130 | OpenCV
131 | rclcpp
132 | sensor_msgs
133 | tf2
134 | tf2_ros)
135 | endif()
136 | endif()
137 |
138 | ament_package()
139 |
--------------------------------------------------------------------------------
/realsense_ros2_camera/CHANGELOG.rst:
--------------------------------------------------------------------------------
1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2 | Changelog for package realsense_ros2_camera
3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
4 |
5 | 2.0.3 (2018-12-11)
6 | ------------------
7 | * Merge pull request `#18 `_ from nuclearsandwich/add-dependencies-to-package.xml
8 | Add eigen as a build dependency for ros2debian
9 | * Add eigen as a build dependency.
10 | * Contributors: Chris Ye, Steven! Ragnarök
11 |
12 | 2.0.4 (2019-05-30)
13 | ------------------
14 | * Merge pull request `#50 `_ from ahuizxc/dashing
15 | fix compiling failure after ros2 core updated and remove some warnings.
16 | * fix compiling failure after ros2 core updated and remove some warnings.
17 | * Merge pull request `#44 `_ from ahuizxc/master
18 | add depthimage to laser scan launch file
19 | * add depthimage to laser scan
20 | * enable librealsensev2.17.1
21 | enable librealsensev2.17.1
22 | * update package.xml and readme
23 | * enable librealsensev2.17.1
24 | * Merge pull request `#39 `_ from challen-zhou/master
25 | Add options to enable/disable color-aligned point cloud
26 | * Change aligned pointcloud format from XYZ to XYZRGB
27 | * Add options to enable/disable color-aligned point cloud
28 | Since the default 2 point cloud process cost too much computation,
29 | add option to enable/disable(default) color-aligned point cloud.
30 | * Merge pull request `#36 `_ from challen-zhou/master
31 | Add pointcloud aligned with color
32 | * Add pointcloud aligned with color
33 | Add pointcloud generate from depth which aligned to color,
34 | no RGB channel since this pointcloud one-to-one matches with color image.
35 | * Merge pull request `#32 `_ from challen-zhou/master
36 | Update depth alignment function to align with librealsense
37 | * Merge pull request `#30 `_ from ahuizxc/master
38 | pass the format test and fix ctrl+c error
39 | * Update depth alignment function to align with librealsense
40 | Update depth alignment function to align with librealsense since
41 | librealsense already upstreamed to ROS2/Crystal, also we can benifit from
42 | the future librealsense optimization.
43 | * fix ctrl+c error
44 | * pass the format test
45 | * Merge pull request `#29 `_ from ahuizxc/master
46 | fixed bug that camera not work when enable_depth=False
47 | * fixed bug that camera not work when enable_depth=False
48 | * Merge pull request `#23 `_ from intel/fix_ctest
49 | fix error when run CTest
50 | * fix error when run CTest
51 | * set Realsense device not exist by default, disable testapi when Realsense device not plugin
52 | * fix format error when run CTest
53 | * Merge pull request `#22 `_ from RachelRen05/update_readme
54 | update project to install debain package dependency
55 | * update readme.md
56 | * update project to install debain package dependency
57 | * add rviz default configuration and support ros2 launch
58 | * update maintainer
59 | * 2.0.3
60 | * update changelog
61 | * Merge pull request `#18 `_ from nuclearsandwich/add-dependencies-to-package.xml
62 | Add eigen as a build dependency for ros2debian
63 | * Add eigen as a build dependency.
64 | * Contributors: Chris Ye, Gary Liu, RachelRen05, Sharron LIU, Steven! Ragnarök, Xiaojun Huang, ahuizxc, challenzhou
65 |
66 | 2.0.2 (2018-12-07)
67 | ------------------
68 | * Merge pull request `#15 `_ from intel/pointer_api
69 | create a Subscriber using a raw pointer
70 | * create a Subscriber using a raw pointer
71 | std::shared_ptr is not safe, replace with new pointer API from image_transport (https://github.com/ros-perception/image_common/pull/104)
72 | Signed-off-by: Chris Ye
73 | * Merge pull request `#16 `_ from intel/enable_realsense
74 | update librealsense dependence
75 | * update Readme to modify librealsense guide
76 | * added librealsense2 dependence
77 | Signed-off-by: Chris Ye
78 | * create wrapper class PipelineSyncer to work around librealsense 2.16 feature, removing operator() from class asynchronous_syncer
79 | merge from https://github.com/IntelRealSense/librealsense/commit/985f3b75539ec08a78db69c9f8f2505d3d0c2e40
80 | Fix no match for call to '(rs2::asynchronous_syncer) (rs2::frame)' issue: https://github.com/IntelRealSense/librealsense/issues/2314
81 | Signed-off-by: Chris Ye
82 | * Merge pull request `#13 `_ from yechun1/image_transport
83 | publish raw image by image_transport publisher
84 | * fix typo and add transport in Readme
85 | Signed-off-by: Chris Ye
86 | * publish raw image by image_transport publisher
87 | Signed-off-by: Chris Ye
88 | * Merge pull request `#14 `_ from yechun1/fix_build_issue
89 | add semicolon after RCLCPP_WARN to fix build issue
90 | * add semicolon after RCLCPP_WARN to fix build issue
91 | Signed-off-by: Chris Ye
92 | * Merge pull request `#12 `_ from sharronliu/master
93 | camera node: replaced RCUTILS with RCLCPP logger
94 | * camera node: replaced RCUTILS with RCLCPP logger
95 | Signed-off-by: Sharron LIU
96 | * Merge pull request `#11 `_ from ahuizxc/aligned_depth
97 | enable aligned depth image
98 | * corrected the xml version
99 | * keep the topics' name same as ros1, add option _align_depth to enable or disable aligned_depth_to_color
100 | * fix frame_id of aligned depth image
101 | * fixed format error
102 | * enable aligned depth image
103 | * Contributors: Chris Ye, Sharron LIU, ahuizxc
104 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | DISCONTINUATION OF PROJECT
2 |
3 | This project will no longer be maintained by Intel.
4 |
5 | Intel has ceased development and contributions including, but not limited to, maintenance, bug fixes, new releases, or updates, to this project.
6 |
7 | Intel no longer accepts patches to this project.
8 |
9 | If you have an ongoing need to use this project, are interested in independently developing it, or would like to maintain patches for the open source software community, please create your own fork of this project.
10 |
11 | Contact: webadmin@linux.intel.com
12 | # ROS2 Wrapper for Intel® RealSense™ Devices
13 | These are packages for using Intel RealSense cameras (D400 series) with ROS2.
14 |
15 | **Note: If you want T265 supported, please check out [this branch](https://github.com/intel/ros2_intel_realsense/tree/refactor)**
16 |
17 | ## Installation Instructions
18 |
19 | The following instructions were verified with ROS2 Dashing on **Ubutnu 18.04**.
20 |
21 | ### Dependencies
22 | #### Install ROS2 packages [ros-dashing-desktop](https://index.ros.org/doc/ros2/Installation/Dashing/Linux-Install-Debians)
23 |
24 | #### Install ROS2 dependences
25 | ```bash
26 | sudo apt-get install ros-dashing-cv-bridge ros-dashing-librealsense2 ros-dashing-message-filters ros-dashing-image-transport
27 | ```
28 | Or you may install from sources:
29 | * [cv_bridge](https://github.com/ros-perception/vision_opencv/tree/ros2/cv_bridge)
30 | * [Intel® RealSense™ SDK 2.0](https://github.com/IntelRealSense/librealsense.git) Currently, we support librealsense master branch.
31 | * [ros2_message_filters](https://github.com/ros2/message_filters)
32 | * [ros2 image_transport](https://github.com/ros-perception/image_common/tree/ros2)
33 |
34 | #### Install Other non-ROS debian packages
35 | ```
36 | sudo apt-get install -y libssl-dev libusb-1.0-0-dev pkg-config libgtk-3-dev
37 | sudo apt-get install -y libglfw3-dev libgl1-mesa-dev libglu1-mesa-dev
38 | ```
39 | * libssl-dev
40 | * libusb-1.0-0-dev
41 | * pkg-config
42 | * libgtk-3-dev
43 | * libglfw3-dev
44 | * libgl1-mesa-dev
45 | * libglu1-mesa-dev
46 |
47 | ### Install ros2_intel_realsense binary packages
48 | ```
49 | sudo apt-get install ros-dashing-realsense-camera-msgs ros-dashing-realsense-ros2-camera
50 | ```
51 | The ros2_intel_realsense packages installation have been completed. You could jump to [Usage Instructions](https://github.com/intel/ros2_intel_realsense#usage-instructions) for executing, you could also install ros2_intel_realsense from source for more features.
52 |
53 | ### Install ros2_intel_realsense from source
54 | ```bash
55 | #get code
56 | mkdir -p ~/ros2_ws/src
57 | cd ~/ros2_ws/src
58 | git clone https://github.com/intel/ros2_intel_realsense.git
59 |
60 | #build
61 | cd ~/ros2_ws
62 | source /opt/ros/dashing/setup.bash
63 | colcon build --base-paths src/ros2_intel_realsense
64 | ```
65 |
66 | ## Usage Instructions
67 |
68 | ### Start the camera node
69 | To start the camera node in ROS2, plug in the camera, then type the following command:
70 |
71 | ```bash
72 | source /opt/ros/dashing/setup.bash
73 | source ~/ros2_ws/install/local_setup.bash
74 | # To launch with "ros2 run"
75 | ros2 run realsense_ros2_camera realsense_ros2_camera
76 | # OR, to invoke the executable directly
77 | realsense_ros2_camera
78 | ```
79 |
80 | This will stream all camera sensors and publish on the appropriate ROS2 topics. PointCloud2 is enabled by default, till we provide ROS2 python launch options.
81 |
82 | ### Published Topics
83 | Rectified depth image: [/camera/depth/image_rect_raw](https://github.com/ros2/common_interfaces/blob/master/sensor_msgs/msg/Image.msg)
84 |
85 | Color image: [/camera/color/image_raw](https://github.com/ros2/common_interfaces/blob/master/sensor_msgs/msg/Image.msg)
86 |
87 | Rectified infra1 image: [/camera/infra1/image_rect_raw](https://github.com/ros2/common_interfaces/blob/master/sensor_msgs/msg/Image.msg)
88 |
89 | Rectified infra2 image: [/camera/infra2/image_rect_raw](https://github.com/ros2/common_interfaces/blob/master/sensor_msgs/msg/Image.msg)
90 |
91 | Depth registered point cloud: [/camera/aligned_depth_to_color/color/points](https://github.com/ros2/common_interfaces/blob/master/sensor_msgs/msg/PointCloud2.msg)
92 |
93 | ### Visualize Depth Aligned (i.e. Depth Registered) Point Cloud
94 |
95 | To start the camera node in ROS2 and view the depth aligned pointcloud in rviz:
96 | ```bash
97 | source /opt/ros/dashing/setup.bash
98 | source ~/ros2_ws/install/local_setup.bash
99 | # console #1 launch rviz2
100 | ros2 run rviz2 rviz2 -d realsense_ros2_camera/rviz/ros2.rviz
101 | # console #2 launch realsense_ros2_camera
102 | ros2 run realsense_ros2_camera realsense_ros2_camera
103 | ```
104 |
105 | This will launch [RViz](http://wiki.ros.org/rviz) and display the five streams: color, depth, infra1, infra2, pointcloud.
106 |
107 | 
108 |
109 | ### Run tests
110 | ```Shell
111 | colcon test --base-paths src/ros2_intel_realsense
112 | ```
113 |
114 | ## Known Issues
115 | * This ROS2 node does not currently provide any dynamic reconfigure support for camera properties/presets.
116 | * We support Ubuntu Linux Bionic Beaver 18.04 on 64-bit, but not support Mac OS X 10.12 (Sierra) and Windows 10 yet.
117 |
118 | ## Todo
119 | A few features to be ported from the latest ROS [realsense](https://github.com/intel-ros/realsense.git)
120 | * Preset/Controls
121 |
122 | ## License
123 | Copyright 2018 Intel Corporation
124 |
125 | Licensed under the Apache License, Version 2.0 (the "License");
126 | you may not use this project except in compliance with the License.
127 | You may obtain a copy of the License at
128 |
129 | http://www.apache.org/licenses/LICENSE-2.0
130 |
131 | Unless required by applicable law or agreed to in writing, software
132 | distributed under the License is distributed on an "AS IS" BASIS,
133 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
134 | See the License for the specific language governing permissions and
135 | limitations under the License.
136 |
137 | **Other names and brands may be claimed as the property of others*
138 |
139 | Any security issue should be reported using process at https://01.org/security
140 |
141 |
--------------------------------------------------------------------------------
/realsense_ros2_camera/launch/default.rviz:
--------------------------------------------------------------------------------
1 | Panels:
2 | - Class: rviz_common/Displays
3 | Help Height: 0
4 | Name: Displays
5 | Property Tree Widget:
6 | Expanded:
7 | - /Global Options1
8 | - /Status1
9 | - /Grid1
10 | - /PointCloud21
11 | - /Image1
12 | Splitter Ratio: 0.5
13 | Tree Height: 222
14 | - Class: rviz_common/Selection
15 | Name: Selection
16 | - Class: rviz_common/Tool Properties
17 | Expanded:
18 | - /2D Nav Goal1
19 | - /Publish Point1
20 | Name: Tool Properties
21 | Splitter Ratio: 0.5886790156364441
22 | - Class: rviz_common/Views
23 | Expanded:
24 | - /Current View1
25 | Name: Views
26 | Splitter Ratio: 0.5
27 | Visualization Manager:
28 | Class: ""
29 | Displays:
30 | - Alpha: 0.5
31 | Cell Size: 1
32 | Class: rviz_default_plugins/Grid
33 | Color: 160; 160; 164
34 | Enabled: true
35 | Line Style:
36 | Line Width: 0.029999999329447746
37 | Value: Lines
38 | Name: Grid
39 | Normal Cell Count: 0
40 | Offset:
41 | X: 0
42 | Y: 0
43 | Z: 0
44 | Plane: XY
45 | Plane Cell Count: 10
46 | Reference Frame:
47 | Value: true
48 | - Alpha: 1
49 | Autocompute Intensity Bounds: true
50 | Autocompute Value Bounds:
51 | Max Value: 10
52 | Min Value: -10
53 | Value: true
54 | Axis: Z
55 | Channel Name: intensity
56 | Class: rviz_default_plugins/PointCloud2
57 | Color: 255; 255; 255
58 | Color Transformer: RGB8
59 | Decay Time: 0
60 | Enabled: true
61 | Invert Rainbow: false
62 | Max Color: 255; 255; 255
63 | Max Intensity: 4096
64 | Min Color: 0; 0; 0
65 | Min Intensity: 0
66 | Name: PointCloud2
67 | Position Transformer: XYZ
68 | Queue Size: 10
69 | Selectable: true
70 | Size (Pixels): 3
71 | Size (m): 0.009999999776482582
72 | Style: Flat Squares
73 | Topic: /camera/depth/color/points
74 | Unreliable: false
75 | Use Fixed Frame: true
76 | Use rainbow: true
77 | Value: true
78 | - Class: rviz_default_plugins/Image
79 | Enabled: true
80 | Max Value: 1
81 | Median window: 5
82 | Min Value: 0
83 | Name: Image
84 | Normalize Range: true
85 | Queue Size: 10
86 | Topic: /camera/color/image_raw
87 | Unreliable: false
88 | Value: true
89 | - Class: rviz_default_plugins/Image
90 | Enabled: true
91 | Max Value: 1
92 | Median window: 5
93 | Min Value: 0
94 | Name: Image
95 | Normalize Range: true
96 | Queue Size: 10
97 | Topic: /camera/depth/image_rect_raw
98 | Unreliable: false
99 | Value: true
100 | - Class: rviz_default_plugins/Image
101 | Enabled: true
102 | Max Value: 1
103 | Median window: 5
104 | Min Value: 0
105 | Name: Image
106 | Normalize Range: true
107 | Queue Size: 10
108 | Topic: /camera/infra1/image_rect_raw
109 | Unreliable: false
110 | Value: true
111 | - Class: rviz_default_plugins/Image
112 | Enabled: true
113 | Max Value: 1
114 | Median window: 5
115 | Min Value: 0
116 | Name: Image
117 | Normalize Range: true
118 | Queue Size: 10
119 | Topic: /camera/infra2/image_rect_raw
120 | Unreliable: false
121 | Value: true
122 | Enabled: true
123 | Global Options:
124 | Background Color: 48; 48; 48
125 | Fixed Frame: camera_depth_optical_frame
126 | Frame Rate: 30
127 | Name: root
128 | Tools:
129 | - Class: rviz_default_plugins/MoveCamera
130 | - Class: rviz_default_plugins/Select
131 | - Class: rviz_default_plugins/FocusCamera
132 | - Class: rviz_default_plugins/Measure
133 | Line color: 128; 128; 0
134 | - Class: rviz_default_plugins/SetInitialPose
135 | Topic: /initialpose
136 | - Class: rviz_default_plugins/SetGoal
137 | Topic: /move_base_simple/goal
138 | - Class: rviz_default_plugins/PublishPoint
139 | Single click: true
140 | Topic: /clicked_point
141 | Transformation:
142 | Current:
143 | Class: rviz_default_plugins/TF
144 | Value: true
145 | Views:
146 | Current:
147 | Class: rviz_default_plugins/Orbit
148 | Distance: 1.0510121583938599
149 | Enable Stereo Rendering:
150 | Stereo Eye Separation: 0.05999999865889549
151 | Stereo Focal Distance: 1
152 | Swap Stereo Eyes: false
153 | Value: false
154 | Focal Point:
155 | X: -0.18814913928508759
156 | Y: -0.17941315472126007
157 | Z: 0.14549313485622406
158 | Focal Shape Fixed Size: true
159 | Focal Shape Size: 0.05000000074505806
160 | Invert Z Axis: false
161 | Name: Current View
162 | Near Clip Distance: 0.009999999776482582
163 | Pitch: -1.5697963237762451
164 | Target Frame:
165 | Value: Orbit (rviz_default_plugins)
166 | Yaw: 4.730405330657959
167 | Saved: ~
168 | Window Geometry:
169 | Displays:
170 | collapsed: false
171 | Height: 1025
172 | Hide Left Dock: false
173 | Hide Right Dock: true
174 | Image:
175 | collapsed: false
176 | QMainWindow State: 000000ff00000000fd000000040000000000000156000003a7fc0200000010fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003d0000011b000000c900fffffffb0000000a0049006d006100670065010000015e0000009b0000002800fffffffb0000000a0049006d00610067006501000001ff000000b20000002800fffffffb0000000a0049006d00610067006501000002b70000009a0000002800fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d00610067006501000003570000008d0000002800fffffffb0000000a0049006d00610067006501000001940000005d0000000000000000fb0000000a0049006d00610067006501000001f70000007a0000000000000000fb0000000a0049006d00610067006501000002770000009d0000000000000000fb0000000a0049006d006100670065010000031a000000ca0000000000000000000000010000010f000001effc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073000000003d000001ef000000a400fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b20000000000000000000000020000073d000000a9fc0100000002fb0000000a0049006d00610067006503000001c5000000bb000001f8000001b0fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000004420000003efc0100000002fb0000000800540069006d00650100000000000004420000000000000000fb0000000800540069006d00650100000000000004500000000000000000000005e1000003a700000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
177 | Selection:
178 | collapsed: false
179 | Tool Properties:
180 | collapsed: false
181 | Views:
182 | collapsed: true
183 | Width: 1853
184 | X: 67
185 | Y: 27
186 |
--------------------------------------------------------------------------------
/realsense_ros2_camera/rviz/ros2.rviz:
--------------------------------------------------------------------------------
1 | Panels:
2 | - Class: rviz_common/Displays
3 | Help Height: 78
4 | Name: Displays
5 | Property Tree Widget:
6 | Expanded:
7 | - /Global Options1
8 | - /Status1
9 | - /TF1/Frames1
10 | - /TF1/Tree1
11 | Splitter Ratio: 0.3735294044017792
12 | Tree Height: 849
13 | - Class: rviz_common/Selection
14 | Name: Selection
15 | - Class: rviz_common/Tool Properties
16 | Expanded:
17 | - /2D Nav Goal1
18 | - /Publish Point1
19 | Name: Tool Properties
20 | Splitter Ratio: 0.5886790156364441
21 | - Class: rviz_common/Views
22 | Expanded:
23 | - /Current View1
24 | Name: Views
25 | Splitter Ratio: 0.5
26 | Visualization Manager:
27 | Class: ""
28 | Displays:
29 | - Alpha: 0.5
30 | Cell Size: 1
31 | Class: rviz_default_plugins/Grid
32 | Color: 160; 160; 164
33 | Enabled: true
34 | Line Style:
35 | Line Width: 0.029999999329447746
36 | Value: Lines
37 | Name: Grid
38 | Normal Cell Count: 0
39 | Offset:
40 | X: 0
41 | Y: 0
42 | Z: 0
43 | Plane: XY
44 | Plane Cell Count: 10
45 | Reference Frame:
46 | Value: true
47 | - Class: rviz_default_plugins/Image
48 | Enabled: true
49 | Max Value: 1
50 | Median window: 5
51 | Min Value: 0
52 | Name: Image
53 | Normalize Range: true
54 | Queue Size: 10
55 | Topic: /camera/color/image_raw
56 | Unreliable: false
57 | Value: true
58 | - Alpha: 1
59 | Autocompute Intensity Bounds: true
60 | Autocompute Value Bounds:
61 | Max Value: 0.5696823596954346
62 | Min Value: 0.07105058431625366
63 | Value: true
64 | Axis: Z
65 | Channel Name: intensity
66 | Class: rviz_default_plugins/PointCloud2
67 | Color: 255; 255; 255
68 | Color Transformer: RGB8
69 | Decay Time: 0
70 | Enabled: true
71 | Invert Rainbow: false
72 | Max Color: 255; 255; 255
73 | Max Intensity: 4096
74 | Min Color: 0; 0; 0
75 | Min Intensity: 0
76 | Name: PointCloud2
77 | Position Transformer: XYZ
78 | Queue Size: 10
79 | Selectable: true
80 | Size (Pixels): 3
81 | Size (m): 0.009999999776482582
82 | Style: Points
83 | Topic: /camera/aligned_depth_to_color/color/points
84 | Unreliable: true
85 | Use Fixed Frame: true
86 | Use rainbow: true
87 | Value: true
88 | - Class: rviz_default_plugins/TF
89 | Enabled: true
90 | Frame Timeout: 15
91 | Frames:
92 | All Enabled: false
93 | camera_color_frame:
94 | Value: false
95 | camera_color_optical_frame:
96 | Value: false
97 | camera_depth_frame:
98 | Value: false
99 | camera_depth_optical_frame:
100 | Value: false
101 | camera_infra1_frame:
102 | Value: false
103 | camera_infra1_optical_frame:
104 | Value: false
105 | camera_infra2_frame:
106 | Value: false
107 | camera_infra2_optical_frame:
108 | Value: false
109 | camera_link:
110 | Value: false
111 | Marker Scale: 1
112 | Name: TF
113 | Show Arrows: false
114 | Show Axes: true
115 | Show Names: false
116 | Tree:
117 | camera_link:
118 | camera_color_frame:
119 | camera_color_optical_frame:
120 | {}
121 | camera_depth_frame:
122 | camera_depth_optical_frame:
123 | {}
124 | camera_infra1_frame:
125 | camera_infra1_optical_frame:
126 | {}
127 | camera_infra2_frame:
128 | camera_infra2_optical_frame:
129 | {}
130 | Update Interval: 0
131 | Value: true
132 | - Class: rviz_default_plugins/Image
133 | Enabled: true
134 | Max Value: 1
135 | Median window: 5
136 | Min Value: 0
137 | Name: Image
138 | Normalize Range: true
139 | Queue Size: 10
140 | Topic: /camera/aligned_depth_to_color/image_raw
141 | Unreliable: false
142 | Value: true
143 | - Class: rviz_default_plugins/Image
144 | Enabled: true
145 | Max Value: 1
146 | Median window: 5
147 | Min Value: 0
148 | Name: Image
149 | Normalize Range: true
150 | Queue Size: 10
151 | Topic: /camera/infra1/image_rect_raw
152 | Unreliable: false
153 | Value: true
154 | - Class: rviz_default_plugins/Image
155 | Enabled: true
156 | Max Value: 1
157 | Median window: 5
158 | Min Value: 0
159 | Name: Image
160 | Normalize Range: true
161 | Queue Size: 10
162 | Topic: /camera/infra2/image_rect_raw
163 | Unreliable: false
164 | Value: true
165 | Enabled: true
166 | Global Options:
167 | Background Color: 48; 48; 48
168 | Fixed Frame: camera_link
169 | Frame Rate: 30
170 | Name: root
171 | Tools:
172 | - Class: rviz_default_plugins/MoveCamera
173 | - Class: rviz_default_plugins/Select
174 | - Class: rviz_default_plugins/FocusCamera
175 | - Class: rviz_default_plugins/Measure
176 | Line color: 128; 128; 0
177 | - Class: rviz_default_plugins/SetInitialPose
178 | Topic: /initialpose
179 | - Class: rviz_default_plugins/SetGoal
180 | Topic: /move_base_simple/goal
181 | - Class: rviz_default_plugins/PublishPoint
182 | Single click: true
183 | Topic: /clicked_point
184 | Transformation:
185 | Current:
186 | Class: rviz_default_plugins/TF
187 | Value: true
188 | Views:
189 | Current:
190 | Class: rviz_default_plugins/Orbit
191 | Distance: 0.18296696245670319
192 | Enable Stereo Rendering:
193 | Stereo Eye Separation: 0.05999999865889549
194 | Stereo Focal Distance: 1
195 | Swap Stereo Eyes: false
196 | Value: false
197 | Focal Point:
198 | X: 0.07538603246212006
199 | Y: 0.0022639664821326733
200 | Z: -0.07651539146900177
201 | Focal Shape Fixed Size: true
202 | Focal Shape Size: 0.05000000074505806
203 | Invert Z Axis: false
204 | Name: Current View
205 | Near Clip Distance: 0.009999999776482582
206 | Pitch: -0.22979623079299927
207 | Target Frame:
208 | Value: Orbit (rviz)
209 | Yaw: 3.1654090881347656
210 | Saved: ~
211 | Window Geometry:
212 | Displays:
213 | collapsed: false
214 | Height: 1056
215 | Hide Left Dock: false
216 | Hide Right Dock: true
217 | Image:
218 | collapsed: false
219 | QMainWindow State: 000000ff00000000fd000000040000000000000156000003dcfc020000000efb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c0061007900730100000027000003dc000000c900fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d006100670065030000010c000000a0000001c100000177fb0000000a0049006d006100670065030000058a000000a1000001d90000016bfb0000000a0049006d00610067006503000005890000021a000001d700000184fb0000000a0049006d006100670065030000010500000228000001c90000017afb0000000a0049006d0061006700650300000583000000a3000001e00000016ffb0000000a0049006d006100670065030000058300000224000001de00000177000000010000010f000003dcfc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a005600690065007700730000000027000003dc000000a400fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000004420000003efc0100000002fb0000000800540069006d00650100000000000004420000000000000000fb0000000800540069006d00650100000000000004500000000000000000000005e3000003dc00000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
220 | Selection:
221 | collapsed: false
222 | Tool Properties:
223 | collapsed: false
224 | Views:
225 | collapsed: true
226 | Width: 1855
227 | X: 65
228 | Y: 24
229 |
--------------------------------------------------------------------------------
/realsense_ros2_camera/test/test_api.cpp:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2018 Intel Corporation. All Rights Reserved
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // http://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | // cpplint: c system headers
16 | #include
17 | #include
18 | #include
19 | #include
20 | #include
21 | #include
22 | #include
23 | #include
24 | #include
25 | #include
26 | // cpplint: c++ system headers
27 | #include
28 | #include