On 22 Oct 2002 [email protected] wrote:
[...]
> > And there will be the source code, of course :-)
>
> Yippee. I was supposed to be releasing some robot code and Free hardware that
> runs on top of RTAI and makes your robot look (more) like part of
> Unix. However, I'm not sure (a) of the level of interest, and (b) of
> whether I can make it OROCOS-compatible. Is there any code more recent
> than 0.0.2/0.1.0?
>
Not really in tarball form :-( But we are working very hard to release
a version before the November meeting. Don't hold your breath though!
This new version should be the first one which is really useable in a
robotic system, but will still be missing important features.
I am completely for an open development method, but I learned (a bit to
my own surprise) that making a _coherent_ framework is very tough to
do in a distributed, piece-wise, incremental way... All things are so
terribly coupled, from a project management perspective, at least.
_NOT_ from a software engineering perspective, because that sort of
loose coupling is exactly one of our major design goals :-)
An example? Reporting. How does one introduce a reporting system that
works with every kind op object and component in the whole system?
That can be reconfigured at run-time but is still efficient and hard
to abuse. The coupling comes from the fact that all components and
objects must be ready to be reported. So accepting bits and pieces
from various contriutors simply will not work, because they will lack
the coherence of a "centrally engineered" design.
(PS Reporting = collecting information about the current "state" of the
framework's component, objects and the application, and send them to
the user's ``outside world'').
Another lesson (which I haven't learned because I was already aware of
it before I started with the project) is that one gets tremendously
few feedback and contributions at the early stages of a project.
People only begin to bother or to think about suggestions once you can
give them something concrete to play with. And I realise very well that
we have not yet reached that state :-) That's also the reason why the
external financing (by the EU and some companies) is very much
appreciated, and very much a necessary condition, in order to bring a
significant innovation in an open source fashion. (At least I hope
Orocos will bring some innovation :-)
The Bazaar only begins to work once there are enough shops there that
people find interesting...
The "innovations" we think the project brings (in the long term) are:
- the "codel" approach to task execution and monitoring (existed in
LAAS already, but is now re-engineered and generalized to all levels
of the control).
- the "software patterns" for robot control. Which is also generalised
to cover _all_ control and signal processing applications.
- the high distributability and scalability. An important part of this
is achieved because source code is available. But an even more
important part (I think) comes from the design, that explicitly
contains lots of well-defined and documented "cut points" that are
natural candidates for distribution and/or scaling.
But also the software pattern is important: it proves that the whole
functionality can be configured to run in one single interrupt
routine or even without an operating system (if you like). And it
puts structure into the whole control design, which allows for lots of
efficiency optimizations without compromising flexibility. (The
event handling system is the basis of this efficiency, and of the
very small OS dependencies.)
- loose coupling, as our holy grail of component and object design.
- flexibility in motion/trajectory generation, allowing a decoupling
between setpoint generation ("feedforward") and setpoint control.
- a kinematics and dynamics library, that covers _all_ possible lumped
parameters systems (also from non-mechanical domains), of any
topology and complexity.
- a design that is ready to be encapsulated in a CORBA standard for
control.
Hopefully these statements are sufficiently bold to generate some
discussion on the mailinglist :-) And sufficiently stimulating also to
invite people to attend the November meeting :-)
Herman
--
K.U.Leuven, Mechanical Engineering, Robotics Research Group
<http://people.mech.kuleuven.ac.be/~bruyninc> Tel: +32 16 322480
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.