Walking the Grid: Robotics in CS 2

Size: px
Start display at page:

Download "Walking the Grid: Robotics in CS 2"

Transcription

1 Walking the Grid: Robotics in CS 2 Myles F. McNally Department of Mathematics and Computer Science Alma College Alma, MI, 48801, USA mcnally@alma.edu Abstract This paper describes the use of inexpensive robotics platforms to create engaging student projects for a second course in computer programming. These projects employ the stack and queue data structures, reinforce basic concepts such as two dimensional arrays, and are situated in the context of modern, object-oriented programming. Advanced concepts from autonomous mobile robotics are introduced in a gentle manner, including occupancy grids, path planning, and sensor fusion. The fundamentals of depth and breadth first search are used in the solutions to the various projects described.. Keywords: Data structures, graph search, robotics, path planning. 1 Introduction The goal of the GridWalker project is to create engaging object-oriented programming projects that introduce themes from Artificial Intelligence and Robotics into the second programming course, often referred to as CS2. These projects can be used once students have been introduced to the stack and queue data structures, and reinforce material usually covered in an earlier course such as classes, interfaces, and inheritance, two dimensional arrays, and exception handling. Students find projects employing robotics motivating, leading to increased time on task and enhanced learning. Such projects also allow students to see the practical applications of programming, often overlooked in introductory courses. Many different robot designs can be used in the solutions to the following projects, but whatever design is chosen it must employ differential drive the left and right side wheels must be able to turn independently, hence allowing the robot to rotate in place by turning its wheels in opposite directions. In our course we use Lego Mindstorms robots and the Java programming language, in particular LeJOS (well described in Bagwell 2002), but these projects could be easily adapted to other robotic platforms and programming languages. We choose Mindstorms because of its inexpensive cost, easy of Copyright 2006, Australian Computer Society, Inc. This paper appeared at the Eighth Australasian Computing Education Conference (ACE2006), Hobart, Tasmania, Australia, January Conferences in Research in Practice in Information Technology, Vol. 52. Denise Tolhurst and Samuel Mann Eds. Reproduction for academic, not-for profit purposes permitted provided this text is included. customisation, and its widespread adoption among computer science educators (cf. Barnes 2002, Kay 2003, and Lawhead et al 2003 for good discussions and a number of references). We call our robot the GridWalker and optionally equip it with a sonar sensor to allow it to detect obstacles at a distance. The laboratory projects described below are available on our website, and sample solutions will be provided to instructors on request. 2 Occupancy Grids Each of the projects has at its foundation the use of an occupancy grid. This notion, drawn from work in autonomous mobile robots (cf. Murphy 2000, Siegwart and Nourbakhsh 2004), is often used in the solution of navigation (How do I get where I want to go?) and localization (Where am I?) problems. Such a grid is a discrete approximation of the environment the robot finds itself in. Each cell represents an area of the environment and is either marked free (the corresponding area contains no obstacles) or occupied. If any part of the area the cell represents contains an obstacle the cell is considered occupied. Robots cannot move into occupied cells. Figure 1 shows an example occupancy grid. The black shapes are obstacles, the grey grid cells are considered occupied, and the white cells free. Figure 1: An Occupancy Grid Grids representing real world environments are often fine grained, representing areas 4 to 6 inches square. The finer the grain of the occupancy grid the better it represents the environment. But fine grained grids lead to computational challenges and require large amounts of memory, two challenges the RCX (the Mindstorms computer control brick) cannot easily handle. On the other hand, coarse grids can mask a number of environmental features, such as narrow passageways. So in real world applications robots (and their designers) must take these trade offs into consideration. Our GridWalker projects will avoid these issues by using simplified environments such as that shown in Figure 1.

2 Using a large scale printer, we have printed a grid for the GridWalker to roam around in that is the physical embodiment of the occupancy grid the GridWalker will use when computing its movements. Blocks from a children s toy set are used to define the occupied cells. Figure 2 shows the GridWalker placed on the grid with occupied cells defined by blocks. Figure 2: Basic GridWalker Environment In the advanced projects the goal will be path planning: the computation of a path from a starting point to goal point in a known (or in one project an unknown) environment. But to begin we need to be able to move reliably from cell to cell, which is a major goal of Project 1. 3 Project 1: A Random Walk (and Back!) The goal of the first project is easy to state: Placed on the grid in an arbitrary (but known) starting position, the GridWalker goes on a random walk for a fixed number of steps, and then retraces its steps back to its starting point. The GridWalker is only permitted to move one cell to the north, south, east, or west at a time (the so-called 4-rule). No diagonal or other movements are permitted. The solution of this project involves the straightforward use of a stack. During the random walk phase, the direction of each movement is in turn pushed on the stack. When the GridWalker returns it pops items off of the stack and travels a single square in the opposite direction. When the stack is empty the GridWalker has returned to its starting point. Often during the random walk phase the robot will move forward and then immediately back. On the return trip the robot can skip this oscillation by peeking onto the stack after each pop. If the peek reveals a movement in the opposite direction from that which was just popped, both are ignored. Such an improvement is considered in Johnson-Laird We chose not to use the Java collection classes in our course. Students implement a simple stack class and a single stack exception class in their solution. An instructor might prefer to have their students implement separate underflow and overflow exception classes. The more difficult part of this assignment is getting the GridWalker to accurately move from cell to cell. This requires the solution of the odometry problem: getting a robot to move around in an environment while reliably tracking its location. We ask students to define a GridWalker class that contains: A constructor that specifies the number of rows and columns in grid, the grid cell size, and the starting location of the robot. A goto method that takes as a parameter a grid location and causes the robot to move from its current location to that location. Parameterless methods north, east, south, and west that cause the robot to move one cell in the respective direction. These methods use the goto method in their solution. A first approach to a solution might use timing. Students would measure how long it takes their robot to move a fixed distance, and then use that amount to compute required travelling times. Similarly they would measure turn times. Experience shows that this is not a particularly accurate approach, as robot speed depends on battery strength, which erodes over time. However this approach could be used. A more accurate approach uses axle encoders (also know as rotation sensors), which measure wheel rotations. Such sensors are not part of the standard Mindstorms kit, but can be inexpensively purchased from Lego. One threads an axle through the sensor, and each revolution of the axle is 16 clicks on the sensor, which means that the sensor can measure a change in axle orientation of 22.5 degrees. This would be a rather coarse reading if it was a direct wheel reading. So the sensor is usually connected to a gear train that gears it down. In our experience a 1 to 5 reduction is sufficient, giving 80 clicks for each revolution of the wheel, for a sensitivity of 4.5 degrees. Figure 3 shows a modification of the standard Roverbot design (found in the Lego Constructopedia which comes with the Mindstorms Invention 2.0 kit) that has a rotation sensor connected to each wheel. The RCX then sits on top. Figure 3: Chassis with Rotation Sensors Using such sensors, once the wheel size, distance between the wheels, and gear ratio is known, the robot can be made to both accurately travel distances and make turns by the solution of well-known kinematic equations. Such equations are a topic better left to a later robotics course. Fortunately the Java system LeJOS for Mindstorms provides a Rotation Navigator class in which

