Orocos deployer as a ROS node

Hello everyone,

I would like to encapsulate an Orocos deployer into a ROS node. The
deployer is an XML file that should be independant from the ROS files. I
want to create a ROS node, load the XML file, and then run the node with
minimal user implication (ideally the user should not notice that the node
is a wrapper around Orocos).
I am looking for any ressource or example that could help me with that.
I am using the orocos_toolchain package in ROS.

Thanks

Orocos deployer as a ROS node

On 09/12/2013 03:00 PM, Flavian Hautbois wrote:
> Hello everyone,
>
> I would like to encapsulate an Orocos deployer into a ROS node. The deployer is an XML file that should be independant from the ROS files. I want to create a ROS node, load
> the XML file, and then run the node with minimal user implication (ideally the user should not notice that the node is a wrapper around Orocos).
if you run the orocos code, eg. rosrun ocl deployer-gnulinux deploy.ops
which contains connection of ports with topics (using the rtt_ros_integration), it will show up automatically as a node in rxgraph,

you can however also run this using a launch file, to make it more ROS style:
<launch>
<node name="oronode" pkg="ocl" type="deployer-gnulinux" args="-s $(find my_oro_pkg)/deploy.ops --">
</node>
</launch>
> I am looking for any ressource or example that could help me with that.
> I am using the orocos_toolchain package in ROS.

>
> Thanks
>
> --
> F. Hautbois
>
>
hth,

nick

Ruben Smits's picture

Orocos deployer as a ROS node

On Fri, Sep 13, 2013 at 6:11 AM, Dominick Vanthienen <
dominick [dot] vanthienen [..] ...> wrote:

>
>
> On 09/12/2013 03:00 PM, Flavian Hautbois wrote:
> > Hello everyone,
> >
> > I would like to encapsulate an Orocos deployer into a ROS node. The
> deployer is an XML file that should be independant from the ROS files. I
> want to create a ROS node, load
> > the XML file, and then run the node with minimal user implication
> (ideally the user should not notice that the node is a wrapper around
> Orocos).
> if you run the orocos code, eg. rosrun ocl deployer-gnulinux deploy.ops
> which contains connection of ports with topics (using the
> rtt_ros_integration), it will show up automatically as a node in rxgraph,
>

This is only the case if you import the rtt_rosnode plugin!

>
> you can however also run this using a launch file, to make it more ROS
> style:
> <launch>
> <node name="oronode" pkg="ocl" type="deployer-gnulinux" args="-s $(find
> my_oro_pkg)/deploy.ops --">
> </node>
> </launch>
>

I think this is what you are looking for, it will also work if your Orocos
application is completely ROS independent.

Ruben

> > I am looking for any ressource or example that could help me with that.
> > I am using the orocos_toolchain package in ROS.
>
> >
> > Thanks
> >
> > --
> > F. Hautbois
> >
> >
> hth,
>
> nick
> --
> Orocos-Users mailing list
> Orocos-Users [..] ...
> http://lists.mech.kuleuven.be/mailman/listinfo/orocos-users
>

Orocos deployer as a ROS node

Thanks for the answers.

I still have another point to add: say I want a simple two-component
deployer, with an IK solver and a saturator. The saturator publishes to a
topic (typically something like trajectory_point_streamer). Both the IK and
the saturator need either ROS functionalities (the IK will use MoveIt API)
or configuration files located in ROS packages (eg. yaml files for joint
limits).
In this architecture we are no longer decoupled but Orocos provides a more
"architectural" view of the inside of the node (I view it as a sort of
composition of Orocos components).

Any thoughts on the possibility of doing this?

Flavian

2013/9/13 Ruben Smits <ruben [dot] smits [..] ...>

>
>
>
> On Fri, Sep 13, 2013 at 6:11 AM, Dominick Vanthienen <
> dominick [dot] vanthienen [..] ...> wrote:
>
>>
>>
>> On 09/12/2013 03:00 PM, Flavian Hautbois wrote:
>> > Hello everyone,
>> >
>> > I would like to encapsulate an Orocos deployer into a ROS node. The
>> deployer is an XML file that should be independant from the ROS files. I
>> want to create a ROS node, load
>> > the XML file, and then run the node with minimal user implication
>> (ideally the user should not notice that the node is a wrapper around
>> Orocos).
>> if you run the orocos code, eg. rosrun ocl deployer-gnulinux deploy.ops
>> which contains connection of ports with topics (using the
>> rtt_ros_integration), it will show up automatically as a node in rxgraph,
>>
>
> This is only the case if you import the rtt_rosnode plugin!
>
>
>>
>> you can however also run this using a launch file, to make it more ROS
>> style:
>> <launch>
>> <node name="oronode" pkg="ocl" type="deployer-gnulinux" args="-s $(find
>> my_oro_pkg)/deploy.ops --">
>> </node>
>> </launch>
>>
>
> I think this is what you are looking for, it will also work if your Orocos
> application is completely ROS independent.
>
> Ruben
>
>
>> > I am looking for any ressource or example that could help me with that.
>> > I am using the orocos_toolchain package in ROS.
>>
>> >
>> > Thanks
>> >
>> > --
>> > F. Hautbois
>> >
>> >
>> hth,
>>
>> nick
>> --
>> Orocos-Users mailing list
>> Orocos-Users [..] ...
>> http://lists.mech.kuleuven.be/mailman/listinfo/orocos-users
>>
>
>
>
> --
> Ruben Smits, Phd
> Chief Technology Officer
> Intermodalics BVBA
> +32479511786
> www.intermodalics.eu
>
> --
> Orocos-Users mailing list
> Orocos-Users [..] ...
> http://lists.mech.kuleuven.be/mailman/listinfo/orocos-users
>
>

