Robotics SUMMER 2004 Assignment #4. (SOLUTION) Instructor: Jose Mireles Jr.

Similar documents
MMAE-540 Adv. Robotics and Mechatronics - Fall 2007 Homework 4

Applications. Human and animal motion Robotics control Hair Plants Molecular motion

Kinematics of the Stewart Platform (Reality Check 1: page 67)

EGR 102 Introduction to Engineering Modeling. Lab 05B Plotting

DESIGN AND MODELLING OF A 4DOF PAINTING ROBOT

Exercise 2b: Model-based control of the ABB IRB 120

To see what directory your work is stored in, and the directory in which Matlab will look for files, type

Cecilia Laschi The BioRobotics Institute Scuola Superiore Sant Anna, Pisa

15-780: Problem Set #4

Inverse Kinematics of a Rhino Robot

Introduction to the MATLAB SIMULINK Program

PRACTICAL SESSION 4: FORWARD DYNAMICS. Arturo Gil Aparicio.

Computing Fundamentals Plotting

Integral Control of proportional system with Saturation

29 Flight Control of a Hovercraft

UNIVERSITY OF OSLO. Faculty of Mathematics and Natural Sciences

Plotting - Practice session

Exercise 2b: Model-based control of the ABB IRB 120

Objectives. Part 1: Implement Friction Compensation.

In Homework 1, you determined the inverse dynamics model of the spinbot robot to be

MATLAB Guide to Fibonacci Numbers

Automated Parameterization of the Joint Space Dynamics of a Robotic Arm. Josh Petersen

Armstrong Atlantic State University Engineering Studies MATLAB Marina 2D Plotting Primer

Simulation. x i. x i+1. degrees of freedom equations of motion. Newtonian laws gravity. ground contact forces

W1005 Intro to CS and Programming in MATLAB. Plo9ng & Visualiza?on. Fall 2014 Instructor: Ilia Vovsha. hgp://

ENGR Fall Exam 1

MECHANICAL WORK REDUCTION DURING MANIPULATION TASKS OF A PLANAR 3-DOF MANIPULATOR

Simulink Based Robot Arm Control Workstation. Figure 1-1 High Level Block Diagram

autorob.github.io Inverse Kinematics UM EECS 398/598 - autorob.github.io

Kinematics. Kinematics analyzes the geometry of a manipulator, robot or machine motion. The essential concept is a position.

Robotics 2 Iterative Learning for Gravity Compensation

Fuzzy Logic Approach for Hybrid Position/Force Control on Underwater Manipulator

State Estimation and Parameter Identification of Flexible Manipulators Based on Visual Sensor and Virtual Joint Model

ROBOTICS 01PEEQW. Basilio Bona DAUIN Politecnico di Torino

-SOLUTION- ME / ECE 739: Advanced Robotics Homework #2

AUTONOMOUS PLANETARY ROVER CONTROL USING INVERSE SIMULATION

Logical Subscripting: This kind of subscripting can be done in one step by specifying the logical operation as the subscripting expression.

Goals: Course Unit: Describing Moving Objects Different Ways of Representing Functions Vector-valued Functions, or Parametric Curves

Dynamic Analysis of Manipulator Arm for 6-legged Robot

Forward kinematics and Denavit Hartenburg convention

What is Matlab? A software environment for interactive numerical computations

Adaptive Control of 4-DoF Robot manipulator

Torque-Position Transformer for Task Control of Position Controlled Robots

Objectives. Part 1: forward kinematics. Physical Dimension

Automatic Control Industrial robotics

Written exams of Robotics 2

MATLAB Tutorial. Primary Author: Shoumik Chatterjee Secondary Author: Dr. Chuan Li

Pick and Place Robot Simulation

BSM510 Numerical Analysis

Matlab Handout Nancy Chen Math 19 Fall 2004

Dynamics Analysis for a 3-PRS Spatial Parallel Manipulator-Wearable Haptic Thimble

ÉCOLE POLYTECHNIQUE DE MONTRÉAL

COPYRIGHTED MATERIAL INTRODUCTION CHAPTER 1

Basic Graphs. Dmitry Adamskiy 16 November 2011

Planar Robot Kinematics

Example: Modeling a Cruise Control System in Simulink

Projectile Trajectory Scenarios

CSE 4360 / Homework 1- Fall 2018

