Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
* Add new zed_interfaces package

* Removed "world_frame"

* removed "_m" from parameters

* Remove publish_pose_covariance parameter

* - Rename `depth_resample_factor` to `depth_downsample_factor`
- Rename `img_resample_factor` to `img_downsample_factor`

* Rename `odometry_db` to `area_memory_db_path`

* Update Changelog

* Support for Textureness Depth Threshold

* Minor fixes

* ZED2 sensors frames

* Improved warning message for missing TF transforms

* Minor fixes

* Minor fix

* Feat gray images (stereolabs#532)

* Improved warning message for missing TF transforms
* Minor fixes
* Add gray images publishing
* Gray image publishing correctly working

* Camera IMU transform publisher

* Left Camera to IMU transform new topic name `left_camera_imu_transform`

* Default value for depth_confidence to 50

* Propagate `base_frame` parameter in the Xacro description

* Fix zed_no_tf.launch

* Add support for new Sensor Information info structures
Add support for new extrinsic parameters in ROS frame

* Update LICENSE

* Add separated publishing frequency for Video and Depth data
Add new publishing frequency info to diagnostic
Add new publishing frequency to dynamic parameters

* Solve conflicts
  • Loading branch information
Myzhar authored Mar 10, 2020
1 parent 12cb32f commit 680c09e
Show file tree
Hide file tree
Showing 35 changed files with 995 additions and 518 deletions.
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2018 Stereolabs
Copyright (c) 2020 Stereolabs

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
20 changes: 19 additions & 1 deletion latest_changes.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,25 @@
LATEST CHANGES
==============

v3.1
-----
- Added new package `zed_interfaces` with isolated declarations of custom messages, services and actions
- Removed not used `world_frame` parameter
- Removed the`publish_pose_covariance` parameter, now covariance for pose and odometry is always published
- Removed `_m` from parameters `mapping/resolution_m` and `mapping/max_mapping_range_m`
- Renamed the parameter `depth_resample_factor` to `depth_downsample_factor`
- Renamed the parameter `img_resample_factor` to `img_downsample_factor`
- Renamed the parameter `odometry_db` to `area_memory_db_path`
- Renamed the parameter `frame_rate` to `grab_frame_rate`
- Added new dynamic parameter `pub_frame_rate` to reduce Video and Depth publishing frequency respect to grabbing frame rate [`grab_frame_rate`]
- Added new dynamic parameter `gamma` for Gamma Control
- Added new dynamic parameter `depth_texture_conf` to filter depth according to textureness information
- Added new TF frames for all the sensors available on ZED2
- Added publishers for gray images
- Added publisher for Camera to IMU transform: `/<camera_name>/<node_name>/camera_imu_transform`
- Default value for `depth_confidence` changed from 100 to 50
- Added `base_frame` as launch parameter to propagate the value of the parameter in the Xacro description

Bug fix (2020-03-06)
--------------------
- Fix default value for dynamic parameters not set from `common.yaml`
Expand All @@ -24,7 +43,6 @@ XACRO and more (2020-01-31)
- Added new parameter `depth/map_resample_factor`
- Updated the names for the parameters of the Object Detection module [only ZED2]


SDK v3.0 (2020-01-27)
---------------------
- Added a new repository [`zed-ros-examples`](https://github.com/stereolabs/zed-ros-examples) to keep separated the main ZED Wrapper node from Examples and Tutorials. A clean robot installation is now allowed
Expand Down
62 changes: 62 additions & 0 deletions zed_interfaces/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
cmake_minimum_required(VERSION 2.8.7)

project(zed_interfaces)

find_package(catkin REQUIRED COMPONENTS
std_msgs
geometry_msgs
#actionlib_msgs
message_generation
)

add_message_files(
DIRECTORY msg
FILES
object_stamped.msg
objects.msg
)

#add_action_files(DIRECTORY action FILES act.action)

add_service_files(
DIRECTORY srv
FILES
set_pose.srv
reset_odometry.srv
reset_tracking.srv
start_svo_recording.srv
stop_svo_recording.srv
start_remote_stream.srv
stop_remote_stream.srv
set_led_status.srv
toggle_led.srv
start_3d_mapping.srv
stop_3d_mapping.srv
start_object_detection.srv
stop_object_detection.srv
)

generate_messages(
DEPENDENCIES
#actionlib_msgs
std_msgs
geometry_msgs
)

catkin_package(
INCLUDE_DIRS include
CATKIN_DEPENDS
message_generation
std_msgs
geometry_msgs
#actionlib_msgs
)

###############################################################################

#Add all files in subdirectories of the project in
# a dummy_target so qtcreator have access to all files
FILE(GLOB_RECURSE all_files ${CMAKE_SOURCE_DIR}/*)
add_custom_target(all_files_${PROJECT_NAME} SOURCES ${all_files})


Empty file added zed_interfaces/include/foo
Empty file.
File renamed without changes.
File renamed without changes.
27 changes: 27 additions & 0 deletions zed_interfaces/package.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
<?xml version="1.0"?>
<package format="2">
<name>zed_interfaces</name>
<version>3.1.0</version>
<description>zed_interfaces is a packages that defines custom messages, services and actions used by the
zed-ros-wrapper package and other packages.</description>

<maintainer email="support@stereolabs.com">STEREOLABS</maintainer>
<license>MIT</license>

<url type="website">http://stereolabs.com/</url>
<url type="repository">https://github.com/stereolabs/zed-ros-wrapper</url>
<url type="bugtracker">https://github.com/stereolabs/zed-ros-wrapper/issues</url>

<buildtool_depend>catkin</buildtool_depend>

<build_depend>std_msgs</build_depend>
<build_depend>actionlib_msgs</build_depend>
<build_depend>geometry_msgs</build_depend>
<build_depend>message_generation</build_depend>

<exec_depend>std_msgs</exec_depend>
<exec_depend>actionlib_msgs</exec_depend>
<exec_depend>geometry_msgs</exec_depend>
<exec_depend>message_generation</exec_depend>

</package>
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
38 changes: 7 additions & 31 deletions zed_wrapper/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,9 @@ find_package(catkin COMPONENTS
tf2_ros
nodelet
tf2_geometry_msgs
message_generation
diagnostic_updater
diagnostic_updater
roslint
zed_interfaces
)

checkPackage("image_transport" "")
Expand All @@ -64,33 +64,6 @@ checkPackage("dynamic_reconfigure" "")
checkPackage("tf2_ros" "")
checkPackage("nodelet" "")
checkPackage("tf2_geometry_msgs" "")
checkPackage("message_generation" "")

add_message_files( FILES
object_stamped.msg
objects.msg
)

add_service_files( FILES
set_pose.srv
reset_odometry.srv
reset_tracking.srv
start_svo_recording.srv
stop_svo_recording.srv
start_remote_stream.srv
stop_remote_stream.srv
set_led_status.srv
toggle_led.srv
start_3d_mapping.srv
stop_3d_mapping.srv
start_object_detection.srv
stop_object_detection.srv
)

generate_messages(DEPENDENCIES
std_msgs
geometry_msgs
)

generate_dynamic_reconfigure_options(
cfg/Zed.cfg
Expand All @@ -107,6 +80,7 @@ catkin_package(
tf2_ros
tf2_geometry_msgs
message_runtime
zed_interfaces
)

###############################################################################
Expand Down Expand Up @@ -147,11 +121,13 @@ set(LINK_LIBRARIES

add_library(ZEDWrapper ${TOOLS_SRC} ${NODELET_SRC})
target_link_libraries(ZEDWrapper ${LINK_LIBRARIES})
add_dependencies(ZEDWrapper ${${PROJECT_NAME}_EXPORTED_TARGETS} ${PROJECT_NAME}_gencfg)
add_dependencies(ZEDWrapper ${catkin_EXPORTED_TARGETS})
add_dependencies(ZEDWrapper ${PROJECT_NAME}_gencfg)

add_executable(zed_wrapper_node ${NODE_SRC})
target_link_libraries(zed_wrapper_node ZEDWrapper ${LINK_LIBRARIES})
add_dependencies(zed_wrapper_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${PROJECT_NAME}_gencfg)
add_dependencies(zed_wrapper_node ${catkin_EXPORTED_TARGETS})
add_dependencies(zed_wrapper_node ${PROJECT_NAME}_gencfg)

###############################################################################

Expand Down
29 changes: 15 additions & 14 deletions zed_wrapper/cfg/Zed.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -6,23 +6,24 @@ from dynamic_reconfigure.parameter_generator_catkin import *
gen = ParameterGenerator()

group_general = gen.add_group("general")
group_general.add("pub_frame_rate", double_t, 0, "Video and Depth data frequency", 15.0, 0.1, 60.0);

group_depth = gen.add_group("depth")
group_depth.add("depth_confidence", int_t, 1, "Depth onfidence threshold, the lower the better", 50, 1, 100)
group_depth.add("point_cloud_freq", double_t, 2, "Point cloud frequency", 15.0, 0.1, 60.0);
group_depth.add("depth_confidence", int_t, 1, "Depth confidence threshold", 50, 1, 100)
group_depth.add("depth_texture_conf", int_t, 2, "Texture confidence threshold", 100, 1, 100)
group_depth.add("point_cloud_freq", double_t, 3, "Point cloud frequency", 15.0, 0.1, 60.0);

group_video = gen.add_group("video")
group_video.add("brightness", int_t, 3, "Defines the brightness control", 4, 0, 8);
group_video.add("contrast", int_t, 4, "Defines the contrast control", 4, 0, 8);
group_video.add("hue", int_t, 5, "Defines the hue control", 0, 0, 11);
group_video.add("saturation", int_t, 6, "Defines the saturation control", 4, 0, 8);
group_video.add("sharpness", int_t, 7, "Defines the digital sharpness control", 4, 0, 8);
group_video.add("gamma", int_t, 8, "Defines the gamma control", 8, 1, 9);
group_video.add("auto_exposure_gain", bool_t, 9, "Defines if the Gain and Exposure are in automatic mode or not", True);
group_video.add("gain", int_t, 10, "Defines the gain control", 100, 0, 100);
group_video.add("exposure", int_t, 11, "Defines the exposure control", 100, 0, 100);
group_video.add("auto_whitebalance", bool_t, 12, "Defines if the White balance is in automatic mode or not", True);
group_video.add("whitebalance_temperature", int_t, 13, "Defines the color temperature value (x100)", 42, 28, 65);
group_video.add("brightness", int_t, 4, "Defines the brightness control", 4, 0, 8);
group_video.add("contrast", int_t, 5, "Defines the contrast control", 4, 0, 8);
group_video.add("hue", int_t, 6, "Defines the hue control", 0, 0, 11);
group_video.add("saturation", int_t, 7, "Defines the saturation control", 4, 0, 8);
group_video.add("sharpness", int_t, 8, "Defines the digital sharpness control", 4, 0, 8);
group_video.add("gamma", int_t, 9, "Defines the gamma control", 8, 1, 9);
group_video.add("auto_exposure_gain", bool_t, 10, "Defines if the Gain and Exposure are in automatic mode or not", True);
group_video.add("gain", int_t, 11, "Defines the gain control", 100, 0, 100);
group_video.add("exposure", int_t, 12, "Defines the exposure control", 100, 0, 100);
group_video.add("auto_whitebalance", bool_t, 13, "Defines if the White balance is in automatic mode or not", True);
group_video.add("whitebalance_temperature", int_t, 14, "Defines the color temperature value (x100)", 42, 28, 65);

exit(gen.generate(PACKAGE, "zed_wrapper", "Zed"))

3 changes: 3 additions & 0 deletions zed_wrapper/launch/zed.launch
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

<arg name="camera_name" default="zed" />

<arg name="base_frame" default="base_link" />

<arg name="cam_pos_x" default="0.0" /> <!-- Position respect to base frame (i.e. "base_link) -->
<arg name="cam_pos_y" default="0.0" /> <!-- Position respect to base frame (i.e. "base_link) -->
<arg name="cam_pos_z" default="0.0" /> <!-- Position respect to base frame (i.e. "base_link) -->
Expand All @@ -40,6 +42,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<arg name="stream" value="$(arg stream)" />
<arg name="node_name" value="$(arg node_name)" />
<arg name="camera_model" value="$(arg camera_model)" />
<arg name="base_frame" value="$(arg base_frame)" />
<arg name="publish_urdf" value="$(arg publish_urdf)" />
<arg name="cam_pos_x" value="$(arg cam_pos_x)" />
<arg name="cam_pos_y" value="$(arg cam_pos_y)" />
Expand Down
3 changes: 3 additions & 0 deletions zed_wrapper/launch/zed2.launch
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

<arg name="camera_name" default="zed2" />

<arg name="base_frame" default="base_link" />

<arg name="cam_pos_x" default="0.0" /> <!-- Position respect to base frame (i.e. "base_link) -->
<arg name="cam_pos_y" default="0.0" /> <!-- Position respect to base frame (i.e. "base_link) -->
<arg name="cam_pos_z" default="0.0" /> <!-- Position respect to base frame (i.e. "base_link) -->
Expand All @@ -40,6 +42,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<arg name="stream" value="$(arg stream)" />
<arg name="node_name" value="$(arg node_name)" />
<arg name="camera_model" value="$(arg camera_model)" />
<arg name="base_frame" value="$(arg base_frame)" />
<arg name="publish_urdf" value="$(arg publish_urdf)" />
<arg name="cam_pos_x" value="$(arg cam_pos_x)" />
<arg name="cam_pos_y" value="$(arg cam_pos_y)" />
Expand Down
7 changes: 7 additions & 0 deletions zed_wrapper/launch/zed_camera.launch
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,9 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<!-- Remote stream -->
<arg name="stream" default="" /> <!-- <arg name="stream" default="<ip_address>:<port>"> -->

<!-- Base frame -->
<arg name="base_frame" default="base_link" />

<!-- Publish ZED urdf -->
<arg name="publish_urdf" default="true" />

Expand All @@ -49,6 +52,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
command="$(find xacro)/xacro '$(find zed_wrapper)/urdf/zed_descr.urdf.xacro'
camera_name:=$(arg camera_name)
camera_model:=$(arg camera_model)
base_frame:=$(arg base_frame)
cam_pos_x:=$(arg cam_pos_x)
cam_pos_y:=$(arg cam_pos_y)
cam_pos_z:=$(arg cam_pos_z)
Expand All @@ -69,6 +73,9 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<!-- Camera name -->
<param name="general/camera_name" value="$(arg camera_name)" />

<!-- Base frame -->
<param name="general/base_frame" value="$(arg base_frame)" />

<!-- SVO file path -->
<param name="svo_file" value="$(arg svo_file)" />

Expand Down
Loading

0 comments on commit 680c09e

Please sign in to comment.