MEM380 Applied Autonomous Robots I Winter Feedback Control USARSim

Similar documents
MEM380 Applied Autonomous Robots I Fall Introduction to Sensors & Perception

L09. PID, PURE PURSUIT

Advanced Servo Tuning

Experiment 9. PID Controller

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

International Journal of Research in Advent Technology Available Online at:

Brett Browning and. Spring 2011

Intelligent Robotics Sensors and Actuators

Chapter 5. Tracking system with MEMS mirror

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

Introduction to Servo Control & PID Tuning

Pan-Tilt Signature System

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

Motor Modeling and Position Control Lab 3 MAE 334

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

Figure 1.1: Quanser Driving Simulator

CENG 5931 HW 5 Mobile Robotics Due March 5. Sensors for Mobile Robots

CSE 3215 Embedded Systems Laboratory Lab 5 Digital Control System

Design Project Introduction DE2-based SecurityBot

PROCESS DYNAMICS AND CONTROL

Control System Design for Tricopter using Filters and PID controller

Brainstorm. In addition to cameras / Kinect, what other kinds of sensors would be useful?

Teaching Mechanical Students to Build and Analyze Motor Controllers

Embedded Control Project -Iterative learning control for

DC motor control using arduino

An Introduction to Proportional- Integral-Derivative (PID) Controllers

Servo Tuning Tutorial

10/21/2009. d R. d L. r L d B L08. POSE ESTIMATION, MOTORS. EECS 498-6: Autonomous Robotics Laboratory. Midterm 1. Mean: 53.9/67 Stddev: 7.

Penn State Erie, The Behrend College School of Engineering

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

Sensors and Sensing Motors, Encoders and Motor Control


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

PROCESS DYNAMICS AND CONTROL

Robotics II DESCRIPTION. EXAM INFORMATION Items

Robot Autonomous and Autonomy. By Noah Gleason and Eli Barnett

SELF STABILIZING PLATFORM

Introduction. Purpose

New Long Stroke Vibration Shaker Design using Linear Motor Technology

VL1000 Software Version History VL1000 3/25/02 4/10/02 4/15/02 4/25/02 5/16/02 6/25/02 7/09/02 8/08/02

Welcome to SENG 480B / CSC 485A / CSC 586A Self-Adaptive and Self-Managing Systems

Application Note #2442

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

Sensors and Sensing Motors, Encoders and Motor Control

-binary sensors and actuators (such as an on/off controller) are generally more reliable and less expensive

1. Consider the closed loop system shown in the figure below. Select the appropriate option to implement the system shown in dotted lines using

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

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

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

Position Control of DC Motor by Compensating Strategies

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

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

OPTICS IN MOTION. Introduction: Competing Technologies: 1 of 6 3/18/2012 6:27 PM.

Lecture 5 Introduction to control

Omar E ROOD 1, Han-Sheng CHEN 2, Rodney L LARSON 3 And Richard F NOWAK 4 SUMMARY

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

Range Sensing strategies

Automatic Control Systems 2017 Spring Semester

FLCS V2.1. AHRS, Autopilot, Gyro Stabilized Gimbals Control, Ground Control Station

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

A Differential Steering Control with Proportional Controller for An Autonomous Mobile Robot

Sensing. Autonomous systems. Properties. Classification. Key requirement of autonomous systems. An AS should be connected to the outside world.

Motomatic Servo Control

GE 320: Introduction to Control Systems

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

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

MULTI-LAYERED HYBRID ARCHITECTURE TO SOLVE COMPLEX TASKS OF AN AUTONOMOUS MOBILE ROBOT

Mobile Robots (Wheeled) (Take class notes)

Automatic Control Systems

University of Florida Department of Electrical and Computer Engineering Intelligent Machine Design Laboratory EEL 4665 Spring 2013 LOSAT

Basic Tuning for the SERVOSTAR 400/600

Linear Motion Servo Plants: IP01 or IP02. Linear Experiment #0: Integration with WinCon. IP01 and IP02. Student Handout

Active Vibration Isolation of an Unbalanced Machine Tool Spindle

Closed-Loop Position Control, Proportional Mode

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

Embedded Robust Control of Self-balancing Two-wheeled Robot

MEM01: DC-Motor Servomechanism

5 Lab 5: Position Control Systems - Week 2

Phys Lecture 5. Motors

Ball Balancing on a Beam

Optimal Control System Design

Hybrid architectures. IAR Lecture 6 Barbara Webb

TODO add: PID material from Pont slides Some inverted pendulum videos Model-based control and other more sophisticated

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

1.6 Beam Wander vs. Image Jitter

Cantonment, Dhaka-1216, BANGLADESH

Wheeled Mobile Robot Obstacle Avoidance Using Compass and Ultrasonic

Laboratory Assignment 5 Digital Velocity and Position control of a D.C. motor

ME 375 System Modeling and Analysis

1. INTRODUCTION: 2. EOG: system, handicapped people, wheelchair.

NAVIGATION OF MOBILE ROBOTS

DC SERVO MOTOR CONTROL SYSTEM

Step vs. Servo Selecting the Best

A Fast PID Tuning Algorithm for Feed Drive Servo Loop

MTE 360 Automatic Control Systems University of Waterloo, Department of Mechanical & Mechatronics Engineering

MEM 01 DC MOTOR-BASED SERVOMECHANISM WITH TACHOMETER FEEDBACK

Tech Note #3: Setting up a Servo Axis For Closed Loop Position Control Application note by Tim McIntosh September 10, 2001

OughtToPilot. Project Report of Submission PC128 to 2008 Propeller Design Contest. Jason Edelberg

Automatic Control Motion control Advanced control techniques

PART 2 - ACTUATORS. 6.0 Stepper Motors. 6.1 Principle of Operation

Transcription:

MEM380 Applied Autonomous Robots I Winter 2011 Feedback Control USARSim

Transforming Accelerations into Position Estimates In a perfect world It s not a perfect world. We have noise and bias in our acceleration measurements: As a result Courtesy of John Spletzer (Lehigh U) MEM380: Applied Autonomous Robots I Fall 2012 2

But What About Orientation? In a perfect world It s not a perfect world. We have noise and bias in our acceleration measurements: As a result Courtesy of John Spletzer (Lehigh U) MEM380: Applied Autonomous Robots I Fall 2012 3

From Local Sensor Measurements to Inertial Frame Pose Estimates Courtesy of John Spletzer (Lehigh U) MEM380: Applied Autonomous Robots I Fall 2012 4

The Impact of Orientation Bias Ignoring noise: Let s assume that our sensor frame is oriented in an eastwardly direction, and ω=0 Courtesy of John Spletzer (Lehigh U) MEM380: Applied Autonomous Robots I Fall 2012 5

Inertial Navigation Strategy Noise & bias cannot be eliminated Bias in accelerometers/gyros induces errors in position that scale quadratically/cubicly with time Bias impact can be reduced through frequent recalibrations to zero out current bias Bottom line: Inertial navigation provide reasonable position estimates over short distances/time periods Inertial navigation has better performance outdoors than encoders/odometry Inertial navigation must be combined with other sensor inputs for extended position estimation Courtesy of John Spletzer (Lehigh U) MEM380: Applied Autonomous Robots I Fall 2012 6

Feedback Control Motivation Open Loop vs. Closed Loop Basic Feedback Controllers References Matlab Control Tutorial http://www.engin.umich.edu/group/ctm/pid/pid.html Courtesy of John Spletzer (Lehigh U) MEM380: Applied Autonomous Robots I Fall 2012 J. R. Spletzer 7

Motivating Example You are in charge regulating the linear velocity of the robot using taking inputs from the encoder and sending 0-255 outputs to the speed controller How would you design a controller to do this? Obvious Solution: Drive the car at each of the different speed controller values and store the results in a look up table Obviously WRONG Solution: What if the incline of the ground is not the same level? What if the rolling friction on the ground is different? What if the battery voltage was different from when you calibrated? What if Courtesy of John Spletzer (Lehigh U) MEM380: Applied Autonomous Robots I Fall 2012 8

The Role of Control We have many ways of measuring the state (position, orientation, wheel velocity, etc.) of our robot In practice many tasks require us to alter the current state via a control output in order to achieve an objective or desired state: Cruise control: Maintain a constant velocity using input from our encoders and outputting a signal to the speed controller Wall Follower: Measure our orientation to the wall using input from our IR sensors and output a change to our steering angle Target Tracking: Pan/Tilt the camera in order to maintain the target within the camera s image Controllers provide a mechanism for achieving the robot state Courtesy of John Spletzer (Lehigh U) MEM380: Applied Autonomous Robots I Fall 2012 9

What is a controller? In this context, a controller is a function that maps differences between the state x and objective state x d values to outputs that we can regulate on our robot Inputs are typically the state error (or the state itself) We observe these from one of the 3 weeks of perception paradigms we examined Outputs are control signals to some actuator Voltage signal to a speed controller Steering signal to a servo motor Courtesy of John Spletzer (Lehigh U) MEM380: Applied Autonomous Robots I Fall 2012 10

Open Loop Control (1) Sometimes referred to as ballistic movements Error is measured, and a single output is calculated to bring the error to zero no additional feedback! Open loop control can still be used if you have accurate sensing to and a well calibrated output Courtesy of John Spletzer (Lehigh U) MEM380: Applied Autonomous Robots I Fall 2012 11

Open Loop Control (2) Advantages: Cheap Fast Can be effective if well calibrated Can be used for in learning a controller Used by biological systems Disadvantages: Ignores additional sensing information Cannot accommodate for disturbances, changes in the environment, etc. Courtesy of John Spletzer (Lehigh U) MEM380: Applied Autonomous Robots I Fall 2012 12

Feedback Control (1) Aka Closed-loop Control The Idea: Why not use observations from one of those sensors to provide feedback on the current state t value and adjust the input accordingly The Challenge: Feedback must be done in real-time If your feedback frequency is f, you are running an open loop controller for 1/f seconds between updates The frequency of f is a function of the application. As fast as your actuator can respond is ideal, but you can reach a point of diminishing returns Courtesy of John Spletzer (Lehigh U) MEM380: Applied Autonomous Robots I Fall 2012 13

Feedback Control (2) The objective of the controller is to drive the system error to zero at all times Feedback controllers rely both on the magnitude and direction of the error The higher h the rate of feedback the better the controller performance We will examine the three primary linear controller designs: P (proportional) PD (proportional-derivative) PID (proportional-integral-derivative) Courtesy of John Spletzer (Lehigh U) MEM380: Applied Autonomous Robots I Fall 2012 14

Proportional (P) Controller Output is proportional to the input (error) Input is amplified by some proportional value k p referred to as the controller gain to obtain the corresponding output signal Courtesy of John Spletzer (Lehigh U) MEM380: Applied Autonomous Robots I Fall 2012 15

Robot Velocity P Controller (1) Let s say we wish to regulate the linear velocity of our differential drive robot We will assume that Our control law then becomes Let s assume that our robot is starting from a stop and is to accelerate to 1 m/s, how does out P controller perform? Courtesy of John Spletzer (Lehigh U) MEM380: Applied Autonomous Robots I Fall 2012 16

Robot Velocity P Controller (2) Courtesy of John Spletzer (Lehigh U) MEM380: Applied Autonomous Robots I Fall 2012 17

Characterizing Controller Performance (1) Four main parameters often used as metrics: Rise time (t r ) Time to rise from 0.1 to 0.9 desired value Overshoot (M p ) Largest magnitude in excess of desired value Settling time (t s ) Time when e 0.01x d Steady-state error Error remaining after the controller input is no longer affecting plant output t Courtesy of John Spletzer (Lehigh U) MEM380: Applied Autonomous Robots I Fall 2012 18

Characterizing Controller Performance (2) Courtesy of John Spletzer (Lehigh U) MEM380: Applied Autonomous Robots I Fall 2012 19

Robot Velocity P Controller (3) Courtesy of John Spletzer (Lehigh U) MEM380: Applied Autonomous Robots I Fall 2012 20

Proportional-Derivative (PD) Controller Real-world systems often have momentum Do not want to have a high velocity when near the desired state value, as this can lead to overshoot PD controller adds a derivative term to the P controller that is proportional to the rate of change in the error (x d -x) By regulating the input based on not just the error, but the rate of change of the error can help mitigate oscillations in the controller Courtesy of John Spletzer (Lehigh U) MEM380: Applied Autonomous Robots I Fall 2012 21

Robot Velocity PD Controller Courtesy of John Spletzer (Lehigh U) MEM380: Applied Autonomous Robots I Fall 2012 22

Proportional-Integral-Derivative (PID) Controller The last stage added is an integral component The PID controller adds an integral term that can offset steady-state errors observed by the system The idea is that if there is a steady-state error, over time the integral term will become sufficiently large and begin to influence the output to compensate for these errors Courtesy of John Spletzer (Lehigh U) MEM380: Applied Autonomous Robots I Fall 2012 23

Robot Velocity PID Controller Courtesy of John Spletzer (Lehigh U) MEM380: Applied Autonomous Robots I Fall 2012 24

Controller Characteristics Summary Note that when using multiple terms, correlations between the components can alter effects Treat this table as a guideline in choosing your gain values as a result Courtesy of John Spletzer (Lehigh U) MEM380: Applied Autonomous Robots I Fall 2012 25