MATLAB Tutorial. Digital Signal Processing. Course Details. Topics. MATLAB Environment. Introduction. Digital Signal Processing (DSP)

6.1 Polar Coordinates

Modeling and Control of a Bending Backwards Industrial Robot

MATLAB Laboratory 09/23/10 Lecture. Chapters 5 and 9: Plotting

UNIVERSITI TEKNIKAL MALAYSIA MELAKA FAKULTI KEJURUTERAAN ELEKTRONIK DAN KEJURUTERAAN KOMPUTER

AOE 5204: Homework Assignment 4 Due: Wednesday, 9/21 in class. Extended to Friday 9/23 Online Students:

INTERNATIONAL EDITION. MATLAB for Engineers. Third Edition. Holly Moore

Introduction to Matlab. Summer School CEA-EDF-INRIA 2011 of Numerical Analysis

WORKSPACE AGILITY FOR ROBOTIC ARM Karna Patel

Inverse Kinematics. Given a desired position (p) & orientation (R) of the end-effector

AC : DEVELOPMENT OF A ROBOTIC PLATFORM FOR TEACH- ING MODEL-BASED DESIGN TECHNIQUES IN DYNAMICS AND CON- TROL PROGRAM

A NOUVELLE MOTION STATE-FEEDBACK CONTROL SCHEME FOR RIGID ROBOTIC MANIPULATORS

MATH 2221A Mathematics Laboratory II

Position Analysis

Parallel Robots. Mechanics and Control H AMID D. TAG HI RAD. CRC Press. Taylor & Francis Group. Taylor & Francis Croup, Boca Raton London NewYoric

Introduction to Octave/Matlab. Deployment of Telecommunication Infrastructures

DOUBLE ARM JUGGLING SYSTEM Progress Report for ECSE-4962 Control Systems Design

Inverse Kinematics Analysis for Manipulator Robot With Wrist Offset Based On the Closed-Form Algorithm

Control of industrial robots. Kinematic redundancy

TRAJECTORY PLANNING OF FIVE DOF MANIPULATOR: DYNAMIC FEED FORWARD CONTROLLER OVER COMPUTED TORQUE CONTROLLER

PERI INSTITUTE OF TECHNOLOGY DEPARTMENT OF ECE TWO DAYS NATIONAL LEVEL WORKSHOP ON COMMUNICATIONS & IMAGE PROCESSING "CIPM 2017" Matlab Fun - 2

PC-MATLAB PRIMER. This is intended as a guided tour through PCMATLAB. Type as you go and watch what happens.

This week. CENG 732 Computer Animation. Warping an Object. Warping an Object. 2D Grid Deformation. Warping an Object.

Introduction to GNU-Octave

Optimal Control Simulation Problem

SIMULATION ENVIRONMENT PROPOSAL, ANALYSIS AND CONTROL OF A STEWART PLATFORM MANIPULATOR

13. Learning Ballistic Movementsof a Robot Arm 212

Robotics. SAAST Robotics Robot Arms

Singularity Handling on Puma in Operational Space Formulation

Robotics kinematics and Dynamics

Advances in Engineering Research, volume 123 2nd International Conference on Materials Science, Machinery and Energy Engineering (MSMEE 2017)

MATLAB Premier. Middle East Technical University Department of Mechanical Engineering ME 304 1/50

Functions. Name. Use an XY Coordinate Pegboard to graph each line. Make a table of ordered pairs for each line. y = x + 5 x y.

A simple example. Assume we want to find the change in the rotation angles to get the end effector to G. Effect of changing s

EE 1105 Pre-lab 3 MATLAB - the ins and outs

DO NOT USE GLOBAL VARIABLES!

VIBRATION ISOLATION USING A MULTI-AXIS ROBOTIC PLATFORM G.

ENGG1811 Computing for Engineers Week 11 Part C Matlab: 2D and 3D plots

Robot. A thesis presented to. the faculty of. In partial fulfillment. of the requirements for the degree. Master of Science. Zachary J.

ECE569 Fall 2015 Solution to Problem Set 2

DEPARTMENT OF ELECTRICAL AND COMPUTER ENGINEERING NORTHEASTERN UNIVERSITY ECEU646/ECEG105 OPTICS FOR ENGINEERS FALL 2008.

Simulation-Based Design of Robotic Systems

Transcription:

Robotics SUMMER 2004 Assignment #4. (SOLUTION) Instructor: Jose Mireles Jr. 1. Reproduce the simulation in Example 3.4-1 of Lewis et al. That is, for the two link planar elbow arm, simulate in MATLAB the PD computed-torque controller. Use the same arm parameters and desired trajectory used there. Make your MATLAB M-file modular like the one in that example. Plot the same figures plotted there. Turn in your M-file. 2. Repeat the problem 1 simulation using the simplified inertia/gravity control law. d v p + τ = M ( q)( q + K e+ K e) G( q) which includes M(q) matrix and gravity but not the coriolis/centripetal terms. 3. Repeat the problem 1 simulation using the simplified control law. v p + τ = M ( q)( K e+ K e) G( q) which includes M(q) matrix and gravity but not the acceleration feedforward or the coriolis/centripetal terms. 4. Repeat the problem 3 simulation using the control law. τ = M ( q)( K v e+ K p e+ K iε) + G( q) where ε(t) is the integral of tracking error e(t). This is the code used for applying the ode23 function for different control strategies (1-4 problems). Ctl_Option denotes the desired problem to being solve. function [x,y,t,x] = TLPlana2(Ctl_Option,x0,tf); Simulation of a Two-Link Planar robot Course: Robotics Written by Jose Mireles tf is simulation time (final time) x0(1) = theta1 x0(2) = theta2 x0(3) = (d/dt)theta1 x0(4) = (d/dt)theta2 x0(5) = torque input 1 (Initialy zero.- Only for Output purposes) x0(6) = torque input 2 (Initialy zero.- Only for Output purposes) x0(7) = tracking error 1 (Initialy zero.- Only for Output purposes) x0(8) = tracking error 2 (Initialy zero.- Only for Output purposes) 1 = Computed Torque Control. PD control 2 = Simplified Inertia/Centripetal PD Control (without Nonlinearities) 3 = Simplified Inertia/Centripetal PD Control (" & not acceleration feedforward) Try with initial conditions, and run it as: tf=10; x0=[0.1;0;0;0;0;0;0;0]; [x,y,t,x]=tlplana2(1,x0,tf); Amp1=0.1; Amp2=0.1; L1=1; L2=1; t0=0; tspan=linspace(t0,tf,1000); A thousand samples from t=0 -> tf

figure(1) figure(2) figure(3) figure(4) figure(5) figure(6) title('torque INPUTS f1 in blue, f2 in red') ylabel('( time ) '),xlabel('( Forces )'),hold on figure(7) title('tracking ERROR e1 in blue, e2 in red') xlabel('( time ) '),ylabel('( X )'),hold on if Ctl_Option == 1 [t,x]=ode23('twolink2',tspan,x0); Twolink2 => COMPUTED-TORQUE Control, PD elseif Ctl_Option == 2 [t,x]=ode23('twolink3',tspan,x0); Twolink2 => ", without NONLinearities! elseif Ctl_Option == 3 [t,x]=ode23('twolink4',tspan,x0); Twolink2 => ", without NonL & accel feedfordward else [t,x]=ode23('twolink5',tspan,x0); Twolink2 => PID Control by integration of tracking error! end figure(1) plot(t,x(:,1),'b',t,x(:,2),'r'), grid on time domain plots ylabel('\theta angles') xlabel('time (seconds)') title('two Link Planar Robot: \theta1 in blue, \theta2 in red') figure(2) subplot(2,1,1) plot(t,x(:,3),'b'), grid on ylabel('(d/dt) \theta1') xlabel('time') title('theta velocities for the Two Link Planar Robot') subplot(2,1,2) plot(t,x(:,4),'r'), grid on time domain plots ylabel('(d/dt) \theta2') xlabel('time') figure(3) subplot(2,1,1) plot(x(:,1),x(:,3),'b'), grid on title('phase PLOTS') ylabel('(d/dt) \theta1') xlabel(' \theta1') subplot(2,1,2) plot(x(:,2),x(:,4),'r'), grid on Phase Plane plot ylabel('(d/dt) \theta2') xlabel('\theta2') Plot of the desired trajectory: figure(4) qd1 = Amp1*sin(pi*t); qd2 = Amp2*cos(pi*t); xd=l1*cos(qd1)+l2*cos(qd1+qd2); yd=l1*sin(qd1)+l2*sin(qd1+qd2); plot3(xd,t,yd,'r'), grid on time domain plots axis([-2,2,0,10,-1,1]) view([2,-.8,1]) title('desired displacement of the Tool in (X,Y) in blue') ylabel('( time )') xlabel('( X )') zlabel('( Y )') Plot of the REAL trajectory: figure(5) x=l1*cos(x(:,1))+l2*cos(x(:,1)+x(:,2)); y=l1*sin(x(:,1))+l2*sin(x(:,1)+x(:,2)); plot3(xd,t,yd,'-r'), grid on time domain plots hold on plot3(x,t,y,'b') time domain plots axis([-2,2,0,10,-1,1]) Jose Mireles Jr. 1

