Back to Portfolio Home

Summary - This is an program that I made using Unity which makes it easy for beginners (and expert users) to visualize DH convention when designing a robot.

Denavit Hartenberg Parameter Visualization

When I took my first intro to robotics course, I realized one of the hardest concepts to understand was the Denavit-Hartenberg (DH) convention. While not as common in modern robotics, I feel that DH convention is a powerful tool to find closed-form solutions for both kinematics and dynamics, which helps demistify the nature of these problems for beginner-level roboticists. However, anyone who has learned DH convention is likely familiar with one of the most confusing figures I have seen.

In my opinion, the hardest part of learning DH convention is visualizing what the different DH parameters actually mean, and understanding what a resulting robot looks like given a DH table. When I was learning the concept, I made my own 3D visualization tool in Matlab that could display all coordinate frames given a DH table. I decided that I wanted to make this available for anyone to use to learn the DH convention, and so I expanded this to a python tool as a part of my project for the class, but then decided to remake it using Unity so that it could have a more efficient UI, and so that I could add c++ functionality through dlls if I wanted. The result is shown in the picture below, where the user can add/remove joints, use sliders to change different variables, and the code that runs this is available in this github repository.

DH Visualizer