Machinekit ROS controlling an industrial robot

Machinekit ROS controlling an industrial robot

5 minutes read
In a previous article, I explained how Machinekit and ROS could be combined to build fully autonomous robots. In this article, I focus on my project of retro-fitting an industrial robot arm with Machinekit and using it with ROS. The combination of ROS and Machinekit leverages the low-level real-time motion control capabilities of Machinekit and the high-level robotic tools that ...

Up Squared PREEMPT_RT

Compiling an RT Kernel for the Up Squared

3 minutes read
In this blog post, you will learn how to compile a PREEMPT_RT kernel for the Up Squared (Up2) board. Up Squared The Up2 is an x86 Intel Apollo Lake-based mini-computer. Features such a quad-core CPU, dual Ethernet, a PCI-Express mini port and a Raspberry Pi compatible pin header make this board very attractive for high-end RT-Linux applications. I was looking ...

A robot, ROS logo and pytest logo

Testing ROS powered Robots with pytest

3 minutes read
In this article, you will learn how to use Pytest to successfully test ROS powered robots. In particular I explain how to employ pytest for testing ROS nodes. Introduction ROS, the Robot Operating System, which is actually no operating system but a middleware plus a huge number of tools to build a distributed system, comes with excellent Python bindings. ROS ...

Rendering to a monochrome OLED display with QML

4 minutes read
Rendering to a monochrome OLED display with QML In this blog post, you will learn how to write QtQuick applications for an OLED display without modifying the Linux kernel. My testing system is an SSD1306 based 128x64 monochrome OLED display connected via I2C to the CHIP single board computer. Motivation I recently came across a post on the Qt Blog ...

Machinetalk explained Part 5: Code Generation

10 minutes read
This blog post is part 5 of the Machinetalk explained series describing the concepts and ideas behind the Machinetalk middleware. In this section, I describe the part of Machinetalk which probably needs most explanation. What I'm talking about is Machinetalk GSL - language bindings for Machinetalk using code generation. But before we delve deep into code generation and meta-programming I ...

Machinetalk explained Part 4: HAL Remote

6 minutes read
This blog post is part 4 of the Machinetalk explained series describing the concepts and ideas behind the Machinetalk middleware. This part is about HAL remote, the remote interface to the Machinekit hardware abstraction layer HAL. In this blog post, I do not only describe the HAL remote API, but I also explain the communication details of Machinetalk with the ...

Machinetalk explained Part 3: Technologies

7 minutes read
This blog post is a continuation of my Machinetalk explained series describing the concepts and ideas behind the Machinetalk middleware. This part is about the technologies and building blocks of Machinetalk ZeroMQ, Protobuf and DNS-SD over mDNS. The previous parts are: Part 1: Introduction Part 2: Middleware Requirements Part 4: HAL Remote Part 5: Code Generation Message Transport - ZeroMQ ...

Machinetalk explained Part 2: Middleware Requirements

6 minutes read
This blog post is a continuation of my Machinetalk explained series describing the concepts and ideas behind the Machinetalk middleware. This part is about the requirements of the Machinetalk middleware and their fulfillment through the used technologies. To understand the concepts outlined in this article I recommend you first to read Part 1: Introduction before continuing reading this article. If ...