SoemMaster + Ports + connections

Hello, I am new here and have an issue I could use some clarification on. I'm working with the SoemMaster stack and running into an issue trying to connect my port from the soemMaster to the outside world, ie another peer, another port, to ROS or anything.
The issue seems to be in the way drivers add services to the master. I cannot use connectTwoPorts("SoemMaster","Slave_1001_myport","myOtherNode","myport"), deployer does not seems to be able to see Slave_1001_myport as a port. This is actually true, the full name of the port is SoemMaster.Slave_1001.myport and in deployer I can use tab to expand this out and call one of its methods for instance, so I know this port is there.
If I add a cout to my update() method of the driver I can see my changing data streaming out of the node.
I cannot find a way to address this port with anything which will be picked up by another node.
When the drivers load they add a service to the master which has the name of that slave, such as Slave_1001.

I successfully have a different node streaming data in and out to ROS using the xml format connection setup as used in rtt_ros_integration_example stack. I would love to get this working with a soemaster slave.

Help!

thank you.

Asa

SoemMaster + Ports + connections

On Thu, 2011-02-10 at 09:26 +0100, asa hammond wrote:
> Hello, I am new here and have an issue I could use some clarification on. I'm working with the SoemMaster stack and running into an issue trying to connect my port from the soemMaster to the outside world, ie another peer, another port, to ROS or anything.
> The issue seems to be in the way drivers add services to the master. I cannot use connectTwoPorts("SoemMaster","Slave_1001_myport","myOtherNode","myport"), deployer does not seems to be able to see Slave_1001_myport as a port. This is actually true, the full name of the port is SoemMaster.Slave_1001.myport and in deployer I can use tab to expand this out and call one of its methods for instance, so I know this port is there.

Is use these lines for an encoder module:
connectTwoPorts("SoemMaster","Slave_1005_value","BaseController","enc4_in")
and analog out module:
connectTwoPorts("BaseController","volt_out","SoemMaster","Slave_100d_values")

Which slave are you using or is it a custom one?

Tim

> If I add a cout to my update() method of the driver I can see my changing data streaming out of the node.
> I cannot find a way to address this port with anything which will be picked up by another node.
> When the drivers load they add a service to the master which has the name of that slave, such as Slave_1001.
>
> I successfully have a different node streaming data in and out to ROS using the xml format connection setup as used in rtt_ros_integration_example stack. I would love to get this working with a soemaster slave.
>
> Help!
>
> thank you.
>
> Asa
>
>

SoemMaster + Ports + connections

I am using a custom driver for an encoder. I am indeed getting unknown_t in the port description. The port is a custom msg type. I can certainly move it over to float type if it will improve my chances.

I feel like I have tried to use connect and a policy before but I'll try again.

I'll also try on the latest orocos toolchaij just released.

Thanks!

Asa

On Feb 10, 2011, at 5:31 AM, Tim Clephas <t [dot] t [dot] g [dot] clephas [..] ...> wrote:

> On Thu, 2011-02-10 at 09:26 +0100, asa hammond wrote:
>> Hello, I am new here and have an issue I could use some clarification on. I'm working with the SoemMaster stack and running into an issue trying to connect my port from the soemMaster to the outside world, ie another peer, another port, to ROS or anything.
>> The issue seems to be in the way drivers add services to the master. I cannot use connectTwoPorts("SoemMaster","Slave_1001_myport","myOtherNode","myport"), deployer does not seems to be able to see Slave_1001_myport as a port. This is actually true, the full name of the port is SoemMaster.Slave_1001.myport and in deployer I can use tab to expand this out and call one of its methods for instance, so I know this port is there.
>
> Is use these lines for an encoder module:
> connectTwoPorts("SoemMaster","Slave_1005_value","BaseController","enc4_in")
> and analog out module:
> connectTwoPorts("BaseController","volt_out","SoemMaster","Slave_100d_values")
>
> Which slave are you using or is it a custom one?
>
> Tim
>
>> If I add a cout to my update() method of the driver I can see my changing data streaming out of the node.
>> I cannot find a way to address this port with anything which will be picked up by another node.
>> When the drivers load they add a service to the master which has the name of that slave, such as Slave_1001.
>>
>> I successfully have a different node streaming data in and out to ROS using the xml format connection setup as used in rtt_ros_integration_example stack. I would love to get this working with a soemaster slave.
>>
>> Help!
>>
>> thank you.
>>
>> Asa
>>
>>
>
>

SoemMaster + Ports + connections

My appologies, didn't read the rest of my mail yet :)

Ignore this answer.

Tim

On Thu, 2011-02-10 at 14:31 +0100, Tim Clephas wrote:
> On Thu, 2011-02-10 at 09:26 +0100, asa hammond wrote:
> > Hello, I am new here and have an issue I could use some clarification on. I'm working with the SoemMaster stack and running into an issue trying to connect my port from the soemMaster to the outside world, ie another peer, another port, to ROS or anything.
> > The issue seems to be in the way drivers add services to the master. I cannot use connectTwoPorts("SoemMaster","Slave_1001_myport","myOtherNode","myport"), deployer does not seems to be able to see Slave_1001_myport as a port. This is actually true, the full name of the port is SoemMaster.Slave_1001.myport and in deployer I can use tab to expand this out and call one of its methods for instance, so I know this port is there.
>
> Is use these lines for an encoder module:
> connectTwoPorts("SoemMaster","Slave_1005_value","BaseController","enc4_in")
> and analog out module:
> connectTwoPorts("BaseController","volt_out","SoemMaster","Slave_100d_values")
>
> Which slave are you using or is it a custom one?
>
> Tim
>
> > If I add a cout to my update() method of the driver I can see my changing data streaming out of the node.
> > I cannot find a way to address this port with anything which will be picked up by another node.
> > When the drivers load they add a service to the master which has the name of that slave, such as Slave_1001.
> >
> > I successfully have a different node streaming data in and out to ROS using the xml format connection setup as used in rtt_ros_integration_example stack. I would love to get this working with a soemaster slave.
> >
> > Help!
> >
> > thank you.
> >
> > Asa
> >
> >
>
>

Ruben Smits's picture

SoemMaster + Ports + connections

On Thursday 10 February 2011 09:26:11 asa hammond wrote:
> Hello, I am new here and have an issue I could use some clarification on.
> I'm working with the SoemMaster stack and running into an issue trying to
> connect my port from the soemMaster to the outside world, ie another peer,
> another port, to ROS or anything. The issue seems to be in the way drivers
> add services to the master. I cannot use
> connectTwoPorts("SoemMaster","Slave_1001_myport","myOtherNode","myport"),
> deployer does not seems to be able to see Slave_1001_myport as a port.
> This is actually true, the full name of the port is
> SoemMaster.Slave_1001.myport and in deployer I can use tab to expand this
> out and call one of its methods for instance, so I know this port is there.

The connectTwoPorts is deprecated since it cannot handle ports inside
services. It is replaces by the connect function which is able to do this:

connect("SoemMaster.Slave_1001.myport","myOtherNode","myport",ConnPolicy())

To connect them using the default connection policy.

> If I add a cout to my update() method of the driver I can see my changing
> data streaming out of the node. I cannot find a way to address this port
> with anything which will be picked up by another node. When the drivers
> load they add a service to the master which has the name of that slave,
> such as Slave_1001.
>
> I successfully have a different node streaming data in and out to ROS using
> the xml format connection setup as used in rtt_ros_integration_example
> stack. I would love to get this working with a soemaster slave.

You can also create streams using the 'stream' function:

var ConnPolicy cp
cp.transport=3//ROS
cp.name_id=/topic_name
stream("SoemMaster.Slave_1001.myport",cp)

> Help!
>
> thank you.
>
> Asa

-- Ruben

Ruben Smits's picture

SoemMaster + Ports + connections

There was a typo in my answer:

On Thursday 10 February 2011 10:11:53 Ruben Smits wrote:
> On Thursday 10 February 2011 09:26:11 asa hammond wrote:
> > Hello, I am new here and have an issue I could use some clarification
> > on.
> > I'm working with the SoemMaster stack and running into an issue trying
> > to
> > connect my port from the soemMaster to the outside world, ie another
> > peer, another port, to ROS or anything. The issue seems to be in the
> > way drivers add services to the master. I cannot use
> > connectTwoPorts("SoemMaster","Slave_1001_myport","myOtherNode","myport")
> > ,
> > deployer does not seems to be able to see Slave_1001_myport as a port.
> > This is actually true, the full name of the port is
> > SoemMaster.Slave_1001.myport and in deployer I can use tab to expand
> > this
> > out and call one of its methods for instance, so I know this port is
> > there.
>
> The connectTwoPorts is deprecated since it cannot handle ports inside
> services. It is replaces by the connect function which is able to do this:
>
> connect("SoemMaster.Slave_1001.myport","myOtherNode","myport",ConnPolicy())

this should have been

connect("SoemMaster.Slave_1001.myport","myOtherNode.myport",ConnPolicy())

> To connect them using the default connection policy.
>
> > If I add a cout to my update() method of the driver I can see my
> > changing
> > data streaming out of the node. I cannot find a way to address this port
> > with anything which will be picked up by another node. When the drivers
> > load they add a service to the master which has the name of that slave,
> > such as Slave_1001.
> >
> > I successfully have a different node streaming data in and out to ROS
> > using the xml format connection setup as used in
> > rtt_ros_integration_example stack. I would love to get this working
> > with a soemaster slave.
>
> You can also create streams using the 'stream' function:
>
> var ConnPolicy cp
> cp.transport=3//ROS
> cp.name_id=/topic_name
> stream("SoemMaster.Slave_1001.myport",cp)
>
> > Help!
> >
> > thank you.
> >
> > Asa
-- Ruben

SoemMaster + Ports + connections

I get " no method connect registered for the object or task "DataCall::Deployer"

Asa

On Feb 10, 2011, at 1:13 AM, Ruben Smits <ruben [dot] smits [..] ...> wrote:

> There was a typo in my answer:
>
> On Thursday 10 February 2011 10:11:53 Ruben Smits wrote:
>> On Thursday 10 February 2011 09:26:11 asa hammond wrote:
>>> Hello, I am new here and have an issue I could use some clarification
>>> on.
>>> I'm working with the SoemMaster stack and running into an issue trying
>>> to
>>> connect my port from the soemMaster to the outside world, ie another
>>> peer, another port, to ROS or anything. The issue seems to be in the
>>> way drivers add services to the master. I cannot use
>>> connectTwoPorts("SoemMaster","Slave_1001_myport","myOtherNode","myport")
>>> ,
>>> deployer does not seems to be able to see Slave_1001_myport as a port.
>>> This is actually true, the full name of the port is
>>> SoemMaster.Slave_1001.myport and in deployer I can use tab to expand
>>> this
>>> out and call one of its methods for instance, so I know this port is
>>> there.
>>
>> The connectTwoPorts is deprecated since it cannot handle ports inside
>> services. It is replaces by the connect function which is able to do this:
>>
>> connect("SoemMaster.Slave_1001.myport","myOtherNode","myport",ConnPolicy())
>
> this should have been
>
> connect("SoemMaster.Slave_1001.myport","myOtherNode.myport",ConnPolicy())
>
>> To connect them using the default connection policy.
>>
>>> If I add a cout to my update() method of the driver I can see my
>>> changing
>>> data streaming out of the node. I cannot find a way to address this port
>>> with anything which will be picked up by another node. When the drivers
>>> load they add a service to the master which has the name of that slave,
>>> such as Slave_1001.
>>>
>>> I successfully have a different node streaming data in and out to ROS
>>> using the xml format connection setup as used in
>>> rtt_ros_integration_example stack. I would love to get this working
>>> with a soemaster slave.
>>
>> You can also create streams using the 'stream' function:
>>
>> var ConnPolicy cp
>> cp.transport=3//ROS
>> cp.name_id=/topic_name
>> stream("SoemMaster.Slave_1001.myport",cp)
>>
>>> Help!
>>>
>>> thank you.
>>>
>>> Asa
> -- Ruben

