Difference between revisions of "S16: Ahava"
Proj user10 (talk | contribs) (→System Architecture) |
Proj user10 (talk | contribs) (→Integration and Testing) |
||
Line 212: | Line 212: | ||
==== Compute Module ==== | ==== Compute Module ==== | ||
− | == Testing | + | == '''Integration & Testing''' == |
− | |||
− | |||
− | + | This section explains the various stages of testing involved during the design and development of our Vision Car. We can broadly classify this process into five stages which are explained below: | |
+ | |||
+ | ===Motor API=== | ||
+ | PWM based motor driver was our first and foremost implementation in terms of software. Once the design and coding of Motor API was completed, a test framework was developed to test the working of both the Servo and DC motor. The framework was designed in such a way to test the overall functionality of the Motor API. The framework also made sure that the PWM input always remained within the safe range, at the same it also assured that both the motors functioned as designed. | ||
+ | |||
+ | ===Bluetooth Interface=== | ||
+ | An android application built on the mobile device is the primary source of control of our Vision Car. Bluetooth interface also houses important features like KillSwitch, HeartBeat etc,. Once the Android application was developed, the bluetooth module which was connected to the SJOne board was paired with the mobile device to test the functionalities as listed below: | ||
+ | *Motor control signals | ||
+ | *Kill Switch implementation | ||
+ | *HeartBeat implementation | ||
+ | *Start and Stop State of the Vision Car. | ||
+ | |||
+ | ===Imaging Algorithm=== | ||
+ | Before using the compute module for image processing, the algorithms were tested on the local PC using a webcam. Various algorithms were provided as the part of OpenCV library, which was tested to suit our purpose. Finally few of the algorithms were selected and merged to fit our requirements. | ||
+ | |||
+ | ===Image Processing on Compute Module=== | ||
+ | After the image processing algorithm was tested on the PC using a webcam, it was ported to Compute Module which made use of Raspberry Pi Camera. Algorithm was tested for various objects in different lighting conditions. Based on trial and error method, various threshold values like HSV components and object area were finalized. | ||
+ | |||
+ | ===Integration testing=== | ||
+ | All the individual modules were integrated on our Vision Car and tested in the outdoor environment using the same objects used for testing in the simulated environment. Also testing was performed under different lighting conditions and backgrounds. It was also important to test the communication between individual modules which happened seamlessly. | ||
=== My Issue #1 === | === My Issue #1 === |
Revision as of 09:29, 24 May 2016
Contents
VisionCar
This project aims at tracking a known object from a vehicle and follow the target at a pre-fixed distance. The RC car is mounted with a camera which is interfaced to a Raspberry Pi Compute module. The Compute module performs the required image processing using OpenCV and provides relevant data to the Car Controller for driving. An Android Application is developed to allow a user to select an object by adjusting the HSV filter thresholds. These values are then used by the imaging application to track the desired object.
Objectives & Introduction
Show list of your objectives. This section includes the high level details of your project. You can write about the various sensors or peripherals you used to get your project completed.
Team Members & Responsibilities
- Aditya Devaguptapu
- Ajai Krishna Velayutham
- Akshay Vijaykumar
- Hemanth Konanur Nagendra
- Vishwanath Balakuntla Ramesh
Schedule
Week# | Date | Task | Actual | Status |
---|---|---|---|---|
1 | 3/27/2016 |
|
|
Completed |
2 | 4/03/2016 |
|
|
Completed |
4 | 4/20/2016 |
|
|
Completed |
5 | 4/27/2016 |
|
Completed | |
6 | 5/04/2016 |
|
Completed | |
7 | 5/11/2016 |
|
Completed | |
8 | 5/18/2016 |
|
Completed |
Parts List & Cost
Sl No | Item | Cost |
---|---|---|
1 | RC Car | $188 |
2 | Remote and Charger | $48 |
3 | SJOne Board | $80 |
4 | Raspberry Pi Compute Module | $122 |
5 | Raspberry Pi Camera | $70 |
6 | Raspberry Pi Camera Adapter | $28 |
7 | LCD Display | $40 |
8 | General Purpose PCB | $10 |
9 | Accessories | |
10 | Total |
Design & Implementation
Hardware Design
The hardware design for VisionCar involves using a SJOne board, Raspberry Pi Compute Module and Bluetooth Transciever as described in detail in the following sections. Information about the pins used for the interfacing of the boards and their power sources are provided.
System Architecture
The hardware design for VisionCar involves using a SJOne board, Raspberry Pi Compute Module and Bluetooth Transciever as described in detail in the following sections. Information about the pins used for the interfacing of the boards and their power sources are provided.
Power Distribution Unit
Power distribution is one of the most important aspects in the development of such an embedded system. VisionCar has 6 individual modules that require power supplies of various ranges for its operation as shown in the table below.
Module | Voltage |
---|---|
SJOne Board | 3.3V |
Raspberry Pi Compute Module | 5.0V |
Servo Motor | 3.3V |
DC Motor | 7.0V |
Bluetooth Module | 3.6V - 6V |
LCD Display | 5.0V |
As most of the voltage requirements lies between 3.3V to 5V range we made use of SparkFun Breadboard Power supply (PRT 00114). It is a simple breadboard power supply kit that takes power from a DC input and outputs a selectable 5V or 3.3V regulated voltage. In this project, the Input to the PRT 00114 is provided by a 7V DC LiPo rechargeable battery.
<Image of Breadboard PowerSupply>
The schematic of the power supply design is as shown in the diagram below. It has a switch to configure the output voltage to either 3.3V or 5V.
<Breadboard Schematic>
For components requiring a 7V supply, a direct connection was provided from the battery. Additionally, suitable power banks were used to power these modules as and when required.
Connection Matrix
Car Control
Motor Interface
VisionCar uses a DC and Servomotor to move the car around. These motors were interfaced to the Car Controller using the pins as described below and were controlled using PWM signals.
Servo Motor Interface
The VisionCar has an inbuilt configurable servo motor which is driven by PWM. The power required for the servo motor operation is provided the rechargeable LiPo battery. Servomotor requires three connections which are 'VCC', 'GND' and 'PWM’. The width of the PWM signal turns the servo across its allowed range of angles. The pin connections to the Car Controller are as shown in the table below.