ENGR101 T Engineering Technology. Arthur Roberts. School of Engineering and Computer Science Victoria University of Wellington

Size: px
Start display at page:

Download "ENGR101 T Engineering Technology. Arthur Roberts. School of Engineering and Computer Science Victoria University of Wellington"

Transcription

1 ENGR101 T Engineering Technology Arthur Roberts School of Engineering and Computer Science Victoria University of Wellington Arthur Roberts (ECS) ENGR101 1 / 32

2 Housekeeping Important ANNOUNCEMENT: CHOCOLATE is gone. Proof: Video New chocolate - reach same point but follow the line. Arthur Roberts (ECS) ENGR101 2 / 32

3 Lecture 26 Topic 1: Control algorithms Arthur Roberts (ECS) ENGR101 3 / 32

4 Reminder We talked a bit about control systems at last lecture. Summarizing: We want our system in certain state. But it is not. Difference is called error - and we want to keep it 0 If error is not 0 - we try to adjust Adjustment is constantly repeated For example, we want to keep landing plane in the middle of runway... Arthur Roberts (ECS) ENGR101 4 / 32

5 Diagramatically... General Control System: Example of a closed loop system: a system that responds to its current state. All smarts are in controller - it decides what to do if there is an error. Arthur Roberts (ECS) ENGR101 5 / 32

6 Conditional Solution - simple and WRONG Easy, is it? What is the problem here? if left half of runway > full turn right; if right half of runway > full turn left; if middle > steady as we go. Arrgh, captain... For every complex problem there is an answer that is clear, simple, and wrong. H. L. Mencken Read more at: Arthur Roberts (ECS) ENGR101 6 / 32

7 Thermostat Let s forget about robots and airplanes for a while and consider room heating (seems to be rather important subject now, does it?). Figure: Simple! If temperature is lower than comfortable - turn heater ON full blast If temperature is higher than comfortable - turn heater OFF Arthur Roberts (ECS) ENGR101 7 / 32

8 What happens? 20-5 air temperature We want that A B C D E heater ON time A - too cold, turn it ON A->B - good now, turn it OFF B - heater is OFF but still hot. Temperature in the room keep rising (slower though) B->C - temperature of the heater becomes same as air temperature. Air temperature stops increasing. C - Heater is OFF, air temperature dropping Arthur Roberts (ECS) ENGR101 8 / 32

9 What happens? air temperature 20-5 We want that A B C D E heater ON time C->D - becoming too cold, turn it ON D - temperature of heater rising. But is not high enough to start heating the air So temperature never actually is what we want it to be but going around and around. Improve? Arthur Roberts (ECS) ENGR101 9 / 32

10 Response is proportional to error 20-5 air temperature error We want that A B C D E heater ON time Heater have temperature setting We measure how far air temperature is off desired value (error) and adjust heater setting accordingly error is big - heater is on HIGH error is small - heater is on LOW When time reaches point A->B heater was in LOW setting for a while already, so air temperature in B will not overshoot that much Arthur Roberts (ECS) ENGR / 32

11 We are not designing heating system, right? Our error is distance between middle of the image and white line position (last lecture) ERROR We should adjust speed of left and right motor so that line stays in the middle In this case (line to the right) speed of left motor should go up and speed of right motor should go down - robot turns to the right. At the same time robot should keep going forward. How? Arthur Roberts (ECS) ENGR / 32

12 Speed proportional to error Declare unsigned char v_go - speed of going straight forward Declare unsigned char dv - difference in speed of left and right motors Now: Speed of right motor: v r = v_go + dv (set_motor(..,v_l)) Speed of left motor: v l = v_go dv(set_motor(..,v_r)) dv is proportional to error (scaling, overflow, type conversions!!!). Symbolically, dv = error Kp Left, right, forward and backward are confusing things - they change when you connect wires differently. Arthur Roberts (ECS) ENGR / 32

13 Demo Python Demo purposes only - not real thing Track is blue Robot trajectory - orange Arthur Roberts (ECS) ENGR / 32

14 Question! What is robot doing if you set Kp = 0.0 and implement formulas: (pseudocode, not C) dv = error Kp v_left = v_go + dv v_right = v_go dv set_motor(..., v_left) set_motor(..., v_right) 1 Go straight 2 Follow the line 3 Stay still Arthur Roberts (ECS) ENGR / 32

15 Kp influence What happens as Kp increases? Demo (KP1.py): Kp = 0.0 kp = kp = breakdown Kp goes up Kp=0 Bigger Kp results in robot reacting more (turning further) to same error. Eventually it becomes hysterical. So answer is - choose right value of Kp and it works. Arthur Roberts (ECS) ENGR / 32

16 ALL PROBLEMS SOLVED!! Yeah, right... But let us have a look at heating system again... air temperature air temperature 20 We want that 20 error We want that -5 A B C D E heater ON time -5 A B C D E heater ON time It takes longer with proportional. It is understandable - controller is not pushing to the limit - its slowing down to avoid the overshooting. Can we speed things up a bit? Arthur Roberts (ECS) ENGR / 32

17 Brakes... kp2>kp1 Slow down here Figure: time kp1 It would be good to keep K p high - faster regulation But we risk system becoming non-stable If we can apply brakes when system approaches desired state? How to detect that? It is going faster - rate of change Arthur Roberts (ECS) ENGR / 32