view([2,-.8,1]) title('real displacement of the Tool in (X,Y) in blue') ylabel('( time )') xlabel('( X )') zlabel('( Y )') Also, Torque Forces can be plotted using the following commands: figure(6) grid on plot(t,x(:,5),'b'), grid on title('torque INPUTS f1 in blue, f2 in red') ylabel('( time ) ') xlabel('( Forces )') hold on plot(t,x(:,6),'r'), grid on time domain plots time domain plots Also, Tracking error can be plotted using the following commands: figure(7) grid on plot(t,x(:,7),'b'), grid on traking error of theta1 title('tracking ERROR e1 in blue, e2 in red') xlabel('( time ) ') ylabel('( X )') hold on plot(t,x(:,8),'r'), grid on traking error of theta2 END OF FILE TLPlana2 ==================================================== The code for the function needed to apply the PD computed-torque controller is the following: function Xdot = TwoLink2(t,X); Simulation of the control of a Two-Link Planar robot using Computed-Torque Control Course: Robotics Written by Jose Mireles Jr. X(1)= theta1 X(2)= theta2 X(3) = (d/dt)theta1 X(4) = (d/dt)theta2 X(5) = torque input 1 (Only for Output purposes) X(6) = torque input 2 (Only for Output purposes) X(7) = tracking error 1 (Only for Output purposes) X(8) = tracking error 2 (Only for Output purposes) Constant values for the desired trajectory: Amp1=0.1; Amp2=0.1; per=1; Constant values of the controller: kp=100; kv=20; Constant values of the Robot: m1=1; m2=1; a1=1; a2=1; g=9.8; PART 1) COMPUTE DESIRED TRAJECTORY qd(t), qdp(t), qdpp(t) fact=pi/per; qd(1) = Amp1*sin(fact*t); qd(2) = Amp2*cos(fact*t); qdp(1) = Amp1*fact*cos(fact*t); qdp(2) = -Amp2*fact*sin(fact*t); qdpp(1)= -Amp1*(fact^2)*sin(fact*t); qdpp(2)= -Amp2*(fact^2)*cos(fact*t); PART 2) COMPUTED-TORQUE CONTROLLER SUBROUTINE COMPUTE TRACKING ERRORS: e(1) = qd(1)-x(1); Jose Mireles Jr. 2

e(2) = qd(2)-x(2); ep(1) = qdp(1)-x(3); ep(2) = qdp(2)-x(4); Adding these two tracking errors to the plot: figure(7) hold on plot(t,e(1),'b',t,e(2),'r') COMPUTATION OF M(q) m11=(m1+m2)*a1^2+m2*a2^2+2*m2*a1*a2*cos(x(2)); m12=m2*a2^2+m2*a1*a2*cos(x(2)); m21=m12; m22=m2*a2^2; COMPUTATION OF N(q,qp) N1 = -m2*a1*a2*(2*x(3)*x(4)+x(4)^2)*sin(x(2)); N2 = m2*a1*a2*x(3)^2*sin(x(2)); N1 = N1 + (m1+m2)*g*a1*cos(x(1))+m2*g*a2*cos(x(1)+x(2)); N2 = N2 + m2*g*a2*cos(x(1)+x(2)); COMPUTATION OF CONTROL TORQUES s1 = qdpp(1) + kv*ep(1) + kp*e(1); s2 = qdpp(2) + kv*ep(2) + kp*e(2); f1 = m11*s1 + m12*s2 + N1; f2 = m21*s1 + m22*s2 + N2; Adding these two forces to the plot: figure(6) hold on plot(t,f1,'b',t,f2,'r') PART 3) ROBOT ARM DYNAMICS: Det = (m11*m22)-(m12*m21); Inverse Matrix Im11=m22/Det; Im12=-m12/Det; Im21=-m21/Det; Im22=m11/Det; Xdot=[X(3); X(4); (Im11*(f1-N1)+Im12*(f2-N2)); (Im21*(f1-N1)+Im22*(f2-N2)); (f1-x(5))/(.01); (f2-x(6))/(.01); (e(1)-x(7))/(.01); (e(2)-x(8))/(.01) ]; END OF FILE TwoLink2 ==================================================== Six plots were obtained for each problem. Such plots are: 1) Plot of θ 1 and θ 2 Vs. time, 2) Plot of (d/dt θ 1 ) and (d/dt θ 2 ) Vs. time, 3) Plots of Phase plane of θ 1 and θ 2, 4) Plot of the real Vs. desired trajectory of the tool in 3D, 5) Plot of torque inputs τ 1 and τ 2, and 6) Plot of tracking errors (desired minus real trayectory). Jose Mireles Jr. 3

