STM32 CAN Identifier Filtering

Introduction

This is a rather specific post that is motivated by the rather unintuitive use of Identifier filtering on an STM32Fxx CAN Bus and by the impossibility to find some easy examples. For a general overview, refer to the official manual from page 1092 onwards.

Read more...

Python Threading with External Processes

Introduction

Often when you write python scripts you might realize that the steps in one of your loops are actually not dependent on each other, so you could parallelize them. In it’s simplest form, to parallelize computations python offers ready made threads and locks. There are two distinct ways to parallelize computation in python, either through Multiprocessing (and the according multiprocessing package) or Threading (and the according threading package), the pros and cons are excellently summarized by Jeremy Brown on stackoverflow. This post only covers a toy example for the use of the threading package.

Read more...

Short Introduction into Catkin Packages

Introduction

The basic structure of a catkin package is very simple. There are two configuration files: the first one, package.xml, is to describe the meta-information about the dependencies (wiki), the second one CMakeLists.txt is the usual configuration file for the CMake build system (wiki). Despite the supposingly clear XML and CMake commands I have found some of them to be rather confusing for regular day to day package building in C++, so this post tries to clear some confusion with these configurations in the context of building in a devel space.

Read more...

Subscribe and Access Topic in Rospy regardless of Message Type

Introduction

A common problem I encountered a lot of times is that you simply want to subscribe to a topic and access a certain field of the published message without knowing its type. It turns out that this is rather simple to do in python by using the Connection Header of the handy AnyMsg that lets you subscribe to any topic regardless of type.

Read more...

Sublime with Catkin

Introduction

This post is about the usage of sublime with the catkin infrastructure used by ROS. This was tested with Ubuntu 14.04 LTS and ROS Indigo. The post assumes that you are familiar with both ROS and catkin and that you have a catkin workspace working with the usual folder structure in ~/catkin_ws. Another nice introduction into using sublime as your IDE can be found at Linux Sublime Dev, this post aims to provide a simple overview and setup for catkin specifically.

Read more...