About the iTaSC framework

Hi everybody!

I'm trying to get a better understanding of the iTaSC framework to find
out, if it would be interesting for our applications.
To start of with, I have no experience in working with any real-time tools
of OROCOS (only KDL).

I'm wondering, if iTaSC is running in a non real-time context (and only the
joint controller do) or if the whole system runs in real-time.
If the latter is true, would it be possible to run (parts of) the iTaSC
framework in non real-time?

Furthermore, it would be interesting, if in general only parts of the iTaSC
framework could be run. For example, could I use only tasks, the scene and
a solver?

I have more specific questions regarding the currently implemented iTaSC
solver, which follow in a separate email.

Thanks for the information!

Marcus Liebhardt

About the iTaSC framework

On Wed, 8 Feb 2012, Marcus Liebhardt wrote:

> Hi everybody!
>
> I'm trying to get a better understanding of the iTaSC framework to find out,
> if it would be interesting for our applications.
> To start of with, I have no experience in working with any real-time tools of
> OROCOS (only KDL).
>
> I'm wondering, if iTaSC is running in a non real-time context (and only the
> joint controller do) or if the whole system runs in real-time.

There is no dependency on realtime. (The realtime performance will be
mostly determined by the hardware and OS deployment of your application
anyway.)

> If the latter is true, would it be possible to run (parts of) the iTaSC
> framework in non real-time?
>
> Furthermore, it would be interesting, if in general only parts of the iTaSC
> framework could be run. For example, could I use only tasks, the scene and a
> solver?

As long as you can build an application where all data and events are well
connected, you are fine.

> I have more specific questions regarding the currently implemented iTaSC
> solver, which follow in a separate email.

I'm curious! :-)

> Thanks for the information!

What kind of application do you have in mind? Can it be done with the
current velocity-level solver?
>
> Marcus Liebhardt

Herman

About the iTaSC framework

2012/2/8 Herman Bruyninckx <Herman [dot] Bruyninckx [..] ...>

> On Wed, 8 Feb 2012, Marcus Liebhardt wrote:
>
> Hi everybody!
>>
>> I'm trying to get a better understanding of the iTaSC framework to find
>> out,
>> if it would be interesting for our applications.
>> To start of with, I have no experience in working with any real-time
>> tools of
>> OROCOS (only KDL).
>>
>> I'm wondering, if iTaSC is running in a non real-time context (and only
>> the
>> joint controller do) or if the whole system runs in real-time.
>>
>
> There is no dependency on realtime. (The realtime performance will be
> mostly determined by the hardware and OS deployment of your application
> anyway.)
>
>
> If the latter is true, would it be possible to run (parts of) the iTaSC
>> framework in non real-time?
>>
>> Furthermore, it would be interesting, if in general only parts of the
>> iTaSC
>> framework could be run. For example, could I use only tasks, the scene
>> and a
>> solver?
>>
>
> As long as you can build an application where all data and events are well
> connected, you are fine.

That sounds to me as events and hence the state machine is necessary. Is it
possible to work without those?
For example, could I only specify a task and use the scene and solver to
output joint positions (and running the whole thing in a loop)?

>
>
> I have more specific questions regarding the currently implemented iTaSC
>> solver, which follow in a separate email.
>>
>
> I'm curious! :-)
>
> Thanks for the information!
>>
>
> What kind of application do you have in mind? Can it be done with the
> current velocity-level solver?
>

I wrote about the specific use case for the solver in the other email. But
I have more general idea, too.
The new arm_navigation stack in ROS (Electric) offers a bunch of nice
tools, among which I like most the interactive markers, collision checking
and motion planning.
However, the range of plannable and executable tasks seems (currently)
quite limited. I only found that one can impose orientation constraints,
e.g. to keep a cup upright.
ITaSC on the other hand, seems to allow a wide range of complex tasks, but
seems to be more complicated to get started with. Also, having a GUI like
these interactive markers in RVIZ to control the robot and maybe even
create tasks would be great.
So, I am wondering if and how these things could interact with each other.

>
>> Marcus Liebhardt
>>
>
> Herman
>
>
Best regards,
Marcus

About the iTaSC framework

On Wed, 8 Feb 2012, Marcus Liebhardt wrote:

> 2012/2/8 Herman Bruyninckx <Herman [dot] Bruyninckx [..] ...>
> On Wed, 8 Feb 2012, Marcus Liebhardt wrote:
>
> Hi everybody!
>
> I'm trying to get a better understanding of the iTaSC
> framework to find out,
> if it would be interesting for our applications.
> To start of with, I have no experience in working with
> any real-time tools of
> OROCOS (only KDL).
>
> I'm wondering, if iTaSC is running in a non real-time
> context (and only the
> joint controller do) or if the whole system runs in
> real-time.
>
>
> There is no dependency on realtime. (The realtime performance will be
> mostly determined by the hardware and OS deployment of your application
> anyway.)
>
> If the latter is true, would it be possible to run (parts
> of) the iTaSC
> framework in non real-time?
>
> Furthermore, it would be interesting, if in general only
> parts of the iTaSC
> framework could be run. For example, could I use only tasks,
> the scene and a
> solver?
>
>
> As long as you can build an application where all data and events are
> well
> connected, you are fine.
>
>
> That sounds to me as events and hence the state machine is necessary. Is it
> possible to work without those?

yes, but the kind of tasks you can serve in this way is more limited.

> For example, could I only specify a task and use the scene and solver to
> output joint positions (and running the whole thing in a loop)?

That is what is going on all the time :-) The FSM just helps you to do
several tasks in sequence, and to switch from one to the other based on
online generated events.

> I have more specific questions regarding the currently
> implemented iTaSC
> solver, which follow in a separate email.
>
>
> I'm curious! :-)
>
> Thanks for the information!
>
>
> What kind of application do you have in mind? Can it be done with the
> current velocity-level solver?
>
> I wrote about the specific use case for the solver in the other email. But I
> have more general idea, too.
> The new arm_navigation stack in ROS (Electric) offers a bunch of nice tools,
> among which I like most the interactive markers, collision checking and motion
> planning.

These are all designed within the "Sense-Plan-Act" paradigm: you first
sense your environment, then you plan a geometric path for your robot, and
then you execute it. While iTaSC follows the "constrained optimization"
paradigm: at _every_ instant in time, you combine constraints coming from a
plan, sensors, hardware limits, task progress measures, etc.

> However, the range of plannable and executable tasks seems (currently) quite
> limited. I only found that one can impose orientation constraints, e.g. to
> keep a cup upright.

> ITaSC on the other hand, seems to allow a wide range of complex tasks, but
> seems to be more complicated to get started with.

There is indeed no such thing as a free lunch :-)

> Also, having a GUI like these interactive markers in RVIZ to control the
> robot and maybe even create tasks would be great.

This kind of (useful, indeed) tooling can be put around an iTaSC motion
kernel: it provides just one (or more) of the constraints that an iTaSC
solver can deal with.

> So, I am wondering if and how these things could interact with each other.

The general answer is simple: each of them provides an instantaneous
constraint to the solver.

> Marcus Liebhardt

Herman

About the iTaSC framework

2012/2/8 Herman Bruyninckx <Herman [dot] Bruyninckx [..] ...>

> On Wed, 8 Feb 2012, Marcus Liebhardt wrote:
>
> 2012/2/8 Herman Bruyninckx <Herman.Bruyninckx@mech.**kuleuven.be<Herman [dot] Bruyninckx [..] ...>
>> >
>> On Wed, 8 Feb 2012, Marcus Liebhardt wrote:
>>
>> Hi everybody!
>>
>> I'm trying to get a better understanding of the iTaSC
>> framework to find out,
>> if it would be interesting for our applications.
>> To start of with, I have no experience in working with
>> any real-time tools of
>> OROCOS (only KDL).
>>
>> I'm wondering, if iTaSC is running in a non real-time
>> context (and only the
>> joint controller do) or if the whole system runs in
>> real-time.
>>
>>
>> There is no dependency on realtime. (The realtime performance will be
>> mostly determined by the hardware and OS deployment of your application
>> anyway.)
>>
>> If the latter is true, would it be possible to run (parts
>> of) the iTaSC
>> framework in non real-time?
>>
>> Furthermore, it would be interesting, if in general only
>> parts of the iTaSC
>> framework could be run. For example, could I use only tasks,
>> the scene and a
>> solver?
>>
>>
>> As long as you can build an application where all data and events are
>> well
>> connected, you are fine.
>>
>>
>> That sounds to me as events and hence the state machine is necessary. Is
>> it
>> possible to work without those?
>>
>
> yes, but the kind of tasks you can serve in this way is more limited.
>
>
> For example, could I only specify a task and use the scene and solver to
>> output joint positions (and running the whole thing in a loop)?
>>
>
> That is what is going on all the time :-) The FSM just helps you to do
> several tasks in sequence, and to switch from one to the other based on
> online generated events.
>
>
> I have more specific questions regarding the currently
>> implemented iTaSC
>> solver, which follow in a separate email.
>>
>>
>> I'm curious! :-)
>>
>> Thanks for the information!
>>
>>
>> What kind of application do you have in mind? Can it be done with the
>> current velocity-level solver?
>>
>> I wrote about the specific use case for the solver in the other email.
>> But I
>> have more general idea, too.
>> The new arm_navigation stack in ROS (Electric) offers a bunch of nice
>> tools,
>> among which I like most the interactive markers, collision checking and
>> motion
>> planning.
>>
>
> These are all designed within the "Sense-Plan-Act" paradigm: you first
> sense your environment, then you plan a geometric path for your robot, and
> then you execute it. While iTaSC follows the "constrained optimization"
> paradigm: at _every_ instant in time, you combine constraints coming from a
> plan, sensors, hardware limits, task progress measures, etc.
>
>
> However, the range of plannable and executable tasks seems (currently)
>> quite
>> limited. I only found that one can impose orientation constraints, e.g. to
>> keep a cup upright.
>>
>
> ITaSC on the other hand, seems to allow a wide range of complex tasks, but
>> seems to be more complicated to get started with.
>>
>
>
There is indeed no such thing as a free lunch :-)
>
>
... as free beer, I would say! ;-)

