Obstacle Avoidance Project: Final Report

Size: px
Start display at page:

Download "Obstacle Avoidance Project: Final Report"

Transcription

1 ERTS: Embedded & Real Time System Version: Date: December 19, 2008 Purpose: A report on P545 project: Obstacle Avoidance. This document serves as report for P545 class project on obstacle avoidance Status: Complete Author: Yasir Ibrahim Obstacle Avoidance Project: Final Report Contents 1 Requirements Introduction Functional requirements Non-functional requirements (constraints) Design The problem Obstacle avoidance Algorithm 1: Obstacle avoidance Algorithm 2: Path follower Algorithm 3: Steering Path planning Algorithm 4: path planning Other designed features Speed control Collision Bubble concept Obstacles averaging Implementation

2 3.1 Python SyncFS Spheical coordinates Distance to projections Global variables Implementation units Code Tests Steering Path following Obstacle avoidance Obstacle avoidance...24 References...26 Appendix...27 A Developer Instructions...27 B User Instructions

3 1 Requirements 1.1 Introduction The final implementation of this project is a component that is part of a larger system. The component satisfies some requirements collected during all phases of the development. In this section, requirements for the obstacle avoidance component are introduced. These requirements are critical parts for both of the design and implementation processes of the component. To achieve better solution, the implementation and the design should meet these requirements. The requirements listed in this section were collected from the requirements of P545 class project at the Computer Science department Indiana University at Bloomington, replacing customer requirements, and domain experts worked on the project; namely: the professor of the class and two assistants and design engineers. Also, some of the requirements were collected as a result of negotiations among students and the domain experts. We call all the participants in producing these requirements as stakeholders. 1.2 Functional requirements Inputs Communicating with other components The component should be able to communicate with the following peripherals and components: (1) System clock (2) Compass (3) GPS device (4) Range laser detector (5) Amplifier Waypoints The component should be able to receive a list of GPS points considered as waypoints. These waypoints form a path for the vehicle to follow Outputs Heading control The component should correct the heading of the vehicle towards any given GPS point. It should do that linearly Path following 3

4 The component should follow a predefined and best path connecting any number of GPS points, or waypoints Obstacle avoidance The component should detect, avoid, and remember obstacles in its path. This requirement is critical Speed control The component should control the vehicle s speed. 1.3 Non functional requirements (constraints) Real time execution All requirements should be carried out in real time. That is, it should reference system clock and process events accordingly Crash/interrupt recovery The component should continue functioning after a recovery from system crash. The recovery is not part of the component, but the component should function on the current position of the vehicle and the current system s components configurations if the system recovers from crash or interrupt Safety requirements Maximum speed The component should not exceed track s maximum speed at any segment of it Faulty inputs The component should detect faulty inputs from other components in the system and replace them with default values Staying in track boundary The component should detect vehicle s position inside any track given by any two consecutive GPS waypoints Platform The component should run on a platform that provides a synchronous file system. 4

5 2 Design 2.1 The problem The main aim of the project is obstacle avoidance. To design an efficient algorithm for that we should look at the problem as follows: the algorithm must address all the requirements mentioned in section 1 by figuring out the best path for the track and best path around obstacles appearing in front of the vehicle. That is, the problem is divided into two sub problems: (1) Obstacle avoidance (2) Path planning. Although both of these two sub problems can be viewed as the same thing, with the current configuration it is better to differentiate between them. To see why we should design our solution as two independent algorithms consider the following: The main mechanism of avoiding obstacles is, obviously, steering the vehicle away from them. To achieve this, obstacles must be detected early enough and beyond vehicle s stopping distance. This is the worst case for the algorithm; stopping vehicle if the algorithm will break any of the requirements such as not keeping the vehicle inside the track or hitting a previous obstacle. Failure to meet this constraint is definitely failure to avoid obstacles. Also, the algorithm should be aware of a predetermined side of the obstacle to turn away from that side. As we will see subsequently, this knowledge of a predetermined side of obstacles is required to address requirement in section 1.2. That is, which side of the obstacle to dodge from is contributing to the concept of best path. The problem now is that current configurations do not allow the algorithm to detect obstacles beyond vehicle s stopping distance. Obviously, stopping distance is a lower boundary to the vehicle s turn radius trajectory. As both of vehicle s stopping distance and turn radius are proportional to its speed, they are also proportional to the steering angle of the wheels, vehicle s mass, wheels friction etc. At all speeds, stopping distance takes less time and distance for the algorithm to make an avoidance decision, thus it ensures that the vehicle will avoid the obstacle if it were detected beyond vehicles stopping distance. For that, the next sections address each of these two sub problems separately. 5

6 2.2 Obstacle avoidance Algorithm 1: Obstacle avoidance Define W as a set of partially ordered elements w 1 < w 2 < w 3 < < w s ; each element is a point in some coordinate. Assume there is some algorithm, algorithm 2, drives vehicle V from w 1 to w 2 to w 3 to w s to w 1 and continues to go over W again. V is a point in the same coordinate and has a direction property D v. If O is an obstacle being detected between w i and w j, where 1 j < i s, and O is in the path of V, we can compute the angle D o between V and O. Taking the difference between D v and Do as follows: D n = D v D o, where D n is the difference in degrees, gives us an awareness of which side of V O is. If D n is a negative value then O is on the right of V. If Dn is positive value then O is on the left of V. Knowing D n we can compute a new point w o that is 90 degrees with distance e, some positive value, to the right of O, or left according to D n, and pass it to algorithm 2 that will drive V towards the new w o. Only one condition should be applied on w o : it must be between w i and w j. Since W has partially ordered elements, w o must be also partially ordered and satisfy w i <w o <w j. Once algorithm 2 successfully has driven V towards w o, we can consider that vehicle V avoided obstacle O. In addition we can insert w o into W to become a permanent element of W. Thus, the next time V comes between w i and w j, it finds w o and automatically avoids O. 6

7 Figure (1): Algorithm 1 during calculating the avoidance point Figure (2): Algorithm 1 after has calculated the avoidance point 7

8 This is the basic obstacle avoidance algorithm. It uses another algorithm, algorithm 2, to take care of driving the vehicle from one waypoint to another (e.g algorithm 2 allows the vehicle to follow the path). It takes advantage of the presence of algorithm 2 to: avoid obstacles and remember the avoidance way point w o in the future. Next is a description of algorithm Algorithm 2: Path follower Define W as a set of partially ordered elements w 1 < w 2 < w 3 < < w s ; each element is a point in some coordinate. Define L ij as a straight line connects points w i and w j, where 1 j < i s. L ij has the distance property D ij that gives us the distance between any two consecutive points, where 1 j < i s. Define vehicle V as point in the same coordinate. If V is moving from w j to w i, and some algorithm, algorithm 3, corrects V s direction D v towards w i, we can compute the distance d wi as the distance from V to w i, and d wj as the distance from V to w j. Now, we can know whether V has come close enough near w i or not by computing the following: define e as a small value by which we can tell that V has reached w i. If d wi < e or d wj D ij, we can tell algorithm 3 to use w i+1 instead of w i to correct V s direction towards it. By doing that, we are making V to move from w j to w i where j = i and i = i + 1. Figure (3): Algorithm 2 concepts 8

