[ros-users] Using orocos_toolchain_ros with custom message types

Stefan Kohlbrecher stefan.kohlbrecher at googlemail.com
Tue Oct 12 07:37:49 UTC 2010


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



More information about the ros-users mailing list