Orocos deployer as a ROS node

On Fri, 13 Sep 2013, Flavian Hautbois wrote:

> Thanks for the answers.
>
> I still have another point to add: say I want a simple two-component
> deployer, with an IK solver and a saturator. The saturator publishes to a
> topic (typically something like trajectory_point_streamer). Both the IK and
> the saturator need either ROS functionalities (the IK will use MoveIt API)
> or configuration files located in ROS packages (eg. yaml files for joint
> limits).
> In this architecture we are no longer decoupled but Orocos provides a more
> "architectural" view of the inside of the node (I view it as a sort of
> composition of Orocos components).
>
> Any thoughts on the possibility of doing this?

Sure... This use case is one in which no ROS or Orocos should be anywhere
in sight! In other words, putting cooperating _algorithms_ into
separate _OS-level_ container components makes no sense. At all.

You should free the algorithms from their ROS/Orocos container prison, and
call them as functions in your new, composite algorithm.

> Flavian

Herman

> 2013/9/13 Ruben Smits <ruben [dot] smits [..] ...>
>
>>
>>
>>
>> On Fri, Sep 13, 2013 at 6:11 AM, Dominick Vanthienen <
>> dominick [dot] vanthienen [..] ...> wrote:
>>
>>>
>>>
>>> On 09/12/2013 03:00 PM, Flavian Hautbois wrote:
>>>> Hello everyone,
>>>>
>>>> I would like to encapsulate an Orocos deployer into a ROS node. The
>>> deployer is an XML file that should be independant from the ROS files. I
>>> want to create a ROS node, load
>>>> the XML file, and then run the node with minimal user implication
>>> (ideally the user should not notice that the node is a wrapper around
>>> Orocos).
>>> if you run the orocos code, eg. rosrun ocl deployer-gnulinux deploy.ops
>>> which contains connection of ports with topics (using the
>>> rtt_ros_integration), it will show up automatically as a node in rxgraph,
>>>
>>
>> This is only the case if you import the rtt_rosnode plugin!
>>
>>
>>>
>>> you can however also run this using a launch file, to make it more ROS
>>> style:
>>> <launch>
>>> <node name="oronode" pkg="ocl" type="deployer-gnulinux" args="-s $(find
>>> my_oro_pkg)/deploy.ops --">
>>> </node>
>>> </launch>
>>>
>>
>> I think this is what you are looking for, it will also work if your Orocos
>> application is completely ROS independent.
>>
>> Ruben
>>
>>
>>>> I am looking for any ressource or example that could help me with that.
>>>> I am using the orocos_toolchain package in ROS.
>>>
>>>>
>>>> Thanks
>>>>
>>>> --
>>>> F. Hautbois
>>>>
>>>>
>>> hth,
>>>
>>> nick
>>> --
>>> Orocos-Users mailing list
>>> Orocos-Users [..] ...
>>> http://lists.mech.kuleuven.be/mailman/listinfo/orocos-users
>>>
>>
>>
>>
>> --
>> Ruben Smits, Phd
>> Chief Technology Officer
>> Intermodalics BVBA
>> +32479511786
>> www.intermodalics.eu
>>
>> --
>> Orocos-Users mailing list
>> Orocos-Users [..] ...
>> http://lists.mech.kuleuven.be/mailman/listinfo/orocos-users
>>
>>
>
>
>

Orocos deployer as a ROS node

Herman,

I am aware of the necessary decoupling between algorithm and middleware,
since people from ROS and Orocos talked about it extensively.

My use case features two algorithms (IK from the moveit API and a "custom"
saturator) that I would like to use together or separately in an Orocos
environment or a ROS environment.
Since both these algorithms need information about joint limits etc., I
thought I could make an interface to read configuration files or
description files (in this case also generated by MoveIt) from the Orocos
interface.
An Orocos deployer can "live" in a ROS node, and I am looking for a way to
provide these files to my Orocos components as well as being able to
publish the output of my Orocos components to predefined topics.

