Sunday, 25 May 2014

DESIGN OF ANDROID CONTROLLED ROBOT

DESIGN OF ANDROID CONTROLLED ROBOT
3.1 Experimental setup    


The block diagram of beagle bone based live streaming android controlled robot is shown in Fig. 2. 1.     
·         Android Phone: The designated web page for controlling the robot movement is accessed using the android smartphone. Using the smartphone, robot control signal is transmitted over the Wi-Fi to the processor. The live video signal transmitted form the cameracan be displayed on smartphone.
·         Wi-Fi Router: The router provides the RF signal transmission channel for control signal transmission from controller device i.e. from android smart phone to the processor and also transmits the live video signals to the video display module.
·         Beagle Bone: The Beagle Bone Board has ARM Cortex A8 processor. The video signals from the web cam is processed and sent by beagle bone. The received control signals from the android phone, is processed and this processed information is sent to the motor controlling relay circuit.
·         Relay Circuit: This circuit receives the motor control information from the beagle bone and it controls the motor rotation accordingly.
·         Web Cam: the camera will capture the image, convert it to RAW data steam, and send it to the Beagle Bone.
·         Motor:The proposed system uses two motors. These motors will rotate in clockwise and anti-clockwise direction according to the switching action of the relay.

3.2 Working Mechanism:
The 12V DC battery is used as power source in this project. This 12 V DC supply is regulated down to 5V using LM7805 and given to the BeagleBone and also regulated down to 9V using LM7809 and given to Wireless Router. The 12V battery is directly connected to two 12V DC motors.
In this project android smartphone act as a robot controller .  The android device will connect to the processor mounted on the robot by using its IP (Internet Protocol) address. The BeagleBone is connected to Wi-Fi router through Ethernet cable. The Wi-Fi Router will assign one IP address from the pool of IP addresses to the BeagleBone after receiving the IP address of BeagleBone. After connecting to the BeagleBone, the designated web page is accessed on the android device. In the accessed web page, there will be motor controlling icons and video streaming icon.
            Whenever any motor directional icons pressed on the web page, the control signals will be transferred to BeagleBone through Wi-Fi. The BeagleBone sets the values on the general purpose outgoing signal pins according to control signals received. Pin 3, pin 3, pin 30, pin 45 are the general purpose input/output pins that are used to control the robot. The control signals from the BeagleBone is in the form of binary sequence are sent  to the relay circuit serially. The relay circuits will switches to either 0V or 12V based on the control signal. The DC motor will rotates in clockwise and anticlockwise direction. 
When the camera icon is pressed, the camera will starts capturing the video signals of the surrounding environment and covert it to the raw frame data. This data is sent to the BeagleBone serially through USB port. The Mjpg-streamer is software in the BeagleBone that takes raw frame data from the webcam and outputs a stream in the MJPG format, a series of JPEG images. The webcam stream is forwarded to the Mjpg streamer server to process. Then the stream is converted to video format. This real time video is sent over Wi-Fi and displayed on the user display module.

3.3 Data flow and processing of program
In this project, following operations have been followed for the control of robot and real time video streaming.
·         As the android phone notice the presence of Wi-Fi network, the phone will authenticate to the network and obtain network information.
·         The android application in the mobile initialized. With the specified IP address, the BeagleBone can be accessed. The designated web page is accessed by using the name of the particular web page.
·         The control panel for motor control and live streaming is visible on the android phone.
·         When any icon on the smartphone screen is pressed, the signal is transferred to the BeagleBone through Wi-Fi. The BeagleBone process the signal and generates the digital bit patters for the robot movements. This control signals are sent to relay circuits that drives the motor.
·         When the streaming icon is pressed, the camera will captures the video signal and sent to BeagleBone. The BeagleBone processes it and send it to the display module over Wi-Fi 
The flowchart for the process flow is given in the figure 3. 2.

                


3.4 Description
3.4.1 BeagleBone
The BeagleBone Black a low cost ARM Cortex-A8 based processor size as small as a credit card. It has been equipped with a minimum set of features to allow the user to experience the power of the processor and is not intended as a full development platform as many of the features and interfaces supplied by the processor are not accessible from the BeagleBone Black via onboard support of some interfaces. It is not a complete product designed to do any particular function. It is a foundation for experimentation and learning how to program the processor and to access the peripherals by the creation of your own software and hardware. It also offers access to many of the interfaces and allows for the use of add-on boards called capes, to add many different combinations of features.
Key components
·         SitaraAM3359AZCZ100 is the processor for the board.
·         Micron 512MBDDR3L is the Dual Data Rate RAM memory.
·         SMSC Ethernet PHY is the physical interface to the network.
·         Micron eMMC is an onboard MMC chip that holds up to 2GB of data.
·         HDMI Framer provides control for an HDMI or DVI-D display with an adapter.



