component Properties and DataFlowPorts not showing up in Corba

Dear Orocos-Users,

I have a deployer and a bunch of components running on one machine
(call it the server), and I would like to plot some of their output
ports live on another machine (call it the laptop). I am attempting
to achieve this by making the components visible on the laptop using
CORBA, running a local reporter component, and pointing kst at the
file.

On the server I have omniNames running, added "server()" directives to
the components in the ops file, and wrote a script to scp over all of
the *.ior files to the laptop. In the deployer on the laptop I am
able to connect to the components, and start and stop them, and see
their status change on the server.

When I call "ls" in the deployer, Services show up, but none of the
component's Properties or DataFlowPorts show up.

Here are some errors that are thrown in the deployer on the laptop:

0.079 [ ERROR ][TaskContextProxy] Looked up Property float64
imu_target_hz: type not known. Check your RTT_COMONENT_PATH.
0.080 [ ERROR ][TaskContextProxy] Looked up Property float64
camera_target_hz: type not known. Check your RTT_OMPONENT_PATH.
0.139 [ ERROR ][TaskContextProxy] Looked up Property unknown_t prop:
type not known. Check your RTT_COMPONENT_ATH.

My RTT_COMPONENT_PATH is unset, but orocos finds the components I have
installed using ROS's environment variables.

server:
Ubuntu 10.04.3 LTS
Ros Diamondback
OROCOS Toolchain version '2.4.0' ( GCC 4.4.3 )

laptop:
Ubuntu 10.04.4 LTS
Ros Electric
OROCOS Toolchain version '2.5.0' ( GCC 4.4.3 )

Anyone have an idea what is broken in my configuration?

Thanks!

Andrew Wagner
ESAT KU Leuven

component Properties and DataFlowPorts not showing up in Corba

On Tue, Aug 14, 2012 at 2:17 PM, Andrew Wagner <drewm1980 [..] ...> wrote:
> Dear Orocos-Users,
>
> I have a deployer and a bunch of components running on one machine
> (call it the server), and I would like to plot some of their output
> ports live on another machine (call it the laptop). I am attempting
> to achieve this by making the components visible on the laptop using
> CORBA, running a local reporter component, and pointing kst at the
> file.
>
> On the server I have omniNames running, added "server()" directives to
> the components in the ops file, and wrote a script to scp over all of
> the *.ior files to the laptop. In the deployer on the laptop I am
> able to connect to the components, and start and stop them, and see
> their status change on the server.
>
> When I call "ls" in the deployer, Services show up, but none of the
> component's Properties or DataFlowPorts show up.
>
> Here are some errors that are thrown in the deployer on the laptop:
>
> 0.079 [ ERROR ][TaskContextProxy] Looked up Property float64
> imu_target_hz: type not known. Check your RTT_COMONENT_PATH.
> 0.080 [ ERROR ][TaskContextProxy] Looked up Property float64
> camera_target_hz: type not known. Check your RTT_OMPONENT_PATH.
> 0.139 [ ERROR ][TaskContextProxy] Looked up Property unknown_t prop:
> type not known. Check your RTT_COMPONENT_ATH.
>
> My RTT_COMPONENT_PATH is unset, but orocos finds the components I have
> installed using ROS's environment variables.
>
> server:
> Ubuntu 10.04.3 LTS
> Ros Diamondback
> OROCOS Toolchain version '2.4.0' ( GCC 4.4.3 )
>
> laptop:
> Ubuntu 10.04.4 LTS
> Ros Electric
> OROCOS Toolchain version '2.5.0' ( GCC 4.4.3 )
>
> Anyone have an idea what is broken in my configuration?

Your 'laptop''s deployer did not import the required typekits. The
easiest way to do this is to point your
RTT_COMPONENT_PATH to the typekits errored about above, or to use the
deployer-corba-gnulinux and provide it a script which imports the
required typekit packages.

The 'laptop' side can not magically know which typekits the 'server'
side is using... at least,
not with the current implementation. What I'm learning from this is
that the error message is still not
clear enough for new users...

Peter

component Properties and DataFlowPorts not showing up in Corba

On Sun, Sep 30, 2012 at 4:47 PM, Peter Soetens <peter [..] ...>wrote:

> Your 'laptop''s deployer did not import the required typekits. The
> easiest way to do this is to point your
> RTT_COMPONENT_PATH to the typekits errored about above, or to use the
> deployer-corba-gnulinux and provide it a script which imports the
> required typekit packages.
>
> The 'laptop' side can not magically know which typekits the 'server'
> side is using... at least,
> not with the current implementation. What I'm learning from this is
> that the error message is still not
> clear enough for new users...
>