3 these equations are already implemented (cf. Bagnall 2002). Students are merely asked to extend this class in their solution. The constructor for the RotationNavigator takes as its parameters the wheel diameter, the axle width, and the ratio of encoder revolutions to wheel revolutions. Important RotationNavigator methods for this project are the following: public void gotopoint(float x, float y). Rotates the RCX robot towards the target point and moves the required distance. public float getx(). Returns the current x coordinate of the RCX. public float gety(). Returns the current y coordinate of the RCX. public float getangle(). Returns the current angle the RCX robot is facing. The student extends this class, maintaining instance variables for the current grid location, the size of the grid, and the size of a grid cell. In implementing the goto method, the student needs to check that the new location is legal (i.e., in the grid). If it is not, an exception should be thrown (optional, but a good opportunity to reinforce the use of programmer defined exceptions). The student also needs to convert grid locations to absolute locations. The RotationNavigator assumes the robot starts at 0,0 with an orientation of 0 degrees. The GridWalker allows the programmer to specify any cell as the starting location, but still assumes orientation of 0 degrees. 4 Project 2: Wavefront Propagation The Path Planning Problem is the determination of a path from a starting position to a goal position in an environment containing obstacles. Numerous solutions to this problem exist (cf. Murphy 2000, Siegwart and Nourbakhsh 2004). In a later project we consider using classical graph searching algorithms on the implicit adjacency graph defined by the occupancy grid. But in this project we employ a technique well known in the robotics community but not as well known elsewhere. To solve this problem, imagine a wavefront moving out from the goal cell. The wave moves according to the 4- rule. When the wave first reaches a cell it is labelled with the amount of time it took to reach it. If there are obstacles the wave simply flows around them. Figure 4 shows the distance values in our occupancy grid after the wavefront propagates from the bottom-right cell. Each cell label represents the number of steps required to reach the goal from the so labelled cell. For a robot to reach the goal from any starting location, it repeatedly moves to an adjacent cell with a lesser label until the goal is reached. Figure 4 shows a solution path in light grey from the cell at the bottom left. There are usually many equivalent but different solution paths. Figure 4: Wavefront Times and a Solution Path from Starting Point (bottom-left) to Goal (bottom-right) Labelling the occupancy grid cells employs an algorithm that is corresponds to breadth-first search, using a queue of points as the basic data structure. Here are the basics: Allocate a new two dimensional array D the size of the occupancy grid. Set cells in D which correspond to occupied cells to high values and all others to -1. Set the value of the goal cell to 0. Enqueue the location of the goal cell (a point). While (queue is not empty) Dequeue a point L. Find the value V associated with point L in D. Find the neighbours of L with a -1 value. Set the values of these neighbours to V+1. Enqueue each of these points. Once the distance array D has been populated the robot can easily move to the goal cell as described above. However, if the starting cell still has a -1 value after initialisation the goal cell is unreachable and no solution path exists. Students are asked to implement the queue class and an associated queue exception class, and a separate grid class that encapsulates the details of the occupancy grid. They hard code the starting and ending locations, and which cells in the occupancy grid are occupied, among other things. It would be easy to extend this assignment so that this information was supplied to the RCX by a remote program on a base computer (cf. Scholz 2005), but issues of data communication are not really goals of this project. 5 Project 3: Adding Sonar Sonar sensors are not part of the basic Mindstorms kit, but can be inexpensively purchased from third party vendors. With such a sensor mounted on our robot, obstacles can be sensed from a distance, and hence the robot can decide which cells in the grid are occupied as it moves about its environment. Figure 5 shows our GridWalker robot augmented with a sonar unit.

4 free or occupied, it is marked with the degree of confidence the robot has that it is occupied, based on past sensor readings. A threshold value is set and the robot considers any cell with such a value or higher to be occupied. Each time the robot employs its sonar it updates its confidence factors. Students can experiment with the range of confidence values and the associated threshold value to see what works best in their environment. 6 Project 4: Classical Search Algorithms Figure 5: GridWalker with Sonar Project 3 extends the previous project by beginning with an occupancy grid in which all cells are marked free, and dynamically recomputes its route as it encounters obstacles during its travel. Here is the outline of the approach: Perform the wavefront labelling routine using an occupancy grid with all cells marked free. Do Determine a direction to travel. Orient robot in that direction. Use sonar to check if next cell in that direction is occupied. If it is, update occupancy grid and rerun labelling routine. If it is not, move to that cell. while (goal not reached and the cell label not -1) Simple orientation of the robot is not part of the original GridWalker specification, so students will need to add that capability. As stated here, students are only asked to check if the next cell in the desired travel direction is occupied. But most sonar systems available for robotic system are reasonably accurate up to about eight feet (cf. Mindsensors 2005 for the specifications of the sonar system we employed). Students can thus be asked to experiment with detecting occupied cells at further distances. Since the sonar beam spreads at an approximately 30 angle, false readings due to adjacent occupied cells occur as distances increase, and distance readings can be inaccurate as well. A cell that appears to be occupied may not be, and students need to take this into consideration, perhaps only considering obstacles detected close by. An advanced option for this project is to model the uncertainty of sonar readings by combining their results over time an instance of the so-called sensor fusion problem. See Murphy 2000 for a survey of such approaches. We have found the HIMM method of Borenstein and Koren 1991 to be simple enough for good students in a second programming course to handle. This straightforward approach uses confidence factors to model uncertainty. Instead of a cell being either marked Any of the well known graph search algorithms can be used by the GridWalker to do plan planning. Depth-first and breadth-first recommend themselves due to their simplicity, but best-first or hill-climbing could be implemented. Details of these search algorithms can be found in almost any artificial intelligence textbook (e.g., Russell and Norvig 2002) and in many data structures texts (e.g., Goodrich and Tamassia 2003). Since the adjacency graph is implicit in the occupancy grid, no explicit graph needs to be represented and the data structure requirements are limited to arrays, stacks, and queues. This project is independent of project 2, requiring only the successful completion of project 1. It can also be extended in basically the same way the project 3 extends project 2. Since these are very well known algorithms we only sketch an example here, namely a variation of depth-first search. Students are asked to write the class definition for the search algorithm that has A constructor that takes an occupancy grid as a parameter. A findpath method, which takes as parameters starting and ending points and returns the solution path in a vector. The findpath method uses a stack of points as the basic data structure, and a two dimensional array of points in which the path is labelled. Allocate a new two dimensional array of points F the size of the occupancy grid. Set each of the point references in F to null. Push the location of the start cell (a point). While (stack is not empty and goal not found) Pop a point L. If L is the goal, break. Find the unoccupied neighbours of L with a null value in F. Set the values of these neighbours in F to L. Push each of these points. If the goal is found, the path can be found in array F. Since each visited cell contains the location of the cell it was visited from, the path is retrieved by working back from the goal cell to the start cell using the recorded locations.

