Saturday, December 18, 2010

Evolution Of Robotics

A short history of the evolution of robots

The heritage of the technology which now runs the world was to put it mildly eclectic, with huge gaps in time and space. Before the first electrician was born, the earliest reference to a “robot” was in ancient China, in the form of an organic robot given by an “artificer” called Yan Shi to King Mu of Zhou around 1000BC. The robot was made of leather and glue with actual human organs, and not entirely surprisingly ceased functioning when the organs were removed. The first Western robot, in the form of a steam powered pigeon, said to be capable of flight, was invented by Archytas of Tarentum in 350BC.

Da Vinci, Voltaire, and Vaucanson’s duck

Between 1500 and 1800, odd mechanical marvels were springing up all over Europe. Leonardo Da Vinci was the next known robot designer after the ancient period, inventing a mechanical man in knight’s armor. John Dee of England invented a flying wooden beetle during the Elizabethan era. Another machine was Vaucanson’s “Digesting Duck” in 1739, which was able to annoy real ducks, quack, “eat” grain, and produce fake feces. The duck was even referred to by Voltaire, albeit rather cryptically- “Without the duck of Vaucanson, you have nothing to remind you of the glory of France”.

The early computers- 1800

Computers, the other part of the equation for robots, were also developing while these machines were being erratically developed. In the 1800s, Charles Babbage designed an early general purpose computer, called the “Analytical Engine”. Englishwoman Ada Lovelace became the world’s first computer programmer by writing an algorithm for the machine, and the prophetess of the possibilities of computers.



Enter the name “Robot”, and then the real thing

In 1921, Josef Capek, brother of Czech writer Karel Capek, gave the name “robot” to the mechanical men of Karel’s play Rossum’s Universal Robots. “Robot” actually comes from the Czech word robota, or “servitude”. Robots rarely required electrical services prior to the Turtles, being still basically automatons. Real robots, including Japan’s writing robot Gakutensoku, were still mechanical and in some cases semi-fraudulent, although the famous Turtle robots were famous for being able to find their recharging point if their power became low.

In 1941, Isaac Asimov created the “Three laws of Robotics”, and invented the word Robotics. It was a timely word. Actual computerization in the 1940s in Germany, the UK and America finally created working autonomous systems for real robots able to operate on their own. Since then, “evolution” has been the key. Motive power, power to weight ratios and balance for bipedal “walking” robots have been major challenges, but the period from the 40s to the 2000s has seen the development of true walking robots, robot animals, robot extinct fish, nursing aid robots and the Mars landers, which are effectively robots on wheels.

Perhaps inevitably, the quirky development of robotic technology has recently produced “companion” robots, invented in America. The robots are designed to be sexual partners, with multiple personalities. Humanity’s infatuation with artificial people seems to simply diversify over time. If robots ever take over the world, it may be because someone thinks they should.

         


Monday, December 13, 2010

VHDL Based Robot PART-IV


AUTONOMOUS ROBOT FOLLOWING PREDEFINED PATH USING VHDL CODING - PART IV



In this final part we will discuss about the VHDL coding and the software used for the same.


LOGIC DISCRIPTION

1.   An entity named vlsi_robot is declared with its input and output ports. Its input is clock (clk) and outputs are display (d), output (o), and select signal (s).

2.   D is the bits for 7 segment display and select signal is 2 bit no. which is controlling the 7 segment display through latches.

3.   Output bit o which is 4 bit data is going to the JP5 header and through which goes to the driver circuit.

4.   In the architecture body, a intermediate variable q which counts the clocks, is declared.

5.    When positive edge of clock occurs, the value of q is compared and according to these values, robot is made to move in forward and left direction.

6.   After each comparison q is increased by 1.

7.   Output ports 'o' and'd' are assigned the values according to 'q'.

8.   When q is equal to 0000 or 0001 or 0010 or 0011 or 0100 or 0101 then output o is 0011 and display d is 0001110 (FF). When q is equal to 0110 or 0111 or 1000 then output o is 0101 and d is 0001000 (RR). S is selected "11".

9.   When q is equal to 1001 then q resets to 0000 and the robot again retraces its previous path.


