Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
147 commits
Select commit Hold shift + click to select a range
12a5062
Added filling correct Tx, Ty values in projection matrix of right
pavloblindnology Mar 1, 2019
c7c0200
Adding respawn option on the nodelet launch
afnbor Apr 17, 2020
3b0f7c8
correct substitution arg syntax
Dec 10, 2020
3b3136e
Consistent add_plug in xacros and launch files
Dec 21, 2020
773731a
Fix mass of d415
awesome-manuel Mar 3, 2020
afa7173
Add service to reset driver and catch more exceptions when shutting d…
malban Jan 7, 2021
c11f8ff
Merge pull request #1610 from awesome-manuel/d415
doronhi Jan 7, 2021
7df9eac
If invalid profile is given, choose default profile instead, if avail…
doronhi Jan 7, 2021
fddd00a
remove default profiles from launch files.
doronhi Jan 11, 2021
e91b52d
Merge pull request #38 from malban/improve-hotplugging
130s Jan 12, 2021
b4fa398
add flag: ordered_pc - default to false. When set to true, pointcloud…
doronhi Jan 14, 2021
a7eb001
add missing dependency std_srvs
Itamare4 Jan 16, 2021
b6e0601
warn user if time stamp is hardware time stamp.
doronhi Jan 14, 2021
c5403a2
Merge pull request #1627 from doronhi/ordered_pc
doronhi Jan 20, 2021
66c41eb
Add include guard to materials
LuAPi Jan 21, 2021
f529040
Remove unnecessary initialized variable and fix issue with re-adverti…
malban Jan 27, 2021
e3837ce
Merge pull request #39 from malban/feature-reset-driver
130s Jan 29, 2021
f2054ea
based on #1668, set _msg_pointcloud.width before resize.
doronhi Feb 7, 2021
7913abe
Merge pull request #1676 from doronhi/_doronhi_fix_ordered_pc
doronhi Feb 8, 2021
d649529
Merge pull request #1628 from doronhi/warn-hw-timestamp
doronhi Feb 11, 2021
36ebae0
Add offset to ros_time only if device uses hardware-clock. Otherwise …
doronhi Feb 11, 2021
fdf196c
Should not align confidence image to depth as they are already aligned.
doronhi Feb 14, 2021
3d41d43
Merge pull request #1695 from doronhi/fix_confidence_error_messgae
doronhi Feb 14, 2021
350ef70
Merge branch 'd415_add_plug' of https://github.com/Tuebel/realsense-r…
doronhi Feb 16, 2021
e425451
git push origin developmentMerge branch 'Tuebel-d415_add_plug' into d…
doronhi Feb 16, 2021
f23fd1d
Merge pull request #1614 from doronhi/fix-unknown-profile
doronhi Feb 16, 2021
6600849
Merge pull request #1684 from doronhi/fix_time_domain-issue
doronhi Feb 17, 2021
3a0723c
Merge pull request #1625 from Itamare4/development
doronhi Feb 17, 2021
c8953c5
Remove unnecessary hardware reset in destructor.
malban Feb 17, 2021
7a8377c
Merge pull request #40 from malban/feature-reset-driver
130s Feb 17, 2021
31cf43a
clean ~RealSenseNodeFactory()
doronhi Feb 18, 2021
a8dfa9f
git push origin developmentMerge branch 'plusone-robotics-feature-res…
doronhi Feb 18, 2021
37d99ab
Merge branch 'development' of https://github.com/intel-ros/realsense …
doronhi Feb 18, 2021
27c3986
add ordered_pc and default profile selection to README.md
doronhi Feb 18, 2021
b9aab82
bump version 2.2.22
doronhi Feb 18, 2021
aaf6df2
2.2.22
doronhi Feb 18, 2021
a38bdf2
fix initialization of colorizer image if user specified negative imag…
doronhi Feb 18, 2021
6ac890b
Merge pull request #1714 from doronhi/fix-colorizer-init
doronhi Feb 28, 2021
ffe5b31
fix bug: selection of profile disregarded stream index.
doronhi Feb 28, 2021
a161efb
Merge pull request #1729 from doronhi/fix-profile-pick
doronhi Mar 1, 2021
dc990a5
add default values to infra stream in rs_camera.launch as non are def…
doronhi Mar 18, 2021
0c1d639
Add hdr_merge and sequence_id_filter
doronhi Mar 18, 2021
4c52e76
Merge pull request #1764 from doronhi/ros1_hdr
doronhi Mar 22, 2021
a24b101
librealsense 2.43.0 has a known issue with playback and synchronizing…
doronhi Mar 24, 2021
2834891
add rosdep install command and purge ros-$_ros_dist-librealsense2
doronhi Mar 24, 2021
dd7d95b
updated librealsense2 repository server.
doronhi Mar 24, 2021
93adda0
upgrade version to 2.2.23
doronhi Mar 24, 2021
be1bb6c
2.2.23
doronhi Mar 24, 2021
4424c59
Update README.md
doronhi Apr 6, 2021
ee9c06a
Add use_mesh param to D415.
Teo-Cardoso Apr 12, 2021
9c442f7
Add use_mesh param to D435.
Teo-Cardoso Apr 12, 2021
58b00e8
Add use_mesh param to L515.
Teo-Cardoso Apr 12, 2021
3563c1a
if align_depth is specified, pointcloud is built by the depth_aligned…
doronhi Apr 21, 2021
f7b253b
Merge pull request #1802 from Teo-Cardoso/conditional_mesh
doronhi Apr 22, 2021
84c4f3b
fix bug: align to color filter doesn't work with no color frame in fr…
doronhi Apr 22, 2021
e8be606
Merge pull request #1819 from doronhi/ros1_align_pc
doronhi Apr 22, 2021
2927190
upgrade version to 2.2.24
doronhi Apr 22, 2021
e6c13be
Remove [email protected] as maintainer.
doronhi Apr 22, 2021
1aa9422
2.2.24
doronhi Apr 22, 2021
adaf1fb
fixed README.md reference from librealsense-dkms to librealsense2-dkms
doronhi Apr 22, 2021
ba0e311
use ROS_DISTRO env variable
tkazik Apr 29, 2021
681df9d
Merge branch 'TxTy' of https://github.com/Blindnology/realsense into …
doronhi May 2, 2021
805d1b3
Generalize solution to all stereo sensors (fisheye)
doronhi May 2, 2021
95c72c3
Fixed frame_id of right sensor to match left sensor in a stereo pair.…
doronhi May 2, 2021
7d8fa6e
Merge branch 'Blindnology-TxTy' into development
doronhi May 2, 2021
1d5f097
Fix pointcloud message size when no texture is added.
doronhi May 2, 2021
47ce9a8
Merge pull request #1835 from tkazik/fix/easier-readme
doronhi May 5, 2021
c02d4cf
Merge pull request #1842 from doronhi/ros1-fix-pc-size
doronhi May 5, 2021
49be725
Update README.md with service "enable"
doronhi May 5, 2021
8d32779
bump version to 2.3.0
doronhi May 5, 2021
579a465
2.3.0
doronhi May 5, 2021
baaf184
Update path in README.md for test bag files.
doronhi May 12, 2021
2d158aa
Add udev-rules installation to debian
doronhi May 13, 2021
eed336e
Add notice regarding the udev-rules in the README.md file.
doronhi May 13, 2021
b4cdae6
Fix occasional missing diagnostic messages due to ROS traffic issues.
doronhi May 19, 2021
565b08a
Merge pull request #1878 from doronhi/ros1-fix-diagnostics-drops
doronhi Jun 1, 2021
eb74705
Add support for L535
doronhi Jun 6, 2021
7da70e2
Merge pull request #1918 from doronhi/support-l535
doronhi Jun 6, 2021
b78df96
add imu frames to _l515.urdf.xacro
Jun 20, 2021
45f5d54
Update README.md - link to Jetson librealsense2 installation guide.
doronhi Jun 22, 2021
eff203d
update udev.em
doronhi Jun 29, 2021
d4e04bd
Merge pull request #1879 from doronhi/ros1-add-udev-rules-installation
doronhi Jun 29, 2021
0923e3e
Merge branch 'development' of https://github.com/shonigmann/realsense…
doronhi Jun 29, 2021
d7f2a2c
Merge branch 'shonigmann-development' into development
doronhi Jun 29, 2021
736b1f4
Merge branch 'add_respawn' of https://github.com/alexfneves/realsense…
doronhi Jun 30, 2021
23b0caa
add respawn option to nodelet.launch.xml
doronhi Jun 30, 2021
0e4310e
Merge branch 'alexfneves-add_respawn' into development
doronhi Jun 30, 2021
cbdb446
add respawn option to rs_camera.launch
doronhi Jun 30, 2021
d161d21
bump version to 2.3.1
doronhi Jun 30, 2021
09a263a
2.3.1
doronhi Jul 1, 2021
5abef62
Removing spaces when iterating filters
Combinacijus Jul 20, 2021
3e659d8
Merge pull request #1988 from Combinacijus/patch-1
doronhi Jul 25, 2021
7818fdd
Only send the number of parameters that this type of distortion needs…
Aug 3, 2021
00d4d13
chore(realsense2_camera): make reconnect timeout a parameter
Aug 10, 2021
f9e6ac0
change indent to tabs
Aug 10, 2021
d0d00af
migration from branch doronhi:ros2-add-material-d415
doronhi Oct 11, 2021
a2d964a
Merge pull request #2111 from doronhi/ros1-add-material-d415
doronhi Oct 11, 2021
58373b9
Create main.yml
doronhi Oct 11, 2021
2e61556
add github action
doronhi Oct 11, 2021
b5d79d7
fix python versions
doronhi Oct 11, 2021
a9da53a
cd before run rs2_test.py
doronhi Oct 11, 2021
324760c
remove most tests from github action until fixed on github runners.
doronhi Oct 12, 2021
6d3f475
Merge pull request #2114 from doronhi/ros1-add-github-action
doronhi Oct 12, 2021
756f5e4
fix: show warning when requested profile cannot be selected.
doronhi Aug 12, 2021
edde8e7
fixed missing std namespace
doronhi Oct 21, 2021
de3ab6d
combine "if" sections.
doronhi Oct 24, 2021
9c0f52d
Merge branch 'CollinAvidano-only_send4_params_for_equidistant' into d…
doronhi Oct 24, 2021
30d59d6
Merge pull request #2036 from doronhi/ros1-fix-default-profile-warning
doronhi Oct 24, 2021
de5a05a
Use double instead of int
Oct 25, 2021
04e9671
Indent
JaccovdS Oct 25, 2021
41c147a
Merge branch 'feat/reconnect-timeout-parameter' of https://github.com…
doronhi Oct 25, 2021
eec345d
Merge branch 'eurogroep-feat/reconnect-timeout-parameter' into develo…
doronhi Oct 25, 2021
00e8fb2
Add physical description for d455
Gilaadb Oct 26, 2021
2d5e67d
Merge branch 'Gilaadb-development' into development
doronhi Oct 26, 2021
0525674
fix bugs in rs2_listener.py: return first message if no constrains we…
doronhi Oct 31, 2021
b43b69a
add compressed messages to rs2_listener.py
doronhi Nov 7, 2021
0bae771
add wait_for_device_timeout parameter
doronhi Nov 14, 2021
a7e2fee
Merge pull request #2156 from doronhi/ros1-addwait_for_device_timeout
doronhi Nov 15, 2021
a943776
Add service: device_info
doronhi Nov 15, 2021
d747ab0
Merge pull request #2157 from doronhi/ros1-device-info-service
doronhi Nov 15, 2021
f45d816
publish metadata
doronhi Nov 15, 2021
ebe6e3f
Merge pull request #2158 from doronhi/ros1-metadata
doronhi Nov 15, 2021
1ef5325
bump version to 2.3.2
doronhi Nov 15, 2021
f400d68
2.3.2
doronhi Nov 15, 2021
33d3525
set metadata messages header time stamp to match images time stamp.
doronhi Jan 30, 2022
fc1b329
Merge pull request #2235 from doronhi/fix_metadata_timestamp
doronhi Feb 1, 2022
b555226
fix std::find_if issues
frederichtran Feb 2, 2022
de53d34
Merge pull request #2239 from fredotran/development
doronhi Feb 3, 2022
b5e5fba
Allow the catkin package to be included in other projects
scott-robotics Feb 7, 2022
ddd6fe1
Merge branch 'scottnothing-package-includes' into development
doronhi Feb 9, 2022
82efecd
update ros2 branch direction
Nir-Az Mar 23, 2022
e4938bb
PR #2296 from Nir: Update ros2 branch direction from ros1 landing page
maloel Mar 23, 2022
fb29675
[doc] minor spelling and grammar fix
svenevs Apr 14, 2022
3e309de
rename development to ros1-legacy
SamerKhshiboun Oct 31, 2022
25f65bd
PR #2525 from SamerKhshiboun: rename development to ros1-legacy
Nir-Az Oct 31, 2022
6f68b90
Update README.md
HenryWJL Nov 27, 2022
44a703e
PR #2562 from HenryWJL: A small command mistake
Nir-Az Nov 27, 2022
31d7c2b
PR #2319 from svenevs/patch-1: minor spelling and grammar fix
SamerKhshiboun Feb 2, 2023
9398c98
PR #1637 from LuAPi: Add include guard to materials
Nir-Az Apr 12, 2023
0d17ab5
update d405 HWID
rjwb1 Mar 23, 2022
de76e14
PR #2915 from ros-o: Fix device ID of D405
Nir-Az Oct 29, 2023
fb3a3a1
Update GHA ros-tooling to version 0.7
Nir-Az Jan 2, 2024
7be7e4b
Remove EOL ROS1 melodic from GHA
Nir-Az Jan 2, 2024
2b5f29e
Don't enforce C++11 standard
rhaschke Oct 26, 2023
b14ce43
PR #2914 from ros-o: Don't enforce C++11 standard
Nir-Az Jan 2, 2024
5ad31d1
Fix collision offset
nyxrobotics Apr 22, 2024
7402c40
PR #3086 from sbgisen: Fix collision offset
SamerKhshiboun Nov 16, 2024
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
84 changes: 84 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
# This is a basic workflow to help you get started with Actions

