Using ChatGPT and Qt for Fun and Profit

2 minutes read
Welcome to today's blog post, where we'll be exploring the exciting possibilities of using the ChatGPT API in combination with Qt and QML to create chatbots and AI assistants. OpenAI recently released the ChatGPT API, which is a large language model that provides a chat interface that can be used to create custom applications, chatbots, and more. This post is ...

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. DISCLAIMER: This article was posted end of 2018. Things have changed since then and I decided against using the Up Squared for my project because I couldn't get the RT latency to a reasonable level with this hardware. Please don't take ...

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 ...