SOFTWARE USEDQuartus II Version 8.0      
New Features, Enhancements, and Device Support:
"Quartus II software's incremental compilation feature offers users  productivity advantage, capable of delivering up to a 70 percent compile time reduction compared to a standard compilation. Assisting designers in maximizing the full benefits that incremental compilation provides, Quartus II software version 8.0 features a new design partition planner. During the process of creating incremental compilation design partitions, an interactive graphical user interface (GUI) provides real-time feedback, such as logic resource usage and inter-partition timing paths, enabling designers to explore and quickly determine the most effective partition scheme".

Additional Enhancements to Quartus II Version 8.0
  • New tasks window: Provides an interactive design flow console that guides users through the FPGA design: Offers support for incremental compilation  including JTAG and SPI interfaces.
  • Enhanced FPGA I/O planning: Accelerates board development with added pin-swapping capabilities in the Pin Planner.
  • Mega Core Library: Integrated in Quartus II software, making it easier for users to access Altera's portfolio.
DOWNLOADING THE PROGRAM
The following steps are used for downloading the program in the CPLD kit-
1.    In the new project wizard, the specifications about the CPLD kit are entered.
2.    Then in the new project wizard, new VHDL design is selected. It will open a new window in which program will be written.
3.    After writing the program the program is compiled in processing menu by selecting "start compilations".
4.    If the program is correct, the waveforms are made by using vector waveform.
5.    Then by using node finder, all the inputs and outputs are listed and then inputs are given user defined values.
6.    After this step simulation is performed by using simulation tool in which functional type of simulation is selected and simulation function is generated.
7.    Now the simulation is started by clicking the start icon. If simulation is successful, it will give the output waveforms according the input values.
8.    After this step, pins used in the CPLD kit are assigned to the input and output variables. This step is done by using assignment editor in which device and pin option is selected.
9.    The pin configuration is explained in the data sheet.

VHDL CODE:
Library ieee;                                        -- to use the library ieee consist
                                                        -- Of various packages
Use ieee.std_logic_1164.all;        -- to use all the names declared
Use ieee.std_logic_unsigned.all;   --in packages
Entity vlsi_robot is                         -- declaration of the entity name
 -- declaration of input and output ports of entity
Port (clk : in std_logic;                  
            d: out std_logic_vector( 6 downto 0);   
            s: out std_logic_vector(1 downto 0);
o: out std_logic_vector (3 downto 0)  ) ;
end vlsi_robot;                                    -- end of the entity
Architecture robot of vlsi_robot  is  -- declaration of architecture
Begin                         -- start of architecture statement
process (clk)            -- sensitive list
Variable q: std_logic_vector(3 downto 0):= "0000";   -- declaration of Intermediate variable

Begin
if clk'event and clk='1' then                     --  condition for clk
if q= "1001" then                              -- to reset the q
    q:= "0000";
end if;                                                -- end of if statement
if q= "0000"or q= "0001" or q= "0010"    -- condition on q for
or q= "0011" or q= "0100"                 -- forward movement
or q= "0101" then
s<= "11";                               -- outputs for indicating
d<= "0001110";                    -- forward motion
o<= "0011";
end if;                                         -- end of if statement
if q= "0110" or q= "0111"          -- condition on q
or q= "1000" then                 -- for left motion
s<= "11";                                -- corresponding outputs for
d<= "0001000";                    -- left movement
o<= "0101";
end if;                                              -- end of if statement
q:= q +1;                                         --increment of q
end if;                                                     -- end of first if statement
end process;                                           -- end of sensitive list
end robot;                                              -- end of architecture



Furthur Readings:

  
Project Author: Deepika Daluka

Composed By: Aditya Sharma

Monday, November 15, 2010

VHDL Based Robot PART-III


AUTONOMOUS ROBOT FOLLOWING PREDEFINED PATH USING VHDL CODING - PART III



Hi friends, in this part I have collected some of the snaps and diagrams to help you  get an idea about the hardware and circuit integrations.


MECHANICAL SUBASSEMBLY







CIRCUIT FABRICATION


POWER CIRCUIT