1) The plots found for the first problem were obtained by typing: tf=10; x0=[0.1;0;0;0;0;0;0;0]; [x,y,t,x]=tlplana2(1,x0,tf); Such plots are the following: (NOTICE THAT INITIAL CONDITIONS ARE NOT ZERO) Jose Mireles Jr. 4

Plots for problem 1) Jose Mireles Jr. 5

Plots for problem 1) Jose Mireles Jr. 6

2) The plots found for the second problem were obtained by typing: tf=10; x0=[0.1;0;0;0;0;0;0;0]; [x,y,t,x]=tlplana2(2,x0,tf); (NOTICE THAT INITIAL CONDITIONS ARE NOT ZERO) For this problem, TLPlanar2 uses TwoLink3.m function, which only difference with respect to TwoLink2.m is the Computation of control torques part: COMPUTATION OF N(q,qp) N1c = (m1+m2)*g*a1*cos(x(1)) + m2*g*a2*cos(x(1)+x(2)); N2c = m2*g*a2*cos(x(1)+x(2)); N1 = N1c + -m2*a1*a2*(2*x(3)*x(4)+x(4)^2)*sin(x(2)); N2 = N2c + m2*a1*a2*x(3)^2*sin(x(2)); COMPUTATION OF CONTROL TORQUES s1 = qdpp(1) + kv*ep(1) + kp*e(1); s2 = qdpp(2) + kv*ep(2) + kp*e(2); f1 = m11*s1 + m12*s2 + N1c; Only includes Gravity terms! f2 = m21*s1 + m22*s2 + N2c; Only includes Gravity terms! The plots for problem 2 were the following: Jose Mireles Jr. 7

Plots for problem 2: (desired displacement in red) Jose Mireles Jr. 8

Plots for problem 2) Jose Mireles Jr. 9

3) The plots found for the third problem were obtained by typing: tf=10; x0=[0.1;0;0;0;0;0;0;0]; [x,y,t,x]=tlplana2(3,x0,tf); (NOTICE THAT INITIAL CONDITIONS ARE NOT ZERO) For this problem, TLPlanar2 uses TwoLink4.m function, which only difference with respect to TwoLink2.m is the Computation of control torques part: COMPUTATION OF N(q,qp) for the controller and for the plant: N1c = (m1+m2)*g*a1*cos(x(1))+m2*g*a2*cos(x(1)+x(2)); N2c = m2*g*a2*cos(x(1)+x(2)); N1 = N1c + -m2*a1*a2*(2*x(3)*x(4)+x(4)^2)*sin(x(2)); N2 = N2c + m2*a1*a2*x(3)^2*sin(x(2)); COMPUTATION OF CONTROL TORQUES s1 = kv*ep(1) + kp*e(1); s2 = kv*ep(2) + kp*e(2); f1 = m11*s1 + m12*s2 + N1c; f2 = m21*s1 + m22*s2 + N2c; The plots for problem 3 were the following: Jose Mireles Jr. 10

Plots for problem 3: (desired displacement in red) Jose Mireles Jr. 11

Plots for problem 3) Jose Mireles Jr. 12

