Recently we had a game night with some friends of mine. At the start of the night we played the game “Happy Salmon“. It is a very simple game but really energetic. Every player gets a set of cards. Each card resembles an action. The goal is to get rid of your cards as fast as possible. You will have to find another player with the same action and perform it. To find another player you simply shout your action out loud in the open. The actions are either:
High five, players high five each other
Pound it, players fist bumb each other
Switcheroo, players switch places
Happy Salmon, players flip there hands against each other very fast, like two fish splashing.
The following video describes the chaos in my living room when we played the game.
As you can see the game is very energetic. However since we simply threw our cards in the air these would most likely do not hold that long. Therefor, I created my own “Happy Salmon” such that I could simply print out, cut it in pieces, and would not have to worry about cards being destroyed. In the process of creating these cards I also added some more actions. These new actions will make the game more challenging when playing with a large crowd.
The cards background are transparent, meaning that if you simply use colored paper you will nice colored cards. Most pictures are self explaining but nevertheless, the following new actions are defined:
Bro Bump, more or less the same as pound it but only with the knuckles and on shoulder height as in the picture.
Bro Shake, handshake in the air
Pinky Swear, pinky swear with one another
Hug, bit more intimate but should be fun nonetheless
Handshake, seems obvious
Teamspirit, for this action you need three people instead of two. You put each other hands on each other and cheer afterwards, something like, https://www.youtube.com/watch?v=jGmp3zdRLyY
Teamwork, for this action you will need four people instead of the regular two. Simply hold each others arms as shown on the picture.
The cards are simply created in office. Below you can either download the source file or download the original card set or the card set with the new actions. Both files are for one player.
In August I went on holiday to Sri Lanka. During this trip I wanted to do some landscape and long exposure photographing. A tripod is really necessary for the latter. Furthermore, it was also a good excuse to myself to justify the reason to buy a tripod. However, as with any product, there are various on the market and sometimes it is difficult to find the best buy. Each one of them have different features and specifications, such as, expensive versus cheap, light versus heavy, small versus big, et cetera. As with most of the products which I buy I tried to minimize the price but maximize the features. The two most important requirements which I wanted to optimize, besides the cost, were
Minimize the weight of the tripod but ensuring the stability and endurance of the tripod
Maximize the unfolded height of the tripod but minimize the folded height
Based on those criteria you are quickly directed to the tripods which are branded in the market as travel tripods. Below a table with the tripods which I took into consideration.
Minimal height [cm]
Maximal height [cm]
Folded height [cm]
Maximum load [kg]
After balancing the advantages and disadvantages I decided to go for the MeFoto Roadtrip. For several reasons:
For one it had good reviews on the internet, one particular which I liked was the review by Jason in the YouTube video below, which I also recommend too you to watch.
The tripod was not too expensive compared to other tripods.
It had the highest unfolded height
Of all the tripods in the table above it is the heaviest, however, I considered 1.6 [kg] still as lightweight.
Because I wasn’t planning to use the tripod on a daily bases I decided that an tripod of aluminium, instead of a carbon fiber one, would be durable enough
The bar to which the camera is attached has a hook on the bottom to which extra weight can be added to increase the stability of the tripod. Along with the feature that the bar could be mounted upside down, which added to possibility to take photo’s directly at ground level. Were two features which I particularly liked.
Apart from the reasons above the MeFoto Roadtrip had also most of the features which other tripods featured, therefor the decision was made.
If you are ever looking for a reason to buy a tripod consider the following reasons:
a tripod helps when using long exposures, for instance, you will need this when doing astrophotography.
taking time lapses, panoramas, panning and videos become a lot easier since you have great support for your camera.
when using a tripod you actually think a lot more about the framing of your shot, this is because everything takes a bit longer, setting up the tripod, adjusting, et cetera.
self portraits are of a higher quality then when using a selfie stick.
In the previous blog we introduced the various types of signals present in a digital control system and highlighted the pros and cons. In this blog we take a a closer look at the digital control system.
A digital control system, can only cope with digital signals. That is because it is inherently discrete in time and space. This is caused by the processors clock rate and due to the finite word length of a digital system. For instance, a 32 [bit] computer which runs at 4 [GHz] has a time resolution of 0.25 [ns] and the value of an unsigned integer can only range from 0 to 232 − 1.
Figure 1 shows the digital control system in its most elementary form. Herein is the sampler. The sampler converts the analog output signal of the plant at time to a digital measurement signal at discrete-time . As mentioned in the previous blog, the digital signal is obtained by sampling and quantization of the analog signal. In final, denotes the recronstructor, also known as a digital-analog convertor (DAC), it converts the digital control signal provided by the controller to an analog control signal .
Figure 2 shows that the sampler exists out of two devices namely; i) a sample and hold (SH) device and ii) a analog-digtal convertor (ADC).
The SH device knows two different states. The first state is called the track state at which the analog input signal is tracked by the SH device. The track state is also refereed to as sample state. However because of the ambiguous meaning of the word sample we will use the track, which is also commonly used in literature. The second state is called the hold state at which the analog input signal is being kept constant for a short period of time. The hold state is activated when the hold command is given. During the hold state the ADC is able to process and digitize the signal. The hold command can be triggered by any logic device. While there are many more aspects and subtleties to be considered with a SH device this gives a summarized overview of its functionality.
Various different strategies exists at what time instance the hold command is triggered. These are called sampling strategies.
Periodic sampling; the sampling instances are equally spaced, that is to say with and , given in [s], being the sampling period. See also Figure 2(a). The sampling period is often also denoted as the sampling rate or sampling frequency , given in [Hz]. It is related to the sampling period by .
Multi-order sampling; a pattern of sampling instances are repeated periodically, as a result . See Figure 2(b).
Event-based sampling; the sampling instances are generated based on a event in the system. For instance, when a certain measurement threshold has been crossed. See Figure 2(c) in which the signal is sampled at every value.
Random sampling; the sampling time instances are chosen at random, see Figure 2(d).
Periodic sampling is the most common in industry. That is because of several reason; i) most deterministic behavior, ii) extensively been researched, iii) easiest to model and iv) easiest to obtain key performance indicators, for instance, in time- and frequency domain. Finally, proofing stability for the other sampling strategies is much harder then for periodic sampling.
Digital control systems never did get enough attention during my Master System & Control in my opinion. In the various courses which I was taught, continuous-time control systems were always examined, but almost never digital control systems. For most courses this is also perfectly fine. However, you would expect that there would be also a more in-depth course about digital control systems into the curriculum. Especially, since almost all control systems are a digital control system.
I remember a course in which each group had to program a robot to convey pizza’s from one cabinet to another. A group mentioned, during their presentation, that they used a PID controller to control the various axis of the robot. I knew all the groups had designed their control algorithms in the continuous-time domain, therefore I asked; i) what discretization method(s) they had used, ii) if they had check the stability and iii) if they had checked the robustness (phase, gain and modulus margin) of their digital control system with respect to the continuous-time domain controller. Unfortunately none of my questions were answered. This disappointed me and was an acknowledgement of my opinion that not enough attention was given to digital control systems. Since this was one of the last courses given before one started their internship and graduation.
For the above reason, I will do a couple of blogs about digital control systems. I will try to focus on a single topic each blog and keep it clear and easy to understand; “If you can’t explain it simply, you don’t understand it well enough.”. In this first blog I will briefly go into the pros and cons of digital control systems and its analog counterpart. Followed by the introduction of the various type of signals that are present in a digital control system.
Pros and cons of digital control systems
Below is a list of pros and cons for both digital as well as analog control systems. Remark that there might be many more and that some pros or cons are subject to opinion, experience or interpretation.
Robust; do not (often) break down
Continuous processing; no inherent bandwidth limits
Hard to modify; time-consuming, hardware needs to be rebuilt
Flexible; ability to create complicated controllers, easy to modify and fast to develop, less susceptible to aging and environmental variations
Robust; performance or safety can be monitored, errors can be dealt with appropriately
Diagnostics; on-the-fly testing, parameters can be adjusted, measurement signals can be stored
Slow development; difficult to develop accurate designs due to tolerances in components
Complex: difficult to create complicated controllers, also hard to modify, testing alternatives is difficult, hard to build in intelligence, difficult to do multi-input-multi-output control
Discrete; signal might be inaccurate due to finite word length, time delays in control loop, discrete controller, stability might be an issue
Complex; complicated controllers, difficult to obtain a high bandwidth
While analog control systems have considerable disadvantages the flexibility of digital control systems stands-out. The latter made sure that companies adopted digital over their counterpart because it opened multiply doors. For instance, the rapid development of a complex controllers which incorporated optimization algorithms to maximize performance and profit. All created at the tenth of the costs for the same analog control system.
Types of signals in a digital control systems
The main disadvantage of digital control systems is found in the fact that one has to deal with discrete variables instead of continuous ones. Consequently, let us define the different types of signals. A Continuous-time signal is a signal for which every point in the time domain, this can be infinitely, an amplitude is defined. Similarly, a discrete-time signal is a signal for which only a sequence of points in time an amplitude is defined. Note that these points in time do necessarily have to be equidistant. In case it is, the signal has an associated periodic interval. Likewise to the domain, signals may also be continuous or discrete with respect to their range, i.e., amplitude.
Summarized; in general signals can either be continuous or discrete with respect to their domain or range. Herein, the domain is in general time, in case of control systems and the range can be anything; Voltage, Amperes, Newtons, meter per second, et cetera. Figure 1 shows the four possible combinations.
In Figure 1(a) an analog signal is displayed, which is both continuous in time and amplitude. Figure 1(b) shows a sampled signal; continuous in amplitude and discrete in time; Figure 1(c) the quantized signal, discrete in amplitude and continuous in time. Finally Figure 1(d), the digital signal. This signal is both discrete in time and amplitude. Remark: the exact definition of a quantized signal and sampled signal are often ambiguous. Often it is implicitly assumed that a quantized signal is also sampled, e.g., discrete in time. Likewise, the sampled signal is sometimes in explicitly assumed to be quantized as well. Lastly, the digital signal can be obtained by sampling and quantization of the analog signal.
We have read about the pros and con, and defined the different signal types present in a digital control system. Conclusively, I want you to point to the books in the references below, these are the best literature references in this field. I also use them as a reference for these blogs, and will try to point or refer to a chapter or section from the book when addressing a certain topic. In the next blog we will focus on the different system components of a digital control system.
 Levine, William S., ed. “The Control Handbook: Control System Fundamentals”. CRC press, 2010.
 Åström, Karl J., and Björn Wittenmark. “Computer-controlled systems: theory and design”. Courier Corporation, 2013.
 Franklin, Gene F., et al. “Feedback control of dynamic systems”. Vol. 3. Reading, MA: Addison-Wesley, 1994.
 Wittenmark, Björn, Karl Johan Åström, and Karl-Erik Årzén. “Computer control: An overview”. IFAC Professional Brief, 2002.
 Ogata, K. “Discrete-Time Control Systems”. Pearson Education, 1995.
