P545 – Embedded & Real-Time Systems

Slides:



Advertisements
Similar presentations
Chapter 3.
Advertisements

Motion and Force A. Motion 1. Motion is a change in position
Read E-49.
Example: A 10 g bullet is fired at a steel plate
Lecture 20 Dimitar Stefanov. Microprocessor control of Powered Wheelchairs Flexible control; speed synchronization of both driving wheels, flexible control.
TECHNOLOGICAL INSTITUTE Center for Robot Technology.
AI Pathfinding Representing the Search Space
Example: If you were to jump off of a building would you prefer to land on a large air mattress or a concrete slab? Why? (Assume you stop after impact)
Projects. 1. Path planning – Input: 2D map, initial location, destination Output: waypoints (or false if there is no path). – Input: 2D map, initial location,
Using a GA to Create Prey Tactics Presented by Tony Morelli on 11/29/04.
Patent Liability Analysis Andrew Loveless. Potential Patent Infringement Autonomous obstacle avoidance 7,587,260 – Autonomous navigation system and method.
Abstract Design Considerations and Future Plans In this project we focus on integrating sensors into a small electrical vehicle to enable it to navigate.
What is motion? Acceleration Momentum
MICROPROCESSOR INPUT/OUTPUT
Elegant avoiding of obstacle Young Joon Kim MSRDS First Beginner Course – STEP5.
Artificial Intelligence in Game Design Complex Steering Behaviors and Combining Behaviors.
Computer Systems - Processor. Objectives To investigate and understand the structure and role of the processor.
- Review velocity, acceleration and the conditions needed to cause acceleration - Observe and plot the change in acceleration of a rolling object with.
Artificial Intelligence in Game Design Lecture 8: Complex Steering Behaviors and Combining Behaviors.
5.5: Speeding up and Slowing down
Motion Graphs Position vs. time. Vocabulary Position Where you are relative to the origin (reference point/observer) Distance The total length of how.
Team RoboTrek Matt Kabert Ryan Bokman Vipul Gupta Advisor: Rong Xu.
Motion and Force Chapter Three: Motion 3.1 Position and Velocity 3.2 Graphs of Motion 3.3 Acceleration.
Beard & McLain, “Small Unmanned Aircraft,” Princeton University Press, 2012, Chapter 12: Slide 1 Chapter 12 Path Planning.
DO NOW Chapter 3 Review.
Detail Issues in Robust Pathfinding Thomas Young
Module 3 Brianna James Percy Antoine. Entering the Roadway/Moving to the Curb/Backing  The seven steps to safely pull from a curb. Place foot firmly.
Obstacle Avoidance Manjulata Chivukula. Requirements Traversing the list of waypoints Traversing the list of waypoints Avoiding the obstacle in the path.
Forces. GPS Standards S8P3: Students will investigate the relationship between force, mass, and the motion of objects. a. Determine the relationship between.
Free Fall Acceleration due to Gravity. Free Fall l What causes things to fall? l How fast do things fall? l How far do things fall in a given time?
Force and Friction.
Computer Hardware What is a CPU.
Checking for understanding
Chapter Projectile Motion 6.1.
Automatic control systems I. Nonlinearities in Control System
Balanced and Unbalanced Forces
Automatic Speed Control Using Distance Measurement By Single Camera
Advanced OS Concepts (For OCR)
Chapter Projectile Motion 6.1.
Chapter Four: Motion 4.1 Position, Speed and Velocity
Angles And Distances.
CS330 Discussion 4 Spring 2017.
Today’s special Test results Banana experiment Notes I
Control Group 2 Final Presentation
Motion Planning for Multiple Autonomous Vehicles
Analyzing Displacement, Velocity and Vector Directions
TUGS Jason Higuchi && Julia Yefimenko && Raudel mayorga
lesson 3.3 STARTING, STOPPING, STEERING, AND TARGETING
Collisions A B. Collisions A B Conservation of Momentum B During a collision, if the net external force on the system is zero, then the momentum of.
Motion and Force. Motion and Force Chapter Three: Motion 3.1 Position and Velocity 3.2 Graphs of Motion 3.3 Acceleration.
Motion and Force. Motion and Force Chapter Twelve: Distance, Time, and Speed 12.1 Distance, Direction, and Position 12.2 Speed 12.3 Graphs of Motion.
Motion & Forces Motion occurs when an object travels from one point to another. Position describes the location of an object. A Reference point is a location.
How Can You Create the Following Position Graphs?
Using the sensor Lesson 5.
Section 1-1 The Nature of Force.
Unit 1b: Motion in One Dimension-Constant Acceleration
Motion and Force. Motion and Force Chapter Three: Motion 3.1 Position and Velocity 3.2 Graphs of Motion 3.3 Acceleration.
Motion.
Loops.
I can program behaviours using inputs and outputs
Using the sensor Lesson 5.
lesson 3.3 STARTING, STOPPING, STEERING, AND TARGETING
Acceleration.
Distance, Direction and Position
Motion and Force. Motion and Force Chapter Three: Motion 3.1 Position and Velocity 3.2 Graphs of Motion 3.3 Acceleration.
Uniform Acceleration Review
Obstacle Detection.
Momentum Momentum is mass times velocity. Momentum is represented by p. p = mv Momentum is a vector quantity. The direction of momentum always matches.
Accelerometer on a Cart Activities
Describing Motion.
Presentation transcript:

