Top Banner
RC CAR CONTROLLER BASED ON INTEL GALILEO SOC PLATFORM Nadav Shiloach Sagi Sabag Supervisor: Idan Shmuel Spring 2014 One Semester Project PROJECT’S ENDING PRESENTATION
19

RC CAR CONTROLLER BASED ON INTEL GALILEO SOC PLATFORM Nadav Shiloach Sagi Sabag Supervisor: Idan Shmuel Spring 2014 One Semester Project PROJECT’S ENDING.

Dec 28, 2015

Download

Documents

Caren Ryan
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: RC CAR CONTROLLER BASED ON INTEL GALILEO SOC PLATFORM Nadav Shiloach Sagi Sabag Supervisor: Idan Shmuel Spring 2014 One Semester Project PROJECT’S ENDING.

RC CAR CONTROLLER BASED ON INTEL GALILEO SOC PLATFORM

Nadav ShiloachSagi Sabag

Supervisor: Idan Shmuel

Spring 2014One Semester Project

PROJECT’S ENDING PRESENTATION

Page 2: RC CAR CONTROLLER BASED ON INTEL GALILEO SOC PLATFORM Nadav Shiloach Sagi Sabag Supervisor: Idan Shmuel Spring 2014 One Semester Project PROJECT’S ENDING.

PROJECT’S MOTIVATION

Designing an autonomous remote control car using the Intel Galileo platform which will be a base for higher purposes like:

• Improving driving safety.

• Reducing traffic congestion.

• Improving fuel consumption.

• Reducing air pollution.

Page 3: RC CAR CONTROLLER BASED ON INTEL GALILEO SOC PLATFORM Nadav Shiloach Sagi Sabag Supervisor: Idan Shmuel Spring 2014 One Semester Project PROJECT’S ENDING.

PROJECT’S MAIN GOAL

This project’s main goal is to find and design a system which will be able to control a remote control car via Wi-Fi. The system shall be capable to move the car and collect critical real-time information such as:

• Acceleration

• Speed

• Distance from nearby objects

Page 4: RC CAR CONTROLLER BASED ON INTEL GALILEO SOC PLATFORM Nadav Shiloach Sagi Sabag Supervisor: Idan Shmuel Spring 2014 One Semester Project PROJECT’S ENDING.

PROJECT’S FLOW

• Learn about the Intel Galileo Wi-Fi capabilities.

• Establish a stable connection between a local computer to the Intel Galileo via Wi-Fi.

• Learn about the old remote control car mechanics and electronics.

• Learn about the Intel Galileo pins connections.

• Search for a suitable engine driver electronic card.

• Search for a suitable accelerometer and ultrasonic sensors.

• Design an integrated system with all cards and sensors.

• Design a power supply circuit for the system.

• Write code for controlling the car via Wi-Fi.

• Test the system.

Page 5: RC CAR CONTROLLER BASED ON INTEL GALILEO SOC PLATFORM Nadav Shiloach Sagi Sabag Supervisor: Idan Shmuel Spring 2014 One Semester Project PROJECT’S ENDING.

PROJECT’S SYSTEM BLOCK DIAGRAM

DCDuino BoardIntel Galileo

Board

Ultra SonicSensor

Accelerometer

MotorsDriver

Remote Control

Car

PC

UART

Wi-FiIDE

SPI

Page 6: RC CAR CONTROLLER BASED ON INTEL GALILEO SOC PLATFORM Nadav Shiloach Sagi Sabag Supervisor: Idan Shmuel Spring 2014 One Semester Project PROJECT’S ENDING.

INTEL GALILEO BOARD

The Intel Galileo is a simple platform which has lots of attributes such as:

• PCI Express Mini card slot.

• USB host port.

• Micro SD support.

• I2C/SPI protocols support.

• Shield compatibility: 14 digital I/O pins, 6 analog inputs and a serial port.

• It runs Linux OS.

• Has a unique simple Integrated Development Environment (IDE) with lots of libraries.

Page 7: RC CAR CONTROLLER BASED ON INTEL GALILEO SOC PLATFORM Nadav Shiloach Sagi Sabag Supervisor: Idan Shmuel Spring 2014 One Semester Project PROJECT’S ENDING.

INTEL GALILEO BOARD - IDE VS. LINUX

IDE (Arduino Environment):

• Pros

• Using the Arduino environment is easy.

• Most of the work is done using built in examples.

• Real quick to get it work. Takes ~5 minutes to have a blinking led.

• Cons

• In case of a not working library function, debug might be difficult as some of the files are precompiled and tons of other files are not necessarily documented properly.

• Not Stable, There are several known issues, all listed in Intel website.

Page 8: RC CAR CONTROLLER BASED ON INTEL GALILEO SOC PLATFORM Nadav Shiloach Sagi Sabag Supervisor: Idan Shmuel Spring 2014 One Semester Project PROJECT’S ENDING.

INTEL GALILEO BOARD - IDE VS. LINUX

Linux:

• Pros

• Stable!

• Unlimited use of any scripting language.

• Have the power of the Linux OS.

• Cons

• Simple tasks might be much more complicated to achieve, such as blinking led.

• Not much examples on the web.

Page 9: RC CAR CONTROLLER BASED ON INTEL GALILEO SOC PLATFORM Nadav Shiloach Sagi Sabag Supervisor: Idan Shmuel Spring 2014 One Semester Project PROJECT’S ENDING.

DCDUINO

• Arduino like card.

• Chip! ~ 5 $.

• Compatible with Arduino IDE scripts.

• Main capabilities:

• I2C / SPI protocols

• GPIO

• ADC

Page 10: RC CAR CONTROLLER BASED ON INTEL GALILEO SOC PLATFORM Nadav Shiloach Sagi Sabag Supervisor: Idan Shmuel Spring 2014 One Semester Project PROJECT’S ENDING.

ACCELOMETER

• Provides acceleration data in 3 axis.

• Capable to work with both I2C and SPI protocol.

Page 11: RC CAR CONTROLLER BASED ON INTEL GALILEO SOC PLATFORM Nadav Shiloach Sagi Sabag Supervisor: Idan Shmuel Spring 2014 One Semester Project PROJECT’S ENDING.

ULTRASONIC SENSOR

• Principle of operation:

• Capable of sending and receiving a sound signal.

• Identifies object in range of 2 cm to 4 meters.

• Easy to use!

• Includes 4 pins: VCC, GND, ECHO and TRIG

• Once Trig is set to ‘1’, Echo is raised from ‘0’ to ‘1’ and a sound wave is sent.

• Once the sound wave is received back, Echo gets back to ‘0’.

• The length of Echo gives the distance by the following formula𝐷𝑖𝑠𝑡𝑎𝑛𝑐𝑒=

𝐿𝑒𝑛𝑔𝑡 h 𝑥𝑆𝑝𝑒𝑒𝑑𝑂𝑓𝑆𝑜𝑢𝑛𝑑2

Page 12: RC CAR CONTROLLER BASED ON INTEL GALILEO SOC PLATFORM Nadav Shiloach Sagi Sabag Supervisor: Idan Shmuel Spring 2014 One Semester Project PROJECT’S ENDING.

MOTOR DRIVER

• H-Bridge

• A controller can’t drive a motor, it can’t supply the required current, hence, a motor driver shall be placed between the controller(Intel Galileo board) to the car’s motors.

Page 13: RC CAR CONTROLLER BASED ON INTEL GALILEO SOC PLATFORM Nadav Shiloach Sagi Sabag Supervisor: Idan Shmuel Spring 2014 One Semester Project PROJECT’S ENDING.

USING INTEL GALILEO WI-FI ATTRIBUTE

Working flow:

• Connect mini PCI express network card.

• Determining Intel Galileo’s IP address using its MAC address.

• Configure Intel Galileo’s Linux start-up files.

• Manage to send and receive UDP packets.

Page 14: RC CAR CONTROLLER BASED ON INTEL GALILEO SOC PLATFORM Nadav Shiloach Sagi Sabag Supervisor: Idan Shmuel Spring 2014 One Semester Project PROJECT’S ENDING.

POWER SUPPLY

• In order to acquire the ability to move the car in space without power cables attached to it, a mobile power supply source is needed for the Intel Galileo and DCduino boards.

• Intel Galileo is consuming a lot of current during start-up, hence, regular batteries aren’t capable of driving it. We used a mobile chargeable power supply (originally for smartphones) with the same voltage and current requirements as the Intel Galileo board.

• DCduino is a low supply device, hence, it is driven with a simple 9v chargeable battery.

Page 15: RC CAR CONTROLLER BASED ON INTEL GALILEO SOC PLATFORM Nadav Shiloach Sagi Sabag Supervisor: Idan Shmuel Spring 2014 One Semester Project PROJECT’S ENDING.

LOGIC CONTROL (GPIO AND PWM)

• GPIO (General Purpose Input Output) – Logic pins which can be used as inputs or outputs. used for transmitting logic control instructions to the car.

• PWM (Pulse Width Modulation) – Logic output pins which can be configured to transmit a square wave signal with precise period and duty cycle. Used for setting the motors speed.

Page 16: RC CAR CONTROLLER BASED ON INTEL GALILEO SOC PLATFORM Nadav Shiloach Sagi Sabag Supervisor: Idan Shmuel Spring 2014 One Semester Project PROJECT’S ENDING.

CODE (1)

The main purpose: Control the car using online UDP packets.

• PC side:

• A Java application of UDP client and server in order to send and receive data.

• A java application for controlling the car using the keyboard and real time data display.

Page 17: RC CAR CONTROLLER BASED ON INTEL GALILEO SOC PLATFORM Nadav Shiloach Sagi Sabag Supervisor: Idan Shmuel Spring 2014 One Semester Project PROJECT’S ENDING.

CODE (2)• Intel Galileo side:

• A Python application of UDP client and server in order to send and receive data.

• A Python libraries for controlling the car using Intel Galileo’s GPIO and PWM:

• Export and toggle GPIO.

• Setting duty cycle and period of PWM.

• A python application for controlling the car:

• Interpret UDP packet.

• Using the libraries in order to move the car.

• Parse data from the sensors and send it as UDP packet.

Page 18: RC CAR CONTROLLER BASED ON INTEL GALILEO SOC PLATFORM Nadav Shiloach Sagi Sabag Supervisor: Idan Shmuel Spring 2014 One Semester Project PROJECT’S ENDING.

DEMONSTRATION

Page 19: RC CAR CONTROLLER BASED ON INTEL GALILEO SOC PLATFORM Nadav Shiloach Sagi Sabag Supervisor: Idan Shmuel Spring 2014 One Semester Project PROJECT’S ENDING.

THE END

Questions?