Robot Control Basics CS 685

Similar documents
Manipulator Dynamics 2. Instructor: Jacob Rosen Advanced Robotic - MAE 263D - Department of Mechanical & Aerospace Engineering - UCLA

Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik. Robot Dynamics. Dr.-Ing. John Nassour J.

Rotational & Rigid-Body Mechanics. Lectures 3+4

CONTROL OF THE NONHOLONOMIC INTEGRATOR

Translational and Rotational Dynamics!

Today. Why idealized? Idealized physical models of robotic vehicles. Noise. Idealized physical models of robotic vehicles

Review: control, feedback, etc. Today s topic: state-space models of systems; linearization

Control of Mobile Robots

CHAPTER 1. Introduction

ARW Lecture 04 Point Tracking

Robot Dynamics - Rotary Wing UAS: Control of a Quadrotor

Rotor reference axis

Quadcopter Dynamics 1

Quaternion-Based Tracking Control Law Design For Tracking Mode

UAV Coordinate Frames and Rigid Body Dynamics

Rotational Motion. Chapter 4. P. J. Grandinetti. Sep. 1, Chem P. J. Grandinetti (Chem. 4300) Rotational Motion Sep.

In this section of notes, we look at the calculation of forces and torques for a manipulator in two settings:

Classical Mechanics. Luis Anchordoqui

Nonholonomic Constraints Examples

ECE557 Systems Control

ECEN 420 LINEAR CONTROL SYSTEMS. Lecture 6 Mathematical Representation of Physical Systems II 1/67

Extremal Trajectories for Bounded Velocity Differential Drive Robots

Dynamics. Basilio Bona. Semester 1, DAUIN Politecnico di Torino. B. Bona (DAUIN) Dynamics Semester 1, / 18

Lecture Schedule Week Date Lecture (M: 2:05p-3:50, 50-N202)

(W: 12:05-1:50, 50-N202)

Linear Systems Theory

Robot Dynamics II: Trajectories & Motion

Phys 7221 Homework # 8

6. 3D Kinematics DE2-EA 2.1: M4DE. Dr Connor Myant

Quadrotor Modeling and Control

Robotics. Dynamics. Marc Toussaint U Stuttgart

Time Response of Dynamic Systems! Multi-Dimensional Trajectories Position, velocity, and acceleration are vectors

Lecture AC-1. Aircraft Dynamics. Copy right 2003 by Jon at h an H ow

Control of a Car-Like Vehicle with a Reference Model and Particularization

CIS 4930/6930: Principles of Cyber-Physical Systems

Lecture Note 1: Background

Circumnavigation with a group of quadrotor helicopters

Modelling of Opposed Lateral and Longitudinal Tilting Dual-Fan Unmanned Aerial Vehicle

Torque and Rotation Lecture 7

Dynamic Modeling of Fixed-Wing UAVs

Introduction to Robotics

Robotics, Geometry and Control - A Preview

1/30. Rigid Body Rotations. Dave Frank

Autonomous Underwater Vehicles: Equations of Motion

Dynamics and Control of Rotorcraft

Chapters 10 & 11: Rotational Dynamics Thursday March 8 th

Game Physics. Game and Media Technology Master Program - Utrecht University. Dr. Nicolas Pronost

Rotational motion of a rigid body spinning around a rotational axis ˆn;

General Physics I. Lecture 10: Rolling Motion and Angular Momentum.

Rigid bodies - general theory

Previously Monte Carlo Integration

CP1 REVISION LECTURE 3 INTRODUCTION TO CLASSICAL MECHANICS. Prof. N. Harnew University of Oxford TT 2017

Lecture II: Rigid-Body Physics

Stress, Strain, Mohr s Circle

Kinematics (special case) Dynamics gravity, tension, elastic, normal, friction. Energy: kinetic, potential gravity, spring + work (friction)

Dynamical Systems & Lyapunov Stability

NONLINEAR PATH CONTROL FOR A DIFFERENTIAL DRIVE MOBILE ROBOT

The Jacobian. Jesse van den Kieboom

A motion planner for nonholonomic mobile robots

Chapter 1 Lecture 2. Introduction 2. Topics. Chapter-1

EE Homework 3 Due Date: 03 / 30 / Spring 2015

Trajectory-tracking control of a planar 3-RRR parallel manipulator

Topic # /31 Feedback Control Systems. Analysis of Nonlinear Systems Lyapunov Stability Analysis

