Mechanical Informatics

Mechanical informatics refers to the information technologies to achieve efficiency, effectiveness, and reliability in the mechanical environment. The mechanical informatics researches in SS lab have been conducted focusing on the automation and motion control systems.

Major areas include:

  • System software for networked motor drive: real-time kernel, drive task design and analysis, and EtherCAT communication support.
  • Motion controller software
  • PLCopen & IEC 61131-3
  • OPC Unified Architecture and gateway
  • Industrial HMI (Human Machine Interface) using web service
  • ROS (robot operating system) and simulation

Current Projects:

  • “초정밀 웨이퍼 절단을 위한 저진동 고속 스테이지 개발”, 산업통상자원부, 2021.07 ~
  • “20um급 smart factory 정밀이송장치(LMS)를 위한 제어기 소프트웨어 및 시뮬레이션 기술 개발”, 중기벤처부, 2019.06 ~2020.05.

Janus – multi-purpose motion controller software

Janus is an integrated system software for precision motion programming and real-time control. It supports both RS-272 (g-code) and PMAC programming systems. Based on the EtherCAT and real-time kernel (RTAI or Xenomai) technologies, the software-based motion controller can perform feedback control over servo drives only with a few us of jitter at 10kHz frequency. For CNC applications, it includes g-code interpreter, real-time motion planning with look-ahead, and ladder-based PLC. And, for general motion applications, it has PMAC interpreter and online command shell. The enhanced HAL (Hardware Abstraction Layer) architecture guarantees hard real-time performance and facilitates adding new device and communication support. 

EtherCAT motor drive software

In cooperation with Prof. T. Kim (U. of Seoul) and Prof. K. Kim (Soongsil U.)

For the development of a precision motor drive, we have to cope with challenges in software design: “how to bound the end-to-end delay from message release to motor actuation” and “how to integrate all the control loops so that responsiveness is maximized”. Our main contributions are (a) restructuring of drive software into a multi-task model, (b) period synthesis for minimized cycle time, and (c) stochastic analysis of end-to-end delay.


For flexibility and better analyzability, a proprietary real-time kernel has been developed to realize a multi-tasked software in the resource-constrained drive hardware, i.e., with a DSP of 60 MIPS and 128 KB of memory. The kernel has only 7KB of memory footprint and 3 us of interrupt latency. Based on this, the legacy big-loop style drive software has been restructured into a multi-tasked one and EtherCAT slave function has been added. For minimized controller cycle, task periods have been synthesized. Using stochastic response time analysis, we could successfully find the task periods that maximize the processor utilisation while the deadline miss probabilities are less than the given thresholds. The developed software is currently in use in a commercial servo drive.

PLCopen OPC Unified Architecture

OPC Unified Architecture (UA) is a communication technology for secure, reliable and interoperable transport of information in control and automation environment. PLCopen OPC UA maps the IEC 61131-3 software model to the OPC UA information model. Based on the Beremiz PLC framework, the PLCopen OPC UA functions are implemented and evaluated.



In cooperation with Prof. T. Kim (U. of Seoul)

EtherCAT, a real-time Ethernet for industrial communication is gaining attraction in various automation applications. For precision motion control, EtherCAT-based PLC offers tremendous advantages over traditional analog-link-based centralised systems.


For our study, a software-based EtherCAT PLC has been developed solely using open source software solutions: Xenomai-patched Linux, IgH EtherCAT protocol stack, and Beremiz. This facilitates a highly synchronized control process, whereby the Xenomai kernel significantly reduces the deviation of controller delay, while EtherCAT enhances the predictability of the message and clock events through its almost deterministic message relaying and precisely synchronized clock.

ethercat_plcIn Beremiz, we implemented the EtherCAT plugin and integrated the EtherCAT stack via the plugin interface. The plugin is mainly composed of two types of classes, each representing the profiles of the controller and slave devices. We also implemented a C wrapper API to the EtherCAT stack. The class definitions together with the EtherCAT API are used by the IEC compiler for the generation of runtime codes. When a new program has been configured to use EtherCAT, the plugin support module imports information on the slave profile and the EtherCAT API from the plugin definition. Using a realistic motion control workload, the performance of the developed system has been extensively evaluated. It was seen that the controller could successfully operate tens of drives in position or velocity mode with a cycle time of 0.5 ms. The supported hardware  includes Freescale i.MX6 and Altera Cyclone V as well as industrial PC.