[ros-users] Using orocos_toolchain_ros with custom message types

Ruben Smits ruben.smits at mech.kuleuven.be
Tue Oct 12 09:06:18 UTC 2010


On Tuesday 12 October 2010 09:37:49 Stefan Kohlbrecher wrote:
> 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/o
> rocos". 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.

What does the TaskBrowser tell you when you type: 
.types

does your type get listed? If not, try to execute the application with debug 
info either,
export ORO_LOGLEVEL=7
or append the deployer arguments with
-ldebug

and check whether your typekit gets loaded correctly.

Ruben

> Thanks in advance,
> Stefan
> _______________________________________________
> ros-users mailing list
> ros-users at code.ros.org
> https://code.ros.org/mailman/listinfo/ros-users



More information about the ros-users mailing list