9 This is a basic path follower algorithm. It uses algorithm 3 to steer the vehicle towards its destination. Once the vehicle has reached its destination, we update algorithm 3 to use a new destination, which typically the next waypoint in our list. Next is a description of algorithm Algorithm 3: Steering Define w i as point in some coordinate. Define V as point in the same coordinate and has the property D v as its direction towards w i. Also, define D w as the direction from the origin of the coordinate to w i. Now, we can compute the difference De between D v and D w. Assume V has a property S which is proportional to D e, and by setting S to some value then we change D v in a way that guarantees De becomes smaller. To correct V s direction towards w i (steer it), we need to make De smaller than some value e that guarantees V s correct direction towards w i. We do that by setting V s S property to a value computed as follows: S v = (De*P), where P is the p gain of a PID control. According to the algorithm, it takes advantage of the p gain of the PID control. The algorithm has to work linearly to effectively steer the vehicle towards any given waypoint. By doing so, we we certain to some degree that the vehicle would steer to: follow the path according algorithm 2, and avoids obstacles according algorithm 1. Next we go to design a solution to the second sub problem of obstacle avoidance, which is path planning. 2.3 Path planning Path planning deals with planning a better path around a course that a vehicle is traveling in. Looking at algorithm 2 and algorithm 3 we can see that they are sufficient to navigate a vehicle in a predetermined path. That path might and might not be the best path a vehicle should follow. According to the specifications of the project s path, given requirement in section 1 (which is receiving a list of waypoints to follow), the 9

10 path given to follow by this list is initially straight lines that connect waypoints. Each line can be thought of as a side of the course and has width. Half of this width is defined as the current side s LBO (Lateral Boundary Offset). Figure (5) gives a graphical visualization for this path. To plan a better path given this initial one, we have many options of algorithms to apply. One of these algorithms is just reducing the corner distances. That is, smoothening every corner made by three consecutive waypoints. We can do that by replacing each initial waypoint with two waypoints, one before and one after that waypoint. Here is a description of path planning algorithm Algorithm 4: path planning Define W as a set of partially ordered elements w 1 < w 2 < w 3 < < w s ; each element is a point in some coordinate. Define two straight lines: L ji between two consecutive points w j and w i, where 1 j < i s and j = i 1, and L ik between two consecutive points w i and w k, where i < k s and k = i +1. Define two angles: D ji as the angles formed between line L ji and the y axis of the coordinate, and D ik and the angle formed between line L ik and the y axis of the coordinate. Now we can compute two points w p1 and w p2 around w i, where w p1 is at distance e 1 form w i in the complement direction to D ji and w p2 is at e 2 distance from w i in D ik direction, where e 1 and e 2 are positive values that guarantee w p1 and w p2 respectively form a smoother corner around w i. As W s elements are defined to be partially ordered, the new points w p1 and w p2 have to be also partially ordered in W and satisfy w j < w p1 < w i and w i < w p2 < w k. By repeating the algorithm for all W s elements, we are creating another set of points W that is partially ordered. Then we can use W on all of the algorithms described in this section that use W. 10

11 Figure (4): Algorithm 4 receives W as initial points set Figure (5): Algorithm 4 finished calculating W set of points. This would be the new set for all other algorithm. The is a better path around the course. It is a very generic algorithm 11

12 As mentioned before, this algorithm smoothens corners around the initial, or original, waypoints. There are other algorithms can plan a better paths, only as obstacle avoidance is the concern for this project, this algorithm suffices. 2.4 Other designed features Beside these algorithms, there are more two features, rather than algorithms, were designed to provide more reliable solution. These features are: (1) Speed control (2) staying inside corridor Speed control The speed control is just to make sure that speed requirements are met. Also, it serves as a methodology to soften the other feature, staying inside corridor, consequences. If the vehicle is going outside the corridor, then it is either should slow down, turn hard to correct the direction, or stop. The stop control, or the deceleration, is a non linear function with speed. Thus, implementing speed control was easier to control the acceleration of the vehicle. If algorithm 1 detects obstacle or staying inside the corridor returns is negative (using the collision bubble concept), then the speed control lowers vehicle s acceleration to allow the steering control to have more time to bring the cart in stable state; e.g. avoided the obstacle or vehicle returned back inside the corridor Collision Bubble concept The collision bubble concept is quite useful in many aspects: (1) checking vehicle s position inside corridor. (2) Checking if obstacles are in the path of the vehicle. The concept is basically easy: We read vehicle s current speed, then we compute a point ahead of the vehicle. That point is a center to a circle with a radius that is half of the vehicle width. If any other point, obstacle or corridor edge is in the circle, then there is a possible collision. Algorithm 1 uses this concept to detect if obstacles are in the path of the vehicle. Also, speed control uses this concept to slow down the vehicle if the cart is in front of an obstacle or if the vehicle is going out. 12

13 The following figure shows how the collision bubble concept works. Figure (6): collision bubble computed ahead of vehicle s front. 13

14 Figure (7): collision bubble computed ahead of vehicle s front. The vehicle is going out, then slow down Obstacles averaging If there are more than one obstacle in the path of the vehicle, then the following equation computes their average and reports on big obstacle instead of several one spanned over multiple clock cycles. The averaged obstacle AO is computed according to all obstacles in the path. 14

15 Figure (8): averaging multiple obstacles in 1 system clock 15

16 3 Implementation The implementation of the design introduced in the previous section is straight forward. All the aspects of the algorithms were implemented to very last detail. Although the code of the implementation is provided and is readable, some of the details are worth noting to make the code easier to understand. The next a few sections will detail how some concepts in the algorithms were implemented in computer environment; that is, programmed. As the reader may notice that the algorithms have some aspects and calculations carried out in similar ways. For example, the algorithms define sets of points in some coordinate and carry some calculation based on this definition. For real implementation, and looking at the nature of the problem, all of these coordinates are spherical coordinates. Therefore, all calculations are implemented on this basis. Before going into these details a note on the programming language that was used and the infrastructure of the component. 3.1 Python As part of the project specifications, the Python programming language was one of the options available to use. Due to Python s amazing OOP features and its agile prototyping ability, it was the best choice to use as the implementation language for our design. Also, Python language has a very clean and readable code structure that would illuminate the need for too much explanations and commenting. 3.2 SyncFS SyncFS is an amazing synchronous file system designed by the owners of the project. It uses P9 protocol architecture and does provide a synchronous communication across multiple components of the system. In our implementation, SyncFS was the way to communicate with the other components and sensors of the underlying system. Such components are: compass, laser detector, system clock, GPS device and others. SyncFS is built on the idea of mounting file systems on shared memory and organizes the access to the memory. Also, SyncFS is deployed on an x86 machine with Linux OS. For that, the whole implementation was under Linux OS. But that was not a problem at all since SyncFS has provided us a very obvious abstraction from the low level details of the hardware and system calls. 16

17 3.3 Spheical coordinates The coordinate on which the code was implemented is the spherical coordinate. That is because of the nature of the problem; vehicle motion on earth. The earth is a sphere, thus using a GPS system would make all distances between points and angles calculations correct. Calculations are guaranteed to be correct only to some degree. That is because several factors such as floating point arithmetic. For that and applying the OOP features of Python language, some modules were imported from third parties that do all spherical coordinates calculations we need during the implementation process. One such module is Geopy. This module provides a class called distance that has two functions our code replied on the most. These two functions are: distance.distance() function and distance.destination() function. Function distance.distance() has two properties: (1) kilometers: which computes the distance between two GPS points and returns kilometers. Of course that was changed to meters for our implementation. (2) forward_azimuth: calculates the forward angle formed between two GPS points and returns angles in degrees. Function distance.destination() calculates a GPS point given some GPS point, angle to for the desired GPS point, and the distance to it and it returns that calculated GPS point in tuple. 3.4 Distance to projections Some functions in our implementation relied on calculating the distance between some GPS point and its projection on the distance between other two GPS points. The following figure illustrates that. 17

18 Figure (9): Distance to projection concept 3.5 Global variables Several global variables were used in the code. Global variables are useful in two ways: (1) they provide a faster methodology for prototyping (2) they can be used as communication flags across multiple functions inside a class. For both reasons, global variables were used in to implementation of obstacle avoidance, but more to represent flags that can be set to True of False. 3.6 Implementation units The component was encapsulated in a class. The class has the following structure: init (): initializes global variables and provides the inputs to the class; e.g. waypoints lis. do_turn(): implements the steering functionality described in algorithm 3 follow_path(): implements the path follower algorithm; algorithm 2 18

19 which_side_of_obstacle(): determines at which side of the obstacle the vehicle is. synthesize_waypoint(): implements algorithm 1; obstacle avoidance. Also, it has a feature of detecting gates formed between obstacles. read_laser() : reads the range detector laser. It uses a flag to indicate obstacle detection. Other functions use this flag to function accordingly. is_obstacle_in_my_path(): check whether the detected obstacle by the read_laser() function is actually in the path of the vehicle. adjust_speed(): it implements the speed control. is_cart_going_out(): implements the bubble collision concept, and check if the vehicle is going out of the boundaries of the corridor. plan_path(): implements algorithm 5; path planning and smoothening corridor corners. process() : an infinite loop that runs continuously and ties all the parts of the different algorithms. run(): acts an intermediate function between the main function and process(). It calls process() in an infinite loop main (): runs the component 19

20 4 Code The code file is called jdriver.py. 20

21 5 Tests As part of the class, labs were carried out steadily. During the labs, heavy code tests were conducted. The tests served as tools to: (1) verify the requirements (2) validate the algorithms (3) analyze the output and redesign parts of the solutions. Here is some of the result of 4 different tests. 5.1 Steering Data collected to measure the vehicle response to steering command. Steering command is called turn radius inverse. The steering command s values are measured according algorithms 3. The following two figures show: the error in the direction mentioned in the algorithm, which the other shows the command s to steer. It is obvious that the command s values are the complements to the error to make the vehicle move towards the correct direction; to give zero error. Figure (10): error in the direction 21

22 Figure (11): steering command (turn radius inverse) values in response to the above errors The next figure shows how the steering controls the vehicle. The test was to make the vehicle to move in squares. Some latency in the response was due to the fact that the vehicle was sometimes moving from higher to lower grounds, thus affected the speed of the vehicle and then the turning behavior. 22

23 5.2 Path following Figure (12): steering vehicle s trajectory after moving in squares The following figures show how algorithm 2 worked in the implementation. The test was about making the vehicle follow a predefined path of GPS points. Figure (13): algorithm 3 in action (path following) 23

24 5.3 Obstacle avoidance The following figure shows how algorithm 1 avoided one static obstacle. The code used a slightly different algorithm as is was designed to read synthesized obstacles; not real obstacle by reading the range laser detector. That was for early development purposes. Figure (14): algorithm 1 in action. Avoiding one obstacle, steering, and path following. 5.4 Obstacle avoidance The following figure shows how algorithm 1 avoided multiple synthesized obstacles. This test was conducted to test all the algorithms at once: steering, path following, and obstacle avoidance. 24

25 Figure (15): algorithm 1 in action. Avoiding multiple obstacles, steering, and path following. 25

26 References [1] Geopy module, 26

27 Appendix A Developer Instructions See inline comments in jdriver.py file. B User Instructions See README file accompanied jdriver.py file. 27

Evaluating the Performance of a Vehicle Pose Measurement System

Evaluating the Performance of a Vehicle Pose Measurement System Evaluating the Performance of a Vehicle Pose Measurement System Harry Scott Sandor Szabo National Institute of Standards and Technology Abstract A method is presented for evaluating the performance of

More information

DISTANCE-TIME GRAPHS Plotting distance against time can tell you a lot about motion. Let's look at the axes:

DISTANCE-TIME GRAPHS Plotting distance against time can tell you a lot about motion. Let's look at the axes: Motion Graphs Notes Describing the motion of an object is occasionally hard to do with words. Sometimes help make motion easier to picture, and therefore understand. Remember: Motion. Speed. Velocity.

More information

Homogeneous Resource Configuration and Access for an Autonomous Robotic Vehicle

Homogeneous Resource Configuration and Access for an Autonomous Robotic Vehicle Homogeneous Resource Configuration and Access for an Autonomous Robotic Vehicle Steven D. Johnson, Bryce Himebaugh & Scott A. Dial Computer Science Department School of Informatics Indiana University sjohnson@cs.indiana.edu

More information

TopCon X5 Operator's Manual

TopCon X5 Operator's Manual TopCon X5 Operator's Manual Part Number TOPCONX5-EN Rev.1.0 Copyright Topcon Precision Agriculture May, 2011 All contents in this manual are copyrighted by Topcon. All rights reserved. The information

More information

Intelligent Outdoor Navigation of a Mobile Robot Platform Using a Low Cost High Precision RTK-GPS and Obstacle Avoidance System