Ruben Smits's picture

SoemMaster + Ports + connections

On Thursday 10 February 2011 20:16:12 asa hammond wrote:
> I get " no method connect registered for the object or task
> "DataCall::Deployer"

Which version of the Orocos Toolchain are you using, I think you need at least
version 2.2 for this.

> Asa

--Ruben

> On Feb 10, 2011, at 1:13 AM, Ruben Smits <ruben [dot] smits [..] ...>
wrote:
> > There was a typo in my answer:
> >
> > On Thursday 10 February 2011 10:11:53 Ruben Smits wrote:
> >> On Thursday 10 February 2011 09:26:11 asa hammond wrote:
> >>> Hello, I am new here and have an issue I could use some
> >>> clarification
> >>> on.
> >>> I'm working with the SoemMaster stack and running into an issue
> >>> trying
> >>> to
> >>> connect my port from the soemMaster to the outside world, ie another
> >>> peer, another port, to ROS or anything. The issue seems to be in the
> >>> way drivers add services to the master. I cannot use
> >>> connectTwoPorts("SoemMaster","Slave_1001_myport","myOtherNode","mypo
> >>> rt") ,
> >>> deployer does not seems to be able to see Slave_1001_myport as a
> >>> port.
> >>> This is actually true, the full name of the port is
> >>> SoemMaster.Slave_1001.myport and in deployer I can use tab to expand
> >>> this
> >>> out and call one of its methods for instance, so I know this port is
> >>> there.
> >>
> >> The connectTwoPorts is deprecated since it cannot handle ports inside
> >> services. It is replaces by the connect function which is able to do
> >> this:
> >>
> >> connect("SoemMaster.Slave_1001.myport","myOtherNode","myport",ConnPoli
> >> cy())
> >
> > this should have been
> >
> > connect("SoemMaster.Slave_1001.myport","myOtherNode.myport",ConnPolicy()
> > )
> >
> >> To connect them using the default connection policy.
> >>
> >>> If I add a cout to my update() method of the driver I can see my
> >>> changing
> >>> data streaming out of the node. I cannot find a way to address this
> >>> port with anything which will be picked up by another node. When
> >>> the drivers load they add a service to the master which has the
> >>> name of that slave, such as Slave_1001.
> >>>
> >>> I successfully have a different node streaming data in and out to
> >>> ROS
> >>> using the xml format connection setup as used in
> >>> rtt_ros_integration_example stack. I would love to get this working
> >>> with a soemaster slave.
> >>
> >> You can also create streams using the 'stream' function:
> >>
> >> var ConnPolicy cp
> >> cp.transport=3//ROS
> >> cp.name_id=/topic_name
> >> stream("SoemMaster.Slave_1001.myport",cp)
> >>
> >>> Help!
> >>>
> >>> thank you.
> >>>
> >>> Asa
> >
> > -- Ruben

SoemMaster + Ports + connections

Am using cturtle one. Is unstable the way to go?

Asa

On Feb 10, 2011, at 11:43 AM, Ruben Smits <ruben [dot] smits [..] ...> wrote:

> On Thursday 10 February 2011 20:16:12 asa hammond wrote:
>> I get " no method connect registered for the object or task
>> "DataCall::Deployer"
>
> Which version of the Orocos Toolchain are you using, I think you need at least
> version 2.2 for this.
>
>> Asa
>
> --Ruben
>
>> On Feb 10, 2011, at 1:13 AM, Ruben Smits <ruben [dot] smits [..] ...>
> wrote:
>>> There was a typo in my answer:
>>>
>>> On Thursday 10 February 2011 10:11:53 Ruben Smits wrote:
>>>> On Thursday 10 February 2011 09:26:11 asa hammond wrote:
>>>>> Hello, I am new here and have an issue I could use some
>>>>> clarification
>>>>> on.
>>>>> I'm working with the SoemMaster stack and running into an issue
>>>>> trying
>>>>> to
>>>>> connect my port from the soemMaster to the outside world, ie another
>>>>> peer, another port, to ROS or anything. The issue seems to be in the
>>>>> way drivers add services to the master. I cannot use
>>>>> connectTwoPorts("SoemMaster","Slave_1001_myport","myOtherNode","mypo
>>>>> rt") ,
>>>>> deployer does not seems to be able to see Slave_1001_myport as a
>>>>> port.
>>>>> This is actually true, the full name of the port is
>>>>> SoemMaster.Slave_1001.myport and in deployer I can use tab to expand
>>>>> this
>>>>> out and call one of its methods for instance, so I know this port is
>>>>> there.
>>>>
>>>> The connectTwoPorts is deprecated since it cannot handle ports inside
>>>> services. It is replaces by the connect function which is able to do
>>>> this:
>>>>
>>>> connect("SoemMaster.Slave_1001.myport","myOtherNode","myport",ConnPoli
>>>> cy())
>>>
>>> this should have been
>>>
>>> connect("SoemMaster.Slave_1001.myport","myOtherNode.myport",ConnPolicy()
>>> )
>>>
>>>> To connect them using the default connection policy.
>>>>
>>>>> If I add a cout to my update() method of the driver I can see my
>>>>> changing
>>>>> data streaming out of the node. I cannot find a way to address this
>>>>> port with anything which will be picked up by another node. When
>>>>> the drivers load they add a service to the master which has the
>>>>> name of that slave, such as Slave_1001.
>>>>>
>>>>> I successfully have a different node streaming data in and out to
>>>>> ROS
>>>>> using the xml format connection setup as used in
>>>>> rtt_ros_integration_example stack. I would love to get this working
>>>>> with a soemaster slave.
>>>>
>>>> You can also create streams using the 'stream' function:
>>>>
>>>> var ConnPolicy cp
>>>> cp.transport=3//ROS
>>>> cp.name_id=/topic_name
>>>> stream("SoemMaster.Slave_1001.myport",cp)
>>>>
>>>>> Help!
>>>>>
>>>>> thank you.
>>>>>
>>>>> Asa
>>>
>>> -- Ruben

Ruben Smits's picture

SoemMaster + Ports + connections

On Thursday 10 February 2011 20:49:28 asa hammond wrote:
> Am using cturtle one. Is unstable the way to go?

I released a new version of the orocos_toolchain_ros stack a few days ago,
this one should include the 2.2 version of RTT/OCL. How did you get your
orocos_toolchain_ros stack? Using git or the debian packages? If you use git,
make sure to pull the cturtle branch again and run git submodules update. The
debian packages for cturtle are still in the pipeline
(http://www.ros.org/debbuild/cturtle.html), we'll have to wait until a new
update of the debian packages is pushed by Willow Garage.

At this moment only the unstable debian packages are up to date with our
latest release. I hope diamondback will also be up to date once it leaves its
beta status.

--Ruben

> Asa
>
> On Feb 10, 2011, at 11:43 AM, Ruben Smits <ruben [dot] smits [..] ...>
wrote:
> > On Thursday 10 February 2011 20:16:12 asa hammond wrote:
> >> I get " no method connect registered for the object or task
> >> "DataCall::Deployer"
> >
> > Which version of the Orocos Toolchain are you using, I think you need at
> > least version 2.2 for this.
> >
> >> Asa
> >
> > --Ruben
> >
> >> On Feb 10, 2011, at 1:13 AM, Ruben Smits
> >> <ruben [dot] smits [..] ...>
> >
> > wrote:
> >>> There was a typo in my answer:
> >>>
> >>> On Thursday 10 February 2011 10:11:53 Ruben Smits wrote:
> >>>> On Thursday 10 February 2011 09:26:11 asa hammond wrote:
> >>>>> Hello, I am new here and have an issue I could use some
> >>>>> clarification
> >>>>> on.
> >>>>> I'm working with the SoemMaster stack and running into an issue
> >>>>> trying
> >>>>> to
> >>>>> connect my port from the soemMaster to the outside world, ie
> >>>>> another
> >>>>> peer, another port, to ROS or anything. The issue seems to be in
> >>>>> the
> >>>>> way drivers add services to the master. I cannot use
> >>>>> connectTwoPorts("SoemMaster","Slave_1001_myport","myOtherNode","
> >>>>> mypo
> >>>>> rt") ,
> >>>>> deployer does not seems to be able to see Slave_1001_myport as a
> >>>>> port.
> >>>>> This is actually true, the full name of the port is
> >>>>> SoemMaster.Slave_1001.myport and in deployer I can use tab to
> >>>>> expand
> >>>>> this
> >>>>> out and call one of its methods for instance, so I know this
> >>>>> port is
> >>>>> there.
> >>>>
> >>>> The connectTwoPorts is deprecated since it cannot handle ports
> >>>> inside
> >>>> services. It is replaces by the connect function which is able to
> >>>> do
> >>>> this:
> >>>>
> >>>> connect("SoemMaster.Slave_1001.myport","myOtherNode","myport",Conn
> >>>> Poli
> >>>> cy())
> >>>
> >>> this should have been
> >>>
> >>> connect("SoemMaster.Slave_1001.myport","myOtherNode.myport",ConnPoli
> >>> cy() )
> >>>
> >>>> To connect them using the default connection policy.
> >>>>
> >>>>> If I add a cout to my update() method of the driver I can see my
> >>>>> changing
> >>>>> data streaming out of the node. I cannot find a way to address
> >>>>> this
> >>>>> port with anything which will be picked up by another node. When
> >>>>> the drivers load they add a service to the master which has the
> >>>>> name of that slave, such as Slave_1001.
> >>>>>
> >>>>> I successfully have a different node streaming data in and out
> >>>>> to
> >>>>> ROS
> >>>>> using the xml format connection setup as used in
> >>>>> rtt_ros_integration_example stack. I would love to get this
> >>>>> working
> >>>>> with a soemaster slave.
> >>>>
> >>>> You can also create streams using the 'stream' function:
> >>>>
> >>>> var ConnPolicy cp
> >>>> cp.transport=3//ROS
> >>>> cp.name_id=/topic_name
> >>>> stream("SoemMaster.Slave_1001.myport",cp)
> >>>>
> >>>>> Help!
> >>>>>
> >>>>> thank you.
> >>>>>
> >>>>> Asa
> >>>
> >>> -- Ruben

SoemMaster + Ports + connections

Ok got it all going on a fresh got install. Nice!

Probably more questions coming,=)

Asa

On Feb 10, 2011, at 1:53 PM, Ruben Smits <ruben [dot] smits [..] ...> wrote:

> On Thursday 10 February 2011 20:49:28 asa hammond wrote:
>> Am using cturtle one. Is unstable the way to go?
>
> I released a new version of the orocos_toolchain_ros stack a few days ago,
> this one should include the 2.2 version of RTT/OCL. How did you get your
> orocos_toolchain_ros stack? Using git or the debian packages? If you use git,
> make sure to pull the cturtle branch again and run git submodules update. The
> debian packages for cturtle are still in the pipeline
> (http://www.ros.org/debbuild/cturtle.html), we'll have to wait until a new
> update of the debian packages is pushed by Willow Garage.
>
> At this moment only the unstable debian packages are up to date with our
> latest release. I hope diamondback will also be up to date once it leaves its
> beta status.
>
> --Ruben
>
>> Asa
>>
>> On Feb 10, 2011, at 11:43 AM, Ruben Smits <ruben [dot] smits [..] ...>
> wrote:
>>> On Thursday 10 February 2011 20:16:12 asa hammond wrote:
>>>> I get " no method connect registered for the object or task
>>>> "DataCall::Deployer"
>>>
>>> Which version of the Orocos Toolchain are you using, I think you need at
>>> least version 2.2 for this.
>>>
>>>> Asa
>>>
>>> --Ruben
>>>
>>>> On Feb 10, 2011, at 1:13 AM, Ruben Smits
>>>> <ruben [dot] smits [..] ...>
>>>
>>> wrote:
>>>>> There was a typo in my answer:
>>>>>
>>>>> On Thursday 10 February 2011 10:11:53 Ruben Smits wrote:
>>>>>> On Thursday 10 February 2011 09:26:11 asa hammond wrote:
>>>>>>> Hello, I am new here and have an issue I could use some
>>>>>>> clarification
>>>>>>> on.
>>>>>>> I'm working with the SoemMaster stack and running into an issue
>>>>>>> trying
>>>>>>> to
>>>>>>> connect my port from the soemMaster to the outside world, ie
>>>>>>> another
>>>>>>> peer, another port, to ROS or anything. The issue seems to be in
>>>>>>> the
>>>>>>> way drivers add services to the master. I cannot use
>>>>>>> connectTwoPorts("SoemMaster","Slave_1001_myport","myOtherNode","
>>>>>>> mypo
>>>>>>> rt") ,
>>>>>>> deployer does not seems to be able to see Slave_1001_myport as a
>>>>>>> port.
>>>>>>> This is actually true, the full name of the port is
>>>>>>> SoemMaster.Slave_1001.myport and in deployer I can use tab to
>>>>>>> expand
>>>>>>> this
>>>>>>> out and call one of its methods for instance, so I know this
>>>>>>> port is
>>>>>>> there.
>>>>>>
>>>>>> The connectTwoPorts is deprecated since it cannot handle ports
>>>>>> inside
>>>>>> services. It is replaces by the connect function which is able to
>>>>>> do
>>>>>> this:
>>>>>>
>>>>>> connect("SoemMaster.Slave_1001.myport","myOtherNode","myport",Conn
>>>>>> Poli
>>>>>> cy())
>>>>>
>>>>> this should have been
>>>>>
>>>>> connect("SoemMaster.Slave_1001.myport","myOtherNode.myport",ConnPoli
>>>>> cy() )
>>>>>
>>>>>> To connect them using the default connection policy.
>>>>>>
>>>>>>> If I add a cout to my update() method of the driver I can see my
>>>>>>> changing
>>>>>>> data streaming out of the node. I cannot find a way to address
>>>>>>> this
>>>>>>> port with anything which will be picked up by another node. When
>>>>>>> the drivers load they add a service to the master which has the
>>>>>>> name of that slave, such as Slave_1001.
>>>>>>>
>>>>>>> I successfully have a different node streaming data in and out
>>>>>>> to
>>>>>>> ROS
>>>>>>> using the xml format connection setup as used in
>>>>>>> rtt_ros_integration_example stack. I would love to get this
>>>>>>> working
>>>>>>> with a soemaster slave.
>>>>>>
>>>>>> You can also create streams using the 'stream' function:
>>>>>>
>>>>>> var ConnPolicy cp
>>>>>> cp.transport=3//ROS
>>>>>> cp.name_id=/topic_name
>>>>>> stream("SoemMaster.Slave_1001.myport",cp)
>>>>>>
>>>>>>> Help!
>>>>>>>
>>>>>>> thank you.
>>>>>>>
>>>>>>> Asa
>>>>>
>>>>> -- Ruben

SoemMaster + Ports + connections

My stack is from cturtle, although I have been playing with getting the fit one working. Seems like the rtt hpp headers are not being found by cmake. Something is off overall in the includes because I getting "rtt/TaskContext.hpp not found" when I try and make.

Asa

On Feb 10, 2011, at 1:53 PM, Ruben Smits <ruben [dot] smits [..] ...> wrote:

> On Thursday 10 February 2011 20:49:28 asa hammond wrote:
>> Am using cturtle one. Is unstable the way to go?
>
> I released a new version of the orocos_toolchain_ros stack a few days ago,
> this one should include the 2.2 version of RTT/OCL. How did you get your
> orocos_toolchain_ros stack? Using git or the debian packages? If you use git,
> make sure to pull the cturtle branch again and run git submodules update. The
> debian packages for cturtle are still in the pipeline
> (http://www.ros.org/debbuild/cturtle.html), we'll have to wait until a new
> update of the debian packages is pushed by Willow Garage.
>
> At this moment only the unstable debian packages are up to date with our
> latest release. I hope diamondback will also be up to date once it leaves its
> beta status.
>
> --Ruben
>
>> Asa
>>
>> On Feb 10, 2011, at 11:43 AM, Ruben Smits <ruben [dot] smits [..] ...>
> wrote:
>>> On Thursday 10 February 2011 20:16:12 asa hammond wrote:
>>>> I get " no method connect registered for the object or task
>>>> "DataCall::Deployer"
>>>
>>> Which version of the Orocos Toolchain are you using, I think you need at
>>> least version 2.2 for this.
>>>
>>>> Asa
>>>
>>> --Ruben
>>>
>>>> On Feb 10, 2011, at 1:13 AM, Ruben Smits
>>>> <ruben [dot] smits [..] ...>
>>>
>>> wrote:
>>>>> There was a typo in my answer:
>>>>>
>>>>> On Thursday 10 February 2011 10:11:53 Ruben Smits wrote:
>>>>>> On Thursday 10 February 2011 09:26:11 asa hammond wrote:
>>>>>>> Hello, I am new here and have an issue I could use some
>>>>>>> clarification
>>>>>>> on.
>>>>>>> I'm working with the SoemMaster stack and running into an issue
>>>>>>> trying
>>>>>>> to
>>>>>>> connect my port from the soemMaster to the outside world, ie
>>>>>>> another
>>>>>>> peer, another port, to ROS or anything. The issue seems to be in
>>>>>>> the
>>>>>>> way drivers add services to the master. I cannot use
>>>>>>> connectTwoPorts("SoemMaster","Slave_1001_myport","myOtherNode","
>>>>>>> mypo
>>>>>>> rt") ,
>>>>>>> deployer does not seems to be able to see Slave_1001_myport as a
>>>>>>> port.
>>>>>>> This is actually true, the full name of the port is
>>>>>>> SoemMaster.Slave_1001.myport and in deployer I can use tab to
>>>>>>> expand
>>>>>>> this
>>>>>>> out and call one of its methods for instance, so I know this
>>>>>>> port is
>>>>>>> there.
>>>>>>
>>>>>> The connectTwoPorts is deprecated since it cannot handle ports
>>>>>> inside
>>>>>> services. It is replaces by the connect function which is able to
>>>>>> do
>>>>>> this:
>>>>>>
>>>>>> connect("SoemMaster.Slave_1001.myport","myOtherNode","myport",Conn
>>>>>> Poli
>>>>>> cy())
>>>>>
>>>>> this should have been
>>>>>
>>>>> connect("SoemMaster.Slave_1001.myport","myOtherNode.myport",ConnPoli
>>>>> cy() )
>>>>>
>>>>>> To connect them using the default connection policy.
>>>>>>
>>>>>>> If I add a cout to my update() method of the driver I can see my
>>>>>>> changing
>>>>>>> data streaming out of the node. I cannot find a way to address
>>>>>>> this
>>>>>>> port with anything which will be picked up by another node. When
>>>>>>> the drivers load they add a service to the master which has the
>>>>>>> name of that slave, such as Slave_1001.
>>>>>>>
>>>>>>> I successfully have a different node streaming data in and out
>>>>>>> to
>>>>>>> ROS
>>>>>>> using the xml format connection setup as used in
>>>>>>> rtt_ros_integration_example stack. I would love to get this
>>>>>>> working
>>>>>>> with a soemaster slave.
>>>>>>
>>>>>> You can also create streams using the 'stream' function:
>>>>>>
>>>>>> var ConnPolicy cp
>>>>>> cp.transport=3//ROS
>>>>>> cp.name_id=/topic_name
>>>>>> stream("SoemMaster.Slave_1001.myport",cp)
>>>>>>
>>>>>>> Help!
>>>>>>>
>>>>>>> thank you.
>>>>>>>
>>>>>>> Asa
>>>>>
>>>>> -- Ruben

SoemMaster + Ports + connections

On Thu, 2011-02-10 at 23:16 +0100, asa hammond wrote:
> My stack is from cturtle, although I have been playing with getting the fit one working. Seems like the rtt hpp headers are not being found by cmake. Something is off overall in the includes because I getting "rtt/TaskContext.hpp not found" when I try and make.
>
> Asa
>
> On Feb 10, 2011, at 1:53 PM, Ruben Smits <ruben [dot] smits [..] ...> wrote:
>
> > On Thursday 10 February 2011 20:49:28 asa hammond wrote:
> >> Am using cturtle one. Is unstable the way to go?

How did you get it to work? Could you give the exact steps you followed?
Because we have the same errors here with the rtt headers.

Thanks,

Tim
> >
> > I released a new version of the orocos_toolchain_ros stack a few days ago,
> > this one should include the 2.2 version of RTT/OCL. How did you get your
> > orocos_toolchain_ros stack? Using git or the debian packages? If you use git,
> > make sure to pull the cturtle branch again and run git submodules update. The
> > debian packages for cturtle are still in the pipeline
> > (http://www.ros.org/debbuild/cturtle.html), we'll have to wait until a new
> > update of the debian packages is pushed by Willow Garage.
> >
> > At this moment only the unstable debian packages are up to date with our
> > latest release. I hope diamondback will also be up to date once it leaves its
> > beta status.
> >
> > --Ruben
> >
> >> Asa
> >>
> >> On Feb 10, 2011, at 11:43 AM, Ruben Smits <ruben [dot] smits [..] ...>
> > wrote:
> >>> On Thursday 10 February 2011 20:16:12 asa hammond wrote:
> >>>> I get " no method connect registered for the object or task
> >>>> "DataCall::Deployer"
> >>>
> >>> Which version of the Orocos Toolchain are you using, I think you need at
> >>> least version 2.2 for this.
> >>>
> >>>> Asa
> >>>
> >>> --Ruben
> >>>
> >>>> On Feb 10, 2011, at 1:13 AM, Ruben Smits
> >>>> <ruben [dot] smits [..] ...>
> >>>
> >>> wrote:
> >>>>> There was a typo in my answer:
> >>>>>
> >>>>> On Thursday 10 February 2011 10:11:53 Ruben Smits wrote:
> >>>>>> On Thursday 10 February 2011 09:26:11 asa hammond wrote:
> >>>>>>> Hello, I am new here and have an issue I could use some
> >>>>>>> clarification
> >>>>>>> on.
> >>>>>>> I'm working with the SoemMaster stack and running into an issue
> >>>>>>> trying
> >>>>>>> to
> >>>>>>> connect my port from the soemMaster to the outside world, ie
> >>>>>>> another
> >>>>>>> peer, another port, to ROS or anything. The issue seems to be in
> >>>>>>> the
> >>>>>>> way drivers add services to the master. I cannot use
> >>>>>>> connectTwoPorts("SoemMaster","Slave_1001_myport","myOtherNode","
> >>>>>>> mypo
> >>>>>>> rt") ,
> >>>>>>> deployer does not seems to be able to see Slave_1001_myport as a
> >>>>>>> port.
> >>>>>>> This is actually true, the full name of the port is
> >>>>>>> SoemMaster.Slave_1001.myport and in deployer I can use tab to
> >>>>>>> expand
> >>>>>>> this
> >>>>>>> out and call one of its methods for instance, so I know this
> >>>>>>> port is
> >>>>>>> there.
> >>>>>>
> >>>>>> The connectTwoPorts is deprecated since it cannot handle ports
> >>>>>> inside
> >>>>>> services. It is replaces by the connect function which is able to
> >>>>>> do
> >>>>>> this:
> >>>>>>
> >>>>>> connect("SoemMaster.Slave_1001.myport","myOtherNode","myport",Conn
> >>>>>> Poli
> >>>>>> cy())
> >>>>>
> >>>>> this should have been
> >>>>>
> >>>>> connect("SoemMaster.Slave_1001.myport","myOtherNode.myport",ConnPoli
> >>>>> cy() )
> >>>>>
> >>>>>> To connect them using the default connection policy.
> >>>>>>
> >>>>>>> If I add a cout to my update() method of the driver I can see my
> >>>>>>> changing
> >>>>>>> data streaming out of the node. I cannot find a way to address
> >>>>>>> this
> >>>>>>> port with anything which will be picked up by another node. When
> >>>>>>> the drivers load they add a service to the master which has the
> >>>>>>> name of that slave, such as Slave_1001.
> >>>>>>>
> >>>>>>> I successfully have a different node streaming data in and out
> >>>>>>> to
> >>>>>>> ROS
> >>>>>>> using the xml format connection setup as used in
> >>>>>>> rtt_ros_integration_example stack. I would love to get this
> >>>>>>> working
> >>>>>>> with a soemaster slave.
> >>>>>>
> >>>>>> You can also create streams using the 'stream' function:
> >>>>>>
> >>>>>> var ConnPolicy cp
> >>>>>> cp.transport=3//ROS
> >>>>>> cp.name_id=/topic_name
> >>>>>> stream("SoemMaster.Slave_1001.myport",cp)
> >>>>>>
> >>>>>>> Help!
> >>>>>>>
> >>>>>>> thank you.
> >>>>>>>
> >>>>>>> Asa
> >>>>>
> >>>>> -- Ruben

SoemMaster + Ports + connections

The main thing I noticed was that the integration examples in latest version have different cmakelist file syntax. There are all kinds of differences in those new files, so I basically updated my cmakelists to look like the new examples and things seemed to work better. I also started with a fresh install on a different box (ubu 10.04 plus cturtle) but didn't get the orocos toolchain from apt, but instead followed the git install method.

Sorry this is a bit of a ramble, update your cmakelists and see where that gets you and give a shout if you get stuck. I'll try and rembet if there were any other weird steps I went through.

Asa

On Feb 11, 2011, at 12:35 AM, Tim Clephas <t [dot] t [dot] g [dot] clephas [..] ...> wrote:

> On Thu, 2011-02-10 at 23:16 +0100, asa hammond wrote:
>> My stack is from cturtle, although I have been playing with getting the fit one working. Seems like the rtt hpp headers are not being found by cmake. Something is off overall in the includes because I getting "rtt/TaskContext.hpp not found" when I try and make.
>>
>> Asa
>>
>> On Feb 10, 2011, at 1:53 PM, Ruben Smits <ruben [dot] smits [..] ...> wrote:
>>
>>> On Thursday 10 February 2011 20:49:28 asa hammond wrote:
>>>> Am using cturtle one. Is unstable the way to go?
>
> How did you get it to work? Could you give the exact steps you followed?
> Because we have the same errors here with the rtt headers.
>
> Thanks,
>
> Tim
>>>
>>> I released a new version of the orocos_toolchain_ros stack a few days ago,
>>> this one should include the 2.2 version of RTT/OCL. How did you get your
>>> orocos_toolchain_ros stack? Using git or the debian packages? If you use git,
>>> make sure to pull the cturtle branch again and run git submodules update. The
>>> debian packages for cturtle are still in the pipeline
>>> (http://www.ros.org/debbuild/cturtle.html), we'll have to wait until a new
>>> update of the debian packages is pushed by Willow Garage.
>>>
>>> At this moment only the unstable debian packages are up to date with our
>>> latest release. I hope diamondback will also be up to date once it leaves its
>>> beta status.
>>>
>>> --Ruben
>>>
>>>> Asa
>>>>
>>>> On Feb 10, 2011, at 11:43 AM, Ruben Smits <ruben [dot] smits [..] ...>
>>> wrote:
>>>>> On Thursday 10 February 2011 20:16:12 asa hammond wrote:
>>>>>> I get " no method connect registered for the object or task
>>>>>> "DataCall::Deployer"
>>>>>
>>>>> Which version of the Orocos Toolchain are you using, I think you need at
>>>>> least version 2.2 for this.
>>>>>
>>>>>> Asa
>>>>>
>>>>> --Ruben
>>>>>
>>>>>> On Feb 10, 2011, at 1:13 AM, Ruben Smits
>>>>>> <ruben [dot] smits [..] ...>
>>>>>
>>>>> wrote:
>>>>>>> There was a typo in my answer:
>>>>>>>
>>>>>>> On Thursday 10 February 2011 10:11:53 Ruben Smits wrote:
>>>>>>>> On Thursday 10 February 2011 09:26:11 asa hammond wrote:
>>>>>>>>> Hello, I am new here and have an issue I could use some
>>>>>>>>> clarification
>>>>>>>>> on.
>>>>>>>>> I'm working with the SoemMaster stack and running into an issue
>>>>>>>>> trying
>>>>>>>>> to
>>>>>>>>> connect my port from the soemMaster to the outside world, ie
>>>>>>>>> another
>>>>>>>>> peer, another port, to ROS or anything. The issue seems to be in
>>>>>>>>> the
>>>>>>>>> way drivers add services to the master. I cannot use
>>>>>>>>> connectTwoPorts("SoemMaster","Slave_1001_myport","myOtherNode","
>>>>>>>>> mypo
>>>>>>>>> rt") ,
>>>>>>>>> deployer does not seems to be able to see Slave_1001_myport as a
>>>>>>>>> port.
>>>>>>>>> This is actually true, the full name of the port is
>>>>>>>>> SoemMaster.Slave_1001.myport and in deployer I can use tab to
>>>>>>>>> expand
>>>>>>>>> this
>>>>>>>>> out and call one of its methods for instance, so I know this
>>>>>>>>> port is
>>>>>>>>> there.
>>>>>>>>
>>>>>>>> The connectTwoPorts is deprecated since it cannot handle ports
>>>>>>>> inside
>>>>>>>> services. It is replaces by the connect function which is able to
>>>>>>>> do
>>>>>>>> this:
>>>>>>>>
>>>>>>>> connect("SoemMaster.Slave_1001.myport","myOtherNode","myport",Conn
>>>>>>>> Poli
>>>>>>>> cy())
>>>>>>>
>>>>>>> this should have been
>>>>>>>
>>>>>>> connect("SoemMaster.Slave_1001.myport","myOtherNode.myport",ConnPoli
>>>>>>> cy() )
>>>>>>>
>>>>>>>> To connect them using the default connection policy.
>>>>>>>>
>>>>>>>>> If I add a cout to my update() method of the driver I can see my
>>>>>>>>> changing
>>>>>>>>> data streaming out of the node. I cannot find a way to address
>>>>>>>>> this
>>>>>>>>> port with anything which will be picked up by another node. When
>>>>>>>>> the drivers load they add a service to the master which has the
>>>>>>>>> name of that slave, such as Slave_1001.
>>>>>>>>>
>>>>>>>>> I successfully have a different node streaming data in and out
>>>>>>>>> to
>>>>>>>>> ROS
>>>>>>>>> using the xml format connection setup as used in
>>>>>>>>> rtt_ros_integration_example stack. I would love to get this
>>>>>>>>> working
>>>>>>>>> with a soemaster slave.
>>>>>>>>
>>>>>>>> You can also create streams using the 'stream' function:
>>>>>>>>
>>>>>>>> var ConnPolicy cp
>>>>>>>> cp.transport=3//ROS
>>>>>>>> cp.name_id=/topic_name
>>>>>>>> stream("SoemMaster.Slave_1001.myport",cp)
>>>>>>>>
>>>>>>>>> Help!
>>>>>>>>>
>>>>>>>>> thank you.
>>>>>>>>>
>>>>>>>>> Asa
>>>>>>>
>>>>>>> -- Ruben
>
>

SoemMaster + Ports + connections

Hi, I did more or less the thingh you described.
I copied this in cmakelists in order to find the rtt headers

project(soem_beckhoff_driver)

#
# Do setup in case of ros package, If ROS_ROOT is set, it is
# recommended to use RTT/OCL through the ros packages.
#
set (ROS_ROOT $ENV{ROS_ROOT} )
if (ROS_ROOT)
include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake)
rosbuild_init()
rosbuild_find_ros_package( rtt )
set( RTT_HINTS HINTS ${rtt_PACKAGE_PATH}/install )
endif()

# Set the CMAKE_PREFIX_PATH in case you're not using Orocos
through ROS
# for helping these find commands find RTT.
find_package(OROCOS-RTT REQUIRED ${RTT_HINTS})

# Defines the orocos_* cmake macros. See that file for
additional
# documentation.
include(${OROCOS-RTT_USE_FILE_PATH}/UseOROCOS-RTT.cmake)

Any way i did not be able to solve the unknown_t on ports

Greetings, Gianni.
Il giorno ven, 11/02/2011 alle 16.31 +0100, asa hammond ha scritto:
> The main thing I noticed was that the integration examples in latest version have different cmakelist file syntax. There are all kinds of differences in those new files, so I basically updated my cmakelists to look like the new examples and things seemed to work better. I also started with a fresh install on a different box (ubu 10.04 plus cturtle) but didn't get the orocos toolchain from apt, but instead followed the git install method.
>
> Sorry this is a bit of a ramble, update your cmakelists and see where that gets you and give a shout if you get stuck. I'll try and rembet if there were any other weird steps I went through.
>
> Asa
>
> On Feb 11, 2011, at 12:35 AM, Tim Clephas <t [dot] t [dot] g [dot] clephas [..] ...> wrote:
>
> > On Thu, 2011-02-10 at 23:16 +0100, asa hammond wrote:
> >> My stack is from cturtle, although I have been playing with getting the fit one working. Seems like the rtt hpp headers are not being found by cmake. Something is off overall in the includes because I getting "rtt/TaskContext.hpp not found" when I try and make.
> >>
> >> Asa
> >>
> >> On Feb 10, 2011, at 1:53 PM, Ruben Smits <ruben [dot] smits [..] ...> wrote:
> >>
> >>> On Thursday 10 February 2011 20:49:28 asa hammond wrote:
> >>>> Am using cturtle one. Is unstable the way to go?
> >
> > How did you get it to work? Could you give the exact steps you followed?
> > Because we have the same errors here with the rtt headers.
> >
> > Thanks,
> >
> > Tim
> >>>
> >>> I released a new version of the orocos_toolchain_ros stack a few days ago,
> >>> this one should include the 2.2 version of RTT/OCL. How did you get your
> >>> orocos_toolchain_ros stack? Using git or the debian packages? If you use git,
> >>> make sure to pull the cturtle branch again and run git submodules update. The
> >>> debian packages for cturtle are still in the pipeline
> >>> (http://www.ros.org/debbuild/cturtle.html), we'll have to wait until a new
> >>> update of the debian packages is pushed by Willow Garage.
> >>>
> >>> At this moment only the unstable debian packages are up to date with our
> >>> latest release. I hope diamondback will also be up to date once it leaves its
> >>> beta status.
> >>>
> >>> --Ruben
> >>>
> >>>> Asa
> >>>>
> >>>> On Feb 10, 2011, at 11:43 AM, Ruben Smits <ruben [dot] smits [..] ...>
> >>> wrote:
> >>>>> On Thursday 10 February 2011 20:16:12 asa hammond wrote:
> >>>>>> I get " no method connect registered for the object or task
> >>>>>> "DataCall::Deployer"
> >>>>>
> >>>>> Which version of the Orocos Toolchain are you using, I think you need at
> >>>>> least version 2.2 for this.
> >>>>>
> >>>>>> Asa
> >>>>>
> >>>>> --Ruben
> >>>>>
> >>>>>> On Feb 10, 2011, at 1:13 AM, Ruben Smits
> >>>>>> <ruben [dot] smits [..] ...>
> >>>>>
> >>>>> wrote:
> >>>>>>> There was a typo in my answer:
> >>>>>>>
> >>>>>>> On Thursday 10 February 2011 10:11:53 Ruben Smits wrote:
> >>>>>>>> On Thursday 10 February 2011 09:26:11 asa hammond wrote:
> >>>>>>>>> Hello, I am new here and have an issue I could use some
> >>>>>>>>> clarification
> >>>>>>>>> on.
> >>>>>>>>> I'm working with the SoemMaster stack and running into an issue
> >>>>>>>>> trying
> >>>>>>>>> to
> >>>>>>>>> connect my port from the soemMaster to the outside world, ie
> >>>>>>>>> another
> >>>>>>>>> peer, another port, to ROS or anything. The issue seems to be in
> >>>>>>>>> the
> >>>>>>>>> way drivers add services to the master. I cannot use
> >>>>>>>>> connectTwoPorts("SoemMaster","Slave_1001_myport","myOtherNode","
> >>>>>>>>> mypo
> >>>>>>>>> rt") ,
> >>>>>>>>> deployer does not seems to be able to see Slave_1001_myport as a
> >>>>>>>>> port.
> >>>>>>>>> This is actually true, the full name of the port is
> >>>>>>>>> SoemMaster.Slave_1001.myport and in deployer I can use tab to
> >>>>>>>>> expand
> >>>>>>>>> this
> >>>>>>>>> out and call one of its methods for instance, so I know this
> >>>>>>>>> port is
> >>>>>>>>> there.
> >>>>>>>>
> >>>>>>>> The connectTwoPorts is deprecated since it cannot handle ports
> >>>>>>>> inside
> >>>>>>>> services. It is replaces by the connect function which is able to
> >>>>>>>> do
> >>>>>>>> this:
> >>>>>>>>
> >>>>>>>> connect("SoemMaster.Slave_1001.myport","myOtherNode","myport",Conn
> >>>>>>>> Poli
> >>>>>>>> cy())
> >>>>>>>
> >>>>>>> this should have been
> >>>>>>>
> >>>>>>> connect("SoemMaster.Slave_1001.myport","myOtherNode.myport",ConnPoli
> >>>>>>> cy() )
> >>>>>>>
> >>>>>>>> To connect them using the default connection policy.
> >>>>>>>>
> >>>>>>>>> If I add a cout to my update() method of the driver I can see my
> >>>>>>>>> changing
> >>>>>>>>> data streaming out of the node. I cannot find a way to address
> >>>>>>>>> this
> >>>>>>>>> port with anything which will be picked up by another node. When
> >>>>>>>>> the drivers load they add a service to the master which has the
> >>>>>>>>> name of that slave, such as Slave_1001.
> >>>>>>>>>
> >>>>>>>>> I successfully have a different node streaming data in and out
> >>>>>>>>> to
> >>>>>>>>> ROS
> >>>>>>>>> using the xml format connection setup as used in
> >>>>>>>>> rtt_ros_integration_example stack. I would love to get this
> >>>>>>>>> working
> >>>>>>>>> with a soemaster slave.
> >>>>>>>>
> >>>>>>>> You can also create streams using the 'stream' function:
> >>>>>>>>
> >>>>>>>> var ConnPolicy cp
> >>>>>>>> cp.transport=3//ROS
> >>>>>>>> cp.name_id=/topic_name
> >>>>>>>> stream("SoemMaster.Slave_1001.myport",cp)
> >>>>>>>>
> >>>>>>>>> Help!
> >>>>>>>>>
> >>>>>>>>> thank you.
> >>>>>>>>>
> >>>>>>>>> Asa
> >>>>>>>
> >>>>>>> -- Ruben
> >
> >

Ruben Smits's picture

SoemMaster + Ports + connections

On Friday 11 February 2011 16:38:10 gianni borghesan wrote:
> Hi, I did more or less the thingh you described.
> I copied this in cmakelists in order to find the rtt headers
>
> project(soem_beckhoff_driver)
>
> #
> # Do setup in case of ros package, If ROS_ROOT is set, it is
> # recommended to use RTT/OCL through the ros packages.
> #
> set (ROS_ROOT $ENV{ROS_ROOT} )
> if (ROS_ROOT)
> include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake)
> rosbuild_init()
> rosbuild_find_ros_package( rtt )
> set( RTT_HINTS HINTS ${rtt_PACKAGE_PATH}/install )
> endif()
>
> # Set the CMAKE_PREFIX_PATH in case you're not using Orocos
> through ROS
> # for helping these find commands find RTT.
> find_package(OROCOS-RTT REQUIRED ${RTT_HINTS})
>
> # Defines the orocos_* cmake macros. See that file for
> additional
> # documentation.
> include(${OROCOS-RTT_USE_FILE_PATH}/UseOROCOS-RTT.cmake)
>
> Any way i did not be able to solve the unknown_t on ports
>

What is the type of the data in the ports? Did you create a typekit for that
type?

> Greetings, Gianni.

-- Ruben

> Il giorno ven, 11/02/2011 alle 16.31 +0100, asa hammond ha scritto:
>
> > The main thing I noticed was that the integration examples in latest
> > version have different cmakelist file syntax. There are all kinds of
> > differences in those new files, so I basically updated my cmakelists to
> > look like the new examples and things seemed to work better. I also
> > started with a fresh install on a different box (ubu 10.04 plus
> > cturtle) but didn't get the orocos toolchain from apt, but instead
> > followed the git install method.

> > Sorry this is a bit of a ramble, update your cmakelists and see where
> > that gets you and give a shout if you get stuck. I'll try and rembet if
> > there were any other weird steps I went through.

> > Asa
> >
> > On Feb 11, 2011, at 12:35 AM, Tim Clephas <t [dot] t [dot] g [dot] clephas [..] ...>
> > wrote:

> >
> > > On Thu, 2011-02-10 at 23:16 +0100, asa hammond wrote:
> > >
> > >> My stack is from cturtle, although I have been playing with
> > >> getting the fit one working. Seems like the rtt hpp headers are
> > >> not being found by cmake. Something is off overall in the
> > >> includes because I getting "rtt/TaskContext.hpp not found" when
> > >> I try and make.

> > >> Asa
> > >>
> > >> On Feb 10, 2011, at 1:53 PM, Ruben Smits
> > >> <ruben [dot] smits [..] ...> wrote:

> > >>
> > >>> On Thursday 10 February 2011 20:49:28 asa hammond wrote:
> > >>>
> > >>>> Am using cturtle one. Is unstable the way to go?
> > >
> > >
> > > How did you get it to work? Could you give the exact steps you
> > > followed?
Because we have the same errors here with the rtt
> > > headers.
> > >
> > > Thanks,
> > >
> > > Tim
> > >
> > >>>
> > >>> I released a new version of the orocos_toolchain_ros stack a few
> > >>> days ago,
this one should include the 2.2 version of RTT/OCL.
> > >>> How did you get your orocos_toolchain_ros stack? Using git or
> > >>> the debian packages? If you use git, make sure to pull the
> > >>> cturtle branch again and run git submodules update. The debian
> > >>> packages for cturtle are still in the pipeline
> > >>> (http://www.ros.org/debbuild/cturtle.html), we'll have to wait
> > >>> until a new
update of the debian packages is pushed by Willow
> > >>> Garage.
> > >>>
> > >>> At this moment only the unstable debian packages are up to date
> > >>> with our
latest release. I hope diamondback will also be up
> > >>> to date once it leaves its beta status.
> > >>>
> > >>> --Ruben
> > >>>
> > >>>
> > >>>> Asa
> > >>>>
> > >>>> On Feb 10, 2011, at 11:43 AM, Ruben Smits
> > >>>> <ruben [dot] smits [..] ...>
> > >>>
> > >>> wrote:
> > >>>
> > >>>>> On Thursday 10 February 2011 20:16:12 asa hammond wrote:
> > >>>>>
> > >>>>>> I get " no method connect registered for the object or
> > >>>>>> task
> > >>>>>> "DataCall::Deployer"
> > >>>>>
> > >>>>>
> > >>>>> Which version of the Orocos Toolchain are you using, I think
> > >>>>> you need at
least version 2.2 for this.
> > >>>>>
> > >>>>>
> > >>>>>> Asa
> > >>>>>
> > >>>>>
> > >>>>> --Ruben
> > >>>>>
> > >>>>>
> > >>>>>> On Feb 10, 2011, at 1:13 AM, Ruben Smits
> > >>>>>> <ruben [dot] smits [..] ...>
> > >>>>>
> > >>>>>
> > >>>>> wrote:
> > >>>>>
> > >>>>>>> There was a typo in my answer:
> > >>>>>>>
> > >>>>>>> On Thursday 10 February 2011 10:11:53 Ruben Smits
> > >>>>>>> wrote:
> > >>>>>>>
> > >>>>>>>> On Thursday 10 February 2011 09:26:11 asa hammond
> > >>>>>>>> wrote:
> > >>>>>>>>
> > >>>>>>>>> Hello, I am new here and have an issue I could use
> > >>>>>>>>> some
> > >>>>>>>>> clarification
> > >>>>>>>>> on.
> > >>>>>>>>> I'm working with the SoemMaster stack and running
> > >>>>>>>>> into an issue
trying
> > >>>>>>>>> to
> > >>>>>>>>> connect my port from the soemMaster to the outside
> > >>>>>>>>> world, ie
> > >>>>>>>>> another
> > >>>>>>>>> peer, another port, to ROS or anything. The issue
> > >>>>>>>>> seems to be in
the
> > >>>>>>>>> way drivers add services to the master. I cannot
> > >>>>>>>>> use
> > >>>>>>>>> connectTwoPorts("SoemMaster","Slave_1001_myport","my
> > >>>>>>>>> OtherNode","
mypo
> > >>>>>>>>> rt") ,
> > >>>>>>>>> deployer does not seems to be able to see
> > >>>>>>>>> Slave_1001_myport as a
port.
> > >>>>>>>>> This is actually true, the full name of the port is
> > >>>>>>>>> SoemMaster.Slave_1001.myport and in deployer I can
> > >>>>>>>>> use tab to
> > >>>>>>>>> expand
> > >>>>>>>>> this
> > >>>>>>>>> out and call one of its methods for instance, so I
> > >>>>>>>>> know this
> > >>>>>>>>> port is
> > >>>>>>>>> there.
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>> The connectTwoPorts is deprecated since it cannot
> > >>>>>>>> handle ports
> > >>>>>>>> inside
> > >>>>>>>> services. It is replaces by the connect function which
> > >>>>>>>> is able to
do
> > >>>>>>>> this:
> > >>>>>>>>
> > >>>>>>>> connect("SoemMaster.Slave_1001.myport","myOtherNode","
> > >>>>>>>> myport",Conn
Poli
> > >>>>>>>> cy())
> > >>>>>>>
> > >>>>>>>
> > >>>>>>> this should have been
> > >>>>>>>
> > >>>>>>> connect("SoemMaster.Slave_1001.myport","myOtherNode.mypo
> > >>>>>>> rt",ConnPoli
cy() )
> > >>>>>>>
> > >>>>>>>
> > >>>>>>>> To connect them using the default connection policy.
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>>> If I add a cout to my update() method of the driver
> > >>>>>>>>> I can see my
changing
> > >>>>>>>>> data streaming out of the node. I cannot find a way
> > >>>>>>>>> to address
> > >>>>>>>>> this
> > >>>>>>>>> port with anything which will be picked up by
> > >>>>>>>>> another node. When
the drivers load they add a
> > >>>>>>>>> service to the master which has the name of that
> > >>>>>>>>> slave, such as Slave_1001.
> > >>>>>>>>>
> > >>>>>>>>> I successfully have a different node streaming data
> > >>>>>>>>> in and out
> > >>>>>>>>> to
> > >>>>>>>>> ROS
> > >>>>>>>>> using the xml format connection setup as used in
> > >>>>>>>>> rtt_ros_integration_example stack. I would love to
> > >>>>>>>>> get this
> > >>>>>>>>> working
> > >>>>>>>>> with a soemaster slave.
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>> You can also create streams using the 'stream'
> > >>>>>>>> function:
> > >>>>>>>>
> > >>>>>>>> var ConnPolicy cp
> > >>>>>>>> cp.transport=3//ROS
> > >>>>>>>> cp.name_id=/topic_name
> > >>>>>>>> stream("SoemMaster.Slave_1001.myport",cp)
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>>> Help!
> > >>>>>>>>>
> > >>>>>>>>> thank you.
> > >>>>>>>>>
> > >>>>>>>>> Asa
> > >>>>>>>
> > >>>>>>>
> > >>>>>>> -- Ruben
> > >
> > >
> > >
>
>
>

SoemMaster + Ports + connections

I was not able to solve the unknown_t issue either and moved over to a simple float port.
How do we go about setting up a typekit for our custom msg?

Asa

On Feb 11, 2011, at 8:18 AM, Ruben Smits <ruben [dot] smits [..] ...> wrote:

> On Friday 11 February 2011 16:38:10 gianni borghesan wrote:
>> Hi, I did more or less the thingh you described.
>> I copied this in cmakelists in order to find the rtt headers
>>
>> project(soem_beckhoff_driver)
>>
>> #
>> # Do setup in case of ros package, If ROS_ROOT is set, it is
>> # recommended to use RTT/OCL through the ros packages.
>> #
>> set (ROS_ROOT $ENV{ROS_ROOT} )
>> if (ROS_ROOT)
>> include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake)
>> rosbuild_init()
>> rosbuild_find_ros_package( rtt )
>> set( RTT_HINTS HINTS ${rtt_PACKAGE_PATH}/install )
>> endif()
>>
>> # Set the CMAKE_PREFIX_PATH in case you're not using Orocos
>> through ROS
>> # for helping these find commands find RTT.
>> find_package(OROCOS-RTT REQUIRED ${RTT_HINTS})
>>
>> # Defines the orocos_* cmake macros. See that file for
>> additional
>> # documentation.
>> include(${OROCOS-RTT_USE_FILE_PATH}/UseOROCOS-RTT.cmake)
>>
>> Any way i did not be able to solve the unknown_t on ports
>>
>
> What is the type of the data in the ports? Did you create a typekit for that
> type?
>
>> Greetings, Gianni.
>
> -- Ruben
>
>> Il giorno ven, 11/02/2011 alle 16.31 +0100, asa hammond ha scritto:
>>
>>> The main thing I noticed was that the integration examples in latest
>>> version have different cmakelist file syntax. There are all kinds of
>>> differences in those new files, so I basically updated my cmakelists to
>>> look like the new examples and things seemed to work better. I also
>>> started with a fresh install on a different box (ubu 10.04 plus
>>> cturtle) but didn't get the orocos toolchain from apt, but instead
>>> followed the git install method.
>
>>> Sorry this is a bit of a ramble, update your cmakelists and see where
>>> that gets you and give a shout if you get stuck. I'll try and rembet if
>>> there were any other weird steps I went through.
>
>>> Asa
>>>
>>> On Feb 11, 2011, at 12:35 AM, Tim Clephas <t [dot] t [dot] g [dot] clephas [..] ...>
>>> wrote:
>
>>>
>>>> On Thu, 2011-02-10 at 23:16 +0100, asa hammond wrote:
>>>>
>>>>> My stack is from cturtle, although I have been playing with
>>>>> getting the fit one working. Seems like the rtt hpp headers are
>>>>> not being found by cmake. Something is off overall in the
>>>>> includes because I getting "rtt/TaskContext.hpp not found" when
>>>>> I try and make.
>
>>>>> Asa
>>>>>
>>>>> On Feb 10, 2011, at 1:53 PM, Ruben Smits
>>>>> <ruben [dot] smits [..] ...> wrote:
>
>>>>>
>>>>>> On Thursday 10 February 2011 20:49:28 asa hammond wrote:
>>>>>>
>>>>>>> Am using cturtle one. Is unstable the way to go?
>>>>
>>>>
>>>> How did you get it to work? Could you give the exact steps you
>>>> followed?
> Because we have the same errors here with the rtt
>>>> headers.
>>>>
>>>> Thanks,
>>>>
>>>> Tim
>>>>
>>>>>>
>>>>>> I released a new version of the orocos_toolchain_ros stack a few
>>>>>> days ago,
> this one should include the 2.2 version of RTT/OCL.
>>>>>> How did you get your orocos_toolchain_ros stack? Using git or
>>>>>> the debian packages? If you use git, make sure to pull the
>>>>>> cturtle branch again and run git submodules update. The debian
>>>>>> packages for cturtle are still in the pipeline
>>>>>> (http://www.ros.org/debbuild/cturtle.html), we'll have to wait
>>>>>> until a new
> update of the debian packages is pushed by Willow
>>>>>> Garage.
>>>>>>
>>>>>> At this moment only the unstable debian packages are up to date
>>>>>> with our
> latest release. I hope diamondback will also be up
>>>>>> to date once it leaves its beta status.
>>>>>>
>>>>>> --Ruben
>>>>>>
>>>>>>
>>>>>>> Asa
>>>>>>>
>>>>>>> On Feb 10, 2011, at 11:43 AM, Ruben Smits
>>>>>>> <ruben [dot] smits [..] ...>
>>>>>>
>>>>>> wrote:
>>>>>>
>>>>>>>> On Thursday 10 February 2011 20:16:12 asa hammond wrote:
>>>>>>>>
>>>>>>>>> I get " no method connect registered for the object or
>>>>>>>>> task
>>>>>>>>> "DataCall::Deployer"
>>>>>>>>
>>>>>>>>
>>>>>>>> Which version of the Orocos Toolchain are you using, I think
>>>>>>>> you need at
> least version 2.2 for this.
>>>>>>>>
>>>>>>>>
>>>>>>>>> Asa
>>>>>>>>
>>>>>>>>
>>>>>>>> --Ruben
>>>>>>>>
>>>>>>>>
>>>>>>>>> On Feb 10, 2011, at 1:13 AM, Ruben Smits
>>>>>>>>> <ruben [dot] smits [..] ...>
>>>>>>>>
>>>>>>>>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>>> There was a typo in my answer:
>>>>>>>>>>
>>>>>>>>>> On Thursday 10 February 2011 10:11:53 Ruben Smits
>>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>>> On Thursday 10 February 2011 09:26:11 asa hammond
>>>>>>>>>>> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Hello, I am new here and have an issue I could use
>>>>>>>>>>>> some
>>>>>>>>>>>> clarification
>>>>>>>>>>>> on.
>>>>>>>>>>>> I'm working with the SoemMaster stack and running
>>>>>>>>>>>> into an issue
> trying
>>>>>>>>>>>> to
>>>>>>>>>>>> connect my port from the soemMaster to the outside
>>>>>>>>>>>> world, ie
>>>>>>>>>>>> another
>>>>>>>>>>>> peer, another port, to ROS or anything. The issue
>>>>>>>>>>>> seems to be in
> the
>>>>>>>>>>>> way drivers add services to the master. I cannot
>>>>>>>>>>>> use
>>>>>>>>>>>> connectTwoPorts("SoemMaster","Slave_1001_myport","my
>>>>>>>>>>>> OtherNode","
> mypo
>>>>>>>>>>>> rt") ,
>>>>>>>>>>>> deployer does not seems to be able to see
>>>>>>>>>>>> Slave_1001_myport as a
> port.
>>>>>>>>>>>> This is actually true, the full name of the port is
>>>>>>>>>>>> SoemMaster.Slave_1001.myport and in deployer I can
>>>>>>>>>>>> use tab to
>>>>>>>>>>>> expand
>>>>>>>>>>>> this
>>>>>>>>>>>> out and call one of its methods for instance, so I
>>>>>>>>>>>> know this
>>>>>>>>>>>> port is
>>>>>>>>>>>> there.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> The connectTwoPorts is deprecated since it cannot
>>>>>>>>>>> handle ports
>>>>>>>>>>> inside
>>>>>>>>>>> services. It is replaces by the connect function which
>>>>>>>>>>> is able to
> do
>>>>>>>>>>> this:
>>>>>>>>>>>
>>>>>>>>>>> connect("SoemMaster.Slave_1001.myport","myOtherNode","
>>>>>>>>>>> myport",Conn
> Poli
>>>>>>>>>>> cy())
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> this should have been
>>>>>>>>>>
>>>>>>>>>> connect("SoemMaster.Slave_1001.myport","myOtherNode.mypo
>>>>>>>>>> rt",ConnPoli
> cy() )
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>> To connect them using the default connection policy.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>> If I add a cout to my update() method of the driver
>>>>>>>>>>>> I can see my
> changing
>>>>>>>>>>>> data streaming out of the node. I cannot find a way
>>>>>>>>>>>> to address
>>>>>>>>>>>> this
>>>>>>>>>>>> port with anything which will be picked up by
>>>>>>>>>>>> another node. When
> the drivers load they add a
>>>>>>>>>>>> service to the master which has the name of that
>>>>>>>>>>>> slave, such as Slave_1001.
>>>>>>>>>>>>
>>>>>>>>>>>> I successfully have a different node streaming data
>>>>>>>>>>>> in and out
>>>>>>>>>>>> to
>>>>>>>>>>>> ROS
>>>>>>>>>>>> using the xml format connection setup as used in
>>>>>>>>>>>> rtt_ros_integration_example stack. I would love to
>>>>>>>>>>>> get this
>>>>>>>>>>>> working
>>>>>>>>>>>> with a soemaster slave.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> You can also create streams using the 'stream'
>>>>>>>>>>> function:
>>>>>>>>>>>
>>>>>>>>>>> var ConnPolicy cp
>>>>>>>>>>> cp.transport=3//ROS
>>>>>>>>>>> cp.name_id=/topic_name
>>>>>>>>>>> stream("SoemMaster.Slave_1001.myport",cp)
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>> Help!
>>>>>>>>>>>>
>>>>>>>>>>>> thank you.
>>>>>>>>>>>>
>>>>>>>>>>>> Asa
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> -- Ruben
>>>>
>>>>
>>>>
>>
>>
>>
>

Ruben Smits's picture

SoemMaster + Ports + connections

On Friday 11 February 2011 18:38:19 asa hammond wrote:
> I was not able to solve the unknown_t issue either and moved over to a
> simple float port. How do we go about setting up a typekit for our custom
> msg?

If it is a ROS msg, add the following to your CMakeLists.txt:

rosbuild_include(rtt_ros_integration GenerateRTTtypekit)
ros_generate_rtt_typekit(your_package_name)

This will create a typekit and a ROS transportkit, more details can be found
on:
www.ros.org/wiki/rtt_ros_integration

If it is a struct/class with public members you can use the
orocos_typegen_headers macro from the UseOrocos-RTT.cmake

This will create a typekit and CORBA/mqueue transportkits (if the orocos
CORBA/mqueue extensions are available), but not a ROS transportkit.

> Asa

-- Ruben

> On Feb 11, 2011, at 8:18 AM, Ruben Smits <ruben [dot] smits [..] ...>
wrote:
> > On Friday 11 February 2011 16:38:10 gianni borghesan wrote:
> >> Hi, I did more or less the thingh you described.
> >> I copied this in cmakelists in order to find the rtt headers
> >>
> >> project(soem_beckhoff_driver)
> >>
> >> #
> >> # Do setup in case of ros package, If ROS_ROOT is set,
> >> it is
> >> # recommended to use RTT/OCL through the ros packages.
> >> #
> >> set (ROS_ROOT $ENV{ROS_ROOT} )
> >> if (ROS_ROOT)
> >>
> >> include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake)
> >> rosbuild_init()
> >> rosbuild_find_ros_package( rtt )
> >> set( RTT_HINTS HINTS ${rtt_PACKAGE_PATH}/install )
> >>
> >> endif()
> >>
> >> # Set the CMAKE_PREFIX_PATH in case you're not using
> >> Orocos
> >> through ROS
> >> # for helping these find commands find RTT.
> >> find_package(OROCOS-RTT REQUIRED ${RTT_HINTS})
> >>
> >> # Defines the orocos_* cmake macros. See that file for
> >> additional
> >> # documentation.
> >> include(${OROCOS-RTT_USE_FILE_PATH}/UseOROCOS-RTT.cmake)
> >>
> >> Any way i did not be able to solve the unknown_t on ports
> >
> > What is the type of the data in the ports? Did you create a typekit for
> > that type?
> >
> >> Greetings, Gianni.
> >
> > -- Ruben
> >
> >> Il giorno ven, 11/02/2011 alle 16.31 +0100, asa hammond ha scritto:
> >>> The main thing I noticed was that the integration examples in latest
> >>> version have different cmakelist file syntax. There are all kinds of
> >>> differences in those new files, so I basically updated my cmakelists
> >>> to
> >>> look like the new examples and things seemed to work better. I also
> >>> started with a fresh install on a different box (ubu 10.04 plus
> >>> cturtle) but didn't get the orocos toolchain from apt, but instead
> >>> followed the git install method.
> >>>
> >>> Sorry this is a bit of a ramble, update your cmakelists and see
> >>> where
> >>> that gets you and give a shout if you get stuck. I'll try and rembet
> >>> if
> >>> there were any other weird steps I went through.
> >>>
> >>> Asa
> >>>
> >>> On Feb 11, 2011, at 12:35 AM, Tim Clephas
> >>> <t [dot] t [dot] g [dot] clephas [..] ...>
> >>>
> >>> wrote:
> >>>> On Thu, 2011-02-10 at 23:16 +0100, asa hammond wrote:
> >>>>> My stack is from cturtle, although I have been playing with
> >>>>> getting the fit one working. Seems like the rtt hpp headers are
> >>>>> not being found by cmake. Something is off overall in the
> >>>>> includes because I getting "rtt/TaskContext.hpp not found" when
> >>>>> I try and make.
> >>>>>
> >>>>> Asa
> >>>>>
> >>>>> On Feb 10, 2011, at 1:53 PM, Ruben Smits
> >>>>>
> >>>>> <ruben [dot] smits [..] ...> wrote:
> >>>>>> On Thursday 10 February 2011 20:49:28 asa hammond wrote:
> >>>>>>> Am using cturtle one. Is unstable the way to go?
> >>>>
> >>>> How did you get it to work? Could you give the exact steps you
> >>>> followed?
> >
> > Because we have the same errors here with the rtt
> >
> >>>> headers.
> >>>>
> >>>> Thanks,
> >>>>
> >>>> Tim
> >>>>
> >>>>>> I released a new version of the orocos_toolchain_ros stack a
> >>>>>> few
> >>>>>> days ago,
> >
> > this one should include the 2.2 version of RTT/OCL.
> >
> >>>>>> How did you get your orocos_toolchain_ros stack? Using git or
> >>>>>> the debian packages? If you use git, make sure to pull the
> >>>>>> cturtle branch again and run git submodules update. The debian
> >>>>>> packages for cturtle are still in the pipeline
> >>>>>> (http://www.ros.org/debbuild/cturtle.html), we'll have to wait
> >>>>>> until a new
> >
> > update of the debian packages is pushed by Willow
> >
> >>>>>> Garage.
> >>>>>>
> >>>>>> At this moment only the unstable debian packages are up to
> >>>>>> date
> >>>>>> with our
> >
> > latest release. I hope diamondback will also be up
> >
> >>>>>> to date once it leaves its beta status.
> >>>>>>
> >>>>>> --Ruben
> >>>>>>
> >>>>>>> Asa
> >>>>>>>
> >>>>>>> On Feb 10, 2011, at 11:43 AM, Ruben Smits
> >>>>>>> <ruben [dot] smits [..] ...>
> >>>>>>
> >>>>>> wrote:
> >>>>>>>> On Thursday 10 February 2011 20:16:12 asa hammond wrote:
> >>>>>>>>> I get " no method connect registered for the object or
> >>>>>>>>> task
> >>>>>>>>> "DataCall::Deployer"
> >>>>>>>>
> >>>>>>>> Which version of the Orocos Toolchain are you using, I
> >>>>>>>> think
> >>>>>>>> you need at
> >
> > least version 2.2 for this.
> >
> >>>>>>>>> Asa
> >>>>>>>>
> >>>>>>>> --Ruben
> >>>>>>>>
> >>>>>>>>> On Feb 10, 2011, at 1:13 AM, Ruben Smits
> >>>>>>>>> <ruben [dot] smits [..] ...>
> >>>>>>>>
> >>>>>>>> wrote:
> >>>>>>>>>> There was a typo in my answer:
> >>>>>>>>>>
> >>>>>>>>>> On Thursday 10 February 2011 10:11:53 Ruben Smits
> >>>>>>>>>>
> >>>>>>>>>> wrote:
> >>>>>>>>>>> On Thursday 10 February 2011 09:26:11 asa hammond
> >>>>>>>>>>>
> >>>>>>>>>>> wrote:
> >>>>>>>>>>>> Hello, I am new here and have an issue I could use
> >>>>>>>>>>>> some
> >>>>>>>>>>>> clarification
> >>>>>>>>>>>> on.
> >>>>>>>>>>>> I'm working with the SoemMaster stack and running
> >>>>>>>>>>>> into an issue
> >
> > trying
> >
> >>>>>>>>>>>> to
> >>>>>>>>>>>> connect my port from the soemMaster to the outside
> >>>>>>>>>>>> world, ie
> >>>>>>>>>>>> another
> >>>>>>>>>>>> peer, another port, to ROS or anything. The issue
> >>>>>>>>>>>> seems to be in
> >
> > the
> >
> >>>>>>>>>>>> way drivers add services to the master. I cannot
> >>>>>>>>>>>> use
> >>>>>>>>>>>> connectTwoPorts("SoemMaster","Slave_1001_myport","
> >>>>>>>>>>>> my
> >>>>>>>>>>>> OtherNode","
> >
> > mypo
> >
> >>>>>>>>>>>> rt") ,
> >>>>>>>>>>>> deployer does not seems to be able to see
> >>>>>>>>>>>> Slave_1001_myport as a
> >
> > port.
> >
> >>>>>>>>>>>> This is actually true, the full name of the port
> >>>>>>>>>>>> is
> >>>>>>>>>>>> SoemMaster.Slave_1001.myport and in deployer I can
> >>>>>>>>>>>> use tab to
> >>>>>>>>>>>> expand
> >>>>>>>>>>>> this
> >>>>>>>>>>>> out and call one of its methods for instance, so I
> >>>>>>>>>>>> know this
> >>>>>>>>>>>> port is
> >>>>>>>>>>>> there.
> >>>>>>>>>>>
> >>>>>>>>>>> The connectTwoPorts is deprecated since it cannot
> >>>>>>>>>>> handle ports
> >>>>>>>>>>> inside
> >>>>>>>>>>> services. It is replaces by the connect function
> >>>>>>>>>>> which
> >>>>>>>>>>> is able to
> >
> > do
> >
> >>>>>>>>>>> this:
> >>>>>>>>>>>
> >>>>>>>>>>> connect("SoemMaster.Slave_1001.myport","myOtherNode"
> >>>>>>>>>>> ,"
> >>>>>>>>>>> myport",Conn
> >
> > Poli
> >
> >>>>>>>>>>> cy())
> >>>>>>>>>>
> >>>>>>>>>> this should have been
> >>>>>>>>>>
> >>>>>>>>>> connect("SoemMaster.Slave_1001.myport","myOtherNode.my
> >>>>>>>>>> po
> >>>>>>>>>> rt",ConnPoli
> >
> > cy() )
> >
> >>>>>>>>>>> To connect them using the default connection policy.
> >>>>>>>>>>>
> >>>>>>>>>>>> If I add a cout to my update() method of the
> >>>>>>>>>>>> driver
> >>>>>>>>>>>> I can see my
> >
> > changing
> >
> >>>>>>>>>>>> data streaming out of the node. I cannot find a
> >>>>>>>>>>>> way
> >>>>>>>>>>>> to address
> >>>>>>>>>>>> this
> >>>>>>>>>>>> port with anything which will be picked up by
> >>>>>>>>>>>> another node. When
> >
> > the drivers load they add a
> >
> >>>>>>>>>>>> service to the master which has the name of that
> >>>>>>>>>>>> slave, such as Slave_1001.
> >>>>>>>>>>>>
> >>>>>>>>>>>> I successfully have a different node streaming
> >>>>>>>>>>>> data
> >>>>>>>>>>>> in and out
> >>>>>>>>>>>> to
> >>>>>>>>>>>> ROS
> >>>>>>>>>>>> using the xml format connection setup as used in
> >>>>>>>>>>>> rtt_ros_integration_example stack. I would love
> >>>>>>>>>>>> to
> >>>>>>>>>>>> get this
> >>>>>>>>>>>> working
> >>>>>>>>>>>> with a soemaster slave.
> >>>>>>>>>>>
> >>>>>>>>>>> You can also create streams using the 'stream'
> >>>>>>>>>>> function:
> >>>>>>>>>>>
> >>>>>>>>>>> var ConnPolicy cp
> >>>>>>>>>>> cp.transport=3//ROS
> >>>>>>>>>>> cp.name_id=/topic_name
> >>>>>>>>>>> stream("SoemMaster.Slave_1001.myport",cp)
> >>>>>>>>>>>
> >>>>>>>>>>>> Help!
> >>>>>>>>>>>>
> >>>>>>>>>>>> thank you.
> >>>>>>>>>>>>
> >>>>>>>>>>>> Asa
> >>>>>>>>>>
> >>>>>>>>>> -- Ruben

Ruben Smits's picture

SoemMaster + Ports + connections

On Friday 11 February 2011 09:35:28 Tim Clephas wrote:
> On Thu, 2011-02-10 at 23:16 +0100, asa hammond wrote:
> > My stack is from cturtle, although I have been playing with getting the
> > fit one working. Seems like the rtt hpp headers are not being found by
> > cmake. Something is off overall in the includes because I getting
> > "rtt/TaskContext.hpp not found" when I try and make.
> >
> > Asa
> >
> > On Feb 10, 2011, at 1:53 PM, Ruben Smits <ruben [dot] smits [..] ...>
wrote:
> > > On Thursday 10 February 2011 20:49:28 asa hammond wrote:
> > >> Am using cturtle one. Is unstable the way to go?
>
> How did you get it to work? Could you give the exact steps you followed?
> Because we have the same errors here with the rtt headers.

Are you using the orocos_* cmake macros provided by RTT's UseOrocos.cmake?

> Thanks,
>
> Tim

Ruben

> > > I released a new version of the orocos_toolchain_ros stack a few
> > > days ago, this one should include the 2.2 version of RTT/OCL. How
> > > did you get your orocos_toolchain_ros stack? Using git or the
> > > debian packages? If you use git, make sure to pull the cturtle
> > > branch again and run git submodules update. The debian packages for
> > > cturtle are still in the pipeline
> > > (http://www.ros.org/debbuild/cturtle.html), we'll have to wait until
> > > a new update of the debian packages is pushed by Willow Garage.
> > >
> > > At this moment only the unstable debian packages are up to date with
> > > our latest release. I hope diamondback will also be up to date once
> > > it leaves its beta status.
> > >
> > > --Ruben
> > >
> > >> Asa
> > >>
> > >> On Feb 10, 2011, at 11:43 AM, Ruben Smits
> > >> <ruben [dot] smits [..] ...>
> > >
> > > wrote:
> > >>> On Thursday 10 February 2011 20:16:12 asa hammond wrote:
> > >>>> I get " no method connect registered for the object or task
> > >>>> "DataCall::Deployer"
> > >>>
> > >>> Which version of the Orocos Toolchain are you using, I think you
> > >>> need at least version 2.2 for this.
> > >>>
> > >>>> Asa
> > >>>
> > >>> --Ruben
> > >>>
> > >>>> On Feb 10, 2011, at 1:13 AM, Ruben Smits
> > >>>> <ruben [dot] smits [..] ...>
> > >>>
> > >>> wrote:
> > >>>>> There was a typo in my answer:
> > >>>>>
> > >>>>> On Thursday 10 February 2011 10:11:53 Ruben Smits wrote:
> > >>>>>> On Thursday 10 February 2011 09:26:11 asa hammond wrote:
> > >>>>>>> Hello, I am new here and have an issue I could use some
> > >>>>>>> clarification
> > >>>>>>> on.
> > >>>>>>> I'm working with the SoemMaster stack and running into
> > >>>>>>> an issue
> > >>>>>>> trying
> > >>>>>>> to
> > >>>>>>> connect my port from the soemMaster to the outside
> > >>>>>>> world, ie
> > >>>>>>> another
> > >>>>>>> peer, another port, to ROS or anything. The issue seems
> > >>>>>>> to be in
> > >>>>>>> the
> > >>>>>>> way drivers add services to the master. I cannot use
> > >>>>>>> connectTwoPorts("SoemMaster","Slave_1001_myport","myOthe
> > >>>>>>> rNode","
> > >>>>>>> mypo
> > >>>>>>> rt") ,
> > >>>>>>> deployer does not seems to be able to see
> > >>>>>>> Slave_1001_myport as a
> > >>>>>>> port.
> > >>>>>>> This is actually true, the full name of the port is
> > >>>>>>> SoemMaster.Slave_1001.myport and in deployer I can use
> > >>>>>>> tab to
> > >>>>>>> expand
> > >>>>>>> this
> > >>>>>>> out and call one of its methods for instance, so I know
> > >>>>>>> this
> > >>>>>>> port is
> > >>>>>>> there.
> > >>>>>>
> > >>>>>> The connectTwoPorts is deprecated since it cannot handle
> > >>>>>> ports
> > >>>>>> inside
> > >>>>>> services. It is replaces by the connect function which is
> > >>>>>> able to
> > >>>>>> do
> > >>>>>> this:
> > >>>>>>
> > >>>>>> connect("SoemMaster.Slave_1001.myport","myOtherNode","mypo
> > >>>>>> rt",Conn
> > >>>>>> Poli
> > >>>>>> cy())
> > >>>>>
> > >>>>> this should have been
> > >>>>>
> > >>>>> connect("SoemMaster.Slave_1001.myport","myOtherNode.myport",
> > >>>>> ConnPoli cy() )
> > >>>>>
> > >>>>>> To connect them using the default connection policy.
> > >>>>>>
> > >>>>>>> If I add a cout to my update() method of the driver I
> > >>>>>>> can see my
> > >>>>>>> changing
> > >>>>>>> data streaming out of the node. I cannot find a way to
> > >>>>>>> address
> > >>>>>>> this
> > >>>>>>> port with anything which will be picked up by another
> > >>>>>>> node. When
> > >>>>>>> the drivers load they add a service to the master which
> > >>>>>>> has the
> > >>>>>>> name of that slave, such as Slave_1001.
> > >>>>>>>
> > >>>>>>> I successfully have a different node streaming data in
> > >>>>>>> and out
> > >>>>>>> to
> > >>>>>>> ROS
> > >>>>>>> using the xml format connection setup as used in
> > >>>>>>> rtt_ros_integration_example stack. I would love to get
> > >>>>>>> this
> > >>>>>>> working
> > >>>>>>> with a soemaster slave.
> > >>>>>>
> > >>>>>> You can also create streams using the 'stream' function:
> > >>>>>>
> > >>>>>> var ConnPolicy cp
> > >>>>>> cp.transport=3//ROS
> > >>>>>> cp.name_id=/topic_name
> > >>>>>> stream("SoemMaster.Slave_1001.myport",cp)
> > >>>>>>
> > >>>>>>> Help!
> > >>>>>>>
> > >>>>>>> thank you.
> > >>>>>>>
> > >>>>>>> Asa
> > >>>>>
> > >>>>> -- Ruben

SoemMaster + Ports + connections

Yes, this seemed to be the difference.
Thanks!

Asa

On Feb 11, 2011, at 7:30 AM, Ruben Smits <ruben [dot] smits [..] ...> wrote:

> On Friday 11 February 2011 09:35:28 Tim Clephas wrote:
>> On Thu, 2011-02-10 at 23:16 +0100, asa hammond wrote:
>>> My stack is from cturtle, although I have been playing with getting the
>>> fit one working. Seems like the rtt hpp headers are not being found by
>>> cmake. Something is off overall in the includes because I getting
>>> "rtt/TaskContext.hpp not found" when I try and make.
>>>
>>> Asa
>>>
>>> On Feb 10, 2011, at 1:53 PM, Ruben Smits <ruben [dot] smits [..] ...>
> wrote:
>>>> On Thursday 10 February 2011 20:49:28 asa hammond wrote:
>>>>> Am using cturtle one. Is unstable the way to go?
>>
>> How did you get it to work? Could you give the exact steps you followed?
>> Because we have the same errors here with the rtt headers.
>
> Are you using the orocos_* cmake macros provided by RTT's UseOrocos.cmake?
>
>> Thanks,
>>
>> Tim
>
> Ruben
>
>>>> I released a new version of the orocos_toolchain_ros stack a few
>>>> days ago, this one should include the 2.2 version of RTT/OCL. How
>>>> did you get your orocos_toolchain_ros stack? Using git or the
>>>> debian packages? If you use git, make sure to pull the cturtle
>>>> branch again and run git submodules update. The debian packages for
>>>> cturtle are still in the pipeline
>>>> (http://www.ros.org/debbuild/cturtle.html), we'll have to wait until
>>>> a new update of the debian packages is pushed by Willow Garage.
>>>>
>>>> At this moment only the unstable debian packages are up to date with
>>>> our latest release. I hope diamondback will also be up to date once
>>>> it leaves its beta status.
>>>>
>>>> --Ruben
>>>>
>>>>> Asa
>>>>>
>>>>> On Feb 10, 2011, at 11:43 AM, Ruben Smits
>>>>> <ruben [dot] smits [..] ...>
>>>>
>>>> wrote:
>>>>>> On Thursday 10 February 2011 20:16:12 asa hammond wrote:
>>>>>>> I get " no method connect registered for the object or task
>>>>>>> "DataCall::Deployer"
>>>>>>
>>>>>> Which version of the Orocos Toolchain are you using, I think you
>>>>>> need at least version 2.2 for this.
>>>>>>
>>>>>>> Asa
>>>>>>
>>>>>> --Ruben
>>>>>>
>>>>>>> On Feb 10, 2011, at 1:13 AM, Ruben Smits
>>>>>>> <ruben [dot] smits [..] ...>
>>>>>>
>>>>>> wrote:
>>>>>>>> There was a typo in my answer:
>>>>>>>>
>>>>>>>> On Thursday 10 February 2011 10:11:53 Ruben Smits wrote:
>>>>>>>>> On Thursday 10 February 2011 09:26:11 asa hammond wrote:
>>>>>>>>>> Hello, I am new here and have an issue I could use some
>>>>>>>>>> clarification
>>>>>>>>>> on.
>>>>>>>>>> I'm working with the SoemMaster stack and running into
>>>>>>>>>> an issue
>>>>>>>>>> trying
>>>>>>>>>> to
>>>>>>>>>> connect my port from the soemMaster to the outside
>>>>>>>>>> world, ie
>>>>>>>>>> another
>>>>>>>>>> peer, another port, to ROS or anything. The issue seems
>>>>>>>>>> to be in
>>>>>>>>>> the
>>>>>>>>>> way drivers add services to the master. I cannot use
>>>>>>>>>> connectTwoPorts("SoemMaster","Slave_1001_myport","myOthe
>>>>>>>>>> rNode","
>>>>>>>>>> mypo
>>>>>>>>>> rt") ,
>>>>>>>>>> deployer does not seems to be able to see
>>>>>>>>>> Slave_1001_myport as a
>>>>>>>>>> port.
>>>>>>>>>> This is actually true, the full name of the port is
>>>>>>>>>> SoemMaster.Slave_1001.myport and in deployer I can use
>>>>>>>>>> tab to
>>>>>>>>>> expand
>>>>>>>>>> this
>>>>>>>>>> out and call one of its methods for instance, so I know
>>>>>>>>>> this
>>>>>>>>>> port is
>>>>>>>>>> there.
>>>>>>>>>
>>>>>>>>> The connectTwoPorts is deprecated since it cannot handle
>>>>>>>>> ports
>>>>>>>>> inside
>>>>>>>>> services. It is replaces by the connect function which is
>>>>>>>>> able to
>>>>>>>>> do
>>>>>>>>> this:
>>>>>>>>>
>>>>>>>>> connect("SoemMaster.Slave_1001.myport","myOtherNode","mypo
>>>>>>>>> rt",Conn
>>>>>>>>> Poli
>>>>>>>>> cy())
>>>>>>>>
>>>>>>>> this should have been
>>>>>>>>
>>>>>>>> connect("SoemMaster.Slave_1001.myport","myOtherNode.myport",
>>>>>>>> ConnPoli cy() )
>>>>>>>>
>>>>>>>>> To connect them using the default connection policy.
>>>>>>>>>
>>>>>>>>>> If I add a cout to my update() method of the driver I
>>>>>>>>>> can see my
>>>>>>>>>> changing
>>>>>>>>>> data streaming out of the node. I cannot find a way to
>>>>>>>>>> address
>>>>>>>>>> this
>>>>>>>>>> port with anything which will be picked up by another
>>>>>>>>>> node. When
>>>>>>>>>> the drivers load they add a service to the master which
>>>>>>>>>> has the
>>>>>>>>>> name of that slave, such as Slave_1001.
>>>>>>>>>>
>>>>>>>>>> I successfully have a different node streaming data in
>>>>>>>>>> and out
>>>>>>>>>> to
>>>>>>>>>> ROS
>>>>>>>>>> using the xml format connection setup as used in
>>>>>>>>>> rtt_ros_integration_example stack. I would love to get
>>>>>>>>>> this
>>>>>>>>>> working
>>>>>>>>>> with a soemaster slave.
>>>>>>>>>
>>>>>>>>> You can also create streams using the 'stream' function:
>>>>>>>>>
>>>>>>>>> var ConnPolicy cp
>>>>>>>>> cp.transport=3//ROS
>>>>>>>>> cp.name_id=/topic_name
>>>>>>>>> stream("SoemMaster.Slave_1001.myport",cp)
>>>>>>>>>
>>>>>>>>>> Help!
>>>>>>>>>>
>>>>>>>>>> thank you.
>>>>>>>>>>
>>>>>>>>>> Asa
>>>>>>>>
>>>>>>>> -- Ruben