EMC Fest 2004
Summary of EMC Fest 2004
Again this year, the EMC crowd collected
around the NAMES model engineering show.
After the show closed on Sunday, we
migrated to Ann Arbor for an informal
dinner at Webers Inn.
After dinner the annual users group
business meeting held in the Atrium of
the Best Western. After nominations, the
group re-elected Matt as fearless leader
for another year.
The following Monday the annual EMC
general meeting was held in a conference
room at the Webers Inn and Conference
Center in Ann Arbor, Michigan about half
an hour from the NAMES show arena. The
meeting ran all day and lunch was
served. Attendance was good with over
twenty people present. Those in
attendance for the meeting, or later at
the Fest included (in alphabetical order
by last name): Kerry Ballard from Smithy
Co., Brian Clark, Paul Corner who
created the BDI disks, Chris Daniel, Jon
Elson of Pico Systems (and wife Cindy),
Dave Engvall, Graham Fiorani of TARDEC-US
Army, Thomas Fritz, Tom Hubin, Ray Henry
our resident evangelist, Mike Joyce of
Sherline, John Kasunich who created the
Hardware Abstraction Layer, Eric Keller,
Paul Muench of TARDEC- US Army, Joe
Petsche of MDSI, Tom Powderly, Fred
Proctor of NIST, Brian Register of MDSI,
Matt Shaver our favorite volunteer for
"President of EMC", Steve
Stallings of PMDX, and Pablo Valbuena
from Spain.
Matt Shaver (our nominal president)
opened the meeting and laid out our
agenda for the day.
Ray Henry was our first presenter and
fulfilled his role as our EMC evangelist
by giving us a brief history,
motivation, and suggestions for the path
forward. (More history information is
being added to the LinuxCNC.org web
page)
Ray talked about the philosophy and
future of EMC. The development of EMC
was done in an open source environment
and its future development will be
moderated and encouraged by the open
source concept. The open source
environment allows the evolution of many
less than complete ideas into a whole
that seems to be greater than the sum of
its parts. In essence, this is how the
web came to be dominant over better
planned environments like Compuserve and
AOL (before it too became web-centric).
For evolution of EMC to produce similar
results, it must continue to be open and
needs to become more easily modified.
Ray also suggested that the EMC
community needed to move toward more
organizational structure to manage and
promote its development.
The next presentation was from Dave
Engval who discussed real world methods
and results in tuning servos on his
milling machines. Dave explained his
early results with linear encoders that
proved unsuitable because of the
backlash in the mechanical system. He
subsequently converted to rotary
encoders on the motor and proceeded to
create a servo control that runs
successfully.
He demonstrated how to use the logging
tools in EMC to capture data for making
tuning decisions. Next he discussed how
his tuning decisions were made based on
the captured data. His conclusions were
that the Feed Forward terms of the
control loop were the most effective in
tuning a servo on machine tools. He
demonstrated the effect of adjusting the
FF1, FF2, Proportional, and Derivative
terms. The Integral term turns out to be
of relatively little use on a machine
tool.
Next Fred Proctor presented the results
of a NIST project to characterize timing
jitter in real time systems on a PC.
This applies to many situations, but is
of particular interest with respect to
generating step pulses for CNC machine
control. He discussed impact of
different real time event scheduling
methods and of processor architecture on
the timing of interrupts.
Paul Corner talked briefly about
compiling EMC and how the various tools
interact. He discussed automake tools as
a possible solution to the dilemma of
supporting multiple Linux kernel
versions. Due to time constraints Paul
agreed to hold the detailed discussions
for the EMC Fest on Tuesday and
Wednesday.
John Kasunich gave us an overview and
description of the HAL (hardware
abstraction layer) being developed for
EMC2. A great deal of work has gone into
this development and it shows in the
organization of the interfaces and code.
There was discussion of some of the
implementation details. This was
followed by an impressive show of what
the HAL can accomplish. John
demonstrated HAL using several motors,
handwheels, and other devices. Using the
HAL tools it was possible to quickly
connect an encoder to a PID loop, to
step pulse generator, to a parallel port
and produce coupled movement. Modules
for a “scope” were also connected so
the status of the HAL “signals”
could be monitored.
Our reserved time for the meeting room
ran out at 6PM and we were still going
at it. Many interested parties adjourned
to atrium at the Best Western where the
majority of the attendees were staying.
The atrium offered us an open area with
tables and the hotel offered catering,
so we ordered a large platter and
continued our discussions into the
evening.
This session focused more on the future
of EMC. Matt Shaver was once again “elected”
to be our “president”. No other
positions were elected, but we all
assume the Ray Henry will continue to be
our resident “EMC evangelist”.
Ray brought up the issue of having a
more formal governance structure. He was
concerned that his personal efforts
might be perceived by some as official
acts of some sort of organization. He
was hoping that some more formal
organization could be created, and would
designate people to be in a position to
speak for it. This could become
especially important as commercial
outfits become more involved with EMC.
Much discussion about open source
philosophy and organizational
bureaucracy ensued. Most of those
present did not welcome the possibility
of a formal organization with a
membership structure and rules. At the
same time the idea of having some person
or persons able to act as a focal point
and to nominally speak for the EMC
community was acceptable to most. A show
of hands resulted in a motion to create
a “board” of five people to
represent EMC. No official organization
would be created and no funds could be
held in the name of the EMC community.
Members of the board would try to
provide a cohesiveness to guide EMC and
represent EMC to the wider community. A
formal vote by the governing board would
be considered to represent the
community. Members of the board could
privately engage in EMC related
activities (including commercial
liaisons) but would not represent the
EMC community when doing so.
Representatives from commercial users of
EMC would be permitted to serve on the
board if elected. The issue of how to
conduct an election from a community
with no rules of organization or
membership was not resolved. Various
proposals for using the EMC mailing list
were advanced and this seems the most
likely avenue to proceed.
Additional discussion of how other open
source software efforts govern
themselves was raised. Examples of large
formal organizations exist, but no model
similar to EMC was apparent.
The issue of “public domain” versus
GPL was discussed again. For now it
appears that new code being added to the
archives is being GPLed by it authors
and the status of legacy code remains up
in the air.
The evening session dwindled as people
had to consider getting a few hours of
sleep before the EMC Fest sessions at
Smithy the next day.
The folks at Smithy turned out to be
excellent hosts. The provided us with a
half dozen tables in their demo room,
high speed internet connection, and
coffee, sodas, Danish, and fresh fruit
to snack on. It took most of the day to
get our machines and network set up. The
balance of the day was spent helping
various users get development
environments established on their
machines and working on some of the
flaws in EMC.
On Tuesday, improvements to EMC’s
handling of backlash, homing, and
angular movement were made. The
hoped-for attempt to integrate a
fledging version of EMC2 was still a bit
out of our reach.
On Wednesday we had a few brief
presentations. Fred Proctor told us more
about NIST’s mission and role in the
future of EMC. He then gave us a
breakdown of how control flow in the EMC
software occurs. Understanding of this
control flow is essential to getting
EMC2 running and to further developments
of new human interfaces and add on
controls.
Paul Corner then attempted to educate
the assembled masses with the basic
concepts of using the CVS system at the
SourceForge. We are hoping that EMC2
will open up development by many more
users and CVS is a critical part of
organizing the code updates so that the
whole community benefits from everyone’s
efforts.
----------------------------------------------------
Author’s notes:
Chronology is muddled in my mind and I
likely forgot many things. Please feel
free to comment or add to what I have
said.
I left shortly after noon on Wednesday
and do not know about the afternoon’s
activities.
For questions about
EMC and integration with Linux, please
see our mailing
lists
For
comments or questions about this web
site, please see our contact
info
[ Return to
Home ]