Intelligent Outdoor Navigation of a Mobile Robot Platform Using a Low Cost High Precision RTK-GPS and Obstacle Avoidance System Intelligent Outdoor Navigation of a Mobile Robot Platform Using a Low Cost High Precision RTK-GPS and Obstacle Avoidance System Under supervision of: Prof. Dr. -Ing. Klaus-Dieter Kuhnert Dipl.-Inform.

More information

Ns2 SetDest Acceleration Enhancement EEC 787 Final Project Mid Report. Brian Krupp and Limei Hou

Ns2 SetDest Acceleration Enhancement EEC 787 Final Project Mid Report. Brian Krupp and Limei Hou 2011 Ns2 SetDest Acceleration Enhancement EEC 787 Final Project Mid Report Brian Krupp and Limei Hou Ns2 SetDest Acceleration Enhancement Abstract The introduction of the NS2 simulator has allowed students

More information

TEST EXAM PART 2 INTERMEDIATE LAND NAVIGATION

TEST EXAM PART 2 INTERMEDIATE LAND NAVIGATION NAME DATE TEST EXAM PART 2 INTERMEDIATE LAND NAVIGATION 1. Knowing these four basic skills, it is impossible to be totally lost; what are they? a. Track Present Location / Determine Distance / Sense of

More information

TEAM 12: TERMANATOR PROJECT PROPOSAL. TEAM MEMBERS: Donald Eng Rodrigo Ipince Kevin Luu

TEAM 12: TERMANATOR PROJECT PROPOSAL. TEAM MEMBERS: Donald Eng Rodrigo Ipince Kevin Luu TEAM 12: TERMANATOR PROJECT PROPOSAL TEAM MEMBERS: Donald Eng Rodrigo Ipince Kevin Luu 1. INTRODUCTION: This project involves the design and implementation of a unique, first-person shooting game. The

More information

Lab 4: Interrupts and Realtime

Lab 4: Interrupts and Realtime Lab 4: Interrupts and Realtime Overview At this point, we have learned the basics of how to write kernel driver module, and we wrote a driver kernel module for the LCD+shift register. Writing kernel driver

More information

Range Imaging Through Triangulation. Range Imaging Through Triangulation. Range Imaging Through Triangulation. Range Imaging Through Triangulation

Range Imaging Through Triangulation. Range Imaging Through Triangulation. Range Imaging Through Triangulation. Range Imaging Through Triangulation Obviously, this is a very slow process and not suitable for dynamic scenes. To speed things up, we can use a laser that projects a vertical line of light onto the scene. This laser rotates around its vertical

More information

Projectile Trajectory Scenarios

Projectile Trajectory Scenarios Projectile Trajectory Scenarios Student Worksheet Name Class Note: Sections of this document are numbered to correspond to the pages in the TI-Nspire.tns document ProjectileTrajectory.tns. 1.1 Trajectories

More information

Waypoint Navigation with Position and Heading Control using Complex Vector Fields for an Ackermann Steering Autonomous Vehicle

Waypoint Navigation with Position and Heading Control using Complex Vector Fields for an Ackermann Steering Autonomous Vehicle Waypoint Navigation with Position and Heading Control using Complex Vector Fields for an Ackermann Steering Autonomous Vehicle Tommie J. Liddy and Tien-Fu Lu School of Mechanical Engineering; The University

More information

Autonomous Ground Vehicle (AGV) Project

Autonomous Ground Vehicle (AGV) Project utonomous Ground Vehicle (GV) Project Demetrus Rorie Computer Science Department Texas &M University College Station, TX 77843 dmrorie@mail.ecsu.edu BSTRCT The goal of this project is to construct an autonomous

More information

Motion Graphs. Plotting position against time can tell you a lot about motion. Let's look at the axes:

Motion Graphs. Plotting position against time can tell you a lot about motion. Let's look at the axes: Motion Graphs 1 Name Motion Graphs Describing the motion of an object is occasionally hard to do with words. Sometimes graphs help make motion easier to picture, and therefore understand. Remember: Motion

More information

Since a projectile moves in 2-dimensions, it therefore has 2 components just like a resultant vector: Horizontal Vertical

Since a projectile moves in 2-dimensions, it therefore has 2 components just like a resultant vector: Horizontal Vertical Since a projectile moves in 2-dimensions, it therefore has 2 components just like a resultant vector: Horizontal Vertical With no gravity the projectile would follow the straight-line path (dashed line).

More information

Robotics. Lecture 5: Monte Carlo Localisation. See course website for up to date information.

Robotics. Lecture 5: Monte Carlo Localisation. See course website  for up to date information. Robotics Lecture 5: Monte Carlo Localisation See course website http://www.doc.ic.ac.uk/~ajd/robotics/ for up to date information. Andrew Davison Department of Computing Imperial College London Review:

More information

iracing Camera Tool Introduction Positioning the camera with Position Type

iracing Camera Tool Introduction Positioning the camera with Position Type iracing Camera Tool Introduction This is a brief introduction to the new camera tool built into the iracing simulator. You can enter the camera tool when in replay mode by hitting Ctrl-F12 at any time,

More information

Tracking driver actions and guiding phone usage for safer driving. Hongyu Li Jan 25, 2018

Tracking driver actions and guiding phone usage for safer driving. Hongyu Li Jan 25, 2018 Tracking driver actions and guiding phone usage for safer driving Hongyu Li Jan 25, 2018 1 Smart devices risks and opportunities Phone in use 14% Other distractions 86% Distraction-Affected Fatalities

More information

EE565:Mobile Robotics Lecture 2

EE565:Mobile Robotics Lecture 2 EE565:Mobile Robotics Lecture 2 Welcome Dr. Ing. Ahmad Kamal Nasir Organization Lab Course Lab grading policy (40%) Attendance = 10 % In-Lab tasks = 30 % Lab assignment + viva = 60 % Make a group Either

More information

Exam in DD2426 Robotics and Autonomous Systems

Exam in DD2426 Robotics and Autonomous Systems Exam in DD2426 Robotics and Autonomous Systems Lecturer: Patric Jensfelt KTH, March 16, 2010, 9-12 No aids are allowed on the exam, i.e. no notes, no books, no calculators, etc. You need a minimum of 20

More information

Motion Graphs. Plotting distance against time can tell you a lot about motion. Let's look at the axes:

Motion Graphs. Plotting distance against time can tell you a lot about motion. Let's look at the axes: Motion Graphs 1 _ Motion Graphs Describing the motion of an object is occasionally hard to do with words. Sometimes graphs help make motion easier to picture, and therefore understand. Remember: Motion

More information

Section 10.1 Polar Coordinates