However, I may make a logic mistake regarding decoupling, don't hesitate to
point it out!

Thanks

Flavian

2013/9/13 Herman Bruyninckx <Herman [dot] Bruyninckx [..] ...>

> On Fri, 13 Sep 2013, Flavian Hautbois wrote:
>
> Thanks for the answers.
>>
>> I still have another point to add: say I want a simple two-component
>> deployer, with an IK solver and a saturator. The saturator publishes to a
>> topic (typically something like trajectory_point_streamer). Both the IK
>> and
>> the saturator need either ROS functionalities (the IK will use MoveIt API)
>> or configuration files located in ROS packages (eg. yaml files for joint
>> limits).
>> In this architecture we are no longer decoupled but Orocos provides a more
>> "architectural" view of the inside of the node (I view it as a sort of
>> composition of Orocos components).
>>
>> Any thoughts on the possibility of doing this?
>>
>
> Sure... This use case is one in which no ROS or Orocos should be anywhere
> in sight! In other words, putting cooperating _algorithms_ into
> separate _OS-level_ container components makes no sense. At all.
>
> You should free the algorithms from their ROS/Orocos container prison, and
> call them as functions in your new, composite algorithm.
>
> Flavian
>>
>
> Herman
>
>
> 2013/9/13 Ruben Smits <ruben [dot] smits [..] ...>
>>
>>
>>>
>>>
>>> On Fri, Sep 13, 2013 at 6:11 AM, Dominick Vanthienen <
>>> dominick.vanthienen@mech.**kuleuven.be<dominick [dot] vanthienen [..] ...>>
>>> wrote:
>>>
>>>
>>>>
>>>> On 09/12/2013 03:00 PM, Flavian Hautbois wrote:
>>>>
>>>>> Hello everyone,
>>>>>
>>>>> I would like to encapsulate an Orocos deployer into a ROS node. The
>>>>>
>>>> deployer is an XML file that should be independant from the ROS files. I
>>>> want to create a ROS node, load
>>>>
>>>>> the XML file, and then run the node with minimal user implication
>>>>>
>>>> (ideally the user should not notice that the node is a wrapper around
>>>> Orocos).
>>>> if you run the orocos code, eg. rosrun ocl deployer-gnulinux deploy.ops
>>>> which contains connection of ports with topics (using the
>>>> rtt_ros_integration), it will show up automatically as a node in
>>>> rxgraph,
>>>>
>>>>
>>> This is only the case if you import the rtt_rosnode plugin!
>>>
>>>
>>>
>>>> you can however also run this using a launch file, to make it more ROS
>>>> style:
>>>> <launch>
>>>> <node name="oronode" pkg="ocl" type="deployer-gnulinux" args="-s $(find
>>>> my_oro_pkg)/deploy.ops --">
>>>> </node>
>>>> </launch>
>>>>
>>>>
>>> I think this is what you are looking for, it will also work if your
>>> Orocos
>>> application is completely ROS independent.
>>>
>>> Ruben
>>>
>>>
>>> I am looking for any ressource or example that could help me with that.
>>>>> I am using the orocos_toolchain package in ROS.
>>>>>
>>>>
>>>>
>>>>> Thanks
>>>>>
>>>>> --
>>>>> F. Hautbois
>>>>>
>>>>>
>>>>> hth,
>>>>
>>>> nick
>>>> --
>>>> Orocos-Users mailing list
>>>> Orocos-Users [..] ....**kuleuven.be<Orocos-Users [..] ...>
>>>> http://lists.mech.kuleuven.be/**mailman/listinfo/orocos-users<http://lis...
>>>>
>>>>
>>>
>>>
>>> --
>>> Ruben Smits, Phd
>>> Chief Technology Officer
>>> Intermodalics BVBA
>>> +32479511786
>>> www.intermodalics.eu
>>>
>>> --
>>> Orocos-Users mailing list
>>> Orocos-Users [..] ....**kuleuven.be<Orocos-Users [..] ...>
>>> http://lists.mech.kuleuven.be/**mailman/listinfo/orocos-users<http://lis...
>>>
>>>
>>>
>>
>>
>>
> --
> --
> University of Leuven, Mechanical Engineering, Robotics Research Group
> <http://people.mech.kuleuven.**be/~bruyninc<http://people.mech.kuleuven.be/~bruyninc>>
> Tel: +32 16 328056
> Vice-President Research euRobotics AISBL <http://www.eu-robotics.net>
> Open RObot COntrol Software <http://www.orocos.org>
> Associate Editor JOSER <http://www.joser.org>
>