name: CI

# Controls when the workflow will run
on:
# Triggers the workflow on push or pull request events but only for the ros1-legacy branch
push:
branches: [ ros1-legacy ]
pull_request:
branches: [ ros1-legacy ]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
name: Build on ros ${{ matrix.ros_distro }} and ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-20.04]
include:
- os: ubuntu-20.04
ros_distro: 'noetic'
_python: 'python3'

steps:
- uses: ros-tooling/[email protected]
with:
required-ros-distributions: ${{ matrix.ros_distro }}

- name: Install dependencies
run: |
echo _python:${{ matrix._python }}
echo ros_distro:${{ matrix.ros_distro }}
sudo apt-get update
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com --recv-key C8B3A55A6F3EFCDE
sudo add-apt-repository "deb https://librealsense.intel.com/Debian/apt-repo $(lsb_release -cs) main"
sudo apt-get update -qq
sudo apt-get install librealsense2-dev --allow-unauthenticated -y

- name: Setup catkin workspace
run: |
echo "source /opt/ros/${{ matrix.ros_distro }}/setup.bash" >> ${{github.workspace}}/.bashrc
source ${{github.workspace}}/.bashrc
mkdir -p ${{github.workspace}}/catkin_ws/src
cd ${{github.workspace}}/catkin_ws/src
catkin_init_workspace
cd ..