Section 10.1 Polar Coordinates Section 10.1 Polar Coordinates Up until now, we have always graphed using the rectangular coordinate system (also called the Cartesian coordinate system). In this section we will learn about another system,

More information

Velocity: A Bat s Eye View of Velocity

Velocity: A Bat s Eye View of Velocity Name School Date Purpose Velocity: A Bat s Eye View of Velocity There are a number of ways of representing motion that we ll find useful. Graphing position, velocity, and acceleration vs. time is often

More information

BALL IS LIFE: The Autonomous Trash Can Project

BALL IS LIFE: The Autonomous Trash Can Project BALL IS LIFE: The Autonomous Trash Can Project Hyungsuk (Peter), Kim, Maruchi Kim, Amit Patankar, Spencer Schack I. ABSTRACT This project designs and implements an autonmous moving trash can that will

More information

UTSeaSim Documentation. November 6, 2011

UTSeaSim Documentation. November 6, 2011 UTSeaSim Documentation 1 Contents 1 Introduction 2 2 Top Level requirements and functionality of the UTSeaSim 2 2.1 Simulation Flow...................................... 2 2.2 Inputs and Outputs....................................

More information

Autonomous Mobile Robots Using Real Time Kinematic Signal Correction and Global Positioning System Control

Autonomous Mobile Robots Using Real Time Kinematic Signal Correction and Global Positioning System Control Paper 087, IT 304 Autonomous Mobile Robots Using Real Time Kinematic Signal Correction and Global Positioning System Control Thongchai Phairoh, Keith Williamson Virginia State University tphairoh@vsu.edu

More information

Adaptive Cruise Control

Adaptive Cruise Control Teacher Notes & Answers 7 8 9 10 11 12 TI-Nspire Investigation Student 50 min Introduction Basic cruise control is where the car s computer automatically adjusts the throttle so that the car maintains

More information

11.2 RECTANGULAR COORDINATES IN THREE DIMENSIONS

11.2 RECTANGULAR COORDINATES IN THREE DIMENSIONS 11.2 Rectangular Coordinates in Three Dimensions Contemporary Calculus 1 11.2 RECTANGULAR COORDINATES IN THREE DIMENSIONS In this section we move into 3 dimensional space. First we examine the 3 dimensional

More information

Spline-based Trajectory Optimization for Autonomous Vehicles with Ackerman drive

Spline-based Trajectory Optimization for Autonomous Vehicles with Ackerman drive Spline-based Trajectory Optimization for Autonomous Vehicles with Ackerman drive Martin Gloderer Andreas Hertle Department of Computer Science, University of Freiburg Abstract Autonomous vehicles with

More information

Non-holonomic Planning

Non-holonomic Planning Non-holonomic Planning Jane Li Assistant Professor Mechanical Engineering & Robotics Engineering http://users.wpi.edu/~zli11 Recap We have learned about RRTs. q new q init q near q rand But the standard

More information

Motion Control (wheeled robots)

Motion Control (wheeled robots) Motion Control (wheeled robots) Requirements for Motion Control Kinematic / dynamic model of the robot Model of the interaction between the wheel and the ground Definition of required motion -> speed control,

More information

Lab 1- Introduction to Motion

Lab 1- Introduction to Motion Partner : Purpose Partner 2: Lab - Section: The purpose of this lab is to learn via a motion detector the relationship between position and velocity. Remember that this device measures the position of

More information

Adept Lynx Triangle Drive: Configuration and Applications

Adept Lynx Triangle Drive: Configuration and Applications Adept Lynx Triangle Drive: Configuration and Applications Parker Conroy Version 4: April 7 2014 Summary Triangle drive is a positioning method by which the Lynx maneuvers with increased accuracy relative

More information

Use the slope of a graph of the cart s acceleration versus sin to determine the value of g, the acceleration due to gravity.

