├── .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