In the presence of viscous damping, a more generalized form of the Lagrange s equation of motion can be written as

Lesson Rigid Body Dynamics

Chapter 6: Momentum Analysis

9 Kinetics of 3D rigid bodies - rotating frames

Control of Mobile Robots Prof. Luca Bascetta

Engineering Mechanics

Chapter 4 The Equations of Motion

3 2 6 Solve the initial value problem u ( t) 3. a- If A has eigenvalues λ =, λ = 1 and corresponding eigenvectors 1

EN Nonlinear Control and Planning in Robotics Lecture 2: System Models January 28, 2015

Lecture 13 REVIEW. Physics 106 Spring What should we know? What should we know? Newton s Laws

, respectively to the inverse and the inverse differential problem. Check the correctness of the obtained results. Exercise 2 y P 2 P 1.

Aircraft Maneuver Regulation: a Receding Horizon Backstepping Approach

Lecture 41: Highlights

Rigid body simulation. Once we consider an object with spatial extent, particle system simulation is no longer sufficient

Chapter 6 Dynamics I: Motion Along a Line

Physics 106a, Caltech 4 December, Lecture 18: Examples on Rigid Body Dynamics. Rotating rectangle. Heavy symmetric top

For a rigid body that is constrained to rotate about a fixed axis, the gravitational torque about the axis is

Dynamics. 1 Copyright c 2015 Roderic Grupen

The Inverted Pendulum

2.010 Fall 2000 Solution of Homework Assignment 1

AB-267 DYNAMICS & CONTROL OF FLEXIBLE AIRCRAFT

Forces of Rolling. 1) Ifobjectisrollingwith a com =0 (i.e.no netforces), then v com =ωr = constant (smooth roll)

Line following of a mobile robot

Rotational Kinetic Energy

Physics 312, Winter 2007, Practice Final

Mathematical Models for the Triaxial Attitude Control Testbed

Dynamics of Open Chains

PLANAR KINETIC EQUATIONS OF MOTION (Section 17.2)

Adaptive Trim and Trajectory Following for a Tilt-Rotor Tricopter Ahmad Ansari, Anna Prach, and Dennis S. Bernstein

Autonomous Mobile Robot Design

General Definition of Torque, final. Lever Arm. General Definition of Torque 7/29/2010. Units of Chapter 10

Rotational Motion. Rotational Motion. Rotational Motion

Symmetries 2 - Rotations in Space

Assignment 9. to roll without slipping, how large must F be? Ans: F = R d mgsinθ.

ENGG 5402 Course Project: Simulation of PUMA 560 Manipulator

1 Trajectory Generation

A Blade Element Approach to Modeling Aerodynamic Flight of an Insect-scale Robot

Transcription:

Robot Control Basics CS 685

Control basics Use some concepts from control theory to understand and learn how to control robots Control Theory general field studies control and understanding of behavior of dynamical systems (robots, epidemics, biological systems, stock markets etc.)

Control basics Basic ingredients - state of the system current position of the robot - dynamics behavior of the systems as a function of time (description how system state changes as a function of time) - system of differential equations x = v cosθ y = v sinθ θ = ω x = [x, y,θ] x = f( x, u ) - control input which can affect the behavior u = [v,ω] - controller which takes some function of the goal, the state

Control basics Basic ingredients - controller which takes some function of the goal, the state - y output, measurement of some aspect of the state Feedback control how to compute the control based on output (state) and the desired objective r + - u x y Difference equations (examples) x k+1 = f( x k, u k )

Simple control strategies Moving to a point go to a point Consider a problem of moving to a point (x,y) How to control angular and linear velocity of the mobile robot Linear velocity proportional to distance Angular velocity steer towards the goal Following a line steer toward a line Angular velocity proportional to the combination distance from the line and also to alignment with the line

Moving to a point Differential drive robot go from the current pose to desired point with coordinates [x,y ] T [x, y, ] T = tan 1 y x v = K v p (x x) 2 +(y y) 2 )! = K h ( ) [x,y ] T [x, y, ] T y x {I} {R} Source P. Corke: Robotics, Vision and Control. Springer

Moving to a line Equation of a line Shortest distance of the robot the line Orientation of the line [x, y, ] T {I} {R} ax + by + c =0 d = [a, b, c][x, y, 1]T p a2 + b 2 = tan 1 d = K d d K d > 0 Steer towards the line and align the robot with the line a b h = K h ( )! = K d d + K h ( )

