Writing corba transport for Eigen::Vector

Hello,

I'm trying to implement the corba transport in my Eigen::Vector typekit. The
wiki page [1] is quite clear about writing a corba typekit for static struct
types. However, I don't know exactly where to start for a dynamically sized
type such as an Eigen::VectorXd. My first idea was to look at the
std::vector<double> typekit -- which should be very similar -- but I didn't
see any reference to an idl file. I guess this is because the idl is
provided by the corba library itself?

Any hint is very welcome!

Philippe

[1]
http://www.orocos.org/wiki/rtt/simple-examples/developing-plugins-and-to...

Writing corba transport for Eigen::Vector

Does the Eigen::Vector has size and capacity methods ?

On 05/24/2011 05:45 PM, Philippe Hamelin wrote:
> Hello,
>
> I'm trying to implement the corba transport in my Eigen::Vector typekit. The
> wiki page [1] is quite clear about writing a corba typekit for static struct
> types. However, I don't know exactly where to start for a dynamically sized
> type such as an Eigen::VectorXd. My first idea was to look at the
> std::vector<double> typekit -- which should be very similar -- but I didn't
> see any reference to an idl file. I guess this is because the idl is
> provided by the corba library itself?
>
> Any hint is very welcome!
>
> Philippe
>
> [1]
> http://www.orocos.org/wiki/rtt/simple-examples/developing-plugins-and-to...
>
>

Writing corba transport for Eigen::Vector

2011/5/19 Paul Chavent <paul [dot] chavent [..] ...>

> Does the Eigen::Vector has size and capacity methods ?
>
>
>
As Adolfo said, there's no capacity method.

Philippe

Writing corba transport for Eigen::Vector

On Thu, May 19, 2011 at 1:33 PM, Paul Chavent <paul [dot] chavent [..] ...> wrote:

> Does the Eigen::Vector has size and capacity methods ?
>

The EigenBase [1] class, which eigen dense vectors "inherit" from (in the
CRTP [2] sense) has a size method. AFAIK there is no capacity method.

[1] http://eigen.tuxfamily.org/dox/structEigen_1_1EigenBase.html
[2] Curiously Recurring Template Pattern

Adolfo

>
> On 05/24/2011 05:45 PM, Philippe Hamelin wrote:
> > Hello,
> >
> > I'm trying to implement the corba transport in my Eigen::Vector typekit.
> The
> > wiki page [1] is quite clear about writing a corba typekit for static
> struct
> > types. However, I don't know exactly where to start for a dynamically
> sized
> > type such as an Eigen::VectorXd. My first idea was to look at the
> > std::vector<double> typekit -- which should be very similar -- but I
> didn't
> > see any reference to an idl file. I guess this is because the idl is
> > provided by the corba library itself?
> >
> > Any hint is very welcome!
> >
> > Philippe
> >
> > [1]
> >
> http://www.orocos.org/wiki/rtt/simple-examples/developing-plugins-and-to...
> >
> >
>
> --
> Orocos-Users mailing list
> Orocos-Users [..] ...
> http://lists.mech.kuleuven.be/mailman/listinfo/orocos-users
>

Writing corba transport for Eigen::Vector

On May 24, 2011, at 11:45 , Philippe Hamelin wrote:

> Hello,
>
> I'm trying to implement the corba transport in my Eigen::Vector typekit. The wiki page [1] is quite clear about writing a corba typekit for static struct types. However, I don't know exactly where to start for a dynamically sized type such as an Eigen::VectorXd. My first idea was to look at the std::vector<double> typekit -- which should be very similar -- but I didn't see any reference to an idl file. I guess this is because the idl is provided by the corba library itself?
>
> Any hint is very welcome!

You are using RTT v1, right? We should annotate those pages to indicate they only apply to v1 ...

There has been a bunch of ML traffic on Eigen + transports. There are several caveats (though not all may apply to a v1 toolkit), so I'd check those.

If you are using RTT v1 and still want to write a transport for a variable sized vector, then yes, the std::vector<double> approach would suit well. It's implemented inside of RTT v1 itself - look in rtt/src/Realtimetoolkit.cpp.

HTH
S

>
> Philippe
>
> [1] http://www.orocos.org/wiki/rtt/simple-examples/developing-plugins-and-to...

Writing corba transport for Eigen::Vector

2011/5/24 S Roderick <kiwi [dot] net [..] ...>

> On May 24, 2011, at 11:45 , Philippe Hamelin wrote:
>
> Hello,
>
> I'm trying to implement the corba transport in my Eigen::Vector typekit.
> The wiki page [1] is quite clear about writing a corba typekit for static
> struct types. However, I don't know exactly where to start for a dynamically
> sized type such as an Eigen::VectorXd. My first idea was to look at the
> std::vector<double> typekit -- which should be very similar -- but I didn't
> see any reference to an idl file. I guess this is because the idl is
> provided by the corba library itself?
>
> Any hint is very welcome!
>
>
> You are using RTT v1, right? We should annotate those pages to indicate
> they only apply to v1 ...
>
>
No I'm using RTT v2. I know that the wiki page doesn't directly fit with RTT
v2 but it nevertheless inspired me.

> There has been a bunch of ML traffic on Eigen + transports. There are
> several caveats (though not all may apply to a v1 toolkit), so I'd check
> those.
>
> If you are using RTT v1 and still want to write a transport for a variable
> sized vector, then yes, the std::vector<double> approach would suit well.
> It's implemented inside of RTT v1 itself - look in
> rtt/src/Realtimetoolkit.cpp.
>
>
What is the RTT v2 way then?

