Re: Configuration: a service needed in OROCOS

Christian Schlegel <[email protected]>
Newsgroups gmane.science.robotics.orocos.user
Organization FAW Ulm
Message-ID <[email protected]>
Herman Bruyninckx wrote:

> On Fri, 6 Apr 2001, Christian Schlegel wrote:
>
> I completely follow your reasoning ! However, in the past I have tried
> and sat down with a couple of people in our lab to come up with this
> configuration specification for the motion control part of a general
> robot controller; we didn't succeed in obtaining a concrete
> specification.... Do you have more concrete suggestions in this
> particular area? Or, in another relevant area of robotics: the task
> execution?

Yes, the task execution (or how we call it: sequencing layer) was the reason
to deeper examine this topic and we ended up with a pragmatic but
nevertheless very useful specification.

>
> Or do you have a design document draft you would like to post for
> discussion? (I can put it on the WWW, or just provide a link.)
>
> My rough ideas:
> - a motion controller has different subtasks (`threads''), such as:
>   user command interpretation, trajectory generation, servo control,
>   signal filtering, etc. Modelling this by means of a FSM is not so
>   easy, except for the most trivial cases such as for single axis
>   CNC machining.
> - there is an existing analogous world which has already 50 years of
>   experience with similar problems: the operating system of a computer.
>   However, I fear the analogy doesn't run deep enough in order to be
>   really useful...

I can provide a draft document which describes our configuration class. Give
me some more time but I will post it next week.

A short answer:

The idea is not to have a finite state automaton to handle the complete
module acitivity but to provide a framework. This means different threads
within a module can run as long as a macroscopic state like "active" is
given. Several substates which can be activated in parallel under the main
state "active" might be "build long term map", "build actual map" etc. Each
map is built within a different thread which runs as long as the
main/substate is set appropriately. Changing from main state "active" to
"deactivated" results in an ordered termination of the concerned threads.
After this has been done successfully, the configuration class can
acknowledge the requested state "deactivated". In this framework it is up to
the user what he is doing within his threads and how the threads interact
via a factory model, a command queue or semaphores. But it is the task of
the configuration class to enforce reaching different global states within a
module regardless in which state a thread is (for example waiting in a
blocking query).

Christian


--

---------------------------------------------------------------------
Christian Schlegel
FAW Ulm (Research Institute for Applied Knowledge Processing)
PO Box 2060
D-89010 Ulm
Germany

Tel. : ++49 (731) 501 8949
Fax  : ++49 (731) 501 999
email: [email protected]
WWW  : http://www.faw.uni-ulm.de/
---------------------------------------------------------------------
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.