# How can I input joint angles to transformation matrix to get position in matlab?

I am trying to get the forward kinematics for a robot model in matlab (rigid body tree). I created a 4 x4 transformation matrix from the base to the end-effector using the gettransform() function. I have 4 different joint angles to control. But how do I multiply the joint angles with the transformation matrix so that I get the correct orientation and position output of the end-effector?

Is there otherwise a better option to get the forward kinematics?

Thanks!

• By the time you obtain forward kinematic matrix, you should have each joint variable inside it (not multiply it) Maybe you need post your forward kinematic matrix here.. Jun 16, 2021 at 0:51
• @AlbertHM Does that mean I have to calculate the matrix again every time I change the joint values? Jun 17, 2021 at 10:15
• Absolutely. Because forward kinematic is a function that map joint configuration into end effector position. And each joint movement will result in different position and orientation of end effector. Jun 17, 2021 at 10:59
• Or you wanna make matlab function using that matrix, then there is a way. Make theta1 theta2 etc as symbolic (look matlab syms), then input it in getTransform Jun 17, 2021 at 11:00

After looking the documentation, in function gettransform you put your joint angle configuration there in radians.

1. Create the struct containing your join value

s = struct(nameofjoint1, valueofjoint1,..., nameofjointN, valueofjointN)

2. Get the position and orientation of your end-effector

    % Syntax

% transform = getTransform(robot,jointconfiguration,startframe,lastframe)

transform = getTransform(robot,s,'L1','L4')


transform = getTransform(robot,s,'L1','L4')