>
> Also, having a GUI like these interactive markers in RVIZ to control the
>> robot and maybe even create tasks would be great.
>>
>
> This kind of (useful, indeed) tooling can be put around an iTaSC motion
> kernel: it provides just one (or more) of the constraints that an iTaSC
> solver can deal with.
>
>
> So, I am wondering if and how these things could interact with each other.
>>
>
> The general answer is simple: each of them provides an instantaneous
> constraint to the solver.
>

That sounds good. Is anybody working on a GUI for iTaSC or sth similar what
makes it easier to configure?

>
> Marcus Liebhardt
>>
>
> Herman
>
>
Thanks to all of you for your input! I have a much better understanding of
ITaSC now. However, I still need to learn a lot more about it! :-)

Cheers,
Marcus

About the iTaSC framework

On 02/08/2012 08:31 AM, Herman Bruyninckx wrote:
> On Wed, 8 Feb 2012, Marcus Liebhardt wrote:
>
>> Hi everybody!
>>
>> I'm trying to get a better understanding of the iTaSC framework to find out,
>> if it would be interesting for our applications.
>> To start of with, I have no experience in working with any real-time tools of
>> OROCOS (only KDL).
>>
>> I'm wondering, if iTaSC is running in a non real-time context (and only the
>> joint controller do) or if the whole system runs in real-time.
>
> There is no dependency on realtime. (The realtime performance will be
> mostly determined by the hardware and OS deployment of your application
> anyway.)
>
>> If the latter is true, would it be possible to run (parts of) the iTaSC
>> framework in non real-time?
>>
>> Furthermore, it would be interesting, if in general only parts of the iTaSC
>> framework could be run. For example, could I use only tasks, the scene and a
>> solver?
>
> As long as you can build an application where all data and events are well
> connected, you are fine.
it can indeed but
this will be harder in practice:
their is a configuration procedure, coded in the FSM's (for templates, look at the scripts directory in the itasc_core package) that should be followed (because there are
ports,... created depending on the itasc_configuration.lua ...)
it is more than 'just' deploying some components and connecting some ports
>
>> I have more specific questions regarding the currently implemented iTaSC
>> solver, which follow in a separate email.
>
> I'm curious! :-)
>
>> Thanks for the information!
>
> What kind of application do you have in mind? Can it be done with the
> current velocity-level solver?

btw, we're organizing an iTaSC workshop on the European Robotics forum in Odense, Denmark on 6 March 2012
http://www.europeanrobotics12.eu/program.aspx
more information will be available soon on:
http://www.orocos.org/wiki/orocos/european-robotics-forum-2012-workshops
>>
>> Marcus Liebhardt
>
> Herman

Nick

About the iTaSC framework

2012/2/8 Dominick Vanthienen <dominick [dot] vanthienen [..] ...>