Why does it work? Courtesy of John Spletzer (Lehigh U) MEM380: Applied Autonomous Robots I Fall 2012 26

Tuning Gains Choosing appropriate gains is critical to optimizing controller performance Sometimes this can be accomplished analytically Other times require empirical modeling Even if you can obtain the optimal gain from analysis, you have only done this on a model of your system You will still need to tune the gains empirically on the actual hardware to optimize performance If your model is of sufficient fidelity, you will have a feasible region of gain values where your controller will perform well in practice Courtesy of John Spletzer (Lehigh U) MEM380: Applied Autonomous Robots I Fall 2012 27

Sample Application: ATRS Wheelchair Docking Consider the differential drive robot Courtesy of J. Spletzer (Lehigh U) Courtesy of John Spletzer (Lehigh U) MEM380: Applied Autonomous Robots I Fall 2012 28

Wheelchair Docking Assumptions: Linear velocity is constant Our output is angular velocity of the chair For error, we will use the distance from the y-axis From which we design a PD controller as: Since y d =0 and is constant, this reduces to Courtesy of J. Spletzer (Lehigh U) Courtesy of John Spletzer (Lehigh U) MEM380: Applied Autonomous Robots I Fall 2012 29

Wheelchair Docking From our kinematic model we have By defining we obtain Courtesy of J. Spletzer (Lehigh U) Courtesy of John Spletzer (Lehigh U) MEM380: Applied Autonomous Robots I Fall 2012 30

Experimental Results This is a PD controller designed using input- output feedback linearization. A critically damped behavior is obtained by setting Courtesy of J. Spletzer (Lehigh U) Courtesy of John Spletzer (Lehigh U) MEM380: Applied Autonomous Robots I Fall 2012 31

Experimental Results This is a PD controller designed using input-output feedback linearization. A critically damped behavior is obtained by setting Courtesy of John Spletzer (Lehigh U) MEM380: Applied Autonomous Robots I Fall 2012 32

Summary General Rules for Design: Use the simplest controller that does the job Start with a proportional controller and add additional terms as necessary Tune the gains based on theory and empirical results (this can be as much of an art as a science) Less terms = less gains Tuning a P controller is a 1D optimization problem Tuning a PID controller is a 3D optimization problem PD/PID controllers are very common in industrial applications Courtesy of John Spletzer (Lehigh U) MEM380: Applied Autonomous Robots I Fall 2012 33

USARSim high-fidelity simulation of robots and environments based on the Unreal Tournament game engine. Installation Procedure (IMPORTANT!) Install UT2004 Install UT2004-WinPatch3369 Install USARSim v3.37 Copy Relevant Files Compile MEM380: Applied Autonomous Robots I Fall 2012 34

Wk2 Assignment: Motion Control of a Differentially Driven Robot Pioneer 2-AT Specifications (www.activrobots.com) com) Drive Drive Wheel Diameter Drive Wheel Width Steering Max Translational Speed Max Wheel Rotational Speed Sensors Front sonar ring Pan-Tilt-Zoom Camera IMU Sensor 4-wheel drive 26 cm 7.5 cm Skid-Steer 07m/s 0.7 5.385 rad/s Wheel Encoders Laser Range Finder Odometry Sensor MEM380: Applied Autonomous Robots I Fall 2012 35

Final Project USARSim Challenge Autonomous cargo delivery in an urban environment Objective: Autonomously navigate to a set of pre-assigned locations in the shortest possible time Assumptions: Partially known map Goal delivery stops are given to you at the start of the challenge in increasing order of difficulty to reach You will be given 10 minutes (UT time) to complete your deliveries Must avoid obstacles Final Project Grade 25% Final project report 25% Final project presentation 50% Final project demo Project Demo Grade Computed based on a combination of time for completion, number of obstacles avoided/not avoided, number of deliveries made, number of sensors used Performance in relation to other teams in class MEM380: Applied Autonomous Robots I Fall 2012 36

Example Obstacle Course MEM380: Applied Autonomous Robots I Fall 2012 37

Sample Schedule Next week: form teams of 2-3 (no more, no less) E-mail: mem380.grader@gmail.com Sample complete maps will be provided starting TODAY Final partial map will be made available 2/21 Project Presentations in class on 3/7 15 min / team Competition Day == Final Exam Day 3/19 Reschedule Final Exam to 3/17 8-10 am Final Report Due Date 3/17 @ 10 am 1 Page Competition Post-Mortem == Final Exam Day 11:59 EST MEM380: Applied Autonomous Robots I Fall 2012 38