Skip to content

Commit

Permalink
use ddynamic_reconfigure and support D435i (#535)
Browse files Browse the repository at this point in the history
Add dynamic dynamic reconfigure. That means there are no longer differences in the code between D415, D430, SR300.

Add dynamic options for filters

Add support for camera D435i.

Add clipping_disance option. enabled with parameter: clip_distance. units: meters. Default: no clipping.
Add linear accel covariance - Default: 0.01
Add option: unite_imu - send linear acceleration and radial velocity in the same Imu message. Default: True

Add parameter: hold_back_imu_for_frames. If set to true, hold imu messages that arrived while manipulating frames, until frames are actually sent.

Comply with librealsense v2.17.0

Add opensource_tracking.launch - demo that runs realsense2_camera, imu_filter_madgwick, rtabmap and robot_localization to demonstrate Slam with realsense D435i

Set accel_fps to 250 as this is the new maximal rate in librealsense v2.17.0

* Add NOTICE file, to emphasize the contribution of the ddynamic_reconfigure project.

Known Issue: Option for toggling sensor on and off while running is missing.
  • Loading branch information
doronhi authored Dec 13, 2018
1 parent ab34e1f commit eb46122
Show file tree
Hide file tree
Showing 67 changed files with 4,332 additions and 1,050 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@
*.ini
.idea/
.vs/
*.json
5 changes: 4 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,10 @@ install:
- sudo apt-get install ros-kinetic-diagnostic-updater -y
- source ~/.bashrc
- mkdir -p ~/catkin_ws/src/realsense


# download ddynamic_reconfigure:
- git clone -v --progress https://github.com/awesomebytes/ddynamic_reconfigure.git

# install realsense2-camera
- mv * ~/catkin_ws/src/realsense/ # This leaves behind .git, .gitignore and .travis.yml but no matter.
- cd ~/catkin_ws/src/
Expand Down
4 changes: 4 additions & 0 deletions NOTICE
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
This project uses code from the following third-party projects, listed here
with the full text of their respective licenses.

ddynamic_reconfigure (BSD) - https://github.com/awesomebytes/ddynamic_reconfigure
2 changes: 2 additions & 0 deletions ddynamic_reconfigure/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*~
*user
65 changes: 65 additions & 0 deletions ddynamic_reconfigure/CHANGELOG.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Changelog for package ddynamic_reconfigure
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

0.0.6 (2018-07-02)
------------------
* Recreated classes to enable OOD (adding more param types will be easy)
* Added string and enum support
* generalised the callback
You can now look into the new values with the current callback format.
* Level support added.
* Added unit-tests for all param classes.
* Added unit-tests for value class.
* Upgraded fake-server test & removed bool-server test (obsolete).
* Added description support.
* Added stream (<<) operator to ddynamic and its params.
* Contributors: Noam Dori

0.0.5 (2016-04-14)
------------------
* Merge branch 'user-callback' into 'dubnium-devel'
User callback
Remember that we have to re release everyone who depends on this since it breaks API.
See merge request !1
* Add test for double param
* Add hack to have namespaced DdynamicReconfigure, for easier migration
* Add user callback and unit tests
* Migrate package to format 2
* Contributors: Hilario Tome, Victor Lopez

0.0.4 (2016-03-07)
------------------
* Added destructor, fixed bug
* Added to dynamic reconfigure to parse from param server the initial value if it is availlable
* Contributors: Hilario Tome

0.0.3 (2015-06-10)
------------------
* Added license and documentation
* Contributors: Hilario Tome

0.0.2 (2015-05-25)
------------------
* Added min and max value specification when registering a variable
* Contributors: Hilario Tome

0.0.1 (2015-01-26)
------------------
* fix author, mantainer
* move ddynamic reconfigure to standalone repo
* Prepare ddynamic_reconfigure for standalone package
* Added safe header
* Added test folder
* Fixed a bug when generating the config description, the int vector was being used in the bool part
* Added typedef for ddreconfigure
* Bug fix, now the parameters can be seen in dynamic reconfigure even if they have changed from c++
* Updated DDynamic reconfigure to published updated values persistently
* Added working momentum task
* Fixed bug, wrong return statement
* Fixed export
* Fixed bug in ddynamic reconfigure and its CmakeFile
* Minor changes to add the abstract reference to the goto dynamic tasks
* Dynamics wbc is working again (Really slowly with uquadprog) visualization of torques and partially of forces (also partial force integration)
* Added DDyanmic_reconfigure package, a way to have dynamic reconfigure functionality without a cfg
* Contributors: Hilario Tome, Luca Marchionni
77 changes: 77 additions & 0 deletions ddynamic_reconfigure/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
cmake_minimum_required(VERSION 2.8.3)
project(ddynamic_reconfigure)

find_package(catkin REQUIRED COMPONENTS roscpp message_generation)

set(CMAKE_CXX_STANDARD 98)

##############
## Services ##
##############

add_service_files(DIRECTORY test FILES TutorialParams.srv)
generate_messages(DEPENDENCIES std_msgs)

############
## Catkin ##
############

catkin_package(INCLUDE_DIRS include LIBRARIES ${PROJECT_NAME} CATKIN_DEPENDS)

#############
## Library ##
#############

include_directories(include ${catkin_INCLUDE_DIRS})
add_library(${PROJECT_NAME}
src/ddynamic_reconfigure.cpp
include/ddynamic_reconfigure/dd_param.h
src/param/dd_int_param.cpp
include/ddynamic_reconfigure/dd_value.h
src/param/dd_double_param.cpp
src/param/dd_bool_param.cpp
src/param/dd_string_param.cpp
src/param/dd_enum_param.cpp
include/ddynamic_reconfigure/param/dd_all_params.h src/dd_param.cpp)
target_link_libraries(${PROJECT_NAME} ${catkin_LIBRARIES})

#############
## Install ##
#############

install(TARGETS ${PROJECT_NAME}
ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION})

install(DIRECTORY include/${PROJECT_NAME}/ DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION})

#############
## Testing ##
#############

if (CATKIN_ENABLE_TESTING)
find_package(rostest REQUIRED)

## DDynamic tester
add_rostest_gtest(ddynamic_reconfigure-test test/ddynamic_reconfigure.test test/test_ddynamic_reconfigure.cpp)
target_link_libraries(ddynamic_reconfigure-test ${PROJECT_NAME})

## DDParam tester
foreach (param_type int double bool string enum)
add_rostest_gtest(dd_${param_type}-test test/dd_param/dd_${param_type}.test test/dd_param/test_dd_${param_type}.cpp)
target_link_libraries(dd_${param_type}-test ${PROJECT_NAME})
endforeach ()

## DDValue tester
add_rostest_gtest(dd_value-test test/dd_value.test test/test_dd_value.cpp)
target_link_libraries(dd_value-test ${PROJECT_NAME})

## Full scale tester
add_executable(dd_server test/dd_full_scale/dd_server.cpp)
target_link_libraries(dd_server ${PROJECT_NAME} ${catkin_LIBRARIES})
add_dependencies(dd_server ${PROJECT_NAME}_gencpp)

add_rostest_gtest(dd_full_scale-test test/dd_full_scale/dd_full_scale.test test/dd_full_scale/dd_client.cpp)
target_link_libraries(dd_full_scale-test ${PROJECT_NAME})
endif(CATKIN_ENABLE_TESTING)
Loading

0 comments on commit eb46122

Please sign in to comment.