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.
</p> <hr width="100%" size="2" /> <p>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.