4) The plots found for the fourth problem were obtained by typing: tf=10; x0=[0.1;0;0;0;0;0;0;0]; [x,y,t,x]=tlplana2(4,x0,tf); (NOTICE THAT INITIAL CONDITIONS ARE NOT ZERO) For this problem, TLPlanar2 uses TwoLink5.m function, which has more differences with respect to the TwoLink2.m function. The entire code for TwoLink5.m is shown here: function Xdot = TwoLink5(t,X); Simulation of the control of a Two-Link Planar robot using PID Computed-Torque Control Course: Robotics Written by Jose Mireles Jr. X(1)= theta1 X(2)= theta2 X(3) = (d/dt)theta1 X(4) = (d/dt)theta2 X(5) = torque input 1 (Only for Output purposes) X(6) = torque input 2 (Only for Output purposes) X(7) = tracking error 1 X(8) = tracking error 2 Constant values for the desired trajectory: Amp1=0.1; Amp2=0.1; per=1; Constant values of the controller: kp=100; kv=20; ki=500; Ki < Kp*Kv Constant values of the Robot: m1=1; m2=1; a1=1; a2=1; g=9.8; PART 1) COMPUTE DESIRED TRAJECTORY qd(t), qdp(t), qdpp(t) fact=pi/per; qd(1) = Amp1*sin(fact*t); qd(2) = Amp2*cos(fact*t); qdp(1) = Amp1*fact*cos(fact*t); qdp(2) = -Amp2*fact*sin(fact*t); qdpp(1)= -Amp1*(fact^2)*sin(fact*t); qdpp(2)= -Amp2*(fact^2)*cos(fact*t); PART 2) COMPUTED-TORQUE CONTROLLER SUBROUTINE COMPUTE TRACKING ERRORS: e(1) = qd(1)-x(1); e(2) = qd(2)-x(2); ep(1) = qdp(1)-x(3); ep(2) = qdp(2)-x(4); Epsilon1 = X(7); Integral of the error 1! Epsilon2 = X(8); Integral of the error 2! Adding these two tracking errors to the plot: figure(7) hold on plot(t,e(1),'b',t,e(2),'r') COMPUTATION OF M(q) Jose Mireles Jr. 13

m11=(m1+m2)*a1^2+m2*a2^2+2*m2*a1*a2*cos(x(2)); m12=m2*a2^2+m2*a1*a2*cos(x(2)); m21=m12; m22=m2*a2^2; COMPUTATION OF N(q,qp) N1c = (m1+m2)*g*a1*cos(x(1))+m2*g*a2*cos(x(1)+x(2)); N2c = m2*g*a2*cos(x(1)+x(2)); N1 = N1c + -m2*a1*a2*(2*x(3)*x(4)+x(4)^2)*sin(x(2)); N2 = N2c + m2*a1*a2*x(3)^2*sin(x(2)); COMPUTATION OF CONTROL TORQUES s1 = kv*ep(1) + kp*e(1) + ki*epsilon1; s2 = kv*ep(2) + kp*e(2) + ki*epsilon2; f1 = m11*s1 + m12*s2 + N1c; Not having Non-Linear terms! f2 = m21*s1 + m22*s2 + N2c; Not having Non-Linear terms! Adding these two forces to the plot: figure(6) hold on plot(t,f1,'b',t,f2,'r') PART 3) ROBOT ARM DYNAMICS: Det = (m11*m22)-(m12*m21); Inverse Matrix Im11=m22/Det; Im12=-m12/Det; Im21=-m21/Det; Im22=m11/Det; STATE EQUATIONS: X(1) = theta1 X(2) = theta2 X(3) = (d/dt)theta1 X(4) = (d/dt)theta2 X(5) = torque input 1 (Only for Output purposes) X(6) = torque input 2 (Only for Output purposes) X(7) = tracking error 1 X(8) = tracking error 2 Xdot=[X(3); X(4); (Im11*(f1-N1)+Im12*(f2-N2)); (Im21*(f1-N1)+Im22*(f2-N2)); (f1-x(5))/(.01); Does not integrates! (f2-x(6))/(.01); Does not integrates! e(1) Integrates! e(2) Integrates! ]; End of File =============================================== Jose Mireles Jr. 14

The plots for problem 4) using Kp=100, Kv=20, Ki=500 were obtained by typing: tf=10; x0=[0.1;0;0;0;0;0;0;0]; [x,y,t,x]=tlplana2(4,x0,tf); (NOTICE INITIAL THAT CONDITIONS ARE NOT ZERO) Jose Mireles Jr. 15

Plots for problem 4) (desired displacement in red) Jose Mireles Jr. 16

Plots for problem 4) Jose Mireles Jr. 17