Skip to content
Snippets Groups Projects
Commit e4b3b684 authored by Sergi Hernandez's avatar Sergi Hernandez
Browse files

Initial commit of the bringup package for the realsense depth camera.

parent 9827fbab
No related branches found
No related tags found
No related merge requests found
cmake_minimum_required(VERSION 2.8.3)
project(iri_realsense_depth_bringup)
## Compile as C++11, supported in ROS Kinetic and newer
# add_compile_options(-std=c++11)
## Find catkin macros and libraries
## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz)
## is used, also find other catkin packages
find_package(catkin REQUIRED)
## System dependencies are found with CMake's conventions
# find_package(Boost REQUIRED COMPONENTS system)
## Uncomment this if the package has a setup.py. This macro ensures
## modules and global scripts declared therein get installed
## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html
# catkin_python_setup()
################################################
## Declare ROS messages, services and actions ##
################################################
## To declare and build messages, services or actions from within this
## package, follow these steps:
## * Let MSG_DEP_SET be the set of packages whose message types you use in
## your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...).
## * In the file package.xml:
## * add a build_depend tag for "message_generation"
## * add a build_depend and a exec_depend tag for each package in MSG_DEP_SET
## * If MSG_DEP_SET isn't empty the following dependency has been pulled in
## but can be declared for certainty nonetheless:
## * add a exec_depend tag for "message_runtime"
## * In this file (CMakeLists.txt):
## * add "message_generation" and every package in MSG_DEP_SET to
## find_package(catkin REQUIRED COMPONENTS ...)
## * add "message_runtime" and every package in MSG_DEP_SET to
## catkin_package(CATKIN_DEPENDS ...)
## * uncomment the add_*_files sections below as needed
## and list every .msg/.srv/.action file to be processed
## * uncomment the generate_messages entry below
## * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...)
## Generate messages in the 'msg' folder
# add_message_files(
# FILES
# Message1.msg
# Message2.msg
# )
## Generate services in the 'srv' folder
# add_service_files(
# FILES
# Service1.srv
# Service2.srv
# )
## Generate actions in the 'action' folder
# add_action_files(
# FILES
# Action1.action
# Action2.action
# )
## Generate added messages and services with any dependencies listed here
# generate_messages(
# DEPENDENCIES
# std_msgs # Or other packages containing msgs
# )
################################################
## Declare ROS dynamic reconfigure parameters ##
################################################
## To declare and build dynamic reconfigure parameters within this
## package, follow these steps:
## * In the file package.xml:
## * add a build_depend and a exec_depend tag for "dynamic_reconfigure"
## * In this file (CMakeLists.txt):
## * add "dynamic_reconfigure" to
## find_package(catkin REQUIRED COMPONENTS ...)
## * uncomment the "generate_dynamic_reconfigure_options" section below
## and list every .cfg file to be processed
## Generate dynamic reconfigure parameters in the 'cfg' folder
# generate_dynamic_reconfigure_options(
# cfg/DynReconf1.cfg
# cfg/DynReconf2.cfg
# )
###################################
## catkin specific configuration ##
###################################
## The catkin_package macro generates cmake config files for your package
## Declare things to be passed to dependent projects
## INCLUDE_DIRS: uncomment this if your package contains header files
## LIBRARIES: libraries you create in this project that dependent projects also need
## CATKIN_DEPENDS: catkin_packages dependent projects also need
## DEPENDS: system dependencies of this project that dependent projects also need
catkin_package(
# INCLUDE_DIRS include
# LIBRARIES iri_realsense_depth_bringup
# CATKIN_DEPENDS other_catkin_pkg
# DEPENDS system_lib
)
###########
## Build ##
###########
## Specify additional locations of header files
## Your package locations should be listed before other locations
include_directories(
# include
# ${catkin_INCLUDE_DIRS}
)
## Declare a C++ library
# add_library(${PROJECT_NAME}
# src/${PROJECT_NAME}/iri_realsense_depth_bringup.cpp
# )
## Add cmake target dependencies of the library
## as an example, code may need to be generated before libraries
## either from message generation or dynamic reconfigure
# add_dependencies(${PROJECT_NAME} ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
## Declare a C++ executable
## With catkin_make all packages are built within a single CMake context
## The recommended prefix ensures that target names across packages don't collide
# add_executable(${PROJECT_NAME}_node src/iri_realsense_depth_bringup_node.cpp)
## Rename C++ executable without prefix
## The above recommended prefix causes long target names, the following renames the
## target back to the shorter version for ease of user use
## e.g. "rosrun someones_pkg node" instead of "rosrun someones_pkg someones_pkg_node"
# set_target_properties(${PROJECT_NAME}_node PROPERTIES OUTPUT_NAME node PREFIX "")
## Add cmake target dependencies of the executable
## same as for the library above
# add_dependencies(${PROJECT_NAME}_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
## Specify libraries to link a library or executable target against
# target_link_libraries(${PROJECT_NAME}_node
# ${catkin_LIBRARIES}
# )
#############
## Install ##
#############
# all install targets should use catkin DESTINATION variables
# See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html
## Mark executable scripts (Python etc.) for installation
## in contrast to setup.py, you can choose the destination
# install(PROGRAMS
# scripts/my_python_script
# DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
# )
## Mark executables and/or libraries for installation
# install(TARGETS ${PROJECT_NAME} ${PROJECT_NAME}_node
# ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
# LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
# RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
# )
## Mark cpp header files for installation
# install(DIRECTORY include/${PROJECT_NAME}/
# DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
# FILES_MATCHING PATTERN "*.h"
# PATTERN ".svn" EXCLUDE
# )
## Mark other files for installation (e.g. launch and bag files, etc.)
# install(FILES
# # myfile1
# # myfile2
# DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
# )
#############
## Testing ##
#############
## Add gtest based cpp test target and link libraries
# catkin_add_gtest(${PROJECT_NAME}-test test/test_iri_realsense_depth_bringup.cpp)
# if(TARGET ${PROJECT_NAME}-test)
# target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME})
# endif()
## Add folders to be run by python nosetests
# catkin_add_nosetests(test)
# Description
This ROS package contains the launch files to set up and configure the Velodyne
lidar driver in ROS. This package uses the [Velodyne ROS driver](http://wiki.ros.org/velodyne)
as the sensor driver together with the
[iri_velodyne_lidar_description](https://gitlab.iri.upc.edu/labrobotica/ros/sensors/ranger3d/iri_velodyne_lidar_description)
to provide a conveninet way to integrate it to both RVIZ and Gazebo.
# Dependencies
This node has the following dependencies:
* [Velodyne ROS driver](http://wiki.ros.org/velodyne): please follow the
instructions on section 2 to properly set up the node.
* [iri_velodyne_lidar_description](https://gitlab.iri.upc.edu/labrobotica/ros/sensors/ranger3d/iri_velodyne_lidar_description)
# Install
This package, as well as all IRI dependencies, can be installed by cloning the
repository inside the active workspace:
```
roscd
cd ../src
git clone https://gitlab.iri.upc.edu/labrobotica/ros/sensors/ranger3d/iri_velodyne_lidar_bringup.git
```
However, this package is normally used as part of a wider installation (i.e. a
robot, an experiment or a demosntration) which will normally include a complete
rosinstall file to be used with the [wstool](http://wiki.ros.org/wstool) tool.
Make sure to follow the installation instructions in section 2 of the
[Velodyne ROS driver](http://wiki.ros.org/velodyne) webpage.
To install the Linux and ROS dependencies, execute the following command:
```
sudo apt-get install ros-kinetc-velodyne
```
# How to use it
The *velodyne_vlp32.launch* and the *velodyne_vlp16.launch* launch files are
intended to be included in any launch file that needs the lidar sensor. They
both have the following parameters:
* config_file: (default: iri_velodyne_lidar_bringup/config/velodyne_vlp\*_lidar_default_config.yaml)
a configuration file with all the parameters supported by the
[Velodyne ROS driver](http://wiki.ros.org/velodyne). See its documentation for a
detailed description of all the parameters.
* node_name: (default: velodyne) name given to the rosaria node.
* output: (default: log) the desired output for all nodes. Possible values for
this parameter are log and screen.
* launch_prefix: (default: none)
A default YAML configuration file for each of the supported versions are provided
in the config folder, but each application should define a new file with the
desired parameters and pass it to this launch file.
See the [Velodyne ROS driver](http://wiki.ros.org/velodyne) for a complete list
of all topics and services provided by this node.
To remap the topics and services of the driver, use a global remap command.
Also, an example launch file is provided (velodyne_vlp16_test.launch).
manager: 'realsense2_camera_manager'
serial_no: ''
tf_prefix: ''
json_file_path: ''
rosbag_filename: ''
depth: 'depth'
infra1: 'infra1'
infra2: 'infra2'
rgb: 'color'
fisheye: 'fisheye'
accel: 'accel'
gyro: 'gyro'
fisheye_width: 640
fisheye_height: 480
enable_fisheye: true
depth_width: 640
depth_height: 480
enable_depth: true
infra1_width: 640
infra1_height: 480
enable_infra1: true
infra2_width: 640
infra2_height: 480
enable_infra2: true
color_width: 640
color_height: 480
enable_color: true
fisheye_fps: 30
depth_fps: 30
infra1_fps: 30
infra2_fps: 30
color_fps: 30
gyro_fps: 1000
accel_fps: 1000
enable_imu: true
enable_pointcloud: false
pointcloud_texture_stream: 'RS2_STREAM_COLOR'
pointcloud_texture_index: 0
enable_sync: false
align_depth: false
base_frame_id: camera_link
depth_frame_id: camera_depth_frame
infra1_frame_id: camera_infra1_frame
infra2_frame_id: camera_infra2_frame
color_frame_id: camera_color_frame
depth_optical_frame_id: camera_depth_optical_frame
infra1_optical_frame_id: camera_infra1_optical_frame
infra2_optical_frame_id: camera_infra2_optical_frame
color_optical_frame_id: camera_color_optical_frame
fisheye_optical_frame_id: camera_fisheye_optical_frame
accel_optical_frame_id: camera_accel_optical_frame
gyro_optical_frame_id: camera_gyro_optical_frame
aligned_depth_to_color_frame_id: camera_aligned_depth_to_color_frame
aligned_depth_to_infra1_frame_id: camera_aligned_depth_to_infra1_frame
aligned_depth_to_infra2_frame_id: camera_aligned_depth_to_infra2_frame
aligned_depth_to_fisheye_frame_id: camera_aligned_depth_to_fisheye_frame
filters: ''
<?xml version="1.0" encoding="UTF-8"?>
<launch>
<arg name="config_file" default="$(find iri_bno055_imu_bringup)/config/bno055_default_config.yaml" />
<include file="$(find realsense2_camera)/launch/includes/nodelet.launch.xml">
<rosparam file="$(arg config_file)" command="load" />
</include>
</launch>
<?xml version="1.0" encoding="UTF-8"?>
<launch>
<arg name="config_file" default="$(find iri_bno055_imu_bringup)/config/bno055_default_config.yaml" />
<param name="robot_description"
command="$(find xacro)/xacro --inorder '$(find realsense2_camera)/urdf/test_d435_camera.urdf.xacro'" />
<include file="$(find iri_realsense_depth_bringup)/launch/realsense.launch">
<arg name="config_file" value="$(arg config_file)"/>
</include>
<node name="rviz"
pkg="rviz"
type="rviz"
args="-d $(find iri_bno055_imu_bringup)/rviz/bno055_imu.rviz"/>
</launch>
<?xml version="1.0"?>
<package format="2">
<name>iri_realsense_depth_bringup</name>
<version>0.0.0</version>
<description>The iri_realsense_depth_bringup package</description>
<!-- One maintainer tag required, multiple allowed, one person per tag -->
<!-- Example: -->
<!-- <maintainer email="jane.doe@example.com">Jane Doe</maintainer> -->
<maintainer email="labrobotica@iri.upc.edu">labrobotica</maintainer>
<!-- One license tag required, multiple allowed, one license per tag -->
<!-- Commonly used license strings: -->
<!-- BSD, MIT, Boost Software License, GPLv2, GPLv3, LGPLv2.1, LGPLv3 -->
<license>LGPL</license>
<!-- Url tags are optional, but multiple are allowed, one per tag -->
<!-- Optional attribute type can be: website, bugtracker, or repository -->
<!-- Example: -->
<!-- <url type="website">http://wiki.ros.org/iri_realsense_depth_bringup</url> -->
<!-- Author tags are optional, multiple are allowed, one per tag -->
<!-- Authors do not have to be maintainers, but could be -->
<!-- Example: -->
<!-- <author email="jane.doe@example.com">Jane Doe</author> -->
<author email="labrobotica@iri.upc.edu">labrobotica</author>
<!-- The *depend tags are used to specify dependencies -->
<!-- Dependencies can be catkin packages or system dependencies -->
<!-- Examples: -->
<!-- Use depend as a shortcut for packages that are both build and exec dependencies -->
<!-- <depend>roscpp</depend> -->
<!-- Note that this is equivalent to the following: -->
<!-- <build_depend>roscpp</build_depend> -->
<!-- <exec_depend>roscpp</exec_depend> -->
<!-- Use build_depend for packages you need at compile time: -->
<!-- <build_depend>message_generation</build_depend> -->
<!-- Use build_export_depend for packages you need in order to build against this package: -->
<!-- <build_export_depend>message_generation</build_export_depend> -->
<!-- Use buildtool_depend for build tool packages: -->
<!-- <buildtool_depend>catkin</buildtool_depend> -->
<!-- Use exec_depend for packages you need at runtime: -->
<!-- <exec_depend>message_runtime</exec_depend> -->
<!-- Use test_depend for packages you need only for testing: -->
<!-- <test_depend>gtest</test_depend> -->
<!-- Use doc_depend for packages you need only for building documentation: -->
<!-- <doc_depend>doxygen</doc_depend> -->
<buildtool_depend>catkin</buildtool_depend>
<!-- The export tag contains other, unspecified, tags -->
<export>
<!-- Other tools can request additional information be placed here -->
</export>
</package>
Panels:
- Class: rviz/Displays
Help Height: 78
Name: Displays
Property Tree Widget:
Expanded:
- /Global Options1
- /Status1
Splitter Ratio: 0.547222197
Tree Height: 591
- Class: rviz/Selection
Name: Selection
- Class: rviz/Tool Properties
Expanded:
- /2D Pose Estimate1
- /2D Nav Goal1
- /Publish Point1
Name: Tool Properties
Splitter Ratio: 0.588679016
- Class: rviz/Views
Expanded:
- /Current View1
Name: Views
Splitter Ratio: 0.5
- Class: rviz/Time
Experimental: false
Name: Time
SyncMode: 0
SyncSource: PointCloud2
Visualization Manager:
Class: ""
Displays:
- Alpha: 0.5
Cell Size: 1
Class: rviz/Grid
Color: 160; 160; 164
Enabled: true
Line Style:
Line Width: 0.0299999993
Value: Lines
Name: Grid
Normal Cell Count: 0
Offset:
X: 0
Y: 0
Z: 0
Plane: XY
Plane Cell Count: 10
Reference Frame: <Fixed Frame>
Value: true
- Class: rviz/TF
Enabled: true
Frame Timeout: 15
Frames:
All Enabled: true
velodyne_base:
Value: true
velodyne_example_velodyne:
Value: true
velodyne_example_velodyne_base:
Value: true
Marker Scale: 1
Name: TF
Show Arrows: true
Show Axes: true
Show Names: true
Tree:
velodyne_base:
velodyne_example_velodyne_base:
velodyne_example_velodyne:
{}
Update Interval: 0
Value: true
- Alpha: 1
Class: rviz/RobotModel
Collision Enabled: false
Enabled: true
Links:
All Links Enabled: true
Expand Joint Details: false
Expand Link Details: false
Expand Tree: false
Link Tree Style: Links in Alphabetic Order
velodyne_base:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
velodyne_example_velodyne:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
velodyne_example_velodyne_base:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
Name: RobotModel
Robot Description: robot_description
TF Prefix: ""
Update Interval: 0
Value: true
Visual Enabled: true
- Alpha: 1
Autocompute Intensity Bounds: true
Autocompute Value Bounds:
Max Value: 10
Min Value: -10
Value: true
Axis: Z
Channel Name: intensity
Class: rviz/PointCloud2
Color: 255; 255; 255
Color Transformer: Intensity
Decay Time: 0
Enabled: true
Invert Rainbow: false
Max Color: 255; 255; 255
Max Intensity: 239
Min Color: 0; 0; 0
Min Intensity: 1
Name: PointCloud2
Position Transformer: XYZ
Queue Size: 10
Selectable: true
Size (Pixels): 3
Size (m): 0.00999999978
Style: Flat Squares
Topic: /velodyne_points
Unreliable: false
Use Fixed Frame: true
Use rainbow: true
Value: true
Enabled: true
Global Options:
Background Color: 48; 48; 48
Default Light: true
Fixed Frame: velodyne_base
Frame Rate: 30
Name: root
Tools:
- Class: rviz/Interact
Hide Inactive Objects: true
- Class: rviz/MoveCamera
- Class: rviz/Select
- Class: rviz/FocusCamera
- Class: rviz/Measure
- Class: rviz/SetInitialPose
Topic: /initialpose
- Class: rviz/SetGoal
Topic: /move_base_simple/goal
- Class: rviz/PublishPoint
Single click: true
Topic: /clicked_point
Value: true
Views:
Current:
Class: rviz/Orbit
Distance: 10
Enable Stereo Rendering:
Stereo Eye Separation: 0.0599999987
Stereo Focal Distance: 1
Swap Stereo Eyes: false
Value: false
Focal Point:
X: 0
Y: 0
Z: 0
Focal Shape Fixed Size: false
Focal Shape Size: 0.0500000007
Invert Z Axis: false
Name: Current View
Near Clip Distance: 0.00999999978
Pitch: 0.785398185
Target Frame: <Fixed Frame>
Value: Orbit (rviz)
Yaw: 0.785398185
Saved: ~
Window Geometry:
Displays:
collapsed: false
Height: 804
Hide Left Dock: false
Hide Right Dock: false
QMainWindow State: 000000ff00000000fd00000004000000000000016a000002defc0200000008fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000006100fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c0061007900730100000028000002de000000d700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261000000010000010f000002c4fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a005600690065007700730000000028000002c4000000ad00fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000004b00000003efc0100000002fb0000000800540069006d00650000000000000004b00000030000fffffffb0000000800540069006d00650100000000000004500000000000000000000003a9000002de00000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
Selection:
collapsed: false
Time:
collapsed: false
Tool Properties:
collapsed: false
Views:
collapsed: false
Width: 1305
X: 65
Y: 24
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment