Brett Browning and. Spring 2011

Similar documents
MEM380 Applied Autonomous Robots I Winter Feedback Control USARSim

MAE106 Laboratory Exercises Lab # 5 - PD Control of DC motor position

SRV02-Series Rotary Experiment # 3. Ball & Beam. Student Handout

Introduction to Servo Control & PID Tuning

ECE 5670/ Lab 5. Closed-Loop Control of a Stepper Motor. Objectives

LAB 5: Mobile robots -- Modeling, control and tracking

L09. PID, PURE PURSUIT

Robot Autonomous and Autonomy. By Noah Gleason and Eli Barnett

The Discussion of this exercise covers the following points: Angular position control block diagram and fundamentals. Power amplifier 0.

Advanced Servo Tuning

Hands-on Lab. PID Closed-Loop Control

DEPARTMENT OF ELECTRICAL AND ELECTRONIC ENGINEERING BANGLADESH UNIVERSITY OF ENGINEERING & TECHNOLOGY EEE 402 : CONTROL SYSTEMS SESSIONAL

Design of a Simulink-Based Control Workstation for Mobile Wheeled Vehicles with Variable-Velocity Differential Motor Drives

ME375 Lab Project. Bradley Boane & Jeremy Bourque April 25, 2018

Figure 1: Unity Feedback System. The transfer function of the PID controller looks like the following:

Advanced Motion Control Optimizes Laser Micro-Drilling

Fundamentals of Servo Motion Control

Servo Tuning. Dr. Rohan Munasinghe Department. of Electronic and Telecommunication Engineering University of Moratuwa. Thanks to Dr.

6.270 Lecture. Control Systems

Introduction to PID Control

Embedded Control Project -Iterative learning control for

Design Project Introduction DE2-based SecurityBot

A Searching Analyses for Best PID Tuning Method for CNC Servo Drive

Sensors and Sensing Motors, Encoders and Motor Control

SINGLE SENSOR LINE FOLLOWER

Root Locus Design. by Martin Hagan revised by Trevor Eckert 1 OBJECTIVE

MCE441/541 Midterm Project Position Control of Rotary Servomechanism

Equipment and materials from stockroom:! DC Permanent-magnet Motor (If you can, get the same motor you used last time.)! Dual Power Amp!

PYKC 7 March 2019 EA2.3 Electronics 2 Lecture 18-1

GE420 Laboratory Assignment 8 Positioning Control of a Motor Using PD, PID, and Hybrid Control

EE 308 Spring Preparation for Final Lab Project Simple Motor Control. Motor Control

MEM01: DC-Motor Servomechanism

Servo Tuning Tutorial

1. To study the influence of the gain on the transient response of a position servo. 2. To study the effect of velocity feedback.

SRVODRV REV7 INSTALLATION NOTES

A Fast PID Tuning Algorithm for Feed Drive Servo Loop

Motomatic Servo Control

L E C T U R E R, E L E C T R I C A L A N D M I C R O E L E C T R O N I C E N G I N E E R I N G

Figure 1.1: Quanser Driving Simulator

ME 5281 Fall Homework 8 Due: Wed. Nov. 4th; start of class.

Digital Control Lab Exp#8: PID CONTROLLER

Application Note #2442

NAVIGATION OF MOBILE ROBOTS

Module 08 Controller Designs: Compensators and PIDs

Basic Tuning for the SERVOSTAR 400/600

Chapter 10 Digital PID

Sensors and Sensing Motors, Encoders and Motor Control

Active Vibration Isolation of an Unbalanced Machine Tool Spindle

Rotary Motion Servo Plant: SRV02. Rotary Experiment #02: Position Control. SRV02 Position Control using QuaRC. Student Manual

Matlab source code for pid controller

Auto-Balancing Two Wheeled Inverted Pendulum Robot

VECTOR CONTROL SCHEME FOR INDUCTION MOTOR WITH DIFFERENT CONTROLLERS FOR NEGLECTING THE END EFFECTS IN HEV APPLICATIONS

TCS3 SERVO SYSTEM: Proposed Design

Design of stepper motor position control system based on DSP. Guan Fang Liu a, Hua Wei Li b

Experiment Of Speed Control for an Electric Trishaw Based on PID Control Algorithm

Where: (J LM ) is the load inertia referred to the motor shaft. 8.0 CONSIDERATIONS FOR THE CONTROL OF DC MICROMOTORS. 8.

Lab 11. Speed Control of a D.C. motor. Motor Characterization

ECE 5670/6670 Project. Brushless DC Motor Control with 6-Step Commutation. Objectives

Pan-Tilt Signature System

Comparative Study of PID and Fuzzy Controllers for Speed Control of DC Motor

Advanced Motion Control Optimizes Mechanical Micro-Drilling

Software User Manual

AE2610 Introduction to Experimental Methods in Aerospace

Implementation of Conventional and Neural Controllers Using Position and Velocity Feedback

Motion Control of a Three Active Wheeled Mobile Robot and Collision-Free Human Following Navigation in Outdoor Environment

Robust Control Design for Rotary Inverted Pendulum Balance

Galil Motion Control. DMC 3x01x. Datasheet

OPTIMAL AND PID CONTROLLER FOR CONTROLLING CAMERA S POSITION IN UNMANNED AERIAL VEHICLES

GE 320: Introduction to Control Systems

Control Methods for Temperature Control of Heated Plates

A Do-and-See Approach for Learning Mechatronics Concepts

Hydraulic Actuator Control Using an Multi-Purpose Electronic Interface Card

TigreSAT 2010 &2011 June Monthly Report

Laboratory Tutorial#1

GE423 Laboratory Assignment 6 Robot Sensors and Wall-Following

EE 461 Experiment #1 Digital Control of DC Servomotor

Rectilinear System. Introduction. Hardware

of harmonic cancellation algorithms The internal model principle enable precision motion control Dynamic control

Modeling Position Tracking System with Stepper Motor

Motor Modeling and Position Control Lab 3 MAE 334

Lecture 5 Introduction to control

Load Observer and Tuning Basics

ACTUATORS AND SENSORS. Joint actuating system. Servomotors. Sensors

Introduction. Example. Table of Contents

Designing neuro-fuzzy controller for electromagnetic anti-lock braking system (ABS) on electric vehicle

Teaching Mechanical Students to Build and Analyze Motor Controllers

Lecture 10. Lab next week: Agenda: Control design fundamentals. Proportional Control Proportional-Integral Control

EE 560 Electric Machines and Drives. Autumn 2014 Final Project. Contents

Sloshing Damping Control in a Cylindrical Container on a Wheeled Mobile Robot Using Dual-Swing Active-Vibration Reduction

Design and Control for Differential Drive Mobile Robot

Position Control of Servo Systems using PID Controller Tuning with Soft Computing Optimization Techniques

DC Motor Speed Control for a Plant Based On PID Controller

Administrative Notes. DC Motors; Torque and Gearing; Encoders; Motor Control. Today. Early DC Motors. Friday 1pm: Communications lecture

Phys Lecture 5. Motors

Master of Science in Computer Science and Engineering. Adaptive Warning Field System. Varun Vaidya Kushal Bheemesh

Control Strategies for BLDC Motor

The Air Bearing Throughput Edge By Kevin McCarthy, Chief Technology Officer

Implementation of Proportional and Derivative Controller in a Ball and Beam System

Class 5. Competency Exam Round 1. The Process Designer s Process. Process Control Preliminaries. On/Off Control The Simplest Controller

ME 375 System Modeling and Analysis

Transcription:

Brett Browning and M. Bernardine Dias Spring 2011

Lab #1 feedback Final project overview Final project teams Lab #2 overview Slide 2

Cluttered racing task Probably want to be able to accelerate fast, brake fast, turn quickly Reduce mass (better power to weight) Lower Center of Gravity Reduce rotational inertia (bring mass close to CG) Sensing Ensuring that your sensors can see the interesting bits for the task is essential E.g. where should lasers be, where should they aim? Protection Ensuring that computers/sensors can t be damaged is a good idea Always remember wires in a layout Accessibility Being able to access all the parts is very useful Slide 3

Hopefully you learned to Be prepared and on time for the demo Make sure it all works for the demo Start early, have a plan, re-evaluate as you proceed Driving Ramping up/down speeds is crucial to control Encoders are good, but may have calibration issues Sensor is good, but doesn t see everything Plotting Learn to use Matlab (initial pain, but very useful) Save data in text files: one sample per row, space or comma separated e.g. 1.3654 3.3 4.5678 1.4663 3.5 4.222 Load with matlab: data=load( foo.txt ); Slide 4

Slide 5

Slide 6

Introduction to control Closed-loop control PID control ER1 control Drive to a point Path following Next Slide 8

Detailed topic, but we ll just focus on PID control We won t be concerned with detailed analysis There are many books on the topic if you are interested! Also many courses (e.g. TAMUQ, CMU-P ) Key concepts Open loop vs closed (feedback) loop control Input vs. Response PID control Rules of thumb for tuning PID loops Slide 9

How to correct the command to achieve target? E.g. g Turn to point ω θ Slide 10

Generate a command (or sequence) to achieve the desired trajectory No feedback based on outcome Path planning is often done this way: have a model of how system will respond, pick the best command, then execute Slide 11 What can go wrong?

Generate a command (or sequence) to achieve the desired trajectory and adjust it based on sensed feedback Velocity control can be done this way, same for steering or visual servoing: See where we are and adjust based on our observed error Slide 12 What can go wrong?

Give an input, measure the output v cmd Input Response Linear speed robot Step input t Usually called the plant t If we knew the system response we could invert it to find the best command Slide 13

Slide 14

Step Parabola t t Ramp Sinusoidal t t Slide 15

** Multiple ways to define rise time Overshoot Input Ringing (non shown) Steady state error Rise time** Output Transitory Response Steady State Response Settling time t Typical control problem: For given input design system to achieve target response outputs Slide 16

Add feedback path and use error as input Command/in put v cmd (t) Error + e(t) - Robot (or plant) Sensed output v act (t) Actual Slide 17

Add feedback path and use error as input Command/in put v cmd (t) + - Error e(t) Controller Robot (or plant) Sensed Output v act (t) Actual Slide 18

Command is function of error and its integral/derivatives Proportional, Integral, Derivative In discrete time: v cmd (t) + - e(t ) v act (t) Controller Robot Sensed Output Slide 19

Command is function of error and its integral/derivatives Proportional, Integral, Derivative P I D In discrete time: v cmd (t) + e(t ) Controller Robot Sensed Output - v act (t) Slide 20

Typical response Input Smaller Kp Underdamped Output Larger Kp Overdamped t Slide 21

PIDControl(Kp,Ki,Kd,deltat): ierr=0 elast=0 while (1) { vdesired = get_new_command() vactual = sense_output() err = vdesired-vactual ierr += err*deltat derr = (err-elast)/deltat elast = err } vcmd = Kp*err + Ki*ierr + Kd*derr Slide 22

1. Check open loop response 2. Tune Kp to get okay performance (Ki=Kd=0) 3. Tune Ki to get zero S.S. Error 4. Tune Kd to reduce overshoot and improve rise-time response 5. Micro-tune Kp, Ki, Kd until target achieved Tuning by hand is an art. Mathematical derivation is better for serious vehicles. Slide 23

ER1 Controller Runs PID on (scaled) robot speed and rotation, with commands (vn,van) Returns encoder counts on left and right wheels (n r, n l ) Robot_server (C++) Performs translation from (v,w) to commands (vn,van) Performs dead reckoning to return (x,y,θ) (x,y) ω v Slide 24 Aligned with robot start position θ

javaer1 Lidar Server Robot*Main Net server Shared Memory UDP UDP ER1 Controller 2xDC Motors 2xOptical encoders, 512 CPR Lead-acid battery Slide 25 Robot Server er1_stereo Run remotely via ssh Xdriver BShell

Goal: Given target goal point, drive to it How do we do this? Driving arcs PID Trapezoidal control Slide 26

Given a path, how do we stay on the path? Carrot following and Pure pursuit PID on heading Dual controller Slide 27

Pick a point ahead on the path and execute drive to point How to pick the point? How far ahead? How to drive to point? Heading error? Closest point on path Slide 28 L Intersection with circle radius L

Circle intersection with path Drive a circular arc to intersect the point Driving Arc, radius r Intersection with circle Slide 29

Circle intersection with path Drive a circular arc to intersect the point Driving Arc, radius r curvature Intersection with circle L Slide 30

Given v, calculate w (some prefer curvature so invert accordingly) Driving Arc, radius r Note, sign takes care of left vs right turn Intersection with circle L Slide 31

Variations: Run a PID loop on target v Generalize eqn to PID loop Driving Arc, radius r Proportional control, can also add integral, derivative Intersection with circle L Slide 32

May care about heading error when we reach the path Run a PID on heading error Or, combine with pure pursuit Can get very creative but need to tune to vehicle and environment Pure pursuit Heading error Heading error Slide 33

Obstacle avoidance and navigation Arcs and potential fields Slide 34