P545 – Embedded & Real-Time Systems Obstacle Avoidance by Yasir Ibrahim

Execution per clock tick One loop on the following: Heading control Path following Laser reading Avoid obstacles Adjust speed Check corridor boundaries

Heading PID Continuous control Cart turns when the error in the feed back is not ZERO. Actually it is not even checking against zero, it continuously feeds back inputs and issues turn commands.

waypoint2 waypoint3 waypoint1

waypoint2 waypoint3 waypoint1

waypoint2 waypoint3 Supposed heading Actual heading (compass) waypoint1

waypoint2 waypoint3 Supposed heading Actual heading (compass) error waypoint1

waypoint2 waypoint3 Supposed heading Actual heading (compass) Error=supposed heading – actual heading Turn_command_inverse=p*error P=1/(smallest_turn_radius*suitable_angle) P=1/(2.0*90.0) error waypoint1

waypoint2 waypoint3 Supposed heading Actual heading (compass) Error=supposed heading – actual heading Turn_command_inverse=p*error P=1/(smallest_turn_radius*suitable_angle) P=1/(2.0*90.0) error waypoint1

GPS follower When to pick the next waypoint. Two cases: 1) The distance to the next waypoint is getting shorter. (till it is less than LBO) 2) The distance from the previous waypoint is getting longer. (till it is larger than distance between the two waypoints) The heading is working continuously.

waypoint2 waypoint3 waypoint1

waypoint2 waypoint3 length waypoint1

waypoint2 waypoint3 LBO length waypoint1

waypoint2 waypoint3 LBO r length r < LBO Or d >= length d waypoint1

waypoint2 waypoint3 LBO r length r < LBO Or d >= length d waypoint1

waypoint2 waypoint3 r LBO d length r < LBO Or d >= length waypoint1

waypoint2 waypoint3 d length r < LBO Or d >= length waypoint1

waypoint2 waypoint3 waypoint1

waypoint2 waypoint3 waypoint1

Obstacle Avoidance Reading the laser device. Filtering the list (taking only what is in the cart’s path). Averaging the list of obstacles Adjusting the output obstacle’s LBO. Keeping history of obstacles, specially the previous one.

waypoint2 waypoint3 waypoint1

waypoint2 waypoint3 waypoint1

a Obstacle GPS c a=b*(sin(alpha)) b Outside when a > c/2 + O_lbo alpha GPS

Obstacle GPS a c a=b*(sin(alpha)) b Inside when a<=c/2 + O_lbo alpha GPS

Obstacle GPS a c a=b*(sin(alpha)) b Inside when a<=c/2 + O_lbo alpha GPS

a Obstacle GPS c a=b*(sin(alpha)) b Inside when a<=c/2 + O_lbo alpha GPS

a Obstacle3 Obstacle1 c Obstacle2 Obstacle4 b 1 clock tick

