Project Proposal. disallowing turning into an object and if an object is in its path the car avoids the object and regains its original direction

Similar documents
3. Identification of water pumps through RFID technology. 4. Wireless control of remote water pump using RF technology.

Multiple Connection Telephone System with Voice Messaging

Project Development Plan

Collided Vehicle Position Detection using GPS & Reporting System through GSM

Sensor-Based Robotic Model for Vehicle Accident Avoidance

Course Project Documentation

IR Communication a learn.sparkfun.com tutorial

Zigbee-Based Wireless Distance Measuring Sensor System

GnuRadio CONTACT INFORMATION: phone: fax: web:

TV Remote Controller Decoder

Human Detection Robot using PIR Sensors

Adaptive Cruise Control System Overview

Final Design Report 19 April Project Name: utouch

OWNER S OPERATION GUIDE English

Surveillance System Using Wireless Sensor Networks

A Review of Security System for Smart Home Applications

How To Set Off An Alarm On A Car With A Car Alarm On It

Serial port interface for microcontroller embedded into integrated power meter

Unit 1: INTRODUCTION TO ADVANCED ROBOTIC DESIGN & ENGINEERING

Building a Basic Communication Network using XBee DigiMesh. Keywords: XBee, Networking, Zigbee, Digimesh, Mesh, Python, Smart Home

WIRELESS SENSORS IN THERMAL PROTECTION SYSTEMS

VEHICLE TRACKING ALONG WITH THE ADVANCED RTO TECHNOLOGY

IR-210/712A + TouchPAD

Programming Logic controllers

Relay Attacks on Passive Keyless Entry and Start Systems in Modern Cars

INTRODUCTION: ABSTRACT:

Data Acquisition Module with I2C interface «I2C-FLEXEL» User s Guide

Silicon Seminar. Optolinks and Off Detector Electronics in ATLAS Pixel Detector

Different Ways of Connecting to. 3DLevelScanner II. A.P.M Automation Solutions LTD. Version 3.0

Pop-up Surveillance Camera On Your TV

Digital Systems Based on Principles and Applications of Electrical Engineering/Rizzoni (McGraw Hill

AEO Head Movement Tracker X-GYRO 1000 USER MANUAL(V1.1bata )

User Manual Wireless HD AV Transmitter & Receiver Kit

Omron I/O Driver (Series 2) Programmable Serial Interface Card

Indoor Surveillance Security Robot with a Self-Propelled Patrolling Vehicle

The I2C Bus. NXP Semiconductors: UM10204 I2C-bus specification and user manual HAW - Arduino 1

BENEFIT OF DYNAMIC USE CASES TO EARLY DESIGN A DRIVING ASSISTANCE SYSTEM FOR PEDESTRIAN/TRUCK COLLISION AVOIDANCE

The Design of a Low-Cost and Robust Linkage Position Sensor

Advanced Car Security System Using GSM

Wireless Security Camera

2.0 System Description

5.8GHz Audio/Video Sender

Raghavendra Reddy D 1, G Kumara Swamy 2

E-TRACKING SYSETEM FOR MUNICIPAL SOLID WASTE MANAGEMENT USING RFID TECHNOLOGY

The Advanced JTAG Bridge. Nathan Yawn 05/12/09

PCMCIA 1 Port RS EDITION OCTOBER 1999

Wireless Home Security System

oxigen system Slot.it oxigen timing RMS installation Dongle driver installation 1/ 11 Race Management Software

INSTALLATION GUIDE OWNER S GUIDE

[Deotale, 4(7): July, 2015] ISSN: (I2OR), Publication Impact Factor: 3.785

A RF18 Remote control receiver MODULE

KTA-223 Arduino Compatible Relay Controller

Introduction to Z-Wave. An Introductory Guide to Z-Wave Technology

PM1122 INT DIGITAL INTERFACE REMOTE

Test Driven Development of Embedded Systems Using Existing Software Test Infrastructure

Mini Effect Gizmo. User s Manual. RJM Music Technology, Inc.

(Refer Slide Time: 00:01:16 min)

Page -1- Humans and Technology HaT TR96.03a ( )

REC FIM LOCKPICK INSTALLATION OPTIONS

Analog control unit for mobile robots

Lab Experiment 1: The LPC 2148 Education Board

Waspmote. Quickstart Guide

Accident Notification System by using Two Modems GSM and GPS

Analog Amplifier Rexroth RA: Easy, user-friendly control of pumps and valves

PRODUCT MANUAL IRSC. IRSC-Plus. Air-Conditioning controller ZN1CL-IRSC. Program version: 5.14 Manual edition: 5.14_a

A Program for PCB Estimation with Altium Designer

EARTH PEOPLE TECHNOLOGY SERIAL GRAPH TOOL FOR THE ARDUINO UNO USER MANUAL

A Verilog HDL Test Bench Primer Application Note

Below is a diagram explaining the data packet and the timing related to the mouse clock while receiving a byte from the PS-2 mouse:

Location-Aware and Safer Cards: Enhancing RFID Security and Privacy

Programming the VEX Robot

Relay Attacks on Passive Keyless Entry and Start Systems in Modern Cars

Rail Automation. What is ACSES? usa.siemens.com/rail-automation

GRAND Wi-Fi SURVEILLANCE SYSTEM

CHAPTER 11: Flip Flops

3D Vision An enabling Technology for Advanced Driver Assistance and Autonomous Offroad Driving

TestManager Administration Guide

Knowledge Base Article. Integrating ISONAS Access Control System with TagMaster LR-series RFID Readers

Introduction to programming moway

Acton Research Technical Support SpectraPro Diagnostic Procedure

BLUETOOTH SERIAL PORT PROFILE. iwrap APPLICATION NOTE

To Purchase This Item, Visit BMI Gaming Operation Manual

The Boundary Scan Test (BST) technology

Capturing Network Traffic With Wireshark

CMD-9000 COMMANDER SERIES REMOTE CONTROL ENTRY SYSTEM

Application of Wireless Sensor Network and GSM Technology: A Remote Home Security System

International Journal of Advanced Research in Computer Engineering & Technology (IJARCET) Volume 3, Issue 6, June 2014

Hand Gestures Remote Controlled Robotic Arm

IR Blasting Setup Guide

OC821 Iris Outdoor Camera Set-Up Guide. RC8221 Iris. Camera Set-Up Guide

COLLATED QUESTIONS: ELECTROMAGNETIC RADIATION

Software design for self-sustaining embedded systems

Smart Thermostat page 1

Using Xbee in Serial Communication

How To Attack A Key Card With A Keycard With A Car Key (For A Car)

VON BRAUN LABS. Issue #1 WE PROVIDE COMPLETE SOLUTIONS ULTRA LOW POWER STATE MACHINE SOLUTIONS VON BRAUN LABS. State Machine Technology

Shadow TX(A) Shadow RX

ISOBUS s Past, Present and Future role in Agricultural Robotics and Automation

FPGA Implementation of an Advanced Traffic Light Controller using Verilog HDL

Transcription:

Kristen Anderson Kat Kononov November 8, 2010 Project Proposal Project Overview The aim of this project is to create a proof-of-concept model for a semiautonomous car that avoids crashing into obstacles. The system does this by disallowing turning into an object and if an object is in its path the car avoids the object and regains its original direction High-Level Project Architecture This project involves several pieces of hardware in addition to the labkit, including a TV remote, an infrared receiver chip, a RC car and the car's controller, four distance sensors and a Xbee wireless transmitter. The driver uses the TV remote to send signals to the labkit. The infrared receiver chip receives the signals and passes them to the FPGA. The car is equipped with several distance sensors and an Xbee wireless transmitter. Each of the distance sensors will be mounted on the four sides of the vehicle: front, back, left right. The distance sensors data is sent using the XBee wireless transmitter. The corresponding XBee receiver is connected to the labkit, allowing for the sensor data to be input to the FPGA The FPGA processes the driver commands and the sensor data, and creates commands for the car based on those inputs. Those commands are transmitted to the car through the labkit in/outs which are connected to the remote control that comes with the car. See the High-Level Architecture Figure. FPGA Overview The FPGA contains three modules: the Controller Finite State Machine (FSM), the Driver Input Processing Module, the Sensor Input Processing Module, and the Car Command Output Module. The Controller FSM is responsible for making the car command decisions based off of the sensor and user inputs. The Driver Input Processing Module deciphers the serial information received by the remote. The Sensor Input Processing Module codes and transmits the car commands received by the FSM. Car Command Output Module receives the commands from the Controller FSM and outputs them to the labkit to transmit to the car. See the FPGA Overview figure. 1

Controller FSM (Kristen) The Controller FSM takes in the decoded user inputs from the Driver Input Processing Module and the sensor data from the Sensor Input Processing Module. From this information the Controller FSM decides which commands should be sent to the car and outputs them to the Car Command Output Module, to be transmitted from the remote to the car. The Controller FSM decides what to do with the user inputs by comparing the sensors' data to preprogrammed minimum distances (min_dist_front, min_dist_left, min_dist_right, min_dist_back). These minimum distances ensure that the car won't hit any objects. If none of the sensors' data is smaller than their corresponding minimum distances the Controller FSM is in the passive state and all car commands equal user inputs. If either the left distance sensor or the right distance sensor indicate a distance less than the minimum, the Controller FSM enters a state where it will ignore any user input to turn in that direction. If both the left distance sensor and the right distance sensor indicate a distance less than the minimum, the Controller FSM enters a state where it will ignore any user input to turn. If the front distance is less than min_dist_front and the user is indicating a forward path, then the car attempts to circumvent the obstacle by turning 90 degrees left or right, depending upon which sensor indicates the larger distance. The car then goes in a straight line until the side sensor sees the distance increase. At this point the car turns back in the direction it was originally asked to go. However, if the corresponding side distance sensor sees too small of a distance to keep turning, it will continue going straight until that distance is larger. The car keeps track of how much it has turned so far in case it is not able to return to its original trajectory in one motion. The amount of turn that the car completes is stored in a register and is incremented by the amount of time the car has spent in the turning state. This is a rough way to estimate the orientation of the car, so a gyro sensor may be introduced to allow for greater precision. In the obstacle-avoiding state, the only user inputs which will have effect are the stop and override button. The stop will stop the vehicle and the override will put the Controller FSM into the passive state, returning control of the vehicle to the driver. If the back distance is less than min_dist_back and the user is indicating a backwards path then the car will follow the exact state transitions as described for the front case. If the front distance is less than min_dist_front, the left distance is less than min_dist_left, the right distance is less than min_dist_right the car will only respond to a backwards and stop command by the user. If the back distance is less than min_dist_back, the left distance is less than 2

min_dist_left, the right distance is less than min_dist_right the car will only respond to a forwards and stop command by the user. If all of the sensors indicate a distance less than the minimum the car stops and doesn't respond to any inputs by the user. The Controller FSM will be tested first through ModelSim to verify that states are transitioning correctly. Then all of the states and state transition will be tested on the car. This needs to be done after the communication path between the distance sensors and the FPGA is established. Driver Input Processing Module (Kat) The role of the Driver Input Processing Module is to decipher the serial signal from the IR receiver. The IR receiver obtains command signal from the driver's remote and presents them in digital form to the Controller FSM. The serial data is sampled every 75μs and the samples are processed to determine whether the bit being transmitted is a 1 or a 0. The bit is stored in a buffer register. When the whole command has been received, the buffer is full and passes the complete command to a decoder. The decoder uses a look-up table to determine what action that command corresponds to, and the action is passed to the Controller FSM. The look-up table has an entry for each function that the car is expected to perform, and each entry is 4-5 bits long depending on the number of functions. There are more possible actions than just forward, backward, left, right, as we are limited to on the car's remote controller, because a TV remote is used to communicate commands. The buttons 2, 4, 5, 6 and 8 correspond to the car commands. Two increases the car's speed; 8 decreases the car's speed. Five stops the vehicle. Four turns it to the left and 6 turns it to the right. Enter acts as the override button to reset the Controller FSM. See Driver Input Processing Module Figure and Command Receiver FSM. Sensor Input Processing Module (Kat) The role of the Sensor Input Processing Module is to take in data that comes from sensors and present it to the Controller FSM. The sensor data is transmitted from the car to the labkit using wireless radios. It consists of the outputs from the four distance sensors on the front, back, and sides of the car. The distance of each sensor is stored in a register and updated as each new sample is received. Car Command Output Module (Kat) The role of the Car Command Output Module is to take the Controller FSM's car commands and pass them out of the FPGA and into the relays that control the car's remote control. For example, if the command is to drive forward, this module will output a HI to the relay that is connected to the forward button on the remote, until a different command is received. When the relay closes, it simulates the button being pressed 3

because an electrical connection is made between two contacts on the remote control PCB. Conclusion This project will create a proof-of-concept model for a next generation car that will avoid crashes perform driving tasks semi-autonomously. The project requires additional hardware that we have already acquired: two XBee radios, remote control car, and four distance sensors. Once the hardware is connected together, the project will provide opportunities for reaching design milestones that feature increasing levels of autonomous behaviors of the car. 4

Figure 1: High Level Architecture 5

Figure 2: FPGA Overview 6

Figure 3: Command Receiver FSM 7

Figure 4: Driver Input Processing Module 8