Philippe

Writing corba transport for Eigen::Vector

On 05/24/2011 06:34 PM, Philippe Hamelin wrote:
> 2011/5/24 S Roderick <kiwi.net >
> On May 24, 2011, at 11:45 , Philippe Hamelin wrote:
>
>> Hello,
>>
>> I'm trying to implement the corba transport in my Eigen::Vector
>> typekit. The wiki page [1] is quite clear about writing a corba
>> typekit for static struct types. However, I don't know exactly
>> where to start for a dynamically sized type such as an
>> Eigen::VectorXd. My first idea was to look at the
>> std::vector<double> typekit -- which should be very similar -- but
>> I didn't see any reference to an idl file. I guess this is because
>> the idl is provided by the corba library itself?
>>
>> Any hint is very welcome!
>
> You are using RTT v1, right? We should annotate those pages to
> indicate they only apply to v1 ...
>
>
> No I'm using RTT v2. I know that the wiki page doesn't directly fit with
> RTT v2 but it nevertheless inspired me.
>
> There has been a bunch of ML traffic on Eigen + transports. There
> are several caveats (though not all may apply to a v1 toolkit), so
> I'd check those.
>
> If you are using RTT v1 and still want to write a transport for a
> variable sized vector, then yes, the std::vector<double> approach
> would suit well. It's implemented inside of RTT v1 itself - look in
> rtt/src/Realtimetoolkit.cpp.
>
>
> What is the RTT v2 way then?

oroGen handles Eigen fine (read: 100% automatically) through opaques.
That's how we do it in Rock.

The problem is that opaque support requires a bit of spec, something I
could not come up to support in typegen (could not get a "good" command
line syntax, and I'm not even sure it would be doable). If a typegen
user could look into it and suggest a solution there, that would be nice.

Info on opaque types:
http://rock-robotics.org/orogen/opaque_types.html

Eigen support in rock:
http://rock.opendfki.de/wiki/WikiStart/Toolchain/EigenTypes

https://gitorious.org/rock-toolchain/orogen-base-types/blobs/master/base...

Writing corba transport for Eigen::Vector

On May 24, 2011, at 12:34 , Philippe Hamelin wrote:

> 2011/5/24 S Roderick <kiwi [dot] net [..] ...>
> On May 24, 2011, at 11:45 , Philippe Hamelin wrote:
>
>> Hello,
>>
>> I'm trying to implement the corba transport in my Eigen::Vector typekit. The wiki page [1] is quite clear about writing a corba typekit for static struct types. However, I don't know exactly where to start for a dynamically sized type such as an Eigen::VectorXd. My first idea was to look at the std::vector<double> typekit -- which should be very similar -- but I didn't see any reference to an idl file. I guess this is because the idl is provided by the corba library itself?
>>
>> Any hint is very welcome!
>
> You are using RTT v1, right? We should annotate those pages to indicate they only apply to v1 ...
>
>
> No I'm using RTT v2. I know that the wiki page doesn't directly fit with RTT v2 but it nevertheless inspired me.
>
> There has been a bunch of ML traffic on Eigen + transports. There are several caveats (though not all may apply to a v1 toolkit), so I'd check those.
>
> If you are using RTT v1 and still want to write a transport for a variable sized vector, then yes, the std::vector<double> approach would suit well. It's implemented inside of RTT v1 itself - look in rtt/src/Realtimetoolkit.cpp.
>
>
> What is the RTT v2 way then?

I am blissfully unaware of how to do it in v2 ... :-) ... cue Sylvain, Peter or Markus ...
S

Writing corba transport for Eigen::Vector

2011/5/24 Stephen Roderick <kiwi [dot] net [..] ...>

> On May 24, 2011, at 12:34 , Philippe Hamelin wrote:
>
> 2011/5/24 S Roderick <kiwi [dot] net [..] ...>
>
>> On May 24, 2011, at 11:45 , Philippe Hamelin wrote:
>>
>> Hello,
>>
>> I'm trying to implement the corba transport in my Eigen::Vector typekit.
>> The wiki page [1] is quite clear about writing a corba typekit for static
>> struct types. However, I don't know exactly where to start for a dynamically
>> sized type such as an Eigen::VectorXd. My first idea was to look at the
>> std::vector<double> typekit -- which should be very similar -- but I didn't
>> see any reference to an idl file. I guess this is because the idl is
>> provided by the corba library itself?
>>
>> Any hint is very welcome!
>>
>>
>> You are using RTT v1, right? We should annotate those pages to indicate
>> they only apply to v1 ...
>>
>>
> No I'm using RTT v2. I know that the wiki page doesn't directly fit with
> RTT v2 but it nevertheless inspired me.
>
>
>> There has been a bunch of ML traffic on Eigen + transports. There are
>> several caveats (though not all may apply to a v1 toolkit), so I'd check
>> those.
>>
>> If you are using RTT v1 and still want to write a transport for a variable
>> sized vector, then yes, the std::vector<double> approach would suit well.
>> It's implemented inside of RTT v1 itself - look in
>> rtt/src/Realtimetoolkit.cpp.
>>
>>
> What is the RTT v2 way then?
>
>
> I am blissfully unaware of how to do it in v2 ... :-) ... cue Sylvain,
> Peter or Markus ...
>
>
Do you know if there's any documentation about corba typekit creation for
RTT v2? The link to the wiki page in the Toolchain manual should then be
removed.

Philippe