Robot Simulator Part 1 - Jacobian

November 13, 2017

tags: inverse kinematics · Scara robot · AngularJS · Jacobian

I work with industrial robots almost every day and I’m familiar with how they operate, but I wanted to see if I could recreate that functionality on my own, from scratch. I decided to start by modeling this in 2D by building a virtual Scara-style robot.

Usually when programming an industrial robot, the xyz coordinates and the type of movement are specified, and then the robot figures out which positions each of its joints need to be in to get where it needs to go. So, the first step was to create a functioning inverse kinematic simulator.

The first method that came to mind for inverse kinematics was the Jacobian method. This method is unfortunately very computationally intense and very sensitive. I implemented it successfully, but I think another method could be much more efficient and less prone to failure.

This method works by simulating a gravitational force pulling the robot’s end towards the goal, and modelling how each joint would react under that force.

The simulator code is written in JavaScript and AngularJS, and displays in the browser as an SVG.

Run Simulator

Screenshot