- uses: actions/checkout@v2
with:
path: 'catkin_ws/src/realsense-ros'

- name: Build
run: |
source ${{github.workspace}}/.bashrc
cd ${{github.workspace}}/catkin_ws
rosdep update
rosdep install -i --from-path src --rosdistro ${{ matrix.ros_distro }} -y

catkin_make -DCATKIN_ENABLE_TESTING=False -DCMAKE_BUILD_TYPE=Release
catkin_make install
echo "source ${{github.workspace}}/catkin_ws/devel/setup.bash" >> ${{github.workspace}}/.bashrc
source ${{github.workspace}}/.bashrc

- name: Download data
run: |
cd ${{github.workspace}}/catkin_ws
bag_filename="https://librealsense.intel.com/rs-tests/TestData/outdoors_1color.bag";
wget $bag_filename -P "records/"
bag_filename="https://librealsense.intel.com/rs-tests/D435i_Depth_and_IMU_Stands_still.bag";
wget $bag_filename -P "records/"

- name: Run tests
run: |
cd ${{github.workspace}}/catkin_ws
source ${{github.workspace}}/.bashrc
${{ matrix._python }} src/realsense-ros/realsense2_camera/scripts/rs2_test.py non_existent_file

13 changes: 5 additions & 8 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ before_install:
- echo _python:$_python
- echo _ros_dist:$_ros_dist
- sudo apt-key adv --keyserver hkp://keys.gnupg.net:80 --recv-key C8B3A55A6F3EFCDE
- sudo add-apt-repository "deb http://realsense-hw-public.s3.amazonaws.com/Debian/apt-repo $(lsb_release -sc) main"
- sudo add-apt-repository "deb https://librealsense.intel.com/Debian/apt-repo $(lsb_release -cs) main"
- sudo apt-get update -qq
- sudo apt-get install librealsense2-dkms --allow-unauthenticated -y
- sudo apt-get install librealsense2-dev --allow-unauthenticated -y
Expand All @@ -28,11 +28,6 @@ install:
- sudo rosdep init
- rosdep update
- echo "source /opt/ros/$_ros_dist/setup.bash" >> ~/.bashrc
- sudo apt-get install ros-$_ros_dist-cv-bridge -y
- sudo apt-get install ros-$_ros_dist-image-transport
- sudo apt-get install ros-$_ros_dist-tf -y
- sudo apt-get install ros-$_ros_dist-diagnostic-updater -y
- sudo apt-get install ros-$_ros_dist-ddynamic-reconfigure -y
- if [[ $(lsb_release -sc) == "bionic" ]] || [[ $(lsb_release -sc) == "focal" ]]; then
sudo apt-get install libeigen3-dev;
fi
Expand All @@ -44,16 +39,18 @@ install:
- cd ~/catkin_ws/src/
- catkin_init_workspace
- cd ..
- rosdep install --from-paths src --ignore-src -r -y
- sudo apt purge ros-$_ros_dist-librealsense2
- catkin_make clean
- catkin_make -DCATKIN_ENABLE_TESTING=False -DCMAKE_BUILD_TYPE=Release
- catkin_make install
- echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
- source ~/.bashrc

# download data:
- bag_filename="http://realsense-hw-public.s3.amazonaws.com/rs-tests/TestData/outdoors_1color.bag";
- bag_filename="https://librealsense.intel.com/rs-tests/TestData/outdoors_1color.bag";
- wget $bag_filename -P "records/"
- bag_filename="http://realsense-hw-public.s3-eu-west-1.amazonaws.com/rs-tests/D435i_Depth_and_IMU_Stands_still.bag";
- bag_filename="https://librealsense.intel.com/rs-tests/D435i_Depth_and_IMU_Stands_still.bag";
- wget $bag_filename -P "records/"

# Run test:
Expand Down
71 changes: 36 additions & 35 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,9 @@ These are packages for using Intel RealSense cameras (D400 series SR300 camera a

This version supports Kinetic, Melodic and Noetic distributions.

For running in ROS2-Eloquent environment please switch to the [eloquent branch](https://github.com/IntelRealSense/realsense-ros/tree/eloquent). </br>
For running in ROS2-Foxy environment please switch to the [foxy branch](https://github.com/IntelRealSense/realsense-ros/tree/foxy).
For running in ROS2 environment please switch to the [ros2-development branch](https://github.com/IntelRealSense/realsense-ros/tree/ros2-development). </br>


LibRealSense supported version: v2.41.0 (see [realsense2_camera release notes](https://github.com/IntelRealSense/realsense-ros/releases))
LibRealSense2 supported version: v2.50.0 (see [realsense2_camera release notes](https://github.com/IntelRealSense/realsense-ros/releases))

## Installation Instructions

Expand All @@ -28,52 +26,40 @@ LibRealSense supported version: v2.41.0 (see [realsense2_camera release notes](h

realsense2_camera is available as a debian package of ROS distribution. It can be installed by typing:

```
export ROS_VER=kinetic
```
or
```
export ROS_VER=melodic
```
or
```
export ROS_VER=noetic
```

Then install the ros packages using the environment variable created above:

```sudo apt-get install ros-$ROS_VER-realsense2-camera```
```sudo apt-get install ros-$ROS_DISTRO-realsense2-camera```

This will install both realsense2_camera and its dependents, including librealsense2 library.
This will install both realsense2_camera and its dependents, including librealsense2 library and matching udev-rules.

Notice:
* The version of librealsense2 is almost always behind the one availeable in RealSense&trade; official repository.
* The version of librealsense2 is almost always behind the one available in the RealSense&trade; official repository.
* librealsense2 is not built to use native v4l2 driver but the less stable RS-USB protocol. That is because the last is more general and operational on a larger variety of platforms.
* realsense2_description is available as a separate debian package of ROS distribution. It includes the 3D-models of the devices and is necessary for running launch files that include these models (i.e. rs_d435_camera_with_model.launch). It can be installed by typing:
`sudo apt-get install ros-$ROS_VER-realsense2-description`
`sudo apt-get install ros-$ROS_DISTRO-realsense2-description`

*Windows*

**Chocolatey distribution Coming soon**

* ### Method 2: The RealSense&trade; distribution:
> This option is demonstrated in the [.travis.yml](https://github.com/intel-ros/realsense/blob/development/.travis.yml) file. It basically summerize the elaborate instructions in the following 2 steps:
> This option is demonstrated in the [.travis.yml](https://github.com/intel-ros/realsense/blob/ros1-legacy/.travis.yml) file. It basically summerize the elaborate instructions in the following 2 steps:


### Step 1: Install the latest Intel&reg; RealSense&trade; SDK 2.0

*Ubuntu*

* Install from [Debian Package](https://github.com/IntelRealSense/librealsense/blob/master/doc/distribution_linux.md#installing-the-packages)
- In that case treat yourself as a developer. Make sure you follow the instructions to also install librealsense2-dev and librealsense-dkms packages.

Install librealsense2 debian package:
* Jetson users - use the [Jetson Installation Guide](https://github.com/IntelRealSense/librealsense/blob/master/doc/installation_jetson.md)
* Otherwise, install from [Linux Debian Installation Guide](https://github.com/IntelRealSense/librealsense/blob/master/doc/distribution_linux.md#installing-the-packages)
- In that case treat yourself as a developer. Make sure you follow the instructions to also install librealsense2-dev and librealsense2-dkms packages.

*Windows*
Install using vcpkg

`vcpkg install realsense2:x64-windows`

#### OR
- #### Build from sources by downloading the latest [Intel&reg; RealSense&trade; SDK 2.0](https://github.com/IntelRealSense/librealsense/releases/tag/v2.41.0) and follow the instructions under [Linux Installation](https://github.com/IntelRealSense/librealsense/blob/master/doc/installation.md)
- #### Build from sources by downloading the latest [Intel&reg; RealSense&trade; SDK 2.0](https://github.com/IntelRealSense/librealsense/releases/tag/v2.50.0) and follow the instructions under [Linux Installation](https://github.com/IntelRealSense/librealsense/blob/master/doc/installation.md)


### Step 2: Install Intel&reg; RealSense&trade; ROS from Sources
Expand Down Expand Up @@ -137,8 +123,10 @@ The published topics differ according to the device and parameters.
After running the above command with D435i attached, the following list of topics will be available (This is a partial list. For full one type `rostopic list`):
- /camera/color/camera_info
- /camera/color/image_raw
- /camera/color/metadata
- /camera/depth/camera_info
- /camera/depth/image_rect_raw
- /camera/depth/metadata
- /camera/extrinsics/depth_to_color
- /camera/extrinsics/depth_to_infra1
- /camera/extrinsics/depth_to_infra2
Expand All @@ -147,8 +135,10 @@ After running the above command with D435i attached, the following list of topic
- /camera/infra2/camera_info
- /camera/infra2/image_rect_raw
- /camera/gyro/imu_info
- /camera/gyro/metadata
- /camera/gyro/sample
- /camera/accel/imu_info
- /camera/accel/metadata
- /camera/accel/sample
- /diagnostics

Expand All @@ -172,12 +162,18 @@ The following parameters are available by the wrapper:

- **rosbag_filename**: Will publish topics from rosbag file.
- **initial_reset**: On occasions the device was not closed properly and due to firmware issues needs to reset. If set to true, the device will reset prior to usage.
- **align_depth**: If set to true, will publish additional topics with the all the images aligned to the depth image.</br>
The topics are of the form: ```/camera/aligned_depth_to_color/image_raw``` etc.
- **reconnect_timeout**: When the driver cannot connect to the device try to reconnect after this timeout (in seconds).
- **align_depth**: If set to true, will publish additional topics for the "aligned depth to color" image.: ```/camera/aligned_depth_to_color/image_raw```, ```/camera/aligned_depth_to_color/camera_info```.</br>
The pointcloud, if enabled, will be built based on the aligned_depth_to_color image.</br>
- **filters**: any of the following options, separated by commas:</br>
- ```colorizer```: will color the depth image. On the depth topic an RGB image will be published, instead of the 16bit depth values .
- ```pointcloud```: will add a pointcloud topic `/camera/depth/color/points`. The texture of the pointcloud can be modified in rqt_reconfigure (see below) or using the parameters: `pointcloud_texture_stream` and `pointcloud_texture_index`. Run rqt_reconfigure to see available values for these parameters.</br>
The depth FOV and the texture FOV are not similar. By default, pointcloud is limited to the section of depth containing the texture. You can have a full depth to pointcloud, coloring the regions beyond the texture with zeros, by setting `allow_no_texture_points` to true.
- ```pointcloud```: will add a pointcloud topic `/camera/depth/color/points`.
* The texture of the pointcloud can be modified in rqt_reconfigure (see below) or using the parameters: `pointcloud_texture_stream` and `pointcloud_texture_index`. Run rqt_reconfigure to see available values for these parameters.</br>
* The depth FOV and the texture FOV are not similar. By default, pointcloud is limited to the section of depth containing the texture. You can have a full depth to pointcloud, coloring the regions beyond the texture with zeros, by setting `allow_no_texture_points` to true.
* pointcloud is of an unordered format by default. This can be changed by setting `ordered_pc` to true.
- ```hdr_merge```: Allows depth image to be created by merging the information from 2 consecutive frames, taken with different exposure and gain values. The way to set exposure and gain values for each sequence in runtime is by first selecting the sequence id, using rqt_reconfigure `stereo_module/sequence_id` parameter and then modifying the `stereo_module/gain`, and `stereo_module/exposure`.</br> To view the effect on the infrared image for each sequence id use the `sequence_id_filter/sequence_id` parameter.</br> To initialize these parameters in start time use the following parameters:</br>
`stereo_module/exposure/1`, `stereo_module/gain/1`, `stereo_module/exposure/2`, `stereo_module/gain/2`</br>
\* For in-depth review of the subject please read the accompanying [white paper](https://dev.intelrealsense.com/docs/high-dynamic-range-with-stereoscopic-depth-cameras).

- The following filters have detailed descriptions in : https://github.com/IntelRealSense/librealsense/blob/master/doc/post-processing-filters.md
- ```disparity``` - convert depth to disparity before applying other filters and back.
Expand All @@ -186,9 +182,10 @@ The topics are of the form: ```/camera/aligned_depth_to_color/image_raw``` etc.
- ```hole_filling``` - apply hole-filling filter.
- ```decimation``` - reduces depth scene complexity.
- **enable_sync**: gathers closest frames of different sensors, infra red, color and depth, to be sent with the same timetag. This happens automatically when such filters as pointcloud are enabled.
- ***<stream_type>*_width**, ***<stream_type>*_height**, ***<stream_type>*_fps**: <stream_type> can be any of *infra, color, fisheye, depth, gyro, accel, pose*. Sets the required format of the device. If the specified combination of parameters is not available by the device, the stream will not be published. Setting a value to 0, will choose the first format in the inner list. (i.e. consistent between runs but not defined). Note: for gyro accel and pose, only _fps option is meaningful.
- **enable_*<stream_name>***: Choose whether to enable a specified stream or not. Default is true. <stream_name> can be any of *infra1, infra2, color, depth, fisheye, fisheye1, fisheye2, gyro, accel, pose*.
- ***<stream_type>*_width**, ***<stream_type>*_height**, ***<stream_type>*_fps**: <stream_type> can be any of *infra, color, fisheye, depth, gyro, accel, pose, confidence*. Sets the required format of the device. If the specified combination of parameters is not available by the device, the stream will be replaced with the default for that stream. Setting a value to 0, will choose the first format in the inner list. (i.e. consistent between runs but not defined).</br>*Note: for gyro accel and pose, only _fps option is meaningful.
- **enable_*<stream_name>***: Choose whether to enable a specified stream or not. Default is true for images and false for orientation streams. <stream_name> can be any of *infra1, infra2, color, depth, fisheye, fisheye1, fisheye2, gyro, accel, pose, confidence*.
- **tf_prefix**: By default all frame's ids have the same prefix - `camera_`. This allows changing it per camera.
- ***<stream_name>*_frame_id**, ***<stream_name>*_optical_frame_id**, **aligned_depth_to_*<stream_name>*_frame_id**: Specify the different frame_id for the different frames. Especially important when using multiple cameras.
- **base_frame_id**: defines the frame_id all static transformations refers to.
- **odom_frame_id**: defines the origin coordinate system in ROS convention (X-Forward, Y-Left, Z-Up). pose topic defines the pose relative to that system.
- **All the rest of the frame_ids can be found in the template launch file: [nodelet.launch.xml](./realsense2_camera/launch/includes/nodelet.launch.xml)**
Expand All @@ -209,6 +206,10 @@ Setting *unite_imu_method* creates a new topic, *imu*, that replaces the default
- **NOTE** To enable the Infrared stream, you should enable `enable_infra:=true` NOT `enable_infra1:=true` nor `enable_infra2:=true`
- **NOTE** This feature is only supported by Realsense sensors with RGB streams available from the `infra` cameras, which can be checked by observing the output of `rs-enumerate-devices`

### Available services:
- reset : Cause a hardware reset of the device. Usage: `rosservice call /camera/realsense2_camera/reset`
- enable : Start/Stop all streaming sensors. Usage example: `rosservice call /camera/enable False"`
- device_info : retrieve information about the device - serial_number, firmware_version etc. Type `rosservice type /camera/realsense2_camera/device_info | rossrv show` for the full list. Call example: `rosservice call /camera/realsense2_camera/device_info`

### Point Cloud
Here is an example of how to start the camera node and make it publish the point cloud using the pointcloud option.
Expand Down Expand Up @@ -299,8 +300,8 @@ roslaunch realsense2_description view_d415_model.launch
Unit-tests are based on bag files saved on S3 server. These can be downloaded using the following commands:
```bash
cd catkin_ws
wget "http://realsense-hw-public.s3.amazonaws.com/rs-tests/TestData/outdoors.bag" -P "records/"
wget "http://realsense-hw-public.s3-eu-west-1.amazonaws.com/rs-tests/D435i_Depth_and_IMU_Stands_still.bag" -P "records/"
wget "https://librealsense.intel.com/rs-tests/TestData/outdoors.bag" -P "records/"
wget "https://librealsense.intel.com/rs-tests/D435i_Depth_and_IMU_Stands_still.bag" -P "records/"
```
Then, unit-tests can be run using the following command (use either python or python3):
```bash
Expand Down
Loading