Short articles on a variety of topics. Mostly I write these to help myself learn a thing, and to sketch out material for future editions of the book.

### Tutorials

- Direct computation of Jacobian from elementary transform string (ETS) (December 2018) - Given a robot kinematic model expressed as an elementary transform sequence (ETS), we show how to derive the manipulator Jacobian… ...
- Solving trigonometric equations (July 2018) - Equations of the form \(a \cos \theta + b\sin \theta = c\) arise frequently when analytically solving robot kinematic equations.… ...
- EKF covariance matrix update for a new landmark (June 2018) - In the formulation for EKF SLAM (RVC chapter 6, appendix H) there is a special case when another landmark is… ...
- Roll-pitch-yaw angles (November 2017) - Updated 4 August 2018 There is a lot of confusion around the terms Euler angles and roll-pitch-yaw angles. This stems… ...
- Precision-recall curves (January 2017) - Precision recall curves are commonly used in robotics to describe the performance of localisers and classifiers. This short article describes… ...
- A simple and systematic approach to assigning Denavit-Hartenberg parameters (January 2017) - or how to simply/quickly figure out the DH parameters of a serial-link manipulator. This short paper appeared in TRO vol… ...

### Robotics

- Low cost robots for hobbyists and teaching (February 2019) - I've put together a list of (relatively) low-cost robots, arms as well as mobile robots (wheeled and flying). It is… ...
- Dynamixel AX12A servos (January 2019) - These are very capable and handy devices for hobby robotics. It has a pretty good manual, but here are some… ...
- Direct computation of Jacobian from elementary transform string (ETS) (December 2018) - Given a robot kinematic model expressed as an elementary transform sequence (ETS), we show how to derive the manipulator Jacobian… ...
- Making V-REP work (November 2018) - V-REP is a great robotics simulator, but it's been ages since I last used it. I installed the latest version… ...
- Understanding URDF with MATLAB (November 2018) - The Universal Robot Data Format (URDF) is an increasingly common way to represent the kinematic structure and visual appearance of… ...
- EKF covariance matrix update for a new landmark (June 2018) - In the formulation for EKF SLAM (RVC chapter 6, appendix H) there is a special case when another landmark is… ...
- Roll-pitch-yaw angles (November 2017) - Updated 4 August 2018 There is a lot of confusion around the terms Euler angles and roll-pitch-yaw angles. This stems… ...
- Sparse Pose Adjustment (January 2017) - The IROS2010 paper "Efficient Sparse Pose Adjustment for 2D Mapping" by Kurt Konolige, Giorgio Grisetti, Rainer Kümmerle, Wolfram Burgard, Benson Limketkai,… ...
- A simple and systematic approach to assigning Denavit-Hartenberg parameters (January 2017) - or how to simply/quickly figure out the DH parameters of a serial-link manipulator. This short paper appeared in TRO vol… ...
- Denavit-Hartenberg notation for common robots (March 2014) - Denavit-Hartenberg parameters are one of the most confusing topics for those new to the study of robotic arms. This note… ...
- 4 is harder than 6: Inverse kinematics for underactuated robots (February 2014) - Many low-cost hobby class robots have only 4 joints (degrees of freedom). This document describes how to determine inverse kinematics… ...
- Interfacing a hobby robot arm to MATLAB (March 2013) - This document describes how to connect a real and relatively inexpensive hobby-class robot, the PhantomX Pincher AX-12 robot from Trossen… ...

### MATLAB stuff

- Integrating Python into MATLAB (November 2019) - We often need to create code using a mixture of languages such as C++, Python and MATLAB. Each language has its… ...
- Integrating C++ into MATLAB (November 2019) - We often need to create programs using a mixture of languages such as C++ and MATLAB. Each has its own… ...
- Understanding URDF with MATLAB (November 2018) - The Universal Robot Data Format (URDF) is an increasingly common way to represent the kinematic structure and visual appearance of… ...
- Parsing XML with MATLAB (November 2018) - An increasing amount of data is encoded in XML format. MATLAB has built in support for parsing XML format files,… ...
- Solving trigonometric equations (July 2018) - Equations of the form \(a \cos \theta + b\sin \theta = c\) arise frequently when analytically solving robot kinematic equations.… ...
- A quick introduction to MATLAB objects (November 2017) - This article is a quick introduction to MATLAB objects, using an example from the Robotics Toolbox for MATLAB. It was… ...
- What’s in a MATLAB .mltbx file (February 2017) - Since 2015 MATLAB has supported the ability to distribute a Toolbox with all the files, documentation and settings packaged up in a… ...
- Interfacing a hobby robot arm to MATLAB (March 2013) - This document describes how to connect a real and relatively inexpensive hobby-class robot, the PhantomX Pincher AX-12 robot from Trossen… ...

### Mac stuff

- Making V-REP work (November 2018) - V-REP is a great robotics simulator, but it's been ages since I last used it. I installed the latest version… ...
- Mac hotkey to refile email (November 2018) - Using Apple Mail I wanted to have a single hotkey to file mail into a folder. I used to use… ...

### General

- Hacking graphviz/dot to place xlabels (December 2017) - dot is a wonderful tool and the node xlabel attribute allows for an "external label" in addition to the normal… ...
- Descarte’s bones (January 2015) - Rene Descartes triggered a revolution in thinking, Cartesianism, and attracted many followers and he became a personage. His thinking was… ...