QuestionQuestion

Transcribed TextTranscribed Text

PROJECT ON Control of a SCARA ROBOT 1. Introduction SCARA stands for Selective Compliant Assembly Robot Arm or Selective Compliant Articulated Robot Arm. A SCARA robot is an assembly machine that installs parts or carries items. It is designed to mimic the action of a human arm and can be used in jobs from automobile factories to underwater construction. This tool is frequently utilized because of its speed, efficiency and low cost. Fig.1 picture of a SCARA robot: Adept Cobra s600 The SCARA robot was developed in 1981 by the manufacturing company Sankyo Seiki. SCARA robots are primarily used for assembly. They are used by manufacturers of everything from bulky automobiles to minuscule electronic items. It can be programmed to handle very precise installation work and cannot carry a great deal of weight, so the arm works best when handling small parts. These robots also can have their joints waterproofed in order to function in underwater construction. A SCARA's ability to be controlled remotely makes it a common feature of work sites that can be hazardous to humans, such as working with chemicals, or in environments with extreme conditions, such as a steel mill. In this project, you will focus on the control of a SCARA robot. 2. Dynamics Analysis By using Lagrange method to analyze the dynamics of this mechanism, the state space model of a SCARA robot can be simplified as �̇(�) = ��(�) + ��(�), �(�) = ��(�) where � = [q0 q1 �3 q0 ̇ q1 ̇ �3 ̇ ]5, � = [t0 t1 t3]5, and � = [q0 q1 �3 ]5. Here t6s are the torques generated at each joint. Also, � = [� 0]3×: Fig.2 Illustrative picture of a SCARA robot 6 6 0 0 0 ´ ú û ù ê ë é = I A 6 3 0 ´ ú û ù ê ë é = b B ú ú ú û ù ê ê ê ë é - - = 2 1 8 9 0 0 1 0 1 1 0 b 3. Control of the SCARA robot Consider the robot outputs are subject to random white noises with zero mean and s=0.05. Design MPC, LQR and an ILC approach (e.g., P-type ILC, IIC, and MIIC) to control the robot. (Note that you may find the robot system not stable, then you need to stabilize the system first, e.g., using state feedback control). Plot the control performance (output and desired) for each of the four controller (output and desired) when the desired output is shown below, also compute the RMS control error using code “RMS = norm(Yd-Y)/sqrt(length(Yd))” %Yd is the desired output For ILC approaches, plot the RMS error vs. iteration figure to show the convergence. 4. Appendix: Matlab code of desired output % =================================== % Genarate the desired output % =================================== Ts = 1e-03; Coff = 5; Tend = 10; T_ramp = 0:Ts:Tend/2-Ts; N_ramp = length(T_ramp); DRatio = .5; TFreq = Coff*2*pi/Tend; T_Vec_y = 0:Ts:Tend-Ts; Yd = ((sawtooth(T_Vec_y*TFreq, DRatio)).*1+1)./2; Yd_0 = linspace(0,0,N_ramp); Yd1 = [Yd_0 Yd Yd_0]'; T_Vec = (0:length(Yd)-1).*Ts; % =================================== % Genarate the desired output2 % =================================== Yd2=sin(0.5*pi*T_Vec)’; % =================================== % Genarate the desired output3 % =================================== Yd = ((sawtooth(T_Vec_y*TFreq, .5)).*1+1)./2; Yd_0 = linspace(0,0,N_ramp); Yd3 = [Yd_0 Yd Yd_0]';

Solution PreviewSolution Preview

These solutions may offer step-by-step problem-solving explanations or good writing examples that include modern styles of formatting and construction of bibliographies out of text citations and references. Students may use these solutions for personal skill-building and practice. Unethical use is strictly forbidden.

function [y, rms] = ilcController(plant_d, yd)
    Ad = plant_d.A;
    Bd = plant_d.B;
    Cd = plant_d.C;

    [r,n] = size(Cd);      
   
    Ad = stateFeedback(Ad, Bd, 0.7+(1:n)*0.01);
   
   
    ntot = length(yd);
    y = zeros(ntot,3);
    e = y;
    u = zeros(ntot,3);
   
    niter = 50000;
    rms = zeros(1, niter);
    gamma = 10;
    minrms = +inf;
   
    for it = 1:niter
       xt = zeros(n, 1);
       for i=1:ntot
            err = yd(i,:) - y(i,:);
            u(i,:) = u(i,:) + gamma * err;
            y(i,:) = (Cd*xt)' + randn(1,r)*0.05;
            xt = Ad*xt + Bd*u(i,:)';
       end

       rms(it) = norm(yd - y)/sqrt(ntot);...

By purchasing this solution you'll be able to access the following files:
Solution.zip.

$70.00
for this solution

or FREE if you
register a new account!

PayPal, G Pay, ApplePay, Amazon Pay, and all major credit cards accepted.

Find A Tutor

View available Control Theory Tutors

Get College Homework Help.

Are you sure you don't want to upload any files?

Fast tutor response requires as much info as possible.

Decision:
Upload a file
Continue without uploading

SUBMIT YOUR HOMEWORK
We couldn't find that subject.
Please select the best match from the list below.

We'll send you an email right away. If it's not in your inbox, check your spam folder.

  • 1
  • 2
  • 3
Live Chats