Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
188 commits
Select commit Hold shift + click to select a range
52543ac
moved description files into realsense2_description package
Mar 20, 2019
691f6b6
updated references to realsense2_description
Mar 20, 2019
23ac156
changed install to single block
Mar 20, 2019
8864a8d
Add option to use external nodelet manager
sundermann Mar 26, 2019
4071a3a
Register dynamic options in parent node handle
sundermann Mar 29, 2019
f04caf4
change frame_id for imu messages to camera_link's coordinates system,…
doronhi Apr 3, 2019
565555a
Remove copied version of ddynamic_reconfigure
Mar 20, 2019
3f18928
Migrate to https://github.com/pal-robotics/ddynamic_reconfigure
Mar 20, 2019
719f9a8
Add rule to install ddynamic_reconfigure
Apr 8, 2019
ce8b6ee
add decimation filter at the front of the filter list, before the sta…
Apr 18, 2019
7955ece
sync get devices
schmidtp1 May 1, 2019
b4b863d
Merge pull request #752 from schmidtp1/sync-get-device
dorodnic May 2, 2019
e962123
Update README.md
doronhi May 12, 2019
a34ee97
fix bug in pointcloud. Used to send points with Z=0.
doronhi May 12, 2019
5eb3f7a
removed lock_guard.
doronhi May 20, 2019
b286e4c
fix inserted bug reading from file
doronhi May 20, 2019
2738820
camera_link for t265 is POSE instead of GYRO.
doronhi May 20, 2019
2d0ad23
Add description of frame ids to README.md
doronhi May 20, 2019
95a9613
fixed bug: imu and synced imu are now sent in original device coordin…
doronhi May 21, 2019
c530a55
Merge branch 'development' of https://github.com/abhijitmajumdar/real…
doronhi May 22, 2019
c73c963
Merge branch 'abhijitmajumdar-development' into development
doronhi May 22, 2019
571a837
Merge branch 'dense_pointcloud' into development
doronhi May 22, 2019
7833c16
removed global variable _device, based on @akirayou at https://github…
doronhi May 22, 2019
f8f5e41
Merge branch 'fix_t265_coordinates' into development
doronhi May 22, 2019
b6e8f73
add note to rs_rgbd.launch, reminding users to initially install ros …
doronhi May 22, 2019
b4060b6
add option: allow_no_texture_points
doronhi May 22, 2019
4a5a508
update version: 2.2.4
doronhi May 22, 2019
ea86fc2
Update README.md
doronhi May 22, 2019
b529f5a
fixed bug: wrong frame_id for imu frames. (#784)
doronhi May 26, 2019
cfd5d0c
Remove copied version of ddynamic_reconfigure
Mar 20, 2019
bf9b16f
Migrate to https://github.com/pal-robotics/ddynamic_reconfigure
Mar 20, 2019
f51fd16
Merge branch 'development' of https://github.com/pal-robotics-forks/r…
doronhi May 28, 2019
323fb29
Merge branch 'pal-robotics-forks-development' into development
doronhi May 28, 2019
5ba5ec3
Merge branch 'feature/realsense2_description' of https://github.com/a…
doronhi May 28, 2019
2bdf263
update README.md to include realsense2_description
doronhi May 28, 2019
c244891
Merge branch 'athackst-feature/realsense2_description' into development
doronhi May 28, 2019
2a2e73f
exit node if failed to initialize.
doronhi May 28, 2019
51300b5
update version to 2.2.5
doronhi Jun 2, 2019
a328ca5
Add accel test
doronhi Jun 2, 2019
b572924
Added ddynamic_reconfigure installation note (#795)
mayio Jun 2, 2019
891c7ff
fix remarks to imu test
doronhi Jun 2, 2019
205d6b6
fixed README.md file.
doronhi Jun 2, 2019
032b3d3
add librealsense2.rdmanifest file
doronhi Jun 2, 2019
c54c21a
update version to 2.2.6
doronhi Jun 2, 2019
c15066f
add librealsense2 dependency
doronhi Jun 2, 2019
9ba6c2d
disable static_tf_1 test - not working on Travis.
doronhi Jun 3, 2019
1eb0d68
add eigen dependency
Jun 4, 2019
2b3365f
rename librealsense2.rdmanifest to librealsense2_xenial.rdmanifest
doronhi Jun 6, 2019
157db37
publish imu_info
doronhi Jun 10, 2019
71faa5c
Fix empty cmake variable and dependency on librealsense (#747)
dwisth Jun 11, 2019
a3649af
update apt-key for ROS repos.
doronhi Jun 11, 2019
d274d58
update apt-key for ROS repos.
doronhi Jun 11, 2019
ba763ec
Merge branch 'development' of https://github.com/stsundermann/realsen…
doronhi Jun 11, 2019
8063028
add external_manager option to rs_camera.launch
doronhi Jun 11, 2019
72e5d1f
Merge branch 'stsundermann-development' into development
doronhi Jun 11, 2019
311456d
enable reaquire tag whan launching node
baumanta Jun 5, 2019
de1649a
clarify installation process.
doronhi Jun 12, 2019
9340af0
Add option to use external nodelet manager
sundermann Mar 26, 2019
fddfe3b
Register dynamic options in parent node handle
sundermann Mar 29, 2019
fc1fd10
Fix empty cmake variable and dependency on librealsense (#747)
dwisth Jun 11, 2019
e2b7dd4
add external_manager option to rs_camera.launch
doronhi Jun 11, 2019
025a19d
clarify installation process.
doronhi Jun 12, 2019
95a0832
publish gyro/imu_info and accel/imu_info only once.
doronhi Jun 12, 2019
d386740
Make T265 less noisy in the info log (#823)
Jun 26, 2019
7fc0f9b
cleaning
doronhi Jul 4, 2019
c1010ab
Updated README to include notice of running multiple T265 cameras not…
asaba96 Jul 4, 2019
387f12b
fixed bug: advertise unsupported streams. (#811)
doronhi Jul 4, 2019
2452cc2
publish imu_info (#809)
doronhi Jul 4, 2019
c342314
Merge branch 'add_imu_info' into development
doronhi Jul 4, 2019
71cbe92
move ddynamic_reconfigure settings to before start streaming. (#843)
doronhi Jul 10, 2019
2ae0a55
Add support for SR305 (#844)
doronhi Jul 10, 2019
31fa75e
update version to 2.2.7
doronhi Jul 10, 2019
13375ec
Dependency on xacro missing.
peci1 Jul 11, 2019
5ef502e
fix bug: filters do not show in rqt_reconfigure. (#858)
doronhi Jul 23, 2019
c2d3faf
add asic temperature and projector temperature to diagnostics topic. …
doronhi Aug 8, 2019
d77e6eb
set auto_exposure ROI. (#883)
doronhi Aug 8, 2019
3d45f3e
Check temperature freqency (#884)
doronhi Aug 8, 2019
da4bb5d
upgrade version: 2.2.8
doronhi Aug 8, 2019
c04f95d
See issue 885. Added name tag to 435 xacro. Added multiple camera tes…
Aug 8, 2019
ac384d7
fix issue: node crash when device disconnects.
doronhi Aug 12, 2019
d50a56e
Merge pull request #888 from doronhi/fix_monitor_crash
doronhi Aug 12, 2019
68d8dc5
Add option to disable odom tf to be published
kamilritz Aug 13, 2019
cf86084
Merge pull request #890 from kamilritz/t265_publishOdomTf_option
doronhi Aug 13, 2019
8dbe9d0
Add option to disable odom tf
kamilritz Aug 16, 2019
e0076b2
Add dynamic transform support again.
pavloblindnology Mar 11, 2019
7a35280
Merge pull request #804 from Auterion/enable-required-tag
doronhi Aug 28, 2019
0c3ce64
force infrared stream to choose stable Y8 format.
doronhi Sep 16, 2019
936b98c
add publish_tf and tf_publish_rate to README.md
doronhi Sep 16, 2019
6b3604e
Merge branch 'Blindnology-dynamic_tf' into development
doronhi Sep 16, 2019
4c9fafb
Merge pull request #850 from peci1/patch-2
doronhi Sep 16, 2019
2a45f09
Merge pull request #924 from doronhi/fix_W10
doronhi Sep 16, 2019
f6f8efa
passing camera name as a parameter
jr-bor Oct 14, 2019
05b25bd
added unit testing to test the dual set
jr-bor Oct 15, 2019
7ace746
added support for multiple cameras
saikishor Oct 21, 2019
d2d38a1
Allow to use usb port number to connect to devices
Oct 23, 2019
8e0705b
use regex to parse usb description string.
doronhi Oct 24, 2019
59b29e3
Add device_type option to choose the device type using regular expres…
doronhi Oct 24, 2019
2baf449
update README.md regarding port_no and device_type options.
doronhi Oct 24, 2019
432eb1c
Merge pull request #964 from doronhi/BriceRenaudeau-PortNumberConnection
doronhi Oct 24, 2019
ca76160
renamed porn_no to usb_port_id
doronhi Oct 24, 2019
be3fec4
update README.md regarding usb_port_id
doronhi Oct 24, 2019
0bc36ae
Update opensource_tracking.launch
aswinkumar2019 Oct 24, 2019
88f7307
Merge pull request #966 from doronhi/rename_usb_port_id
doronhi Oct 24, 2019
2dd42ec
Merge pull request #965 from aswinkumar2019/patch-1
doronhi Oct 24, 2019
8e34324
set serial number in diagnostics when running from bag file
doronhi Oct 28, 2019
d91c9c2
Merge pull request #967 from doronhi/offline_serial_no
doronhi Oct 28, 2019
3148d2b
Merge pull request #957 from saikishor/multiple-cameras
doronhi Oct 28, 2019
1ed5a45
upgrade version: 2.2.9
doronhi Oct 28, 2019
609c024
Fix USB port regex to work with hub-connected cams.
mikepurvis Oct 29, 2019
5190897
Merge pull request #973 from clearpathrobotics/fix-usb-port-regex
doronhi Oct 30, 2019
45d1049
Fix wrong PointField Type for Colored Point Clouds
Nov 15, 2019
fc63959
fixed unite_imu_method copy to transmit at gyro's rate.
doronhi Dec 4, 2019
9999901
fix rs2_listener.py to avoid dependency of theora-image-transport
doronhi Dec 4, 2019
96ef72a
syntax error.
doronhi Dec 4, 2019
2befb29
fixed unite_imu_method LINEAR_INTERPOLATION to transmit at gyro's rate.
doronhi Dec 8, 2019
acc68a0
fix publishing rate issue for united imu.
doronhi Dec 8, 2019
bb718cd
Merge pull request #993 from sahandy/bugfix/wrong-rgb-datatype-in-ros…
doronhi Dec 8, 2019
770cdb0
cleaning
doronhi Dec 8, 2019
5988326
fix point cloud test to work with outdorrs_1color.bag file.
doronhi Dec 9, 2019
42d5df7
fix point cloud test to work with outdorrs_1color.bag file.
doronhi Dec 9, 2019
a5e7768
Merge pull request #1014 from doronhi/change_test_file
doronhi Dec 9, 2019
749b452
Merge remote-tracking branch 'origin/development' into fix_imu_copy
doronhi Dec 9, 2019
ec68bdd
Merge pull request #1010 from doronhi/fix_imu_copy
doronhi Dec 9, 2019
ecd9479
Merge branch 'feature/parametrized-xacro' of https://github.com/veimo…
doronhi Dec 10, 2019
dbfb56f
Merge branch 'parametrized-xacro' into development
doronhi Dec 10, 2019
09305fc
Merge branch 'issue-885-squashed' of https://github.com/tykurtz/reals…
doronhi Dec 10, 2019
80492f4
add pointcloud to rs_d435_camera_with_model.launch and fix urdf.rviz …
doronhi Dec 10, 2019
7c143ad
Merge branch 'tykurtz-rename-frames-urdf' into development
doronhi Dec 10, 2019
c942692
add use_nominal_extrinsics to urdf tests
doronhi Dec 10, 2019
a185589
Merge pull request #1016 from doronhi/fix_urdf_tests
doronhi Dec 10, 2019
b02c598
upgrade version: 2.2.10
doronhi Dec 10, 2019
008e2e4
upgrade version: 2.2.11
doronhi Dec 11, 2019
63de2e7
Support L515.
doronhi Dec 17, 2019
3b3aa85
fix a stability issue with reading rosbag files.
doronhi Jan 1, 2020
2e780d7
Merge pull request #802 from ahoarau/patch-1
doronhi Jan 12, 2020
69d199d
upgrade version: 2.2.12
doronhi Jan 12, 2020
1d3bfaa
fix bug: enable building release version instead of debug.
doronhi Feb 9, 2020
a35401a
add error message "Left IC2 Config error" to reset inducing errors list.
doronhi Feb 16, 2020
9c447a2
fix usb_port_id parsing. Including librealsense fixed port_id for T265.
doronhi Feb 18, 2020
a4d9335
fix: add default value: release.
doronhi Feb 18, 2020
311a73f
Merge pull request #1088 from doronhi/usb_port_id
doronhi Mar 1, 2020
4d56564
Merge pull request #1084 from doronhi/release_build
doronhi Mar 1, 2020
142bafc
Fix thread not joined error which caused an exception before calling …
doronhi Mar 1, 2020
379653a
Fix thread not joined error which caused an exception before calling …
doronhi Mar 1, 2020
d71bde7
remove "stream start failure" from reset causing list.
doronhi Mar 1, 2020
14d8895
Merge remote-tracking branch 'doronhi/join_query_thread' into join_qu…
doronhi Mar 1, 2020
26e6768
Reduce memory allocations in BaseRealSenseNode::publishPointCloud()
facontidavide Mar 2, 2020
b06e55a
Merge branch 'optimize_pointcloud' into development
doronhi Mar 5, 2020
eef42a5
Merge branch 'support_L515' into development
doronhi Mar 5, 2020
7449930
Merge pull request #1095 from doronhi/join_query_thread
doronhi Mar 8, 2020
c4bb30e
catch failure on device creation.
doronhi Mar 8, 2020
7e455c4
Merge pull request #1112 from doronhi/catch_device
doronhi Mar 8, 2020
489eade
upgrade version to 2.2.13
doronhi Mar 8, 2020
98a8c71
add CHANGELOG.rst
doronhi Mar 8, 2020
b436375
correct offset between camera_link and base_link
Mar 14, 2020
5ffc651
fix use_nominal_extrinsics arg/property
Mar 15, 2020
3ab5077
Update README.md
doronhi Mar 22, 2020
da9dfd6
Update README.md
acetousk May 8, 2020
5e8f30b
fix bug: sometimes sensors are not closed when program terminates
doronhi May 18, 2020
8c646ee
Merge pull request #1124 from mcamurri/development
doronhi May 21, 2020
d72f5cb
README.md: fix unite_imu_method description.
doronhi May 24, 2020
4411dc0
Update README.md
May 26, 2020
79a0a1c
Merge pull request #1208 from pedrombmachado/patch-1
doronhi May 27, 2020
6a0da77
change state_publisher into robot_state_publisher
May 29, 2020
faa290f
fix noetic xacro macro call
May 29, 2020
5245225
Add proper output of equidistant distortion model.
helenol Jun 3, 2020
602212a
4-space tabs
helenol Jun 3, 2020
7c8922d
style
helenol Jun 3, 2020
fd0a54b
Merge pull request #1207 from doronhi/fix_readme_unite_imu
doronhi Jun 16, 2020
a9e94a3
Merge pull request #1202 from doronhi/stop_sensors
doronhi Jun 16, 2020
1cc944b
Add new L515_PID
doronhi Jun 16, 2020
5d235b4
Setting enum dynamic parameters ignores options without description.
doronhi Jun 17, 2020
8281996
Merge branch 'fix/equidistant' of https://github.com/helenol/realsens…
doronhi Jun 17, 2020
4ecc0bb
restore redundant spaces for easy backward compatibility.
doronhi Jun 17, 2020
1b6f4e3
Merge branch 'helenol-fix/equidistant' into development
doronhi Jun 17, 2020
f7cd5fc
Merge branch 'fix-use-nominal-extrinsics-param' of https://github.com…
doronhi Jun 17, 2020
0b1f3af
Merge branch 'mcamurri-fix-use-nominal-extrinsics-param' into develop…
doronhi Jun 17, 2020
db465fd
Merge branch 'noetic_urdf' of https://github.com/wyca-robotics/realse…
doronhi Jun 17, 2020
8cadbfc
Merge branch 'wyca-robotics-noetic_urdf' into development
doronhi Jun 17, 2020
eb7e240
Merge pull request #1248 from doronhi/support_L515
doronhi Jun 18, 2020
4b33439
Merge pull request #1250 from doronhi/fix_options_lrs2_35
doronhi Jun 18, 2020
86ffd51
Merge branch 'development' of https://github.com/UTAH-VEXU-Robotics/r…
doronhi Jun 18, 2020
5c625fb
fixed README.md
doronhi Jun 18, 2020
f260f31
Merge branch 'UTAH-VEXU-Robotics-development' into development
doronhi Jun 18, 2020
c769595
Merge remote-tracking branch 'origin/development' into development
doronhi Jun 18, 2020
7bbe006
upgrade version to 2.2.14
doronhi Jun 18, 2020
bc41dcb
2.2.14
doronhi Jun 18, 2020
a4837f1
Merge branch 'master' into feature/sync_upstream_020214
YoshuaNava Jun 30, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
104 changes: 65 additions & 39 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,48 +23,75 @@ Instructions on how to update the firmware can be found on the [Intel homepage](
# ROS Wrapper for Intel® RealSense™ Devices
These are packages for using Intel RealSense cameras (D400 series SR300 camera and T265 Tracking Module) with ROS.

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

## Installation Instructions

The following instructions support ROS Indigo, on **Ubuntu 14.04**, and ROS Kinetic, on **Ubuntu 16.04**.
The following instructions are written for ROS Kinetic, on **Ubuntu 16.04** but apply to ROS Melodic on **Ubuntu 18.04** as well, by replacing kinetic with melodic wherever is needed.

#### The simplest way to install on a clean machine is to follow the instructions on the [.travis.yml](https://github.com/intel-ros/realsense/blob/development/.travis.yml) file. It basically summerize the elaborate instructions in the following 3 steps:
### Step 1: Install the ROS distribution
- #### Install [ROS Kinetic](http://wiki.ros.org/kinetic/Installation/Ubuntu), on Ubuntu 16.04 or [ROS Melodic](http://wiki.ros.org/melodic/Installation/Ubuntu) on Ubuntu 18.04.

### Step 1: Install the latest Intel® RealSense™ SDK 2.0
- #### 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.

#### OR
- #### Build from sources by downloading the latest [Intel® RealSense™ SDK 2.0](https://github.com/IntelRealSense/librealsense/releases/tag/v2.31.0) and follow the instructions under [Linux Installation](https://github.com/IntelRealSense/librealsense/blob/master/doc/installation.md)
### There are 2 sources to install realsense2_camera from:

### Step 2: Install the ROS distribution
- #### Install [ROS Kinetic](http://wiki.ros.org/kinetic/Installation/Ubuntu), on Ubuntu 16.04
* ### Method 1: The ROS distribution:
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
```
sudo apt-get install ros-$ROS_VER-realsense2-camera`

### Step 3: Install Intel® RealSense™ ROS from Sources
- Create a [catkin](http://wiki.ros.org/catkin#Installing_catkin) workspace
```bash
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src/
```
- Clone the latest Intel® RealSense™ ROS from [here](https://github.com/intel-ros/realsense/releases) into 'catkin_ws/src/'
```bashrc
git clone https://github.com/IntelRealSense/realsense-ros.git
cd realsense-ros/
git checkout `git tag | sort -V | grep -P "^\d+\.\d+\.\d+" | tail -1`
cd ..
```
- Make sure all dependent packages are installed. You can check .travis.yml file for reference.
- Specifically, make sure that the ros package *ddynamic_reconfigure* is installed. If *ddynamic_reconfigure* cannot be installed using APT, you may clone it into your workspace 'catkin_ws/src/' from [here](https://github.com/pal-robotics/ddynamic_reconfigure/tree/kinetic-devel) (Version 0.2.0)
This will install both realsense2_camera and its dependents, including librealsense2 library.

```bash
catkin_init_workspace
cd ..
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
```
Notice:
* The version of librealsense2 is almost always behind the one availeable in RealSense™ 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.
* any_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`


* ### Method 2: The RealSense™ 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:

### Step 1: Install the latest Intel® RealSense™ SDK 2.0
- #### 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.

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


### Step 2: Install Intel® RealSense™ ROS from Sources
- Create a [catkin](http://wiki.ros.org/catkin#Installing_catkin) workspace
```bash
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src/
```
- Clone the latest Intel® RealSense™ ROS from [here](https://github.com/intel-ros/realsense/releases) into 'catkin_ws/src/'
```bashrc
git clone https://github.com/IntelRealSense/realsense-ros.git
cd realsense-ros/
git checkout `git tag | sort -V | grep -P "^\d+\.\d+\.\d+" | tail -1`
cd ..
```
- Make sure all dependent packages are installed. You can check .travis.yml file for reference.
- Specifically, make sure that the ros package *ddynamic_reconfigure* is installed. If *ddynamic_reconfigure* cannot be installed using APT, you may clone it into your workspace 'catkin_ws/src/' from [here](https://github.com/pal-robotics/ddynamic_reconfigure/tree/kinetic-devel) (Version 0.2.2)

```bash
catkin_init_workspace
cd ..
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
```

## Usage Instructions

Expand Down Expand Up @@ -131,9 +158,9 @@ The topics are of the form: ```/camera/aligned_depth_to_color/image_raw``` etc.
- **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)**
- **unite_imu_method**: The D435i and T265 cameras have built in IMU components which produce 2 unrelated streams: *gyro* - which shows angular velocity and *accel* which shows linear acceleration. Each with it's own frequency. By default, 2 corresponding topics are available, each with only the relevant fields of the message sensor_msgs::Imu are filled out.
Setting *unite_imu_method* creates a new topic, *imu*, that replaces the default *gyro* and *accel* topics. Under the new topic, all the fields in the Imu message are filled out.
- **linear_interpolation**: Each message contains the last original value of item A interpolated with the previous value of item A, combined with the last original value of item B on last item B's timestamp. Items A and B are accel and gyro interchangeably, according to which type recently arrived from the sensor. The idea is to give the most recent information, united and without repetitions.
- **copy**: For each new message, accel or gyro, the relevant fields and timestamp are filled out while the others maintain the previous data.
Setting *unite_imu_method* creates a new topic, *imu*, that replaces the default *gyro* and *accel* topics. The *imu* topic is published at the rate of the gyro. All the fields of the Imu message under the *imu* topic are filled out.
- **linear_interpolation**: Every gyro message is attached by the an accel message interpolated to the gyro's timestamp.
- **copy**: Every gyro message is attached by the last accel message.
- **clip_distance**: remove from the depth image all values above a given value (meters). Disable by giving negative value (default)
- **linear_accel_cov**, **angular_velocity_cov**: sets the variance given to the Imu readings. For the T265, these values are being modified by the inner confidence value.
- **hold_back_imu_for_frames**: Images processing takes time. Therefor there is a time gap between the moment the image arrives at the wrapper and the moment the image is published to the ROS environment. During this time, Imu messages keep on arriving and a situation is created where an image with earlier timestamp is published after Imu message with later timestamp. If that is a problem, setting *hold_back_imu_for_frames* to *true* will hold the Imu messages back while processing the images and then publish them all in a burst, thus keeping the order of publication as the order of arrival. Note that in either case, the timestamp in each message's header reflects the time of it's origin.
Expand Down Expand Up @@ -224,10 +251,10 @@ The wrapper publishes static transformations(TFs). The Frame Ids are divided int
- base_link: For example: camera_link. A reference frame for the device. In D400 series and SR300 it is the depth frame. In T265, the pose frame.


### realsense2_description package:
### any_realsense2_description package:
For viewing included models, a separate package is included. For example:
```bash
roslaunch realsense2_description view_d415_model.launch
roslaunch any_realsense2_description view_d415_model.launch
```

### Unit tests:
Expand All @@ -250,7 +277,6 @@ python src/realsense/realsense2_camera/scripts/rs2_test.py --all
## Known Issues
* This ROS node does not currently support [ROS Lunar Loggerhead](http://wiki.ros.org/lunar).
* This ROS node does not currently work with [ROS 2](https://github.com/ros2/ros2/wiki).
* This ROS node currently does not provide the unit-tests which ensure the proper operation of the camera. Future versions of the node will provide ROS compatible unit-tests.
* This ROS node currently does not support running multiple T265 cameras at once. This will be addressed in a future update.

## License
Expand Down
21 changes: 21 additions & 0 deletions realsense2_camera/CHANGELOG.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Changelog for package realsense2_camera
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

2.2.14 (2020-06-18)
-------------------
* Fix compatibility with Librealsense2 Version 2.35.2.
* Fix support for L515.
* Fix urdf issues.
* Add noetic support: change state_publisher into robot_state_publisher
* fix distortion correction model for T265 (equidistant)
* fix stability issues. Stop sensors at program termination.
* Contributors: Brice, Helen Oleynikova, doronhi

* upgrade version to 2.2.13
* fix ctrl-C closing issues.
* handle device creation exceptions.
* support LiDAR camera L515.
* optimize pointcloud. Contributors: Davide Faconti
* fix usb port id parsing issues.
* Add eigen dependency - missing for Melodic. Contributors: Antoine Hoarau
19 changes: 12 additions & 7 deletions realsense2_camera/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -39,12 +39,17 @@ if(SET_USER_BREAK_AT_STARTUP)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DBPDEBUG")
endif()

# find_package(realsense2 2.29.0)
# if(NOT realsense2_FOUND)
# message(FATAL_ERROR "\n\n Intel RealSense SDK 2.0 is missing, please install it from https://github.com/IntelRealSense/librealsense/releases\n\n")
# endif()
find_package(realsense2 2.35.2)
if(NOT realsense2_FOUND)
message(FATAL_ERROR "\n\n Intel RealSense SDK 2.0 is missing, please install it from https://github.com/IntelRealSense/librealsense/releases\n\n")
endif()

if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE Release)
endif()

if (CMAKE_BUILD_TYPE EQUAL "RELEASE")
string(TOUPPER "${CMAKE_BUILD_TYPE}" uppercase_CMAKE_BUILD_TYPE)
if (${uppercase_CMAKE_BUILD_TYPE} STREQUAL "RELEASE")
message(STATUS "Create Release Build.")
set(CMAKE_CXX_FLAGS "-O2 ${CMAKE_CXX_FLAGS}")
else()
Expand All @@ -71,8 +76,8 @@ generate_messages(
set(CMAKE_NO_SYSTEM_FROM_IMPORTED true)
include_directories(
include
SYSTEM
${catkin_INCLUDE_DIRS}
${realsense2_INCLUDE_DIR}
${catkin_INCLUDE_DIRS}
${EIGEN3_INCLUDE_DIR}
)

Expand Down
3 changes: 3 additions & 0 deletions realsense2_camera/include/base_realsense_node.h
Original file line number Diff line number Diff line change
Expand Up @@ -428,6 +428,9 @@ namespace realsense2_camera
stream_index_pair _base_stream;
const std::string _namespace;

sensor_msgs::PointCloud2 _msg_pointcloud;
std::vector< unsigned int > _valid_pc_indices;

};//end class

}
Expand Down
4 changes: 3 additions & 1 deletion realsense2_camera/include/constants.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

#define REALSENSE_ROS_MAJOR_VERSION 2
#define REALSENSE_ROS_MINOR_VERSION 2
#define REALSENSE_ROS_PATCH_VERSION 11
#define REALSENSE_ROS_PATCH_VERSION 14

#define STRINGIFY(arg) #arg
#define VAR_ARG_STRING(arg) STRINGIFY(arg)
Expand All @@ -34,6 +34,8 @@ namespace realsense2_camera
const uint16_t RS435i_RGB_PID = 0x0B3A; // AWGC_MM
const uint16_t RS405_PID = 0x0b0c; // DS5U
const uint16_t RS_T265_PID = 0x0b37; //
const uint16_t RS_L515_PID_PRE_PRQ = 0x0B3D; //
const uint16_t RS_L515_PID = 0x0B64; //


const bool ALIGN_DEPTH = false;
Expand Down
5 changes: 4 additions & 1 deletion realsense2_camera/include/realsense_node_factory.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ namespace realsense2_camera
{
const stream_index_pair COLOR{RS2_STREAM_COLOR, 0};
const stream_index_pair DEPTH{RS2_STREAM_DEPTH, 0};
const stream_index_pair INFRA0{RS2_STREAM_INFRARED, 0};
const stream_index_pair INFRA1{RS2_STREAM_INFRARED, 1};
const stream_index_pair INFRA2{RS2_STREAM_INFRARED, 2};
const stream_index_pair FISHEYE{RS2_STREAM_FISHEYE, 0};
Expand All @@ -39,7 +40,7 @@ namespace realsense2_camera
const stream_index_pair POSE{RS2_STREAM_POSE, 0};


const std::vector<stream_index_pair> IMAGE_STREAMS = {DEPTH, INFRA1, INFRA2,
const std::vector<stream_index_pair> IMAGE_STREAMS = {DEPTH, INFRA0, INFRA1, INFRA2,
COLOR,
FISHEYE,
FISHEYE1, FISHEYE2};
Expand Down Expand Up @@ -67,6 +68,7 @@ namespace realsense2_camera
void getDevice(rs2::device_list list);
virtual void onInit() override;
void tryGetLogSeverity(rs2_log_severity& severity) const;
static std::string parse_usb_port(std::string line);

rs2::device _device;
std::unique_ptr<InterfaceRealSenseNode> _realSenseNode;
Expand All @@ -77,5 +79,6 @@ namespace realsense2_camera
bool _initial_reset;
std::thread _query_thread;

bool _is_alive;
};
}//end namespace
3 changes: 2 additions & 1 deletion realsense2_camera/package.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<package format="2">
<name>any_realsense2_camera</name>
<version>2.2.11</version>
<version>2.2.14</version>
<description>RealSense Camera package allowing access to Intel T265 Tracking module and SR300 and D400 3D cameras</description>
<maintainer email="sergey.dorodnicov@intel.com">Sergey Dorodnicov</maintainer>
<maintainer email="doron.hirshberg@intel.com">Doron Hirshberg</maintainer>
Expand All @@ -15,6 +15,7 @@
<author email="sergey.dorodnicov@intel.com">Sergey Dorodnicov</author>
<author email="doron.hirshberg@intel.com">Doron Hirshberg</author>
<buildtool_depend>catkin</buildtool_depend>
<depend>eigen</depend>
<depend>image_transport</depend>
<depend>cv_bridge</depend>
<depend>nav_msgs</depend>
Expand Down
Loading