At some point one you will want to keep track of your expenses to gain insight where you can save money. There are many websites and programs which offer insight into your expenses, for instance, YouNeedABudget, MoneyDashboard, GNUCash. However, for following three main reasons I decided to simply create my own expenses spreadsheet using Microsoft Excel.
The programs often have a learning curve and you have to adapt to their way of working.
I wanted to use a tool of which I can be almost certain that it will still exist in +20 years.
Sometimes you will find yourself in the spot in which you want to have insight into some details. But, unfortunately these are not (directly) provided by the tool. Therefor I wanted to be able to program myself to gain insight. However, this still should be fairly simple to do.
Now let me tell you what my spreadsheet provides. Since I wanted to categorize my expenses I created one sheet with categories and subcategories. To keep track of all the transactions, a table was created in which all main transactions details are logged. The table has the following fields: bank account, type of account (saving or payment?), date, type (income or expense?), amount, currency, kind (variabel or fixed?), category, subcategory and remarks. While there is a currency field, it is not used yet. The with main reason for this is because fortunately I do not have to deal with money different currency types. To gain insight into the data from the table, three pivot tables and charts were created. Using the pivot tables and charts, which are semi-interactive, one is able to, for instance, zoom-in in a particular category or time stamp. To finalize, I created a kind of dashboard in which all income and expenses data is summarized per month. First details are displayed about my balance of my payment and savings account. Followed by all the expenses details, sorted by category. Using the outline group functionality one is able to open the category and list the subcategories for that month. For each category and subcategory I show its portion (in percentage) with respect to all expenses, the median per month and the average per month. Using conditional formatting this data is also visualized to give a overview, such that you are able to identify the ratios and relationships quickly. sparklines are being used to show the trend of the expenses through out the year. Concluding, the dashboard sheet makes sure that all the data and details are visible at one glance but still manages to dive into details.
Codenames is played between two teams, red and blue on a set of twenty-five codenames. Each team consists of a single spymaster who knows the secret identity behind each codename, with the remaining players as field operatives who will contact the codenames. On each turn of the game, the spymaster provides a clue to their field operatives. The field operatives will then attempt to contact at least one of their aligned agents based on the codenames clued. The first team to activate all of their agents wins the game!
Codenames is an interesting game since it can be adapted to a variaty of themes. For instance, it can be themed to Harry Potter. As such it is also a very good game to be played with children. Therefor, I created an excel file(Update 2017-04-30: I updated and added two additional word lists to the file; i) the official word list and ii) an extensive noun word list. Download here) from the original game which includes all the necessary items for the basic game:
Codenames (two categories, general and Harry Potter)
You can print these on sheets of paper and cut them out. Now follows a set of detailed instructions for playing the game.
Players are divided into two teams, Red and Blue. Each team consists of one spymaster, with the remaining players as field operatives. All players observe a set of twenty-five words, representing codenames for agents aligned with each team. While field operatives do not observe the identities of each of the codenames, the spymasters each get to see the identity of all codenames on the map card.
There are four different agent identities: red agent, blue agent, bystander, and assassin. One of the teams will have nine of their-colored agents in the set of codenames, while the other team will have eight agents. The team with nine agents will take the starting turn in the game. Among the eight codenames not aligned with either team, there are seven Bystanders and one Assassin. Effects for contacting these agents are described in the following section.
On a team’s turn, their spymaster must start by providing their field operatives with a clue for the identities for their own agents. A clue consists of a single word and a number. The word should be related to the codenames that are aligned with the acting spymaster’s team, while the number represents how many codenames are related to the clue word. Further guidelines, including two special number rules, follow in the section below.
Once a clue has been given, the field operatives are free to discuss which codename(s) should be contacted. When the field operatives have decided on a guess, they may register their guess by touching the codename. The host or spymaster will reveal the identity of the codename by putting an identity card (Red Agent, Blue Agent, Bystander or Assasin) on top of it.
If the revealed agent is of the same team as the operatives, then they may continue making guesses. A maximum number of guesses may be made equal to the number given in the spymaster’s clue, plus one. Alternatively, the field operatives may pass to end their turn, so long as they have made at least one guess already on their turn. If the revealed agent is not of the same team, then the turn ends. In the special case that the assassin was revealed, then the team that performed the reveal immediately loses the game.
Spymaster Clue Guidelines
Spymaster clues consist of a single word and a number, with the following guidelines:
Words must be related to the meaning of the codenames being clued.
The number following the word cannot be used as a clue itself.
Clues may not include codenames or related forms of codenames. For compound codenames, this includes the constituent words that comprise the compound word. Once a codename has been guessed, it can be used in clues.
Overall, be reasonable about rules; spymasters may consult with their opposing spymaster and the host for the validity of a clue. If an invalid clue is provided, then the turn immediately ends and the opposing spymaster may declare an agent of their own color before making their own clue.
Spymasters have two special options for numbers associated with their clue words. First, spymasters may declare zero (0) as their clue, suggesting that none of the codenames are related to their declared word. In the case that zero is declared, the field operatives do not have a limit to the number of guesses that they may make before passing. The second special option is to declare “unlimited” as their clue, suggesting at least one codename is related to the declared word. As with zero, the number of guesses that may be made by field operatives before passing is unlimited.
The United States navy developed in the 1950’s a program evaluation research task (PERT). It was designed to analyze the duration of a project and the tasks within the project. Each task in the project is given the following properties:
Name of the task
Predecessor, the list of tasks that have to be completed before the task can start.
The amount of time it will take for a task to be finished.
The duration of a task is often not fixed. It can vary between a minimum and maximum. The PERT distribution was created to give a good estimate of what the probability is of the duration of a task. It uses the same three parameters as the Triangular distribution, namely, the minimum (), the most likely () and the maximum (). The probability density function (PDF) is given by
being the mean.
An additional shape parameter might be added, in which case we are dealing with the modified PERT (MPERT) distribution. The parameter influences the peakness of the distribution. The only difference with PERT is the definition of and . These are namely defined as:
I created some Matlab code which includes functions for the PDF, the (inverse) cumulative distribution function (CDF). The inverse CDF is important for when you want to generate random numbers. The code can be download from here.
Finally, below is an interactive example of the PDF of PERT (blue) and MPERT (red) distribution.
During and after my Master thesis I authored and co-authored three articles. Two for a scientific journals (IEEE) and one for a Dutch professional magazine (Mechatronica & Machinebouw). While it took me a lot of time writing these articles and I do think that the current publish or perfish system is completly wrong – can write a whole blog about this or maybe read this article – I am glad I took up the challenge to write them next to my thesis.
Writing a scientific article is completely different compared to writing your thesis. For your thesis you have numerous pages to explain your story for a scientific article you only have a few. As a result, you will have to be very precise in your writing and choose the words carefully. It has to be very clear, precise and short. This can be very challenging when your story touches a lot of subjects from different fields. Angel Borja wrote a three articles on writing your article and I would like to share these with you:
Finally, without further ado, the three articles I have written.
Frequency-domain analysis of real-time and networked control systems with stochastic delays and data drops
Abstract—We present a novel frequency-domain analysis framework for a closed-loop model capturing a wide range of real-time and networked control systems with stochastic delays and packet drops. Our results allow for inferring the mean and variance of the output response to deterministic inputs, based on a new frequency response plot. We illustrate the usefulness of our results in the context of real-time control systems with input-to-output delays resulting from the use of a shared processor.
Keywords—Frequency-domain analysis, networked control systems, real-time systems, stochastic systems, data losses, delays
The impact of deadline misses on the control performance of high-end motion control systems
Abstract—In high-end motion control systems the real-time computational platform must execute tasks from multiple control loops operating at high sampling rates. In recent years traditional special-purpose platforms have been replaced by general purpose multi-processor platforms, which introduce significant fluctuations in execution times. While considering worst-case execution times would severely reduce the sampling rates, accepting deadline misses and assuring that the control system still meets the desired specifications is challenging. In this paper, we provide a framework to model and assert the impact of deadline misses in a real-time control loop. We consider stochastic models for deadline misses and characterize the mean and the variance of closed-loop output variables based on a time-domain analysis. We illustrate the usefulness of our framework in the control of a benchmark motion control experimental setup and in the control of a wafer stage in a lithographic machine.
Keywords—Deadline misses, data losses, packet drops, performance analysis, stochastic analysis, industrial case study, hybrid systems, cyber-physical systems, real-time systems
Smarter balancing between performance and costs in control systems
Abstract—In order to ensure the performance of control systems, the digital platforms on which they are executed are often over-dimensioned, which are unnecessary costly. State-of-the-art model based techniques make it possible to create cheaper control systems, without performance degradation.
Keywords—Deadline misses, data losses, packet drops, performance analysis, stochastic analysis, industrial case study, hybrid systems, cyber-physical systems, real-time systems
A few weeks ago I saw the following tweet by Bo Marit. I really liked how the quote and the symbol reference stand out in front of the text in the frame. Since, I liked them so much I decided to be a copy-cat. However, I added also another frame with a reference to Game of Thrones.
The font that she uses for the quote is called Darleston. It is a really elegant calligraphic font created by Youssef Habchi. For the book page text I used Garamond, a standard font on most computers. I chose this font because it has an oldish style to it. While this could easily be created in Photoshop or any other graphics editor, I simply recreated it with Microsoft Word, which is maybe even easier! I simply created a two column layout, added two textboxes for the quotes and the symbol image. You can download the word file here (note: you will need the fonts Darleston and Garamond) or a pdf file here. As an frame I would recommend a simple wooden frame as Bo Marit uses, I think it gives adds elegance and makes it look more humble. Furthermore, I would not use regular A4 paper to print this on. I searched for the same type of paper you often see used in books. Most likely you will find this type of paper in your local hobby store.
Finally, my result:
I plan the hang the Harry Potter frame near to a light switch, the Lord of the Rings frame near to the clock and the Game of Thrones frame near to the thermostat.