major project - android controlled wireless active vision robot
Post on 18-Jan-2016
17 Views
Preview:
DESCRIPTION
TRANSCRIPT
1
Chapter 1
INTRODUCTION
1.1. Description of the Project
Robot - an electromechanical device automates the work in many applications like
household application, military application, commercial application and industrial
application. Robots are reliable means to bring objects, do settings at places where
human interventions are is rather impossible or can cause hazardous effects to human
health.
Our project consists of two parts:
1. One remote controlled robot
2. One android device for controlling the robot
The robot is capable of going to remote places where human presence might not be
possible or dangerous. The robot consists of an onboard camera which sends live video
to the controlling device. The movement of the robot can be controlled by the Android
device, as per the objective of the user, while watching the live video.
1.2. The Objectives
• A wirelessly controlled robot capable of transmitting remote images over large
distances.
• The robot should be highly maneuverable.
• The robot must have secure communications capability.
• The robot is to be medium sized and robust.
2
1.3. Objectives’ Details
• Real-time streaming of audio and video
Quality video of minimum 480p at 15 FPS should be transmitted within a low
bandwidth constraint.
• Controlled by any device capable of Wi-Fi (Android, iOS, PC)
To make the robot flexible in control, any device capable of Wi-Fi connectivity will
able to control the robot from remote location.
Expected range of at least 50 meters in direct line-of-sight.
• All-Terrain-Vehicle
Robot should be able to overcome minimum slope of 30 degrees. An average weight of
4kg should be carried, including the robot weight. Self-reconfigurable capabilities are
to be enhanced for all-terrain exploration.
• Secure communications channel between Robot and Controller
Use of secure protocols over Wi-Fi to ensure tamper-proof operation of robot. Viable
options are SSL over TCP, SSH.
• Extensible platform for future enhancements
The robot is to be highly extensible, with possibility of adding features in the future as
required, using modular design.
1.4. Existing Trends and Requirements
Autonomous Robots fail in the applications where harsh decisions and expert person
handlings are required. Even though autonomous bots have the capabilities of self-
navigation, decision-making and artificial intelligence, they are not suitable for the
applications like bomb defusing, nuclear power plants, military applications etc. Cost
and intellectual expenses of building autonomous robots are pretty much high too.
3
Looking to the present demands of robots in today’s developing world to carry out,
work effectively and accurately, the appropriate development of robot in the cost
effective manner is required. This development helps many industries, workplaces and
research development centers to utilize robots in place of humans.
More to that, robots that have the programming logic to do the desired task but the
decision power lying in the hands of the controller (human) are preferred.
Looking at the present scenario, we have proposed the idea of building robot that
● Can be controlled by a controller from remote place based on the video sent
from robot.
● Should be a non-autonomous robot.
● Robot should be made from the basic cost effective materials like
Webcam/Camera, Wireless Adapter, etc.
1.5. Scopes
The project aims at designing the robot that can be controlled wirelessly by the use of
a handheld android device that can be used as a remote controller to the robot. The robot
can be applied in a versatile range of applications ranging from home use to operations
in hostile and inaccessible locations.
The robot has a mounted camera so it is essentially a versatile, moving camera that may
be applied in the following fields:
The robot can be used in rescue mission
During natural calamities, the robot can be sent into inaccessible areas for recon
mission, or to make contact with personnel who might be trapped.
For remote mapping of hostile territory or geographical analysis
Using 3D distance sensors, the environment around the robot can be mapped to
very high accuracy. The generated map can be used for recon, analysis and
planning.
To safeguard national properties
The robot can be deployed into national parks, museums, borders, and so on to
monitor suspicious activities like smuggling, poaching.
4
1.6. Technology Exposures That Project Provides:
1. Google’s Android open source technology.
2. Wi-Fi technology.
3. Interfacing Wireless Adapter to Microcontroller.
4. DC motor working and need for a Motor driver.
5. Interfacing of Robot DC motors to Microcontroller.
6. Embedded programming.
7. PCB designing.
5
Chapter 2
PLANNING, ANALYSIS AND DESIGN
2.1. Decomposition of Problems
Figure 1 - Decomposition of Problems
2.2. Proposed Solution
Here on the robot, a Wi-Fi adapter is interfaced with the Raspberry Pi, to which a
camera is connected. A controller is a client using Android tablet/phone in range of
Wi-Fi administers the robot. Whenever a client sends the control signal (GPIO
command to Rasp-Pi), it is transmitted wirelessly and is captured by the Wi-Fi adapter
interfaced with Rasp-Pi. Rasp-Pi analyzes this signal and it takes appropriate action to
rotate the motor i.e., either clockwise or anticlockwise. Due to this we can control the
movement of robot either in forward or backward direction. A camera mounted on the
robot captures the video and transmits it to the client, which gives the current position
of the robot. Based on that video we can determine whether we need to move the
robot.
6
Figure 2 - System Block Diagram
• Mechanics: 4 wheel drive configuration
• Processing: Raspberry Pi/ Beagle Bone/ mini-ATX PC/ Custom System
• Camera/Vision: Raspberry Pi 5 MP Camera Module/ USB Camera
• Wireless: Wi-Fi USB adapter
• Power: Separate power for electronics and actuation systems
Advantages of Wi-Fi over other wireless technologies like Bluetooth and ZigBee:
Bluetooth is generally used for point to point networks and Bluetooth operates at a
much slower rate of around 720 Kbps which is very small for video transfer or
moving large amount of data like the image captured from a camera, whereas the
bandwidth of Wi-Fi can be up to 150Mbps and very ideal for video transmission.
Wi-Fi is very much secure means of communication than Bluetooth.
Wi-Fi connection to send video, audio, and telemetry operation, while accepting
remote control commands from an operator who can be located virtually anywhere in
the world.
7
Robots are already being eyed for obvious tasks like conducting search-and rescue
missions during emergencies or hauling gear for soldiers in the jungle or woods. The
mechanics of the robot uses the concept that has been developed to ensure robust
navigation, search and transportation in rough terrain.
2.3. Solution Details
Hardware Environment
• Actuation/Mechanical
4 wheels of 7-10 cm diameter connected to high speed, high torque motor
each.
Two wheels on each side placed relatively close to allow easier turning.
Low height and batteries placed at the bottom of the robot for low CG and
hence stability.
• Control electronics
Raspberry Pi as the controller for its processing power and large developer
community.
Two L293Ds driving the motors.
Software Environment
1. Android Developer Tools (ADT) - to build the android application to receive
the live video feed from the camera and to send the control signals to control
the robot.
2. WiringPi library from Gordon Projects - GPIO interface library for the
Raspberry Pi.
8
2.4. Activity Diagrams
Figure 3 - Activity Diagram for Camera View
Figure 4 – Activity Diagram for Motors Control
9
2.5. Project Development Period
Our work through this project can be broken up into the following sections, which is
depicted in figure 2.
2.5.1. Experimentation
This involves testing the devices that are going to be used in the project, determining
what they are capable of, and developing simple algorithms
2.5.2. Design
Create mock-up designs of both hardware (Mechanical structure of the robot and circuit
layout to be integrated into robot) and software (Android application to control the
robot).
2.5.3. Development
Development of the android application, mechanical structure of the robot, circuit
layout for the robot’s mobility and wireless communication between the android device
and robot. Carry out testing ourselves during development.
2.5.4. Testing
Test complete system on a small range area and identify any final bugs. Interview the
project coordinator and for the evaluation of the system.
Figure 5 - Water Fall Model
10
2.5.5. Real-World Testing
Testing of the complete system in a real-world environment to get the knowledge of
how the system works.
2.5.6. Final Report
Write final report on the development of the system, and complete documentation.
Fig
ure
6 –
GA
NT
T C
HA
RT
11
2.6. Project Cost
SN Part Qty. Cost (NRs)
1 Raspberry Pi 1 6000
2 Raspberry Pi Camera 1 2300
3 DC motors 4 1500
4 Mechanics (Wheels, Acrylic Glass, Metal) Multiple 2000
5 Wi-Fi adapter 1 1500
6 Power Electronics Multiple 1000
7 Batteries Multiple 3000
Total 17300
Figure 7: Project Cost Details
12
Chapter 3
Implementation and Coding
The implementation details include the construction and programming of the Robot
and the Android device as follows
3.1. Block Diagram
Figure 8 - Block Diagram of the Raspberry Pi Connections
13
3.2. Circuit Diagram
Figure 9 - Circuit Diagram of Raspberry Pi Connections
14
3.3. Project Module Implementation
3.3.1. Video Transmission - through Wi-Fi
Video transmission is done using the Raspberry Pi Camera Module (5MP). The
transmission resolution is at 480p and 25 fps. The video is viewed on the provided
camera area of the Android screen.
Transmission is done by the Raspberry Pi using GStreamer application. The video
stream is obtained in the Android device using GStreamer SDK with Android SDK.
3.3.2. Robot Control Mechanisms - through Wi-Fi
The robot control is achieved with the Android device using Wi-Fi . The control is
possible by making an SSH connection with the Raspberry Pi and writing control
commands directly on the console by providing a human interface based on motion and
buttons. The motion control is done by using the inbuilt accelerometer of the Android
device. The buttons are controlled using the touch-screen of the Android device.
Figure 10 - The overall design of the Android application
15
3.3.3. Android Application
Figure 11 - Live video stream coming from the robot
The Android application was developed using Google’s Android Development Toolkit.
Java is the programming language used to develop the Android application.
The application provides an interface to control and view the robot motion and feed of
video. The robot IP address and other options can be changed in the application itself.
The robot head-lights can also be turned on and off from the application. The robot
motion can be of two types:
● Simple control and
● Sharp turn control
The sharp turn control allows more maneuverability by making the robot able to turn
360 degrees in its central axis.
16
3.3.4. Image Capture and Video Recording (Future Scope)
Since the remote video feed is obtained in the local controller, the video can be recorded
locally as well as the image can be captured for future reference and data collection.
The features can be implemented on the Android application and stored in external or
internal memory as desired.
3.3.5. Log maintenance (Future Scope)
The log is maintained by the Linux system that is running on the Raspberry Pi and it
can be extended to the Android application using inbuilt SQLite database system. The
log can be viewed locally on the device or remotely through the internet.
17
Chapter 4
CONCLUSIONS
4.1. Applications of the Robot
The robot has a mounted camera so it is essentially a versatile, moving camera that
may be applied in the following fields:
• The robot can be used in rescue mission.
During natural calamities, the robot can be sent into inaccessible areas for
recon mission, or to make contact with personnel who might be trapped.
• For remote mapping of hostile territory or geographical analysis
Using 3D distance sensors, the environment around the robot can be mapped
to very high accuracy. The generated map can be used for recon, analysis and
planning.
• To safeguard national properties
The robot can be deployed into national parks, museums, borders, and so on to
monitor suspicious activities like smuggling, poaching.
4.2. Constraints
Done in a hobby environment, the robot is not currently very robust, or able to
navigate through very rough terrain.
It is a raw prototype and currently done only for research and academic
purpose, and much must be added in order to make it ready for use in the field.
Due to technological limitation our extent of abilities are bound.
The range of distance of operation is limited by the range of Wi-Fi device
used.
Unavailability of high grade parts has made it impossible to make the robot
robust in terms of power consumption, size and overall efficiency.
We had limited time frame to build our robot.
18
4.3. Future Development
Being a highly extensible platform, the robot can be enhanced with further features
for the following tasks:
● Improvement of Control Application
The Android application needs to be extended to other platforms like iOS/Windows
Mobile. Features such as recording the live feed or taking snapshots will be added
soon. Also the controls will be made such smoother.
● Remote Image Processing
With our technology, image processing can be done without the need of processing
power in the robot itself. The remote images can be processing locally, and robot
decisions may be sent remotely.
● Automatic navigation
Using satellite GPS, the robot can be given a set path remotely, which it would cover
automatically to reach its’ objective.
● Improved Vision system
Using Night Vision video systems for improved usability during night.
19
REFERENCES
L. Geiger and A. Zndorf, “eDOBS - Graphical Debugging for Eclipse”, Brazil,
September 2006.
Rodney, "Achieving Artificial Intelligence through Building Robots", Boston:
Massachusetts Institute of Technology, 1986.
Reto Meier, "Professional Android Application Development", Wiley, Nov 24, 2008.
Mark L. Murphy, "The Busy Coder's Guide to Android Development",
CommonsWare, 2009.
S. Conder and L. Darcey, "Android Wireless Application Development", Addison-
Wesley, 2010.
H.R. Everett, "Sensors For Mobile Robots - Theory and Applications", A.K. Peters,
Ltd., Wellesley, MA, 1995.
Web Resources
The Java Tutorials: http://download-llnw.oracle.com/javase/tutorial/index.html
Android User Interfaces: http://developer.android.com/guide/topics/ui/index.html
Android Developer's Blog: http://android-developers.blogspot.com/
Other URLs -
http://www.drrobot.com/
http://www.superdroidrobots.com/
http://developer.android.com/
http://wiringpi.com/
http://www.stackoverflow.com/
top related