5 It is recommended that students be asked to formally implement a search interface, so that later other implementations, say breadth-first search, can be compared and contrasted. Students at this level need to be well scaffolded on the search algorithms, so we provide rather explicit pseudocode in the laboratory write-up. In particular we discuss recording the found path, which is glossed over in many textbooks. Once the path is found, the GridWalker merely needs to traverse that path to the goal cell using the methods the students developed in their solution to project 1. 7 Conclusion This paper described a series of laboratory projects that introduce robotics themes in a second course in computer programming. These projects provide examples of practical applications of computer programming in a realm students find motivating. They employ basic data structures such as arrays, stacks and queues, and reinforce the object-oriented approach to programming by having students define classes, use inheritance, implement interfaces, and handle exceptions. The laboratories themselves are available at our website (Klassner, Lawhead, and McNally 2005) and, although written to be used with the Lego Mindstorms platform, can easily be adapted to a number of other robotics platforms. road map for teaching introductory programming using LEGO Mindstorms robots. ACM SIGCSE Bulletin 35(2): Mindsensors Inc. (2005): Sonar Sensors. Accessed 18 Aug Murphy, R. (2000): Introduction to AI Robotics. Cambridge, MIT Press. Russell, S., and Norvig, P. (2002): Artificial Intelligence: A Modern Approach. Upper Saddle River, Prentice Hall. Siegwart, R., and Nourbakhsh, I. (2004): Introduction to Autonomous Mobile Robots. Cambridge, MIT Press. Sholz, M (2005): The LeJOS Tutorial, Accessed 18 Aug Acknowledgements This work was partially supported by a National Science Foundation CCLI grant DUE Programming solutions to some of the projects described above were first created by Josh Borgerding, the teaching assistant for the course. 9 References Bagwell, B. (2002): Core Lego Mindstorms Programming. Upper Saddle River, Prentice Hall PTR. Barnes, D. (2002): Teaching introductory Java through Lego Mindstorm models. ACM SIGCSE Bulletin 34(1): Borenstein, J. and Koren, Y. (1991) Histogramic In- Motion Mapping for Mobile Robot Obstacle Avoidance. IEEE Transactions on Robotics and Automation 7(4): Goodrich, M., and Tamassia, P. (2003): Data Structures and Algorithms in Java. New York, Wiley. Johnson-Laird, P. (1988): The Computer and the Mind. Cambridge, Harvard. Kay, J. (2003): Teaching robotics from a computer science perspective. Journal of Computing Sciences in Colleges 19(2): Klassner, F., Lawhead, P. and McNally, M. (2005): Lego Mindstorms in Computer Science Education, Accessed 18 Aug Lawhead, P., Duncan M., Bland, C., Goldweber, M., Schep, M., Barnes, D. and Hollingsworth, R. (2003): A

An Introduction to the Lego Mindstorms

An Introduction to the Lego Mindstorms Abstract An Introduction to the Lego Mindstorms Daniel Cliburn Assistant Professor Mathematics and Computer Science Hanover College Box 890 Hanover, IN 47243 (812) 866 7286 cliburn@hanover.edu http://www2.hanover.edu/cliburn

More information

Learning Roomba: Teacher s Guide Module 5 Localization. Drew Housten

Learning Roomba: Teacher s Guide Module 5 Localization. Drew Housten Learning Roomba: Teacher s Guide Module 5 Localization Drew Housten (dhousten@gmail.com) 1 1 Introduction Determining where a robot is in its environment is not an easy task. The problem of localization

More information

Lesson 1 Introduction to Path Planning Graph Searches: BFS and DFS

Lesson 1 Introduction to Path Planning Graph Searches: BFS and DFS Lesson 1 Introduction to Path Planning Graph Searches: BFS and DFS DASL Summer Program Path Planning References: http://robotics.mem.drexel.edu/mhsieh/courses/mem380i/index.html http://dasl.mem.drexel.edu/hing/bfsdfstutorial.htm

More information

A System for Bidirectional Robotic Pathfinding

A System for Bidirectional Robotic Pathfinding A System for Bidirectional Robotic Pathfinding Tesca K. Fitzgerald Department of Computer Science, Portland State University PO Box 751 Portland, OR 97207 USA tesca@cs.pdx.edu TR 12-02 November 2012 Abstract

More information

Probabilistic Localization with the RCX Lloyd Greenwald

Probabilistic Localization with the RCX Lloyd Greenwald Probabilistic Localization with the RCX Lloyd Greenwald (www.cs.drexel.edu/~lgreenwa) Probabilistic Localization with the RCX, Greenwald 1 Outline Overview The localization problem A simplified educational

More information

Motion Planning. Howie CHoset

Motion Planning. Howie CHoset Motion Planning Howie CHoset What is Motion Planning? What is Motion Planning? Determining where to go Overview The Basics Motion Planning Statement The World and Robot Configuration Space Metrics Algorithms

More information

Wave front Method Based Path Planning Algorithm for Mobile Robots

Wave front Method Based Path Planning Algorithm for Mobile Robots Wave front Method Based Path Planning Algorithm for Mobile Robots Bhavya Ghai 1 and Anupam Shukla 2 ABV- Indian Institute of Information Technology and Management, Gwalior, India 1 bhavyaghai@gmail.com,

More information

An Appropriate Search Algorithm for Finding Grid Resources

An Appropriate Search Algorithm for Finding Grid Resources An Appropriate Search Algorithm for Finding Grid Resources Olusegun O. A. 1, Babatunde A. N. 2, Omotehinwa T. O. 3,Aremu D. R. 4, Balogun B. F. 5 1,4 Department of Computer Science University of Ilorin,

More information

Instructions For Constructing A Braitenberg Vehicle 2 Robot From LEGO Mindstorms Components

Instructions For Constructing A Braitenberg Vehicle 2 Robot From LEGO Mindstorms Components Instructions For Constructing A Braitenberg Vehicle 2 Robot From LEGO Mindstorms Components Michael R.W. Dawson, Biological Computation Project, University of Alberta, Edmonton, Alberta September, 2003

More information

Introduction to Information Science and Technology (IST) Part IV: Intelligent Machines and Robotics Planning

Introduction to Information Science and Technology (IST) Part IV: Intelligent Machines and Robotics Planning Introduction to Information Science and Technology (IST) Part IV: Intelligent Machines and Robotics Planning Sören Schwertfeger / 师泽仁 ShanghaiTech University ShanghaiTech University - SIST - 10.05.2017

More information

Motion Planning. Howie CHoset

Motion Planning. Howie CHoset Motion Planning Howie CHoset Questions Where are we? Where do we go? Which is more important? Encoders Encoders Incremental Photodetector Encoder disk LED Photoemitter Encoders - Incremental Encoders -

More information

COMPARISON OF ROBOT NAVIGATION METHODS USING PERFORMANCE METRICS

COMPARISON OF ROBOT NAVIGATION METHODS USING PERFORMANCE METRICS COMPARISON OF ROBOT NAVIGATION METHODS USING PERFORMANCE METRICS Adriano Flores Dantas, Rodrigo Porfírio da Silva Sacchi, Valguima V. V. A. Odakura Faculdade de Ciências Exatas e Tecnologia (FACET) Universidade

More information

Introducing Robotics Vision System to a Manufacturing Robotics Course

Introducing Robotics Vision System to a Manufacturing Robotics Course Paper ID #16241 Introducing Robotics Vision System to a Manufacturing Robotics Course Dr. Yuqiu You, Ohio University c American Society for Engineering Education, 2016 Introducing Robotics Vision System

More information

Autonomous Mobile Robots, Chapter 6 Planning and Navigation Where am I going? How do I get there? Localization. Cognition. Real World Environment

Autonomous Mobile Robots, Chapter 6 Planning and Navigation Where am I going? How do I get there? Localization. Cognition. Real World Environment Planning and Navigation Where am I going? How do I get there?? Localization "Position" Global Map Cognition Environment Model Local Map Perception Real World Environment Path Motion Control Competencies

More information

COS Lecture 13 Autonomous Robot Navigation

COS Lecture 13 Autonomous Robot Navigation COS 495 - Lecture 13 Autonomous Robot Navigation Instructor: Chris Clark Semester: Fall 2011 1 Figures courtesy of Siegwart & Nourbakhsh Control Structure Prior Knowledge Operator Commands Localization

More information

Obstacle Avoidance (Local Path Planning)

Obstacle Avoidance (Local Path Planning) Obstacle Avoidance (Local Path Planning) The goal of the obstacle avoidance algorithms is to avoid collisions with obstacles It is usually based on local map Often implemented as a more or less independent

More information

(Refer Slide Time: 02.06)

(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 information

Robotics and Autonomous Systems

Robotics and Autonomous Systems Robotics and Autonomous Systems Lecture 6: Perception/Odometry Simon Parsons Department of Computer Science University of Liverpool 1 / 47 Today We ll talk about perception and motor control. 2 / 47 Perception

More information

Robotics and Autonomous Systems

Robotics and Autonomous Systems Robotics and Autonomous Systems Lecture 6: Perception/Odometry Terry Payne Department of Computer Science University of Liverpool 1 / 47 Today We ll talk about perception and motor control. 2 / 47 Perception

More information

Path Planning. Marcello Restelli. Dipartimento di Elettronica e Informazione Politecnico di Milano tel:

Path Planning. Marcello Restelli. Dipartimento di Elettronica e Informazione Politecnico di Milano   tel: Marcello Restelli Dipartimento di Elettronica e Informazione Politecnico di Milano email: restelli@elet.polimi.it tel: 02 2399 3470 Path Planning Robotica for Computer Engineering students A.A. 2006/2007

More information

UNIVERSITY OF NORTH CAROLINA AT CHARLOTTE

UNIVERSITY 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 information

Introduction to Robotics using Lego Mindstorms EV3

Introduction to Robotics using Lego Mindstorms EV3 Introduction to Robotics using Lego Mindstorms EV3 Facebook.com/roboticsgateway @roboticsgateway Robotics using EV3 Are we ready to go Roboticists? Does each group have at least one laptop? Do you have

More information

Part A: Monitoring the Rotational Sensors of the Motor

Part A: Monitoring the Rotational Sensors of the Motor LEGO MINDSTORMS NXT Lab 1 This lab session is an introduction to the use of motors and rotational sensors for the Lego Mindstorm NXT. The first few parts of this exercise will introduce the use of the

More information

CPSC 221: Algorithms and Data Structures ADTs, Stacks, and Queues

CPSC 221: Algorithms and Data Structures ADTs, Stacks, and Queues CPSC 221: Algorithms and Data Structures ADTs, Stacks, and Queues Alan J. Hu (Slides borrowed from Steve Wolfman) Be sure to check course webpage! http://www.ugrad.cs.ubc.ca/~cs221 1 Lab 1 available very

More information

MEM380 Applied Autonomous Robots Fall Depth First Search A* and Dijkstra s Algorithm

MEM380 Applied Autonomous Robots Fall Depth First Search A* and Dijkstra s Algorithm MEM380 Applied Autonomous Robots Fall Breadth First Search Depth First Search A* and Dijkstra s Algorithm Admin Stuff Course Website: http://robotics.mem.drexel.edu/mhsieh/courses/mem380i/ Instructor:

More information

CS 1114: Implementing Search. Last time. ! Graph traversal. ! Two types of todo lists: ! Prof. Graeme Bailey.

CS 1114: Implementing Search. Last time. ! Graph traversal. ! Two types of todo lists: ! Prof. Graeme Bailey. CS 1114: Implementing Search! Prof. Graeme Bailey http://cs1114.cs.cornell.edu (notes modified from Noah Snavely, Spring 2009) Last time! Graph traversal 1 1 2 10 9 2 3 6 3 5 6 8 5 4 7 9 4 7 8 10! Two

More information

Lecture 26: Graphs: Traversal (Part 1)

Lecture 26: Graphs: Traversal (Part 1) CS8 Integrated Introduction to Computer Science Fisler, Nelson Lecture 6: Graphs: Traversal (Part ) 0:00 AM, Apr, 08 Contents Introduction. Definitions........................................... Representations.......................................

More information

ROBOTICS AND AUTONOMOUS SYSTEMS

ROBOTICS AND AUTONOMOUS SYSTEMS ROBOTICS AND AUTONOMOUS SYSTEMS Simon Parsons Department of Computer Science University of Liverpool LECTURE 6 PERCEPTION/ODOMETRY comp329-2013-parsons-lect06 2/43 Today We ll talk about perception and

More information

Abstraction. Today s Lecture. Problem Formalization Issues. Lecture 3: Search 2

Abstraction. Today s Lecture. Problem Formalization Issues. Lecture 3: Search 2 Lecture 3: Search 2 Victor R. Lesser CMPSCI 683 Fall 2010 Today s Lecture Finish off Introductory Material on Search Brief Review of Blind Search How to use heuristics (domain knowledge) in order to accelerate

More information

Simultaneous Localization and Mapping

Simultaneous Localization and Mapping Sebastian Lembcke SLAM 1 / 29 MIN Faculty Department of Informatics Simultaneous Localization and Mapping Visual Loop-Closure Detection University of Hamburg Faculty of Mathematics, Informatics and Natural

More information

Mobile Robot Path Planning Software and Hardware Implementations

Mobile Robot Path Planning Software and Hardware Implementations Mobile Robot Path Planning Software and Hardware Implementations Lucia Vacariu, Flaviu Roman, Mihai Timar, Tudor Stanciu, Radu Banabic, Octavian Cret Computer Science Department, Technical University of

More information

This page outlines some of the alternate pieces that can be used for building.

This page outlines some of the alternate pieces that can be used for building. Artbotics Exploring Mechanisms with Lego Mindstorms EV3 This packet contains information on each mechanism you will be using, including a to-scale image of all of the pieces needed to build each one and

More information

Agreement. Objectives. General Guidelines for Labs. Reading Assignment

Agreement. Objectives. General Guidelines for Labs. Reading Assignment 1 CMPSC 111 Introduction to Computer Science I Fall 2016 Janyl Jumadinova Lab 9 for Section 1 17 November 2016 Due: 1 December, by 2:30 pm This is a team-based assignment. You have to work in teams of

More information

Obstacle Avoidance (Local Path Planning)

Obstacle Avoidance (Local Path Planning) 6.2.2 Obstacle Avoidance (Local Path Planning) The goal of the obstacle avoidance algorithms is to avoid collisions with obstacles It is usually based on local map Often implemented as a more or less independent

More information

CS 112 Final May 8, 2008 (Lightly edited for 2011 Practice) Name: BU ID: Instructions GOOD LUCK!

CS 112 Final May 8, 2008 (Lightly edited for 2011 Practice) Name: BU ID: Instructions GOOD LUCK! CS 112 Final May 8, 2008 (Lightly edited for 2011 Practice) Name: BU ID: This exam is CLOSED book and notes. Instructions The exam consists of six questions on 11 pages. Please answer all questions on

More information

Using Classical Mechanism Concepts to Motivate Modern Mechanism Analysis and Synthesis Methods

Using Classical Mechanism Concepts to Motivate Modern Mechanism Analysis and Synthesis Methods Using Classical Mechanism Concepts to Motivate Modern Mechanism Analysis and Synthesis Methods Robert LeMaster, Ph.D. 1 Abstract This paper describes a methodology by which fundamental concepts in the

More information

CPSC 221: Algorithms and Data Structures Lecture #1: Stacks and Queues

CPSC 221: Algorithms and Data Structures Lecture #1: Stacks and Queues CPSC 221: Algorithms and Data Structures Lecture #1: Stacks and Queues Alan J. Hu (Slides borrowed from Steve Wolfman) Be sure to check course webpage! http://www.ugrad.cs.ubc.ca/~cs221 1 Lab 1 is available.

More information

Monte Carlo Localization using Dynamically Expanding Occupancy Grids. Karan M. Gupta

Monte Carlo Localization using Dynamically Expanding Occupancy Grids. Karan M. Gupta 1 Monte Carlo Localization using Dynamically Expanding Occupancy Grids Karan M. Gupta Agenda Introduction Occupancy Grids Sonar Sensor Model Dynamically Expanding Occupancy Grids Monte Carlo Localization

More information

Navigation and Metric Path Planning

Navigation and Metric Path Planning Navigation and Metric Path Planning October 4, 2011 Minerva tour guide robot (CMU): Gave tours in Smithsonian s National Museum of History Example of Minerva s occupancy map used for navigation Objectives

More information

Robots and Search Algorithms: Real-World Applications for Students

Robots and Search Algorithms: Real-World Applications for Students Session 1320 Robots and Search Algorithms: Real-World Applications for Students R. Stephen Dannelly, Carl W. Steidley, Mario A. Garcia, and Sreevani Pelala Texas A&M University Corpus Christi Abstract

More information

Simulation of the pass through the labyrinth as a method of the algorithm development thinking

Simulation of the pass through the labyrinth as a method of the algorithm development thinking Simulation of the pass through the labyrinth as a method of the algorithm development thinking LIBOR MITROVIC, STEPAN HUBALOVSKY Department of Informatics University of Hradec Kralove Rokitanskeho 62,

More information

Picture Maze Generation by Repeated Contour Connection and Graph Structure of Maze

Picture Maze Generation by Repeated Contour Connection and Graph Structure of Maze Computer Science and Engineering 2013, 3(3): 76-83 DOI: 10.5923/j.computer.20130303.04 Picture Maze Generation by Repeated Contour Connection and Graph Structure of Maze Tomio Kurokawa Department of Information

More information

A Simple, but NP-Hard, Motion Planning Problem

A Simple, but NP-Hard, Motion Planning Problem A Simple, but NP-Hard, Motion Planning Problem Lawrence H. Erickson and Steven M. LaValle University of Illinois at Urbana-Champaign Department of Computer Science 201 N. Goodwin Ave. Urbana, IL 61801

More information

Today MAPS AND MAPPING. Features. process of creating maps. More likely features are things that can be extracted from images:

Today MAPS AND MAPPING. Features. process of creating maps. More likely features are things that can be extracted from images: MAPS AND MAPPING Features In the first class we said that navigation begins with what the robot can see. There are several forms this might take, but it will depend on: What sensors the robot has What

More information

PA3 Design Specification

PA3 Design Specification PA3 Teaching Data Structure 1. System Description The Data Structure Web application is written in JavaScript and HTML5. It has been divided into 9 pages: Singly linked page, Stack page, Postfix expression

More information

12 Abstract Data Types

12 Abstract Data Types 12 Abstract Data Types 12.1 Foundations of Computer Science Cengage Learning Objectives After studying this chapter, the student should be able to: Define the concept of an abstract data type (ADT). Define

More information

Non-Homogeneous Swarms vs. MDP s A Comparison of Path Finding Under Uncertainty

Non-Homogeneous Swarms vs. MDP s A Comparison of Path Finding Under Uncertainty Non-Homogeneous Swarms vs. MDP s A Comparison of Path Finding Under Uncertainty Michael Comstock December 6, 2012 1 Introduction This paper presents a comparison of two different machine learning systems

More information

Occupancy Grid Based Path Planning and Terrain Mapping Scheme for Autonomous Mobile Robots

Occupancy Grid Based Path Planning and Terrain Mapping Scheme for Autonomous Mobile Robots IJCTA, 8(3), 2015, pp. 1053-1061 International Science Press Occupancy Grid Based Path Planning and Terrain Mapping Scheme for Autonomous Mobile Robots C. Saranya 1, Manju Unnikrishnan 2, S. Akbar Ali

More information

LEGO BB-8 Release: LEGO BB-8. Learn how to automate a LEGO BB-8for motion, light, and sound using Crazy Circuits. Written By: Joshua

LEGO BB-8 Release: LEGO BB-8. Learn how to automate a LEGO BB-8for motion, light, and sound using Crazy Circuits. Written By: Joshua LEGO BB-8 Learn how to automate a LEGO BB-8for motion, light, and sound using Crazy Circuits. Written By: Joshua 2018 browndoggadgets.dozuki.com/ Page 1 of 18 INTRODUCTION We absolutely LOVE the new LEGO

More information

Vision-Motion Planning with Uncertainty

Vision-Motion Planning with Uncertainty Vision-Motion Planning with Uncertainty Jun MIURA Yoshiaki SHIRAI Dept. of Mech. Eng. for Computer-Controlled Machinery, Osaka University, Suita, Osaka 565, Japan jun@ccm.osaka-u.ac.jp Abstract This paper

More information

MTRX4700: Experimental Robotics

MTRX4700: Experimental Robotics Stefan B. Williams April, 2013 MTR4700: Experimental Robotics Assignment 3 Note: This assignment contributes 10% towards your final mark. This assignment is due on Friday, May 10 th during Week 9 before

More information

VISUALIZING NP-COMPLETENESS THROUGH CIRCUIT-BASED WIDGETS

VISUALIZING NP-COMPLETENESS THROUGH CIRCUIT-BASED WIDGETS University of Portland Pilot Scholars Engineering Faculty Publications and Presentations Shiley School of Engineering 2016 VISUALIZING NP-COMPLETENESS THROUGH CIRCUIT-BASED WIDGETS Steven R. Vegdahl University

More information

University of Moratuwa

University of Moratuwa University of Moratuwa B.Sc. Engineering MAP BUILDING WITH ROTATING ULTRASONIC RANGE SENSOR By 020075 A.C. De Silva (EE) 020138 E.A.S.M. Hemachandra (ENTC) 020166 P.G. Jayasekara (ENTC) 020208 S. Kodagoda

More information

Visually Augmented POMDP for Indoor Robot Navigation

Visually Augmented POMDP for Indoor Robot Navigation Visually Augmented POMDP for Indoor obot Navigation LÓPEZ M.E., BAEA., BEGASA L.M., ESCUDEO M.S. Electronics Department University of Alcalá Campus Universitario. 28871 Alcalá de Henares (Madrid) SPAIN

More information

Introduction to National Instruments LabVIEW and Data Acquisition (DAQ)

Introduction to National Instruments LabVIEW and Data Acquisition (DAQ) Introduction to National Instruments LabVIEW and Data Acquisition (DAQ) Danial J. Neebel, Joseph R. Blandino, and David J. Lawrence, College of Integrated Science and Technology James Madison University

More information

Final Exam : Introduction to Robotics. Last Updated: 9 May You will have 1 hour and 15 minutes to complete this exam

Final Exam : Introduction to Robotics. Last Updated: 9 May You will have 1 hour and 15 minutes to complete this exam Final Exam 16-311: Introduction to Robotics Last Updated: 9 May 2017 Name: Andrew ID: Team Number: You will have 1 hour and 15 minutes to complete this exam There are 6 sections on 20 pages. Make sure

More information

Basics of Localization, Mapping and SLAM. Jari Saarinen Aalto University Department of Automation and systems Technology

Basics of Localization, Mapping and SLAM. Jari Saarinen Aalto University Department of Automation and systems Technology Basics of Localization, Mapping and SLAM Jari Saarinen Aalto University Department of Automation and systems Technology Content Introduction to Problem (s) Localization A few basic equations Dead Reckoning

More information

Vision Guided AGV Using Distance Transform

Vision Guided AGV Using Distance Transform Proceedings of the 3nd ISR(International Symposium on Robotics), 9- April 00 Vision Guided AGV Using Distance Transform Yew Tuck Chin, Han Wang, Leng Phuan Tay, Hui Wang, William Y C Soh School of Electrical

More information

Formal Model. Figure 1: The target concept T is a subset of the concept S = [0, 1]. The search agent needs to search S for a point in T.

Formal Model. Figure 1: The target concept T is a subset of the concept S = [0, 1]. The search agent needs to search S for a point in T. Although this paper analyzes shaping with respect to its benefits on search problems, the reader should recognize that shaping is often intimately related to reinforcement learning. The objective in reinforcement

More information

COSC160: Data Structures: Lists and Queues. Jeremy Bolton, PhD Assistant Teaching Professor

COSC160: Data Structures: Lists and Queues. Jeremy Bolton, PhD Assistant Teaching Professor COSC160: Data Structures: Lists and Queues Jeremy Bolton, PhD Assistant Teaching Professor Outline I. Queues I. FIFO Queues I. Usage II. Implementations II. LIFO Queues (Stacks) I. Usage II. Implementations

More information

INCORPORATING ADVANCED PROGRAMMING TECHNIQUES IN THE COMPUTER INFORMATION SYSTEMS CURRICULUM

INCORPORATING ADVANCED PROGRAMMING TECHNIQUES IN THE COMPUTER INFORMATION SYSTEMS CURRICULUM INCORPORATING ADVANCED PROGRAMMING TECHNIQUES IN THE COMPUTER INFORMATION SYSTEMS CURRICULUM Charles S. Saxon, Eastern Michigan University, charles.saxon@emich.edu ABSTRACT Incorporating advanced programming

More information

CS 112 Final May 8, 2008 (Lightly edited for 2012 Practice) Name: BU ID: Instructions

CS 112 Final May 8, 2008 (Lightly edited for 2012 Practice) Name: BU ID: Instructions CS 112 Final May 8, 2008 (Lightly edited for 2012 Practice) Name: BU ID: This exam is CLOSED book and notes. Instructions The exam consists of six questions on 11 pages. Please answer all questions on

More information

Bloss, Adrienne and N. Jane Ingram. Lab Manual to Accompany Java Software Solutions. New York, New York: Pearson Education, Inc, 2003.

Bloss, Adrienne and N. Jane Ingram. Lab Manual to Accompany Java Software Solutions. New York, New York: Pearson Education, Inc, 2003. Course Overview AP Computer Science A emphasizes a study in object-oriented programming methodologies with a focus on problem solving and algorithm development. Data structures, design, and abstraction

More information

A Java Execution Simulator

A Java Execution Simulator A Java Execution Simulator Steven Robbins Department of Computer Science University of Texas at San Antonio srobbins@cs.utsa.edu ABSTRACT This paper describes JES, a Java Execution Simulator that allows

More information

Design and Implementation of a Real-Time Autonomous Navigation System Applied to Lego Robots

Design and Implementation of a Real-Time Autonomous Navigation System Applied to Lego Robots ThBT1.4 Design and Implementation of a Real-Time Autonomous Navigation System Applied to Lego Robots Thi Thoa Mac, Cosmin Copot Clara M. Ionescu Dynamical Systems and Control Research Group, Department

More information

Formations in flow fields

Formations in flow fields Formations in flow fields Rick van Meer June 11, 2015 1 Introduction Pathfinding and formations (i.e. an arrangement of agents) are both a part of artificial intelligence and can be used in games. However,

More information

Path-planning by Tessellation of Obstacles

Path-planning by Tessellation of Obstacles Path-planning by Tessellation of Obstacles Tane Pendragon and Lyndon While School of Computer Science & Software Engineering, The University of Western Australia, Western Australia 6009 email: {pendrt01,

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

How to Measure Wedge. Purpose. Introduction. Tools Needed

How to Measure Wedge. Purpose. Introduction. Tools Needed Purpose Optical Wedge Application (OWA) is an add-on analysis tool for measurement of optical wedges in either transmission or reflection. OWA can measure a single part or many parts simultaneously (e.g.

More information

ITT Technical Institute. SD1420 Introduction to Java Programming Onsite and Online Course SYLLABUS

ITT Technical Institute. SD1420 Introduction to Java Programming Onsite and Online Course SYLLABUS ITT Technical Institute SD1420 Onsite and Online Course SYLLABUS Credit hours: 4.5 Contact/Instructional hours: 56 (34 Theory Hours, 22 Lab Hours Prerequisite(s and/or Corequisite(s: Prerequisite: PT1420

More information

Part A: Monitoring the Touch Sensor and Ultrasonic Sensor

Part A: Monitoring the Touch Sensor and Ultrasonic Sensor LEGO MINDSTORMS NXT Lab 2 This lab introduces the touch sensor and ultrasonic sensor which are part of the Lego Mindstorms NXT kit. The ultrasonic sensor will be inspected to gain an understanding of its

More information

Local Search Methods. CS 188: Artificial Intelligence Fall Announcements. Hill Climbing. Hill Climbing Diagram. Today

Local Search Methods. CS 188: Artificial Intelligence Fall Announcements. Hill Climbing. Hill Climbing Diagram. Today CS 188: Artificial Intelligence Fall 2006 Lecture 5: Robot Motion Planning 9/14/2006 Local Search Methods Queue-based algorithms keep fallback options (backtracking) Local search: improve what you have

More information

Announcements. CS 188: Artificial Intelligence Fall Robot motion planning! Today. Robotics Tasks. Mobile Robots

Announcements. CS 188: Artificial Intelligence Fall Robot motion planning! Today. Robotics Tasks. Mobile Robots CS 188: Artificial Intelligence Fall 2007 Lecture 6: Robot Motion Planning 9/13/2007 Announcements Project 1 due (yesterday)! Project 2 (Pacman with ghosts) up in a few days Reminder: you are allowed to

More information

CS 188: Artificial Intelligence Fall Announcements

CS 188: Artificial Intelligence Fall Announcements CS 188: Artificial Intelligence Fall 2007 Lecture 6: Robot Motion Planning 9/13/2007 Dan Klein UC Berkeley Many slides over the course adapted from either Stuart Russell or Andrew Moore Announcements Project

More information

REINFORCEMENT LEARNING: MDP APPLIED TO AUTONOMOUS NAVIGATION

REINFORCEMENT LEARNING: MDP APPLIED TO AUTONOMOUS NAVIGATION REINFORCEMENT LEARNING: MDP APPLIED TO AUTONOMOUS NAVIGATION ABSTRACT Mark A. Mueller Georgia Institute of Technology, Computer Science, Atlanta, GA USA The problem of autonomous vehicle navigation between

More information

Sensor Modalities. Sensor modality: Different modalities:

Sensor Modalities. Sensor modality: Different modalities: Sensor Modalities Sensor modality: Sensors which measure same form of energy and process it in similar ways Modality refers to the raw input used by the sensors Different modalities: Sound Pressure Temperature

More information

ITT Technical Institute. ET2560T Introduction to C Programming Onsite and Online Course SYLLABUS

ITT Technical Institute. ET2560T Introduction to C Programming Onsite and Online Course SYLLABUS ITT Technical Institute ET2560T Introduction to C Programming Onsite and Online Course SYLLABUS Credit hours: 4.5 Contact/Instructional hours: 67 (41 Theory Hours, 26 Lab Hours Prerequisite(s and/or Corequisite(s:

More information

Constraint Satisfaction Problems. slides from: Padhraic Smyth, Bryan Low, S. Russell and P. Norvig, Jean-Claude Latombe

Constraint Satisfaction Problems. slides from: Padhraic Smyth, Bryan Low, S. Russell and P. Norvig, Jean-Claude Latombe Constraint Satisfaction Problems slides from: Padhraic Smyth, Bryan Low, S. Russell and P. Norvig, Jean-Claude Latombe Standard search problems: State is a black box : arbitrary data structure Goal test

More information

Comparison between Various Edge Detection Methods on Satellite Image

Comparison between Various Edge Detection Methods on Satellite Image Comparison between Various Edge Detection Methods on Satellite Image H.S. Bhadauria 1, Annapurna Singh 2, Anuj Kumar 3 Govind Ballabh Pant Engineering College ( Pauri garhwal),computer Science and Engineering

More information

Rapid Simultaneous Learning of Multiple Behaviours with a Mobile Robot

Rapid Simultaneous Learning of Multiple Behaviours with a Mobile Robot Rapid Simultaneous Learning of Multiple Behaviours with a Mobile Robot Koren Ward School of Information Technology and Computer Science University of Wollongong koren@uow.edu.au www.uow.edu.au/~koren Abstract

More information

Java Class Visualization for Teaching Object-Oriented Concepts

Java Class Visualization for Teaching Object-Oriented Concepts Java Class Visualization for Teaching Object-Oriented Concepts Herbert L. Dershem and James Vanderhyde Department of Computer Science Hope College Holland, MI 49422-9000 dershem@cs.hope.edu Abstract Visualization

More information

Efficient SLAM Scheme Based ICP Matching Algorithm Using Image and Laser Scan Information

Efficient SLAM Scheme Based ICP Matching Algorithm Using Image and Laser Scan Information Proceedings of the World Congress on Electrical Engineering and Computer Systems and Science (EECSS 2015) Barcelona, Spain July 13-14, 2015 Paper No. 335 Efficient SLAM Scheme Based ICP Matching Algorithm

More information

Local Image Registration: An Adaptive Filtering Framework

Local Image Registration: An Adaptive Filtering Framework Local Image Registration: An Adaptive Filtering Framework Gulcin Caner a,a.murattekalp a,b, Gaurav Sharma a and Wendi Heinzelman a a Electrical and Computer Engineering Dept.,University of Rochester, Rochester,

More information

State-Space Search. Computer Science E-22 Harvard Extension School David G. Sullivan, Ph.D. Solving Problems by Searching

State-Space Search. Computer Science E-22 Harvard Extension School David G. Sullivan, Ph.D. Solving Problems by Searching State-Space Search Computer Science E- Harvard Extension School David G. Sullivan, Ph.D. Solving Problems by Searching A wide range of problems can be formulated as searches. more precisely, as the process

More information

AN IMPLEMENTATION OF PATH PLANNING ALGORITHMS FOR MOBILE ROBOTS ON A GRID BASED MAP

AN IMPLEMENTATION OF PATH PLANNING ALGORITHMS FOR MOBILE ROBOTS ON A GRID BASED MAP AN IMPLEMENTATION OF PATH PLANNING ALGORITHMS FOR MOBILE ROBOTS ON A GRID BASED MAP Tolga YÜKSEL Abdullah SEZGİN e-mail : tyuksel@omu.edu.tr e-mail : asezgin@omu.edu.tr Ondokuz Mayıs University, Electrical

More information

CS 206 Introduction to Computer Science II

CS 206 Introduction to Computer Science II CS 206 Introduction to Computer Science II 04 / 06 / 2018 Instructor: Michael Eckmann Today s Topics Questions? Comments? Graphs Definition Terminology two ways to represent edges in implementation traversals

More information

Robot Motion Planning Using Generalised Voronoi Diagrams

Robot Motion Planning Using Generalised Voronoi Diagrams Robot Motion Planning Using Generalised Voronoi Diagrams MILOŠ ŠEDA, VÁCLAV PICH Institute of Automation and Computer Science Brno University of Technology Technická 2, 616 69 Brno CZECH REPUBLIC Abstract:

More information

Pathfinding. Advaith Siddharthan

Pathfinding. Advaith Siddharthan Pathfinding Advaith Siddharthan Context What is Intelligence? Rational? Search Optimisation Reasoning Impulsive? Quicker response Less predictable Personality/Emotions: Angry/Bored/Curious Overview The

More information

1 Project: Fast Trajectory Replanning for Computer Games

1 Project: Fast Trajectory Replanning for Computer Games Project: Fast rajectory Replanning for omputer Games Figure : otal nnihilation by avedog onsider characters in real-time computer games, such as otal nnihilation shown in Figure. o make them easy to control,

More information

CS 206 Introduction to Computer Science II

CS 206 Introduction to Computer Science II CS 206 Introduction to Computer Science II 04 / 13 / 2018 Instructor: Michael Eckmann Today s Topics Questions? Comments? Graphs Depth First Search (DFS) Shortest path Shortest weight path (Dijkstra's

More information

Roadmaps. Vertex Visibility Graph. Reduced visibility graph, i.e., not including segments that extend into obstacles on either side.

Roadmaps. Vertex Visibility Graph. Reduced visibility graph, i.e., not including segments that extend into obstacles on either side. Roadmaps Vertex Visibility Graph Full visibility graph Reduced visibility graph, i.e., not including segments that extend into obstacles on either side. (but keeping endpoints roads) what else might we

More information

International Journal of Computer & Organization Trends Volume 5 Issue 1 Jan to Feb 2015

International Journal of Computer & Organization Trends Volume 5 Issue 1 Jan to Feb 2015 Introducing Autonomous Car Methodology in WSN Promita Maitra 1, Sohini Nandi 2, Ipsita Saha 3, Poojarini Mitra 4, Sayani Chandra 5 1 Student, Dept. of Computer Science and Engineering, Gurunanak Institute

More information

From Personal Computers to Personal Robots

From Personal Computers to Personal Robots From Personal Computers to Personal Robots Challenges in Computer Science Education Nikolaus Correll Department of Computer Science University of Colorado at Boulder Mechanism vs. Computer Unimate (1961)

More information

Assignment 4: CS Machine Learning

Assignment 4: CS Machine Learning Assignment 4: CS7641 - Machine Learning Saad Khan November 29, 2015 1 Introduction The purpose of this assignment is to apply some of the techniques learned from reinforcement learning to make decisions

More information

Praktikum 2014 Parallele Programmierung Universität Hamburg Dept. Informatics / Scientific Computing. October 23, FluidSim.

Praktikum 2014 Parallele Programmierung Universität Hamburg Dept. Informatics / Scientific Computing. October 23, FluidSim. Praktikum 2014 Parallele Programmierung Universität Hamburg Dept. Informatics / Scientific Computing October 23, 2014 Paul Bienkowski Author 2bienkow@informatik.uni-hamburg.de Dr. Julian Kunkel Supervisor

More information

B-Trees and External Memory

B-Trees and External Memory Presentation for use with the textbook, Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015 and External Memory 1 1 (2, 4) Trees: Generalization of BSTs Each internal node

More information

CITS 4402 Computer Vision

CITS 4402 Computer Vision CITS 4402 Computer Vision A/Prof Ajmal Mian Adj/A/Prof Mehdi Ravanbakhsh, CEO at Mapizy (www.mapizy.com) and InFarm (www.infarm.io) Lecture 02 Binary Image Analysis Objectives Revision of image formation

More information

NERC Gazebo simulation implementation

NERC Gazebo simulation implementation NERC 2015 - Gazebo simulation implementation Hannan Ejaz Keen, Adil Mumtaz Department of Electrical Engineering SBA School of Science & Engineering, LUMS, Pakistan {14060016, 14060037}@lums.edu.pk ABSTRACT

More information

Lego Robot Remote Mapping

Lego Robot Remote Mapping Registration number 99 Lego Robot Remote Mapping Supervised by Dr Graeme Richards University of East Anglia Faculty of Science School of Computing Sciences Abstract This paper describes the design, implementation

More information

Advanced Robotics Path Planning & Navigation

Advanced Robotics Path Planning & Navigation Advanced Robotics Path Planning & Navigation 1 Agenda Motivation Basic Definitions Configuration Space Global Planning Local Planning Obstacle Avoidance ROS Navigation Stack 2 Literature Choset, Lynch,

More information