ENGR101 T Engineering Technology. Arthur Roberts. School of Engineering and Computer Science Victoria University of Wellington
|
|
- Alvin Elliott
- 6 years ago
- Views:
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
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 informationCongruence 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 informationintroduction 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 informationISY00245 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 informationStepwise 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 informationNote. 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 informationWeek - 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 information3.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 informationEEN118 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 information2SKILL. 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 informationIntro. 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)
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 informationEEN118 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 informationIntroduction 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 informationHome 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 informationDirect 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 informationMathematics. 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 informationMotors & 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 informationC - 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 informationDesign 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 informationEEN118 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 informationBasic 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 informationRobolab. 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 informationDesign 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 informationEEN118 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 informationFunctional 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 informationOperation 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 informationFrom 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 informationFundamentals 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 informationNXT 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)
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 informationB - 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)
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 information4. 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 informationWeek - 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 informationIntroduction 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 informationPID 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 informationOVEN 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 informationRescuing 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 informationIVR: 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 informationDMX-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 informationAPCS-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 informationLesson 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 informationROBOLAB 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 informationObject-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 informationRIS 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
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 informationSection 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 informationAdvanced 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 informationMAT 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 informationTopic 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 informationQUIZ 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 informationRobot 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 informationOP10. 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 informationLipStick. 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 informationMODELLING-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 informationWhat 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 informationMANAGING 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 informationIn 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 informationHOW 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 informationIntro. 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 informationA 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)
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 informationTB267 (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 informationPhysics 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 informationFigure 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 informationExample 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 informationThe 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 informationENGR 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 informationArrays. 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 informationProblem 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 informationPre-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 informationComputer 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 informationMIPS 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 informationLinked 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 informationClasswork 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 informationObject 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 informationPRINCIPLES 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 informationChapter 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 informationIf 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 informationSlide 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 informationPROFESSOR: 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 informationTCP: 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 informationModule 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 informationuser 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 informationOperation 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 informationGAP 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 information5. 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 informationEMO 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 informationCALCULUS 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 informationAdvanced 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 informationIntroduction 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 informationGrade 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 informationTNG-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 informationMICROMOUSE 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 informationLecture 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 informationLab 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 informationContents. 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 informationWeek - 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 informationA 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