Testing:
·         Voltage and current at secondary coil of transformer 14.9v, 500mA
·         Voltage at two output terminals of rectifier 13.5v
·         Voltage across 1000uf capacitor 13.5v
·         Voltage between pin 1 and 2 of voltage regulator  13.9v
·         Voltage between pin 2 and 3 of voltage regulator 5.01v
·         Current output from voltage regulator 1 A
·         Voltage  across 10uf capacitor 5.01v



CPLD KIT



  • Supply voltage 5.01v
  • Clock frequency used 2Hz
  • Output from JP5 When 1(high) = 3.44vWhen 0(low)= 0.07v

DRIVER CIRCUIT
  
 Testing:
  • Voltage at pin 1,2,3,4 of 8 pin connector when 1 occurs 3.44vWhen 0 occurs 0.07v
  • Voltage at input pins 1,3,5,9 of hex inverter 3.44v when 1 occurs
  • Voltage and current coming out from output pins 2,4,6,8 of hex inverter 4.32v  4.5mA when 1 occurs
  • Current flowing through resistor and LED's 2mA
  • Voltage across resistor 2.02v
  • Voltage drop across LED 2.99v
  • Voltage flowing to the input pins 2,7,10,15 of L293D 3.86V
  • Voltage and current coming out from output pins 3,6,11,14 of L293D 14.35v, 900mA

Sunday, October 31, 2010

VHDL Based Robot PART-II

AUTONOMOUS ROBOT FOLLOWING PREDEFINED
PATH USING VHDL CODING - PART II



CIRCUIT DESIGN


CIRCUIT DESCRIPTION:


 POWER SUPPLY

1.  Transformer: The transformer has a center tap output. The output voltage is split evenly over each half of the output. We are using a step down center tap transformer which is converting 220v AC to 12v AC supply. Center tap means there is a point connected in the middle of the secondary winding which is dividing the output voltage 24v across the two ends of secondary winding into the 12v in two parts.

2.  Bridge rectifier: It is using 4 diodes 1N4007 which are connected in the form of bridge and for a half cycle of AC two diodes are operating and for another half cycle two another diodes are operating giving DC voltage at the output because in a full cycle current is flowing in the same direction at the output terminal. The diode we are using has peak reverse repetitive voltage as 1000v and RMS reverse voltage of 700v with .66ohm forward resistance and 2Mohm reverse resistance.

3.    Voltage regulator: We are using MC7805 voltage regulator which is converting 12v unregulated supply into the 5v regulated supply. all modern electronic voltage regulators operate by comparing the actual output voltage to some internal fixed reference voltage. Any difference is amplified and used to control the regulation element. There are three pins, first pin for input, second for ground and third for output voltage. The voltage regulator typically needs input voltage 2v more than the required output voltage and gives the 1A output current. 1000uF capacitor is used at input pin to smooth the ripples present in rectified output and the capacitor 10uF is used for stable response.


CPLD KIT: This kit is used for the realization of the VHDL code written in the quartus II software. We have used EPM3064ALC44-10 ALTERA processor on this kit. This provides total 44 pins for the various functions. This kit provides 10 clocks which can be used according to the requirement.


Clock selection header
  
The power supply is given at SW1 pin which uses 6VDC, 500mA unregulated supply. The voltage regulator connected converts this unregulated supply into the 3.3v regulated supply. But we are giving 5v regulated supply which is converted into 3.3v. This CPLD kit provides the facility to give user inputs by DIP SWITCHES and gives the output at JP5 which can be indicated at LED's. The 7 segment display is used for the indication of the movement.

DRIVER CIRCUIT: This circuit is consisting of connecter, hex inverter and motor driver. The Cpld kit gives digital output from JP5 to the input pins of connecter and these pins are connected to the input pins of hex inverter i.e. 1,3,5,9.

1.    HEX INVERTER:  We are using CD4069. This is a 14 pin IC. It uses 3.0 v to 15v supply at its 14 pin. And 6 pin is used for ground and other 12 pins are used in 6 inverters connected internally. The inputs are given at 1,3,5,9 and outputs are taken at 2,4,6,8.


2.   RESISTER AND LED's: We are using 4 current limiting resistors of 1K ohm and 4 ultra red LED's for indication of output bots from hex inverter.

