Skip to content

A Simulation Model for trajectory Planning in MATLAB and Simulink to generate desired trajectory and joint torques using Inverse Dynamic Control aproach.

Notifications You must be signed in to change notification settings

AabidPatel/Trajectory-Planning-Model-for-SCARA-Manipulator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 

Repository files navigation

Trajectory Planning Model for SCARA Manipulator

A Simulation Model for trajectory Planning developed in MATLAB and Simulink to generate desired trajectory using Trapezoidal Velocity Profile and providing joint torques using Inverse Dynamic Control aproach to manipulate a SCARA Robot carrying 5 kg load at end effector.

Trajectory Generation

The Objective is to compute the trajectory in the operational space using Trapezoidal Velocity Profile. Four segments are given starting from the initial and final points. For each segment, position are calculated using the Trapezoidal Velocity formula.

Once the position coordinates of the segments are found then the value of the arc lengths can be found using position coordinates in the q(t) matrix. These values of arc lengths is saved in array "sj" for segment. "sj" is found by getting the norm of the position and the previous position in the q(t) matrix and it is then added to the previous element of "sj".

Anticipation time is given as 0.2 seconds. This means that the trajectory will end in 3.4 seconds instead After considering the anticipation time and using this vector of arc length, “Pe” is calculated, which the position in the robot operational space. This position is plotted with respect to time in a 3D frame to visualize the trajectory. Below, there is figures of position, velocity and acceleration in 2d frame and trajectory in operational space.

Traj Gen (1)

Inverse Dynamic Control Approach

The objective is to use Inverse Dynamic Control system to obtain linearization using non-linear state feedback. The Inverse Dynamic Control has two subsystems where one obtains linear and decoupled I/O relationships and the other controls the system.

Second Order Inverse Kinematics Algorithm

The files “direct_kin”, “jacobian”, “jacobian_dot” and “jacobian_inverse” contributes to the subsystem which controls the linear system. The aim of direct kinematics is to compute the pose of the end effector as a function of joint variables. This subsystem utilizes a second order inverse algorithm to compute the joint values using the geometrical Jacobian formula. The generated_traj.mat file works as the input to the second order algorithm which is basically the desired trajectory. After calculating the desired trajectory, it can be verified that the subsystem is working properly as the error values of the desired and obtained trajectory becomes 0. This subsystem gives the outputs: qd, qd_dot and qd_dot_dot which is then taken as inputs in the other subsystem.

Second Order Algorithm

Inverse Dynamic Controller

The Inverse Dynamic control system is implemented by computing the joint torques applicable on the manipulator carrying a 5kg load. The second order inverse algorithm is utilized to control the system and then joint torques are calculated with respect to the q i.e., joint values which are then fed in the manipulator block. The reason of using manipulator block is that we are applying this control system in a simulation environment and not physical SCARA arm. Since the physical manipulator is not present, we are inverting B(q) matrix to calculate the q_dot_dot which then is used to obtain q_dot and q.

Inverse Dynamic Control

About

A Simulation Model for trajectory Planning in MATLAB and Simulink to generate desired trajectory and joint torques using Inverse Dynamic Control aproach.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages