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 PRESENTATION

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

Embed Size (px)

Citation preview

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?