# Exam summary: Robot Dynamics

In the autumn semester of 2018 I took the course Robot Dynamics. The summary I took with me to the exam is available here in PDF format as well as in LaTeX format. Here’s an overview of the topics the course covered: Kinematics Rotation and angular velocity Rigid Body Formulation Homogeneous transformations Kinematics of systems

# Exam summary: Dynamic Programming and Optimal Control

In the autumn semester of 2018 I took the course Dynamic Programming and Optimal Control. The summary I took with me to the exam is available here in PDF format as well as in LaTeX format. Here’s an overview of the topics the course covered: Introduction to Dynamic Programming Problem statement Open-loop and Closed-loop control

# LaTex template: exam summary

At ETH, many courses offer the possibility of taking a summary with you to the exam. This is usually restricted in size and some times must even be handwritten. I have always preferred writing them in digital format, mainly because it gives me the flexibility to rewrite, add or remove parts if I realise I’m

# The Hough transform

In image analysis, we often may want to detect lines in an image. This is useful for many things, including segmentation, tracking, etc. The Hough transform goes a step beyond a traditional edge detector, giving us mathematical expressions for lines in the image.

# Analytical vs. Geometric Jacobians

When learning about robotics, and specifically kinematics or dynamics of robots, Jacobians are a very common concept. However, I was always confused as to the difference between analytical and geometric Jacobian. When I finally figured it out, it helped to put it in words.

# Working with the Euler high-performance cluster

As an ETH student you get access to the Euler supercomputing cluster. Inaugurated in 2014 and hosted at CSCS in Lugano, Euler is a computer cluster dedicated for use by researchers and students alike. Courses like High-Performance Computing for Science and Engineering use it to allow students to practice the principles of working with a

# How-to: local WordPress development

This article summarizes how I set myself up to develop WordPress websites locally – that is, on my computer with a LAMP (Linux, Apache, MySQL, PHP) stack. This way I can do all the work I want without fear of exposing the site to potential attackers if I break something. There are three components to

# Setting up for local development of a website

A very popular choice when setting up an Internet development environment is the LAMP stack. LAMP stands for Linux, Apache, MySQL and PHP. Combining these four software packages makes for a solid and completely open-source base to develop websites and Internet applications on your own computer before publishing them online. Step 0: Linux I am

# Adding C++ auto-completion to Vim

I recently started using Vim as my main editor for programming. After the initial learning curve, I really started enjoying it, however, there’s some things I really miss from more traditional IDEs. Two of these are auto-completion and semantic “tips”. Auto-completion allows the developer to type only part of a function or attribute name, and

# Using CMake to set preprocessor directives

Preprocessor flags C++ preprocessor directives are useful for many things. One use is to set flags from the command line in order to compile the program in different ways. For instance, we could have a DEBUG flag which, if set, gives us some extra feedback useful for debugging: int main() { // Do some stuff…