[ros-users] Using orocos_toolchain_ros with custom message types

Steven Bellens steven.bellens at mech.kuleuven.be
Tue Oct 12 11:41:44 UTC 2010


Hey Stefan,

2010/10/12 Stefan Kohlbrecher <stefan.kohlbrecher at googlemail.com>:
> Hi Ruben,
>
> thanks for the hint, I indeed managed to not get the typekit loaded,
> due to a wrong path I provided. Just fixed it and tested my custom In-
> and Outport. Seems to work like a charm so far.
>
> regards,
> Stefan
>
> 2010/10/12 Ruben Smits <ruben.smits at mech.kuleuven.be>:
>> 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:

It's like you prefer to design your packages, but you don't need the
extra typekit package. You can just add the typekit generation to your
brtest_msgs package. Have you taken a look at the docs at
http://www.ros.org/wiki/orocos_toolchain_ros?
They should be self explaining, but in case something is not clear,
let us know and we'll extend them.

>>>
>>> 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)

The roslib typekit is already generated in the std_msgs as well.

>>>
>>>
>>>
>>> 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
>>
> _______________________________________________
> 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