The parts of the Beagle Bone that is used are:
Power supply: The board can be powered from four different sources: 
·         A USB port on a PC
·         A 5VDC 1A power supply plugged into the DC connector.
·         A power supply with a USB connector.
·         Expansion connectors
Like other electronic component, the supply pin is the most important. The ideal voltage for Beagle Bone Black is 5V (Direct Current). It should not be higher than 5.2V because it will blow up the circuit. It should also not be less than 4.7V because it will not help in circuit operation. We are using DC connector to power up the BeagleBone.We have various type of supply such as battery, DC adapter, AC power supply with step down transformer and bridge rectifier. We are making use of DC battery supply which is then stepped down to 5V to the Beagle Bone using LM7805 regulator.
GPIO Pins: There are 92 General Purpose Input/output (GPIO) pins are available in the BeagleBone (Appendix A). Since the Linux is file based system, every GPIO pins have its own file system. Any instruction to the particular pin will generate the appropriate output signal individually.Pin numbers 2, 3, 30, 45 are used for our project purpose. These pins will generate digital bits that will control the motor rotation.

3.4.2 Relay Circuits to drive DC Motors
There are 2 two-way DC motor controller relay circuits used in the project, which operates the motors in two directions. The sequence of excitation of two rotor coils (A and B) is as shown in the table 3.1.These inputs are given to the relays circuits, which drives the corresponding DC motors.

Table 3.1: Excitation sequence of coils in the two DC motors
A
B
Motor Status
0
0
off
0
1
clockwise
1
0
Counter-clockwise
1
1
off






3.4.3 D. C Motor
A DC motor relies on the fact that like magnet poles repels and unlike magnetic poles attracts each other. A coil of wire with a current running through it generates an electromagnetic field aligned with the center of the coil. By switching the current on or off in a coil its magnet field can be switched on or off or by switching the direction of the current in the coil the direction of the generated magnetic field can be switched 180°.
A simple DC motor typically has a stationary set of magnets in the stator and an armature with a series of two or more windings of wire wrapped in insulated stack slots around iron pole pieces (called stack teeth) with the ends of the wires terminating on a commutator. The armature includes the mounting bearings that keep it in the center of the motor and the power shaft of the motor and the commutator connections. The winding in the armature continues to loop all the way around the armature and uses either single or parallel conductors (wires), and can circle several times around the stack teeth as shown in the Fig.3.4.2. The total amount of current sent to the coil, the coil's size and what it's wrapped around dictate the strength of the electromagnetic field created. The sequence of turning a particular coil on or off dictates what direction the effective electromagnetic fields are pointed. By turning on and off coils in sequence a rotating magnetic field can be created. These rotating magnetic fields interact with the magnetic fields of the magnets (permanent or electromagnets) in the stationary part of the motor (stator) to create a force on the armature which causes it to rotate. The commutator allows each armature coil to be activated in turn. The current in the coil is typically supplied via two brushes that make moving contact with commutator.   

Fig. 3. 4. Construction diagram of DC motor
This project uses two bipolar 12V DC motors. One is for the left wheel and the other one for the right wheel. The outputs of relay are given as input to its corresponding DC motors activates one of the coil and the stepper motor rotates accordingly.he DC motor has the following features and parameters:
·         Operating Range: 6-12 VDC
·         The load current:120 mA.
·         Speed: 45 RPM
·         DC reversible motors 
·         Solder type terminal 
·         High torque construction 
·         Insulation resistance: 20 M Ohm
·         Dielectric Strength: 250VDC


3.4.4 Camera

3.4.5 Wireless Router

3.4.6 Voltage regulators


















3.5 Advantages
·         Robots can be controlled remotely
·         Real time video signal helps to monitor the surrounding environment.

3.6Applications
·         Scientific
Remote control vehicles have various scientific uses including working in hazardous environments, the Deep Ocean, and exploration.

·         Military and law Enforcement
Remote controlled vehicles are used by many military for enemy tracking, bomb-squads to defuse or detonate explosives.

·         Search and Rescue
It can be used to save lives of both people along with solders in case of terrorist attacks, natural calamities and disaster.

·         Recreation and Hobby
Toys and cars used for entertainment purpose. These include on-road cars, off-roads trucks, boats, airplanes and helicopters.


No comments:

Post a Comment