I'm running into the same problem, but I'm not even using any non-builtin
typekits, even data flow ports with doubles aren't showing up. My
RTT_COMPONENT_PATH looks good, and `double` is listed when I call `.types`

It even seems to be having trouble with bools. I can start and stop
components remotely, but in the ctaskbrowser I see:

153.312 [ Warning][OrbRunner] CorbaOperationCallerFactory: remote
> operation's start return type unknown_t is unknown in this process.

And in the "server" program I see:

0.000 [ Warning][OrbRunner] Could not return results of call to start:
> unknown return type by CORBA transport.

Any advice?
-j

component Properties and DataFlowPorts not showing up in Corba

The problem was not calling `__os_init()`. This wasn't getting called because this code was running in a plugin.

component Properties and DataFlowPorts not showing up in Corba

Ok, easier question... What are you guys over in robotics using these
days for real-time plotting from a remote machine? Also, what version
of ubuntu / ros are you using?

We've run into walls with both the ROS interface and Corba, and have
resorted to using kst on files that are mounted over sshfs. Part of
the problem is that we haven't upgraded in a while due to
incompatibilities between orocos versions <-> ros versions <->
available packages for Ubunto <-> some our machines laptops refusing
to boot certain versions of Ubuntu.

Cheers,
Andrew

On Tue, Aug 14, 2012 at 2:17 PM, Andrew Wagner <drewm1980 [..] ...> wrote:
> Dear Orocos-Users,
>
> I have a deployer and a bunch of components running on one machine
> (call it the server), and I would like to plot some of their output
> ports live on another machine (call it the laptop). I am attempting
> to achieve this by making the components visible on the laptop using
> CORBA, running a local reporter component, and pointing kst at the
> file.
>
> On the server I have omniNames running, added "server()" directives to
> the components in the ops file, and wrote a script to scp over all of
> the *.ior files to the laptop. In the deployer on the laptop I am
> able to connect to the components, and start and stop them, and see
> their status change on the server.
>
> When I call "ls" in the deployer, Services show up, but none of the
> component's Properties or DataFlowPorts show up.
>
> Here are some errors that are thrown in the deployer on the laptop:
>
> 0.079 [ ERROR ][TaskContextProxy] Looked up Property float64
> imu_target_hz: type not known. Check your RTT_COMONENT_PATH.
> 0.080 [ ERROR ][TaskContextProxy] Looked up Property float64
> camera_target_hz: type not known. Check your RTT_OMPONENT_PATH.
> 0.139 [ ERROR ][TaskContextProxy] Looked up Property unknown_t prop:
> type not known. Check your RTT_COMPONENT_ATH.
>
> My RTT_COMPONENT_PATH is unset, but orocos finds the components I have
> installed using ROS's environment variables.
>
> server:
> Ubuntu 10.04.3 LTS
> Ros Diamondback
> OROCOS Toolchain version '2.4.0' ( GCC 4.4.3 )
>
> laptop:
> Ubuntu 10.04.4 LTS
> Ros Electric
> OROCOS Toolchain version '2.5.0' ( GCC 4.4.3 )
>
> Anyone have an idea what is broken in my configuration?
>
> Thanks!
>
> Andrew Wagner
> ESAT KU Leuven

component Properties and DataFlowPorts not showing up in Corba

