├── .gitignore ├── .travis.yml ├── LICENSE ├── README.md ├── rtt_actionlib ├── CHANGELOG.rst ├── CMakeLists.txt ├── README.md ├── include │ └── rtt_actionlib │ │ ├── rtt_action_server.h │ │ ├── rtt_actionlib.h │ │ └── rtt_simple_action_server.h ├── package.xml └── src │ └── rtt_actionlib_service.cpp ├── rtt_dynamic_reconfigure ├── CHANGELOG.rst ├── CMakeLists.txt ├── README.md ├── include │ └── orocos │ │ └── rtt_dynamic_reconfigure │ │ ├── auto_config.h │ │ └── server.h ├── package.xml └── src │ ├── auto_config.cpp │ └── reconfigure_service.cpp ├── rtt_ros ├── CHANGELOG.rst ├── CMakeLists.txt ├── README.md ├── cmake │ └── rtt_ros-extras.cmake.in ├── include │ └── rtt_ros │ │ └── rtt_ros.h ├── launch │ ├── deployer.launch │ └── rttlua.launch ├── package.xml ├── scripts │ ├── corba-naming-service │ ├── deployer │ ├── deployer-corba │ ├── deployer-corba-debug │ ├── deployer-debug │ ├── orocreate-pkg │ ├── orogen │ ├── orogen-unregister │ ├── rtt-upgrade-2.5 │ ├── rttlua │ ├── rttlua-debug │ ├── rttlua-screen │ ├── rttlua-tlsf │ ├── rttscript │ └── typegen └── src │ ├── orocos │ └── types │ │ ├── ros_float32_type.cpp │ │ ├── ros_float64_type.cpp │ │ ├── ros_int16_type.cpp │ │ ├── ros_int32_type.cpp │ │ ├── ros_int64_type.cpp │ │ ├── ros_int8_type.cpp │ │ ├── ros_primitives_typekit_plugin.cpp │ │ ├── ros_primitives_typekit_plugin.hpp │ │ ├── ros_string_type.cpp │ │ ├── ros_time_type.cpp │ │ ├── ros_uint16_type.cpp │ │ ├── ros_uint32_type.cpp │ │ ├── ros_uint64_type.cpp │ │ └── ros_uint8_type.cpp │ ├── rtt_ros.cpp │ └── rtt_ros_service.cpp ├── rtt_ros_integration ├── CHANGELOG.rst ├── CMakeLists.txt └── package.xml ├── rtt_ros_msgs ├── CHANGELOG.rst ├── CMakeLists.txt ├── package.xml └── srv │ ├── Eval.srv │ ├── GetPeerList.srv │ └── RunScript.srv ├── rtt_rosclock ├── CHANGELOG.rst ├── CMakeLists.txt ├── README.md ├── config │ ├── FindXenomaiPosix.cmake │ └── LibFindMacros.cmake ├── include │ └── rtt_rosclock │ │ ├── rtt_rosclock.h │ │ ├── rtt_rosclock_sim_clock_activity.h │ │ ├── rtt_rosclock_sim_clock_activity_manager.h │ │ └── rtt_rosclock_sim_clock_thread.h ├── package.xml └── src │ ├── rtt_rosclock.cpp │ ├── rtt_rosclock_service.cpp │ ├── rtt_rosclock_sim_clock_activity.cpp │ ├── rtt_rosclock_sim_clock_activity_manager.cpp │ ├── rtt_rosclock_sim_clock_activity_service.cpp │ └── rtt_rosclock_sim_clock_thread.cpp ├── rtt_roscomm ├── CHANGELOG.rst ├── CMakeLists.txt ├── README.md ├── cmake │ └── GenerateRTTROSCommPackage.cmake.em ├── include │ └── rtt_roscomm │ │ ├── rosservice.h │ │ ├── rostopic.h │ │ ├── rtt_rosservice_proxy.h │ │ ├── rtt_rosservice_registry_service.h │ │ ├── rtt_rostopic.h │ │ ├── rtt_rostopic_ros_msg_transporter.hpp │ │ └── rtt_rostopic_ros_publish_activity.hpp ├── package.xml ├── rtt_roscomm_pkg_template │ ├── CATKIN_IGNORE │ ├── CMakeLists.txt │ └── package.xml ├── scripts │ ├── create_boost_header.py │ └── create_rtt_msgs └── src │ ├── rtt_rosservice_registry_service.cpp │ ├── rtt_rosservice_service.cpp │ ├── rtt_rostopic.cpp │ ├── rtt_rostopic_ros_publish_activity.cpp │ ├── rtt_rostopic_service.cpp │ └── templates │ ├── service │ ├── CMakeLists.txt │ └── rtt_rosservice_proxies.cpp.in │ └── typekit │ ├── CMakeLists.txt │ ├── Types.h.in │ ├── Types.hpp.in │ ├── msg_Types.hpp.in │ ├── ros_msg_corba_conversion.hpp.in │ ├── ros_msg_typekit_plugin.cpp.in │ ├── ros_package_transport.cpp.in │ ├── ros_package_transport_corba.cpp.in │ ├── ros_package_transport_mqueue.cpp.in │ └── ros_package_typekit.cpp.in ├── rtt_rosdeployment ├── CHANGELOG.rst ├── CMakeLists.txt ├── README.md ├── package.xml └── src │ └── rtt_rosdeployment_service.cpp ├── rtt_rosnode ├── CHANGELOG.rst ├── CMakeLists.txt ├── package.xml └── src │ └── ros_plugin.cpp ├── rtt_rospack ├── CHANGELOG.rst ├── CMakeLists.txt ├── README.md ├── package.xml └── src │ └── rtt_rospack_service.cpp ├── rtt_rosparam ├── CHANGELOG.rst ├── CMakeLists.txt ├── README.md ├── include │ └── rtt_rosparam │ │ ├── ros_param_data_source.hpp │ │ └── rosparam.h ├── package.xml └── src │ └── rtt_rosparam_service.cpp ├── rtt_tf ├── CHANGELOG.rst ├── CMakeLists.txt ├── README.md ├── include │ └── rtt_tf │ │ └── tf_interface.h ├── package.xml ├── rtt_tf-component.cpp ├── rtt_tf-component.hpp ├── test.ops └── tests │ ├── broadcaster_test.cpp │ └── lookup_test.cpp ├── tests ├── rtt_dynamic_reconfigure_tests │ ├── CHANGELOG.rst │ ├── CMakeLists.txt │ ├── cfg │ │ └── Test.cfg │ ├── package.xml │ └── test │ │ ├── rtt_dynamic_reconfigure_tests.cpp │ │ ├── service.cpp │ │ ├── test_component.cpp │ │ └── test_component.hpp ├── rtt_ros_tests │ ├── CHANGELOG.rst │ ├── CMakeLists.txt │ ├── package.xml │ └── test │ │ └── api_tests.cpp ├── rtt_rosbuild_tests │ ├── CMakeLists.txt │ ├── Makefile │ ├── manifest.xml │ ├── msg │ │ └── String.msg │ ├── scripts │ │ ├── test_rtt_ros_rosbuild │ │ └── test_rtt_ros_rosbuild.ops │ ├── src │ │ └── component.cpp │ └── typekit │ │ └── CMakeLists.txt ├── rtt_roscomm_tests │ ├── CHANGELOG.rst │ ├── CMakeLists.txt │ ├── package.xml │ └── test │ │ ├── api_tests.cpp │ │ ├── create_rtt_msgs │ │ ├── my_msgs │ │ │ ├── CATKIN_IGNORE │ │ │ ├── CMakeLists.txt │ │ │ ├── msg │ │ │ │ ├── m1.msg │ │ │ │ ├── m2.msg │ │ │ │ ├── m3.msg │ │ │ │ └── m4.msg │ │ │ ├── package.xml │ │ │ └── srv │ │ │ │ └── s1.srv │ │ ├── test_create_rtt_msgs.sh │ │ └── test_create_rtt_msgs.xml │ │ ├── transport_tests.cpp │ │ └── transport_tests.test ├── rtt_rospack_tests │ ├── CHANGELOG.rst │ ├── CMakeLists.txt │ ├── package.xml │ └── test │ │ └── api_tests.cpp └── rtt_rosparam_tests │ ├── CHANGELOG.rst │ ├── CMakeLists.txt │ ├── package.xml │ └── test │ ├── param_tests.cpp │ └── param_tests.test └── typekits ├── rtt_actionlib_msgs ├── CHANGELOG.rst ├── CMakeLists.txt └── package.xml ├── rtt_common_msgs ├── CHANGELOG.rst ├── CMakeLists.txt └── package.xml ├── rtt_diagnostic_msgs ├── CHANGELOG.rst ├── CMakeLists.txt └── package.xml ├── rtt_geometry_msgs ├── CHANGELOG.rst ├── CMakeLists.txt └── package.xml ├── rtt_kdl_conversions ├── CHANGELOG.rst ├── CMakeLists.txt ├── kdl_conversions-types.cpp ├── lua │ └── kdl_conversions.lua └── package.xml ├── rtt_nav_msgs ├── CHANGELOG.rst ├── CMakeLists.txt └── package.xml ├── rtt_ros_comm ├── CHANGELOG.rst ├── CMakeLists.txt └── package.xml ├── rtt_rosgraph_msgs ├── CHANGELOG.rst ├── CMakeLists.txt └── package.xml ├── rtt_sensor_msgs ├── CHANGELOG.rst ├── CMakeLists.txt └── package.xml ├── rtt_shape_msgs ├── CHANGELOG.rst ├── CMakeLists.txt └── package.xml ├── rtt_std_msgs ├── CHANGELOG.rst ├── CMakeLists.txt ├── include │ └── orocos │ │ └── std_msgs │ │ └── vector_multi_array_adapter.h ├── package.xml └── src │ └── ros_primitives_transport_plugin.cpp ├── rtt_std_srvs ├── CHANGELOG.rst ├── CMakeLists.txt ├── include │ └── rtt_std_srvs │ │ ├── Empty.h │ │ ├── SetBool.h │ │ └── Trigger.h └── package.xml ├── rtt_stereo_msgs ├── CHANGELOG.rst ├── CMakeLists.txt └── package.xml ├── rtt_tf2_msgs ├── CMakeLists.txt └── package.xml ├── rtt_trajectory_msgs ├── CHANGELOG.rst ├── CMakeLists.txt └── package.xml └── rtt_visualization_msgs ├── CHANGELOG.rst ├── CMakeLists.txt └── package.xml /.gitignore: -------------------------------------------------------------------------------- 1 | # Orocos-specific files that are commonly left in the current working directory: 2 | orocos.log 3 | .tb_history 4 | 5 | # QtCreator project settings file 6 | *.user 7 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | # This config uses industrial_ci (https://github.com/ros-industrial/industrial_ci.git). 2 | # For troubleshooting, see readme (https://github.com/ros-industrial/industrial_ci/blob/master/README.rst) 3 | 4 | language: generic # optional, just removes the language badge 5 | 6 | services: 7 | - docker 8 | 9 | # include the following block if the C/C++ build artifacts should get cached by Travis, 10 | # CCACHE_DIR needs to get set as well to actually fill the cache 11 | cache: 12 | directories: 13 | - $HOME/.ccache 14 | 15 | git: 16 | quiet: true # optional, silences the cloning of the target repository 17 | 18 | # limit automatic builds to certain branches (and pull requests) 19 | branches: 20 | only: 21 | - master 22 | - /^toolchain-[\d\.]+[\d]$/ 23 | 24 | # configure the build environment(s) 25 | # https://github.com/ros-industrial/industrial_ci/blob/master/doc/index.rst#variables-you-can-configure 26 | env: 27 | global: # global settings for all jobs 28 | - ROS_REPO=ros 29 | - CCACHE_DIR=$HOME/.ccache # enables C/C++ caching in industrial_ci 30 | matrix: # each line is a job 31 | - ROS_DISTRO="kinetic" 32 | #- ROS_DISTRO="melodic" 33 | 34 | # allow failures, e.g. for unsupported distros 35 | #matrix: 36 | # allow_failures: 37 | # - env: ROS_DISTRO="lunar" ROS_REPO=ros-shadow-fixed 38 | 39 | # clone and run industrial_ci 40 | install: 41 | - git clone --quiet --depth 1 https://github.com/ros-industrial/industrial_ci.git .industrial_ci 42 | script: 43 | - .industrial_ci/travis.sh 44 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2010, KU Leuven, Intermodalics BVBA and contributors 2 | 3 | Redistribution and use in source and binary forms, with or without modification, 4 | are permitted provided that the following conditions are met: 5 | 6 | 1. Redistributions of source code must retain the above copyright notice, this 7 | list of conditions and the following disclaimer. 8 | 9 | 2. Redistributions in binary form must reproduce the above copyright notice, 10 | this list of conditions and the following disclaimer in the documentation 11 | and/or other materials provided with the distribution. 12 | 13 | 3. Neither the name of the copyright holder nor the names of its contributors 14 | may be used to endorse or promote products derived from this software without 15 | specific prior written permission. 16 | 17 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 18 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 19 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 20 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR 21 | ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 22 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 23 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 24 | ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 26 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- /rtt_actionlib/CHANGELOG.rst: -------------------------------------------------------------------------------- 1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2 | Changelog for package rtt_actionlib 3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 4 | 5 | 2.9.2 (2019-05-15) 6 | ------------------ 7 | 8 | 2.9.1 (2017-11-16) 9 | ------------------ 10 | 11 | 2.9.0 (2017-05-02) 12 | ------------------ 13 | * Added deprecation warning for header rtt_roscomm/rtt_rostopic.h and updated some include directives within rtt_ros_integration 14 | * Added individual changelogs and bumped versions to 2.9.0 15 | * Contributors: Johannes Meyer 16 | 17 | 2.8.6 (2017-11-15) 18 | ------------------ 19 | 20 | 2.8.5 (2017-03-28) 21 | ------------------ 22 | 23 | 2.8.4 (2016-11-26) 24 | ------------------ 25 | 26 | 2.8.3 (2016-07-20) 27 | ------------------ 28 | 29 | 2.8.2 (2015-06-12) 30 | ------------------ 31 | * see `rtt_ros_integratoin/CHANGELOG.rst <../rtt_ros_integration/CHANGELOG.rst>`_ 32 | -------------------------------------------------------------------------------- /rtt_actionlib/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(rtt_actionlib) 3 | 4 | find_package(catkin REQUIRED COMPONENTS 5 | roscpp rtt_ros actionlib rtt_roscomm) 6 | 7 | include_directories( 8 | include 9 | ${catkin_INCLUDE_DIRS} 10 | ${BOOST_INCLUDE_DIRS}) 11 | 12 | # ROS Message / Topic Support 13 | orocos_service(rtt_actionlib_service src/rtt_actionlib_service.cpp) 14 | target_link_libraries(rtt_actionlib_service ${catkin_LIBRARIES}) 15 | 16 | orocos_generate_package( 17 | INCLUDE_DIRS include 18 | DEPENDS roscpp actionlib 19 | DEPENDS_TARGETS rtt_ros rtt_roscomm rtt_rosclock 20 | ) 21 | 22 | orocos_install_headers( 23 | DIRECTORY include/${PROJECT_NAME}/ 24 | ) 25 | -------------------------------------------------------------------------------- /rtt_actionlib/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | rtt_actionlib 4 | 2.9.2 5 | The rtt_actionlib package 6 | Orocos Developers 7 | 8 | BSD 9 | 10 | http://ros.org/wiki/rtt_ros_integration 11 | https://github.com/orocos/rtt_ros_integration/issues 12 | 13 | Jonathan Bohren 14 | 15 | catkin 16 | 17 | rtt_ros 18 | rtt_rosclock 19 | rtt_roscomm 20 | roscpp 21 | actionlib 22 | actionlib_msgs 23 | rtt_actionlib_msgs 24 | 25 | rtt_ros 26 | rtt_rosclock 27 | rtt_roscomm 28 | roscpp 29 | actionlib 30 | actionlib_msgs 31 | rtt_actionlib_msgs 32 | 33 | 34 | 35 | 36 | rtt_roscomm 37 | rtt_actionlib_msgs 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /rtt_dynamic_reconfigure/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(rtt_dynamic_reconfigure) 3 | 4 | find_package(catkin REQUIRED COMPONENTS rtt_ros roscpp dynamic_reconfigure) 5 | 6 | catkin_package( 7 | INCLUDE_DIRS include/ 8 | CATKIN_DEPENDS rtt_ros roscpp dynamic_reconfigure 9 | ) 10 | 11 | include_directories( 12 | BEFORE 13 | ${catkin_INCLUDE_DIRS} 14 | include/orocos 15 | ) 16 | 17 | orocos_library(rtt_dynamic_reconfigure src/auto_config.cpp) 18 | target_link_libraries(rtt_dynamic_reconfigure ${catkin_LIBRARIES}) 19 | 20 | orocos_plugin(rtt_dynamic_reconfigure_service src/reconfigure_service.cpp) 21 | target_link_libraries(rtt_dynamic_reconfigure_service rtt_dynamic_reconfigure) 22 | 23 | install( 24 | DIRECTORY include/ 25 | DESTINATION ${CATKIN_GLOBAL_INCLUDE_DESTINATION} 26 | ) 27 | 28 | orocos_generate_package( 29 | DEPENDS roscpp dynamic_reconfigure 30 | DEPENDS_TARGETS rtt_ros 31 | ) 32 | -------------------------------------------------------------------------------- /rtt_dynamic_reconfigure/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | rtt_dynamic_reconfigure 4 | 2.9.2 5 | The rtt_dynamic_reconfigure package 6 | Orocos Developers 7 | 8 | BSD 9 | 10 | http://ros.org/wiki/rtt_ros_integration 11 | https://github.com/orocos/rtt_ros_integration/issues 12 | 13 | Johannes Meyer 14 | 15 | catkin 16 | 17 | rtt_ros 18 | roscpp 19 | dynamic_reconfigure 20 | 21 | rtt_ros 22 | roscpp 23 | dynamic_reconfigure 24 | rtt_rosnode 25 | 26 | 27 | 28 | 29 | rtt_rosnode 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /rtt_dynamic_reconfigure/src/reconfigure_service.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * (C) 2014, Intermodalics BVBA 3 | * 4 | * Redistribution and use in source and binary forms, with or without 5 | * modification, are permitted provided that the following conditions 6 | * are met: 7 | * 1. Redistributions of source code must retain the above copyright 8 | * notice, this list of conditions and the following disclaimer. 9 | * 2. Redistributions in binary form must reproduce the above copyright 10 | * notice, this list of conditions and the following disclaimer in the 11 | * documentation and/or other materials provided with the distribution. 12 | * 3. Neither the name of the copyright holder nor the names of its contributors 13 | * may be used to endorse or promote products derived from this software 14 | * without specific prior written permission. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 17 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 18 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 19 | * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 20 | * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 21 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 22 | * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 23 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 24 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 26 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 27 | * POSSIBILITY OF SUCH DAMAGE. 28 | */ 29 | 30 | #include 31 | #include 32 | 33 | namespace rtt_dynamic_reconfigure { 34 | 35 | typedef Server ReconfigureService; 36 | 37 | } // namespace rtt_dynamic_reconfigure 38 | 39 | using namespace rtt_dynamic_reconfigure; 40 | RTT_DYNAMIC_RECONFIGURE_SERVICE_PLUGIN(AutoConfig, "reconfigure") 41 | -------------------------------------------------------------------------------- /rtt_ros/CHANGELOG.rst: -------------------------------------------------------------------------------- 1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2 | Changelog for package rtt_ros 3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 4 | 5 | 2.9.2 (2019-05-15) 6 | ------------------ 7 | * Merge pull request `#111 `_ from orocos/fix-110 into 2.9.2 8 | * Declare loadROSService() methods as static to fix name clashes (fix `#110 `_) 9 | * Merge pull request `#99 `_ from disRecord/feat/ros-time-type-fix 10 | * Fix ros::time and ros::duration typekit by replacing PrimitiveType with StructType. 11 | * rtt_ros: remove extra semicolon after namespace closing bracket 12 | * Contributors: Johannes Meyer, disRecord 13 | 14 | 2.9.1 (2017-11-16) 15 | ------------------ 16 | 17 | 2.9.0 (2017-05-02) 18 | ------------------ 19 | * rtt_std_msgs: added a transport plugin for ROS primitive types 20 | * Contributors: Johannes Meyer 21 | 22 | 2.8.6 (2017-11-15) 23 | ------------------ 24 | 25 | 2.8.5 (2017-03-28) 26 | ------------------ 27 | * Merge pull request `#85 `_ from meyerj/ros-primitives-transport-indigo-devel 28 | Added a ROS transport plugin for primitive types (indigo-devel) 29 | * Contributors: Johannes Meyer 30 | 31 | 2.8.4 (2016-11-26) 32 | ------------------ 33 | * rtt_ros: fixed comment in rtt_ros/scripts/deployer-corba 34 | * Merge pull request `#40 `_ from ahoarau/corba-deployer 35 | add Corba deployer scripts 36 | * rtt_ros: fixed rttlua.launch for the SCREEN:=false case (fix `#72 `_) 37 | * Contributors: Johannes Meyer, Antoine Hoarau 38 | 39 | 2.8.3 (2016-07-20) 40 | ------------------ 41 | 42 | 2.8.2 (2015-06-12) 43 | ------------------ 44 | 45 | 2.8.1 (2015-03-16) 46 | ------------------ 47 | 48 | 2.7.2 (2015-07-21) 49 | ------------------ 50 | * see `rtt_ros_integratoin/CHANGELOG.rst <../rtt_ros_integration/CHANGELOG.rst>`_ 51 | -------------------------------------------------------------------------------- /rtt_ros/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(rtt_ros) 3 | 4 | find_package(catkin REQUIRED COMPONENTS rostime rospack roslib) 5 | find_package(LibXml2 REQUIRED) 6 | find_package(OROCOS-RTT REQUIRED) 7 | include(${OROCOS-RTT_USE_FILE_PATH}/UseOROCOS-RTT.cmake) 8 | 9 | catkin_package( 10 | CFG_EXTRAS rtt_ros-extras.cmake 11 | ) 12 | 13 | include_directories(include ${catkin_INCLUDE_DIRS} ${LIBXML2_INCLUDE_DIR}) 14 | 15 | add_definitions(-DRTT_COMPONENT) 16 | 17 | orocos_library(rtt_ros src/rtt_ros.cpp) 18 | target_link_libraries(rtt_ros 19 | ${catkin_LIBRARIES} 20 | ${LIBXML2_LIBRARIES} 21 | ) 22 | 23 | orocos_service(rtt_ros_service src/rtt_ros_service.cpp) 24 | target_link_libraries(rtt_ros_service 25 | rtt_ros 26 | ${catkin_LIBRARIES} 27 | ) 28 | 29 | # ROS Primitives typekit 30 | set(CMAKE_BUILD_TYPE MinSizeRel) 31 | orocos_typekit(rtt-ros-primitives-typekit 32 | src/orocos/types/ros_primitives_typekit_plugin.cpp 33 | src/orocos/types/ros_time_type.cpp 34 | src/orocos/types/ros_uint8_type.cpp 35 | src/orocos/types/ros_int8_type.cpp 36 | src/orocos/types/ros_uint16_type.cpp 37 | src/orocos/types/ros_int16_type.cpp 38 | src/orocos/types/ros_uint32_type.cpp 39 | src/orocos/types/ros_int32_type.cpp 40 | src/orocos/types/ros_uint64_type.cpp 41 | src/orocos/types/ros_int64_type.cpp 42 | src/orocos/types/ros_float32_type.cpp 43 | src/orocos/types/ros_float64_type.cpp 44 | src/orocos/types/ros_string_type.cpp) 45 | target_link_libraries(rtt-ros-primitives-typekit ${catkin_LIBRARIES}) 46 | 47 | orocos_generate_package( 48 | INCLUDE_DIRS include 49 | DEPENDS rostime 50 | ) 51 | 52 | install(DIRECTORY scripts/ 53 | USE_SOURCE_PERMISSIONS 54 | DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}) 55 | 56 | install(DIRECTORY launch DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} ) 57 | 58 | orocos_install_headers( 59 | DIRECTORY include/${PROJECT_NAME}/ 60 | ) 61 | -------------------------------------------------------------------------------- /rtt_ros/cmake/rtt_ros-extras.cmake.in: -------------------------------------------------------------------------------- 1 | 2 | macro(use_orocos) 3 | find_package(OROCOS-RTT REQUIRED 4 | COMPONENTS rtt-marshalling rtt-scripting ${ARGN}) 5 | include(${OROCOS-RTT_USE_FILE_PATH}/UseOROCOS-RTT.cmake) 6 | endmacro() 7 | 8 | set(catkin_FOUND True) 9 | 10 | use_orocos() 11 | -------------------------------------------------------------------------------- /rtt_ros/include/rtt_ros/rtt_ros.h: -------------------------------------------------------------------------------- 1 | #ifndef __RTT_ROS_RTT_ROS_H 2 | #define __RTT_ROS_RTT_ROS_H 3 | 4 | #include 5 | 6 | namespace rtt_ros { 7 | 8 | //! Import a ROS package and all of its rtt_ros/plugin_depend dependencies 9 | bool import(const std::string& package); 10 | 11 | } 12 | 13 | #endif // __RTT_ROS_RTT_ROS_H 14 | -------------------------------------------------------------------------------- /rtt_ros/launch/deployer.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 25 | 26 | 27 | 28 | 29 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /rtt_ros/launch/rttlua.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /rtt_ros/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | rtt_ros 4 | 2.9.2 5 | 6 | This package provides an RTT plugin to add a ROS node to the RTT process, 7 | as well as several wrapper scripts to enable roslaunching of orocos 8 | programs. 9 | 10 | Orocos Developers 11 | 12 | BSD 13 | 14 | http://ros.org/wiki/rtt_ros_integration 15 | https://github.com/orocos/rtt_ros_integration/issues 16 | 17 | Ruben Smits 18 | 19 | catkin 20 | 21 | rtt 22 | ocl 23 | rostime 24 | rospack 25 | roslib 26 | libxml2 27 | 28 | rtt 29 | ocl 30 | rostime 31 | rospack 32 | roslib 33 | libxml2 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /rtt_ros/scripts/corba-naming-service: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Wrapper script 4 | 5 | ps cax | grep omniNames > /dev/null 6 | if [ $? -eq 0 ]; then 7 | echo "Process is running." 8 | tao_cosnaming "$@" 9 | else 10 | echo "Process is not running." 11 | tao_cosnaming "$@" 12 | fi 13 | 14 | 15 | -------------------------------------------------------------------------------- /rtt_ros/scripts/deployer: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Wrapper script for the orocos deployer 4 | 5 | deployer "$@" 6 | -------------------------------------------------------------------------------- /rtt_ros/scripts/deployer-corba: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Wrapper script for the orocos deployer-corba 4 | 5 | deployer-corba "$@" 6 | -------------------------------------------------------------------------------- /rtt_ros/scripts/deployer-corba-debug: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Wrapper script for the orocos deployer debug 4 | 5 | # Use gnulinux if orocos target isn't set 6 | OROCOS_TARGET=${OROCOS_TARGET:-gnulinux} 7 | 8 | # Run with gdb 9 | gdb -ex run --args deployer-corba-$OROCOS_TARGET "$@" 10 | -------------------------------------------------------------------------------- /rtt_ros/scripts/deployer-debug: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Wrapper script for the orocos deployer debug 4 | 5 | # Use gnulinux if orocos target isn't set 6 | OROCOS_TARGET=${OROCOS_TARGET:-gnulinux} 7 | 8 | # Run with gdb 9 | gdb -ex run --args deployer-$OROCOS_TARGET "$@" 10 | -------------------------------------------------------------------------------- /rtt_ros/scripts/orocreate-pkg: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Wrapper script 4 | 5 | orocreate-pkg "$@" 6 | -------------------------------------------------------------------------------- /rtt_ros/scripts/orogen: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Wrapper script 4 | 5 | orogen "$@" 6 | -------------------------------------------------------------------------------- /rtt_ros/scripts/orogen-unregister: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Wrapper script 4 | 5 | orogen-unregister "$@" 6 | -------------------------------------------------------------------------------- /rtt_ros/scripts/rtt-upgrade-2.5: -------------------------------------------------------------------------------- 1 | #!/bin/bash -e 2 | 3 | echo "Processing all ROS packages under $(pwd)..." 4 | 5 | stack=`find . -name stack.xml` 6 | manif=`find . -name manifest.xml` 7 | cmake=`find . -name CMakeLists.txt` 8 | 9 | if [ `rosversion -d` != electric ]; then 10 | echo "Warning: this script only works for electric. You are using: " `rosversion -d` 11 | #exit 1 12 | fi 13 | 14 | if [ -z "$manif" ]; then echo "No manifest.xml files found!"; exit 1; fi 15 | 16 | echo "Renaming rtt_ros_integration to rtt_rosnode..." 17 | 18 | for i in `grep -l rtt_ros_integration $manif`; do echo "$i..."; sed -i $i -e"s/package=\"rtt_ros_integration\"/package=\"rtt_rosnode\"/g"; done 19 | 20 | echo "Renaming rtt_ros_integration_* to rtt_*..." 21 | for i in `grep -l rtt_ros_integration $manif`; do echo "$i..."; sed -i $i -e"s/package=\"rtt_ros_integration_/package=\"rtt_/g"; done 22 | 23 | echo "Renaming rtt_ros_param to rtt_rosnode..." 24 | for i in `grep -l rtt_ros_param $manif`; do echo "$i..."; sed -i $i -e"s/package=\"rtt_ros_param\"/package=\"rtt_rosnode\"/g"; done 25 | 26 | if [ -n "$cmake" ]; then 27 | for i in `grep -l rtt_ros_integration $cmake`; do echo "$i..."; sed -i $i -e"s/rtt_ros_integration/rtt_rosnode/g"; done 28 | fi 29 | 30 | if [ -n "$stack" ]; then 31 | for i in `grep -l orocos_toolchain_ros $stack`; do echo "$i..."; sed -i $i -e"s/orocos_toolchain_ros/rtt_ros_integration/g"; done 32 | fi 33 | 34 | echo "Removing all lib/orocos dirs..." 35 | 36 | for i in `find . -type d -path "*/lib/orocos"`; do echo "Pruning $i..."; rm -rf $i; done 37 | 38 | echo ">>> Run 'rosmake --pre-clean' in a stack or package dir after you converted all your stacks and packages..." 39 | 40 | echo "All done (no errors)." 41 | -------------------------------------------------------------------------------- /rtt_ros/scripts/rttlua: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Wrapper script 4 | 5 | rttlua "$@" 6 | -------------------------------------------------------------------------------- /rtt_ros/scripts/rttlua-debug: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Wrapper script for the orocos deployer debug 4 | 5 | # Use gnulinux if orocos target isn't set 6 | OROCOS_TARGET=${OROCOS_TARGET:-gnulinux} 7 | 8 | # Run with gdb 9 | gdb -ex run --args rttlua-$OROCOS_TARGET "$@" 10 | -------------------------------------------------------------------------------- /rtt_ros/scripts/rttlua-screen: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Wrapper script 4 | 5 | SCREEN_NAME=RTTLUA 6 | screen -dmS $SCREEN_NAME rttlua "$@" 7 | SCREEN_ID=$(screen -list | grep $SCREEN_NAME | head -n 1 | awk '{print $1}') 8 | 9 | cleanup() 10 | { 11 | echo "CLEANING UP!" 12 | screen -S $SCREEN_ID -p 0 -X stuff "" 13 | } 14 | 15 | trap cleanup SIGINT 16 | 17 | #screen -r $SCREEN_ID 18 | 19 | #wait $SCREEN_PID (won't work snce it's not a child process) 20 | while screen -list | grep -q $SCREEN_ID 21 | do 22 | sleep 1 23 | done 24 | 25 | -------------------------------------------------------------------------------- /rtt_ros/scripts/rttlua-tlsf: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Wrapper script 4 | 5 | rttlua-tlsf "$@" 6 | -------------------------------------------------------------------------------- /rtt_ros/scripts/rttscript: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Wrapper script 4 | 5 | rttscript "$@" 6 | -------------------------------------------------------------------------------- /rtt_ros/scripts/typegen: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Wrapper script 4 | 5 | typegen "$@" 6 | -------------------------------------------------------------------------------- /rtt_ros/src/orocos/types/ros_float32_type.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * (C) 2010, Steven Bellens, steven.bellens@mech.kuleuven.be 3 | * Department of Mechanical Engineering, 4 | * Katholieke Universiteit Leuven, Belgium. 5 | * 6 | * Redistribution and use in source and binary forms, with or without 7 | * modification, are permitted provided that the following conditions 8 | * are met: 9 | * 1. Redistributions of source code must retain the above copyright 10 | * notice, this list of conditions and the following disclaimer. 11 | * 2. Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * 3. Neither the name of the copyright holder nor the names of its contributors 15 | * may be used to endorse or promote products derived from this software 16 | * without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 21 | * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 22 | * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 23 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 24 | * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 25 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 26 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 27 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 28 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 29 | * POSSIBILITY OF SUCH DAMAGE. 30 | */ 31 | 32 | #include "ros_primitives_typekit_plugin.hpp" 33 | 34 | namespace ros_integration{ 35 | using namespace RTT; 36 | using namespace RTT::types; 37 | 38 | void loadFloat32Types(){ 39 | 40 | RTT::types::Types()->addType( new types::StdTypeInfo("float32") ); 41 | RTT::types::Types()->addType( new types::SequenceTypeInfo< std::vector >("float32[]") ); 42 | RTT::types::Types()->addType( new types::CArrayTypeInfo< RTT::types::carray >("cfloat32[]") ); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /rtt_ros/src/orocos/types/ros_float64_type.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * (C) 2010, Steven Bellens, steven.bellens@mech.kuleuven.be 3 | * Department of Mechanical Engineering, 4 | * Katholieke Universiteit Leuven, Belgium. 5 | * 6 | * Redistribution and use in source and binary forms, with or without 7 | * modification, are permitted provided that the following conditions 8 | * are met: 9 | * 1. Redistributions of source code must retain the above copyright 10 | * notice, this list of conditions and the following disclaimer. 11 | * 2. Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * 3. Neither the name of the copyright holder nor the names of its contributors 15 | * may be used to endorse or promote products derived from this software 16 | * without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 21 | * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 22 | * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 23 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 24 | * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 25 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 26 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 27 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 28 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 29 | * POSSIBILITY OF SUCH DAMAGE. 30 | */ 31 | 32 | #include "ros_primitives_typekit_plugin.hpp" 33 | 34 | namespace ros_integration{ 35 | using namespace RTT; 36 | using namespace RTT::types; 37 | 38 | void loadFloat64Types(){ 39 | 40 | RTT::types::Types()->addType( new types::StdTypeInfo("float64") ); 41 | RTT::types::Types()->addType( new types::SequenceTypeInfo< std::vector >("float64[]") ); 42 | RTT::types::Types()->addType( new types::CArrayTypeInfo< RTT::types::carray >("cfloat64[]") ); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /rtt_ros/src/orocos/types/ros_int16_type.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * (C) 2010, Steven Bellens, steven.bellens@mech.kuleuven.be 3 | * Department of Mechanical Engineering, 4 | * Katholieke Universiteit Leuven, Belgium. 5 | * 6 | * Redistribution and use in source and binary forms, with or without 7 | * modification, are permitted provided that the following conditions 8 | * are met: 9 | * 1. Redistributions of source code must retain the above copyright 10 | * notice, this list of conditions and the following disclaimer. 11 | * 2. Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * 3. Neither the name of the copyright holder nor the names of its contributors 15 | * may be used to endorse or promote products derived from this software 16 | * without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 21 | * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 22 | * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 23 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 24 | * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 25 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 26 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 27 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 28 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 29 | * POSSIBILITY OF SUCH DAMAGE. 30 | */ 31 | 32 | #include "ros_primitives_typekit_plugin.hpp" 33 | 34 | namespace ros_integration{ 35 | using namespace RTT; 36 | using namespace RTT::types; 37 | 38 | void loadInt16Types(){ 39 | 40 | RTT::types::Types()->addType( new types::StdTypeInfo("int16") ); 41 | RTT::types::Types()->addType( new types::SequenceTypeInfo< std::vector >("int16[]") ); 42 | RTT::types::Types()->addType( new types::CArrayTypeInfo< RTT::types::carray >("cint16[]") ); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /rtt_ros/src/orocos/types/ros_int32_type.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * (C) 2010, Steven Bellens, steven.bellens@mech.kuleuven.be 3 | * Department of Mechanical Engineering, 4 | * Katholieke Universiteit Leuven, Belgium. 5 | * 6 | * Redistribution and use in source and binary forms, with or without 7 | * modification, are permitted provided that the following conditions 8 | * are met: 9 | * 1. Redistributions of source code must retain the above copyright 10 | * notice, this list of conditions and the following disclaimer. 11 | * 2. Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * 3. Neither the name of the copyright holder nor the names of its contributors 15 | * may be used to endorse or promote products derived from this software 16 | * without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 21 | * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 22 | * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 23 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 24 | * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 25 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 26 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 27 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 28 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 29 | * POSSIBILITY OF SUCH DAMAGE. 30 | */ 31 | 32 | #include "ros_primitives_typekit_plugin.hpp" 33 | 34 | namespace ros_integration{ 35 | using namespace RTT; 36 | using namespace RTT::types; 37 | 38 | void loadInt32Types(){ 39 | 40 | RTT::types::Types()->addType( new types::StdTypeInfo("int32") ); 41 | RTT::types::Types()->addType( new types::SequenceTypeInfo< std::vector >("int32[]") ); 42 | RTT::types::Types()->addType( new types::CArrayTypeInfo< RTT::types::carray >("cint32[]") ); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /rtt_ros/src/orocos/types/ros_int64_type.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * (C) 2010, Steven Bellens, steven.bellens@mech.kuleuven.be 3 | * Department of Mechanical Engineering, 4 | * Katholieke Universiteit Leuven, Belgium. 5 | * 6 | * Redistribution and use in source and binary forms, with or without 7 | * modification, are permitted provided that the following conditions 8 | * are met: 9 | * 1. Redistributions of source code must retain the above copyright 10 | * notice, this list of conditions and the following disclaimer. 11 | * 2. Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * 3. Neither the name of the copyright holder nor the names of its contributors 15 | * may be used to endorse or promote products derived from this software 16 | * without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 21 | * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 22 | * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 23 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 24 | * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 25 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 26 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 27 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 28 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 29 | * POSSIBILITY OF SUCH DAMAGE. 30 | */ 31 | 32 | #include "ros_primitives_typekit_plugin.hpp" 33 | 34 | namespace ros_integration{ 35 | using namespace RTT; 36 | using namespace RTT::types; 37 | 38 | void loadInt64Types(){ 39 | 40 | RTT::types::Types()->addType( new types::StdTypeInfo("int64") ); 41 | RTT::types::Types()->addType( new types::SequenceTypeInfo< std::vector >("int64[]") ); 42 | RTT::types::Types()->addType( new types::CArrayTypeInfo< RTT::types::carray >("cint64[]") ); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /rtt_ros/src/orocos/types/ros_int8_type.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * (C) 2010, Steven Bellens, steven.bellens@mech.kuleuven.be 3 | * Department of Mechanical Engineering, 4 | * Katholieke Universiteit Leuven, Belgium. 5 | * 6 | * Redistribution and use in source and binary forms, with or without 7 | * modification, are permitted provided that the following conditions 8 | * are met: 9 | * 1. Redistributions of source code must retain the above copyright 10 | * notice, this list of conditions and the following disclaimer. 11 | * 2. Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * 3. Neither the name of the copyright holder nor the names of its contributors 15 | * may be used to endorse or promote products derived from this software 16 | * without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 21 | * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 22 | * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 23 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 24 | * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 25 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 26 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 27 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 28 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 29 | * POSSIBILITY OF SUCH DAMAGE. 30 | */ 31 | 32 | #include "ros_primitives_typekit_plugin.hpp" 33 | 34 | namespace ros_integration{ 35 | using namespace RTT; 36 | using namespace RTT::types; 37 | 38 | void loadInt8Types(){ 39 | 40 | RTT::types::Types()->addType( new types::StdTypeInfo("int8") ); 41 | RTT::types::Types()->addType( new types::SequenceTypeInfo< std::vector >("int8[]") ); 42 | RTT::types::Types()->addType( new types::CArrayTypeInfo< RTT::types::carray >("cint8[]") ); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /rtt_ros/src/orocos/types/ros_primitives_typekit_plugin.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * (C) 2010, Steven Bellens, steven.bellens@mech.kuleuven.be 3 | * Department of Mechanical Engineering, 4 | * Katholieke Universiteit Leuven, Belgium. 5 | * 6 | * Redistribution and use in source and binary forms, with or without 7 | * modification, are permitted provided that the following conditions 8 | * are met: 9 | * 1. Redistributions of source code must retain the above copyright 10 | * notice, this list of conditions and the following disclaimer. 11 | * 2. Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * 3. Neither the name of the copyright holder nor the names of its contributors 15 | * may be used to endorse or promote products derived from this software 16 | * without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 21 | * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 22 | * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 23 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 24 | * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 25 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 26 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 27 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 28 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 29 | * POSSIBILITY OF SUCH DAMAGE. 30 | */ 31 | 32 | #ifndef ROS_PRIMITIVES_TYPEKIT_PLUGIN_HPP 33 | #define ROS_PRIMITIVES_TYPEKIT_PLUGIN_HPP 34 | 35 | #include 36 | #include 37 | #include 38 | #include 39 | #include 40 | #include 41 | #include 42 | #include 43 | 44 | namespace ros_integration { 45 | using namespace RTT; 46 | using namespace RTT::types; 47 | 48 | /** 49 | * This interface defines the primitive ROS msg types to the realTime package. 50 | */ 51 | class ROSPrimitivesTypekitPlugin 52 | : public types::TypekitPlugin 53 | { 54 | public: 55 | virtual std::string getName(); 56 | virtual bool loadTypes(); 57 | virtual bool loadConstructors(); 58 | virtual bool loadOperators(); 59 | }; 60 | } 61 | #endif 62 | -------------------------------------------------------------------------------- /rtt_ros/src/orocos/types/ros_string_type.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * (C) 2010, Steven Bellens, steven.bellens@mech.kuleuven.be 3 | * Department of Mechanical Engineering, 4 | * Katholieke Universiteit Leuven, Belgium. 5 | * 6 | * Redistribution and use in source and binary forms, with or without 7 | * modification, are permitted provided that the following conditions 8 | * are met: 9 | * 1. Redistributions of source code must retain the above copyright 10 | * notice, this list of conditions and the following disclaimer. 11 | * 2. Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * 3. Neither the name of the copyright holder nor the names of its contributors 15 | * may be used to endorse or promote products derived from this software 16 | * without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 21 | * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 22 | * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 23 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 24 | * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 25 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 26 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 27 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 28 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 29 | * POSSIBILITY OF SUCH DAMAGE. 30 | */ 31 | 32 | #include "ros_primitives_typekit_plugin.hpp" 33 | 34 | namespace ros_integration{ 35 | using namespace RTT; 36 | using namespace RTT::types; 37 | 38 | void loadStringTypes(){ 39 | RTT::types::Types()->addType( new types::StdStringTypeInfo() ); 40 | RTT::types::Types()->addType( new types::SequenceTypeInfo >("string[]") ); 41 | RTT::types::Types()->addType( new types::CArrayTypeInfo >("cstring[]") ); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /rtt_ros/src/orocos/types/ros_uint16_type.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * (C) 2010, Steven Bellens, steven.bellens@mech.kuleuven.be 3 | * Department of Mechanical Engineering, 4 | * Katholieke Universiteit Leuven, Belgium. 5 | * 6 | * Redistribution and use in source and binary forms, with or without 7 | * modification, are permitted provided that the following conditions 8 | * are met: 9 | * 1. Redistributions of source code must retain the above copyright 10 | * notice, this list of conditions and the following disclaimer. 11 | * 2. Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * 3. Neither the name of the copyright holder nor the names of its contributors 15 | * may be used to endorse or promote products derived from this software 16 | * without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 21 | * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 22 | * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 23 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 24 | * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 25 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 26 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 27 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 28 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 29 | * POSSIBILITY OF SUCH DAMAGE. 30 | */ 31 | 32 | #include "ros_primitives_typekit_plugin.hpp" 33 | 34 | namespace ros_integration{ 35 | using namespace RTT; 36 | using namespace RTT::types; 37 | 38 | void loadUInt16Types(){ 39 | 40 | RTT::types::Types()->addType( new types::StdTypeInfo("uint16") ); 41 | RTT::types::Types()->addType( new types::SequenceTypeInfo< std::vector >("uint16[]") ); 42 | RTT::types::Types()->addType( new types::CArrayTypeInfo< RTT::types::carray >("cuint16[]") ); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /rtt_ros/src/orocos/types/ros_uint32_type.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * (C) 2010, Steven Bellens, steven.bellens@mech.kuleuven.be 3 | * Department of Mechanical Engineering, 4 | * Katholieke Universiteit Leuven, Belgium. 5 | * 6 | * Redistribution and use in source and binary forms, with or without 7 | * modification, are permitted provided that the following conditions 8 | * are met: 9 | * 1. Redistributions of source code must retain the above copyright 10 | * notice, this list of conditions and the following disclaimer. 11 | * 2. Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * 3. Neither the name of the copyright holder nor the names of its contributors 15 | * may be used to endorse or promote products derived from this software 16 | * without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 21 | * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 22 | * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 23 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 24 | * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 25 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 26 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 27 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 28 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 29 | * POSSIBILITY OF SUCH DAMAGE. 30 | */ 31 | 32 | #include "ros_primitives_typekit_plugin.hpp" 33 | 34 | namespace ros_integration{ 35 | using namespace RTT; 36 | using namespace RTT::types; 37 | 38 | void loadUInt32Types(){ 39 | 40 | RTT::types::Types()->addType( new types::StdTypeInfo("uint32") ); 41 | RTT::types::Types()->addType( new types::SequenceTypeInfo< std::vector >("uint32[]") ); 42 | RTT::types::Types()->addType( new types::CArrayTypeInfo< RTT::types::carray >("cuint32[]") ); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /rtt_ros/src/orocos/types/ros_uint64_type.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * (C) 2010, Steven Bellens, steven.bellens@mech.kuleuven.be 3 | * Department of Mechanical Engineering, 4 | * Katholieke Universiteit Leuven, Belgium. 5 | * 6 | * Redistribution and use in source and binary forms, with or without 7 | * modification, are permitted provided that the following conditions 8 | * are met: 9 | * 1. Redistributions of source code must retain the above copyright 10 | * notice, this list of conditions and the following disclaimer. 11 | * 2. Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * 3. Neither the name of the copyright holder nor the names of its contributors 15 | * may be used to endorse or promote products derived from this software 16 | * without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 21 | * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 22 | * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 23 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 24 | * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 25 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 26 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 27 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 28 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 29 | * POSSIBILITY OF SUCH DAMAGE. 30 | */ 31 | 32 | #include "ros_primitives_typekit_plugin.hpp" 33 | 34 | namespace ros_integration{ 35 | using namespace RTT; 36 | using namespace RTT::types; 37 | 38 | void loadUInt64Types(){ 39 | 40 | RTT::types::Types()->addType( new types::StdTypeInfo("uint64") ); 41 | RTT::types::Types()->addType( new types::SequenceTypeInfo< std::vector >("uint64[]") ); 42 | RTT::types::Types()->addType( new types::CArrayTypeInfo< RTT::types::carray >("cuint64[]") ); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /rtt_ros/src/orocos/types/ros_uint8_type.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * (C) 2010, Steven Bellens, steven.bellens@mech.kuleuven.be 3 | * Department of Mechanical Engineering, 4 | * Katholieke Universiteit Leuven, Belgium. 5 | * 6 | * Redistribution and use in source and binary forms, with or without 7 | * modification, are permitted provided that the following conditions 8 | * are met: 9 | * 1. Redistributions of source code must retain the above copyright 10 | * notice, this list of conditions and the following disclaimer. 11 | * 2. Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * 3. Neither the name of the copyright holder nor the names of its contributors 15 | * may be used to endorse or promote products derived from this software 16 | * without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 21 | * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 22 | * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 23 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 24 | * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 25 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 26 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 27 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 28 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 29 | * POSSIBILITY OF SUCH DAMAGE. 30 | */ 31 | 32 | #include "ros_primitives_typekit_plugin.hpp" 33 | 34 | namespace ros_integration{ 35 | using namespace RTT; 36 | using namespace RTT::types; 37 | 38 | void loadUInt8Types(){ 39 | 40 | RTT::types::Types()->addType( new types::StdTypeInfo("uint8") ); 41 | RTT::types::Types()->addType( new types::SequenceTypeInfo< std::vector >("uint8[]") ); 42 | RTT::types::Types()->addType( new types::CArrayTypeInfo< RTT::types::carray >("cuint8[]") ); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /rtt_ros/src/rtt_ros_service.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | 7 | #include 8 | #include 9 | 10 | #include 11 | #include 12 | #include 13 | #include 14 | 15 | #include 16 | #include 17 | 18 | #include 19 | #include 20 | 21 | #include 22 | 23 | #include 24 | 25 | static void loadROSService(){ 26 | RTT::Service::shared_ptr ros = RTT::internal::GlobalService::Instance()->provides("ros"); 27 | 28 | ros->doc("RTT service for loading RTT plugins "); 29 | 30 | // ROS Package-importing 31 | ros->addOperation("import", &rtt_ros::import).doc( 32 | "Imports the Orocos plugins from a given ROS package (if found) along with the plugins of all of the package's run or exec dependencies as listed in the package.xml.").arg( 33 | "package", "The ROS package name."); 34 | } 35 | 36 | using namespace RTT; 37 | extern "C" { 38 | bool loadRTTPlugin(RTT::TaskContext* c){ 39 | if (c != 0) return false; 40 | loadROSService(); 41 | return true; 42 | } 43 | std::string getRTTPluginName (){ 44 | return "ros"; 45 | } 46 | std::string getRTTTargetName (){ 47 | return OROCOS_TARGET_NAME; 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /rtt_ros_integration/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(rtt_ros_integration) 3 | find_package(catkin REQUIRED) 4 | catkin_metapackage() 5 | -------------------------------------------------------------------------------- /rtt_ros_integration/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | rtt_ros_integration 4 | 2.9.2 5 | This stack contains all software necessary to build systems using both Orocos and ROS infrastructures 6 | Orocos Developers 7 | 8 | BSD 9 | 10 | http://ros.org/wiki/rtt_ros_integration 11 | https://github.com/orocos/rtt_ros_integration/issues 12 | 13 | Ruben Smits 14 | Steven Bellens 15 | Jonathan Boren 16 | Johannes Meyer 17 | 18 | catkin 19 | 20 | rtt_actionlib 21 | rtt_dynamic_reconfigure 22 | rtt_ros 23 | rtt_rosclock 24 | rtt_roscomm 25 | rtt_rosdeployment 26 | rtt_ros_msgs 27 | rtt_rosnode 28 | rtt_rospack 29 | rtt_rosparam 30 | rtt_tf 31 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /rtt_ros_msgs/CHANGELOG.rst: -------------------------------------------------------------------------------- 1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2 | Changelog for package rtt_ros_msgs 3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 4 | 5 | 2.9.2 (2019-05-15) 6 | ------------------ 7 | 8 | 2.9.1 (2017-11-16) 9 | ------------------ 10 | 11 | 2.9.0 (2017-05-02) 12 | ------------------ 13 | * Added individual changelogs and bumped versions to 2.9.0 14 | * Contributors: Johannes Meyer 15 | 16 | 2.8.6 (2017-11-15) 17 | ------------------ 18 | 19 | 2.8.5 (2017-03-28) 20 | ------------------ 21 | 22 | 2.8.4 (2016-11-26) 23 | ------------------ 24 | 25 | 2.8.3 (2016-07-20) 26 | ------------------ 27 | 28 | 2.8.2 (2015-06-12) 29 | ------------------ 30 | * see `rtt_ros_integratoin/CHANGELOG.rst <../rtt_ros_integration/CHANGELOG.rst>`_ 31 | -------------------------------------------------------------------------------- /rtt_ros_msgs/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(rtt_ros_msgs) 3 | 4 | find_package(catkin REQUIRED COMPONENTS message_generation std_msgs) 5 | 6 | ################################################ 7 | ## Declare ROS messages, services and actions ## 8 | ################################################ 9 | 10 | ## To declare and build messages, services or actions from within this 11 | ## package, follow these steps: 12 | ## * Let MSG_DEP_SET be the set of packages whose message types you use in 13 | ## your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...). 14 | ## * In the file package.xml: 15 | ## * add a build_depend and a run_depend tag for each package in MSG_DEP_SET 16 | ## * If MSG_DEP_SET isn't empty the following dependencies might have been 17 | ## pulled in transitively but can be declared for certainty nonetheless: 18 | ## * add a build_depend tag for "message_generation" 19 | ## * add a run_depend tag for "message_runtime" 20 | ## * In this file (CMakeLists.txt): 21 | ## * add "message_generation" and every package in MSG_DEP_SET to 22 | ## find_package(catkin REQUIRED COMPONENTS ...) 23 | ## * add "message_runtime" and every package in MSG_DEP_SET to 24 | ## catkin_package(CATKIN_DEPENDS ...) 25 | ## * uncomment the add_*_files sections below as needed 26 | ## and list every .msg/.srv/.action file to be processed 27 | ## * uncomment the generate_messages entry below 28 | ## * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...) 29 | 30 | ## Generate messages in the 'msg' folder 31 | # add_message_files( 32 | # FILES 33 | # Message1.msg 34 | # Message2.msg 35 | # ) 36 | 37 | ## Generate services in the 'srv' folder 38 | add_service_files( 39 | FILES 40 | Eval.srv 41 | RunScript.srv 42 | GetPeerList.srv 43 | ) 44 | 45 | ## Generate actions in the 'action' folder 46 | # add_action_files( 47 | # FILES 48 | # Action1.action 49 | # Action2.action 50 | # ) 51 | 52 | ## Generate added messages and services with any dependencies listed here 53 | generate_messages( 54 | DEPENDENCIES 55 | std_msgs 56 | ) 57 | 58 | catkin_package( 59 | CATKIN_DEPENDS message_runtime 60 | ) 61 | 62 | -------------------------------------------------------------------------------- /rtt_ros_msgs/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | rtt_ros_msgs 4 | 2.9.2 5 | This package provides .msg and .srv files for use with the rtt_ros_integration packages. 6 | Orocos Developers 7 | 8 | BSD 9 | 10 | http://ros.org/wiki/rtt_ros_integration 11 | https://github.com/orocos/rtt_ros_integration/issues 12 | 13 | catkin 14 | 15 | std_msgs 16 | message_generation 17 | std_msgs 18 | message_runtime 19 | 20 | -------------------------------------------------------------------------------- /rtt_ros_msgs/srv/Eval.srv: -------------------------------------------------------------------------------- 1 | string code 2 | --- 3 | bool success 4 | -------------------------------------------------------------------------------- /rtt_ros_msgs/srv/GetPeerList.srv: -------------------------------------------------------------------------------- 1 | --- 2 | string[] peers 3 | -------------------------------------------------------------------------------- /rtt_ros_msgs/srv/RunScript.srv: -------------------------------------------------------------------------------- 1 | string file_path 2 | --- 3 | bool success 4 | -------------------------------------------------------------------------------- /rtt_rosclock/CHANGELOG.rst: -------------------------------------------------------------------------------- 1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2 | Changelog for package rtt_rosclock 3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 4 | 5 | 2.9.2 (2019-05-15) 6 | ------------------ 7 | * Merge pull request `#112 `_ from honeybee-robotics-forks/fix-rtt-rosclock-thread-segfault into 2.9.2 8 | * rtt_rosclock: fixing isSelf segfault when using simclock with ownthread operation caller 9 | * Contributors: Johannes Meyer, Jonathan Bohren 10 | 11 | 2.9.1 (2017-11-16) 12 | ------------------ 13 | * Merge pull request `#93 `_ from ahoarau/xenomai3-support 14 | Xenomai 3 support 15 | * Contributors: Antoine Hoarau 16 | 17 | 2.9.0 (2017-05-02) 18 | ------------------ 19 | * fix xenomai rtt_now() fix PR`#41 `_ 20 | * Added individual changelogs and bumped versions to 2.9.0 21 | * rtt_rosclock: adapted SimClockActivity to the updated ActivityInterface with the master-update-hook-vs-callback-queue patch (`orocos-toolchain/rtt#91 `_) 22 | Signed-off-by: Johannes Meyer 23 | * Contributors: Antoine Hoarau, Johannes Meyer 24 | 25 | 2.8.6 (2017-11-15) 26 | ------------------ 27 | 28 | 2.8.5 (2017-03-28) 29 | ------------------ 30 | 31 | 2.8.4 (2016-11-26) 32 | ------------------ 33 | 34 | 2.8.3 (2016-07-20) 35 | ------------------ 36 | * fix xenomai rtt_now() fix PR`#41 `_ 37 | * Contributors: Antoine Hoarau 38 | 39 | 2.8.2 (2015-06-12) 40 | ------------------ 41 | * see `rtt_ros_integratoin/CHANGELOG.rst <../rtt_ros_integration/CHANGELOG.rst>`_ 42 | -------------------------------------------------------------------------------- /rtt_rosclock/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(rtt_rosclock) 3 | 4 | find_package(catkin REQUIRED COMPONENTS roscpp rtt_ros rospack rostime cmake_modules rosgraph_msgs) 5 | 6 | include_directories(include ${catkin_INCLUDE_DIRS} ${Xenomai_POSIX_INCLUDE_DIRS}) 7 | 8 | orocos_library(rtt_rosclock 9 | src/rtt_rosclock.cpp 10 | src/rtt_rosclock_sim_clock_thread.cpp 11 | src/rtt_rosclock_sim_clock_activity.cpp 12 | src/rtt_rosclock_sim_clock_activity_manager.cpp) 13 | target_link_libraries(rtt_rosclock ${catkin_LIBRARIES}) 14 | 15 | orocos_service(sim_clock_activity_service 16 | src/rtt_rosclock_sim_clock_activity_service.cpp) 17 | target_link_libraries(sim_clock_activity_service 18 | rtt_rosclock ${catkin_LIBRARIES}) 19 | 20 | # Link against Xenomai POSIX skin to get 21 | if(OROCOS_TARGET STREQUAL "xenomai") 22 | list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/config) 23 | find_package(XenomaiPosix REQUIRED) 24 | add_definitions(-D__XENO__) 25 | set_target_properties(rtt_rosclock PROPERTIES LINK_FLAGS "${XENOMAI_POSIX_LDFLAGS}") 26 | target_link_libraries(rtt_rosclock ${XENOMAI_POSIX_LIBRARIES}) 27 | endif() 28 | 29 | orocos_service(rtt_rosclock_service src/rtt_rosclock_service.cpp) 30 | target_link_libraries(rtt_rosclock_service rtt_rosclock ${catkin_LIBRARIES} ) 31 | 32 | 33 | orocos_generate_package( 34 | INCLUDE_DIRS include 35 | DEPENDS rostime 36 | ) 37 | 38 | orocos_install_headers( 39 | DIRECTORY include/${PROJECT_NAME}/ 40 | ) 41 | -------------------------------------------------------------------------------- /rtt_rosclock/include/rtt_rosclock/rtt_rosclock.h: -------------------------------------------------------------------------------- 1 | #ifndef __RTT_ROSCLOCK_RTT_ROSCLOCK_H 2 | #define __RTT_ROSCLOCK_RTT_ROSCLOCK_H 3 | 4 | #include 5 | #include 6 | #include 7 | 8 | namespace rtt_rosclock { 9 | 10 | /** \brief Get the current time according to CLOCK_HOST_REALTIME or the 11 | * simulation time. 12 | * 13 | * This is the time source that should always be used with ROS header 14 | * timestamps because it is the time that you want to use to broadcast ROS 15 | * messages to other machines or processes. 16 | * 17 | * When compiled against Xenomai and not running in simulation mode, 18 | * this function will return the NTP-synchronized clock time via the 19 | * CLOCK_HOST_REALTIME clock source. Note that this is only supported under 20 | * Xenomai 2.6 and above. 21 | * 22 | * When not compiled against Xenomai and not running in simulation mode, it 23 | * is a pass-through to ros::Time::now(). 24 | * 25 | * When running in simulation mode, this will always use the simulation 26 | * clock, which is based off of the ROS /clock topic. It is a pass-through to 27 | * rtt_now(). 28 | */ 29 | const ros::Time host_now(); 30 | 31 | /** \brief Get the current time according to CLOCK_HOST_REALTIME or the 32 | * wall time. 33 | */ 34 | const ros::Time host_wall_now(); 35 | 36 | /** \brief Get the current time according to RTT 37 | * 38 | * If the simulation clock is enabled, this will return the simulated time. 39 | */ 40 | const ros::Time rtt_now(); 41 | 42 | /** \brief Get the current wall time according to RTT 43 | * 44 | * Even if the simualtion clock is enabled, this will still return the wall 45 | * clock time. 46 | */ 47 | const ros::Time rtt_wall_now(); 48 | 49 | //! Get the difference in seconds between rtt_wall_now() and host_wall_now() 50 | const RTT::Seconds host_offset_from_rtt(); 51 | 52 | //! Set a TaskContext to use a periodic simulation clock activity 53 | const bool set_sim_clock_activity(RTT::TaskContext *t); 54 | 55 | //! Use ROS /clock topic for time measurement 56 | void use_ros_clock_topic(); 57 | 58 | //! Use manual clock updates 59 | void use_manual_clock(); 60 | 61 | //! Use a simulated clock source 62 | const bool enable_sim(); 63 | 64 | //! Do't use a simulated clock source 65 | const bool disable_sim(); 66 | 67 | //! Update the current simulation time and trigger all simulated TaskContexts 68 | void update_sim_clock(const ros::Time new_time); 69 | } 70 | 71 | #endif // ifndef __RTT_ROSCLOCK_RTT_ROSCLOCK_H 72 | -------------------------------------------------------------------------------- /rtt_rosclock/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | rtt_rosclock 4 | 2.9.2 5 | This package provides an RTT plugin to access different time measurements on a realtime host. 6 | Orocos Developers 7 | 8 | BSD 9 | 10 | http://ros.org/wiki/rtt_ros_integration 11 | https://github.com/orocos/rtt_ros_integration/issues 12 | 13 | catkin 14 | 15 | rtt 16 | ocl 17 | roscpp 18 | rostime 19 | rospack 20 | libxml2 21 | cmake_modules 22 | rtt_rosgraph_msgs 23 | 24 | rtt 25 | ocl 26 | roscpp 27 | rostime 28 | rospack 29 | libxml2 30 | cmake_modules 31 | rtt_rosgraph_msgs 32 | 33 | 34 | 35 | rtt_rosnode 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /rtt_rosclock/src/rtt_rosclock_sim_clock_activity_service.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | #include 4 | #include 5 | #include 6 | 7 | #include 8 | 9 | using namespace RTT; 10 | using namespace std; 11 | 12 | class SimClockActivityService: public RTT::Service 13 | { 14 | public: 15 | 16 | SimClockActivityService(TaskContext* owner) : 17 | Service("sim_clock_activity", owner) 18 | { 19 | this->doc("RTT Service for synchronizing ROS parameters with the properties of a corresponding RTT component"); 20 | 21 | // TODO: load rosclock global service 22 | rtt_rosclock::set_sim_clock_activity(owner); 23 | } 24 | 25 | }; 26 | 27 | ORO_SERVICE_NAMED_PLUGIN(SimClockActivityService, "sim_clock_activity") 28 | -------------------------------------------------------------------------------- /rtt_roscomm/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(rtt_roscomm) 3 | 4 | find_package(catkin REQUIRED COMPONENTS rtt_ros roscpp) 5 | 6 | catkin_package( 7 | CATKIN_DEPENDS rtt_ros roscpp 8 | CFG_EXTRAS GenerateRTTROSCommPackage.cmake 9 | ) 10 | 11 | include_directories( 12 | include 13 | ${catkin_INCLUDE_DIRS}) 14 | 15 | # ROS Message / Topic Support 16 | orocos_library(rtt_rostopic 17 | src/rtt_rostopic.cpp) 18 | target_link_libraries(rtt_rostopic ${catkin_LIBRARIES}) 19 | 20 | orocos_service(rtt_rostopic_service 21 | src/rtt_rostopic_service.cpp 22 | src/rtt_rostopic_ros_publish_activity.cpp) 23 | target_link_libraries(rtt_rostopic_service rtt_rostopic ${catkin_LIBRARIES}) 24 | 25 | # ROS Service Support 26 | orocos_service(rtt_rosservice_registry 27 | src/rtt_rosservice_registry_service.cpp) 28 | 29 | orocos_service(rtt_rosservice 30 | src/rtt_rosservice_service.cpp) 31 | target_link_libraries(rtt_rosservice rtt_rosservice_registry ${catkin_LIBRARIES}) 32 | 33 | # Generate install targets and pkg-config files 34 | orocos_generate_package( 35 | INCLUDE_DIRS include 36 | DEPENDS roscpp 37 | ) 38 | 39 | install(PROGRAMS 40 | scripts/create_rtt_msgs 41 | DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}) 42 | 43 | install( 44 | DIRECTORY include/ 45 | DESTINATION ${CATKIN_GLOBAL_INCLUDE_DESTINATION}/orocos 46 | ) 47 | 48 | # Install create_boost_header.py 49 | catkin_install_python(PROGRAMS scripts/create_boost_header.py DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}) 50 | 51 | # Install template files 52 | install(DIRECTORY src/templates DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/src) 53 | 54 | # This one will only be used by create_rtt_msgs with `rospack find rtt_roscomm` => no devel-space installation 55 | install(DIRECTORY rtt_roscomm_pkg_template DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}) 56 | -------------------------------------------------------------------------------- /rtt_roscomm/cmake/GenerateRTTROSCommPackage.cmake.em: -------------------------------------------------------------------------------- 1 | # 2 | # Generate RTT typekits and plugins for using ROS .msg messages and .srv 3 | # services 4 | # 5 | 6 | cmake_minimum_required(VERSION 2.8.3) 7 | 8 | @[if DEVELSPACE]@ 9 | set(rtt_roscomm_TEMPLATES_DIR @(PROJECT_SOURCE_DIR)/src/templates) 10 | set(rtt_roscomm_SCRIPTS_DIR @(PROJECT_SOURCE_DIR)/scripts) 11 | @[else]@ 12 | set(rtt_roscomm_TEMPLATES_DIR ${rtt_roscomm_DIR}/../src/templates) 13 | set(rtt_roscomm_SCRIPTS_DIR @(CMAKE_INSTALL_PREFIX)/@(CATKIN_PACKAGE_BIN_DESTINATION)) 14 | @[end if]@ 15 | 16 | macro(rtt_roscomm_destinations) 17 | if(ORO_USE_ROSBUILD) 18 | #message(STATUS "[ros_generate_rtt_typekit] Generating ROS typekit for ${PROJECT_NAME} with ROSBuild destinations.") 19 | set(rtt_roscomm_GENERATED_HEADERS_OUTPUT_DIRECTORY "${PROJECT_SOURCE_DIR}/include") 20 | set(rtt_roscomm_GENERATED_HEADERS_INSTALL_DESTINATION) 21 | elseif(ORO_USE_CATKIN) 22 | #message(STATUS "[ros_generate_rtt_typekit] Generating ROS typekit for ${PROJECT_NAME} with Catkin destinations.") 23 | catkin_destinations() 24 | set(rtt_roscomm_GENERATED_HEADERS_OUTPUT_DIRECTORY "${CATKIN_DEVEL_PREFIX}/include") 25 | set(rtt_roscomm_GENERATED_HEADERS_INSTALL_DESTINATION "${CATKIN_GLOBAL_INCLUDE_DESTINATION}") 26 | else() 27 | #message(STATUS "[ros_generate_rtt_typekit] Generating ROS typekit for ${PROJECT_NAME} with normal CMake destinations.") 28 | set(rtt_roscomm_GENERATED_HEADERS_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/include") 29 | set(rtt_roscomm_GENERATED_HEADERS_INSTALL_DESTINATION "${CMAKE_INSTALL_PREFIX}/include") 30 | endif() 31 | 32 | if(DEFINED ENV{VERBOSE_CONFIG}) 33 | message(STATUS "[ros_generate_rtt_typekit] Generating headers in: ${rtt_roscomm_GENERATED_HEADERS_OUTPUT_DIRECTORY}") 34 | message(STATUS "[ros_generate_rtt_typekit] Installing headers to: ${rtt_roscomm_GENERATED_HEADERS_INSTALL_DESTINATION}") 35 | endif() 36 | endmacro() 37 | 38 | macro(rtt_roscomm_debug) 39 | if(DEFINED ENV{VERBOSE_CONFIG}) 40 | message(STATUS "[ros_generate_rtt_typekit] catkin_INCLUDE_DIRS: ${catkin_INCLUDE_DIRS}") 41 | endif() 42 | endmacro() 43 | 44 | macro(ros_generate_rtt_typekit package) 45 | cmake_parse_arguments(ros_generate_rtt_typekit "" "" "EXTRA_INCLUDES" ${ARGN}) 46 | set(_package ${package}) 47 | add_subdirectory(${rtt_roscomm_TEMPLATES_DIR}/typekit ${package}_typekit) 48 | endmacro(ros_generate_rtt_typekit) 49 | 50 | macro(ros_generate_rtt_service_proxies package) 51 | cmake_parse_arguments(ros_generate_rtt_service_proxies "" "" "EXTRA_INCLUDES" ${ARGN}) 52 | set(_package ${package}) 53 | add_subdirectory(${rtt_roscomm_TEMPLATES_DIR}/service ${package}_service_proxies) 54 | endmacro(ros_generate_rtt_service_proxies) 55 | -------------------------------------------------------------------------------- /rtt_roscomm/include/rtt_roscomm/rosservice.h: -------------------------------------------------------------------------------- 1 | #ifndef __RTT_ROSSERVICE_ROSSERVICE_H 2 | #define __RTT_ROSSERVICE_ROSSERVICE_H 3 | 4 | #include 5 | #include 6 | 7 | namespace rtt_roscomm { 8 | 9 | class ROSService : public RTT::ServiceRequester 10 | { 11 | public: 12 | ROSService(RTT::TaskContext *owner) : 13 | RTT::ServiceRequester("rosservice",owner), 14 | connect("connect"), 15 | disconnect("disconnect"), 16 | disconnectAll("disconnectAll") 17 | { 18 | this->addOperationCaller(connect); 19 | this->addOperationCaller(disconnect); 20 | this->addOperationCaller(disconnectAll); 21 | } 22 | 23 | RTT::OperationCaller connect; 24 | RTT::OperationCaller disconnect; 25 | RTT::OperationCaller disconnectAll; 26 | }; 27 | } 28 | 29 | namespace rtt_rosservice { 30 | using rtt_roscomm::ROSService; // deprecated 31 | } 32 | 33 | #endif // ifndef __RTT_ROSSERVICE_ROSSERVICE_H 34 | 35 | -------------------------------------------------------------------------------- /rtt_roscomm/include/rtt_roscomm/rostopic.h: -------------------------------------------------------------------------------- 1 | /* 2 | * (C) 2010 Ruben Smits, ruben.smits@mech.kuleuven.be 3 | * 4 | * Redistribution and use in source and binary forms, with or without 5 | * modification, are permitted provided that the following conditions 6 | * are met: 7 | * 1. Redistributions of source code must retain the above copyright 8 | * notice, this list of conditions and the following disclaimer. 9 | * 2. Redistributions in binary form must reproduce the above copyright 10 | * notice, this list of conditions and the following disclaimer in the 11 | * documentation and/or other materials provided with the distribution. 12 | * 3. Neither the name of the copyright holder nor the names of its contributors 13 | * may be used to endorse or promote products derived from this software 14 | * without specific prior written permission. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 17 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 18 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 19 | * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 20 | * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 21 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 22 | * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 23 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 24 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 26 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 27 | * POSSIBILITY OF SUCH DAMAGE. 28 | */ 29 | 30 | #ifndef __RTT_ROSCOMM_ROSTOPIC_H 31 | #define __RTT_ROSCOMM_ROSTOPIC_H 32 | 33 | #include 34 | 35 | #define ORO_ROS_PROTOCOL_ID 3 36 | 37 | namespace rtt_roscomm { 38 | //! ROS topic protocol ID 39 | static const int protocol_id = 3; 40 | 41 | /** 42 | * Returns a ConnPolicy object for streaming to or from 43 | * the given ROS topic. No buffering is done within RTT. 44 | */ 45 | RTT::ConnPolicy topic(const std::string& name); 46 | 47 | /** 48 | * Returns a ConnPolicy object for latched streaming to the 49 | * given ROS topic. No buffering is done within RTT. 50 | */ 51 | RTT::ConnPolicy topicLatched(const std::string& name); 52 | 53 | /** 54 | * Returns a ConnPolicy object for streaming to or from 55 | * the given ROS topic. Also specifies the buffer size of 56 | * the connection to be created. 57 | */ 58 | RTT::ConnPolicy topicBuffer(const std::string& name, int size); 59 | 60 | /** 61 | * Returns a ConnPolicy object for streaming to or from 62 | * the given ROS topic. Use this only for unbuffered 63 | * publishing, where the publish() method is called 64 | * in the thread of the writing TaskContext. 65 | */ 66 | RTT::ConnPolicy topicUnbuffered(const std::string& name); 67 | } 68 | 69 | #endif // ifndef __RTT_ROSCOMM_ROSTOPIC_H 70 | -------------------------------------------------------------------------------- /rtt_roscomm/include/rtt_roscomm/rtt_rosservice_registry_service.h: -------------------------------------------------------------------------------- 1 | #ifndef __RTT_ROSSERVICE_RTT_ROSSERVICE_REGISTRY_SERVICE_H 2 | #define __RTT_ROSSERVICE_RTT_ROSSERVICE_REGISTRY_SERVICE_H 3 | 4 | #include 5 | #include 6 | 7 | class ROSServiceRegistryService; 8 | class ROSServiceProxyFactoryBase; 9 | typedef boost::shared_ptr ROSServiceRegistryServicePtr; 10 | 11 | class ROSServiceRegistryService : public RTT::Service 12 | { 13 | public: 14 | static ROSServiceRegistryServicePtr Instance(); 15 | static void Release(); 16 | 17 | /** \brief Register a ROS service proxy factory 18 | * 19 | * This enables the ROSServiceRegistryService to construct ROS service clients and 20 | * servers from a string name. 21 | */ 22 | bool registerServiceFactory(ROSServiceProxyFactoryBase* factory); 23 | 24 | bool hasServiceFactory(const std::string &service_type); 25 | 26 | ROSServiceProxyFactoryBase* getServiceFactory(const std::string &service_type); 27 | 28 | void listSrvs(); 29 | 30 | private: 31 | /** 32 | * Instantiates this service. 33 | * @param owner The owner or null in case of global. 34 | */ 35 | ROSServiceRegistryService(RTT::TaskContext* owner); 36 | 37 | //! ROS service proxy factories 38 | static std::map > factories_; 39 | static RTT::os::MutexRecursive factory_lock_; 40 | 41 | //! The singleton instance 42 | static ROSServiceRegistryServicePtr s_instance_; 43 | }; 44 | 45 | #endif // __RTT_ROSSERVICE_RTT_ROSSERVICE_REGISTRY_SERVICE_H 46 | -------------------------------------------------------------------------------- /rtt_roscomm/include/rtt_roscomm/rtt_rostopic.h: -------------------------------------------------------------------------------- 1 | /* 2 | * (C) 2010 Ruben Smits, ruben.smits@mech.kuleuven.be 3 | * 4 | * Redistribution and use in source and binary forms, with or without 5 | * modification, are permitted provided that the following conditions 6 | * are met: 7 | * 1. Redistributions of source code must retain the above copyright 8 | * notice, this list of conditions and the following disclaimer. 9 | * 2. Redistributions in binary form must reproduce the above copyright 10 | * notice, this list of conditions and the following disclaimer in the 11 | * documentation and/or other materials provided with the distribution. 12 | * 3. Neither the name of the copyright holder nor the names of its contributors 13 | * may be used to endorse or promote products derived from this software 14 | * without specific prior written permission. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 17 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 18 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 19 | * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 20 | * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 21 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 22 | * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 23 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 24 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 26 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 27 | * POSSIBILITY OF SUCH DAMAGE. 28 | */ 29 | 30 | #ifndef __RTT_ROSCOMM_RTT_ROSTOPIC_H 31 | #define __RTT_ROSCOMM_RTT_ROSTOPIC_H 32 | 33 | #warning "Header is deprecated. Please include instead." 34 | 35 | // include renamed header 36 | #include "rostopic.h" 37 | 38 | #endif // ifndef __RTT_ROSCOMM_RTT_ROSTOPIC_H 39 | -------------------------------------------------------------------------------- /rtt_roscomm/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | rtt_roscomm 4 | 2.9.2 5 | 6 | rtt_roscomm provides the necessary template files and cmake macros for 7 | automatic rtt typekit and transport generation from ROS msg files 8 | 9 | Orocos Developers 10 | 11 | BSD 12 | 13 | http://ros.org/wiki/rtt_ros_integration 14 | https://github.com/orocos/rtt_ros_integration/issues 15 | 16 | Ruben Smits 17 | Jonathan Bohren 18 | 19 | catkin 20 | 21 | rtt_ros 22 | rtt_rospack 23 | rtt_rosnode 24 | roscpp 25 | genmsg 26 | 27 | rtt_ros 28 | rtt_rospack 29 | rtt_rosnode 30 | roscpp 31 | genmsg 32 | 33 | 34 | 35 | rtt_rosnode 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /rtt_roscomm/rtt_roscomm_pkg_template/CATKIN_IGNORE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos/rtt_ros_integration/d58546d81152898e21efe79f400c164e5d944c90/rtt_roscomm/rtt_roscomm_pkg_template/CATKIN_IGNORE -------------------------------------------------------------------------------- /rtt_roscomm/rtt_roscomm_pkg_template/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(rtt_@pkgname@) 3 | 4 | find_package(catkin REQUIRED COMPONENTS rtt_roscomm) 5 | 6 | ros_generate_rtt_typekit(@pkgname@) 7 | ros_generate_rtt_service_proxies(@pkgname@) 8 | 9 | orocos_generate_package( 10 | DEPENDS @pkgname@ 11 | DEPENDS_TARGETS rtt_roscomm @rtt_packages@ 12 | ) 13 | -------------------------------------------------------------------------------- /rtt_roscomm/rtt_roscomm_pkg_template/package.xml: -------------------------------------------------------------------------------- 1 | 2 | rtt_@pkgname@ 3 | 0.0.0 4 | 5 | 6 | Provides an rtt typekit for ROS @pkgname@ messages. 7 | 8 | It allows you to use ROS messages transparently in 9 | RTT components and applications. 10 | 11 | This package was automatically generated by the 12 | create_rtt_msgs generator and should not be manually 13 | modified. 14 | 15 | See the http://ros.org/wiki/@pkgname@ documentation 16 | for the documentation of the ROS messages in this 17 | typekit. 18 | 19 | 20 | Orocos Developers 21 | BSD 22 | 23 | catkin 24 | 25 | @pkgname@ 26 | rtt_roscomm 27 | 28 | @pkgname@ 29 | rtt_roscomm 30 | 31 | @deplist@ 32 | 33 | 34 | 35 | rtt_roscomm 36 | @rtt_deplist@ 37 | 38 | 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /rtt_roscomm/scripts/create_rtt_msgs: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | function help 4 | { 5 | echo 6 | echo "Creates an Orocos typekit package from a ROS msgs package." 7 | echo " Usage: $(basename $0) [-f] ros_package_name " 8 | echo 9 | echo "Example:" 10 | echo " $(basename $0) std_msgs " 11 | echo " Creates the rtt_std_msgs package derived from the ROS std_msgs package." 12 | echo 13 | } 14 | 15 | if [ x$1 = x ]; then 16 | help 17 | exit 1 18 | fi 19 | 20 | cwd="$(pwd)" 21 | abspath=$(dirname "$(cd "${0%/*}" 2>/dev/null; echo "$PWD"/"${0##*/}")") 22 | 23 | # Parse arguments 24 | force= 25 | for arg in $*; do 26 | case "$arg" in 27 | -f) 28 | force=-p 29 | ;; 30 | -h|--help) 31 | help 32 | exit 1 33 | ;; 34 | *) 35 | if [ -n "$pkgname" ]; then 36 | echo "ERROR: '$arg': please provide only one ros package name." 37 | exit 1; 38 | fi 39 | if [ -z "$(rospack find $arg)" ]; then 40 | echo "ERROR: could not find ros package '$arg'" 41 | exit 1; 42 | fi 43 | if [[ $arg =~ rtt_.* ]]; then 44 | echo "WARNING: You're giving a package name that starts with 'rtt_'. You may want to use the ROS/non-RTT package name instead." 45 | fi 46 | pkgname="$arg" 47 | ;; 48 | esac 49 | done 50 | 51 | 52 | # Locate the template directory. 53 | templatedir="$(rospack find rtt_roscomm)/rtt_roscomm_pkg_template" 54 | 55 | # final check: 56 | if [ ! -d "$templatedir" ]; then 57 | echo "Could not find templates at $templatedir !" 58 | exit 1 59 | else 60 | echo "Using templates at $templatedir..." 61 | fi 62 | 63 | for dep in $(rospack depends $pkgname | grep "_msgs$"); do 64 | if [ -z "$(rospack find -q rtt_$dep)" ]; then 65 | echo "WARNING: The package 'rtt_$dep' does not exist yet, however, 'rtt_$pkgname' will depend on it !" 66 | echo " Use '$(basename $0) $dep' to create this missing package..." 67 | fi 68 | deplist="$deplist rtt_$dep\n rtt_$dep\n" 69 | rtt_deplist="$rtt_deplist rtt_$dep\n" 70 | rtt_packages="$rtt_packages rtt_$dep\n" 71 | done 72 | 73 | mkdir $force rtt_$pkgname || { echo "Package already exists, use -f to force creation." ; exit 1; } 74 | 75 | # process template files: 76 | files="$(find $templatedir -maxdepth 1 -type f)" 77 | allcappkgname=$(echo $pkgname | tr [:lower:] [:upper:]) 78 | cappkgname=$(echo $allcappkgname | cut -c1)$(echo $pkgname | cut -c2-) 79 | for i in $files; do 80 | tgtname=$(echo $(basename "$i") | sed -e "s/pkgname/$pkgname/g;s/Pkgname/$cappkgname/g;") 81 | cat "$i" | sed -e "s/@PKGNAME@/$allcappkgname/g;s/@pkgname@/$pkgname/g;s/@Pkgname@/$cappkgname/g;s|@deplist@|$deplist|g;s|@rtt_deplist@|$rtt_deplist|g;s|@rtt_packages@|$rtt_packages|g" > rtt_$pkgname/$tgtname 82 | done 83 | rm -vf rtt_$pkgname/CATKIN_IGNORE 84 | 85 | echo "Successfully created rtt_$pkgname." 86 | -------------------------------------------------------------------------------- /rtt_roscomm/src/rtt_rostopic.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | 4 | RTT::ConnPolicy rtt_roscomm::topic(const std::string& name) { 5 | RTT::ConnPolicy cp = RTT::ConnPolicy::data(); 6 | cp.transport = protocol_id; 7 | cp.name_id = name; 8 | cp.init = false; 9 | cp.pull = false; 10 | return cp; 11 | } 12 | 13 | RTT::ConnPolicy rtt_roscomm::topicLatched(const std::string& name) { 14 | RTT::ConnPolicy cp = RTT::ConnPolicy::data(); 15 | cp.transport = protocol_id; 16 | cp.name_id = name; 17 | cp.init = true; 18 | cp.pull = false; 19 | return cp; 20 | } 21 | 22 | /** 23 | * Returns a ConnPolicy object for streaming to or from 24 | * the given ROS topic. Also specifies the buffer size of 25 | * the connection to be created. 26 | */ 27 | RTT::ConnPolicy rtt_roscomm::topicBuffer(const std::string& name, int size) { 28 | RTT::ConnPolicy cp = RTT::ConnPolicy::buffer(size); 29 | cp.transport = protocol_id; 30 | cp.name_id = name; 31 | cp.init = false; 32 | cp.pull = false; 33 | return cp; 34 | } 35 | 36 | /** 37 | * Returns a ConnPolicy object for streaming to or from 38 | * the given ROS topic. Use this only for unbuffered 39 | * publishing, where the publish() method is called 40 | * in the thread of the writing TaskContext. 41 | */ 42 | RTT::ConnPolicy rtt_roscomm::topicUnbuffered(const std::string& name) { 43 | RTT::ConnPolicy cp = RTT::ConnPolicy(); 44 | cp.type = RTT::ConnPolicy::UNBUFFERED; 45 | cp.transport = protocol_id; 46 | cp.name_id = name; 47 | cp.init = false; 48 | cp.pull = false; 49 | return cp; 50 | } 51 | 52 | -------------------------------------------------------------------------------- /rtt_roscomm/src/rtt_rostopic_service.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | using namespace RTT; 6 | using namespace std; 7 | 8 | void loadROSTopicService(){ 9 | RTT::Service::shared_ptr ros = RTT::internal::GlobalService::Instance()->provides("ros"); 10 | RTT::Service::shared_ptr roscomm = ros->provides("comm"); 11 | 12 | // New topic construction operators 13 | roscomm->addConstant("protocol_id", rtt_roscomm::protocol_id); 14 | 15 | roscomm->addOperation("topic", &rtt_roscomm::topic).doc( 16 | "Creates a ConnPolicy for subscribing to or publishing a topic. No buffering is done, only the last message is kept.").arg( 17 | "name", "The ros topic name"); 18 | 19 | roscomm->addOperation("topicLatched", &rtt_roscomm::topicLatched).doc( 20 | "Creates a ConnPolicy for subscribing to or publishing a latched topic. No buffering is done, only the last message is kept.").arg( 21 | "name", "The ros topic name"); 22 | 23 | roscomm->addOperation("topicBuffer", &rtt_roscomm::topicBuffer).doc( 24 | "Creates a ConnPolicy for subscribing to or publishing a topic with a fixed-length message buffer.").arg( 25 | "name", "The ros topic name").arg( 26 | "size","The size of the buffer."); 27 | 28 | roscomm->addOperation("topicUnbuffered", &rtt_roscomm::topicUnbuffered).doc( 29 | "Creates a ConnPolicy for unbuffered publishing a topic. This may not be real-time safe!").arg( 30 | "name", "The ros topic name"); 31 | 32 | // Backwards-compatibility 33 | ros->addConstant("protocol_id", rtt_roscomm::protocol_id); 34 | 35 | ros->addOperation("topic", &rtt_roscomm::topic).doc( 36 | "Creates a ConnPolicy for subscribing to or publishing a topic. No buffering is done, only the last message is kept.").arg( 37 | "name", "The ros topic name"); 38 | ros->addOperation("topicLatched", &rtt_roscomm::topicLatched).doc( 39 | "Creates a ConnPolicy for subscribing to or publishing a latched topic. No buffering is done, only the last message is kept.").arg( 40 | "name", "The ros topic name"); 41 | ros->addOperation("topicBuffer", &rtt_roscomm::topicBuffer).doc( 42 | "Creates a ConnPolicy for subscribing to or publishing a topic with a fixed-length message buffer.").arg( 43 | "name", "The ros topic name").arg( 44 | "size","The size of the buffer."); 45 | ros->addOperation("topicUnbuffered", &rtt_roscomm::topicUnbuffered).doc( 46 | "Creates a ConnPolicy for unbuffered publishing a topic. This may not be real-time safe!").arg( 47 | "name", "The ros topic name"); 48 | } 49 | 50 | using namespace RTT; 51 | extern "C" { 52 | bool loadRTTPlugin(RTT::TaskContext* c){ 53 | if (c != 0) return false; 54 | loadROSTopicService(); 55 | return true; 56 | } 57 | std::string getRTTPluginName (){ 58 | return "rostopic"; 59 | } 60 | std::string getRTTTargetName (){ 61 | return OROCOS_TARGET_NAME; 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /rtt_roscomm/src/templates/service/rtt_rosservice_proxies.cpp.in: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | #include 4 | #include 5 | 6 | #include 7 | #include 8 | 9 | //////////////////////////////////////////////////////////////////////////////// 10 | @ROS_SRV_HEADERS@@ROS_SRV_EXTRA_HEADERS@ 11 | //////////////////////////////////////////////////////////////////////////////// 12 | 13 | namespace rtt_@ROSPACKAGE@_ros_service_proxies { 14 | 15 | bool registerROSServiceProxies() { 16 | // Get the ros service registry service 17 | ROSServiceRegistryServicePtr rosservice_registry = ROSServiceRegistryService::Instance(); 18 | if(!rosservice_registry) { 19 | RTT::log(RTT::Error) << "Could not get an instance of the ROSServiceRegistryService! Not registering service proxies for @ROSPACKAGE@" << RTT::endlog(); 20 | return false; 21 | } 22 | 23 | // Get the factory registration operation 24 | RTT::OperationCaller register_service_factory = 25 | rosservice_registry->getOperation("registerServiceFactory"); 26 | 27 | // Make sure the registration operation is ready 28 | if(!register_service_factory.ready()) { 29 | RTT::log(RTT::Error) << "The ROSServiceRegistryService isn't ready! Not registering service proxies for @ROSPACKAGE@" << RTT::endlog(); 30 | return false; 31 | } 32 | 33 | // True at the end if all factories have been registered 34 | bool success = true; 35 | 36 | ////////////////////////////////////////////////////////////////////////////// 37 | // Example: success = success && register_service_factory(new ROSServiceProxyFactory("std_srvs/Empty")); 38 | @ROS_SRV_FACTORIES@ 39 | ////////////////////////////////////////////////////////////////////////////// 40 | 41 | return success; 42 | } 43 | 44 | } 45 | 46 | extern "C" { 47 | bool loadRTTPlugin(RTT::TaskContext* c) { return rtt_@ROSPACKAGE@_ros_service_proxies::registerROSServiceProxies(); } 48 | std::string getRTTPluginName () { return "rtt_@ROSPACKAGE@_ros_service_proxies"; } 49 | std::string getRTTTargetName () { return OROCOS_TARGET_NAME; } 50 | } 51 | -------------------------------------------------------------------------------- /rtt_roscomm/src/templates/typekit/Types.h.in: -------------------------------------------------------------------------------- 1 | /* Generated from rtt_rostopic/src/Types.h.in */ 2 | #include "Types.hpp" 3 | 4 | 5 | -------------------------------------------------------------------------------- /rtt_roscomm/src/templates/typekit/Types.hpp.in: -------------------------------------------------------------------------------- 1 | /* Generated from rtt_rostopic/src/Types.hpp.in */ 2 | 3 | #ifndef __OROCOS_ROS_GENERATED_@ROSPACKAGE@_TYPES_HPP 4 | #define __OROCOS_ROS_GENERATED_@ROSPACKAGE@_TYPES_HPP 5 | 6 | // includes Types.hpp headers for all messages: 7 | @ROSMSGTYPESHEADERS@ 8 | 9 | #endif 10 | 11 | -------------------------------------------------------------------------------- /rtt_roscomm/src/templates/typekit/msg_Types.hpp.in: -------------------------------------------------------------------------------- 1 | /* Generated from rtt_rostopic/src/msg_Types.hpp.in */ 2 | 3 | #ifndef __OROCOS_ROS_GENERATED_@ROSPACKAGE@_@ROSMSGNAME@_TYPES_HPP 4 | #define __OROCOS_ROS_GENERATED_@ROSPACKAGE@_@ROSMSGNAME@_TYPES_HPP 5 | 6 | #include <@ROSMSGHEADER@> 7 | 8 | // All these classes were generated in the typekit library: 9 | #ifdef CORELIB_DATASOURCE_HPP 10 | extern template class RTT::internal::DataSource< @ROSMSGTYPE@ >; 11 | extern template class RTT::internal::AssignableDataSource< @ROSMSGTYPE@ >; 12 | extern template class RTT::internal::AssignCommand< @ROSMSGTYPE@ >; 13 | #endif 14 | #ifdef ORO_CORELIB_DATASOURCES_HPP 15 | extern template class RTT::internal::ValueDataSource< @ROSMSGTYPE@ >; 16 | extern template class RTT::internal::ConstantDataSource< @ROSMSGTYPE@ >; 17 | extern template class RTT::internal::ReferenceDataSource< @ROSMSGTYPE@ >; 18 | #endif 19 | #ifdef ORO_OUTPUT_PORT_HPP 20 | extern template class RTT::OutputPort< @ROSMSGTYPE@ >; 21 | #endif 22 | #ifdef ORO_INPUT_PORT_HPP 23 | extern template class RTT::InputPort< @ROSMSGTYPE@ >; 24 | #endif 25 | #ifdef ORO_PROPERTY_HPP 26 | extern template class RTT::Property< @ROSMSGTYPE@ >; 27 | #endif 28 | #ifdef ORO_CORELIB_ATTRIBUTE_HPP 29 | extern template class RTT::Attribute< @ROSMSGTYPE@ >; 30 | extern template class RTT::Constant< @ROSMSGTYPE@ >; 31 | #endif 32 | 33 | 34 | #endif 35 | 36 | -------------------------------------------------------------------------------- /rtt_roscomm/src/templates/typekit/ros_msg_corba_conversion.hpp.in: -------------------------------------------------------------------------------- 1 | #ifndef __ROS_@ROSPACKAGE@_@ROSMSGNAME@_CORBA_CONVERSION__ 2 | #define __ROS_@ROSPACKAGE@_@ROSMSGNAME@_CORBA_CONVERSION__ 3 | 4 | #include <@ROSMSGHEADER@> 5 | 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | 15 | namespace RTT 16 | { 17 | namespace corba{ 18 | 19 | template<> 20 | struct AnyConversion< @ROSMSGTYPE@ > 21 | { 22 | typedef CORBA::OctetSeq CorbaType; 23 | typedef @ROSMSGTYPE@ StdType; 24 | 25 | static CorbaType* toAny(const StdType& tp) { 26 | CorbaType* cb = new CorbaType(); 27 | toCorbaType(*cb, tp); 28 | return cb; 29 | } 30 | 31 | static bool update(const CORBA::Any& any, StdType& _value) { 32 | CorbaType* result; 33 | if ( any >>= result ) { 34 | return toStdType(_value, *result); 35 | } 36 | return false; 37 | } 38 | 39 | static CORBA::Any_ptr createAny( const StdType& t ) { 40 | CORBA::Any_ptr ret = new CORBA::Any(); 41 | *ret <<= toAny( t ); 42 | return ret; 43 | } 44 | 45 | static bool updateAny( StdType const& t, CORBA::Any& any ) { 46 | any <<= toAny( t ); 47 | return true; 48 | } 49 | 50 | static bool toCorbaType(CorbaType& cb, const StdType& tp){ 51 | try { 52 | cb.length(ros::serialization::serializationLength(tp)); 53 | ros::serialization::OStream s(static_cast(cb.get_buffer()), static_cast(cb.length())); 54 | ros::serialization::serialize(s, tp); 55 | } catch(ros::serialization::StreamOverrunException& e) { 56 | RTT::log(RTT::Error) << "StreamOverrunException during serialization of " << ros::message_traits::datatype(tp) << ": " 57 | << e.what() << RTT::endlog(); 58 | return false; 59 | } 60 | 61 | return true; 62 | } 63 | 64 | static bool toStdType(StdType& tp, const CorbaType& cb){ 65 | if(cb.length() == 0){ 66 | return false; 67 | } 68 | 69 | try { 70 | ros::serialization::IStream s(const_cast(cb.get_buffer()), static_cast(cb.length())); 71 | ros::serialization::deserialize(s, tp); 72 | } catch(ros::serialization::StreamOverrunException& e) { 73 | RTT::log(RTT::Error) << "StreamOverrunException during deserialization of " << ros::message_traits::datatype(tp) << ": " 74 | << e.what() << RTT::endlog(); 75 | return false; 76 | } 77 | 78 | return true; 79 | } 80 | 81 | }; 82 | } 83 | } 84 | 85 | 86 | #endif 87 | -------------------------------------------------------------------------------- /rtt_roscomm/src/templates/typekit/ros_msg_typekit_plugin.cpp.in: -------------------------------------------------------------------------------- 1 | #include <@ROSMSGBOOSTHEADER@> 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | 8 | // Note: we need to put these up-front or we get gcc compiler warnings: 9 | // <> 10 | template class RTT_EXPORT RTT::internal::DataSource< @ROSMSGTYPE@ >; 11 | template class RTT_EXPORT RTT::internal::AssignableDataSource< @ROSMSGTYPE@ >; 12 | template class RTT_EXPORT RTT::internal::AssignCommand< @ROSMSGTYPE@ >; 13 | template class RTT_EXPORT RTT::internal::ValueDataSource< @ROSMSGTYPE@ >; 14 | template class RTT_EXPORT RTT::internal::ConstantDataSource< @ROSMSGTYPE@ >; 15 | template class RTT_EXPORT RTT::internal::ReferenceDataSource< @ROSMSGTYPE@ >; 16 | template class RTT_EXPORT RTT::OutputPort< @ROSMSGTYPE@ >; 17 | template class RTT_EXPORT RTT::InputPort< @ROSMSGTYPE@ >; 18 | template class RTT_EXPORT RTT::Property< @ROSMSGTYPE@ >; 19 | template class RTT_EXPORT RTT::Attribute< @ROSMSGTYPE@ >; 20 | template class RTT_EXPORT RTT::Constant< @ROSMSGTYPE@ >; 21 | 22 | namespace rtt_roscomm { 23 | using namespace RTT; 24 | // Factory function 25 | @ROSMSGTYPELINE@ 26 | 27 | } 28 | 29 | -------------------------------------------------------------------------------- /rtt_roscomm/src/templates/typekit/ros_package_transport.cpp.in: -------------------------------------------------------------------------------- 1 | @ROSMSGBOOSTHEADERS@ 2 | #include 3 | #include 4 | #include 5 | #include 6 | 7 | namespace rtt_roscomm { 8 | using namespace RTT; 9 | struct ROS@ROSPACKAGE@Plugin 10 | : public types::TransportPlugin 11 | { 12 | bool registerTransport(std::string name, types::TypeInfo* ti) 13 | { 14 | @ROSMSGTRANSPORTS@ { } 15 | return false; 16 | } 17 | 18 | std::string getTransportName() const { 19 | return "ros"; 20 | } 21 | 22 | std::string getTypekitName() const { 23 | return std::string("ros-")+"@ROSPACKAGE@"; 24 | } 25 | std::string getName() const { 26 | return std::string("rtt-ros-") + "@ROSPACKAGE@" + "-transport"; 27 | } 28 | 29 | }; 30 | } 31 | 32 | ORO_TYPEKIT_PLUGIN( rtt_roscomm::ROS@ROSPACKAGE@Plugin ) 33 | -------------------------------------------------------------------------------- /rtt_roscomm/src/templates/typekit/ros_package_transport_corba.cpp.in: -------------------------------------------------------------------------------- 1 | @ROSMSGCORBAHEADERS@ 2 | #include 3 | #include 4 | #include 5 | 6 | namespace RTT { 7 | namespace corba { 8 | struct CORBAROS@ROSPACKAGE@Plugin : public types::TransportPlugin 9 | { 10 | bool registerTransport(std::string name, types::TypeInfo* ti) 11 | { 12 | @CORBAMSGTRANSPORTS@ { } 13 | return false; 14 | } 15 | 16 | std::string getTransportName() const { 17 | return "CORBA"; 18 | } 19 | 20 | std::string getTypekitName() const { 21 | return std::string("ros-")+"@ROSPACKAGE@"; 22 | } 23 | std::string getName() const { 24 | return std::string("rtt-ros-") + "@ROSPACKAGE@" + "-transport-corba"; 25 | } 26 | 27 | }; 28 | } 29 | } 30 | 31 | ORO_TYPEKIT_PLUGIN( RTT::corba::CORBAROS@ROSPACKAGE@Plugin ) 32 | -------------------------------------------------------------------------------- /rtt_roscomm/src/templates/typekit/ros_package_transport_mqueue.cpp.in: -------------------------------------------------------------------------------- 1 | @ROSMSGBOOSTHEADERS@ 2 | #include 3 | #include 4 | #include 5 | #include 6 | 7 | namespace RTT { 8 | namespace mqueue { 9 | struct MQROS@ROSPACKAGE@Plugin : public types::TransportPlugin 10 | { 11 | bool registerTransport(std::string name, types::TypeInfo* ti) 12 | { 13 | @MQMSGTRANSPORTS@ { } 14 | return false; 15 | } 16 | 17 | std::string getTransportName() const { 18 | return "mqueue"; 19 | } 20 | 21 | std::string getTypekitName() const { 22 | return std::string("ros-")+"@ROSPACKAGE@"; 23 | } 24 | std::string getName() const { 25 | return std::string("rtt-ros-") + "@ROSPACKAGE@" + "-transport-mqueue"; 26 | } 27 | 28 | }; 29 | } 30 | } 31 | 32 | ORO_TYPEKIT_PLUGIN( RTT::mqueue::MQROS@ROSPACKAGE@Plugin ) 33 | -------------------------------------------------------------------------------- /rtt_roscomm/src/templates/typekit/ros_package_typekit.cpp.in: -------------------------------------------------------------------------------- 1 | @ROSMSGBOOSTHEADERS@ 2 | #include 3 | #include 4 | 5 | namespace rtt_roscomm { 6 | using namespace RTT; 7 | 8 | /** Declare all factory functions */ 9 | @ROSMSGTYPEDECL@ 10 | 11 | /** 12 | * This interface defines the types of the realTime package. 13 | */ 14 | class ROS@ROSPACKAGE@TypekitPlugin 15 | : public types::TypekitPlugin 16 | { 17 | public: 18 | virtual std::string getName(){ 19 | return std::string("ros-")+"@ROSPACKAGE@"; 20 | } 21 | 22 | virtual bool loadTypes() { 23 | // call all factory functions 24 | @ROSMSGTYPES@ 25 | return true; 26 | } 27 | virtual bool loadOperators() { return true; } 28 | virtual bool loadConstructors() { return true; } 29 | }; 30 | } 31 | 32 | ORO_TYPEKIT_PLUGIN( rtt_roscomm::ROS@ROSPACKAGE@TypekitPlugin ) 33 | 34 | -------------------------------------------------------------------------------- /rtt_rosdeployment/CHANGELOG.rst: -------------------------------------------------------------------------------- 1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2 | Changelog for package rtt_rosdeployment 3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 4 | 5 | 2.9.2 (2019-05-15) 6 | ------------------ 7 | 8 | 2.9.1 (2017-11-16) 9 | ------------------ 10 | 11 | 2.9.0 (2017-05-02) 12 | ------------------ 13 | * Added individual changelogs and bumped versions to 2.9.0 14 | * Contributors: Johannes Meyer 15 | 16 | 2.8.6 (2017-11-15) 17 | ------------------ 18 | 19 | 2.8.5 (2017-03-28) 20 | ------------------ 21 | 22 | 2.8.4 (2016-11-26) 23 | ------------------ 24 | 25 | 2.8.3 (2016-07-20) 26 | ------------------ 27 | 28 | 2.8.2 (2015-06-12) 29 | ------------------ 30 | * see `rtt_ros_integratoin/CHANGELOG.rst <../rtt_ros_integration/CHANGELOG.rst>`_ 31 | -------------------------------------------------------------------------------- /rtt_rosdeployment/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(rtt_rosdeployment) 3 | 4 | find_package(catkin REQUIRED COMPONENTS roscpp rtt_ros rtt_ros_msgs) 5 | 6 | include_directories(${catkin_INCLUDE_DIRS}) 7 | 8 | orocos_use_package(ocl-deployment) 9 | 10 | orocos_plugin(rtt_rosdeployment src/rtt_rosdeployment_service.cpp) 11 | target_link_libraries(rtt_rosdeployment ${catkin_LIBRARIES} ${OROCOS-RTT_RTT-SCRIPTING_LIBRARY}) 12 | 13 | orocos_generate_package( 14 | DEPENDS rtt_ros_msgs 15 | ) 16 | -------------------------------------------------------------------------------- /rtt_rosdeployment/README.md: -------------------------------------------------------------------------------- 1 | rtt_rosdeployment 2 | ----------------- 3 | 4 | This package provides an easy way to interact with an Orocos deployment 5 | component over ROS. This uses ROS srv types in the 6 | [rtt_ros_msgs](../rtt_ros_msgs) package. 7 | 8 | ## Supported Operations (C++ : ROS Service Name) 9 | 10 | * `DeploymentCompnent::runScript`:`run_script` 11 | * `DeploymentCompnent::getPeerList`:`get_peer_list` 12 | 13 | ## Usage 14 | 15 | You can advertise the services from a deployment component like the following: 16 | 17 | ```cpp 18 | import("rtt_rosdeployment"); 19 | this.loadservice("rosdeployment"); 20 | ``` 21 | -------------------------------------------------------------------------------- /rtt_rosdeployment/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | rtt_rosdeployment 4 | 2.9.2 5 | rtt_rosdeployment provides an RTT plugin to control an ocl deployment component over ROS service calls. 6 | Orocos Developers 7 | 8 | BSD 9 | 10 | http://ros.org/wiki/rtt_ros_integration 11 | https://github.com/orocos/rtt_ros_integration/issues 12 | 13 | Jonthan Bohren 14 | 15 | catkin 16 | 17 | rtt_ros 18 | rtt_ros_msgs 19 | roscpp 20 | 21 | rtt_ros 22 | rtt_ros_msgs 23 | roscpp 24 | 25 | 26 | 27 | rtt_rosnode 28 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /rtt_rosnode/CHANGELOG.rst: -------------------------------------------------------------------------------- 1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2 | Changelog for package rtt_rosnode 3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 4 | 5 | 2.9.2 (2019-05-15) 6 | ------------------ 7 | * Merge pull request `#116 `_ from ahoarau/patch-3 into 2.9.2 8 | Defaults the number of spinner threads 9 | * Defaults the number of spinner threads 10 | To the number of CPUs available 11 | * Merge pull request `#111 `_ from orocos/fix-110 into 2.9.2 12 | Declare loadROSService() methods as static to fix name clashes 13 | * Declare loadROSService() methods as static to fix name clashes (fix `#110 `_) 14 | * Merge pull request `#98 `_ from disRecord/feat/get-node-name 15 | rtt_rosnode: Add getNodeName() and getNamespace() operations. 16 | * rtt_rosnode: Add getNodeName() and getNamespace() operations. 17 | * Contributors: Antoine Hoarau, Johannes Meyer, disRecord 18 | 19 | 2.9.1 (2017-11-16) 20 | ------------------ 21 | 22 | 2.9.0 (2017-05-02) 23 | ------------------ 24 | * rtt_rosnode: fixed corruption of RTT's argv vector when loading the rosnode plugin (fix `#54 `_) 25 | * Added individual changelogs and bumped versions to 2.9.0 26 | * Contributors: Johannes Meyer 27 | 28 | 2.8.6 (2017-11-15) 29 | ------------------ 30 | 31 | 2.8.5 (2017-03-28) 32 | ------------------ 33 | 34 | 2.8.4 (2016-11-26) 35 | ------------------ 36 | 37 | 2.8.3 (2016-07-20) 38 | ------------------ 39 | * rtt_rosnode: fixed corruption of RTT's argv vector when loading the rosnode plugin (fix `#54 `_) 40 | * Contributors: Johannes Meyer 41 | 42 | 2.8.2 (2015-06-12) 43 | ------------------ 44 | * see `rtt_ros_integratoin/CHANGELOG.rst <../rtt_ros_integration/CHANGELOG.rst>`_ 45 | -------------------------------------------------------------------------------- /rtt_rosnode/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(rtt_rosnode) 3 | 4 | find_package(catkin REQUIRED COMPONENTS roscpp rtt_ros) 5 | 6 | include_directories(${catkin_INCLUDE_DIRS}) 7 | 8 | # Create orocos rosnode plugin 9 | orocos_plugin(rtt_rosnode src/ros_plugin.cpp) 10 | target_link_libraries(rtt_rosnode ${catkin_LIBRARIES}) 11 | 12 | # Generate install targets and pkg-config files 13 | orocos_generate_package( 14 | DEPENDS roscpp 15 | ) 16 | -------------------------------------------------------------------------------- /rtt_rosnode/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | rtt_rosnode 4 | 2.9.2 5 | 6 | This package provides an RTT plugin to add a ROS node to the RTT process. 7 | 8 | Orocos Developers 9 | 10 | BSD 11 | 12 | http://ros.org/wiki/rtt_ros_integration 13 | https://github.com/orocos/rtt_ros_integration/issues 14 | 15 | Ruben Smits 16 | 17 | catkin 18 | 19 | rtt_ros 20 | roscpp 21 | 22 | rtt_ros 23 | roscpp 24 | 25 | 26 | -------------------------------------------------------------------------------- /rtt_rospack/CHANGELOG.rst: -------------------------------------------------------------------------------- 1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2 | Changelog for package rtt_rospack 3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 4 | 5 | 2.9.2 (2019-05-15) 6 | ------------------ 7 | 8 | 2.9.1 (2017-11-16) 9 | ------------------ 10 | 11 | 2.9.0 (2017-05-02) 12 | ------------------ 13 | * Added individual changelogs and bumped versions to 2.9.0 14 | * Contributors: Johannes Meyer 15 | 16 | 2.8.6 (2017-11-15) 17 | ------------------ 18 | 19 | 2.8.5 (2017-03-28) 20 | ------------------ 21 | 22 | 2.8.4 (2016-11-26) 23 | ------------------ 24 | 25 | 2.8.3 (2016-07-20) 26 | ------------------ 27 | 28 | 2.8.2 (2015-06-12) 29 | ------------------ 30 | * see `rtt_ros_integratoin/CHANGELOG.rst <../rtt_ros_integration/CHANGELOG.rst>`_ 31 | -------------------------------------------------------------------------------- /rtt_rospack/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(rtt_rospack) 3 | 4 | find_package(catkin REQUIRED COMPONENTS roslib rtt_ros) 5 | 6 | #build ROS pack as a separate service 7 | orocos_plugin(rtt_rospack src/rtt_rospack_service.cpp) 8 | target_link_libraries(rtt_rospack ${roslib_LIBRARIES}) 9 | 10 | orocos_generate_package( 11 | DEPENDS roslib 12 | ) 13 | -------------------------------------------------------------------------------- /rtt_rospack/README.md: -------------------------------------------------------------------------------- 1 | rtt_rospack 2 | ----------- 3 | 4 | This package provides an easy way to access rospack from within Orocos RTT in 5 | order to resolve the path to a ROS package on the current system. 6 | 7 | ## Usage 8 | 9 | You can resolve the path to a ROS package on your system in the following way 10 | by importing rtt_rospack and then using find: 11 | 12 | ```cpp 13 | import("rtt_ros"); 14 | ros.import("rtt_rospack"); // extends the 'ros' service with a 'find' function 15 | 16 | var string the_path = ros.find("actionlib"); 17 | ``` 18 | -------------------------------------------------------------------------------- /rtt_rospack/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | rtt_rospack 4 | 2.9.2 5 | rtt_rospack provides an RTT plugin to use rospack to find packages in your ROS_PACKAGE_PATH 6 | Orocos Developers 7 | 8 | BSD 9 | 10 | http://ros.org/wiki/rtt_ros_integration 11 | https://github.com/orocos/rtt_ros_integration/issues 12 | 13 | Ruben Smits 14 | 15 | catkin 16 | 17 | rtt_ros 18 | roslib 19 | 20 | rtt_ros 21 | roslib 22 | 23 | -------------------------------------------------------------------------------- /rtt_rospack/src/rtt_rospack_service.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * (C) 2010, Ruben Smits, ruben.smits@mech.kuleuven.be 3 | * Department of Mechanical Engineering, 4 | * Katholieke Universiteit Leuven, Belgium. 5 | * 6 | * Redistribution and use in source and binary forms, with or without 7 | * modification, are permitted provided that the following conditions 8 | * are met: 9 | * 1. Redistributions of source code must retain the above copyright 10 | * notice, this list of conditions and the following disclaimer. 11 | * 2. Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * 3. Neither the name of the copyright holder nor the names of its contributors 15 | * may be used to endorse or promote products derived from this software 16 | * without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 21 | * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 22 | * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 23 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 24 | * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 25 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 26 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 27 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 28 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 29 | * POSSIBILITY OF SUCH DAMAGE. 30 | */ 31 | 32 | #include 33 | #include 34 | #include 35 | #include 36 | 37 | #include 38 | 39 | using namespace RTT; 40 | using namespace std; 41 | 42 | void loadROSPackService(){ 43 | RTT::Service::shared_ptr ros = RTT::internal::GlobalService::Instance()->provides("ros"); 44 | 45 | ros->addOperation("find", &ros::package::getPath).doc( 46 | "Returns the fully-qualified path to a package, or an empty string if the package is not found"); 47 | } 48 | 49 | using namespace RTT; 50 | extern "C" { 51 | bool loadRTTPlugin(RTT::TaskContext* c){ 52 | if (c != 0) return false; 53 | loadROSPackService(); 54 | return true; 55 | } 56 | std::string getRTTPluginName (){ 57 | return "rospack"; 58 | } 59 | std::string getRTTTargetName (){ 60 | return OROCOS_TARGET_NAME; 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /rtt_rosparam/CHANGELOG.rst: -------------------------------------------------------------------------------- 1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2 | Changelog for package rtt_rosparam 3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 4 | 5 | 2.9.2 (2019-05-15) 6 | ------------------ 7 | 8 | 2.9.1 (2017-11-16) 9 | ------------------ 10 | 11 | 2.9.0 (2017-05-02) 12 | ------------------ 13 | * rtt_rosparam: removed cmake_modules dependency and fixed export of eigen3 dependency 14 | * rtt_rosparam: fixed retrieval of Eigen::VectorXf properties from the parameter server 15 | * rtt_rosparam: added missing operations and operation callers 16 | * rtt_rosparam: moved ResolutionPolicy enum to the service requester header 17 | * rtt_rosparam: enabled Eigen-based operation callers in rosparam.h and added build_export_depend 18 | * sync service with new functions 19 | * add vectorXd/Xf methods 20 | * add Component private/relative/absolute methods 21 | * add template instead of macros 22 | * add missing comma 23 | * only ops supported types 24 | * add ros param getter and setters operations 25 | * add Component private/Relative resolution 26 | * Added individual changelogs and bumped versions to 2.9.0 27 | * cast enum to int to avoid warning 28 | * Contributors: Antoine Hoarau, Johannes Meyer 29 | 30 | 2.8.6 (2017-11-15) 31 | ------------------ 32 | 33 | 2.8.5 (2017-03-28) 34 | ------------------ 35 | 36 | 2.8.4 (2016-11-26) 37 | ------------------ 38 | 39 | 2.8.3 (2016-07-20) 40 | ------------------ 41 | * cast enum to int to avoid warning 42 | * Contributors: Antoine Hoarau 43 | 44 | 2.8.2 (2015-06-12) 45 | ------------------ 46 | * see `rtt_ros_integratoin/CHANGELOG.rst <../rtt_ros_integration/CHANGELOG.rst>`_ 47 | -------------------------------------------------------------------------------- /rtt_rosparam/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(rtt_rosparam) 3 | 4 | find_package(catkin REQUIRED COMPONENTS roscpp rtt_ros) 5 | 6 | # Note: find_package(Eigen3) is not available in earlier Ubuntu versions (< trusty) 7 | include(FindPkgConfig) 8 | pkg_search_module(EIGEN3 REQUIRED eigen3) 9 | 10 | include_directories( 11 | include 12 | ${catkin_INCLUDE_DIRS} 13 | ${EIGEN3_INCLUDE_DIRS} 14 | ) 15 | 16 | # build ROS param as a separate service 17 | orocos_service(rtt_rosparam src/rtt_rosparam_service.cpp) 18 | target_link_libraries(rtt_rosparam 19 | # ${OROCOS-RTT_RTT-MARSHALLING_LIBRARY} 20 | ${catkin_LIBRARIES} 21 | ) 22 | 23 | # Generate install targets and pkg-config files 24 | orocos_install_headers(include/rtt_rosparam/rosparam.h) 25 | orocos_install_headers(include/rtt_rosparam/ros_param_data_source.hpp) 26 | 27 | orocos_generate_package( 28 | INCLUDE_DIRS include ${EIGEN3_INCLUDE_DIRS} 29 | DEPENDS roscpp eigen3 30 | ) 31 | -------------------------------------------------------------------------------- /rtt_rosparam/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | rtt_rosparam 4 | 2.9.2 5 | 6 | This package provides an RTT service and service-requester for associating RTT component properties with ROS parameters 7 | 8 | Orocos Developers 9 | 10 | BSD 11 | 12 | http://ros.org/wiki/rtt_ros_integration 13 | https://github.com/orocos/rtt_ros_integration/issues 14 | 15 | Ruben Smits 16 | 17 | catkin 18 | 19 | rtt_ros 20 | roscpp 21 | eigen 22 | eigen 23 | 24 | 25 | 26 | rtt_rosnode 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /rtt_tf/CHANGELOG.rst: -------------------------------------------------------------------------------- 1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2 | Changelog for package rtt_tf 3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 4 | 5 | 2.9.2 (2019-05-15) 6 | ------------------ 7 | 8 | 2.9.1 (2017-11-16) 9 | ------------------ 10 | 11 | 2.9.0 (2017-05-02) 12 | ------------------ 13 | * Added individual changelogs and bumped versions to 2.9.0 14 | * Contributors: Johannes Meyer 15 | 16 | 2.8.6 (2017-11-15) 17 | ------------------ 18 | 19 | 2.8.5 (2017-03-28) 20 | ------------------ 21 | 22 | 2.8.4 (2016-11-26) 23 | ------------------ 24 | 25 | 2.8.3 (2016-07-20) 26 | ------------------ 27 | 28 | 2.8.2 (2015-06-12) 29 | ------------------ 30 | * see `rtt_ros_integratoin/CHANGELOG.rst <../rtt_ros_integration/CHANGELOG.rst>`_ 31 | -------------------------------------------------------------------------------- /rtt_tf/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(rtt_tf) 3 | 4 | find_package(catkin REQUIRED COMPONENTS tf rtt_ros rtt_roscomm tf2) 5 | 6 | ros_generate_rtt_typekit(tf) 7 | 8 | include_directories(${catkin_INCLUDE_DIRS}) 9 | 10 | orocos_component(rtt_tf rtt_tf-component.cpp) 11 | target_link_libraries(rtt_tf ${catkin_LIBRARIES}) 12 | orocos_install_headers( rtt_tf-component.hpp ) 13 | orocos_install_headers(include/rtt_tf/tf_interface.h) 14 | 15 | orocos_generate_package( 16 | INCLUDE_DIRS include 17 | DEPENDS tf tf2 18 | DEPENDS_TARGETS rtt_roscomm rtt_geometry_msgs rtt_tf2_msgs 19 | ) 20 | 21 | # Tests 22 | if(CATKIN_ENABLE_TESTING) 23 | orocos_use_package(ocl-taskbrowser REQUIRED) 24 | orocos_use_package(ocl-deployment REQUIRED) 25 | 26 | add_definitions(-DRTT_COMPONENT) 27 | orocos_executable(broadcaster_test tests/broadcaster_test.cpp) 28 | target_link_libraries(broadcaster_test ${catkin_LIBRARIES} ${USE_OROCOS_LIBRARIES}) 29 | orocos_executable(lookup_test tests/lookup_test.cpp) 30 | target_link_libraries(lookup_test ${catkin_LIBRARIES} ${USE_OROCOS_LIBRARIES}) 31 | endif() 32 | -------------------------------------------------------------------------------- /rtt_tf/README.md: -------------------------------------------------------------------------------- 1 | RTT TF 2 | ====== 3 | 4 | This package provides an Orocos RTT component for utilizing the [TF2 rigid body 5 | transform library](http://wiki.ros.org/tf2) from within Orocos. This component provides a "tf" service 6 | with operations for requesting and broadcasting sing and batch transforms. 7 | 8 | ### Usage 9 | 10 | In general, a given process only needs a single TF2 component. This component 11 | provides the following operations both on its bare interface and also on the 12 | provided "tf" RTT service. 13 | 14 | * "lookupTransform" Lookup the most recent transform from source to target. 15 | * "target", Target frame 16 | * "source", Source frame 17 | 18 | * "lookupTransformAtTime" Lookup the most recent transform from source to target at a specific time. 19 | * "target", Target frame 20 | * "source", Source frame 21 | * "common\_time", `ros::Time` The common time at which the transform should be computed 22 | 23 | * "broadcastTransform" Broadcast a stamped transform immediately. 24 | * "transform", `geometry\_msgs::TransformStamped` 25 | 26 | * "broadcastTransforms" Broadcast a stamped transform immediately. 27 | * "transforms", `std::vector` 28 | 29 | To use these operations, you need to instantiate an `rtt_tf::RTT_TF` component, 30 | and then connect it with whichever components you intend to have use it: 31 | 32 | ```cpp 33 | import("rtt_ros"); 34 | 35 | // Import and load the TF component 36 | ros.import("rtt_tf"); 37 | loadComponent("tf","rtt_tf::RTT_TF"); 38 | 39 | // Connect operations the tf component's provided "tf" service to another 40 | // component's required "tf" service (easily created with the C++ API shown in the 41 | // next section) 42 | loadComponent("my_component","MyComponent"); 43 | connectServices("my_component","tf"); 44 | ``` 45 | 46 | ### C++ API 47 | 48 | The [rtt\_tf/tf\_interface.h](include/rtt_tf/tf_interface.h) header includes the 49 | `rtt_tf::TFInterface` class which adds a required service to a given RTT 50 | component. This can be used for more easily connecting with the TF2 component. 51 | 52 | It can be used to create the RTT service requester "tf" like so: 53 | 54 | ```cpp 55 | #include 56 | //... 57 | class MyComponent : public RTT::TaskContext { 58 | private: 59 | rtt_tf::TFInterface tf_; 60 | public: 61 | MyComponent(std::string &name) : 62 | RTT::TaskContext(name), 63 | // Add the services 64 | tf_(this) 65 | { /* ... */ } 66 | 67 | bool startHook() { 68 | // Make sure tf is ready & connected 69 | return tf_.ready(); 70 | } 71 | 72 | void updateHook() { 73 | // Lookup a transform 74 | geometry_msgs::TransformStamped tform = tf_.lookupTransform("/world","/my_frame"); 75 | // ... 76 | } 77 | }; 78 | 79 | ``` 80 | -------------------------------------------------------------------------------- /rtt_tf/include/rtt_tf/tf_interface.h: -------------------------------------------------------------------------------- 1 | #ifndef __RTT_TF_TF_INTERFACE_H 2 | #define __RTT_TF_TF_INTERFACE_H 3 | 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | 10 | namespace rtt_tf { 11 | 12 | //! Class for using the TF component from C++ 13 | class TFInterface { 14 | public: 15 | //! Add interfaces to a given taskcontext 16 | TFInterface(RTT::TaskContext *owner) : 17 | lookupTransform("lookupTransform"), 18 | lookupTransformAtTime("lookupTransformAtTime"), 19 | broadcastTransform("broadcastTransform"), 20 | broadcastTransforms("broadcastTransforms"), 21 | broadcastStaticTransform("broadcastStaticTransform"), 22 | broadcastStaticTransforms("broadcastStaticTransforms"), 23 | canTransform("canTransform"), 24 | canTransformAtTime("canTransformAtTime") 25 | { 26 | owner->requires("tf")->addOperationCaller(lookupTransform); 27 | owner->requires("tf")->addOperationCaller(lookupTransformAtTime); 28 | owner->requires("tf")->addOperationCaller(broadcastTransform); 29 | owner->requires("tf")->addOperationCaller(broadcastTransforms); 30 | owner->requires("tf")->addOperationCaller(broadcastStaticTransform); 31 | owner->requires("tf")->addOperationCaller(broadcastStaticTransforms); 32 | owner->requires("tf")->addOperationCaller(canTransform); 33 | owner->requires("tf")->addOperationCaller(canTransformAtTime); 34 | } 35 | 36 | //! Check if the operations are ready 37 | bool ready() { 38 | return 39 | lookupTransform.ready() && 40 | lookupTransformAtTime.ready() && 41 | broadcastTransform.ready() && 42 | broadcastTransforms.ready() && 43 | broadcastStaticTransform.ready() && 44 | broadcastStaticTransforms.ready() && 45 | canTransform.ready() && 46 | canTransformAtTime.ready(); 47 | } 48 | 49 | RTT::OperationCaller lookupTransform; 50 | RTT::OperationCaller lookupTransformAtTime; 51 | RTT::OperationCaller broadcastTransform; 52 | RTT::OperationCaller&)> broadcastTransforms; 53 | RTT::OperationCaller broadcastStaticTransform; 54 | RTT::OperationCaller&)> broadcastStaticTransforms; 55 | RTT::OperationCaller canTransform; 56 | RTT::OperationCaller canTransformAtTime; 57 | }; 58 | } 59 | 60 | #endif // ifndef __RTT_TF_TF_INTERFACE_H 61 | -------------------------------------------------------------------------------- /rtt_tf/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | rtt_tf 4 | 2.9.2 5 | This package contains the components of the rtt_tf package 6 | Orocos Developers 7 | 8 | BSD 9 | 10 | http://ros.org/wiki/rtt_ros_integration 11 | https://github.com/orocos/rtt_ros_integration/issues 12 | 13 | Ruben Smits 14 | 15 | catkin 16 | 17 | rtt 18 | tf 19 | tf2 20 | rtt_roscomm 21 | rtt_geometry_msgs 22 | rtt_tf2_msgs 23 | 24 | rtt 25 | tf 26 | tf2 27 | rtt_roscomm 28 | rtt_geometry_msgs 29 | rtt_tf2_msgs 30 | 31 | 32 | 33 | rtt_tf2_msgs 34 | rtt_roscomm 35 | rtt_geometry_msgs 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /rtt_tf/test.ops: -------------------------------------------------------------------------------- 1 | import("rtt_rosnode") 2 | import("rtt_std_msgs") 3 | import("rtt_geometry_msgs") 4 | import("rtt_tf2_msgs") 5 | import("rtt_tf") 6 | loadComponent("tf","rtt_tf::RTT_TF") 7 | tf.configure() 8 | tf.start() -------------------------------------------------------------------------------- /tests/rtt_dynamic_reconfigure_tests/CHANGELOG.rst: -------------------------------------------------------------------------------- 1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2 | Changelog for package rtt_dynamic_reconfigure_tests 3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 4 | 5 | 2.9.2 (2019-05-15) 6 | ------------------ 7 | 8 | 2.9.1 (2017-11-16) 9 | ------------------ 10 | 11 | 2.9.0 (2017-05-02) 12 | ------------------ 13 | * rtt_dynamic_reconfigure_tests: added tests for user callbacks 14 | * rtt_dynamic_reconfigure: fixed potential deadlock in refresh() for RTT prior to 2.9 15 | * Added individual changelogs and bumped versions to 2.9.0 16 | * tests: add USE_OROCOS_INCLUDE_DIRS explicitly and remove orocos_generate_package() calls for tests 17 | * Contributors: Johannes Meyer 18 | 19 | 2.8.6 (2017-11-15) 20 | ------------------ 21 | 22 | 2.8.5 (2017-03-28) 23 | ------------------ 24 | * Merge pull request `#86 `_ from orocos/rtt_dynamic_reconfigure-check-updated-properties 25 | rtt_dynamic_reconfigure: report updated property values in the service response (indigo-devel) 26 | * Merge pull request `#57 `_ from meyerj/improved-tests 27 | Refactored test packages and improved rtt_roscomm_tests 28 | * Contributors: Johannes Meyer 29 | 30 | 2.8.4 (2016-11-26) 31 | ------------------ 32 | 33 | 2.8.3 (2016-07-20) 34 | ------------------ 35 | * rtt_dynamic_reconfigure: fixed potential deadlock in refresh() for RTT prior to 2.9 36 | * tests: removed all run dependencies or replaced them by test dependencies 37 | * Contributors: Johannes Meyer 38 | 39 | 2.8.2 (2015-06-12) 40 | ------------------ 41 | * rtt_dynamic_reconfigure: added support for Property composition and decomposition and fixed reconfiguration of nested properties 42 | * Contributors: Johannes Meyer 43 | 44 | 2.8.1 (2015-03-16) 45 | ------------------ 46 | * see `rtt_ros_integratoin/CHANGELOG.rst <../rtt_ros_integration/CHANGELOG.rst>`_ 47 | -------------------------------------------------------------------------------- /tests/rtt_dynamic_reconfigure_tests/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(rtt_dynamic_reconfigure_tests) 3 | 4 | find_package(catkin REQUIRED COMPONENTS rtt_dynamic_reconfigure) 5 | 6 | generate_dynamic_reconfigure_options( 7 | cfg/Test.cfg 8 | ) 9 | 10 | catkin_package() 11 | 12 | if(CATKIN_ENABLE_TESTING) 13 | 14 | include_directories(${USE_OROCOS_INCLUDE_DIRS}) 15 | 16 | orocos_plugin(rtt_dynamic_reconfigure_tests_service test/service.cpp) 17 | add_dependencies(rtt_dynamic_reconfigure_tests_service ${PROJECT_NAME}_gencfg) 18 | 19 | orocos_component(rtt_dynamic_reconfigure_tests_component test/test_component.cpp) 20 | 21 | catkin_add_gtest(rtt_dynamic_reconfigure_tests test/rtt_dynamic_reconfigure_tests.cpp) 22 | add_dependencies(rtt_dynamic_reconfigure_tests rtt_dynamic_reconfigure_tests_service) 23 | orocos_configure_executable(rtt_dynamic_reconfigure_tests) 24 | target_link_libraries(rtt_dynamic_reconfigure_tests rtt_dynamic_reconfigure_tests_component) 25 | 26 | endif() 27 | -------------------------------------------------------------------------------- /tests/rtt_dynamic_reconfigure_tests/cfg/Test.cfg: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | PACKAGE = "rtt_dynamic_reconfigure_tests" 3 | 4 | from dynamic_reconfigure.parameter_generator_catkin import * 5 | 6 | gen = ParameterGenerator() 7 | 8 | gen.add("int_param", int_t, 0, "An Integer parameter", 50, 0, 100) 9 | gen.add("double_param", double_t, 0, "A double parameter", .5, 0, 1) 10 | gen.add("str_param", str_t, 0, "A string parameter", "Hello World") 11 | gen.add("bool_param", bool_t, 0, "A Boolean parameter", True) 12 | 13 | gen.add("non_existent", double_t, 0, "A double parameter for a non-existent property", 5, 0, 10) 14 | 15 | #group = gen.add_group("a_group") 16 | #group.add("group_param", str_t, 0, "An string within My Group", "") 17 | 18 | exit(gen.generate(PACKAGE, "rtt_dynamic_reconfigure_test", "Test")) 19 | -------------------------------------------------------------------------------- /tests/rtt_dynamic_reconfigure_tests/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | rtt_dynamic_reconfigure_tests 4 | 2.9.2 5 | The rtt_dynamic_reconfigure_tests package 6 | Orocos Developers 7 | 8 | BSD 9 | 10 | Johannes Meyer 11 | 12 | catkin 13 | 14 | rtt_ros 15 | rtt_dynamic_reconfigure 16 | rtt_geometry_msgs 17 | 18 | 19 | 20 | 21 | rtt_dynamic_reconfigure 22 | rtt_geometry_msgs 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /tests/rtt_dynamic_reconfigure_tests/test/service.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * (C) 2014, Intermodalics BVBA 3 | * 4 | * Redistribution and use in source and binary forms, with or without 5 | * modification, are permitted provided that the following conditions 6 | * are met: 7 | * 1. Redistributions of source code must retain the above copyright 8 | * notice, this list of conditions and the following disclaimer. 9 | * 2. Redistributions in binary form must reproduce the above copyright 10 | * notice, this list of conditions and the following disclaimer in the 11 | * documentation and/or other materials provided with the distribution. 12 | * 3. Neither the name of the copyright holder nor the names of its contributors 13 | * may be used to endorse or promote products derived from this software 14 | * without specific prior written permission. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 17 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 18 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 19 | * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 20 | * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 21 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 22 | * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 23 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 24 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 26 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 27 | * POSSIBILITY OF SUCH DAMAGE. 28 | */ 29 | 30 | #include 31 | #include 32 | 33 | using namespace rtt_dynamic_reconfigure_tests; 34 | 35 | namespace rtt_dynamic_reconfigure { 36 | 37 | template <> 38 | struct Updater { 39 | static bool propertiesFromConfig(TestConfig &config, uint32_t level, RTT::PropertyBag &bag) { 40 | setProperty("int_param", bag, config.int_param); 41 | setProperty("double_param", bag, config.double_param); 42 | setProperty("str_param", bag, config.str_param); 43 | setProperty("bool_param", bag, config.bool_param); 44 | setProperty("non_existent", bag, config.non_existent); 45 | return true; 46 | } 47 | static bool configFromProperties(TestConfig &config, const RTT::PropertyBag &bag) { 48 | getProperty("int_param", bag, config.int_param); 49 | getProperty("double_param", bag, config.double_param); 50 | getProperty("str_param", bag, config.str_param); 51 | getProperty("bool_param", bag, config.bool_param); 52 | getProperty("non_existent", bag, config.non_existent); 53 | return true; 54 | } 55 | }; 56 | 57 | } // namespace rtt_dynamic_reconfigure 58 | 59 | RTT_DYNAMIC_RECONFIGURE_SERVICE_PLUGIN(TestConfig, "test_reconfigure") 60 | -------------------------------------------------------------------------------- /tests/rtt_dynamic_reconfigure_tests/test/test_component.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * (C) 2015, Intermodalics BVBA 3 | * 4 | * Redistribution and use in source and binary forms, with or without 5 | * modification, are permitted provided that the following conditions 6 | * are met: 7 | * 1. Redistributions of source code must retain the above copyright 8 | * notice, this list of conditions and the following disclaimer. 9 | * 2. Redistributions in binary form must reproduce the above copyright 10 | * notice, this list of conditions and the following disclaimer in the 11 | * documentation and/or other materials provided with the distribution. 12 | * 3. Neither the name of the copyright holder nor the names of its contributors 13 | * may be used to endorse or promote products derived from this software 14 | * without specific prior written permission. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 17 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 18 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 19 | * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 20 | * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 21 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 22 | * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 23 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 24 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 26 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 27 | * POSSIBILITY OF SUCH DAMAGE. 28 | */ 29 | 30 | #include 31 | #include "test_component.hpp" 32 | 33 | using namespace rtt_dynamic_reconfigure; 34 | ORO_CREATE_COMPONENT(DynamicReconfigureTestComponent) 35 | -------------------------------------------------------------------------------- /tests/rtt_ros_tests/CHANGELOG.rst: -------------------------------------------------------------------------------- 1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2 | Changelog for package rtt_ros_tests 3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 4 | 5 | 2.9.2 (2019-05-15) 6 | ------------------ 7 | 8 | 2.9.1 (2017-11-16) 9 | ------------------ 10 | 11 | 2.9.0 (2017-05-02) 12 | ------------------ 13 | * Added individual changelogs and bumped versions to 2.9.0 14 | * tests: add USE_OROCOS_INCLUDE_DIRS explicitly and remove orocos_generate_package() calls for tests 15 | * Contributors: Johannes Meyer 16 | 17 | 2.8.6 (2017-11-15) 18 | ------------------ 19 | 20 | 2.8.5 (2017-03-28) 21 | ------------------ 22 | * Merge pull request `#57 `_ from meyerj/improved-tests 23 | Refactored test packages and improved rtt_roscomm_tests 24 | * Contributors: Johannes Meyer 25 | 26 | 2.8.4 (2016-11-26) 27 | ------------------ 28 | 29 | 2.8.3 (2016-07-20) 30 | ------------------ 31 | * tests: removed all run dependencies or replaced them by test dependencies 32 | * Contributors: Johannes Meyer 33 | 34 | 2.8.2 (2015-06-12) 35 | ------------------ 36 | * see `rtt_ros_integratoin/CHANGELOG.rst <../rtt_ros_integration/CHANGELOG.rst>`_ 37 | -------------------------------------------------------------------------------- /tests/rtt_ros_tests/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(rtt_ros_tests) 3 | 4 | find_package(catkin REQUIRED COMPONENTS rtt_ros) 5 | 6 | catkin_package() 7 | 8 | if(CATKIN_ENABLE_TESTING) 9 | 10 | orocos_use_package(ocl-logging) 11 | orocos_use_package(ocl-deployment) 12 | 13 | include_directories(${USE_OROCOS_INCLUDE_DIRS}) 14 | 15 | catkin_add_gtest(rtt_ros_api_tests test/api_tests.cpp) 16 | target_link_libraries(rtt_ros_api_tests 17 | ${catkin_LIBRARIES} 18 | ${USE_OROCOS_LIBRARIES} 19 | ${OROCOS-RTT_LIBRARIES} 20 | ${OROCOS-RTT_RTT-SCRIPTING_LIBRARY}) 21 | 22 | endif() 23 | -------------------------------------------------------------------------------- /tests/rtt_ros_tests/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | rtt_ros_tests 4 | 2.9.2 5 | The rtt_ros_tests package 6 | Orocos Developers 7 | 8 | BSD 9 | 10 | Jonathan Bohren 11 | 12 | catkin 13 | 14 | rtt_ros 15 | ocl 16 | 17 | rtt_rospack 18 | 19 | 20 | 21 | 22 | rtt_rospack 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /tests/rtt_ros_tests/test/api_tests.cpp: -------------------------------------------------------------------------------- 1 | /** Copyright (c) 2013, Jonathan Bohren, all rights reserved. 2 | * This software is released under the BSD 3-clause license, for the details of 3 | * this license, please see LICENSE.txt at the root of this repository. 4 | */ 5 | 6 | #include 7 | #include 8 | #include 9 | 10 | #include 11 | 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | 19 | #include 20 | using namespace boost::assign; 21 | 22 | #include 23 | 24 | boost::shared_ptr deployer; 25 | boost::shared_ptr scripting_service; 26 | 27 | TEST(BasicTest, Import) 28 | { 29 | // Import rtt_ros plugin 30 | RTT::ComponentLoader::Instance()->import("rtt_ros", "" ); 31 | } 32 | 33 | TEST(BasicTest, ImportChaining) 34 | { 35 | // Import rtt_ros plugin 36 | EXPECT_TRUE(scripting_service->eval("ros.import(\"rtt_ros_tests\")")); 37 | EXPECT_TRUE(scripting_service->eval("ros.find(\"rtt_ros\")")); 38 | } 39 | 40 | 41 | int main(int argc, char** argv) { 42 | testing::InitGoogleTest(&argc, argv); 43 | 44 | // Initialize Orocos 45 | __os_init(argc, argv); 46 | 47 | deployer = boost::make_shared(); 48 | scripting_service = deployer->getProvider("scripting"); 49 | 50 | RTT::Logger::log().setStdStream(std::cerr); 51 | RTT::Logger::log().mayLogStdOut(true); 52 | RTT::Logger::log().setLogLevel(RTT::Logger::Debug); 53 | 54 | return RUN_ALL_TESTS(); 55 | } 56 | -------------------------------------------------------------------------------- /tests/rtt_rosbuild_tests/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.4.6) 2 | include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake) 3 | 4 | # Set the build type. Options are: 5 | # Coverage : w/ debug symbols, w/o optimization, w/ code-coverage 6 | # Debug : w/ debug symbols, w/o optimization 7 | # Release : w/o debug symbols, w/ optimization 8 | # RelWithDebInfo : w/ debug symbols, w/ optimization 9 | # MinSizeRel : w/o debug symbols, w/ optimization, stripped binaries 10 | #set(ROS_BUILD_TYPE RelWithDebInfo) 11 | 12 | rosbuild_init() 13 | 14 | #set the default path for built executables to the "bin" directory 15 | set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) 16 | #set the default path for built libraries to the "lib" directory 17 | set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib) 18 | 19 | if(CATKIN_ENABLE_TESTING) 20 | 21 | #uncomment if you have defined messages 22 | rosbuild_genmsg() 23 | #uncomment if you have defined services 24 | #rosbuild_gensrv() 25 | 26 | #common commands for building c++ executables and libraries 27 | #rosbuild_add_library(${PROJECT_NAME} src/example.cpp) 28 | #target_link_libraries(${PROJECT_NAME} another_library) 29 | #rosbuild_add_boost_directories() 30 | #rosbuild_link_boost(${PROJECT_NAME} thread) 31 | #rosbuild_add_executable(example examples/example.cpp) 32 | #target_link_libraries(example ${PROJECT_NAME}) 33 | 34 | add_subdirectory(typekit) 35 | 36 | find_package(rtt_ros REQUIRED) 37 | include_directories(${USE_OROCOS_INCLUDE_DIRS}) 38 | 39 | orocos_component(rtt_rosbuild_component src/component.cpp) 40 | target_link_libraries(rtt_rosbuild_component rtt-${PROJECT_NAME}-typekit) 41 | 42 | endif() 43 | -------------------------------------------------------------------------------- /tests/rtt_rosbuild_tests/Makefile: -------------------------------------------------------------------------------- 1 | include $(shell rospack find mk)/cmake.mk -------------------------------------------------------------------------------- /tests/rtt_rosbuild_tests/manifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | rtt_ros_rosbuild_test 5 | 6 | 7 | Johannes Meyer 8 | BSD 9 | 10 | http://ros.org/wiki/rtt_ros_rosbuild_test 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | rtt_roscomm 19 | rtt_geometry_msgs 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /tests/rtt_rosbuild_tests/msg/String.msg: -------------------------------------------------------------------------------- 1 | string data 2 | -------------------------------------------------------------------------------- /tests/rtt_rosbuild_tests/scripts/test_rtt_ros_rosbuild: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | export ORO_LOGLEVEL=5 3 | exec rosrun rtt_ros deployer -s $(rospack find rtt_rosbuild_tests)/scripts/test_rtt_ros_rosbuild.ops 4 | -------------------------------------------------------------------------------- /tests/rtt_rosbuild_tests/scripts/test_rtt_ros_rosbuild.ops: -------------------------------------------------------------------------------- 1 | import("rtt_ros") 2 | ros.import("rtt_rosbuild_tests") 3 | 4 | loadComponent("test", "rtt_rosbuild_tests::Component") 5 | stream("test.string", rostopic.connection("chatter")) 6 | test.setPeriod(1.0) 7 | 8 | test.start() 9 | -------------------------------------------------------------------------------- /tests/rtt_rosbuild_tests/src/component.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | #include 5 | #include 6 | 7 | namespace rtt_rosbuild_tests { 8 | 9 | class Component : public RTT::TaskContext 10 | { 11 | public: 12 | Component(const std::string& name) 13 | : RTT::TaskContext(name) 14 | { 15 | this->addPort("string", port_string); 16 | this->addPort("pose", port_pose); 17 | } 18 | 19 | void updateHook() 20 | { 21 | rtt_rosbuild_tests::String string; 22 | string.data = "Hello from " ROS_PACKAGE_NAME "!"; 23 | port_string.write(string); 24 | } 25 | 26 | private: 27 | RTT::OutputPort port_string; 28 | RTT::InputPort port_pose; 29 | }; 30 | 31 | } // namespace rtt_rosbuild_tests 32 | 33 | ORO_CREATE_COMPONENT(rtt_rosbuild_tests::Component) 34 | -------------------------------------------------------------------------------- /tests/rtt_rosbuild_tests/typekit/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | find_package(rtt_roscomm REQUIRED) 2 | 3 | ros_generate_rtt_typekit(rtt_rosbuild_tests) 4 | ros_generate_rtt_service_proxies(rtt_rosbuild_tests) 5 | 6 | orocos_generate_package(rtt_rosbuild_tests_msgs-${OROCOS_TARGET}) 7 | -------------------------------------------------------------------------------- /tests/rtt_roscomm_tests/CHANGELOG.rst: -------------------------------------------------------------------------------- 1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2 | Changelog for package rtt_roscomm_tests 3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 4 | 5 | 2.9.2 (2019-05-15) 6 | ------------------ 7 | 8 | 2.9.1 (2017-11-16) 9 | ------------------ 10 | 11 | 2.9.0 (2017-05-02) 12 | ------------------ 13 | * rtt_std_msgs: added a VectorMultiArrayAdapter class and added type transporter for arrays (std_msgs/Float64MultiArray) 14 | * rtt_std_msgs: added a transport plugin for ROS primitive types 15 | * rtt_roscomm_tests: fixed create_rtt_msgs test 16 | * rtt_roscomm: renamed header rtt_rostopic.h to rostopic.h and changed namespace for the ROSService service requester for consistency 17 | * rtt_roscomm_tests: added a test for the rosservice plugin 18 | * rtt_roscomm_tests: check advertised/subscribed topics and publisher/subscriber destruction 19 | * Added individual changelogs and bumped versions to 2.9.0 20 | * tests: split off out-of-band ROS transport test using rostest and integrated create_rtt_msgs test with catkin 21 | * tests: add USE_OROCOS_INCLUDE_DIRS explicitly and remove orocos_generate_package() calls for tests 22 | * rtt_roscomm_tests: added an out-of-band test using the ROS transport 23 | * Contributors: Johannes Meyer 24 | 25 | 2.8.6 (2017-11-15) 26 | ------------------ 27 | 28 | 2.8.5 (2017-03-28) 29 | ------------------ 30 | * Merge pull request `#85 `_ from meyerj/ros-primitives-transport-indigo-devel 31 | Added a ROS transport plugin for primitive types (indigo-devel) 32 | * rtt_roscomm_tests: added test dependency rosbash required for the rosrun command 33 | * Merge pull request `#57 `_ from meyerj/improved-tests 34 | Refactored test packages and improved rtt_roscomm_tests 35 | * Contributors: Johannes Meyer 36 | 37 | 2.8.4 (2016-11-26) 38 | ------------------ 39 | 40 | 2.8.3 (2016-07-20) 41 | ------------------ 42 | * tests: removed all run dependencies or replaced them by test dependencies 43 | * Contributors: Johannes Meyer 44 | 45 | 2.8.2 (2015-06-12) 46 | ------------------ 47 | * see `rtt_ros_integratoin/CHANGELOG.rst <../rtt_ros_integration/CHANGELOG.rst>`_ 48 | -------------------------------------------------------------------------------- /tests/rtt_roscomm_tests/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(rtt_roscomm_tests) 3 | 4 | find_package(catkin REQUIRED COMPONENTS rtt_ros) 5 | 6 | catkin_package() 7 | 8 | if(CATKIN_ENABLE_TESTING) 9 | 10 | orocos_use_package(ocl-logging) 11 | orocos_use_package(ocl-deployment) 12 | orocos_use_package(rtt_std_msgs) 13 | 14 | include_directories(${USE_OROCOS_INCLUDE_DIRS}) 15 | 16 | catkin_add_gtest(api_tests test/api_tests.cpp) 17 | target_link_libraries(api_tests 18 | ${catkin_LIBRARIES} 19 | ${USE_OROCOS_LIBRARIES} 20 | ${OROCOS-RTT_LIBRARIES} 21 | ${OROCOS-RTT_RTT-SCRIPTING_LIBRARY} ) 22 | 23 | find_package(rostest REQUIRED) 24 | add_rostest_gtest(transport_tests test/transport_tests.test test/transport_tests.cpp) 25 | target_link_libraries(transport_tests 26 | ${catkin_LIBRARIES} 27 | ${USE_OROCOS_LIBRARIES} 28 | ${OROCOS-RTT_LIBRARIES}) 29 | 30 | add_custom_target(test_create_rtt_msgs ${CMAKE_CURRENT_SOURCE_DIR}/test/create_rtt_msgs/test_create_rtt_msgs.sh) 31 | add_dependencies(_run_tests_${PROJECT_NAME} test_create_rtt_msgs) 32 | 33 | endif() 34 | -------------------------------------------------------------------------------- /tests/rtt_roscomm_tests/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | rtt_roscomm_tests 4 | 2.9.2 5 | The rtt_roscomm_tests package 6 | Orocos Developers 7 | 8 | BSD 9 | 10 | Jonathan Bohren 11 | 12 | catkin 13 | 14 | rtt_roscomm 15 | rtt_std_msgs 16 | ocl 17 | 18 | rtt_rosnode 19 | 20 | rtt_std_srvs 21 | rosbash 22 | rostest 23 | 24 | 25 | -------------------------------------------------------------------------------- /tests/rtt_roscomm_tests/test/api_tests.cpp: -------------------------------------------------------------------------------- 1 | /** Copyright (c) 2013, Jonathan Bohren, all rights reserved. 2 | * This software is released under the BSD 3-clause license, for the details of 3 | * this license, please see LICENSE.txt at the root of this repository. 4 | */ 5 | 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | 12 | #include 13 | 14 | boost::shared_ptr deployer; 15 | boost::shared_ptr scripting_service; 16 | 17 | TEST(BasicTest, Import) 18 | { 19 | // Import rtt_ros plugin 20 | EXPECT_TRUE(RTT::ComponentLoader::Instance()->import("rtt_ros", "" )); 21 | EXPECT_TRUE(RTT::ComponentLoader::Instance()->import("rtt_roscomm", "" )); 22 | } 23 | 24 | TEST(BasicTest, ImportTypekit) 25 | { 26 | // Import rtt_std_msgs typekit 27 | EXPECT_TRUE(RTT::ComponentLoader::Instance()->import("rtt_std_msgs", "" )); 28 | EXPECT_TRUE(scripting_service->eval("var ConnPolicy float_out = ros.topic(\"float_out\")")); 29 | } 30 | 31 | int main(int argc, char** argv) { 32 | testing::InitGoogleTest(&argc, argv); 33 | 34 | // Initialize Orocos 35 | __os_init(argc, argv); 36 | 37 | deployer = boost::make_shared(); 38 | scripting_service = deployer->getProvider("scripting"); 39 | 40 | RTT::Logger::log().setStdStream(std::cerr); 41 | RTT::Logger::log().mayLogStdOut(true); 42 | RTT::Logger::log().setLogLevel(RTT::Logger::Debug); 43 | 44 | return RUN_ALL_TESTS(); 45 | } 46 | 47 | -------------------------------------------------------------------------------- /tests/rtt_roscomm_tests/test/create_rtt_msgs/my_msgs/CATKIN_IGNORE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos/rtt_ros_integration/d58546d81152898e21efe79f400c164e5d944c90/tests/rtt_roscomm_tests/test/create_rtt_msgs/my_msgs/CATKIN_IGNORE -------------------------------------------------------------------------------- /tests/rtt_roscomm_tests/test/create_rtt_msgs/my_msgs/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(my_msgs) 3 | 4 | find_package(catkin REQUIRED 5 | COMPONENTS std_msgs message_generation) 6 | 7 | add_message_files(FILES m1.msg m2.msg m3.msg m4.msg) 8 | add_service_files(FILES s1.srv) 9 | 10 | generate_messages(DEPENDENCIES std_msgs) 11 | 12 | catkin_package(CATKIN_DEPENDS std_msgs message_runtime) 13 | 14 | 15 | -------------------------------------------------------------------------------- /tests/rtt_roscomm_tests/test/create_rtt_msgs/my_msgs/msg/m1.msg: -------------------------------------------------------------------------------- 1 | # Test primitives 2 | bool b 3 | int8 i8 4 | uint8 ui8 5 | int16 ui16 6 | int32 i32 7 | uint32 ui32 8 | int64 ui64 9 | float32 f32 10 | float64 f64 11 | string s 12 | time t 13 | duration d 14 | -------------------------------------------------------------------------------- /tests/rtt_roscomm_tests/test/create_rtt_msgs/my_msgs/msg/m2.msg: -------------------------------------------------------------------------------- 1 | # Test constants 2 | bool b = False 3 | int8 i8 = 1 4 | uint8 ui8 = 2 5 | int16 ui16 = 3 6 | int32 i32 = 4 7 | uint32 ui32 = 5 8 | int64 ui64 = 6 9 | float32 f32 = 7.0 10 | float64 f64 = 8.0 11 | string s = "9" 12 | # These can't be constants 13 | #time t 14 | #duration d 15 | -------------------------------------------------------------------------------- /tests/rtt_roscomm_tests/test/create_rtt_msgs/my_msgs/msg/m3.msg: -------------------------------------------------------------------------------- 1 | bool[] b 2 | int8[] i8 3 | uint8[] ui8 4 | int16[] ui16 5 | int32[] i32 6 | uint32[] ui32 7 | int64[] ui64 8 | float32[] f32 9 | float64[] f64 10 | string[] s 11 | time[] t 12 | duration[] d 13 | -------------------------------------------------------------------------------- /tests/rtt_roscomm_tests/test/create_rtt_msgs/my_msgs/msg/m4.msg: -------------------------------------------------------------------------------- 1 | my_msgs/m1 one 2 | my_msgs/m2 two 3 | my_msgs/m3 three 4 | -------------------------------------------------------------------------------- /tests/rtt_roscomm_tests/test/create_rtt_msgs/my_msgs/package.xml: -------------------------------------------------------------------------------- 1 | 2 | my_msgs 3 | 0.0.0 4 | Testing package for rtt_roscomm 5 | Jonathan Bohren 6 | BSD 7 | 8 | catkin 9 | std_msgs 10 | std_msgs 11 | message_generation 12 | message_runtime 13 | 14 | -------------------------------------------------------------------------------- /tests/rtt_roscomm_tests/test/create_rtt_msgs/my_msgs/srv/s1.srv: -------------------------------------------------------------------------------- 1 | bool request 2 | --- 3 | bool response 4 | -------------------------------------------------------------------------------- /tests/rtt_roscomm_tests/test/create_rtt_msgs/test_create_rtt_msgs.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh -e 2 | 3 | # Create a temporary catkin workspace 4 | TEMP_WS=`mktemp -d` 5 | mkdir -p $TEMP_WS/src 6 | cp -R `dirname $0`/my_msgs $TEMP_WS/src/my_msgs 7 | rm $TEMP_WS/src/my_msgs/CATKIN_IGNORE 8 | 9 | # Build the message package 10 | mkdir -p $TEMP_WS/build/my_msgs 11 | cd $TEMP_WS/build/my_msgs 12 | cmake $TEMP_WS/src/my_msgs -DCATKIN_DEVEL_PREFIX=$TEMP_WS/devel -DCMAKE_INSTALL_PREFIX=$TEMP_WS/install 13 | make install 14 | 15 | # Generate and build the rtt typekit package 16 | . $TEMP_WS/install/setup.sh 17 | cd $TEMP_WS/src 18 | rosrun rtt_roscomm create_rtt_msgs my_msgs 19 | mkdir -p $TEMP_WS/build/rtt_my_msgs 20 | cd $TEMP_WS/build/rtt_my_msgs 21 | cmake $TEMP_WS/src/rtt_my_msgs -DCATKIN_DEVEL_PREFIX=$TEMP_WS/devel -DCMAKE_INSTALL_PREFIX=$TEMP_WS/install 22 | make install 23 | 24 | # Run RTT and try to import the typekit 25 | . $TEMP_WS/install/setup.sh 26 | cd $TEMP_WS 27 | rosrun rtt_ros rttscript --check -l debug `dirname $0`/test_create_rtt_msgs.xml 28 | 29 | # Cleanup 30 | rm -rf $TEMP_WS 31 | -------------------------------------------------------------------------------- /tests/rtt_roscomm_tests/test/create_rtt_msgs/test_create_rtt_msgs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | rtt_my_msgs 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tests/rtt_roscomm_tests/test/transport_tests.test: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /tests/rtt_rospack_tests/CHANGELOG.rst: -------------------------------------------------------------------------------- 1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2 | Changelog for package rtt_rospack_tests 3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 4 | 5 | 2.9.2 (2019-05-15) 6 | ------------------ 7 | 8 | 2.9.1 (2017-11-16) 9 | ------------------ 10 | 11 | 2.9.0 (2017-05-02) 12 | ------------------ 13 | * Added individual changelogs and bumped versions to 2.9.0 14 | * tests: add USE_OROCOS_INCLUDE_DIRS explicitly and remove orocos_generate_package() calls for tests 15 | * Contributors: Johannes Meyer 16 | 17 | 2.8.6 (2017-11-15) 18 | ------------------ 19 | 20 | 2.8.5 (2017-03-28) 21 | ------------------ 22 | * Merge pull request `#57 `_ from meyerj/improved-tests 23 | Refactored test packages and improved rtt_roscomm_tests 24 | * Contributors: Johannes Meyer 25 | 26 | 2.8.4 (2016-11-26) 27 | ------------------ 28 | 29 | 2.8.3 (2016-07-20) 30 | ------------------ 31 | * tests: removed all run dependencies or replaced them by test dependencies 32 | * Contributors: Johannes Meyer 33 | 34 | 2.8.2 (2015-06-12) 35 | ------------------ 36 | * see `rtt_ros_integratoin/CHANGELOG.rst <../rtt_ros_integration/CHANGELOG.rst>`_ 37 | -------------------------------------------------------------------------------- /tests/rtt_rospack_tests/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(rtt_rospack_tests) 3 | 4 | find_package(catkin REQUIRED COMPONENTS rtt_ros) 5 | 6 | catkin_package() 7 | 8 | if(CATKIN_ENABLE_TESTING) 9 | 10 | orocos_use_package(ocl-logging) 11 | orocos_use_package(ocl-deployment) 12 | 13 | include_directories(${USE_OROCOS_INCLUDE_DIRS}) 14 | 15 | catkin_add_gtest(rtt_rospack_api_tests test/api_tests.cpp) 16 | target_link_libraries(rtt_rospack_api_tests 17 | ${catkin_LIBRARIES} 18 | ${USE_OROCOS_LIBRARIES} 19 | ${OROCOS-RTT_LIBRARIES} 20 | ${OROCOS-RTT_RTT-SCRIPTING_LIBRARY}) 21 | 22 | endif() 23 | -------------------------------------------------------------------------------- /tests/rtt_rospack_tests/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | rtt_rospack_tests 4 | 2.9.2 5 | The rtt_ros_tests package 6 | Orocos Developers 7 | 8 | BSD 9 | 10 | Jonathan Bohren 11 | 12 | catkin 13 | 14 | roslib 15 | rtt_rospack 16 | ocl 17 | 18 | 19 | 20 | 21 | rtt_rospack 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /tests/rtt_rospack_tests/test/api_tests.cpp: -------------------------------------------------------------------------------- 1 | /** Copyright (c) 2013, Jonathan Bohren, all rights reserved. 2 | * This software is released under the BSD 3-clause license, for the details of 3 | * this license, please see LICENSE.txt at the root of this repository. 4 | */ 5 | 6 | #include 7 | #include 8 | #include 9 | 10 | #include 11 | 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | 20 | #include 21 | 22 | #include 23 | using namespace boost::assign; 24 | 25 | #include 26 | 27 | boost::shared_ptr deployer; 28 | boost::shared_ptr scripting_service; 29 | RTT::Service::shared_ptr global_service; 30 | 31 | TEST(BasicTest, Import) 32 | { 33 | // Import rtt_ros plugin 34 | RTT::ComponentLoader::Instance()->import("rtt_ros", "" ); 35 | } 36 | 37 | TEST(BasicTest, PackageFinding) 38 | { 39 | // Import rtt_ros plugin 40 | EXPECT_TRUE(scripting_service->eval("ros.import(\"rtt_rospack_tests\")")); 41 | 42 | RTT::OperationCaller rpf = global_service->provides("ros")->getOperation("find"); 43 | std::string roscpp_dir = ros::package::getPath("roscpp"); 44 | EXPECT_EQ(roscpp_dir,rpf("roscpp")); 45 | 46 | std::string rtt_rospack_tests_dir = ros::package::getPath("rtt_rospack_tests"); 47 | EXPECT_EQ(rtt_rospack_tests_dir,rpf("rtt_rospack_tests")); 48 | } 49 | 50 | 51 | int main(int argc, char** argv) { 52 | testing::InitGoogleTest(&argc, argv); 53 | 54 | // Initialize Orocos 55 | __os_init(argc, argv); 56 | 57 | deployer = boost::make_shared(); 58 | scripting_service = deployer->getProvider("scripting"); 59 | global_service = RTT::internal::GlobalService::Instance(); 60 | 61 | RTT::Logger::log().setStdStream(std::cerr); 62 | RTT::Logger::log().mayLogStdOut(true); 63 | RTT::Logger::log().setLogLevel(RTT::Logger::Debug); 64 | 65 | return RUN_ALL_TESTS(); 66 | } 67 | -------------------------------------------------------------------------------- /tests/rtt_rosparam_tests/CHANGELOG.rst: -------------------------------------------------------------------------------- 1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2 | Changelog for package rtt_rosparam_tests 3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 4 | 5 | 2.9.2 (2019-05-15) 6 | ------------------ 7 | 8 | 2.9.1 (2017-11-16) 9 | ------------------ 10 | 11 | 2.9.0 (2017-05-02) 12 | ------------------ 13 | * rtt_rosparam_tests: fixed compilation with C++11 14 | * rtt_rosparam_tests: added new test package for rtt_rosparam 15 | * Contributors: Johannes Meyer 16 | -------------------------------------------------------------------------------- /tests/rtt_rosparam_tests/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(rtt_rosparam_tests) 3 | 4 | find_package(catkin REQUIRED COMPONENTS rtt_ros) 5 | 6 | catkin_package() 7 | 8 | if(CATKIN_ENABLE_TESTING) 9 | 10 | orocos_use_package(rtt_rosparam) 11 | orocos_use_package(rtt_geometry_msgs) 12 | 13 | include_directories( 14 | ${catkin_INCLUDE_DIRS} 15 | ${USE_OROCOS_INCLUDE_DIRS} 16 | ${OROCOS-RTT_INCLUDE_DIRS} 17 | ) 18 | 19 | find_package(rostest REQUIRED) 20 | add_rostest_gtest(param_tests test/param_tests.test test/param_tests.cpp) 21 | target_link_libraries(param_tests 22 | ${catkin_LIBRARIES} 23 | ${USE_OROCOS_LIBRARIES} 24 | ${OROCOS-RTT_LIBRARIES}) 25 | 26 | endif() 27 | -------------------------------------------------------------------------------- /tests/rtt_rosparam_tests/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | rtt_rosparam_tests 4 | 2.9.2 5 | The rtt_rosparam_tests package 6 | Orocos Developers 7 | 8 | BSD 9 | 10 | http://ros.org/wiki/rtt_ros_integration 11 | https://github.com/orocos/rtt_ros_integration/issues 12 | 13 | Johannes Meyer 14 | 15 | catkin 16 | 17 | rtt_rosparam 18 | rostest 19 | rtt_geometry_msgs 20 | 21 | 22 | -------------------------------------------------------------------------------- /tests/rtt_rosparam_tests/test/param_tests.test: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /typekits/rtt_actionlib_msgs/CHANGELOG.rst: -------------------------------------------------------------------------------- 1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2 | Changelog for package rtt_actionlib_msgs 3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 4 | 5 | 2.9.2 (2019-05-15) 6 | ------------------ 7 | 8 | 2.9.1 (2017-11-16) 9 | ------------------ 10 | 11 | 2.9.0 (2017-05-02) 12 | ------------------ 13 | * Added individual changelogs and bumped versions to 2.9.0 14 | * Contributors: Johannes Meyer 15 | 16 | 2.8.6 (2017-11-15) 17 | ------------------ 18 | 19 | 2.8.5 (2017-03-28) 20 | ------------------ 21 | 22 | 2.8.4 (2016-11-26) 23 | ------------------ 24 | 25 | 2.8.3 (2016-07-20) 26 | ------------------ 27 | 28 | 2.8.2 (2015-06-12) 29 | ------------------ 30 | * see `rtt_ros_integratoin/CHANGELOG.rst <../rtt_ros_integration/CHANGELOG.rst>`_ 31 | -------------------------------------------------------------------------------- /typekits/rtt_actionlib_msgs/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(rtt_actionlib_msgs) 3 | 4 | find_package(catkin REQUIRED COMPONENTS rtt_roscomm) 5 | 6 | ros_generate_rtt_typekit(actionlib_msgs) 7 | ros_generate_rtt_service_proxies(actionlib_msgs) 8 | 9 | orocos_generate_package( 10 | DEPENDS actionlib_msgs 11 | DEPENDS_TARGETS rtt_roscomm rtt_std_msgs 12 | ) 13 | -------------------------------------------------------------------------------- /typekits/rtt_actionlib_msgs/package.xml: -------------------------------------------------------------------------------- 1 | 2 | rtt_actionlib_msgs 3 | 2.9.2 4 | 5 | 6 | Provides an rtt typekit for ROS actionlib_msgs messages. 7 | 8 | It allows you to use ROS messages transparently in 9 | RTT components and applications. 10 | 11 | This package was automatically generated by the 12 | create_rtt_msgs generator and should not be manually 13 | modified. 14 | 15 | See the http://ros.org/wiki/actionlib_msgs documentation 16 | for the documentation of the ROS messages in this 17 | typekit. 18 | 19 | 20 | Orocos Developers 21 | BSD 22 | 23 | catkin 24 | 25 | actionlib_msgs 26 | rtt_roscomm 27 | 28 | actionlib_msgs 29 | rtt_roscomm 30 | 31 | rtt_std_msgs 32 | rtt_std_msgs 33 | 34 | 35 | 36 | rtt_roscomm 37 | rtt_std_msgs 38 | 39 | 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /typekits/rtt_common_msgs/CHANGELOG.rst: -------------------------------------------------------------------------------- 1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2 | Changelog for package rtt_common_msgs 3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 4 | 5 | 2.9.2 (2019-05-15) 6 | ------------------ 7 | 8 | 2.9.1 (2017-11-16) 9 | ------------------ 10 | 11 | 2.9.0 (2017-05-02) 12 | ------------------ 13 | * Added individual changelogs and bumped versions to 2.9.0 14 | * Contributors: Johannes Meyer 15 | 16 | 2.8.6 (2017-11-15) 17 | ------------------ 18 | 19 | 2.8.5 (2017-03-28) 20 | ------------------ 21 | 22 | 2.8.4 (2016-11-26) 23 | ------------------ 24 | 25 | 2.8.3 (2016-07-20) 26 | ------------------ 27 | 28 | 2.8.2 (2015-06-12) 29 | ------------------ 30 | * see `rtt_ros_integratoin/CHANGELOG.rst <../rtt_ros_integration/CHANGELOG.rst>`_ 31 | -------------------------------------------------------------------------------- /typekits/rtt_common_msgs/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(rtt_common_msgs) 3 | find_package(catkin REQUIRED) 4 | catkin_metapackage() 5 | -------------------------------------------------------------------------------- /typekits/rtt_common_msgs/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | rtt_common_msgs 4 | 2.9.2 5 | The rtt_common_msgs package 6 | 7 | Orocos Developers 8 | BSD 9 | 10 | catkin 11 | 12 | rtt_actionlib_msgs 13 | rtt_diagnostic_msgs 14 | rtt_geometry_msgs 15 | rtt_nav_msgs 16 | rtt_sensor_msgs 17 | rtt_shape_msgs 18 | rtt_stereo_msgs 19 | rtt_trajectory_msgs 20 | rtt_visualization_msgs 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /typekits/rtt_diagnostic_msgs/CHANGELOG.rst: -------------------------------------------------------------------------------- 1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2 | Changelog for package rtt_diagnostic_msgs 3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 4 | 5 | 2.9.2 (2019-05-15) 6 | ------------------ 7 | 8 | 2.9.1 (2017-11-16) 9 | ------------------ 10 | 11 | 2.9.0 (2017-05-02) 12 | ------------------ 13 | * Added individual changelogs and bumped versions to 2.9.0 14 | * Contributors: Johannes Meyer 15 | 16 | 2.8.6 (2017-11-15) 17 | ------------------ 18 | 19 | 2.8.5 (2017-03-28) 20 | ------------------ 21 | 22 | 2.8.4 (2016-11-26) 23 | ------------------ 24 | 25 | 2.8.3 (2016-07-20) 26 | ------------------ 27 | 28 | 2.8.2 (2015-06-12) 29 | ------------------ 30 | * see `rtt_ros_integratoin/CHANGELOG.rst <../rtt_ros_integration/CHANGELOG.rst>`_ 31 | -------------------------------------------------------------------------------- /typekits/rtt_diagnostic_msgs/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(rtt_diagnostic_msgs) 3 | 4 | find_package(catkin REQUIRED COMPONENTS rtt_roscomm) 5 | 6 | ros_generate_rtt_typekit(diagnostic_msgs) 7 | ros_generate_rtt_service_proxies(diagnostic_msgs) 8 | 9 | orocos_generate_package( 10 | DEPENDS diagnostic_msgs 11 | DEPENDS_TARGETS rtt_roscomm rtt_std_msgs 12 | ) 13 | -------------------------------------------------------------------------------- /typekits/rtt_diagnostic_msgs/package.xml: -------------------------------------------------------------------------------- 1 | 2 | rtt_diagnostic_msgs 3 | 2.9.2 4 | 5 | 6 | Provides an rtt typekit for ROS diagnostic_msgs messages. 7 | 8 | It allows you to use ROS messages transparently in 9 | RTT components and applications. 10 | 11 | This package was automatically generated by the 12 | create_rtt_msgs generator and should not be manually 13 | modified. 14 | 15 | See the http://ros.org/wiki/diagnostic_msgs documentation 16 | for the documentation of the ROS messages in this 17 | typekit. 18 | 19 | 20 | Orocos Developers 21 | BSD 22 | 23 | catkin 24 | 25 | diagnostic_msgs 26 | rtt_roscomm 27 | 28 | diagnostic_msgs 29 | rtt_roscomm 30 | 31 | rtt_std_msgs 32 | rtt_std_msgs 33 | 34 | 35 | 36 | rtt_roscomm 37 | rtt_std_msgs 38 | 39 | 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /typekits/rtt_geometry_msgs/CHANGELOG.rst: -------------------------------------------------------------------------------- 1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2 | Changelog for package rtt_geometry_msgs 3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 4 | 5 | 2.9.2 (2019-05-15) 6 | ------------------ 7 | 8 | 2.9.1 (2017-11-16) 9 | ------------------ 10 | 11 | 2.9.0 (2017-05-02) 12 | ------------------ 13 | * Added individual changelogs and bumped versions to 2.9.0 14 | * Contributors: Johannes Meyer 15 | 16 | 2.8.6 (2017-11-15) 17 | ------------------ 18 | 19 | 2.8.5 (2017-03-28) 20 | ------------------ 21 | 22 | 2.8.4 (2016-11-26) 23 | ------------------ 24 | 25 | 2.8.3 (2016-07-20) 26 | ------------------ 27 | 28 | 2.8.2 (2015-06-12) 29 | ------------------ 30 | * see `rtt_ros_integratoin/CHANGELOG.rst <../rtt_ros_integration/CHANGELOG.rst>`_ 31 | -------------------------------------------------------------------------------- /typekits/rtt_geometry_msgs/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(rtt_geometry_msgs) 3 | 4 | find_package(catkin REQUIRED COMPONENTS rtt_roscomm) 5 | 6 | ros_generate_rtt_typekit(geometry_msgs) 7 | ros_generate_rtt_service_proxies(geometry_msgs) 8 | 9 | orocos_generate_package( 10 | DEPENDS geometry_msgs 11 | DEPENDS_TARGETS rtt_roscomm rtt_std_msgs 12 | ) 13 | -------------------------------------------------------------------------------- /typekits/rtt_geometry_msgs/package.xml: -------------------------------------------------------------------------------- 1 | 2 | rtt_geometry_msgs 3 | 2.9.2 4 | 5 | 6 | Provides an rtt typekit for ROS geometry_msgs messages. 7 | 8 | It allows you to use ROS messages transparently in 9 | RTT components and applications. 10 | 11 | This package was automatically generated by the 12 | create_rtt_msgs generator and should not be manually 13 | modified. 14 | 15 | See the http://ros.org/wiki/geometry_msgs documentation 16 | for the documentation of the ROS messages in this 17 | typekit. 18 | 19 | 20 | Orocos Developers 21 | BSD 22 | 23 | catkin 24 | 25 | geometry_msgs 26 | rtt_roscomm 27 | 28 | geometry_msgs 29 | rtt_roscomm 30 | 31 | rtt_std_msgs 32 | rtt_std_msgs 33 | 34 | 35 | 36 | rtt_roscomm 37 | rtt_std_msgs 38 | 39 | 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /typekits/rtt_kdl_conversions/CHANGELOG.rst: -------------------------------------------------------------------------------- 1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2 | Changelog for package rtt_kdl_conversions 3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 4 | 5 | 2.9.2 (2019-05-15) 6 | ------------------ 7 | 8 | 2.9.1 (2017-11-16) 9 | ------------------ 10 | 11 | 2.9.0 (2017-05-02) 12 | ------------------ 13 | * rtt_kdl_conversions: removed operations for deprecated functions 14 | * Added individual changelogs and bumped versions to 2.9.0 15 | * Contributors: Johannes Meyer 16 | 17 | 2.8.6 (2017-11-15) 18 | ------------------ 19 | 20 | 2.8.5 (2017-03-28) 21 | ------------------ 22 | 23 | 2.8.4 (2016-11-26) 24 | ------------------ 25 | 26 | 2.8.3 (2016-07-20) 27 | ------------------ 28 | 29 | 2.8.2 (2015-06-12) 30 | ------------------ 31 | * see `rtt_ros_integratoin/CHANGELOG.rst <../rtt_ros_integration/CHANGELOG.rst>`_ 32 | -------------------------------------------------------------------------------- /typekits/rtt_kdl_conversions/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(rtt_kdl_conversions) 3 | 4 | find_package(catkin REQUIRED COMPONENTS kdl_conversions) 5 | 6 | find_package(OROCOS-RTT REQUIRED) 7 | include(${OROCOS-RTT_USE_FILE_PATH}/UseOROCOS-RTT.cmake) 8 | 9 | include_directories(${catkin_INCLUDE_DIRS}) 10 | 11 | orocos_typekit(kdlconversions kdl_conversions-types.cpp) 12 | target_link_libraries(kdlconversions ${catkin_LIBRARIES}) 13 | 14 | orocos_generate_package( 15 | DEPENDS kdl_conversions 16 | ) 17 | 18 | -------------------------------------------------------------------------------- /typekits/rtt_kdl_conversions/kdl_conversions-types.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | namespace KDL 6 | { 7 | /** 8 | * KDL RTT bindings 9 | */ 10 | class KDLConversionTypekitPlugin 11 | : public RTT::types::TypekitPlugin 12 | { 13 | public: 14 | std::string getName(){return "KDLConversions";}; 15 | bool loadTypes(){return true;}; 16 | bool loadConstructors(){return true;}; 17 | bool loadOperators() 18 | { 19 | RTT::Service::shared_ptr gs = RTT::internal::GlobalService::Instance(); 20 | gs->provides("KDL")->addOperation("pointMsgToKDL",&tf::pointMsgToKDL); 21 | gs->provides("KDL")->addOperation("pointKDLToMsg",&tf::pointKDLToMsg); 22 | gs->provides("KDL")->addOperation("poseMsgToKDL",&tf::poseMsgToKDL); 23 | gs->provides("KDL")->addOperation("poseKDLToMsg",&tf::poseKDLToMsg); 24 | gs->provides("KDL")->addOperation("quaternionMsgToKDL",&tf::quaternionMsgToKDL); 25 | gs->provides("KDL")->addOperation("quaternionKDLToMsg",&tf::quaternionKDLToMsg); 26 | gs->provides("KDL")->addOperation("transformMsgToKDL",&tf::transformMsgToKDL); 27 | gs->provides("KDL")->addOperation("transformKDLToMsg",&tf::transformKDLToMsg); 28 | gs->provides("KDL")->addOperation("twistMsgToKDL",&tf::twistMsgToKDL); 29 | gs->provides("KDL")->addOperation("twistKDLToMsg",&tf::twistKDLToMsg); 30 | gs->provides("KDL")->addOperation("vectorMsgToKDL",&tf::vectorMsgToKDL); 31 | gs->provides("KDL")->addOperation("vectorKDLToMsg",&tf::vectorKDLToMsg); 32 | gs->provides("KDL")->addOperation("wrenchMsgToKDL",&tf::wrenchMsgToKDL); 33 | gs->provides("KDL")->addOperation("wrenchKDLToMsg",&tf::wrenchKDLToMsg); 34 | return true; 35 | } 36 | }; 37 | /** 38 | * The single global instance of the KDL Typekit. 39 | */ 40 | extern KDLConversionTypekitPlugin KDLTypekit; 41 | } 42 | 43 | ORO_TYPEKIT_PLUGIN(KDL::KDLConversionTypekitPlugin) 44 | -------------------------------------------------------------------------------- /typekits/rtt_kdl_conversions/lua/kdl_conversions.lua: -------------------------------------------------------------------------------- 1 | local rttlib = require "rttlib" 2 | local rtt = rtt 3 | module("kdl_conversions") 4 | 5 | function frame_to_msg(f) 6 | msg = rtt.Variable("geometry_msgs/Pose") 7 | rtt.provides("KDL"):FrameToMsg(f,msg) 8 | return msg 9 | end 10 | function msg_to_frame(msg) 11 | f = rtt.Variable("KDL/Frame") 12 | rtt.provides("KDL"):MsgToFrame(msg,f) 13 | return f 14 | end 15 | 16 | -------------------------------------------------------------------------------- /typekits/rtt_kdl_conversions/package.xml: -------------------------------------------------------------------------------- 1 | 2 | rtt_kdl_conversions 3 | 2.9.2 4 | 5 | This package contains the components of the kdl_conversions package 6 | 7 | BSD 8 | Orocos Developers 9 | 10 | Ruben Smits 11 | 12 | catkin 13 | 14 | rtt 15 | kdl_conversions 16 | 17 | rtt 18 | kdl_conversions 19 | 20 | 21 | -------------------------------------------------------------------------------- /typekits/rtt_nav_msgs/CHANGELOG.rst: -------------------------------------------------------------------------------- 1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2 | Changelog for package rtt_nav_msgs 3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 4 | 5 | 2.9.2 (2019-05-15) 6 | ------------------ 7 | 8 | 2.9.1 (2017-11-16) 9 | ------------------ 10 | 11 | 2.9.0 (2017-05-02) 12 | ------------------ 13 | * Added individual changelogs and bumped versions to 2.9.0 14 | * Contributors: Johannes Meyer 15 | 16 | 2.8.6 (2017-11-15) 17 | ------------------ 18 | 19 | 2.8.5 (2017-03-28) 20 | ------------------ 21 | 22 | 2.8.4 (2016-11-26) 23 | ------------------ 24 | 25 | 2.8.3 (2016-07-20) 26 | ------------------ 27 | 28 | 2.8.2 (2015-06-12) 29 | ------------------ 30 | * see `rtt_ros_integratoin/CHANGELOG.rst <../rtt_ros_integration/CHANGELOG.rst>`_ 31 | -------------------------------------------------------------------------------- /typekits/rtt_nav_msgs/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(rtt_nav_msgs) 3 | 4 | find_package(catkin REQUIRED COMPONENTS rtt_roscomm) 5 | 6 | ros_generate_rtt_typekit(nav_msgs) 7 | ros_generate_rtt_service_proxies(nav_msgs) 8 | 9 | orocos_generate_package( 10 | DEPENDS nav_msgs 11 | DEPENDS_TARGETS rtt_roscomm rtt_std_msgs rtt_geometry_msgs rtt_actionlib_msgs 12 | ) 13 | -------------------------------------------------------------------------------- /typekits/rtt_nav_msgs/package.xml: -------------------------------------------------------------------------------- 1 | 2 | rtt_nav_msgs 3 | 2.9.2 4 | 5 | 6 | Provides an rtt typekit for ROS nav_msgs messages. 7 | 8 | It allows you to use ROS messages transparently in 9 | RTT components and applications. 10 | 11 | This package was automatically generated by the 12 | create_rtt_msgs generator and should not be manually 13 | modified. 14 | 15 | See the http://ros.org/wiki/nav_msgs documentation 16 | for the documentation of the ROS messages in this 17 | typekit. 18 | 19 | 20 | Orocos Developers 21 | BSD 22 | 23 | catkin 24 | 25 | nav_msgs 26 | rtt_roscomm 27 | 28 | nav_msgs 29 | rtt_roscomm 30 | 31 | rtt_std_msgs 32 | rtt_std_msgs 33 | 34 | rtt_geometry_msgs 35 | rtt_geometry_msgs 36 | 37 | rtt_actionlib_msgs 38 | rtt_actionlib_msgs 39 | 40 | 41 | 42 | rtt_roscomm 43 | rtt_std_msgs 44 | rtt_geometry_msgs 45 | rtt_actionlib_msgs 46 | 47 | 48 | 49 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /typekits/rtt_ros_comm/CHANGELOG.rst: -------------------------------------------------------------------------------- 1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2 | Changelog for package rtt_ros_comm 3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 4 | 5 | 2.9.2 (2019-05-15) 6 | ------------------ 7 | 8 | 2.9.1 (2017-11-16) 9 | ------------------ 10 | 11 | 2.9.0 (2017-05-02) 12 | ------------------ 13 | * Added individual changelogs and bumped versions to 2.9.0 14 | * Contributors: Johannes Meyer 15 | 16 | 2.8.6 (2017-11-15) 17 | ------------------ 18 | 19 | 2.8.5 (2017-03-28) 20 | ------------------ 21 | 22 | 2.8.4 (2016-11-26) 23 | ------------------ 24 | 25 | 2.8.3 (2016-07-20) 26 | ------------------ 27 | 28 | 2.8.2 (2015-06-12) 29 | ------------------ 30 | * see `rtt_ros_integratoin/CHANGELOG.rst <../rtt_ros_integration/CHANGELOG.rst>`_ 31 | -------------------------------------------------------------------------------- /typekits/rtt_ros_comm/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(rtt_ros_comm) 3 | find_package(catkin REQUIRED) 4 | catkin_metapackage() 5 | -------------------------------------------------------------------------------- /typekits/rtt_ros_comm/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | rtt_ros_comm 4 | 2.9.2 5 | The rtt_ros_comm package 6 | 7 | Orocos Developers 8 | BSD 9 | 10 | catkin 11 | 12 | rtt_std_msgs 13 | rtt_std_srvs 14 | rtt_rosgraph_msgs 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /typekits/rtt_rosgraph_msgs/CHANGELOG.rst: -------------------------------------------------------------------------------- 1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2 | Changelog for package rtt_rosgraph_msgs 3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 4 | 5 | 2.9.2 (2019-05-15) 6 | ------------------ 7 | 8 | 2.9.1 (2017-11-16) 9 | ------------------ 10 | 11 | 2.9.0 (2017-05-02) 12 | ------------------ 13 | * Added individual changelogs and bumped versions to 2.9.0 14 | * Contributors: Johannes Meyer 15 | 16 | 2.8.6 (2017-11-15) 17 | ------------------ 18 | 19 | 2.8.5 (2017-03-28) 20 | ------------------ 21 | 22 | 2.8.4 (2016-11-26) 23 | ------------------ 24 | 25 | 2.8.3 (2016-07-20) 26 | ------------------ 27 | 28 | 2.8.2 (2015-06-12) 29 | ------------------ 30 | * see `rtt_ros_integratoin/CHANGELOG.rst <../rtt_ros_integration/CHANGELOG.rst>`_ 31 | -------------------------------------------------------------------------------- /typekits/rtt_rosgraph_msgs/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(rtt_rosgraph_msgs) 3 | 4 | find_package(catkin REQUIRED COMPONENTS rtt_roscomm) 5 | 6 | ros_generate_rtt_typekit(rosgraph_msgs) 7 | 8 | orocos_generate_package( 9 | DEPENDS rosgraph_msgs 10 | DEPENDS_TARGETS rtt_roscomm rtt_std_msgs 11 | ) 12 | -------------------------------------------------------------------------------- /typekits/rtt_rosgraph_msgs/package.xml: -------------------------------------------------------------------------------- 1 | 2 | rtt_rosgraph_msgs 3 | 2.9.2 4 | 5 | 6 | Provides an rtt typekit for ROS rosgraph_msgs messages. 7 | 8 | It allows you to use ROS messages transparently in 9 | RTT components and applications. 10 | 11 | This package was automatically generated by the 12 | create_rtt_msgs generator and should not be manually 13 | modified. 14 | 15 | See the http://ros.org/wiki/rosgraph_msgs documentation 16 | for the documentation of the ROS messages in this 17 | typekit. 18 | 19 | 20 | Orocos Developers 21 | BSD 22 | 23 | http://ros.org/wiki/rtt_roscomm 24 | 25 | create_rtt_msgs Generator 26 | 27 | catkin 28 | 29 | rtt_roscomm 30 | rosgraph_msgs 31 | 32 | rtt_roscomm 33 | rosgraph_msgs 34 | 35 | rtt_std_msgs 36 | rtt_std_msgs 37 | 38 | 39 | 40 | rtt_roscomm 41 | rtt_std_msgs 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /typekits/rtt_sensor_msgs/CHANGELOG.rst: -------------------------------------------------------------------------------- 1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2 | Changelog for package rtt_sensor_msgs 3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 4 | 5 | 2.9.2 (2019-05-15) 6 | ------------------ 7 | 8 | 2.9.1 (2017-11-16) 9 | ------------------ 10 | 11 | 2.9.0 (2017-05-02) 12 | ------------------ 13 | * Added individual changelogs and bumped versions to 2.9.0 14 | * Contributors: Johannes Meyer 15 | 16 | 2.8.6 (2017-11-15) 17 | ------------------ 18 | 19 | 2.8.5 (2017-03-28) 20 | ------------------ 21 | 22 | 2.8.4 (2016-11-26) 23 | ------------------ 24 | 25 | 2.8.3 (2016-07-20) 26 | ------------------ 27 | 28 | 2.8.2 (2015-06-12) 29 | ------------------ 30 | * see `rtt_ros_integratoin/CHANGELOG.rst <../rtt_ros_integration/CHANGELOG.rst>`_ 31 | -------------------------------------------------------------------------------- /typekits/rtt_sensor_msgs/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(rtt_sensor_msgs) 3 | 4 | find_package(catkin REQUIRED COMPONENTS rtt_roscomm) 5 | 6 | ros_generate_rtt_typekit(sensor_msgs) 7 | ros_generate_rtt_service_proxies(sensor_msgs) 8 | 9 | orocos_generate_package( 10 | DEPENDS sensor_msgs 11 | DEPENDS_TARGETS rtt_roscomm rtt_std_msgs rtt_geometry_msgs 12 | ) 13 | -------------------------------------------------------------------------------- /typekits/rtt_sensor_msgs/package.xml: -------------------------------------------------------------------------------- 1 | 2 | rtt_sensor_msgs 3 | 2.9.2 4 | 5 | 6 | Provides an rtt typekit for ROS sensor_msgs messages. 7 | 8 | It allows you to use ROS messages transparently in 9 | RTT components and applications. 10 | 11 | This package was automatically generated by the 12 | create_rtt_msgs generator and should not be manually 13 | modified. 14 | 15 | See the http://ros.org/wiki/sensor_msgs documentation 16 | for the documentation of the ROS messages in this 17 | typekit. 18 | 19 | 20 | Orocos Developers 21 | BSD 22 | 23 | catkin 24 | 25 | sensor_msgs 26 | rtt_roscomm 27 | 28 | sensor_msgs 29 | rtt_roscomm 30 | 31 | rtt_std_msgs 32 | rtt_std_msgs 33 | 34 | rtt_geometry_msgs 35 | rtt_geometry_msgs 36 | 37 | 38 | 39 | rtt_roscomm 40 | rtt_std_msgs 41 | rtt_geometry_msgs 42 | 43 | 44 | 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /typekits/rtt_shape_msgs/CHANGELOG.rst: -------------------------------------------------------------------------------- 1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2 | Changelog for package rtt_shape_msgs 3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 4 | 5 | 2.9.2 (2019-05-15) 6 | ------------------ 7 | 8 | 2.9.1 (2017-11-16) 9 | ------------------ 10 | 11 | 2.9.0 (2017-05-02) 12 | ------------------ 13 | * Added individual changelogs and bumped versions to 2.9.0 14 | * Contributors: Johannes Meyer 15 | 16 | 2.8.6 (2017-11-15) 17 | ------------------ 18 | 19 | 2.8.5 (2017-03-28) 20 | ------------------ 21 | 22 | 2.8.4 (2016-11-26) 23 | ------------------ 24 | 25 | 2.8.3 (2016-07-20) 26 | ------------------ 27 | 28 | 2.8.2 (2015-06-12) 29 | ------------------ 30 | * see `rtt_ros_integratoin/CHANGELOG.rst <../rtt_ros_integration/CHANGELOG.rst>`_ 31 | -------------------------------------------------------------------------------- /typekits/rtt_shape_msgs/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(rtt_shape_msgs) 3 | 4 | find_package(catkin REQUIRED COMPONENTS rtt_roscomm) 5 | 6 | ros_generate_rtt_typekit(shape_msgs) 7 | ros_generate_rtt_service_proxies(shape_msgs) 8 | 9 | orocos_generate_package( 10 | DEPENDS shape_msgs 11 | DEPENDS_TARGETS rtt_roscomm rtt_std_msgs rtt_geometry_msgs 12 | ) 13 | -------------------------------------------------------------------------------- /typekits/rtt_shape_msgs/package.xml: -------------------------------------------------------------------------------- 1 | 2 | rtt_shape_msgs 3 | 2.9.2 4 | 5 | 6 | Provides an rtt typekit for ROS shape_msgs messages. 7 | 8 | It allows you to use ROS messages transparently in 9 | RTT components and applications. 10 | 11 | This package was automatically generated by the 12 | create_rtt_msgs generator and should not be manually 13 | modified. 14 | 15 | See the http://ros.org/wiki/shape_msgs documentation 16 | for the documentation of the ROS messages in this 17 | typekit. 18 | 19 | 20 | Orocos Developers 21 | BSD 22 | 23 | catkin 24 | 25 | shape_msgs 26 | rtt_roscomm 27 | 28 | shape_msgs 29 | rtt_roscomm 30 | 31 | rtt_std_msgs 32 | rtt_std_msgs 33 | 34 | rtt_geometry_msgs 35 | rtt_geometry_msgs 36 | 37 | 38 | 39 | rtt_roscomm 40 | rtt_std_msgs 41 | rtt_geometry_msgs 42 | 43 | 44 | 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /typekits/rtt_std_msgs/CHANGELOG.rst: -------------------------------------------------------------------------------- 1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2 | Changelog for package rtt_std_msgs 3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 4 | 5 | 2.9.2 (2019-05-15) 6 | ------------------ 7 | 8 | 2.9.1 (2017-11-16) 9 | ------------------ 10 | 11 | 2.9.0 (2017-05-02) 12 | ------------------ 13 | * Added deprecation warning for header rtt_roscomm/rtt_rostopic.h and updated some include directives within rtt_ros_integration 14 | * Added individual changelogs and bumped versions to 2.9.0 15 | * Contributors: Johannes Meyer 16 | 17 | 2.8.6 (2017-11-15) 18 | ------------------ 19 | 20 | 2.8.5 (2017-03-28) 21 | ------------------ 22 | * Merge pull request `#85 `_ from meyerj/ros-primitives-transport-indigo-devel 23 | Added a ROS transport plugin for primitive types (indigo-devel) 24 | * Contributors: Johannes Meyer 25 | 26 | 2.8.4 (2016-11-26) 27 | ------------------ 28 | 29 | 2.8.3 (2016-07-20) 30 | ------------------ 31 | 32 | 2.8.2 (2015-06-12) 33 | ------------------ 34 | * see `rtt_ros_integratoin/CHANGELOG.rst <../rtt_ros_integration/CHANGELOG.rst>`_ 35 | -------------------------------------------------------------------------------- /typekits/rtt_std_msgs/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(rtt_std_msgs) 3 | 4 | find_package(catkin REQUIRED COMPONENTS rtt_roscomm) 5 | 6 | include_directories(include/orocos) 7 | 8 | ros_generate_rtt_typekit(std_msgs) 9 | 10 | if(NOT DEFINED CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE STREQUAL "Release") 11 | set(CMAKE_BUILD_TYPE MinSizeRel) 12 | endif() 13 | orocos_plugin(rtt-ros-primitives-transport src/ros_primitives_transport_plugin.cpp) 14 | 15 | install( 16 | DIRECTORY include/orocos/std_msgs 17 | DESTINATION ${CATKIN_GLOBAL_INCLUDE_DESTINATION}/orocos 18 | ) 19 | 20 | orocos_generate_package( 21 | DEPENDS std_msgs 22 | DEPENDS_TARGETS rtt_roscomm 23 | ) 24 | -------------------------------------------------------------------------------- /typekits/rtt_std_msgs/package.xml: -------------------------------------------------------------------------------- 1 | 2 | rtt_std_msgs 3 | 2.9.2 4 | 5 | 6 | Provides an rtt typekit for ROS std_msgs messages. 7 | 8 | It allows you to use ROS messages transparently in 9 | RTT components and applications. 10 | 11 | This package was automatically generated by the 12 | create_rtt_msgs generator and should not be manually 13 | modified. 14 | 15 | See the http://ros.org/wiki/std_msgs documentation 16 | for the documentation of the ROS messages in this 17 | typekit. 18 | 19 | 20 | Orocos Developers 21 | BSD 22 | 23 | catkin 24 | 25 | rtt_ros 26 | rtt_roscomm 27 | std_msgs 28 | 29 | rtt_ros 30 | rtt_roscomm 31 | std_msgs 32 | 33 | 34 | 35 | rtt_ros 36 | rtt_roscomm 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /typekits/rtt_std_srvs/CHANGELOG.rst: -------------------------------------------------------------------------------- 1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2 | Changelog for package rtt_std_srvs 3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 4 | 5 | 2.9.2 (2019-05-15) 6 | ------------------ 7 | 8 | 2.9.1 (2017-11-16) 9 | ------------------ 10 | 11 | 2.9.0 (2017-05-02) 12 | ------------------ 13 | * Added individual changelogs and bumped versions to 2.9.0 14 | * Contributors: Johannes Meyer 15 | 16 | 2.8.6 (2017-11-15) 17 | ------------------ 18 | 19 | 2.8.5 (2017-03-28) 20 | ------------------ 21 | 22 | 2.8.4 (2016-11-26) 23 | ------------------ 24 | 25 | 2.8.3 (2016-07-20) 26 | ------------------ 27 | 28 | 2.8.2 (2015-06-12) 29 | ------------------ 30 | * see `rtt_ros_integratoin/CHANGELOG.rst <../rtt_ros_integration/CHANGELOG.rst>`_ 31 | -------------------------------------------------------------------------------- /typekits/rtt_std_srvs/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(rtt_std_srvs) 3 | 4 | find_package(catkin REQUIRED COMPONENTS rtt_roscomm) 5 | 6 | include_directories(include) 7 | 8 | ros_generate_rtt_service_proxies(std_srvs 9 | EXTRA_INCLUDES 10 | rtt_std_srvs/Empty.h 11 | rtt_std_srvs/SetBool.h 12 | rtt_std_srvs/Trigger.h 13 | ) 14 | 15 | orocos_generate_package( 16 | DEPENDS rosgraph_msgs 17 | DEPENDS_TARGETS rtt_roscomm rtt_std_msgs 18 | ) 19 | -------------------------------------------------------------------------------- /typekits/rtt_std_srvs/include/rtt_std_srvs/Empty.h: -------------------------------------------------------------------------------- 1 | #ifndef RTT_STD_SRVS_EMPTY_H 2 | #define RTT_STD_SRVS_EMPTY_H 3 | 4 | #include 5 | #include 6 | 7 | // Specialized implementations of ROSServiceServerOperationCaller for std_srvs/Empty. 8 | // 9 | // Accepted signatures: 10 | // - bool empty(std_srvs::Empty::Request&, std_srvs::Empty::Response&) 11 | // - bool empty() 12 | // - void empty() 13 | // 14 | 15 | template<> struct ROSServiceServerOperationCallerWrapper { 16 | typedef bool Signature(); 17 | typedef RTT::OperationCaller ProxyOperationCallerType; 18 | template static bool call(Callable& call, std_srvs::Empty::Request&, std_srvs::Empty::Response&) { 19 | return call(); 20 | } 21 | }; 22 | 23 | template<> struct ROSServiceServerOperationCallerWrapper { 24 | typedef void Signature(); 25 | typedef RTT::OperationCaller ProxyOperationCallerType; 26 | template static bool call(Callable& call, std_srvs::Empty::Request&, std_srvs::Empty::Response&) { 27 | call(); 28 | return true; 29 | } 30 | }; 31 | 32 | #endif // RTT_STD_SRVS_EMPTY_H 33 | -------------------------------------------------------------------------------- /typekits/rtt_std_srvs/include/rtt_std_srvs/SetBool.h: -------------------------------------------------------------------------------- 1 | #ifndef RTT_STD_SRVS_SETBOOL_H 2 | #define RTT_STD_SRVS_SETBOOL_H 3 | 4 | #include 5 | #include 6 | 7 | // Specialized implementation of ROSServiceServerOperationCaller for std_srvs/SetBool. 8 | // 9 | // Accepted signatures: 10 | // - bool setBool(std_srvs::SetBool::Request&, std_srvs::SetBool::Response&) 11 | // - bool setBool(bool, std::string &message_out) 12 | // - bool setBool(bool) // response.message will be empty 13 | // - std::string setBool(bool) // response.success = true 14 | // - void setBool(bool) // response.success = true and response.message will be empty 15 | // 16 | 17 | template<> struct ROSServiceServerOperationCallerWrapper { 18 | typedef bool Signature(bool, std::string&); 19 | typedef RTT::OperationCaller ProxyOperationCallerType; 20 | template static bool call(Callable& call, std_srvs::SetBool::Request& request, std_srvs::SetBool::Response& response) { 21 | response.success = call(request.data, response.message); 22 | return true; 23 | } 24 | }; 25 | 26 | template<> struct ROSServiceServerOperationCallerWrapper { 27 | typedef bool Signature(bool); 28 | typedef RTT::OperationCaller ProxyOperationCallerType; 29 | template static bool call(Callable& call, std_srvs::SetBool::Request& request, std_srvs::SetBool::Response& response) { 30 | response.success = call(request.data); 31 | return true; 32 | } 33 | }; 34 | 35 | template<> struct ROSServiceServerOperationCallerWrapper { 36 | typedef std::string Signature(bool); 37 | typedef RTT::OperationCaller ProxyOperationCallerType; 38 | template static bool call(Callable& call, std_srvs::SetBool::Request& request, std_srvs::SetBool::Response& response) { 39 | response.message = call(request.data); 40 | response.success = true; 41 | return true; 42 | } 43 | }; 44 | 45 | template<> struct ROSServiceServerOperationCallerWrapper { 46 | typedef void Signature(bool); 47 | typedef RTT::OperationCaller ProxyOperationCallerType; 48 | template static bool call(Callable& call, std_srvs::SetBool::Request& request, std_srvs::SetBool::Response& response) { 49 | call(request.data); 50 | response.success = true; 51 | return true; 52 | } 53 | }; 54 | 55 | #endif // RTT_STD_SRVS_SETBOOL_H 56 | -------------------------------------------------------------------------------- /typekits/rtt_std_srvs/include/rtt_std_srvs/Trigger.h: -------------------------------------------------------------------------------- 1 | #ifndef RTT_STD_SRVS_TRIGGER_H 2 | #define RTT_STD_SRVS_TRIGGER_H 3 | 4 | #include 5 | #include 6 | 7 | // Specialized implementations of ROSServiceServerOperationCaller for std_srvs/Trigger. 8 | // 9 | // Accepted signatures: 10 | // - bool trigger(std_srvs::Trigger::Request&, std_srvs::Trigger::Response&) 11 | // - bool trigger(std::string &message_out) 12 | // - bool trigger() // response.message will be empty 13 | // - std::string trigger() // response.success = true 14 | // 15 | 16 | template<> struct ROSServiceServerOperationCallerWrapper { 17 | typedef bool Signature(std::string &message_out); 18 | typedef RTT::OperationCaller ProxyOperationCallerType; 19 | template static bool call(Callable& call, std_srvs::Trigger::Request& request, std_srvs::Trigger::Response& response) { 20 | response.success = call(response.message); 21 | return true; 22 | } 23 | }; 24 | 25 | template<> struct ROSServiceServerOperationCallerWrapper { 26 | typedef bool Signature(); 27 | typedef RTT::OperationCaller ProxyOperationCallerType; 28 | template static bool call(Callable& call, std_srvs::Trigger::Request& request, std_srvs::Trigger::Response& response) { 29 | response.success = call(); 30 | return true; 31 | } 32 | }; 33 | 34 | template<> struct ROSServiceServerOperationCallerWrapper { 35 | typedef std::string Signature(); 36 | typedef RTT::OperationCaller ProxyOperationCallerType; 37 | template static bool call(Callable& call, std_srvs::Trigger::Request& request, std_srvs::Trigger::Response& response) { 38 | response.message = call(); 39 | response.success = true; 40 | return true; 41 | } 42 | }; 43 | 44 | #endif // RTT_STD_SRVS_TRIGGER_H 45 | -------------------------------------------------------------------------------- /typekits/rtt_std_srvs/package.xml: -------------------------------------------------------------------------------- 1 | 2 | rtt_std_srvs 3 | 2.9.2 4 | 5 | 6 | Provides an rtt typekit for ROS std_msgs messages. 7 | 8 | It allows you to use ROS messages transparently in 9 | RTT components and applications. 10 | 11 | This package was automatically generated by the 12 | create_rtt_msgs generator and should not be manually 13 | modified. 14 | 15 | See the http://ros.org/wiki/std_msgs documentation 16 | for the documentation of the ROS messages in this 17 | typekit. 18 | 19 | 20 | Orocos Developers 21 | BSD 22 | 23 | catkin 24 | 25 | genmsg 26 | rtt_roscomm 27 | std_srvs 28 | 29 | genmsg 30 | rtt_roscomm 31 | std_srvs 32 | 33 | 34 | 35 | rtt_roscomm 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /typekits/rtt_stereo_msgs/CHANGELOG.rst: -------------------------------------------------------------------------------- 1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2 | Changelog for package rtt_stereo_msgs 3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 4 | 5 | 2.9.2 (2019-05-15) 6 | ------------------ 7 | 8 | 2.9.1 (2017-11-16) 9 | ------------------ 10 | 11 | 2.9.0 (2017-05-02) 12 | ------------------ 13 | * Added individual changelogs and bumped versions to 2.9.0 14 | * Contributors: Johannes Meyer 15 | 16 | 2.8.6 (2017-11-15) 17 | ------------------ 18 | 19 | 2.8.5 (2017-03-28) 20 | ------------------ 21 | 22 | 2.8.4 (2016-11-26) 23 | ------------------ 24 | 25 | 2.8.3 (2016-07-20) 26 | ------------------ 27 | 28 | 2.8.2 (2015-06-12) 29 | ------------------ 30 | * see `rtt_ros_integratoin/CHANGELOG.rst <../rtt_ros_integration/CHANGELOG.rst>`_ 31 | -------------------------------------------------------------------------------- /typekits/rtt_stereo_msgs/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(rtt_stereo_msgs) 3 | 4 | find_package(catkin REQUIRED COMPONENTS rtt_roscomm) 5 | 6 | ros_generate_rtt_typekit(stereo_msgs) 7 | ros_generate_rtt_service_proxies(stereo_msgs) 8 | 9 | orocos_generate_package( 10 | DEPENDS stereo_msgs 11 | DEPENDS_TARGETS rtt_roscomm rtt_std_msgs rtt_geometry_msgs rtt_sensor_msgs 12 | ) 13 | -------------------------------------------------------------------------------- /typekits/rtt_stereo_msgs/package.xml: -------------------------------------------------------------------------------- 1 | 2 | rtt_stereo_msgs 3 | 2.9.2 4 | 5 | 6 | Provides an rtt typekit for ROS stereo_msgs messages. 7 | 8 | It allows you to use ROS messages transparently in 9 | RTT components and applications. 10 | 11 | This package was automatically generated by the 12 | create_rtt_msgs generator and should not be manually 13 | modified. 14 | 15 | See the http://ros.org/wiki/stereo_msgs documentation 16 | for the documentation of the ROS messages in this 17 | typekit. 18 | 19 | 20 | Orocos Developers 21 | BSD 22 | 23 | catkin 24 | 25 | stereo_msgs 26 | rtt_roscomm 27 | 28 | stereo_msgs 29 | rtt_roscomm 30 | 31 | rtt_std_msgs 32 | rtt_std_msgs 33 | 34 | rtt_geometry_msgs 35 | rtt_geometry_msgs 36 | 37 | rtt_sensor_msgs 38 | rtt_sensor_msgs 39 | 40 | 41 | 42 | rtt_roscomm 43 | rtt_std_msgs 44 | rtt_geometry_msgs 45 | rtt_sensor_msgs 46 | 47 | 48 | 49 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /typekits/rtt_tf2_msgs/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(rtt_tf2_msgs) 3 | 4 | find_package(catkin REQUIRED COMPONENTS rtt_roscomm) 5 | 6 | ros_generate_rtt_typekit(tf2_msgs) 7 | ros_generate_rtt_service_proxies(tf2_msgs) 8 | 9 | orocos_generate_package( 10 | DEPENDS tf2_msgs 11 | DEPENDS_TARGETS rtt_roscomm rtt_std_msgs rtt_actionlib_msgs rtt_geometry_msgs 12 | ) 13 | -------------------------------------------------------------------------------- /typekits/rtt_tf2_msgs/package.xml: -------------------------------------------------------------------------------- 1 | 2 | rtt_tf2_msgs 3 | 2.9.1 4 | 5 | 6 | Provides an rtt typekit for ROS tf2_msgs messages. 7 | 8 | It allows you to use ROS messages transparently in 9 | RTT components and applications. 10 | 11 | This package was automatically generated by the 12 | create_rtt_msgs generator and should not be manually 13 | modified. 14 | 15 | See the http://ros.org/wiki/tf2_msgs documentation 16 | for the documentation of the ROS messages in this 17 | typekit. 18 | 19 | 20 | Orocos Developers 21 | BSD 22 | 23 | catkin 24 | 25 | tf2_msgs 26 | rtt_roscomm 27 | 28 | tf2_msgs 29 | rtt_roscomm 30 | 31 | rtt_std_msgs 32 | rtt_std_msgs 33 | rtt_actionlib_msgs 34 | rtt_actionlib_msgs 35 | rtt_geometry_msgs 36 | rtt_geometry_msgs 37 | 38 | 39 | 40 | 41 | rtt_roscomm 42 | rtt_std_msgs 43 | rtt_actionlib_msgs 44 | rtt_geometry_msgs 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /typekits/rtt_trajectory_msgs/CHANGELOG.rst: -------------------------------------------------------------------------------- 1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2 | Changelog for package rtt_trajectory_msgs 3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 4 | 5 | 2.9.2 (2019-05-15) 6 | ------------------ 7 | 8 | 2.9.1 (2017-11-16) 9 | ------------------ 10 | 11 | 2.9.0 (2017-05-02) 12 | ------------------ 13 | * Added individual changelogs and bumped versions to 2.9.0 14 | * Contributors: Johannes Meyer 15 | 16 | 2.8.6 (2017-11-15) 17 | ------------------ 18 | 19 | 2.8.5 (2017-03-28) 20 | ------------------ 21 | 22 | 2.8.4 (2016-11-26) 23 | ------------------ 24 | 25 | 2.8.3 (2016-07-20) 26 | ------------------ 27 | 28 | 2.8.2 (2015-06-12) 29 | ------------------ 30 | * see `rtt_ros_integratoin/CHANGELOG.rst <../rtt_ros_integration/CHANGELOG.rst>`_ 31 | -------------------------------------------------------------------------------- /typekits/rtt_trajectory_msgs/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(rtt_trajectory_msgs) 3 | 4 | find_package(catkin REQUIRED COMPONENTS rtt_roscomm) 5 | 6 | ros_generate_rtt_typekit(trajectory_msgs) 7 | ros_generate_rtt_service_proxies(trajectory_msgs) 8 | 9 | orocos_generate_package( 10 | DEPENDS trajectory_msgs 11 | DEPENDS_TARGETS rtt_roscomm rtt_std_msgs rtt_geometry_msgs 12 | ) 13 | -------------------------------------------------------------------------------- /typekits/rtt_trajectory_msgs/package.xml: -------------------------------------------------------------------------------- 1 | 2 | rtt_trajectory_msgs 3 | 2.9.2 4 | 5 | 6 | Provides an rtt typekit for ROS trajectory_msgs messages. 7 | 8 | It allows you to use ROS messages transparently in 9 | RTT components and applications. 10 | 11 | This package was automatically generated by the 12 | create_rtt_msgs generator and should not be manually 13 | modified. 14 | 15 | See the http://ros.org/wiki/trajectory_msgs documentation 16 | for the documentation of the ROS messages in this 17 | typekit. 18 | 19 | 20 | Orocos Developers 21 | BSD 22 | 23 | catkin 24 | 25 | trajectory_msgs 26 | rtt_roscomm 27 | 28 | trajectory_msgs 29 | rtt_roscomm 30 | 31 | rtt_std_msgs 32 | rtt_std_msgs 33 | 34 | rtt_geometry_msgs 35 | rtt_geometry_msgs 36 | 37 | 38 | 39 | rtt_roscomm 40 | rtt_std_msgs 41 | rtt_geometry_msgs 42 | 43 | 44 | 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /typekits/rtt_visualization_msgs/CHANGELOG.rst: -------------------------------------------------------------------------------- 1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2 | Changelog for package rtt_visualization_msgs 3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 4 | 5 | 2.9.2 (2019-05-15) 6 | ------------------ 7 | 8 | 2.9.1 (2017-11-16) 9 | ------------------ 10 | 11 | 2.9.0 (2017-05-02) 12 | ------------------ 13 | * Added individual changelogs and bumped versions to 2.9.0 14 | * Contributors: Johannes Meyer 15 | 16 | 2.8.6 (2017-11-15) 17 | ------------------ 18 | 19 | 2.8.5 (2017-03-28) 20 | ------------------ 21 | 22 | 2.8.4 (2016-11-26) 23 | ------------------ 24 | 25 | 2.8.3 (2016-07-20) 26 | ------------------ 27 | 28 | 2.8.2 (2015-06-12) 29 | ------------------ 30 | * see `rtt_ros_integratoin/CHANGELOG.rst <../rtt_ros_integration/CHANGELOG.rst>`_ 31 | -------------------------------------------------------------------------------- /typekits/rtt_visualization_msgs/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(rtt_visualization_msgs) 3 | 4 | find_package(catkin REQUIRED COMPONENTS rtt_roscomm) 5 | 6 | ros_generate_rtt_typekit(visualization_msgs) 7 | ros_generate_rtt_service_proxies(visualization_msgs) 8 | 9 | orocos_generate_package( 10 | DEPENDS visualization_msgs 11 | DEPENDS_TARGETS rtt_roscomm rtt_std_msgs rtt_geometry_msgs 12 | ) 13 | -------------------------------------------------------------------------------- /typekits/rtt_visualization_msgs/package.xml: -------------------------------------------------------------------------------- 1 | 2 | rtt_visualization_msgs 3 | 2.9.2 4 | 5 | 6 | Provides an rtt typekit for ROS visualization_msgs messages. 7 | 8 | It allows you to use ROS messages transparently in 9 | RTT components and applications. 10 | 11 | This package was automatically generated by the 12 | create_rtt_msgs generator and should not be manually 13 | modified. 14 | 15 | See the http://ros.org/wiki/visualization_msgs documentation 16 | for the documentation of the ROS messages in this 17 | typekit. 18 | 19 | 20 | Orocos Developers 21 | BSD 22 | 23 | catkin 24 | 25 | visualization_msgs 26 | rtt_roscomm 27 | 28 | visualization_msgs 29 | rtt_roscomm 30 | 31 | rtt_std_msgs 32 | rtt_std_msgs 33 | 34 | rtt_geometry_msgs 35 | rtt_geometry_msgs 36 | 37 | 38 | 39 | rtt_roscomm 40 | rtt_std_msgs 41 | rtt_geometry_msgs 42 | 43 | 44 | 45 | 46 | 47 | 48 | --------------------------------------------------------------------------------