18 How detect rate of change? e1 e0 t0 t1 time We measure error e0 at moment of time t0. We measure error e1 at moment of time t1. Rate of change (derivative) is de dt = e1 e0 t1 t0 (1) Controller should remember last measurement to calculate rate of change. Arthur Roberts (ECS) ENGR / 32

19 Demo Kp = limit Kd = This, actually, is almost perfect adjustment - fast without much overshooting. As an exercise - there is another way to detect rate of change for this robot. How? Arthur Roberts (ECS) ENGR / 32

20 Our program flow (pseudocode) repeat... error = line_off _centre() recall_previous_error_value de/dt =... dv = error Kp + de/dt Kd v_left = v_go + dv v_right = v_go dv set_motor(..., v_left) set_motor(..., v_right) More on programming later. How to get Kp and Kd values? Arthur Roberts (ECS) ENGR / 32

21 Have to keep trying... Set Kp and Kd both to 0. Robot should go straight(ish - motors are not identical) Increase Kp until robot follows the line - including curved parts. Increase Kp until robot starts swinging but still follows the line Start changing Kd until movement is smooth Arthur Roberts (ECS) ENGR / 32

22 Demo videos Arthur Roberts (ECS) ENGR / 32

23 PID controller - workhorse of automatic control PID stands for: P: Proportional - response to current error value. I: Integral - response to total (sum) error value over time. D: Derivative - response to rate of change of error value. The strength of each response is tuned by a constant of proportionality: k p, k i or k d respectively. Arthur Roberts (ECS) ENGR / 32

24 Back to our closed loop system General PID Control System: Example of a closed loop PID system. Note that all responses are summed back together before the output is determined. Arthur Roberts (ECS) ENGR / 32

25 Integral? time Both proportional and derivative terms are localized Sometimes there is some offset in the system which is so small that can properly measured only over long periods of time Integral accumulates error over time so offset can be eliminated Our time periods are too short for integral term to work Arthur Roberts (ECS) ENGR / 32

26 Lecture 26 Topic 2: Programming AVC hint Arthur Roberts (ECS) ENGR / 32