On 08/20/2012 09:21 AM, Andrew Wagner wrote:
> Ok, easier question... What are you guys over in robotics using these
> days for real-time plotting from a remote machine? Also, what version
> of ubuntu / ros are you using?
>
> We've run into walls with both the ROS interface and Corba, and have
> resorted to using kst on files that are mounted over sshfs. Part of
> the problem is that we haven't upgraded in a while due to
> incompatibilities between orocos versions <-> ros versions <->
> available packages for Ubunto <-> some our machines laptops refusing
> to boot certain versions of Ubuntu.
>
> Cheers,
> Andrew
>
> On Tue, Aug 14, 2012 at 2:17 PM, Andrew Wagner <drewm1980 [..] ...> wrote:
>> Dear Orocos-Users,
>>
>> I have a deployer and a bunch of components running on one machine
>> (call it the server), and I would like to plot some of their output
>> ports live on another machine (call it the laptop). I am attempting
>> to achieve this by making the components visible on the laptop using
>> CORBA, running a local reporter component, and pointing kst at the
>> file.
>>
>> On the server I have omniNames running, added "server()" directives to
>> the components in the ops file, and wrote a script to scp over all of
>> the *.ior files to the laptop. In the deployer on the laptop I am
>> able to connect to the components, and start and stop them, and see
>> their status change on the server.
>>
>> When I call "ls" in the deployer, Services show up, but none of the
>> component's Properties or DataFlowPorts show up.
>>
>> Here are some errors that are thrown in the deployer on the laptop:
>>
>> 0.079 [ ERROR ][TaskContextProxy] Looked up Property float64
>> imu_target_hz: type not known. Check your RTT_COMONENT_PATH.
>> 0.080 [ ERROR ][TaskContextProxy] Looked up Property float64
>> camera_target_hz: type not known. Check your RTT_OMPONENT_PATH.
>> 0.139 [ ERROR ][TaskContextProxy] Looked up Property unknown_t prop:
>> type not known. Check your RTT_COMPONENT_ATH.
>>
>> My RTT_COMPONENT_PATH is unset, but orocos finds the components I have
>> installed using ROS's environment variables.
>>
>> server:
>> Ubuntu 10.04.3 LTS
>> Ros Diamondback
>> OROCOS Toolchain version '2.4.0' ( GCC 4.4.3 )
>>
>> laptop:
>> Ubuntu 10.04.4 LTS
>> Ros Electric
>> OROCOS Toolchain version '2.5.0' ( GCC 4.4.3 )
>>
>> Anyone have an idea what is broken in my configuration?
>>
>> Thanks!
>>
>> Andrew Wagner
>> ESAT KU Leuven
A guy in our lab just started developing an off-board, run-time data
visualizer. It's not finished, but it shows a lot of promise.

Basically, there's an Orocos component that has access to all the data
that an operator/developer would be interested in seeing, and this
component has a ZMQ interface. The ZMQ interface provides access to
Orocos operations (kinda) and data ports. There some amount of Protobuf
mixed in, too. Visualization is done using a QT-based app (list of data
on the left with checkboxes, plotter on the right). As data names are
checked, data values begin streaming from the component to the visualizer.

We don't have any performance metrics yet, but I expect it to be pretty
fast.

*Dustin Gooding*
NASA/JSC Robotics

component Properties and DataFlowPorts not showing up in Corba

On 8/20/12, Dustin Gooding <dustin [dot] r [dot] gooding [..] ...> wrote:
> A guy in our lab just started developing an off-board, run-time data
> visualizer. It's not finished, but it shows a lot of promise.
>
> Basically, there's an Orocos component that has access to all the data
> that an operator/developer would be interested in seeing, and this
> component has a ZMQ interface. The ZMQ interface provides access to
> Orocos operations (kinda) and data ports. There some amount of Protobuf
> mixed in, too. Visualization is done using a QT-based app (list of data
> on the left with checkboxes, plotter on the right). As data names are
> checked, data values begin streaming from the component to the visualizer.
>
> We don't have any performance metrics yet, but I expect it to be pretty
> fast.
>
> *Dustin Gooding*
> NASA/JSC Robotics
>

Hello Dustin, that sounds really useful! Please let me know if you
guys decide to share it, and we'll give it a try.

component Properties and DataFlowPorts not showing up in Corba

On Mon, 20 Aug 2012, Andrew Wagner wrote:

> Ok, easier question... What are you guys over in robotics using these
> days for real-time plotting from a remote machine? Also, what version
> of ubuntu / ros are you using?
>
> We've run into walls with both the ROS interface and Corba, and have
> resorted to using kst on files that are mounted over sshfs.

Not such a bad idea!!

ROS and CORBA both do not exactly have stellar performance in the context
of asynchronous data flow transfer, so I am not surprised by your lack of
enthusiasm for those middleware "solutions". :-)
ZeroMQ or OpenMAMA are just two better-performing alternatives that come to
my mind, but there are definitely more.

> Part of
> the problem is that we haven't upgraded in a while due to
> incompatibilities between orocos versions <-> ros versions <->
> available packages for Ubunto <-> some our machines laptops refusing
> to boot certain versions of Ubuntu.

Welcome (sic) to "version/dependency hell", sigh. A major complexity
problem of the modern age of multi-project integration...

> Cheers,
> Andrew

Herman