>
>
> On 02/08/2012 08:31 AM, Herman Bruyninckx wrote:
> > On Wed, 8 Feb 2012, Marcus Liebhardt wrote:
> >
> >> Hi everybody!
> >>
> >> I'm trying to get a better understanding of the iTaSC framework to find
> out,
> >> if it would be interesting for our applications.
> >> To start of with, I have no experience in working with any real-time
> tools of
> >> OROCOS (only KDL).
> >>
> >> I'm wondering, if iTaSC is running in a non real-time context (and only
> the
> >> joint controller do) or if the whole system runs in real-time.
> >
> > There is no dependency on realtime. (The realtime performance will be
> > mostly determined by the hardware and OS deployment of your application
> > anyway.)
> >
> >> If the latter is true, would it be possible to run (parts of) the iTaSC
> >> framework in non real-time?
> >>
> >> Furthermore, it would be interesting, if in general only parts of the
> iTaSC
> >> framework could be run. For example, could I use only tasks, the scene
> and a
> >> solver?
> >
> > As long as you can build an application where all data and events are
> well
> > connected, you are fine.
> it can indeed but
> this will be harder in practice:
> their is a configuration procedure, coded in the FSM's (for templates,
> look at the scripts directory in the itasc_core package) that should be
> followed (because there are
> ports,... created depending on the itasc_configuration.lua ...)
> it is more than 'just' deploying some components and connecting some ports
> >
> >> I have more specific questions regarding the currently implemented iTaSC
> >> solver, which follow in a separate email.
> >
> > I'm curious! :-)
> >
> >> Thanks for the information!
> >
> > What kind of application do you have in mind? Can it be done with the
> > current velocity-level solver?
>
> btw, we're organizing an iTaSC workshop on the European Robotics forum in
> Odense, Denmark on 6 March 2012
> http://www.europeanrobotics12.eu/program.aspx
> more information will be available soon on:
> http://www.orocos.org/wiki/orocos/european-robotics-forum-2012-workshops
>

Interesting topics! Thanks for the info!
Are there any limitations for attendees from outside Europe?

Marcus

> >>
> >> Marcus Liebhardt
> >
> > Herman
>
> Nick
> --
> Orocos-Users mailing list
> Orocos-Users [..] ...
> http://lists.mech.kuleuven.be/mailman/listinfo/orocos-users
>
>
>

About the iTaSC framework

On 02/09/2012 01:44 AM, Marcus Liebhardt wrote:
> 2012/2/8 Dominick Vanthienen <dominick [dot] vanthienen [..] ... dominick [dot] vanthienen [..] ...>>
>
>
>
> On 02/08/2012 08:31 AM, Herman Bruyninckx wrote:
> > On Wed, 8 Feb 2012, Marcus Liebhardt wrote:
> >
> >> Hi everybody!
> >>
> >> I'm trying to get a better understanding of the iTaSC framework to find out,
> >> if it would be interesting for our applications.
> >> To start of with, I have no experience in working with any real-time tools of
> >> OROCOS (only KDL).
> >>
> >> I'm wondering, if iTaSC is running in a non real-time context (and only the
> >> joint controller do) or if the whole system runs in real-time.
> >
> > There is no dependency on realtime. (The realtime performance will be
> > mostly determined by the hardware and OS deployment of your application
> > anyway.)
> >
> >> If the latter is true, would it be possible to run (parts of) the iTaSC
> >> framework in non real-time?
> >>
> >> Furthermore, it would be interesting, if in general only parts of the iTaSC
> >> framework could be run. For example, could I use only tasks, the scene and a
> >> solver?
> >
> > As long as you can build an application where all data and events are well
> > connected, you are fine.
> it can indeed but
> this will be harder in practice:
> their is a configuration procedure, coded in the FSM's (for templates, look at the scripts directory in the itasc_core package) that should be followed (because there are
> ports,... created depending on the itasc_configuration.lua ...)
> it is more than 'just' deploying some components and connecting some ports
> >
> >> I have more specific questions regarding the currently implemented iTaSC
> >> solver, which follow in a separate email.
> >
> > I'm curious! :-)
> >
> >> Thanks for the information!
> >
> > What kind of application do you have in mind? Can it be done with the
> > current velocity-level solver?
>
> btw, we're organizing an iTaSC workshop on the European Robotics forum in Odense, Denmark on 6 March 2012
> http://www.europeanrobotics12.eu/program.aspx
> more information will be available soon on:
> http://www.orocos.org/wiki/orocos/european-robotics-forum-2012-workshops
>
>
> Interesting topics! Thanks for the info!
> Are there any limitations for attendees from outside Europe?
I couldn't find any limitations...
>
> Marcus
>
> >>
> >> Marcus Liebhardt
> >
> > Herman
>
> Nick
> --
> Orocos-Users mailing list
> Orocos-Users [..] ... <mailto:Orocos-Users [..] ...>
> http://lists.mech.kuleuven.be/mailman/listinfo/orocos-users
>
>
>
>
>