3.   MOTOR DRIVER: We are using L293D IC which is 16 pin IC. This works on the TTL logic and drives the load for example stepper motor, DC motor etc. this pin is consist of two H-BRIDGE  internally which are driving two motors.  Pin no. 2, 7, 10, 15 are used as input and 3, 6, 11, 14 are used as output pins and pin 1 and 9 are used for enable. At the pin 8 external 12v supply is given to provide required current to the motors. Pin 16 is given Vcc. And other pins are grounded.


VHDL Based Robot PART-I

AUTONOMOUS ROBOT FOLLOWING PREDEFINED
PATH USING VHDL CODING PART-I




Hello friends, we know a lot about the robot designing and programming robots using different families of microcontrollers, in this tutorial we will explore a new way of robot programming which is by VHDL coding, So let's begin….

DESCRIPTION


This article shows the application of VHDL coding in the robotic world. This autonomous robot will follow a predefined path. In our project this path is a square that is of 8 steps (each side). For this purpose we are using two power supply, one of them is used to give 5V regulated supply and other one is giving 12V unregulated dc supply. We are using CPLD kit in which VHDL coding is burned. Quartus II software is used for burning the VHDL coding in the CPLD kit. The 5V regulated dc supply is given to the CPLD kit. And 12v unregulated dc supply is used to drive the motors of the robot. The digital output from the CPLD kit is given to the Hex Inverter (Buffer) and then to the L293D driver.

BLOCK DIAGRAM


 


Software:- Quartus II software version 8.0 is used. This software provides the platform for writing the VHDL code.

Compilation and simulation:- After writing the VHDL code, the software provides the facility to compile and simulate the program so that an errorless program is burnt into the kit with required files.

CPLD kit:- This kit provides the facility to put the VHDL code in execution and provides required input and output.

Hex inverter:- CD4069 IC is used as hex inverter which works as a buffer as well as an inverter.

Motor driver:- L293D IC is used as motor driver. This accepts DTL and TTL logic levels and drives the load.


RESOURCES REQUIRED

COMPONENT
SPECIFICATION
QUANTITY
1.
Connectors
7     pin
2 pin
1
4
2.
Transformer
220V AC
12V/ 500 mA
Center tap.
1
3.
Diodes
1N4007
10
4.
Voltage regulator
MC7805
1
5.
Capacitors
1000Uf / 25v
10 uF/ 16v
2
1
6.
Hex inverter
CD4069
1
7.
Driver IC
L293D
1
8.
LED
Ultra red
4
9.
Resistors
1Kohm
4
10.
Connecting wires
      -
As required
11.
PCB
epoxy
1
12.
CPLD
EPM3064ALC44-10
1
13.
Soldering iron
       -
1
16.
Downloading cable
Byte blaster
1


Part-II will be focusing on the Circuit Design; Continue Reading... Cheers.

Tuesday, September 28, 2010

Fluorosint - Amazing Performance at Elevated Temperatures

Fluorosint is a high performance thermoplastic that provides extreme resistance when it is exposed or used at constant levels of high temperatures over a broad range. When it is exposed to continuous temperatures of treatment and heat it can endure heat as high as 500°F without losing its properties. Also, this polymer can resist becoming deformed as it has higher load carrying capabilities.
The main characteristics of fluorosint include:
  • Outstanding chemical and hydrolysis endurance
  • Excellent resistance to weather and UV
  • Inherent low flammability
  • Impressive maximum allowable service temperature in air up to 500°F continuously
  • High-quality electrical insulating properties
This unique thermoplastic is frequently used in a wide range of medical equipment, providing excellent services for cleaning and sterilization. Its properties offer stability, strength and stiffness and deliver outstanding mechanical performance at elevated temperatures. Though it is avidly used in numerous applications, it is often applied in dishwasher arm bearings, valve seats, labyrinth seals and shrouds, transmission and power steering seal rings, pumps, mixers, wear guides, commercial food equipment, and more.
There are different grades of fluorosint, but regardless of the grade, it’s unmatched dimensional stability and non-abrasive property is ideal for merging with most materials. It is an excellent choice for harsh conditions and challenging applications.