a Obstacle1 c a=b*(sin(alpha)) b Inside when a<=c/2 + O_lbo alpha GPS

Obstacle2 a c a=b*(sin(alpha)) b Inside when a<=c/2 + O_lbo alpha GPS

Obstacle3 a c a=b*(sin(alpha)) b Inside when a<=c/2 + O_lbo alpha GPS

Obstacle4 a c a=b*(sin(alpha)) b Outside when a>c/2 + O_lbo alpha GPS

Obstacle3 Obstacle1 Obstacle2 c 1 clock tick

Obstacle3 Obstacle1 Obstacle2 c 1 clock tick

1 clock tick AO=0 AO=∑(Oi + AO )/i ALBO=(LBOk-1+d+LBOk)/2 Obstacle3 Obstacle1 Obstacle2 c AO=0 AO=∑(Oi + AO )/i ALBO=(LBOk-1+d+LBOk)/2 d=distance(AO,Oj) 1 clock tick

c Obstacle 1 1 clock tick

waypoint2 waypoint3 waypoint1

waypoint2 waypoint3 Next heading of corridor Current heading of corridor waypoint1

waypoint2 waypoint3 Next heading of corridor Current heading of corridor Next turn is left Optimal avoidance from the right of obstacles waypoint1

waypoint2 waypoint3 Does not fit waypoint1

waypoint2 waypoint3 Fits waypoint1

waypoint2 waypoint3 Fits Synthesized waypoint waypoint1

waypoint2 waypoint3 Becomes my next waypoint waypoint1

waypoint2 waypoint3 waypoint4 waypoint1

waypoint2 waypoint3 waypoint4 waypoint1

waypoint2 waypoint3 waypoint4 waypoint1

waypoint2 waypoint3 waypoint4 waypoint1

waypoint2 waypoint3 waypoint4 waypoint1

waypoint2 waypoint3 waypoint4 waypoint1

waypoint2 waypoint3 waypoint4 waypoint1

waypoint2 waypoint3 waypoint4 waypoint1

More obstacles Other configurations

waypoint2 waypoint3 waypoint4 waypoint1

waypoint2 waypoint3 waypoint4 waypoint1

waypoint2 waypoint3 waypoint4 waypoint1

waypoint2 waypoint3 waypoint4 waypoint1

waypoint2 waypoint3 waypoint4 waypoint1

waypoint2 waypoint3 waypoint4 waypoint1

waypoint2 waypoint3 waypoint4 waypoint1

waypoint2 waypoint3 waypoint1

waypoint2 waypoint3 waypoint4 waypoint1

waypoint2 waypoint3 waypoint4 waypoint1

waypoint2 waypoint3 waypoint4 waypoint1

waypoint2 waypoint3 waypoint4 waypoint1

waypoint2 waypoint3 waypoint4 waypoint1

waypoint2 waypoint3 waypoint4 waypoint1

waypoint2 waypoint3 Does not fit waypoint4 waypoint1

waypoint2 waypoint3 Fits waypoint4 waypoint1

waypoint2 waypoint3 Fits waypoint5 waypoint4 Synthesized waypoint waypoint1

waypoint2 waypoint3 Becomes my next waypoint waypoint5 waypoint4 waypoint1

waypoint2 waypoint3 Becomes my next waypoint waypoint5 waypoint4 If overlaps with my current waypoint, replace. waypoint1

waypoint2 waypoint3 Becomes my next waypoint waypoint5 waypoint4 If overlaps with my current waypoint, replace. waypoint1

waypoint2 waypoint3 Becomes my next waypoint waypoint5 waypoint4 If overlaps with my current waypoint, replace. waypoint1

waypoint2 waypoint3 Becomes my next waypoint waypoint5 waypoint4 If overlaps with my current waypoint, replace. waypoint1

waypoint2 waypoint3 waypoint6 Becomes my next waypoint waypoint5 waypoint1

waypoint2 waypoint3 waypoint6 Becomes my next waypoint waypoint5 waypoint1

waypoint2 waypoint3 waypoint6 Becomes my next waypoint waypoint5 waypoint1

waypoint2 waypoint3 STOP STOP waypoint6 Becomes my next waypoint waypoint5 waypoint1

