An Autonomous Self-Parking Vehicle William Whitney (Mentor: Dr. Jeff Gray) Background: NXT and Robot C The vehicle was constructed using the Lego Mindstorms.

Slides:



Advertisements
Similar presentations
What is Engineering?.
Advertisements

LabView Basics.
Basic Maneuvers Chapter 6 Red text book
CHAPTER 6 BASIC MANEUVERS.
Sonar and Localization LMICSE Workshop June , 2005 Alma College.
Right and Left Turns.
Chapter 10: Negotiating Intersections
Challenges Close Shave Sprint, Spin, Sprint The Labyrinth
Also, while thinking of rear view mirrors, what about this situation?
© 2006 Carnegie Mellon Robotics Academy Designed for use with the LEGO MINDSTORMS ® Education NXT Software and Base Set #9797 Mine Mapping Choose a Sensor.
1 Autonomous Parallel Parking Alex Braun & Sergey Katsev.
CSE Design Lab – Milestone 2 James Hopkins Dave Festa Dennis O’Flaherty Karl Schwirz.
Patent Liability Analysis Andrew Loveless. Potential Patent Infringement Autonomous obstacle avoidance 7,587,260 – Autonomous navigation system and method.
Robotics Lego NXT Mindstorms.
EducateNXT NXT... an introduction The Kit and the Software.
Stem fair project Can LEGO MINDSTORM robots detect and react to objects within a certain range?
The NXT is the brain of a MINDSTORMS® robot. It’s an intelligent, computer-controlled LEGO® brick that lets a MINDSTORMS robot come alive and perform.
LEGO Mindstorms NXT Programming We will be using the Common Palette for our Robots This is how you download your program onto the brick Drag and drop a.
Design and Implementation of Metallic Waste Collection Robot
LEGO Mindstorms NXT Introduction. Component NXT Brick Touch Sensor Light Sensor Ultrasonic Sensor Interactive Servo Motors MMN Lab.
A Sample portion of a lesson
Robotics NXT sensors Back to Light sensor: red vs blue ball.
Adapted for STLP Camp ‘09 Mobile Robots Why do robots need to move?
Coding for the FIRST Tech Challenge: RobotC
Maze Challenge Maze Challenge activity > TeachEngineering.org
Changing Lanes Moving from right-hand lane to left-hand lane
Robotics Overview of NXT-G Actuators in Mindstorms. Touch sensor Labwork: Right turn. Touch/bump. [Explore move versus Motor Move mini & motor mini. Motor*.]
Final Presentation.  Software / hardware combination  Implement Microsoft Robotics Studio  Lego NXT Platform  Flexible Platform.
Building Maps and Navigation for Autonomous Robots Arindam Khaled AI and Knowledge Based Sys II.
EV3 Workshop Oct 3, 2015 Instructor: Chris Cartwright
Lego Mindstorms Robot Tracey Zhang. LEGO MINDSTORMS STATMENT The design challenge my group experimented with is the Lego Mindstorms robot. Our goal is.
Hardware Sponsors National Aeronautics and Space Administration (NASA) NASA Goddard Space Flight Center (GSFC) NASA Goddard Institute for Space Studies.
Overview: The goal of this lesson is to transition from discussing robots in general to the specifics of NXT robot. Objectives: Students will be able.
Barclays Robot Challenge Learn how to Program Robots.
Negative Power or Negative Rotation makes robot go backwards. But if both are negative, the robot will go forward! Move Steering Block.
Sentry System Multiple Sensors
Lego MindStorm An Introduction to Blocks. Blocks Blocks are used to give instructions to your robot. There are many types of blocks You can use the blocks.
lesson 4.2 BASIC DRIVING MANEUVERS
Programming 101 The Common Palette Content provided by Connor Statham (9 th Grade Student) Formatting by Shannon Sieber.
Rescue Robot Day 2 Exploring Computer Science Lesson 6-11.
EG1003: Introduction to Engineering and Design Laboratory 4: Sensors.
Barclays Robot Challenge Learn how to Program Robots.
Obstacle Detection. In the previous program the robot moves forward and then checks for something in the way. As we observed it only checks for things.
MEH108 - Intro. To Engineering Applications KOU Electronics and Communications Engineering.
Module 5 Terena Wibecka Lauren Megan Block 1X. Processing Information 1.A driver needs visibility, space, and time to safely operate a vehicle. 2.A vehicle.
© 2006 Carnegie Mellon Robotics Academy Designed for use with the LEGO MINDSTORMS ® Education NXT Software and Base Set #9797 Sentry System Integration.
Advanced issues in Robotics and Programming Dr. Katerina G. Hadjifotinou Experimental Junior High School of the University of Macedonia.
© 2006 Carnegie Mellon Robotics Academy Designed for use with the LEGO MINDSTORMS ® Education NXT Software and Base Set #9797 Sentry System Two-Way Communication.
Electrical Engineer Responsibilities
NXT Mindstorms Kit Programming
Bluetooth Controlled Robot with Obstacle Avoidance
VEX IQ Curriculum Smart Machines Lesson 09 Lesson Materials:
SEI Robotics Lego Mindstorm Competition
Electrical Engineer Responsibilities
Introduction To Programming with LEGO NXT 0
Introduction To Programming with LEGO NXT 2
Electrical Engineer Responsibilities
Performing Basic Maneuvers
Electrical Engineer Responsibilities
Working Principle of Blind Spot Detection Technology in Cars
Monthly Training Topic NV Transport Inc. Safety & Loss Prevention
Loops and Switches Pre-Quiz
NXT Programming by Paul Cain.
Holyoke Codes LEGO ROBOTICS
Maze Challenge Maze Challenge activity > TeachEngineering.org
Obstacle Detection.
lesson 4.2 BASIC DRIVING MANEUVERS
Lego MINDSTORMS EV3.
The left button (channel) of your hand transmitter is intended only for use for driving in! Your right button can be activated by Klankbord Warande.
LEGO MINDSTORMS NXT PROGRAMMING
Presentation transcript:

An Autonomous Self-Parking Vehicle William Whitney (Mentor: Dr. Jeff Gray) Background: NXT and Robot C The vehicle was constructed using the Lego Mindstorms NXT Robotics System. The NXT has impressive capabilities, including Bluetooth connectivity; light, reflectivity, ultrasonic distance, sound, and touch sensors; three servo motors; a 32 bit processor; and 256 Kbytes of Flash memory. The robot was made available to consumers in July All of the code for controlling the robot was written using the Robot C language, which is a C-based programming language developed by Carnegie Mellon University specifically for use with the Mindstorms robots. It includes a library of robot-specific methods, such as reading sensor data and controlling the motors. Abstract Project Objectives This project uses the Lego Mindstorms NXT robotics kit to construct a prototype proof-of-concept autonomous self-parking vehicle. Recently, both Lexus and BMW released cars with the ability to parallel park; however, the abilities of their cars are very limited, and only work in best-case scenarios, when this ability is the least needed. This project intends to improve upon their weaknesses in the following areas: Forward obstacle detection The ability to determine whether the road ahead is clear Space detection The ability to find an open parking space on its own Legality determination The ability to decide whether a space between parked cars is a legal, marked parking space or a driving area Outcome The robot can successfully navigate a street situation in order to find an empty, legal parallel parking place. Although it still has occasional difficulties, these are not major and could be solved with additional refinement of hardware and code. The only true difficulty with this arrangement is that due to the limitations of the NXT system, it was very challenging to create a true wheel-rotating steering system that is common to automobiles. This project points to the feasibility of future exploration of automated travel. For example, imagine a robotic car that may not need to park when its owner is only expected to be gone a few minutes; instead, it might merely circle around the block until its owner messages it to come back. Even further in the future, perhaps all transit will be entirely automated, including parking garages. Less effort, fewer collisions… What’s to lose? Vehicle Construction The robot constructed for this project contained the following configuration: Two ultrasonic distance sensors One mounted in the front to detect obstacles to forward travel, and one mounted on the side to detect cars that are already parked Two Motors To provide the propelling force for the robot One light-reflectivity sensor Mounted on the side in order to detect the white lines that indicate a legal parking space Servo Motors Ultrasonic Sensor Light Sensor Sound Sensor Touch Sensor NXT Peripherals Software Control All of the code for this project was written using Robot C. A fragment of the code is shown below. while (SensorValue[sonarFrontSensor] > 50 && !canPark) { while(SensorValue[lightSensor] < 30) { motor[motorRight] = 100; motor[motorLeft] = 100; } if(SensorValue[sonarSideSensor] < PARKWIDTH) { firstEmpty = false; } This loop moves the robot as long as the following conditions are true: - there is enough space in front, and - it hasn’t already found a space. This drives forward until the robot encounters the first line of a parking space. This code determines if the space to the side of the robot is smaller than the width of a parking space. If so, then the boolean firstEmpty, which indicates whether or not the front of the space is empty, is set to false. This is repeated later in the code for other parts of the space. The robot detects the first line. The robot detects the second line. In the intermediate stage, it has checked to be sure the space is clear. The robot backs into position. Parking successfully completed. Several automotive manufacturers (e.g., BMW and Lexus) have initiated the concept of a “self-parking car” whereby a driver positions their automobile into a location that can be maneuvered into a parking spot under automated control. This project demonstrates an experimental effort to expand on this concept by providing additional automated parallel-parking capabilities, such as self-discovery of parking spaces and coordinated avoidance of objects. The prototype vehicle is a NXT Robot, which includes a processor, Bluetooth wireless, three motors, and several sensors. The robot uses two ultrasonic sensors to detect surrounding objects. A light sensor identifies the lines that demarcate parking spaces. These sensors are coordinated to ensure that: 1) the road is clear, 2) there is an empty space of the street, and, 3) the empty space is legal (e.g., not a driveway). The robot fulfilled all of the goals of the project, but with a few compromises. Due to the limitations of NXT, it was difficult to create a front-wheel steering system resembling a real automobile. The prototype has two front wheels with rubber tires, but the back wheels are plastic to enable easier movement along the driving surface. The robot’s turning radius is dramatically less than a standard automobile. However, the project successfully demonstrated the ability to sense and interpret data in a real-world situation. The opportunities for broad impact are significant. Future extensions may include a vehicle that circles the block to await the driver’s return, or a fully automated modular transit system consisting of smart cars.