> On Tue, Aug 14, 2012 at 2:17 PM, Andrew Wagner <drewm1980 [..] ...> wrote:
>> Dear Orocos-Users,
>>
>> I have a deployer and a bunch of components running on one machine
>> (call it the server), and I would like to plot some of their output
>> ports live on another machine (call it the laptop). I am attempting
>> to achieve this by making the components visible on the laptop using
>> CORBA, running a local reporter component, and pointing kst at the
>> file.
>>
>> On the server I have omniNames running, added "server()" directives to
>> the components in the ops file, and wrote a script to scp over all of
>> the *.ior files to the laptop. In the deployer on the laptop I am
>> able to connect to the components, and start and stop them, and see
>> their status change on the server.
>>
>> When I call "ls" in the deployer, Services show up, but none of the
>> component's Properties or DataFlowPorts show up.
>>
>> Here are some errors that are thrown in the deployer on the laptop:
>>
>> 0.079 [ ERROR ][TaskContextProxy] Looked up Property float64
>> imu_target_hz: type not known. Check your RTT_COMONENT_PATH.
>> 0.080 [ ERROR ][TaskContextProxy] Looked up Property float64
>> camera_target_hz: type not known. Check your RTT_OMPONENT_PATH.
>> 0.139 [ ERROR ][TaskContextProxy] Looked up Property unknown_t prop:
>> type not known. Check your RTT_COMPONENT_ATH.
>>
>> My RTT_COMPONENT_PATH is unset, but orocos finds the components I have
>> installed using ROS's environment variables.
>>
>> server:
>> Ubuntu 10.04.3 LTS
>> Ros Diamondback
>> OROCOS Toolchain version '2.4.0' ( GCC 4.4.3 )
>>
>> laptop:
>> Ubuntu 10.04.4 LTS
>> Ros Electric
>> OROCOS Toolchain version '2.5.0' ( GCC 4.4.3 )
>>
>> Anyone have an idea what is broken in my configuration?
>>
>> Thanks!
>>
>> Andrew Wagner
>> ESAT KU Leuven

component Properties and DataFlowPorts not showing up in Corba

Thanks for the reply, Herman!

On Mon, Aug 20, 2012 at 4:30 PM, Herman Bruyninckx
<Herman [dot] Bruyninckx [..] ...> wrote:
> On Mon, 20 Aug 2012, Andrew Wagner wrote:
...
>> We've run into walls with both the ROS interface and Corba, and have
>> resorted to using kst on files that are mounted over sshfs.
>
> Not such a bad idea!!
>
> ROS and CORBA both do not exactly have stellar performance in the context
> of asynchronous data flow transfer, so I am not surprised by your lack of
> enthusiasm for those middleware "solutions". :-)
> ZeroMQ or OpenMAMA are just two better-performing alternatives that come to
> my mind, but there are definitely more.

We're not running into performance bottlenecks with ROS/CORBA; we have
not been able to get them to work with orocos yet after investing a
few days of dev time. We got operations working over CORBA, but not
ports. As for ROS, I think the infrastructure for ROS integration
just wasn't ready in the old orocos we're using; the stuff mentioned
in the online tutorials isn't there.

The port -> reporter -> file -> sshfs -> kst2 setup was very easy to
get working, but the update rate of our plots doesn't seem to go above
2Hz or so, and we can only get that with one plot running at a time.
nfs might be better (maybe it even supports "select"); we have not
tried it yet.

component Properties and DataFlowPorts not showing up in Corba

On Mon, Aug 20, 2012 at 04:48:41PM +0200, Andrew Wagner wrote:
> Thanks for the reply, Herman!
>
> On Mon, Aug 20, 2012 at 4:30 PM, Herman Bruyninckx
> <Herman [dot] Bruyninckx [..] ...> wrote:
> > On Mon, 20 Aug 2012, Andrew Wagner wrote:
> ...
> >> We've run into walls with both the ROS interface and Corba, and have
> >> resorted to using kst on files that are mounted over sshfs.
> >
> > Not such a bad idea!!
> >
> > ROS and CORBA both do not exactly have stellar performance in the context
> > of asynchronous data flow transfer, so I am not surprised by your lack of
> > enthusiasm for those middleware "solutions". :-)
> > ZeroMQ or OpenMAMA are just two better-performing alternatives that come to
> > my mind, but there are definitely more.
>
> We're not running into performance bottlenecks with ROS/CORBA; we have
> not been able to get them to work with orocos yet after investing a
> few days of dev time. We got operations working over CORBA, but not
> ports. As for ROS, I think the infrastructure for ROS integration
> just wasn't ready in the old orocos we're using; the stuff mentioned
> in the online tutorials isn't there.

Which version are you using? I think the ROS transport is the easiest
option to get going and should offer sufficient performance for
vizualiation.

> The port -> reporter -> file -> sshfs -> kst2 setup was very easy to
> get working, but the update rate of our plots doesn't seem to go above
> 2Hz or so, and we can only get that with one plot running at a time.

That's slow, but it is an encrypted userspace filesystem, so there's
not much to expect.

> nfs might be better (maybe it even supports "select"); we have not
> tried it yet.

AFAIK calling select on regular files is not supported or will always
return true.

Markus