waypoint2 waypoint3 waypoint4 waypoint1

waypoint2 waypoint3 waypoint4 waypoint1

waypoint2 waypoint3 fits waypoint4 waypoint1

waypoint2 waypoint3 waypoint5 Synthesize waypoint waypoint4 waypoint1

waypoint2 waypoint3 waypoint5 Synthesize waypoint waypoint4 Average waypoint4 and waypoint5 waypoint1

waypoint2 waypoint3 waypoint5 Synthesize waypoint waypoint4 Average waypoint4 and waypoint5 waypoint1

waypoint2 waypoint3 waypoint5 Synthesize waypoint waypoint4 Average waypoint4 and waypoint5 waypoint1

waypoint2 waypoint3 waypoint5 Synthesize waypoint waypoint4 Average waypoint4 and waypoint5 waypoint1

waypoint2 waypoint3 waypoint5 Synthesize waypoint waypoint4 Average waypoint4 and waypoint5 waypoint1

waypoint2 waypoint3 waypoint5 Synthesize waypoint waypoint4 Average waypoint4 and waypoint5 waypoint1

Staying inside corridor Synthesized collision bubble. How far it is synthesized depends on cart’s speed. It can be used to control speed (accelerate, decelerate, and stop) and help in heading control (pushing bigger error to the heading control to force on turning if the cart is going out the corridor).

waypoint2 waypoint3 waypoint1

?

It Is a synthesized point. Same as if it were a synthesized waypoint Or an obstacle. ?

It Is a synthesized point. Same as if it were a synthesized waypoint Or an obstacle. ? Speed

It Is a synthesized point. Same as if it were a synthesized waypoint Or an obstacle. ? Speed (D)istance from GPS to the cart’s font

It Is a synthesized point. Same as if it were a synthesized waypoint Or an obstacle. How far = Speed/2.0+D Speed (D)istance from GPS to the cart’s font

It Is a synthesized point. Same as if it were a synthesized waypoint Or an obstacle. How far = Speed/2.0+D Speed 3.0 m/s (D)istance from GPS to the cart’s font 1.6764 m

It Is a synthesized point. Same as if it were a synthesized waypoint Or an obstacle. How far = Speed/4.0+D How far = 3.0/4.0+1.6764= 2.4264 m From the GPS. Or How far= 2.4264 – 1.6764= 0.75m From the front of the cart. Speed 3.0 m/s (D)istance from GPS to the cart’s font 1.6764 m

waypoint2 waypoint3 0.5 2 waypoint1

waypoint2 waypoint3 0.75 3 waypoint1

waypoint2 waypoint3 1.0 4 The cart is going out waypoint1

waypoint2 waypoint3 1.0 4 The cart is going out Signal to slow down waypoint1

waypoint2 waypoint3 0.75 3 Slowed down waypoint1

2 50 waypoint2 waypoint3 Slowed down waypoint1

3 0.75 waypoint2 waypoint3 Slowed down waypoint1

Also, Collision bubble can be used to know if the cart is going out from the side of corridor.

waypoint2 waypoint3 2 0.5 waypoint1

waypoint2 waypoint3 3 0.75 waypoint1

Bubble LBO a a=b*(sin(alpha)) b Outside when a + Bubble LBO > LBO alpha LBO

Bubble LBO a a=b*(sin(alpha)) b Outside when a + Bubble LBO > LBO alpha LBO

Bubble LBO a b a=b*(sin(alpha)) Inside when a + Bubble LBO<= LBO alpha LBO

Path planning At each cycle, an algorithm iterates through all the waypoints and obstacles together. The algorithm adds two more waypoints at each existing waypoint. One before and one after the waypoint. The algorithm synthesizes the best waypoint around obstacles.

Previous Labs

Safety

try : adjust_speed() if (signal_stop == False): read_laser() follow_path() if(panic==True): self.which_side_of_obstacle() self.synthesize_waypoint() self.put_synthesized_waypoint() self.panic=False catch:

Default value for speed. Always storing the previous value. If one of the following sensors are providing unacceptable values (same value for along time or empty values), exception is thrown: GPS, Compass, or Laser.

TheEND