27 General comments It is logical to make program run forever as there is no need really to stop it when robot reaches finish line. int main() { while(1) { // miracle happens... } } Listing 1: Caption comes handy here. Algorithms for different quadrants are quite different - better to have some variable to store current quadrant, say quad Arthur Roberts (ECS) ENGR / 32

28 Programming it I To engage different functions you can use either if or switch operators. int main(){ int quad = 0; while(1) { if (quad == 0) { // do quadrant 0 } if (quad == 1) { // do quadrant 1 } //... etc }... return 0; } Listing 2: if version Arthur Roberts (ECS) ENGR / 32

29 Programming it - switch operator switch is like if with multiple choices. Listing 3: Caption int main() { int a = 10; switch(a){ case 0: printf("value is 0\n"); break; case 1: printf("value is 1\n"); break; default: printf("not listed\n"); break; } } if value is found in the list - everything between case value and break is executed - careful here. break jumps out of switch. if value is not found - default branch is executed. value not found and no default - nothing is executed Arthur Roberts (ECS) ENGR / 32

30 Programming it - switch operator Listing 4: Caption int main() { int a = 1; switch(a){ case 0: printf("value is 0\n"); break; case 1: printf("value is 1\n"); break; default: printf("not listed\n"); break; } } What is an output? 1 "value is 0" 2 "value is 1" 3 "Not listed" Arthur Roberts (ECS) ENGR / 32

31 Programming it - switch operator Listing 5: Caption int main() { int a = 0; switch(a){ case 0: printf("value is 0\n"); case 1: printf("value is 1\n"); default: printf("not listed\n"); } } What is an output? 1 value is 0 2 value is 0 value is 1 Not listed 3 Nothing Arthur Roberts (ECS) ENGR / 32

32 Programming it - tricky function in Quadrant 2 There is possibly tricky function in Quadrant 2: wiggly line following. it would be good to have the function which returns error - estimation of how far from the center of camera image. Something like ERROR Listing 6: Caption int estim_error() { // miracle happens here return error; } would be lovely, thank you. Problem is, may be we lost white line altogether. How to make function to return this information? Right now function returns int. Arthur Roberts (ECS) ENGR / 32

21. PID control The theory of PID control

21. PID control The theory of PID control 1 21. PID control The PID (Proportional Integral Differential) controller is a basic building block in regulation. It can be implemented in many different ways, this example will show you how to code it

More information

Congruence Arithmetic

Congruence Arithmetic Module 4 Congruence Arithmetic Popper 4 Introduction to what is like Modulus choices Partitions by modulus Mod 5 Mod 7 Mod 30 Modular Arithmetic Addition Subtraction Multiplication INTEGERS! Mod 12 Cayley

More information

introduction to Programming in C Department of Computer Science and Engineering Lecture No. #40 Recursion Linear Recursion

introduction to Programming in C Department of Computer Science and Engineering Lecture No. #40 Recursion Linear Recursion introduction to Programming in C Department of Computer Science and Engineering Lecture No. #40 Recursion Linear Recursion Today s video will talk about an important concept in computer science which is

More information

ISY00245 Principles of Programming. Module 7

ISY00245 Principles of Programming. Module 7 ISY00245 Principles of Programming Module 7 Module 7 Loops and Arrays Introduction This week we have gone through some of the concepts in your lecture, and will be putting them in to practice (as well

More information

Stepwise Refinement. Lecture 12 COP 3014 Spring February 2, 2017

Stepwise Refinement. Lecture 12 COP 3014 Spring February 2, 2017 Stepwise Refinement Lecture 12 COP 3014 Spring 2017 February 2, 2017 Top-Down Stepwise Refinement Top down stepwise refinement is a useful problem-solving technique that is good for coming up with an algorithm.

More information

Note. The above image and many others are courtesy of - this is a wonderful resource for designing circuits.

Note. The above image and many others are courtesy of   - this is a wonderful resource for designing circuits. Robotics and Electronics Unit 2. Arduino Objectives. Students will understand the basic characteristics of an Arduino Uno microcontroller. understand the basic structure of an Arduino program. know how

More information

Week - 04 Lecture - 01 Merge Sort. (Refer Slide Time: 00:02)

Week - 04 Lecture - 01 Merge Sort. (Refer Slide Time: 00:02) Programming, Data Structures and Algorithms in Python Prof. Madhavan Mukund Department of Computer Science and Engineering Indian Institute of Technology, Madras Week - 04 Lecture - 01 Merge Sort (Refer

More information

3.6 MONITORING AND CONTROL SYSTEMS

3.6 MONITORING AND CONTROL SYSTEMS 3.6 MONITORING AND CONTROL SYSTEMS 3.6.1 OVERVIEW OF MONITORING AND CONTROL SYSTEMS REAL-TIME APPLICATIONS A real-time system is one that can react quickly enough to data input to affect the real world.

More information

EEN118 LAB FOUR. h = v t ½ g t 2

EEN118 LAB FOUR. h = v t ½ g t 2 EEN118 LAB FOUR In this lab you will be performing a simulation of a physical system, shooting a projectile from a cannon and working out where it will land. Although this is not a very complicated physical

More information

2SKILL. Variables Lesson 6. Remembering numbers (and other stuff)...

2SKILL. Variables Lesson 6. Remembering numbers (and other stuff)... Remembering numbers (and other stuff)... Let s talk about one of the most important things in any programming language. It s called a variable. Don t let the name scare you. What it does is really simple.

More information

Intro. Speed V Growth

Intro. Speed V Growth Intro Good code is two things. It's elegant, and it's fast. In other words, we got a need for speed. We want to find out what's fast, what's slow, and what we can optimize. First, we'll take a tour of

More information

(Refer Slide Time: 00:51)

(Refer Slide Time: 00:51) Programming, Data Structures and Algorithms Prof. Shankar Balachandran Department of Computer Science and Engineering Indian Institute Technology, Madras Module 10 E Lecture 24 Content Example: factorial

More information

EEN118 LAB FOUR. h = v t ½ g t 2

EEN118 LAB FOUR. h = v t ½ g t 2 EEN118 LAB FOUR In this lab you will be performing a simulation of a physical system, shooting a projectile from a cannon and working out where it will land. Although this is not a very complicated physical

More information

Introduction to Unix

Introduction to Unix Introduction to Unix Part 1: Navigating directories First we download the directory called "Fisher" from Carmen. This directory contains a sample from the Fisher corpus. The Fisher corpus is a collection

More information

Home Monitoring and Control service provided by Verizon Online LLC

Home Monitoring and Control service provided by Verizon Online LLC Home Monitoring and Control service provided by Verizon Online LLC A separate subscription to Verizon FiOS TV is required for use with FiOS TV service. About This Manual This manual is designed for online

More information

Direct Variations DIRECT AND INVERSE VARIATIONS 19. Name

Direct Variations DIRECT AND INVERSE VARIATIONS 19. Name DIRECT AND INVERSE VARIATIONS 19 Direct Variations Name Of the many relationships that two variables can have, one category is called a direct variation. Use the description and example of direct variation

More information

Mathematics. Name: Class: Transforming Life chances

Mathematics. Name: Class: Transforming Life chances Mathematics Name: Class: Transforming Life chances Children first- Aspire- Challenge- Achieve Aspire: To be the best I can be in everything that I try to do. To use the adults and resources available both

More information

Motors & Wheels. Wheels can be attached to the KIBO s motors to make them spin. The motors can be attached to the KIBO robot to make it move!

Motors & Wheels. Wheels can be attached to the KIBO s motors to make them spin. The motors can be attached to the KIBO robot to make it move! Motors & Wheels + Wheels can be attached to the KIBO s motors to make them spin. = The motors can be attached to the KIBO robot to make it move! + KIBO s motors can be attached in 2 ways to make KIBO move

More information

C - Colour Mixing. Let's use the Sparkle module and some switches to make a colour mixer! 2018 courses.techcamp.org.

C - Colour Mixing. Let's use the Sparkle module and some switches to make a colour mixer! 2018 courses.techcamp.org. C - Colour Mixing Let's use the Sparkle module and some switches to make a colour mixer! 2018 courses.techcamp.org.uk/ Page 1 of 7 INTRODUCTION Let's use the Sparkle module and some switches to make a

More information

Design and Analysis of Algorithms Prof. Madhavan Mukund Chennai Mathematical Institute. Week 02 Module 06 Lecture - 14 Merge Sort: Analysis

Design and Analysis of Algorithms Prof. Madhavan Mukund Chennai Mathematical Institute. Week 02 Module 06 Lecture - 14 Merge Sort: Analysis Design and Analysis of Algorithms Prof. Madhavan Mukund Chennai Mathematical Institute Week 02 Module 06 Lecture - 14 Merge Sort: Analysis So, we have seen how to use a divide and conquer strategy, we

More information

EEN118 LAB FOUR. h = v t - ½ g t 2

EEN118 LAB FOUR. h = v t - ½ g t 2 EEN118 LAB FOUR In this lab you will be performing a simulation of a physical system, shooting a projectile from a cannon and working out where it will land. Although this is not a very complicated physical

More information

Basic Electricity 10 Hour - Part 1 Student Workbook Issue: US140/10/2a-IQ-0402A. Written by: LJ Technical Dept

Basic Electricity 10 Hour - Part 1 Student Workbook Issue: US140/10/2a-IQ-0402A. Written by: LJ Technical Dept Basic Electricity 10 Hour - Part 1 Issue: US140/10/2a-IQ-0402A Copyright 2004,. No part of this Publication may be adapted or reproduced in any material form, without the prior written permission of. Written

More information

Robolab. Table of Contents. St. Mary s School, Panama. Robotics. Ch. 5: Robolab, by: Ernesto E. Angulo J.

Robolab. Table of Contents. St. Mary s School, Panama. Robotics. Ch. 5: Robolab, by: Ernesto E. Angulo J. Robolab 5 Table of Contents Objectives...2 Starting the program...2 Programming...3 Downloading...8 Tools...9 Icons...9 Loops and jumps...11 Multiple tasks...12 Timers...12 Variables...14 Sensors...15

More information

Design and Analysis of Algorithms Prof. Madhavan Mukund Chennai Mathematical Institute. Module 02 Lecture - 45 Memoization

Design and Analysis of Algorithms Prof. Madhavan Mukund Chennai Mathematical Institute. Module 02 Lecture - 45 Memoization Design and Analysis of Algorithms Prof. Madhavan Mukund Chennai Mathematical Institute Module 02 Lecture - 45 Memoization Let us continue our discussion of inductive definitions. (Refer Slide Time: 00:05)

More information

EEN118 LAB FOUR. h = v t ½ g t 2

EEN118 LAB FOUR. h = v t ½ g t 2 EEN118 LAB FOUR In this lab you will be performing a simulation of a physical system, shooting a projectile from a cannon and working out where it will land. Although this is not a very complicated physical

More information

Functional Programming in Haskell Prof. Madhavan Mukund and S. P. Suresh Chennai Mathematical Institute

Functional Programming in Haskell Prof. Madhavan Mukund and S. P. Suresh Chennai Mathematical Institute Functional Programming in Haskell Prof. Madhavan Mukund and S. P. Suresh Chennai Mathematical Institute Module # 02 Lecture - 03 Characters and Strings So, let us turn our attention to a data type we have

More information

Operation 6035 ENGLISH PROG MENU

Operation 6035 ENGLISH PROG MENU Operation 6035 PROG MENU ENGLISH Operation 6035 Program button Time of day Day Time Slot Current Room Temperature Target Temperature Menu button PROG MENU FAN AUTO ON COOL OFF HEAT Fan Switch Touch Screen

More information

From lab to production, providing a window into the process. Dynisco's ATC990 and UPR900 Applications and Setup

From lab to production, providing a window into the process. Dynisco's ATC990 and UPR900 Applications and Setup From lab to production, providing a window into the process Dynisco's ATC990 and UPR900 Applications and Setup Introduction UPR900 Indicator Is ¼ Din (96x96mm) size, 117mm depth behind the panel. It has

More information

Fundamentals of lambda tuning

Fundamentals of lambda tuning Fundamentals of lambda tuning Understanding a particularly conservative PID controller design technique. Vance VanDoren, PhD, PE 04/16/2013 Lambda tuning is a form of internal model control (IMC) that

More information

NXT Programming for Beginners Project 9: Automatic Sensor Calibration

NXT Programming for Beginners Project 9: Automatic Sensor Calibration Copyright 2012 Neil Rosenberg (neil@vectorr.com) Revision: 1.1 Date: 5/28/2012 NXT Programming for Beginners Project 9: Automatic Sensor Calibration More advanced use of data Sometimes you need to save

More information

(Refer Slide Time: 00:26)

(Refer Slide Time: 00:26) Programming, Data Structures and Algorithms Prof. Shankar Balachandran Department of Computer Science and Engineering Indian Institute Technology, Madras Module 07 Lecture 07 Contents Repetitive statements

More information

B - Broken Track Page 1 of 8

B - Broken Track Page 1 of 8 B - Broken Track There's a gap in the track! We need to make our robot even more intelligent so it won't get stuck, and can find the track again on its own. 2017 https://www.hamiltonbuhl.com/teacher-resources

More information

(Refer Slide Time: 01:25)

(Refer Slide Time: 01:25) Computer Architecture Prof. Anshul Kumar Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture - 32 Memory Hierarchy: Virtual Memory (contd.) We have discussed virtual

More information

4. Write sets of directions for how to check for direct variation. How to check for direct variation by analyzing the graph :

4. Write sets of directions for how to check for direct variation. How to check for direct variation by analyzing the graph : Name Direct Variations There are many relationships that two variables can have. One of these relationships is called a direct variation. Use the description and example of direct variation to help you

More information

Week - 01 Lecture - 03 Euclid's Algorithm for gcd. Let us continue with our running example of gcd to explore more issues involved with program.

Week - 01 Lecture - 03 Euclid's Algorithm for gcd. Let us continue with our running example of gcd to explore more issues involved with program. Programming, Data Structures and Algorithms in Python Prof. Madhavan Mukund Department of Computer Science and Engineering Indian Institute of Technology, Madras Week - 01 Lecture - 03 Euclid's Algorithm

More information

Introduction to Unix

Introduction to Unix Part 2: Looking into a file Introduction to Unix Now we want to see how the files are structured. Let's look into one. more $ more fe_03_06596.txt 0.59 1.92 A-f: hello 1.96 2.97 B-m: (( hello )) 2.95 3.98

More information

PID Controller application in robotics. Victor Abreu A /5/2013. Executive Summary:

PID Controller application in robotics. Victor Abreu A /5/2013. Executive Summary: PID Controller application in robotics Victor Abreu A42379353 4/5/2013 Executive Summary: The proportional integral derivative controller is a generic control loop feedback mechanism that is widely used

More information

OVEN INDUSTRIES, INC.

OVEN INDUSTRIES, INC. OVEN INDUSTRIES, INC. OPERATING MANUAL MODEL 5C7-195 THERMOELECTRIC MODULE TEMPERATURE CONTROLLER TABLE OF CONTENTS Page Features...1 Description...2 Block Diagram...2 Mechanical Package Drawing...3 RS232

More information

Rescuing Lost Files from CDs and DVDs

Rescuing Lost Files from CDs and DVDs Rescuing Lost Files from CDs and DVDs R 200 / 1 Damaged CD? No Problem Let this Clever Software Recover Your Files! CDs and DVDs are among the most reliable types of computer disk to use for storing your

More information

IVR: Open- and Closed-Loop Control. M. Herrmann

IVR: Open- and Closed-Loop Control. M. Herrmann IVR: Open- and Closed-Loop Control M. Herrmann Overview Open-loop control Feed-forward control Towards feedback control Controlling the motor over time Process model V B = k 1 s + M k 2 R ds dt Stationary

More information

DMX-DALI-DMX interface

DMX-DALI-DMX interface PX 255 DMX-DALI-DMX interface MANUAL R CONTENTS 1. General description... 3 2. Safety conditions... 3 3. Connections and control elements description... 4 4. Navigating the menu... 4 5. Use of the device...

More information

APCS-AB: Java. Recursion in Java December 12, week14 1

APCS-AB: Java. Recursion in Java December 12, week14 1 APCS-AB: Java Recursion in Java December 12, 2005 week14 1 Check point Double Linked List - extra project grade Must turn in today MBCS - Chapter 1 Installation Exercises Analysis Questions week14 2 Scheme

More information

Lesson 2. Introducing Apps. In this lesson, you ll unlock the true power of your computer by learning to use apps!

Lesson 2. Introducing Apps. In this lesson, you ll unlock the true power of your computer by learning to use apps! Lesson 2 Introducing Apps In this lesson, you ll unlock the true power of your computer by learning to use apps! So What Is an App?...258 Did Someone Say Free?... 259 The Microsoft Solitaire Collection

More information

ROBOLAB Reference Guide

ROBOLAB Reference Guide ROBOLAB Reference Guide Version 1.2 2 Preface: Getting Help with ROBOLAB ROBOLAB is a growing application for which users can receive support in many different ways. Embedded in ROBOLAB are context help

More information

Object-Oriented Analysis and Design Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology-Kharagpur

Object-Oriented Analysis and Design Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology-Kharagpur Object-Oriented Analysis and Design Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology-Kharagpur Lecture 06 Object-Oriented Analysis and Design Welcome

More information

RIS shading Series #2 Meet The Plugins

RIS shading Series #2 Meet The Plugins RIS shading Series #2 Meet The Plugins In this tutorial I will be going over what each type of plugin is, what their uses are, and the basic layout of each. By the end you should understand the three basic

More information

+ power supply. - común. + to track

+ power supply. - común. + to track THE HAND CONTROLLER -Voltmeter to show the power supply voltage -Higher brake than Hammer XL -Double polarity -Automatic brake system when hand controller is powered off. -Power curve adjusted with 2 points

More information

Section 0.3 The Order of Operations

Section 0.3 The Order of Operations Section 0.3 The Contents: Evaluating an Expression Grouping Symbols OPERATIONS The Distributive Property Answers Focus Exercises Let s be reminded of those operations seen thus far in the course: Operation

More information

Advanced Thermal Controller TEC Series

Advanced Thermal Controller TEC Series 2013 Advanced Thermal Controller TEC 54100 Series Advanced Thermal Controller TEC 54100 series Bidirectional driving with 150W (24V 8A), 300W (24V 13A), or 800W (40V 20A) output Filtered PWM output with

More information

MAT 003 Brian Killough s Instructor Notes Saint Leo University

MAT 003 Brian Killough s Instructor Notes Saint Leo University MAT 003 Brian Killough s Instructor Notes Saint Leo University Success in online courses requires self-motivation and discipline. It is anticipated that students will read the textbook and complete sample

More information

Topic 4 - Introduction to Metering on a DSLR

Topic 4 - Introduction to Metering on a DSLR Getting more from your Camera Topic 4 - Introduction to Metering on a DSLR Learning Outcomes In this lesson, we will look at another important feature on a DSLR camera called Metering Mode. By the end

More information

QUIZ Friends class Y;

QUIZ Friends class Y; QUIZ Friends class Y; Is a forward declaration neeed here? QUIZ Friends QUIZ Friends - CONCLUSION Forward (a.k.a. incomplete) declarations are needed only when we declare member functions as friends. They

More information

Robot learning for ball bouncing

Robot learning for ball bouncing Robot learning for ball bouncing Denny Dittmar Denny.Dittmar@stud.tu-darmstadt.de Bernhard Koch Bernhard.Koch@stud.tu-darmstadt.de Abstract For robots automatically learning to solve a given task is still

More information

OP10. Pre-programmed, configurable controller for simple applications

OP10. Pre-programmed, configurable controller for simple applications revision 10 2013 OP10 Pre-programmed, configurable controller for simple applications The Optigo OP10 range of controllers can be set to handle everything from temperature or humidity control to control

More information

LipStick. User Manual

LipStick. User Manual LipStick User Manual Contents Features of the LipStick 2 User Manual mounting and connecting 3 starting to use 3 cursor movements 4 mouse buttons 4 cleaning and maintenance 4 User software installation

More information

MODELLING-Choosing a model

MODELLING-Choosing a model MODELLING-Choosing a model Model categories When using a model to help in the design process, it is important that the right type of model is used. Using the wrong type of model can waste computing power

More information

What is stored in the XIM?

What is stored in the XIM? Notes This presentation shows screen captures from multiple software versions. I have only updated the screen capture if it has changed between versions in a way that impacts the lesson being taught. This

More information

MANAGING YOUR MAILBOX: TRIMMING AN OUT OF CONTROL MAILBOX

MANAGING YOUR MAILBOX: TRIMMING AN OUT OF CONTROL MAILBOX MANAGING YOUR : DEALING WITH AN OVERSIZE - WHY BOTHER? It s amazing how many e-mails you can get in a day, and it can quickly become overwhelming. Before you know it, you have hundreds, even thousands

More information

In the following chapter two most common WAFS architectures are presented and the most common and simple set of used techniques is shown.

In the following chapter two most common WAFS architectures are presented and the most common and simple set of used techniques is shown. Structure: 1. Motivation a. Preview With appearing and developing of the Internet, spreading over the world for many enterprises became possible. Enterprises have a possibility to open branch offices that

More information

HOW TO REGISTER FOR AND JOIN AN ASTTBC/BCIPI WEBINAR ( as painlessly as possible)

HOW TO REGISTER FOR AND JOIN AN ASTTBC/BCIPI WEBINAR ( as painlessly as possible) HOW TO REGISTER FOR AND JOIN AN ASTTBC/BCIPI WEBINAR ( as painlessly as possible) Arne Larsen March 13 th, 2012 INTRODUCTION In an effort to move into the new millennium, and to communicate to as many

More information

Intro. Scheme Basics. scm> 5 5. scm>

Intro. Scheme Basics. scm> 5 5. scm> Intro Let s take some time to talk about LISP. It stands for LISt Processing a way of coding using only lists! It sounds pretty radical, and it is. There are lots of cool things to know about LISP; if

More information

A fraction (from Latin: fractus, "broken") represents a part of a whole.

A fraction (from Latin: fractus, broken) represents a part of a whole. Math 4. Class work. Algebra. Fractions. A fraction (from Latin: fractus, "broken") represents a part of a whole. Look at the picture on the right: the whole chocolate bar is divided into equal pieces:

More information

(Refer Slide Time: 1:40)

(Refer Slide Time: 1:40) Computer Architecture Prof. Anshul Kumar Department of Computer Science and Engineering, Indian Institute of Technology, Delhi Lecture - 3 Instruction Set Architecture - 1 Today I will start discussion

More information

TB267 (Rev4) - CNC11 Yaskawa Sigma5 Precision Mode Setup

TB267 (Rev4) - CNC11 Yaskawa Sigma5 Precision Mode Setup TB267 (Rev4) - CNC11 Yaskawa Sigma5 Precision Mode Setup Overview: This document will walk you through the process of configurating and tuning a Yaskawa Sigma V Servo Drive Pack and motor with a centroid

More information

Physics 1230: Light and Color. Projects

Physics 1230: Light and Color. Projects Physics 1230: Light and Color Chuck Rogers, Charles.Rogers@colorado.edu Matt Heinemann, Matthew.Heinemann@colorado.edu www.colorado.edu/physics/phys1230 Exam 2 tomorrow, here. HWK 6 is due at 5PM Thursday.

More information

Figure 1: A picture of a ruler inside a sheet protector. Figure 2: Example of measuring a water drop.

Figure 1: A picture of a ruler inside a sheet protector. Figure 2: Example of measuring a water drop. Equipment needed for the Drops! activity are: 1. A cup with warmer than room temperature water 2. A cup with cooler than room temperature water 3. A pipet or dropper 4. A microencapsulated liquid crystal

More information

Example 1: Given below is the graph of the quadratic function f. Use the function and its graph to find the following: Outputs

Example 1: Given below is the graph of the quadratic function f. Use the function and its graph to find the following: Outputs Quadratic Functions: - functions defined by quadratic epressions (a 2 + b + c) o the degree of a quadratic function is ALWAYS 2 - the most common way to write a quadratic function (and the way we have

More information

The first program: Little Crab

The first program: Little Crab Chapter 2 The first program: Little Crab topics: concepts: writing code: movement, turning, reacting to the screen edges source code, method call, parameter, sequence, if-statement In the previous chapter,

More information

ENGR 40M Project 3c: Switch debouncing

ENGR 40M Project 3c: Switch debouncing ENGR 40M Project 3c: Switch debouncing For due dates, see the overview handout 1 Introduction This week, you will build on the previous two labs and program the Arduino to respond to an input from the

More information

Arrays. myints = new int[15];

Arrays. myints = new int[15]; Arrays As you know from COMP 202 (or equivalent), an array is a data structure that holds a set of elements that are of the same type. Each element in the array can be accessed or indexed by a unique number

More information

Problem Solving through Programming In C Prof. Anupam Basu Department of Computer Science & Engineering Indian Institute of Technology, Kharagpur

Problem Solving through Programming In C Prof. Anupam Basu Department of Computer Science & Engineering Indian Institute of Technology, Kharagpur Problem Solving through Programming In C Prof. Anupam Basu Department of Computer Science & Engineering Indian Institute of Technology, Kharagpur Lecture 18 Switch Statement (Contd.) And Introduction to

More information

Pre-Algebra Notes Unit 8: Graphs and Functions

Pre-Algebra Notes Unit 8: Graphs and Functions Pre-Algebra Notes Unit 8: Graphs and Functions The Coordinate Plane A coordinate plane is formed b the intersection of a horizontal number line called the -ais and a vertical number line called the -ais.

More information

Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 24 Solid Modelling

Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 24 Solid Modelling Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 24 Solid Modelling Welcome to the lectures on computer graphics. We have

More information

MIPS Programming. A basic rule is: try to be mechanical (that is, don't be "tricky") when you translate high-level code into assembler code.

MIPS Programming. A basic rule is: try to be mechanical (that is, don't be tricky) when you translate high-level code into assembler code. MIPS Programming This is your crash course in assembler programming; you will teach yourself how to program in assembler for the MIPS processor. You will learn how to use the instruction set summary to

More information

Linked lists Tutorial 5b

Linked lists Tutorial 5b Linked lists Tutorial 5b Katja Mankinen 6 October 2017 Aim Pointers are one of the most powerful tools in C++: with pointers, you can directly manipulate computer memory. However, at first glance they

More information

Classwork 7: Craps. N. Duong & R. Rodriguez, Java Crash Course January 6, 2015

Classwork 7: Craps. N. Duong & R. Rodriguez, Java Crash Course January 6, 2015 Classwork 7: Craps N. Duong & R. Rodriguez, Java Crash Course January 6, 2015 For this classwork, you will be writing code for the game Craps. For those of you who do not know, Craps is a dice-rolling

More information

Object 18 - PID. PID Summary

Object 18 - PID. PID Summary Object 18 - PID PID Summary Overview: The PID (Proportional-Integral-Derivative) object typically takes a measured variable such as static pressure or temperature as its control input and uses this value

More information

PRINCIPLES OF SOFTWARE BIM209DESIGN AND DEVELOPMENT 03. REQUIREMENTS CHANGE. I Love You, You re Perfect... Now Change!

PRINCIPLES OF SOFTWARE BIM209DESIGN AND DEVELOPMENT 03. REQUIREMENTS CHANGE. I Love You, You re Perfect... Now Change! PRINCIPLES OF SOFTWARE BIM209DESIGN AND DEVELOPMENT 03. REQUIREMENTS CHANGE I Love You, You re Perfect... Now Change! You re a hero! The door you built for Todd and Gina was a huge success, and now Doug

More information

Chapter 1 Operations With Numbers

Chapter 1 Operations With Numbers Chapter 1 Operations With Numbers Part I Negative Numbers You may already know what negative numbers are, but even if you don t, then you have probably seen them several times over the past few days. If

More information

If Statements, For Loops, Functions

If Statements, For Loops, Functions Fundamentals of Programming If Statements, For Loops, Functions Table of Contents Hello World Types of Variables Integers and Floats String Boolean Relational Operators Lists Conditionals If and Else Statements

More information

Slide Set 9. for ENCM 369 Winter 2018 Section 01. Steve Norman, PhD, PEng

Slide Set 9. for ENCM 369 Winter 2018 Section 01. Steve Norman, PhD, PEng Slide Set 9 for ENCM 369 Winter 2018 Section 01 Steve Norman, PhD, PEng Electrical & Computer Engineering Schulich School of Engineering University of Calgary March 2018 ENCM 369 Winter 2018 Section 01

More information

PROFESSOR: Last time, we took a look at an explicit control evaluator for Lisp, and that bridged the gap between

PROFESSOR: Last time, we took a look at an explicit control evaluator for Lisp, and that bridged the gap between MITOCW Lecture 10A [MUSIC PLAYING] PROFESSOR: Last time, we took a look at an explicit control evaluator for Lisp, and that bridged the gap between all these high-level languages like Lisp and the query

More information

TCP: Flow and Error Control

TCP: Flow and Error Control 1 TCP: Flow and Error Control Required reading: Kurose 3.5.3, 3.5.4, 3.5.5 CSE 4213, Fall 2006 Instructor: N. Vlajic TCP Stream Delivery 2 TCP Stream Delivery unlike UDP, TCP is a stream-oriented protocol

More information

Module 1: Crash Prevention Lesson 3: Weather Information systems Programming Activity Using Arduino Teacher Resource Grade 6-8 Time Required

Module 1: Crash Prevention Lesson 3: Weather Information systems Programming Activity Using Arduino Teacher Resource Grade 6-8 Time Required Module 1: Crash Prevention Lesson 3: Weather Information systems Programming Activity Using Arduino Teacher Resource Grade 6-8 Time Required Weather Information Systems is a 120 minute lesson plan (90

More information

user guide AbiBird You will need The AbiBird Sensor and An iphone with ios 10+ OR A Smartphone with Android 5+

user guide AbiBird You will need The AbiBird Sensor and An iphone with ios 10+ OR A Smartphone with Android 5+ AbiBird user guide AbiBird is an intelligent home activity sensor that connects to a smartphone App. Once set up, the free-standing AbiBird Sensor counts the movements of someone walking past and displays

More information

Operation Guide CT100

Operation Guide CT100 Operation Guide CT100 PG 1 The CT100 communicating Z-Wave thermostat operates via a high-quality, easy-to-use touch screen. To set or adjust your CT100, simply touch your finger firmly to the screen. The

More information

GAP CLOSING. Grade 9. Facilitator s Guide

GAP CLOSING. Grade 9. Facilitator s Guide GAP CLOSING Grade 9 Facilitator s Guide Topic 3 Integers Diagnostic...5 Administer the diagnostic...5 Using diagnostic results to personalize interventions solutions... 5 Using Intervention Materials...8

More information

5. Control Statements

5. Control Statements 5. Control Statements This section of the course will introduce you to the major control statements in C++. These control statements are used to specify the branching in an algorithm/recipe. Control statements

More information

EMO valve drive. 1. Function 1. Table of Contents. 2. Installation

EMO valve drive. 1. Function 1. Table of Contents. 2. Installation Chapter 13: Devices for single room heating 13.2 Valve drives EMO valve drive Art. no. 639119 EMO valve drive EMO valve drivechapter 13:Devices for single room heatingart. no.639119as at 08/0213.2Valve

More information

CALCULUS LABORATORY ACTIVITY: Numerical Integration, Part 1

CALCULUS LABORATORY ACTIVITY: Numerical Integration, Part 1 CALCULUS LABORATORY ACTIVITY: Numerical Integration, Part 1 Required tasks: Tabulate values, create sums Suggested Technology: Goals Spreadsheet: Microsoft Excel or Google Docs Spreadsheet Maple or Wolfram

More information

Advanced Debugging I. Equipment Required. Preliminary Discussion. Basic System Bring-up. Hardware Bring-up, Section Plan

Advanced Debugging I. Equipment Required. Preliminary Discussion. Basic System Bring-up. Hardware Bring-up, Section Plan Advanced Debugging I Hardware Bring-up, Section Plan Equipment Required 192 car Logic analyzer with mini probes, cable PC scope with probes, M-F breadboard wire, USB cable Voltmeter Laptop with mouse,

More information

Introduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras

Introduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras Introduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras Week 06 Lecture 29 Semaphores Hello. In this video, we will

More information

Grade 7/8 Math Circles Fall Nov.4/5 The Pythagorean Theorem

Grade 7/8 Math Circles Fall Nov.4/5 The Pythagorean Theorem 1 Faculty of Mathematics Waterloo, Ontario Centre for Education in Mathematics and Computing Grade 7/8 Math Circles Fall 2014 - Nov.4/5 The Pythagorean Theorem Introduction A right triangle is any triangle

More information

TNG-3B derives its operating power from the serial port. The DTR, RTS, and both data lines are all used, and must be properly connected.

TNG-3B derives its operating power from the serial port. The DTR, RTS, and both data lines are all used, and must be properly connected. TNG-3B FAQ December 4, 2004 1. What s a TNG? TNG is pronounced thing as in The Cat in the Hat by Dr. Seuss, and stands for totally neat gadget. TNG-3B is the third in an evolutionary line of simple data

More information

MICROMOUSE ALGORITHMS. Navigation, Path finding, and Maze Encoding

MICROMOUSE ALGORITHMS. Navigation, Path finding, and Maze Encoding MICROMOUSE ALGORITHMS Navigation, Path finding, and Maze Encoding FEEDBACK CONTROL Your mouse can never go perfectly straight in practice Mouse can drift to one side, traction may not be same on wheels,

More information

Lecture Notes on Contracts

Lecture Notes on Contracts Lecture Notes on Contracts 15-122: Principles of Imperative Computation Frank Pfenning Lecture 2 August 30, 2012 1 Introduction For an overview the course goals and the mechanics and schedule of the course,

More information

Lab 7: PID Control with Trajectory Following

Lab 7: PID Control with Trajectory Following Introduction ME460: INDUSTRIAL CONTROL SYSTEMS Lab 7: PID Control with Trajectory Following In Lab 6 you identified an approximate transfer function for both the X and Y linear drives of the XY stage in

More information

Contents. Slide Set 1. About these slides. Outline of Slide Set 1. Typographical conventions: Italics. Typographical conventions. About these slides

Contents. Slide Set 1. About these slides. Outline of Slide Set 1. Typographical conventions: Italics. Typographical conventions. About these slides Slide Set 1 for ENCM 369 Winter 2014 Lecture Section 01 Steve Norman, PhD, PEng Electrical & Computer Engineering Schulich School of Engineering University of Calgary Winter Term, 2014 ENCM 369 W14 Section

More information

Week - 01 Lecture - 04 Downloading and installing Python

Week - 01 Lecture - 04 Downloading and installing Python Programming, Data Structures and Algorithms in Python Prof. Madhavan Mukund Department of Computer Science and Engineering Indian Institute of Technology, Madras Week - 01 Lecture - 04 Downloading and

More information

A Simple First-Model Using the Berkeley-Madonna Program

A Simple First-Model Using the Berkeley-Madonna Program A Simple First-Model Using the Berkeley-Madonna Program For this introduction, we will be creating a model of a simple system with two compartments analogous to containers of a liquid which can flow between

More information