Use the slope of a graph of the cart s acceleration versus sin to determine the value of g, the acceleration due to gravity. Name Class Date Activity P03: Acceleration on an Incline (Acceleration Sensor) Concept DataStudio ScienceWorkshop (Mac) ScienceWorkshop (Win) Linear motion P03 Acceleration.ds (See end of activity) (See

More information

Mission interface. Technical Documentation

Mission interface. Technical Documentation Mission interface Technical Documentation Version 1.6 Software release 1.7 Release date: 16.09.2016 Table of contents 1 Introduction...3 2 Missions...3 2.1 Examples of creating and using a mission...5

More information

Robotics Adventure Book Scouter manual STEM 1

Robotics Adventure Book Scouter manual STEM 1 Robotics Robotics Adventure Book Scouter Manual Robotics Adventure Book Scouter manual STEM 1 A word with our Scouters: This activity is designed around a space exploration theme. Your Scouts will learn

More information

10/11/07 1. Motion Control (wheeled robots) Representing Robot Position ( ) ( ) [ ] T

10/11/07 1. Motion Control (wheeled robots) Representing Robot Position ( ) ( ) [ ] T 3 3 Motion Control (wheeled robots) Introduction: Mobile Robot Kinematics Requirements for Motion Control Kinematic / dynamic model of the robot Model of the interaction between the wheel and the ground

More information

ROUNDING ERRORS LAB 1. OBJECTIVE 2. INTRODUCTION

ROUNDING ERRORS LAB 1. OBJECTIVE 2. INTRODUCTION ROUNDING ERRORS LAB Imagine you are traveling in Italy, and you are trying to convert $27.00 into Euros. You go to the bank teller, who gives you 20.19. Your friend is with you, and she is converting $2,700.00.

More information

1 Differential Drive Kinematics

1 Differential Drive Kinematics CS W4733 NOTES - Differential Drive Robots Note: these notes were compiled from Dudek and Jenkin, Computational Principles of Mobile Robotics. 1 Differential Drive Kinematics Many mobile robots use a drive

More information

Safe Prediction-Based Local Path Planning using Obstacle Probability Sections

Safe Prediction-Based Local Path Planning using Obstacle Probability Sections Slide 1 Safe Prediction-Based Local Path Planning using Obstacle Probability Sections Tanja Hebecker and Frank Ortmeier Chair of Software Engineering, Otto-von-Guericke University of Magdeburg, Germany

More information

Kinematics of Wheeled Robots

Kinematics of Wheeled Robots CSE 390/MEAM 40 Kinematics of Wheeled Robots Professor Vijay Kumar Department of Mechanical Engineering and Applied Mechanics University of Pennsylvania September 16, 006 1 Introduction In this chapter,

More information

Data Association for SLAM

Data Association for SLAM CALIFORNIA INSTITUTE OF TECHNOLOGY ME/CS 132a, Winter 2011 Lab #2 Due: Mar 10th, 2011 Part I Data Association for SLAM 1 Introduction For this part, you will experiment with a simulation of an EKF SLAM

More information

LAB 03: The Equations of Uniform Motion

LAB 03: The Equations of Uniform Motion LAB 03: The Equations of Uniform Motion This experiment uses a ramp and a low-friction cart. If you give the cart a gentle push up the ramp, the cart will roll upward, slow and stop, and then roll back

More information

A Simple Introduction to Omni Roller Robots (3rd April 2015)

A Simple Introduction to Omni Roller Robots (3rd April 2015) A Simple Introduction to Omni Roller Robots (3rd April 2015) Omni wheels have rollers all the way round the tread so they can slip laterally as well as drive in the direction of a regular wheel. The three-wheeled

More information

Cohda Wireless White Paper DSRC Field Trials

Cohda Wireless White Paper DSRC Field Trials Cohda Wireless White Paper DSRC Field Trials Copyright Cohda Wireless Pty Ltd ABN 84 107 936 309 Cohda Wireless Pty Ltd 82-84 Melbourne Street North Adelaide, SA 5006 Australia P +61 8 8364 4719 F +61

More information

Linescan System Design for Robust Web Inspection

Linescan System Design for Robust Web Inspection Linescan System Design for Robust Web Inspection Vision Systems Design Webinar, December 2011 Engineered Excellence 1 Introduction to PVI Systems Automated Test & Measurement Equipment PC and Real-Time

More information

DSRC Field Trials Whitepaper

DSRC Field Trials Whitepaper DSRC Field Trials Whitepaper August 19, 2017 www.cohdawireless.com 1 Overview Cohda has performed more than 300 Dedicated Short Range Communications (DSRC) field trials, comparing DSRC radios from multiple

More information

Wall-Follower. Xiaodong Fang. EEL5666 Intelligent Machines Design Laboratory University of Florida School of Electrical and Computer Engineering

Wall-Follower. Xiaodong Fang. EEL5666 Intelligent Machines Design Laboratory University of Florida School of Electrical and Computer Engineering Wall-Follower Xiaodong Fang EEL5666 Intelligent Machines Design Laboratory University of Florida School of Electrical and Computer Engineering TAs: Tim Martin Josh Weaver Instructors: Dr. A. Antonio Arroyo

More information

Milling Tool-Path based on Micrography

Milling Tool-Path based on Micrography Milling Tool-Path based on Micrography Youngwook Paul Kwon I. Introduction The objective of my research is to design and develop a unique tool-path planning system based on Micrography. CNC milling machines

More information

CS401 - Computer Architecture and Assembly Language Programming Glossary By

CS401 - Computer Architecture and Assembly Language Programming Glossary By CS401 - Computer Architecture and Assembly Language Programming Glossary By absolute address : A virtual (not physical) address within the process address space that is computed as an absolute number.

More information

AUTONOMOUS PLANETARY ROVER CONTROL USING INVERSE SIMULATION

AUTONOMOUS PLANETARY ROVER CONTROL USING INVERSE SIMULATION AUTONOMOUS PLANETARY ROVER CONTROL USING INVERSE SIMULATION Kevin Worrall (1), Douglas Thomson (1), Euan McGookin (1), Thaleia Flessa (1) (1)University of Glasgow, Glasgow, G12 8QQ, UK, Email: kevin.worrall@glasgow.ac.uk

More information

CHAPTER 3 MAP DIGITIZING

CHAPTER 3 MAP DIGITIZING CHAPTER 3 MAP DIGITIZING 3.1 Introduction This chapter deals with the route map digitizing process. The type of data collected, the plotting of the trajectory, digitizing the map into regular intervals

More information

CANAL FOLLOWING USING AR DRONE IN SIMULATION

CANAL FOLLOWING USING AR DRONE IN SIMULATION CANAL FOLLOWING USING AR DRONE IN SIMULATION ENVIRONMENT Ali Ahmad, Ahmad Aneeque Khalid Department of Electrical Engineering SBA School of Science & Engineering, LUMS, Pakistan {14060006, 14060019}@lums.edu.pk

More information

Chapter 3 Path Optimization

Chapter 3 Path Optimization Chapter 3 Path Optimization Background information on optimization is discussed in this chapter, along with the inequality constraints that are used for the problem. Additionally, the MATLAB program for

More information

Team Description Paper Team AutonOHM

Team Description Paper Team AutonOHM Team Description Paper Team AutonOHM Jon Martin, Daniel Ammon, Helmut Engelhardt, Tobias Fink, Tobias Scholz, and Marco Masannek University of Applied Science Nueremberg Georg-Simon-Ohm, Kesslerplatz 12,

More information

MATHEMATICS 105 Plane Trigonometry

MATHEMATICS 105 Plane Trigonometry Chapter I THE TRIGONOMETRIC FUNCTIONS MATHEMATICS 105 Plane Trigonometry INTRODUCTION The word trigonometry literally means triangle measurement. It is concerned with the measurement of the parts, sides,

More information

SPECIAL TECHNIQUES-II

SPECIAL TECHNIQUES-II SPECIAL TECHNIQUES-II Lecture 19: Electromagnetic Theory Professor D. K. Ghosh, Physics Department, I.I.T., Bombay Method of Images for a spherical conductor Example :A dipole near aconducting sphere The

More information

Autonomous Vehicle Navigation Using Stereoscopic Imaging

Autonomous Vehicle Navigation Using Stereoscopic Imaging Autonomous Vehicle Navigation Using Stereoscopic Imaging Project Proposal By: Beach Wlaznik Advisors: Dr. Huggins Dr. Stewart December 7, 2006 I. Introduction The objective of the Autonomous Vehicle Navigation

More information

Super Assembling Arms

Super Assembling Arms Super Assembling Arms Yun Jiang, Nan Xiao, and Hanpin Yan {yj229, nx27, hy95}@cornell.edu Abstract Although there are more and more things personal robots can do for us at home, they are unable to accomplish

More information

How do you roll? Fig. 1 - Capstone screen showing graph areas and menus

How do you roll? Fig. 1 - Capstone screen showing graph areas and menus How do you roll? Purpose: Observe and compare the motion of a cart rolling down hill versus a cart rolling up hill. Develop a mathematical model of the position versus time and velocity versus time for

More information

Spark Nano 3.0. User s Guide WHEN YOU NEED TO KNOW.

Spark Nano 3.0. User s Guide WHEN YOU NEED TO KNOW. 1 Spark Nano 3.0 User s Guide WHEN YOU NEED TO KNOW. 2 What s Inside Spark Nano Wall Charger Cellular SIM Card (Already in device)* Optional Accessories * The missing card is already installed inside of

More information

Optics II. Reflection and Mirrors

Optics II. Reflection and Mirrors Optics II Reflection and Mirrors Geometric Optics Using a Ray Approximation Light travels in a straight-line path in a homogeneous medium until it encounters a boundary between two different media The

More information

Observation Screen. Introduction

Observation Screen. Introduction PHYS 1301 Laser Diffraction Introduction Diffraction basically means spreading out, while interference is a pattern that emerges when waves collide. You may have already seen a demonstration of interference

More information

Program your face off

Program your face off Program your face off Game plan Basics of Programming Primitive types, loops, and conditionals. What is an Object oriented language? Tips and tricks of WPIlib Iterative and Command Based robots Feedback

More information

Robotics Project. Final Report. Computer Science University of Minnesota. December 17, 2007

Robotics Project. Final Report. Computer Science University of Minnesota. December 17, 2007 Robotics Project Final Report Computer Science 5551 University of Minnesota December 17, 2007 Peter Bailey, Matt Beckler, Thomas Bishop, and John Saxton Abstract: A solution of the parallel-parking problem

More information

Sphero Lightning Lab Cheat Sheet

Sphero Lightning Lab Cheat Sheet Actions Tool Description Variables Ranges Roll Combines heading, speed and time variables to make the robot roll. Duration Speed Heading (0 to 999999 seconds) (degrees 0-359) Set Speed Sets the speed of

More information

Introduction to Mobile Robotics

Introduction to Mobile Robotics Introduction to Mobile Robotics Olivier Aycard Associate Professor University of Grenoble Laboratoire d Informatique de Grenoble http://membres-liglab.imag.fr/aycard 1/29 Some examples of mobile robots

More information

CMPUT 412 Motion Control Wheeled robots. Csaba Szepesvári University of Alberta

CMPUT 412 Motion Control Wheeled robots. Csaba Szepesvári University of Alberta CMPUT 412 Motion Control Wheeled robots Csaba Szepesvári University of Alberta 1 Motion Control (wheeled robots) Requirements Kinematic/dynamic model of the robot Model of the interaction between the wheel

More information

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

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

More information

ROSE-HULMAN INSTITUTE OF TECHNOLOGY

ROSE-HULMAN INSTITUTE OF TECHNOLOGY Introduction to Working Model Welcome to Working Model! What is Working Model? It's an advanced 2-dimensional motion simulation package with sophisticated editing capabilities. It allows you to build and

More information

Operation of DynaFlight-SeisBag And Simulator

Operation of DynaFlight-SeisBag And Simulator THIS MANUAL CONTAINS INSTRUCTIONS FOR: Operation of DynaFlight-SeisBag And Simulator DynaNav Systems Inc. 121 18799 Airport Way Pitt Meadows. BC, Canada, V3Y 2B4 www.dynanav.com DynaFlight-SeisBag Deployment

More information

Jo-Car2 Autonomous Mode. Path Planning (Cost Matrix Algorithm)

Jo-Car2 Autonomous Mode. Path Planning (Cost Matrix Algorithm) Chapter 8.2 Jo-Car2 Autonomous Mode Path Planning (Cost Matrix Algorithm) Introduction: In order to achieve its mission and reach the GPS goal safely; without crashing into obstacles or leaving the lane,

More information

10/25/2018. Robotics and automation. Dr. Ibrahim Al-Naimi. Chapter two. Introduction To Robot Manipulators

10/25/2018. Robotics and automation. Dr. Ibrahim Al-Naimi. Chapter two. Introduction To Robot Manipulators Robotics and automation Dr. Ibrahim Al-Naimi Chapter two Introduction To Robot Manipulators 1 Robotic Industrial Manipulators A robot manipulator is an electronically controlled mechanism, consisting of

More information

20 Barrett Court Fredericton, NB, Canada E3B 6Y1 navsoft.com

20 Barrett Court Fredericton, NB, Canada E3B 6Y1  navsoft.com 20 Barrett Court Fredericton, NB, Canada E3B 6Y1 www.gemini navsoft.com 2 Contents Contents... 3 1. Description... 4 2. RoverVu Layout... 6 2.1. Rover Client Software Window... 6 2.2 GPS Status Window...

More information

Everything You Always Wanted To Know About Programming Behaviors But Were Afraid To Ask

Everything You Always Wanted To Know About Programming Behaviors But Were Afraid To Ask Everything You Always Wanted To Know About Programming Behaviors But Were Afraid To Ask By Kevin Harrelson Machine Intelligence Lab University of Florida Spring, 1995 Overview Programming multiple behaviors

More information

Introduction to Intelligent System ( , Fall 2017) Instruction for Assignment 2 for Term Project. Rapidly-exploring Random Tree and Path Planning

Introduction to Intelligent System ( , Fall 2017) Instruction for Assignment 2 for Term Project. Rapidly-exploring Random Tree and Path Planning Instruction for Assignment 2 for Term Project Rapidly-exploring Random Tree and Path Planning Introduction The objective of this semester s term project is to implement a path planning algorithm for a

More information

DESIGN AND ANALYSIS OF ALGORITHMS. Unit 1 Chapter 4 ITERATIVE ALGORITHM DESIGN ISSUES

DESIGN AND ANALYSIS OF ALGORITHMS. Unit 1 Chapter 4 ITERATIVE ALGORITHM DESIGN ISSUES DESIGN AND ANALYSIS OF ALGORITHMS Unit 1 Chapter 4 ITERATIVE ALGORITHM DESIGN ISSUES http://milanvachhani.blogspot.in USE OF LOOPS As we break down algorithm into sub-algorithms, sooner or later we shall

More information

A New Algorithm for Automated Aircraft Conflict Resolution

A New Algorithm for Automated Aircraft Conflict Resolution A New Algorithm for Automated Aircraft Conflict Resolution Nour Dougui, Daniel Delahaye, and Stephane Puechmorel ENAC July 3, 2009 our Dougui, Daniel Delahaye, and Stephane Puechmorel A New Algorithm (ENAC)

More information

Project 1 : Dead Reckoning and Tracking

Project 1 : Dead Reckoning and Tracking CS3630 Spring 2012 Project 1 : Dead Reckoning and Tracking Group : Wayward Sons Sameer Ansari, David Bernal, Tommy Kazenstein 2/8/2012 Wayward Sons CS3630 Spring 12 Project 1 Page 2 of 12 CS 3630 (Spring

More information

SUPPORTING LINEAR MOTION: A COMPLETE GUIDE TO IMPLEMENTING DYNAMIC LOAD SUPPORT FOR LINEAR MOTION SYSTEMS

SUPPORTING LINEAR MOTION: A COMPLETE GUIDE TO IMPLEMENTING DYNAMIC LOAD SUPPORT FOR LINEAR MOTION SYSTEMS SUPPORTING LINEAR MOTION: A COMPLETE GUIDE TO IMPLEMENTING DYNAMIC LOAD SUPPORT FOR LINEAR MOTION SYSTEMS Released by: Keith Knight Catalyst Motion Group Engineering Team Members info@catalystmotiongroup.com

More information

Chapter 2 Trajectory and Floating-Car Data

Chapter 2 Trajectory and Floating-Car Data Chapter 2 Trajectory and Floating-Car Data Measure what is measurable, and make measurable what is not so. Galileo Galilei Abstract Different aspects of traffic dynamics are captured by different measurement

More information

Advanced Motion Solutions Using Simple Superposition Technique

Advanced Motion Solutions Using Simple Superposition Technique Advanced Motion Solutions Using Simple Superposition Technique J. Randolph Andrews Douloi Automation 740 Camden Avenue Suite B Campbell, CA 95008-4102 (408) 374-6322 Abstract A U T O M A T I O N Paper

More information

Localization, Where am I?

Localization, Where am I? 5.1 Localization, Where am I?? position Position Update (Estimation?) Encoder Prediction of Position (e.g. odometry) YES matched observations Map data base predicted position Matching Odometry, Dead Reckoning

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

Exploring Projectile Motion with Interactive Physics

Exploring Projectile Motion with Interactive Physics Purpose: The purpose of this lab will is to simulate a laboratory exercise using a program known as "Interactive Physics." Such simulations are becoming increasingly common, as they allow dynamic models

More information

Automated Road Segment Creation Process

Automated Road Segment Creation Process David A. Noyce, PhD, PE Director and Chair Traffic Operations and Safety Laboratory Civil and Environmental Engineering Department Kelvin R. Santiago, MS, PE Assistant Researcher Traffic Operations and

More information

Final Report: Dynamic Dubins-curve based RRT Motion Planning for Differential Constrain Robot

Final Report: Dynamic Dubins-curve based RRT Motion Planning for Differential Constrain Robot Final Report: Dynamic Dubins-curve based RRT Motion Planning for Differential Constrain Robot Abstract This project develops a sample-based motion-planning algorithm for robot with differential constraints.

More information

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

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

More information

Unit 1 Chapter 4 ITERATIVE ALGORITHM DESIGN ISSUES

Unit 1 Chapter 4 ITERATIVE ALGORITHM DESIGN ISSUES DESIGN AND ANALYSIS OF ALGORITHMS Unit 1 Chapter 4 ITERATIVE ALGORITHM DESIGN ISSUES http://milanvachhani.blogspot.in USE OF LOOPS As we break down algorithm into sub-algorithms, sooner or later we shall

More information

Lecture VI: Constraints and Controllers. Parts Based on Erin Catto s Box2D Tutorial

Lecture VI: Constraints and Controllers. Parts Based on Erin Catto s Box2D Tutorial Lecture VI: Constraints and Controllers Parts Based on Erin Catto s Box2D Tutorial Motion Constraints In practice, no rigid body is free to move around on its own. Movement is constrained: wheels on a

More information

Final Exam Practice Fall Semester, 2012

Final Exam Practice Fall Semester, 2012 COS 495 - Autonomous Robot Navigation Final Exam Practice Fall Semester, 2012 Duration: Total Marks: 70 Closed Book 2 hours Start Time: End Time: By signing this exam, I agree to the honor code Name: Signature:

More information

SESSION FIVE CIRCUMFERENCE AND AREA OF A CIRCLE

SESSION FIVE CIRCUMFERENCE AND AREA OF A CIRCLE SESSION FIVE CIRCUMFERENCE AND AREA OF A CIRCLE Outcomes Participants will be familiarized with different kinds of compasses to trace circles Learn or remember some of the principal parts of a circle:

More information

EV3 Programming Workshop for FLL Coaches

EV3 Programming Workshop for FLL Coaches EV3 Programming Workshop for FLL Coaches Tony Ayad 2017 Outline This workshop is intended for FLL coaches who are interested in learning about Mindstorms EV3 programming language. Programming EV3 Controller

More information

Horizontal Alignment

Horizontal Alignment AMRC 2012 MODULE 8 Horizontal Alignment CONTENTS Overview... 8-1 Objectives... 8-1 Procedures... 8-1 8.1 Design Considerations and Circular Curves... 8-3 8.2 Superelevation and Transitional Spiral... 8-5

More information

Introduction to Mobile Robotics Path Planning and Collision Avoidance

Introduction to Mobile Robotics Path Planning and Collision Avoidance Introduction to Mobile Robotics Path Planning and Collision Avoidance Wolfram Burgard, Cyrill Stachniss, Maren Bennewitz, Giorgio Grisetti, Kai Arras 1 Motion Planning Latombe (1991): eminently necessary

More information

Physics 101, Lab 1: LINEAR KINEMATICS PREDICTION SHEET

Physics 101, Lab 1: LINEAR KINEMATICS PREDICTION SHEET Physics 101, Lab 1: LINEAR KINEMATICS PREDICTION SHEET After reading through the Introduction, Purpose and Principles sections of the lab manual (and skimming through the procedures), answer the following

More information

CS 354R: Computer Game Technology

CS 354R: Computer Game Technology CS 354R: Computer Game Technology A* Heuristics Fall 2018 A* Search f(n): The current best estimate for the best path through a node: f(n)=g(n)+h(n) g(n): current known best cost for getting to a node

More information

Attack Resilient State Estimation for Vehicular Systems

Attack Resilient State Estimation for Vehicular Systems December 15 th 2013. T-SET Final Report Attack Resilient State Estimation for Vehicular Systems Nicola Bezzo (nicbezzo@seas.upenn.edu) Prof. Insup Lee (lee@cis.upenn.edu) PRECISE Center University of Pennsylvania

More information

Transportation Engineering - II Dr.Rajat Rastogi Department of Civil Engineering Indian Institute of Technology - Roorkee

Transportation Engineering - II Dr.Rajat Rastogi Department of Civil Engineering Indian Institute of Technology - Roorkee Transportation Engineering - II Dr.Rajat Rastogi Department of Civil Engineering Indian Institute of Technology - Roorkee Lecture 18 Vertical Curves and Gradients Dear students, I welcome you back to the

More information

Team Name: Domo Arigato Robot Name: Chipotle 1. Team Members: Jason DiSalvo Brian Eckerly Keun Young Jang Neal Mehan Arun Rajmohan

Team Name: Domo Arigato Robot Name: Chipotle 1. Team Members: Jason DiSalvo Brian Eckerly Keun Young Jang Neal Mehan Arun Rajmohan Team Name: Domo Arigato Robot Name: Chipotle 1 Team Members: Jason DiSalvo Brian Eckerly Keun Young Jang Neal Mehan Arun Rajmohan Accomplished So Far Familiarized ourselves with startup procedures for

More information