Following a path Same as going to the point now sequence of waypoints x(t),y(t) [x,y ] T = tan 1 y y p x x e = K v (x x) 2 +(y y) 2 ) d [x, y, ] T {I} {R} d distance behind the pursuit point v = K v e + K i Z! = K h ( ) edt Source P. Corke: Robotics, Vision and Control. Springer

More suitable alternative Feedback control Use state feedback controller At each instance of time compute a control law Given the current error between current and desired position Δy

Kinematic Position Control The kinematic of a differential drive mobile robot described in the initial frame {x I, y I, θ} is given by, Δy I x! cosθ = y! sinθ! θ 0 0 v 0 ω 1 relating the linear velocities in the direction of the x I and y I of the initial frame. Let α denote the angle between the x R axis of the robots reference frame and the vector connecting the center of the axle of the wheels with the final position. R. Siegwart, I. Nourbakhsh

Motion Control (kinematic control) 3.6 The objective of a kinematic controller is to follow a trajectory described by its position and/or velocity profiles as function of time. Motion control is not straight forward because mobile robots are non-holonomic systems. However, it has been studied by various research groups and some adequate solutions for (kinematic) motion control of a mobile robot system are available. Most controllers are not considering the dynamics of the system R. Siegwart, I. Nourbakhsh

Motion Control: Feedback Control 3.6.1 Set intermediate positions lying on the requested path. Given a goal how to compute the control commands for linear and angular velocities to reach the desired configuration Problem statement Given arbitrary position and orientation of the robot how to reach desired goal orientation and position [x, y,θ] [x g, y g,θ g ] Δy R. Siegwart, I. Nourbakhsh

Motion Control: Feedback Control, Problem Statement 3.6.2 y R ω (t) start v(t) θ x R e goal Find a control matrix K, if exists k11 k12 k13 K = k 21 22 23 with k ij =k(t,e) such that the control of v(t) and ω(t) k k v( t) = K e = K ω ( t) R x y θ drives the error e to zero. lim e( t) = 0 t R. Siegwart, I. Nourbakhsh

Motion Control: Kinematic Position Control 3.6.2 The kinematic of a differential drive mobile robot described in the initial frame {x I, y I, θ} is given by, I x! y!! θ = cosθ sinθ 0 0 v 0 ω 1 where and are the linear velocities in the direction of the x I and y I of the initial frame. Let α denote the angle between the x R axis of the robots reference frame and the vector connecting the center of the axle of the wheels with the final position.

Kinematic Position Control: Coordinates Transformation Coordinates transformation into polar coordinates with its origin at goal position: 3.6.2 Δy System description, in the new polar coordinates α For from for

Kinematic Position Control: Remarks 3.6.2 The coordinates transformation is not defined at x = y = 0; as in such a point the determinant of the Jacobian matrix of the transformation is not defined, i.e. it is unbounded For the forward direction of the robot points toward the goal, for it is the backward direction. By properly defining the forward direction of the robot at its initial configuration, it is always possible to have at t = 0. However this does not mean that α remains in I 1 for all time t.

Kinematic Position Control: The Control Law 3.6.2 It can be shown, that with the feedback controlled system will drive the robot to ρ, α, β = 0, 0, 0 The control signal v has always constant sign, the direction of movement is kept positive or negative during movement ( ) ( ) parking maneuver is performed always in the most natural way and without ever inverting its motion.

Question: How to select the constant parameters k s so as to achieve that the error will go to zero Digression eigenvectors and eigenvalues review

Eigenvalues and Eigenvectors Motivated by solution to differential equations For square matrices! " v w $! = A % " v w $ % Suppose solution have this form of exponentials For scalar ODE s Substitute back to the equation and denote x as then eq. above is

Eigenvalues and Eigenvectors eigenvalue eigenvector Solve the equation: x is in the null space of λ is chosen such that (1) has a null space Computation of eigenvalues and eigenvectors (for dim 2,3) 1. Compute determinant 2. Find roots (eigenvalues) of the polynomial such that determinant = 0 3. For each eigenvalue solve the equation (1) For larger matrices alternative ways of computation

For the previous example Eigenvalues and Eigenvectors We will get special solutions to ODE Their linear combination is also a solution (due to the linearity of ) In the context of diff. equations special meaning Any solution can be expressed as linear combination Individual solutions correspond to modes

