Lecture 1 Dynamics and Modeling Robotic Control Lecture 1 Dynamics and Modeling
A brief history… Started as a work of fiction Czech playwright Karel Capek coined the term robot in his play Rossum’s Universal Robots Robotic Control
Numerical control Developed after WWII and were designed to perform specific tasks Instruction were given to machines in the form of numeric codes (NC systems) Typically open-loop systems, relied on skill of programmers to avoid crashes Robotic Control
Modern robots Mechanics Digital Computation Coordination Electronic Sensors Actuation Path Planning Learning/Adaptation Robotics Robotic Control
Types of Robots Industrial Locomotion/Exploration Medical Home/Entertainment Robotic Control
Industrial Robots Coating/Painting Assembly of an automobile Robotic Control Drilling/ Welding/Cutting
Locomotion/Exploration Underwater exploration Space Exploration Robo-Cop Robotic Control
Medical a) World's first CE-marked medical robot for head surgery Need text a) World's first CE-marked medical robot for head surgery b) Surgical robot used in spine surgery, redundant manual guidance. c) Autoclavable instrument guidance (4 DoF) for milling, drilling, endoscope guidance and biopsy applications Robotic Control
House-hold/Entertainment Add Text Toys Asimo Robotic Control
Purpose of Robotic Control Direct control of forces or displacements of a manipulator Path planning and navigation (mobile robots) Compensate for robot’s dynamic properties (inertia, damping, etc.) Avoid internal/external obstacles Updated, added more detail Robotic Control
Mathematical Modeling Local vs. Global coordinates Translate from joint angles to end position Jacobian coordinate transforms linearization Kinematics Dynamics Rearranged to make more sense Robotic Control
Mechanics of Multi-link arms Local vs. Global coordinates Coordinate Transforms Jacobians Kinematics Added outline Robotic Control
Local vs. Global Coordinates Local coordinates Describe joint angles or extension Simple and intuitive description for each link Global Coordinates Typically describe the end effector / manipulator’s position and angle in space “output” coordinates required for control of force or displacement Robotic Control
Coordinate Transformation Cntd. Homogeneous transformation Matrix of partial derivatives Transforms joint angles (q) into manipulator coordinates Added additional explanationa nd equations Robotic Control
Coordinate Transformation 2-link arm, relative coordinates Step 1: Define x and y in terms of θ1 and θ2 Broke down coordinate transformation into steps Robotic Control
Coordinate Transformation Step 2: Take partial derivatives to find J Showed outcome of Jacobian calculation Robotic Control
Joint Singularities Occurs at: Singularity condition Loss of 1 or more DOF J becomes singular Occurs at: Boundaries of workspace Critical points (for multi-link arms Explain importance of singularity in terms of control issues Robotic Control
Finding the Dynamic Model of a Robotic System Dynamics Lagrange Method Equations of Motion MATLAB Simulation Added outline Robotic Control
Step 1: Identify Model Mechanics Example: 2-link robotic arm Add text descriptions of parts Source: Peter R. Kraus, 2-link arm dynamics Robotic Control
Step 2: Identify Parameters For each link, find or calculate Mass, mi Length, li Center of gravity, lCi Moment of Inertia, ii m1 Explain effects of varying link size and cross section i1=m1l12 / 3 Robotic Control
Step 3: Formulate Lagrangian Lagrangian L defined as difference between kinetic and potential energy: L is a scalar function of q and dq/dt L requires only first derivatives in time Robotic Control
Kinetic and Potential Energies Kinetic energy of individual links in an n-link arm Potential energy of individual links Explain parts of equation Height of link end Robotic Control
Energy Sums (2-Link Arm) T = sum of kinetic energies: V = sum of potential energies: Robotic Control
Step 4: Equations of Motion Calculate partial derivatives of L wrt qi, dqi/dt and plug into general equation: Non-conservative Forces (damping, inputs) Inertia (d2qi/dt2) Conservative Forces Robotic Control
Equations of Motion – Structure M – Inertia Matrix Positive Definite Configuration dependent Non-linear terms: sin(θ), cos(θ) C – Coriolis forces Non-linear terms: sin(θ), cos(θ), (dθ/dt)2, (dθ/dt)*θ Fg – Gravitational forces Robotic Control Source: Peter R. Kraus, 2-link arm dynamics
Equations of Motion for 2-Link Arm, Relative coordinates M- Inertia matrix Conservative forces (gravity) Coriolis forces, c(θi,dθi/dt) Point out non-lienarities Robotic Control Source: Peter R. Kraus, 2-link arm dynamics
Alternate Form: Absolute Joint Angles If relative coordinates are written as θ1’,θ2’, substitute θ1=θ1’ and θ2=θ2’+θ1’ Advantages: M matrix is now symmetric Cross-coupling of eliminated from C, from F matrices Simpler equations (easier to check/solve) Robotic Control
Matlab Code Robotic Control function xdot= robot_2link_abs(t,x) global T %parameters g = 9.8; m = [10, 10]; l = [2, 1];%segment lengths l1, l2 lc =[1, 0.5]; %distance from center i = [m(1)*l(1)^2/3, m(2)*l(2)^2/3]; %moments of inertia i1, i2, need to validate coef's c=[100,100]; xdot = zeros(4,1); %matix equations M= [m(2)*lc(1)^2+m(2)*l(1)^2+i(1), m(2)*l(1)*lc(2)^2*cos(x(1)-x(2)); m(2)*l(1)*lc(2)*cos(x(1)-x(2)),+m(2)*lc(2)^2+i(2)]; C= [-m(2)*l(1)*lc(2)*sin(x(1)-x(2))*x(4)^2; -m(2)*l(1)*lc(2)*sin(x(1)-x(2))*x(3)^2]; Fg= [(m(1)*lc(1)+m(2)*l(1))*g*cos(x(1)); m(2)*g*lc(2)*cos(x(2))]; T =[0;0]; % input torque vector tau =T+[-x(3)*c(1);-x(4)*c(2)]; %input torques, xdot(1:2,1)=x(3:4); xdot(3:4,1)= M\(tau-Fg-C); Robotic Control
Matlab Code t0=0;tf=20; x0=[pi/2 0 0 0]; [t,x] = ode45('robot_2link_abs',[t0 tf],x0); figure(1) plot(t,x(:,1:2)) Title ('Robotic Arm Simulation for x0=[pi/2 0 0 0]and T=[sin(t);0] ') legend('\theta_1','\theta_2') Robotic Control
Open Loop Model Validation Zero State/Input Add text Arm falls down and settles in that position Robotic Control
Open Loop - Static Equilibrium x0= [-pi/2 pi/2 0 0] x0= [-pi/2 –pi/2 0 0] x0= [pi/2 pi/2 0 0] x0= [pi/2 -pi/2 0 0] Arm does not change its position- Behavior is as expected Robotic Control
Open Loop - Step Response Torque applied to second joint Torque applied to first joint When torque is applied to the first joint, second joint falls down When torque is applied to the second joint, first joint falls down Robotic Control
Input (torque) as Sine function Torque applied to first joint Torque applied to first joint When torque is applied to the first joint, the first joint oscillates and the second follows it with a delay When torque is applied to the second joint, the second joint oscillates and the first follows it with a delay Robotic Control
Robotic Control Path Generation Displacement Control Force Control Hybrid Control Robotic Control
Path Generation To find desired joint space trajectory qd(t) given the desired Cartesian trajectory using inverse kinematics Given workspace or Cartesian trajectory in the (x, y) plane which is a function of time t. Arm control, angles θ1, θ2, Convenient to convert the specified Cartesian trajectory (x(t), y(t)) into a joint space trajectory (θ1(t), θ2(t)) Robotic Control
Trajectory Control Types Displacement Control Control the displacement i.e. angles or positioning in space Robot Manipulators Adequate performance rigid body Only require desired trajectory movement Examples: Moving Payloads Painting Objects Robotic Control
Trajectory Control Types (cont.) Force Control – Robotic Manipulator Rigid “stiff” body makes if difficult Control the force being applied by the manipulator – set-point control Examples: Grinding Sanding Robotic Control
Trajectory Control Types (cont.) Hybrid Control – Robot Manipulator Control the force and position of the manipulator Force Control, set-point control where end effector/ manipulator position and desired force is constant. Idea is to decouple the position and force control problems into subtasks via a task space formulation. Example: Writing on a chalk board Robotic Control
Next Time… Path Generation Displacement (Position) Control Force Control Hybrid Control i.e. Force/Position Feedback Linearization Adaptive Control Neural Network Control 2DOF Example Robotic Control