# How do I work out the kinematic solution of a robot arm?

I draw a robotic arm in Solidworks, but I'm not so sure about how to find out the DOF, forward and backward kinematic.

Could anyone help me understand how to work out the kinematic solution of this robot arm?

• I created a video where I show how to get the moving graphics of a mechanical arm youtu.be/crJXUlzJ918 Commented Feb 14, 2018 at 23:24

If you want to solve it mathematically (not within the SolidWorks), the DOF is the number of independent variables needed to define the configuration of the mechanism. Since you've planar motion in three joints (rotations about one axis) in addition to the slide this will make the DOF is 4 in this case. Because your problem is in one plan (Planar robot), you can solve the forward kinematics, by direct projection of the components in the two directions, horizontal and vertical, using the trigonometric functions sin and cosine as we do in the basic physics, and adding the parameter d (for example) for the horizontal component with proper sign to act for the slider movement. As for the backward (inverse) kinematics which will need more investigation, you can also try to solve it algebraically, based on some geometric basics taking the advantage of the simplicity ; in that case you'll take the pose (position and orientation) of the end effector (the tip point), and solve for the three angles, and the slide (d), with some math manipulation you can figure out this. This I'm describing the shortcut to workout your problem. However, if you've more time, and will do more work on kinematics, you can follow one the two approaches:

1. The product of exponential method ( which I prefer) you can refer to it in the: A Mathematical Introduction to Robotic Manipulation, by Murray

2. Or you can use the DH convention, the widely used method. The inverse kinematics is a large topic in the robotic literature, you can find a lot about around. However, if you looking to that in the SolidWrok, this is another issue.

The robot you have modeled is a RR:R robot (3 rotational joints) with a sliding base from what I can understand. It is not clear if it has a spherical wrist.

The kinematic solution to such a robot can be given by first splitting the problem in to two parts. One to solve the kinematics for the 3 rotational joints and then computing the axial shift of the end effector axis in accordance with the shift of the base reference coordinates.

You can solve the forward kinematics using the Denavit Hartenberg parameter calculation and subsequently calculate the inverse kinematics for your RRR robot.

The forward kinematic transformation matrix for your RRR robot will only contain the three joint theta angles and the three link lengths. Apply this to calculate joint positions w.r.t the base frame using the transformation matrix for each of the joints to achieve the total transformation matrix for the robot.

I will try post the solution to this soon, but you can look it up in the Robot Modeling and Control by Spong and VIdyasagar (page 68) : http://www.fit.hcmup.edu.vn/~hungnv/teaching/Robotics/0471649902_-_Robot_Modeling_and_Control.pdf

I find its the best place to learn to apply forward and inverse kinematic solutions for an anthropomorphic robot arm.

This is a huge field you are asking for. I don't know what exactly you are looking for and what is your background. But, initially, I would suggest you first to go through basics. Read some stuff related to Robotics kinematics and representations from DH Parameters, Forward Kinematics and Inverse Kinematics. You define your problem based on that reading and decide what you need to use. And by the way, your drawing and labeling does not suffice the proper representation. Please check it first.!

You should first learn about forward and reverse kinematics

There is a really good pdf on this here

It requires you to know the fundamentals of vectors and matrices.

You should also know how to calculate the jacobian etc

I would start by reading this before you attempt any design/programming

For people just starting out with robot kinematics, I highly suggest using one of these powerful libraries and not doing the math yourself.

These libraries typically let you specify the dimensions and joint configuration of your robot in something more intuitive than DH parameters. (Translations and rotations in XML for example). They can quickly and easily give you forward and inverse kinematics solutions.

But once you get something up and running. I then recommend doing some reading on the theory behind all this. (Other answers listed some good books). Things will make more sense, and you will be able to do more advanced things.

I basically did an application using a very similar, if not identical, robot of this type for my Masters Thesis. I don't know if it will be of any assistance however here is the link.

http://repository.lib.ncsu.edu/ir/bitstream/1840.16/1331/2/etd.pdf