Projects
During the last 30 years, I have worked on so many projects that it is not feasible to describe all of them. Here are some particularly interesting examples.
- Wireless user interface for industrial measurement equipment
- Web application for data mining
- Software integration for a badminton robot
- Data structure for hardware synthesis tools
Wireless user interface for industrial measurement equipment
An industrial measurement device with a classical touch screen on the device itself needed to be upgraded with a modern wireless controller.
My first contribution was the idea to use a standard tablet or smartphone over Wifi to connect to a web application on the device itself. This made the operation independent of the device selected as a controller.
Implementation was based on a Raspberry Pi that communicates with the existing PLC of the measurement device over MODBUS. The Raspberry Pi creates a secure wireless access point and runs a webserver with a custom user interface to control the device.
The whole system was designed and built in less than two months.
Software integration for a badminton robot
At FMTC, you can find the world's only badminton robot (see film). With this project, FMTC wants to demonstrate its expertise in the domain of mechatronics (automation) and at the same time gain more visibility with the general public.
The control software of the badminton robot is distributed over three computers with different operating systems (Linux + Xenomai, Labview, Windows) and interacts in real time with motors, cameras and other sensors. An important part of the software consists of controllers generated from Matlab and Simulink.
My task was to make sure that the generated controllers communicated correctly with each other and with the hardware. Challenges included time synchronization to sub-millisecond accuracy over the network and automatic detection of errors or abnormal situations. I have also created a graphical user interface to control the operation of the robot.
The badminton robot has been repeatedly and succesfully demonstrated, for companies as well as for the general public. At this moment, I am involved in the implementation of the second version of this robot.
Web application for data mining
The customer for this project builds innovative software for sales and marketing of a specific product. By employing new techniques for data mining, their software can become even more powerful. However, starting from theory, it is not trivial to determine how these techniques are best applied in the given specific context.
For this reason, I developed a prototype application to apply data mining to their data. This application runs in a browser and allows them to gain experience with this technique without acquiring a technical background in data mining, and to find the best way to apply it to marketing.
The challenge of this project was to understand this data mining technique and build a working prototype in a short time. The prototype had to be usable for someone without technical background in data mining. For this project, I used web techniques such as CGI, Javascript, jQuery, Ajax and Raphaël as well as open source code such as Apache and R.
At this moment, the prototype is under evaluation by the customer.
Redesign of the internal data structure for hardware synthesis tools
During the nineties, EDC was part of Mentor Graphics and developed software to semi-automatically synthesize hardware from a description of an application in a programming language (first DFL, later C). This development was based on prototype software from IMEC and Philips. This was very complex software, and the prototypes left a lot to be desired in terms of quality.
At that time, I developed a new internal data structure. For a stable implementation of high quality, I made use of techniques that were then not as well known as today: object orientation, pre- and postconditions and invariants in C++. Since then, this data structure has been used as the foundation for these tools, and it is still in use today.