Hi everyone (and especially Ruben I guess :) ),
I'm in the process of testing the new Orocos-ROS connectivity.
Specifically, I'm currently trying to generate orocos types from
custom ROS messages.
So what I've done so far is:
-Created a package brtest_msgs, with a custom test ROS message
"BrTest.msg" containing the following:
time timestamp
int64 int1
int64 int2
-Created a package "rtt_ros_integration_brtest_msgs" analogous to
"rtt_ros_integration_std_msgs" intended to generate the typekit and
transport plugins for my "brtest" messages. It currently looks like
the following:
manifest.xml:
<package>
<description brief="rtt_ros_integration_br_msgs">
rtt_ros_integration_br_msgs
</description>
<author>stefan</author>
<license>BSD</license>
<review status="unreviewed" notes=""/>
<url>
http://ros.org/wiki/rtt_ros_integration_br_msgs</url>
<depend package="rtt_ros_integration_std_msgs"/>
<depend package="roslib"/>
<depend package="br_msgs"/>
<export>
<cpp cflags="-I${prefix}/include"/>
</export>
</package>
CMakeLists.txt:
cmake_minimum_required(VERSION 2.4.6)
include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake)
set(ROS_BUILD_TYPE Debug)
rosbuild_init()
#set the default path for built executables to the "bin" directory
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
#set the default path for built libraries to the "lib" directory
set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)
rosbuild_include(rtt_ros_integration GenerateRTTtypekit)
ros_generate_rtt_typekit(roslib)
ros_generate_rtt_typekit(br_msgs)
I slightly modified the rtt_ros_integration_example so it also depends
on "rtt_ros_integration_brtest_msgs" and also load the typekit in
"/home/stefan/rosext/orocos_toolchain_ros/rtt_ros_integration_br_msgs/lib/orocos".
If I use an In- or Outport with my custom message though, the
TaskBrowser shows it to me as "unknown_t". It also makes sense to me,
because without knowing much about the internal details, my custom
message depends on std_msgs and I guess this dependency isn't properly
represented in the copy&paste code I posted above. So I'm asking for
the proper way to do that.
Thanks in advance,
Stefan