CS 1567 Intermediate Programming and System Design Using a Mobile Robot Aibo Lab3 Localization and Path Planning
|
|
- Kenneth Robbins
- 5 years ago
- Views:
Transcription
1 CS 1567 Intermediate Programming and System Design Using a Mobile Robot Aibo Lab3 Localization and Path Planning In this lab we will create an artificial landscape in the Aibo pen. The landscape has two types of features, walls and pink post-its. The landscape is mapped on a 6x6 grid of 50cm square cells. All walls are aligned with cell boundaries and all post-its are positioned in the center of the corresponding cell. Your Aibo will start with a map of the pen such as the one below that shows the location of all features. The location will also include the coordinates of a goal where Aibo s bone is buried. (Not really). Your Aibo will start at an unknown location in the pen. Your task has two parts. First, explore the landscape until you unambiguously determine your location. Second, plan and execute a walk through the landscape from this position to the goal location. As always, your grade will include a competition for the speed and accuracy with which your Aibo finishes the task. (0,0) (0,5) (5,0) (5,5) Getting Started Movement through the pen The best strategy for completing is lab is to take on the movement components first. In the lab your Aibo will need to move with much greater precision than last time and be able to follow specific paths. The best place to start will be to implement two types of primitive movements, turning within a cell and moving from one cell to another.
2 Step 1 Implement the following two methods Turn (enum {LEFT,RIGHT,AROUND} direction.) This method should initiate a turning walk-in-place. The method takes and enumerated argument with three values, LEFT means to turn 90 degrees to the left, RIGHT means 90 degress to the right, AROUND means to turn 180 degrees. You can control your turn by a combination of timing the walk and using the IR sensors to align yourself with the walls Move(int NumofCells) This method should initiate a forward walk for distance equal to NumofCells*CellSize. There are several ways to keep track of how far you have moved. You can use a timer event to get approximate distances but you should also select reference points before and after the move, a front and/or side wall if for example to adjust your final position. Once you have implemented and thoroughly tested these movements the next step will be to string a sequence of movements together such that the Aibo follows a path. In this formulation a path is defined as a set of move and turn operations. For example, if the Aibo is at grid coordinate (2,2), facing in the positive x direction and needs to move to (4,4), a possible path (ignoring obstacles) would be Move(2), Turn(RIGHT), Move(2), Turn(LEFT) Obviously, there will usually be many paths between two grid locations. We will deal with how to discover and choose between them later. First you need to implement the code to follow a known path. Step 2 Implement a Path following behavior Decide on an encoding for each step and create a list subclass that holds the path definition. You will need a method to start down the path that will remove the first step from the list and initiate that movement. After that, you will need a state, entered on completion of the previous movement that you remove the next step and initiate it. This repeats until the path list is exhausted. Planning a Path Ever wonder how MapQuest is so efficient at looking at road maps and plotting driving directions for you. We are going to do a mini-version of that algorithm here. It s a depthfirst search with iterative deepening to keep the search time manageable. Consider a path from cell (1,2) to cell (3,4) in the example map. To compute this path, we build a tree of
3 the possible paths between these nodes such as the one shown in figure 2. As then name implies we use a depth first algorithm to build the tree but we will limit the depth that we build during each iteration. At each node, you will build a subtree rooted in node to the north, east, south, and west respectively unless one of the following is true. a) There is a wall obstructing your path. b) You have visited the grid location already c) You have reach the max depth for this iteration If b) is true, this means that the node is already in the tree, but it may not be on best path to reach that node. You resolve this conflict by associating with each node a cost of the path to reach that node from the starting point. In your case, your cost is the number of steps in the path and this corresponds to the depth of the three at the node location. So if you have already visited a node, you will move the node to the new path only if it is at a deeper level in the tree. Step 3 Plan and Execute a Path between known locations Write a behavior that reads in the map of the pen and computes the path between a goal location and a known starting grid cell location in the pen. Localization This brings us to the other half of this lab. Since the path planner above assumes a known starting location, we cannot reach the goal until we determination where we are. In robotics this is called localization. The basic approach to our localization problem is too look around and identify a specific feature and then compares that with the map of the features for the pen. Most of the time a single feature will give us ambiguous results. We will learn how to deal with that later. First, we need to get familiar with the feature set and how to recognize them. We have organized the pen in a fairly regular way so the set of possible feature configurations is relatively small. Basically, there are walls and post-it notes, where the walls are aligned (if present) with the borders of each cell and the post-its (if present) are placed in the center. You can assume that there are enclosing walls around the entire pen. This means that there are a fixed number of configurations of walls and post-its that you can see. These are enumerated in figure 3. In addition to the individual cell types, each may appear in any of several orientations on the map. These are indistinguishable until you have global information about the orientation of the dog. Step 4 What do I See? Write a behavior that scans the immediate vicinity for walls and post-it notes, based on this observation your behavior should classify the current grid cell location as one of the ten possible cell type listed below.
4 Walls None one two two three Post-it No Post-it Once you have code written that can determine the cell type, the localization process can begin. Begin by thinking of a set of states that represent all of the possible positions and orientations of the dog in the pen. Initially, if the size of the pen is NxM there are n*m*4 possible states, one for each grid location and 4 orientations in each. Your algorithm show proceed as follows Step 5 Localization algorithm 1-transform the map into an initial state set where each element encodes what the dog would see for each grid location and each orientation at that grid location 2-Iterate as follows until the size of the state set is reduced to one 1. Scan the current node and determine the type of node configuration that the Aibo perceives 2. For each element in the state set, determined if the perceived configuration is consistent with the position and orientation encoded for that element, if not delete the element. 3. Determine the next action based on the current state set. The action should be one of the basic actions defined above 4. Do the action 5. Replace the state-set with the set that the Aibo could be in after the action 6. Check if you are at the goal.
5 Most of this algorithm is doing state-set tracking: determine what possible states the robot might be in, based on its current perceptual input, and what states might it be in based on the action it just took? Here is some further discussion of the functions called in this algorithm sketch. Localization algorithm: Step 2 Given a set of states that the robot might be in, which of them are consistent with the robot s current percept? The sees function filters the current state-set C by removing states that are incompatible with the current percept. The resulting state-set R will be a subset (but not necessarily a proper subset!) of C. For each state in the state-set, you will need to compare the current percept with the expected percept for that state. For example, in the environment below, when you start (complete uncertainty), all the possible states are in your state set. Suppose that your robot immediately sees, as a result of examining its area, three walls around itself. Then filter away all possible states except for one particular goal state; you re done in this case! Localization algorithm: Step 3 Given a set of states that the robot might be in, what is the proper action to take? It s easy to answer this question when the set of states contains precisely one state (a singleton set), but what if there are many states in the set? This is not an easy question to answer, so we're giving you a set of hints below (see Appendix A). We will test your state-set tracking automata by placing the robot in several different initial starting positions and orientations and running your program. Localization algorithm: Step 5 Given an action and a set of states that the robot might be in, what is the result of applying the action to the state-set? This is a transformation function. For each state in the original state-set, you will need to compute the resulting state based on the specified action. Remember that if you invoke Move(1)
6 while you re facing a wall, your robot will not go anywhere (assuming you ve got Move implemented right). Thus, it is possible for multiple states to map onto one, so you will need to make sure that you don t duplicate states in your new state-set. Appendix A: On Determining Your Next Action First, let s consider the problem of representing possible decisions. We could create a big lookup table. The first column would list each possible state set and the corresponding entry in the second column would list the correct action to perform. The two-node world For example, given a simple two-node world shown above, the table would be: state-set action (((0,0) u) ((0,0) r) ((0,0) d) ((0,0) l) ((1,0) u) ((1,0) r) ((1,0) d) ((1,0) l)) <action> (((0,0) u) ((0,0) r) ((0,0) d) ((0,0) l) ((1,0) u) ((1,0) r) ((1,0) d)) <action> (((0,0) u) ((0,0) r) ((0,0) d) ((0,0) l) ((1,0) u) ((1,0) r) ((1,0) l)) <action> (((0,0) u) ((0,0) r) ((0,0) d) ((0,0) l) ((1,0) u) ((1,0) r)) <action>... etc., etc., etc., and eventually: (((0,0) r)) (Move 1) (((0,0) d)) (Turn LEFT) (((0,0) u)) (Turn RIGHT) (((0,0) l)) (Turn AROUND) Unfortunately, for any reasonably large problem, this table can be huge. Even for the two-node world, the complete table would have 248 rows. For the environment of 6.3, the total number of rows would be x This is bad. But don t give up! We can shrink the size of the table considerably by only including state-sets that can be reached from the global state-set that contains all possible states. For our two-node world, there are only four possible (distinguishable) state-sets after the first call to sees. In other words, once you filter based on examining your area, you will know that you re in one of the following four state sets: 1. (((0,0) r) ((0,1),l))) 2. (((0,0),u) ((0,1),d))) 3. (((0,0),l) ((0,1),r))) 4. (((0,0),d) ((0,1),u)))
7 Here s another example. In the five-node world pictured below, there are only 12 possible statesets after the first call to sees: 1. (((0,0) r) ((0,1) r) ((2,0) l)) 2. (((0,0) u) ((0,1) u) ((2,0) d)) 3. (((0,0) d) ((0,1) d) ((2,0) u)) 4. (((0,0) l) ((0,1) l) ((2,0) r)) 5. (((1,0) u)) 6. (((1,0) r)) 7. (((1,0) d)) 8. (((1,0) l)) 9. (((1,1) u)) 10. (((1,1) r)) 11. (((1,1) d)) 12. (((1,1) l)) The five-node world Now lets think about how to choose the correct action for a particular state-set. If the state-set contains only one state, the robot knows its location exactly. The choice of actions is simply the one that moves (or turns) the robot toward the goal node. If there are multiple states in the stateset, then the idea is to choose an action that will allow the robot to eliminate some of the states the next time it calls sees. Eventually, all states but one will be eliminated. Now, we could ask you to write an optimal get-action function, but we aren t that sadistic. Just write a decent one. Once again: your get-action does not need to be optimal for this assignment. Appendix B: A Theoretical Aside for the Incurably Curious There is a side-effect of only including reachable state-sets in the table of actions: what happens if the robot somehow believes that its state-set is one of those not in the table? This could happen if we were to provide your robot with extra information. For instance, if we specify that the robot starts out facing north in the five-node world, the initial state set is not in the simplified table of reachable state-sets. Another way this can happen is if your area examination function errors, resulting in an incorrect state set. Handling these situations in the general case is hard. To be optimal for all possible state-sets, you would have to think through the right actions for each and every such state set. However, note that you can simply choose a table entry that corresponds to a superset of the actual state set. The action prescribed by this entry will certainly work, since it works on a superset (i.e. a more uncertain case).
8 Of course, if the impossible state set was the result of an error examining the area, then you ve got a problem on your hands. In this case, the robot would have to actually modify the state-set, growing it to encompass the real-world state. In effect, when faced with such impossibility, the robot forgets some of the information that it has previously acquired. Another solution would be to just completely start over, setting the state-set to all possible states again. This is especially useful if the state-set becomes empty after a call to sees!
Homework #6 (Constraint Satisfaction, Non-Deterministic Uncertainty and Adversarial Search) Out: 2/21/11 Due: 2/29/11 (at noon)
CS121 Introduction to Artificial Intelligence Winter 2011 Homework #6 (Constraint Satisfaction, Non-Deterministic Uncertainty and Adversarial Search) Out: 2/21/11 Due: 2/29/11 (at noon) How to complete
More information(Refer Slide Time: 02.06)
Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture 27 Depth First Search (DFS) Today we are going to be talking
More informationMinimum Spanning Trees
CE 377K February 17, 2015 REVIEW HW 2 coming soon Review Trees and spanning trees Big O notation n and m Basic search algorithm Review Algorithm 1 Set C(r) {r} 2 Initialize the scan eligible list SEL {r}
More information1 Introduction and Examples
1 Introduction and Examples Sequencing Problems Definition A sequencing problem is one that involves finding a sequence of steps that transforms an initial system state to a pre-defined goal state for
More informationThe compiler is spewing error messages.
Appendix B Debugging There are a few different kinds of errors that can occur in a program, and it is useful to distinguish between them in order to track them down more quickly. Compile-time errors are
More informationExcel Basics Fall 2016
If you have never worked with Excel, it can be a little confusing at first. When you open Excel, you are faced with various toolbars and menus and a big, empty grid. So what do you do with it? The great
More informationCOMP 161 Lecture Notes 16 Analyzing Search and Sort
COMP 161 Lecture Notes 16 Analyzing Search and Sort In these notes we analyze search and sort. Counting Operations When we analyze the complexity of procedures we re determine the order of the number of
More informationMachine Evolution. Machine Evolution. Let s look at. Machine Evolution. Machine Evolution. Machine Evolution. Machine Evolution
Let s look at As you will see later in this course, neural networks can learn, that is, adapt to given constraints. For example, NNs can approximate a given function. In biology, such learning corresponds
More informationLecture 18.1 Multi-Robot Path Planning (3)
CS 60/560 Introduction to Computational Robotics Fall 07, Rutgers University Lecture 8. Multi-Robot Path Planning () Instructor: Jingjin Yu Outline Algorithms for optimal multi-robot path and motion planning
More informationExcel Basics: Working with Spreadsheets
Excel Basics: Working with Spreadsheets E 890 / 1 Unravel the Mysteries of Cells, Rows, Ranges, Formulas and More Spreadsheets are all about numbers: they help us keep track of figures and make calculations.
More informationDatabase Management System Prof. D. Janakiram Department of Computer Science & Engineering Indian Institute of Technology, Madras Lecture No.
Database Management System Prof. D. Janakiram Department of Computer Science & Engineering Indian Institute of Technology, Madras Lecture No. # 20 Concurrency Control Part -1 Foundations for concurrency
More informationWe know have to navigate between Karel s World view, Karel s Program view and Karel s Execution (or Run) view.
We know how to write programs using Karel s primitive commands move turnleft pickbeeper putbeeper turnoff We know have to navigate between Karel s World view, Karel s Program view and Karel s Execution
More informationRepetition Through Recursion
Fundamentals of Computer Science I (CS151.02 2007S) Repetition Through Recursion Summary: In many algorithms, you want to do things again and again and again. For example, you might want to do something
More informationHi everyone. I hope everyone had a good Fourth of July. Today we're going to be covering graph search. Now, whenever we bring up graph algorithms, we
Hi everyone. I hope everyone had a good Fourth of July. Today we're going to be covering graph search. Now, whenever we bring up graph algorithms, we have to talk about the way in which we represent the
More informationUNIVERSITY OF NORTH CAROLINA AT CHARLOTTE
UNIVERSITY OF NORTH CAROLINA AT CHARLOTTE Department of Electrical and Computer Engineering ECGR 4161/5196 Introduction to Robotics Experiment No. 5 A* Path Planning Overview: The purpose of this experiment
More informationNicole Dobrowolski. Keywords: State-space, Search, Maze, Quagent, Quake
The Applicability of Uninformed and Informed Searches to Maze Traversal Computer Science 242: Artificial Intelligence Dept. of Computer Science, University of Rochester Nicole Dobrowolski Abstract: There
More informationCS Introduction to Data Structures How to Parse Arithmetic Expressions
CS3901 - Introduction to Data Structures How to Parse Arithmetic Expressions Lt Col Joel Young One of the common task required in implementing programming languages, calculators, simulation systems, and
More informationAnimations involving numbers
136 Chapter 8 Animations involving numbers 8.1 Model and view The examples of Chapter 6 all compute the next picture in the animation from the previous picture. This turns out to be a rather restrictive
More information6.001 Notes: Section 15.1
6.001 Notes: Section 15.1 Slide 15.1.1 Our goal over the next few lectures is to build an interpreter, which in a very basic sense is the ultimate in programming, since doing so will allow us to define
More informationCS112 Lecture: Introduction to Karel J. Robot
CS112 Lecture: Introduction to Karel J. Robot Last revised 1/17/08 Objectives: 1. To introduce Karel J. Robot as an example of an object-oriented system. 2. To explain the mechanics of writing simple Karel
More informationIs IPv4 Sufficient for Another 30 Years?
Is IPv4 Sufficient for Another 30 Years? October 7, 2004 Abstract TCP/IP was developed 30 years ago. It has been successful over the past 30 years, until recently when its limitation started emerging.
More informationData Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi.
Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture 18 Tries Today we are going to be talking about another data
More informationName: UW CSE 473 Midterm, Fall 2014
Instructions Please answer clearly and succinctly. If an explanation is requested, think carefully before writing. Points may be removed for rambling answers. If a question is unclear or ambiguous, feel
More informationHomework: More Abstraction, Trees, and Lists
Homework: More Abstraction, Trees, and Lists COMP 50 Fall 2013 This homework is due at 11:59PM on Monday, November 18. Submit your solutions in a single file using the COMP 50 Handin button on DrRacket;
More informationInternational Olympiad in Informatics 2012
International Olympiad in Informatics 2012 23-30 September 2012 Sirmione - Montichiari, Italy Competition tasks, day 1: Leonardo's inventions and projects odometer English 1.2 Pebbling odometer Leonardo
More informationIntroduction to Programming in C Department of Computer Science and Engineering. Lecture No. #19. Loops: Continue Statement Example
Introduction to Programming in C Department of Computer Science and Engineering Lecture No. #19 Loops: Continue Statement Example Let us do a sample program using continue statements, I will introduce
More informationShared Memory Programming With OpenMP Computer Lab Exercises
Shared Memory Programming With OpenMP Computer Lab Exercises Advanced Computational Science II John Burkardt Department of Scientific Computing Florida State University http://people.sc.fsu.edu/ jburkardt/presentations/fsu
More informationWould you like to put an image on your index page? There are several ways to do this and I will start with the easy way.
Home Frontpage & Other Tutorials Dreamweaver Tutorial Contact Images and Tables Would you like to put an image on your index page? There are several ways to do this and I will start with the easy way.
More informationh=[3,2,5,7], pos=[2,1], neg=[4,4]
2D1431 Machine Learning Lab 1: Concept Learning & Decision Trees Frank Hoffmann e-mail: hoffmann@nada.kth.se November 8, 2002 1 Introduction You have to prepare the solutions to the lab assignments prior
More informationRecursively Enumerable Languages, Turing Machines, and Decidability
Recursively Enumerable Languages, Turing Machines, and Decidability 1 Problem Reduction: Basic Concepts and Analogies The concept of problem reduction is simple at a high level. You simply take an algorithm
More informationPlanar Graphs and Surfaces. Graphs 2 1/58
Planar Graphs and Surfaces Graphs 2 1/58 Last time we discussed the Four Color Theorem, which says that any map can be colored with at most 4 colors and not have two regions that share a border having
More informationLAB 1: INTRODUCTION TO DATA STUDIO AND ONE-DIMENSIONAL MOTION
Lab 1 - Introduction to Data Studio and One-Dimensional Motion 5 Name Date Partners LAB 1: INTRODUCTION TO DATA STUDIO AND ONE-DIMENSIONAL MOTION Slow and steady wins the race. Aesop s fable: The Hare
More informationCS 221 Lecture. Tuesday, 4 October There are 10 kinds of people in this world: those who know how to count in binary, and those who don t.
CS 221 Lecture Tuesday, 4 October 2011 There are 10 kinds of people in this world: those who know how to count in binary, and those who don t. Today s Agenda 1. Announcements 2. You Can Define New Functions
More informationCS3 Midterm 2 Standards and Solutions
CS3 Midterm 2 Standards and Solutions Spring 2007 16 14 12 10 8 6 4 2 0 Std. Dev = 5.43 Mean = 18.3 N = 90.00 2.0 6.0 10.0 14.0 18.0 22.0 26.0 30.0 4.0 8.0 12.0 16.0 20.0 24.0 28.0 scaled Problem 1. Roman
More informationCSC 258 lab notes, Fall 2003
CSC 258 lab notes, Fall 2003 Instructor: E. R. C. Hehner Lab demonstrators: Nicolas Kokkalis, Andrés Lagar Cavilla Successful completion of the three graded labs in this course involves a significant amount
More informationOfficial Competition Manual March 2, 2005
Official Competition Manual March 2, 2005 Competition Instructions Logging In to the Competition Arena Log in to the competition arena using the handle and password that you chose during the competition
More informationLab 4: Super Sudoku Solver CSCI 2101 Fall 2017
Due: Wednesday, October 18, 11:59 pm Collaboration Policy: Level 1 Group Policy: Pair-Optional Lab 4: Super Sudoku Solver CSCI 2101 Fall 2017 In this week s lab, you will write a program that can solve
More informationChapter S:II. II. Search Space Representation
Chapter S:II II. Search Space Representation Systematic Search Encoding of Problems State-Space Representation Problem-Reduction Representation Choosing a Representation S:II-1 Search Space Representation
More informationVisibility Graph. How does a Mobile Robot get from A to B?
Robot Path Planning Things to Consider: Spatial reasoning/understanding: robots can have many dimensions in space, obstacles can be complicated Global Planning: Do we know the environment apriori? Online
More informationCSE 341, Autumn 2005, Assignment 3 ML - MiniML Interpreter
Due: Thurs October 27, 10:00pm CSE 341, Autumn 2005, Assignment 3 ML - MiniML Interpreter Note: This is a much longer assignment than anything we ve seen up until now. You are given two weeks to complete
More informationAn introduction to plotting data
An introduction to plotting data Eric D. Black California Institute of Technology February 25, 2014 1 Introduction Plotting data is one of the essential skills every scientist must have. We use it on a
More informationLab 9: Pointers and arrays
CMSC160 Intro to Algorithmic Design Blaheta Lab 9: Pointers and arrays 3 Nov 2011 As promised, we ll spend today working on using pointers and arrays, leading up to a game you ll write that heavily involves
More informationNON-CALCULATOR ARITHMETIC
Mathematics Revision Guides Non-Calculator Arithmetic Page 1 of 30 M.K. HOME TUITION Mathematics Revision Guides: Level: GCSE Foundation Tier NON-CALCULATOR ARITHMETIC Version: 3.2 Date: 21-10-2016 Mathematics
More informationArea and Perimeter EXPERIMENT. How are the area and perimeter of a rectangle related? You probably know the formulas by heart:
Area and Perimeter How are the area and perimeter of a rectangle related? You probably know the formulas by heart: Area Length Width Perimeter (Length Width) But if you look at data for many different
More informationMITOCW watch?v=4dj1oguwtem
MITOCW watch?v=4dj1oguwtem PROFESSOR: So it's time to examine uncountable sets. And that's what we're going to do in this segment. So Cantor's question was, are all sets the same size? And he gives a definitive
More informationSearch in discrete and continuous spaces
UNSW COMP3431: Robot Architectures S2 2006 1 Overview Assignment #1 Answer Sheet Search in discrete and continuous spaces Due: Start of Lab, Week 6 (1pm, 30 August 2006) The goal of this assignment is
More informationCS112 Lecture: Extending Classes and Defining Methods
Objectives: CS112 Lecture: Extending Classes and Defining Methods Last revised 1/9/04 1. To introduce the idea of extending existing classes to add new methods 2. To introduce overriding of inherited methods
More informationTo move cells, the pointer should be a north-south-eastwest facing arrow
Appendix B Microsoft Excel Primer Oftentimes in physics, we collect lots of data and have to analyze it. Doing this analysis (which consists mostly of performing the same operations on lots of different
More informationXC Total Max Score Grader
NAME: NETID: CS2110 Fall 2013, Prelim 1 Thursday Oct 10, 2013 (7:30-9:00p) The exam is closed book and closed notes. Do not begin until instructed. You have 90 minutes. Good luck! Write your name and Cornell
More informationCS5412: TRANSACTIONS (I)
1 CS5412: TRANSACTIONS (I) Lecture XVII Ken Birman Transactions 2 A widely used reliability technology, despite the BASE methodology we use in the first tier Goal for this week: in-depth examination of
More informationAppendix E: Software
Appendix E: Software Video Analysis of Motion Analyzing pictures (movies or videos) is a powerful tool for understanding how objects move. Like most forms of data, video is most easily analyzed using a
More informationMathZoom, Summer, 2014
A one-dimensional bug starts at the origin and each minute moves either left or right exactly one unit. Suppose it makes there moves with equal likelihood. That is the probability of a move to the left
More informationShared Memory Programming With OpenMP Exercise Instructions
Shared Memory Programming With OpenMP Exercise Instructions John Burkardt Interdisciplinary Center for Applied Mathematics & Information Technology Department Virginia Tech... Advanced Computational Science
More informationEE631 Cooperating Autonomous Mobile Robots
EE631 Cooperating Autonomous Mobile Robots Lecture 3: Path Planning Algorithm Prof. Yi Guo ECE Dept. Plan Representing the Space Path Planning Methods A* Search Algorithm D* Search Algorithm Representing
More information(Refer Slide Time: 1:27)
Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture 1 Introduction to Data Structures and Algorithms Welcome to data
More informationTranscriber(s): Aboelnaga, Eman Verifier(s): Yedman, Madeline Date Transcribed: Fall 2010 Page: 1 of 9
Page: 1 of 9 0:00 1 R1 The color s not going to show a little bit, but okay. Okay. So, um, a plus b quantity cubed, you said, means Stephanie a plus b times a plus b times a plus b /R1 3 R1 Okay, so you
More informationAccess Intermediate
Access 2010 - Intermediate (103-134) Building Access Databases Notes Quick Links Building Databases Pages AC52 AC56 AC91 AC93 Building Access Tables Pages AC59 AC67 Field Types Pages AC54 AC56 AC267 AC270
More informationFigure 1: A directed graph.
1 Graphs A graph is a data structure that expresses relationships between objects. The objects are called nodes and the relationships are called edges. For example, social networks can be represented as
More informationImplementation of Lexical Analysis. Lecture 4
Implementation of Lexical Analysis Lecture 4 1 Tips on Building Large Systems KISS (Keep It Simple, Stupid!) Don t optimize prematurely Design systems that can be tested It is easier to modify a working
More informationVLSI Design Automation Final Project Due: June 26 th, Project: A Router
Project: A Router In lecture, we described how to use the maze routing method to route the wires in a large ASIC, using a 3-dimensional stack of routing grids. In this project assignment, you get to build
More informationThe Right Read Optimization is Actually Write Optimization. Leif Walsh
The Right Read Optimization is Actually Write Optimization Leif Walsh leif@tokutek.com The Right Read Optimization is Write Optimization Situation: I have some data. I want to learn things about the world,
More informationRed-Black trees are usually described as obeying the following rules :
Red-Black Trees As we have seen, the ideal Binary Search Tree has height approximately equal to log n, where n is the number of values stored in the tree. Such a BST guarantees that the maximum time for
More informationGreedy Algorithms II
Greedy Algorithms II Greedy algorithms tend to be difficult to teach since different observations lead to correct greedy algorithms in different situations. Pedagogically, it s somewhat difficult to clearly
More informationAdobe illustrator Introduction
Adobe illustrator Introduction This document was prepared by Luke Easterbrook 2013 1 Summary This document is an introduction to using adobe illustrator for scientific illustration. The document is a filleable
More informationThe first thing we ll need is some numbers. I m going to use the set of times and drug concentration levels in a patient s bloodstream given below.
Graphing in Excel featuring Excel 2007 1 A spreadsheet can be a powerful tool for analyzing and graphing data, but it works completely differently from the graphing calculator that you re used to. If you
More informationto solve the puzzle. First, code would need to e created in order for the webcam to retrieve the
Name: Adam Hebert Date: 5/3/2012 Project Final Report Sudoku Solver Original Concept My original project concept was to create a Sudoku solving application for the android OS. This project would require
More informationCS3L Summer 2011 Exam 2 Time: up to 170 minutes (you may leave when finished; or, you must stop promptly at noon)
CS3L Summer 2011 Exam 2 Time: up to 170 minutes (you may leave when finished; or, you must stop promptly at noon) Name: Login: cs3- First names of the people to your left and right, if any: Left: Right:
More informationMath 4242 Polynomial Time algorithms, IndependentSet problem
Math 4242 Polynomial Time algorithms, IndependentSet problem Many of the algorithms we have looked at so far have a reasonable running time. Not all algorithms do. We make this idea more precise. Definition:
More informationCS-171, Intro to A.I. Mid-term Exam Fall Quarter, 2014
CS-171, Intro to A.I. Mid-term Exam Fall Quarter, 2014 YOUR NAME: YOUR ID: ID TO RIGHT: ROW: SEAT: The exam will begin on the next page. Please, do not turn the page until told. When you are told to begin
More informationCS3L Summer 2011 Final Exam, Part 2 You may leave when finished; or, you must stop promptly at 12:20
CS3L Summer 2011 Final Exam, Part 2 You may leave when finished; or, you must stop promptly at 12:20 Name: Login: cs3- First names of the people to your left and right, if any: Left: Right: 1. If you have
More informationSpring Localization II. Roland Siegwart, Margarita Chli, Martin Rufli. ASL Autonomous Systems Lab. Autonomous Mobile Robots
Spring 2016 Localization II Localization I 25.04.2016 1 knowledge, data base mission commands Localization Map Building environment model local map position global map Cognition Path Planning path Perception
More informationUninformed Search (Ch )
Uninformed Search (Ch. 3-3.4) Announcements First homework will be posted tonight (due next Wednesday at 11:55 pm) Review We use words that have a general English definition in a technical sense nd Rational=choose
More informationMajor Assignment: Pacman Game
Major Assignment: Pacman Game 300580 Programming Fundamentals Week 10 Assignment The major assignment involves producing a Pacman style game with Clara using the Greenfoot files that are given to you.
More informationSpring Localization II. Roland Siegwart, Margarita Chli, Juan Nieto, Nick Lawrance. ASL Autonomous Systems Lab. Autonomous Mobile Robots
Spring 2018 Localization II Localization I 16.04.2018 1 knowledge, data base mission commands Localization Map Building environment model local map position global map Cognition Path Planning path Perception
More informationHigh Performance Computing: Tools and Applications
High Performance Computing: Tools and Applications Edmond Chow School of Computational Science and Engineering Georgia Institute of Technology Lecture 15 Numerically solve a 2D boundary value problem Example:
More informationSolutions to Problem 1 of Homework 3 (10 (+6) Points)
Solutions to Problem 1 of Homework 3 (10 (+6) Points) Sometimes, computing extra information can lead to more efficient divide-and-conquer algorithms. As an example, we will improve on the solution to
More informationWorksheet Answer Key: Scanning and Mapping Projects > Mine Mapping > Investigation 2
Worksheet Answer Key: Scanning and Mapping Projects > Mine Mapping > Investigation 2 Ruler Graph: Analyze your graph 1. Examine the shape formed by the connected dots. i. Does the connected graph create
More informationCMPSCI 187 / Spring 2015 Implementing Sets Using Linked Lists
CMPSCI 187 / Spring 2015 Implementing Sets Using Linked Lists Due on Tuesday February 24, 2015, 8:30 a.m. Marc Liberatore and John Ridgway Morrill I N375 Section 01 @ 10:00 Section 02 @ 08:30 1 CMPSCI
More informationIntermediate Algebra. Gregg Waterman Oregon Institute of Technology
Intermediate Algebra Gregg Waterman Oregon Institute of Technology c 2017 Gregg Waterman This work is licensed under the Creative Commons Attribution 4.0 International license. The essence of the license
More informationKAREL UNIT 5 STUDENT JOURNAL REVISED APRIL 19, 2017 NAME SCHOOL, CLASS, PERIOD
KAREL UNIT 5 STUDENT JOURNAL REVISED APRIL 19, 2017 NAME DATE STARTED DATE COMPLETED SCHOOL, CLASS, PERIOD Copyright 2016, 2017 NCLab Inc. 2 3 TABLE OF CONTENTS: WELCOME TO YOUR JOURNAL 4 SECTION 21: PROBABILITY
More informationCPS 170: Artificial Intelligence Search
CPS 170: Artificial Intelligence http://www.cs.duke.edu/courses/spring09/cps170/ Search Instructor: Vincent Conitzer Search We have some actions that can change the state of the world Change resulting
More informationNotes on Non-Chronologic Backtracking, Implication Graphs, and Learning
Notes on Non-Chronologic Backtracking, Implication Graphs, and Learning Alan J. Hu for CpSc 5 Univ. of British Columbia 00 February 9 These are supplementary notes on these aspects of a modern DPLL-style
More informationMidterm I Exam Principles of Imperative Computation André Platzer Ananda Gunawardena. February 23, 2012
Midterm I Exam 15-122 Principles of Imperative Computation André Platzer Ananda Gunawardena February 23, 2012 Name: Sample Solution Andrew ID: aplatzer Section: Instructions This exam is closed-book with
More informationCSCI 204 Introduction to Computer Science II
CSCI 204 Project 2 Maze Assigned: Wednesday 09/27/2017 First Phase (Recursion) Due Friday, 10/06/2017 Second Phase (Stack) Due Monday, 10/16/2017 1 Objective The purpose of this assignment is to give you
More information6.045J/18.400J: Automata, Computability and Complexity. Practice Quiz 2
6.045J/18.400J: Automata, omputability and omplexity March 21, 2007 Practice Quiz 2 Prof. Nancy Lynch Elena Grigorescu Please write your name in the upper corner of each page. INFORMATION ABOUT QUIZ 2:
More informationEECS 492 Midterm #1. Example Questions. Note: Not a complete exam!
EECS 492 Midterm #1 Example Questions Note: Not a complete exam! General Instructions This exam is closed book, except that you are allowed to refer to a single sheet of paper. You may use a calculator
More informationCOMPUTER EXERCISE: POPULATION DYNAMICS IN SPACE September 3, 2013
COMPUTER EXERCISE: POPULATION DYNAMICS IN SPACE September 3, 2013 Objectives: Introduction to coupled maps lattice as a basis for spatial modeling Solve a spatial Ricker model to investigate how wave speed
More informationDepartment of Electrical Engineering and Computer Sciences Spring 2001 Instructor: Dan Garcia CS 3 Midterm #2. Personal Information
University of California, Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences Spring 2001 Instructor: Dan Garcia 2001-04-09 CS 3 Midterm #2 Personal Information Last
More information6.034 Notes: Section 2.1
6.034 Notes: Section 2.1 Slide 2.1.1 Search plays a key role in many parts of AI. These algorithms provide the conceptual backbone of almost every approach to the systematic exploration of alternatives.
More informationIntroduction:... 3 What s in the Box:... 3 System Requirements:... 3 Serialization and Activation... 4 Software layout... 6 SpyderPRINT Software...
User Guide Introduction:... 3 What s in the Box:... 3 System Requirements:... 3 Serialization and Activation... 4 Software layout... 6 SpyderPRINT Software... 7 Welcome Screen... 7 Before You Begin...
More informationCS 310 Advanced Data Structures and Algorithms
CS 31 Advanced Data Structures and Algorithms Graphs July 18, 17 Tong Wang UMass Boston CS 31 July 18, 17 1 / 4 Graph Definitions Graph a mathematical construction that describes objects and relations
More informationCMPSCI 250: Introduction to Computation. Lecture #24: General Search, DFS, and BFS David Mix Barrington 24 March 2014
CMPSCI 250: Introduction to Computation Lecture #24: General Search, DFS, and BFS David Mix Barrington 24 March 2014 General Search, DFS, and BFS Four Examples of Search Problems State Spaces, Search,
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 informationMIT Programming Contest Team Contest 1 Problems 2008
MIT Programming Contest Team Contest 1 Problems 2008 October 5, 2008 1 Edit distance Given a string, an edit script is a set of instructions to turn it into another string. There are four kinds of instructions
More informationMath 182. Assignment #4: Least Squares
Introduction Math 182 Assignment #4: Least Squares In any investigation that involves data collection and analysis, it is often the goal to create a mathematical function that fits the data. That is, a
More informationIntroduction. hashing performs basic operations, such as insertion, better than other ADTs we ve seen so far
Chapter 5 Hashing 2 Introduction hashing performs basic operations, such as insertion, deletion, and finds in average time better than other ADTs we ve seen so far 3 Hashing a hash table is merely an hashing
More informationData Structure. IBPS SO (IT- Officer) Exam 2017
Data Structure IBPS SO (IT- Officer) Exam 2017 Data Structure: In computer science, a data structure is a way of storing and organizing data in a computer s memory so that it can be used efficiently. Data
More informationA simple problem that has a solution that is far deeper than expected!
The Water, Gas, Electricity Problem A simple problem that has a solution that is far deeper than expected! Consider the diagram below of three houses and three utilities: water, gas, and electricity. Each
More informationCS355 Hw 4. Interface. Due by the end of day Tuesday, March 20.
Due by the end of day Tuesday, March 20. CS355 Hw 4 User-level Threads You will write a library to support multiple threads within a single Linux process. This is a user-level thread library because the
More informationLecture 3: Linear Classification
Lecture 3: Linear Classification Roger Grosse 1 Introduction Last week, we saw an example of a learning task called regression. There, the goal was to predict a scalar-valued target from a set of features.
More information