Eigenvalues and Eigenvectors Only special vectors are eigenvectors - such vectors whose direction will not be changed by the transformation A (only scale) - they correspond to normal modes of the system act independently Examples eigenvalues 2, 3 eigenvectors Whatever A does to an arbitrary vector is fully determined by its eigenvalues and eigenvectors

Previously - Eigenvalues and Eigenvectors For the previous example We will get special solutions to ODE The linear combination is also a solution (due to the linearity of ) In the context of diff. equations special meaning Any solution can be expressed as linear combination Individual solutions correspond to modes

Eigenvalues of linear system Given linear system of differential equations ẋ = Ax For 2 dimesional system (A is 2 x 2), A has two eigenvalues Define = 1 2 and = 1 + 2 if if < 0 > 0 > 0 saddle node we have two cases 1. eigenvalues positive < 0 2. eigenvalues negative : stable nodes of the system

Kinematic Position Control: Resulting Path 3.6.2

Linearization But our system is not linear, e.g. cannot be written in the form ẋ = Ax

Some terminology We have derived kinematics equations of the robot Non-linear differential equation In our case x = f 1 (x,y,θ,v,ω) x = f (x,u) y = f 2 (x,y,θ,v,ω) θ = f 3 (x, y,θ,v,ω)

Jacobian Matrix Suppose you have two dim function Gradient operator Jacobian is defined as F x = J F Linearization of a function F (x) =F (x 0 )+J F (x 0 )dx Linearization of system of diff. equations ẋ = J F (x 0 )dx + F (x 0 )

Kinematic Position Control: Stability Issue 3.6.2 Continuous linear time-invariant system is exponentially stable if and only of the system has eigenvalues (i.e. poles of input-to-output systems) with strictly negative real parts Exponential Stability is a form of asymptotic stability In practice the system will not blow up give unbounded output, when given an finite input and non-zero initial condition

Kinematic Position Control: Stability Issue 3.6.2 It can further be shown, that the closed loop control system is locally exponentially stable if > β α ρ Proof: linearize around equilibrium for small x -> cos x = 1, sin x = x k ρ 0 ; k < 0 ; k k > 0 and the characteristic polynomial of the matrix A of all roots have negative real parts.

Quadcopters model Popular unmanned areal vehicles (description adopted from (Robotics, Vision and control book, P. Corke http:// www.petercorke.com/rvc/) T 3 T 4 ω 3 x ω 4 T 1 T 2 y ω 1 z ω 2 2 Upward thrust T i = bω i moving up in the negative z dir. Lift const. b depends on air density, blade radius and chord length

Quadcopters Translational dynamics (Newton s law includes mass/ acceleration/ forces) (Gravity Total thrust (rotated to the world frame)! m v = " 0 0 mg $! 0 R B % " Rotations are generated by pairwise differences in rotor thrusts (d distance from the center) Rolling and pitching torques around x and y Torque in z yaw torque Q i = kω i 2 τ z = (Q 1 Q 2 +Q 3 Q 4 ) 0 0 T $, T = T i i=1..4 % Torque applied by the motor as opposed to Aerodynamic drag τ x = dt 4 dt 2 τ x = db(ω 4 2 ω 2 2 ) τ y = db(ω 1 2 ω 3 2 )

Quadcopter dynamics! " Rotational Dynamics, rot. acceleration in the airframe, Euler s eq. of motion J ω = ω J ω + Γ, Where J is 3x3 inertia matrix Γ = [τ x,τ y,τ z ] T Forces and torques acting of the airframe obtained integrating forward the eq. above and Newton s second law (prev. slide) T τ x τ y τ z $! = % " b b b b 0 db 0 db db 0 db 0 k k k k The goal of control is then derive proper thrust and torque to achieve desired goal compute the rotor speeds! $ % " Substitute these to translational and rotational dynamics and get forward dynamics equations of quadropter ω 1 2 ω 2 2 ω 3 2 ω 4 2 $ %! " ω 1 2 ω 2 2 ω 3 2 ω 4 2 $! = A 1 % " T τ x τ y τ z $ %

Inertia Matrix Rotational Inertia of a body in 3D is represented by a 3x3 symmetric matrix J! J = " J xx J xy J xz J xy J yy J yz J xz J yz J zz $ % Diagonal elements are moments of inertia and offdiagonal are products of inertia Inertia matrix is a constant and depends on the mass and the shape of the body