Re: patent on O_ATOMICLOOKUP [Re: [PATCH] loopable tmpfs (2.4.17)]

Erik Andersen (andersen@codepoet.org)
Sat, 25 May 2002 18:48:53 -0600


On Sun May 26, 2002 at 12:58:27AM +0200, Robert Schwebel wrote:
> On Sat, May 25, 2002 at 10:22:00AM -0700, Linus Torvalds wrote:
> > So you split your problem into the RT device driver and the user. And of
> > story.
>
> Not possible with closed loop applications.

Indeed. For example -- suppose I have an application that is driving a
robot. My application needs to calculate the target values for
each joint position in such that I can plot out the jerk,
acceleration, velocity, and position in cartesian space of a tool
moving in joint space (i.e. lots of 4x4 matrix multiplications,
often involving a full 3D model of the workcell) And I need to
send each new set of target values to the controller at the servo
rate or the robot will stutter.

But if only it were that easy... Since the target values we are
talking about is actually just the amount of current being sent
to the servo motors. So also at the servo rate, I must read the
encoders for each joint to get its actual position (as opposed to
nominal postition) and feed that into a control routine
(typically using a PID routine using PID gains that vary
non-linearly per arm position, intertial loading, phase of the
moon, etc) which then varies the actual per-axis servo motor
current to make the cartesian-space path of the tool match the
nominal path.

So now we have a full 3D model of the robot, the non-liner model
of the robot PID-gain space, the entire (application specific)
workcell model, the robot specific forward and inverse kinematics
routines, and the entire trajectory planning subsystem. And of
course we now need the real-time IO subsystem to handle are the
thousands of this-and-that sensors (think PLC-type behavior).
etc, etc, etc. All this in the kernel? Nah...

-Erik

--
Erik B. Andersen             http://codepoet-consulting.com/
--This message was written using 73% post-consumer electrons--
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/