0% found this document useful (0 votes)
20 views4 pages

ITA730 - Rob - Exp - 4

1. The document describes an experiment on inverse kinematics using a 2 link robotic arm. Inverse kinematics is used to determine the joint angles needed to reach a target end effector position. 2. An analytical solution is derived and implemented in code to calculate the two possible joint angle solutions that satisfy the inverse kinematics equation. 3. The robotic arm is modeled and both solutions are plotted to visualize reaching the target position with different joint configurations. The experiment successfully demonstrates inverse kinematics.

Uploaded by

5026
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views4 pages

ITA730 - Rob - Exp - 4

1. The document describes an experiment on inverse kinematics using a 2 link robotic arm. Inverse kinematics is used to determine the joint angles needed to reach a target end effector position. 2. An analytical solution is derived and implemented in code to calculate the two possible joint angle solutions that satisfy the inverse kinematics equation. 3. The robotic arm is modeled and both solutions are plotted to visualize reaching the target position with different joint configurations. The experiment successfully demonstrates inverse kinematics.

Uploaded by

5026
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 4

Experiment No - 4

Name: Shalinkumar Solanki Class - BEIT - A Roll No.: ITA745

Batch: A3 DOP: DOS:

Grade: Sign:

Theory:

Inverse Kinamatics:

Kinematics is the study of motion without considering the cause of the motion, such as forces
and torques. Inverse kinematics is the use of kinematic equations to determine the motion of a
robot to reach a desired position. For example, to perform automated bin picking, a robotic arm
used in a manufacturing line needs precise motion from an initial position to a desired position
between bins and manufacturing machines. The grasping end of a robot arm is designated as the
end-effector. The robot configuration is a list of joint positions that are within the position limits
of the robot model and do not violate any constraints the robot has.
Given the desired robot’s end-effector positions, inverse kinematics (IK) can determine an
appropriate joint configuration for which the end-effectors move to the target pose.

Once the robot’s joint angles are calculated using the inverse kinematics, a motion profile can be
generated using the Jacobian matrix to move the end-effector from the initial to the target pose.
The Jacobian matrix helps define a relationship between the robot’s joint parameters and the end-
effector velocities.

In contrast to forward kinematics (FK), robots with multiple revolute joints generally have
multiple solutions to inverse kinematics, and various methods have been proposed according to
the purpose. In general, they are classified into two methods, one that is analytically obtained
(i.e., analytic solution) and the other that uses numerical calculation.

Program:

clc; clear all; clf;

a1=1; a2=0.75;

px=1.2;py=1;

c2=(px*px+py*py-a1*a1-a2*a2)/(2*a1*a2);

if c2<=1

s2_1=sqrt(1-c2*c2)

s2_2=-sqrt(1-c2*c2)

theta2_1=atan2(s2_1,c2)

theta2_2=atan2(s2_2,c2)

denom1=a1*a1+a2*a2+2*a1*a2*cos(theta2_1)

denom2=a1*a1+a2*a2+2*a1*a2*cos(theta2_2)

s1_1=py*(a1+a2*cos(theta2_1))-px*a2*sin(theta2_1)

s1_2=py*(a1+a2*cos(theta2_2))-px*a2*sin(theta2_2)

c1_1=px*(a1+a2*cos(theta2_1))-py*a2*sin(theta2_1)
c1_2=px*(a1+a2*cos(theta2_2))-py*a2*sin(theta2_2)

theta1_1=atan2(s1_1,c1_1)

theta1_2=atan2(s1_2,c1_2)

end

theta1deg=45

theta2deg=-45

theta1=theta1deg*pi/180

theta2=theta2deg*pi/180

ax_1=a1*cos(theta1_1)

ay_1=a1*sin(theta1_1)

ax_2=a1*cos(theta1_2)

ay_2=a1*sin(theta1_2)

bx=px

by=py

xaxisarrayxcoords=[-2 2]

xaxisarrayycoords=[0 0]

yaxisarrayxcoords=[0 0]

yaxisarrayycoords=[-2 2]

link1x_1= [0 ax_1]

link1y_1= [0 ay_1]

link1x_2=[0 ax_2]

link1y_2=[0 ay_2]

link2x_1=[ax_1 bx]

link2y_1=[ay_1 by]

link2x_2=[ax_2 bx]
link2y_2=[ay_2 by]

plot(xaxisarrayxcoords, xaxisarrayycoords, yaxisarrayxcoords,yaxisarrayycoords,


link1x_1,link1y_1, link2x_1, link2y_1)

hold on

plot(xaxisarrayxcoords, xaxisarrayycoords, yaxisarrayxcoords, yaxisarrayycoords,link1x_2,


link1y_2, link2x_2, link2y_2 )

Output:

Conclusion:

Thus we have successfully implemented inverse kinematics.

You might also like