Friday 14 June 2013

Robot to read human thoughts

fMRI allows robot to read human thoughts remotely



The fMRI, known as Functional Magnetic Resonance Imaging is a machine that can perform unbelievable things like recording videos of your dreams, enlightening innovative skills during sleeping, etc. Now,Israeli researchers have used it in controlling a robot remotely through human thoughts.
The fMRI is capable of calculating theactivities of brain instantaneously by recognizing the blood flow changes. As it can sense changes, it has the potential to distinguish between the human thoughts like turn right, turn left, walk forward, etc. This is what the Israel researchers implemented on their experiment.
The fMRI machine reads the human thoughts in real time with the help of a distantly alarming degree of accuracy. The main advantage of this technology is that it doesn’t require moretraining like other brain-controlling methods. All you want to do is just think an image of a robot performing a work, and fMRI will capture those thoughts and make the robot to carry on the same.


A researcher at Israel thinks turn right or turn left or walk forward inside the fMRI machine, and these different thoughts are read and performed by a robot present thousand kilometers away from France. This astonishing performance is shown in the below video:

New face cloning method for robots

Disney invents a new face cloning method for robots



For long years, the robotics researchers have succeeded in developing humanoid robots, but failed in bringing the natural human faces and expressions. Therefore, Disney’s researchers at Switzerland have come out with a ‘face cloning’ technique, which provides the most realistic facial expressions to the animatronic robots.


This technique uses 3D Motion Capture Technology for scanning the person’s facial expressions. The scanned image is developed as a digital mesh, and later designed as an optimized model of the robot head. This results in describing various movements of robot, and sets the best points to place the artificial skin.

Disney’s research team has used silicone rubber skin with various thicknesses at specified areas. This helps the skin to make more realistic forms. The right position for placing the skin in the robot head is guided by the digital model. It also helps the head to move at least stretch and ensures the elongation of skin only happens at the thickest area.

A three-dimensional silicon mold is prepared after completing the design of skin and head. The resulting molded skin is then fixed to the motorized metal and plastic head. At last, the effort of all these processes brings a realistic human head for animatronic robots.

The cloned face is fairly larger when compared with the unique face. It is differed because to provide control for the robot’s movements. The researchers believe in bringing out a multi-layered skin in their next development, which could have high flexibility to control various movements.

Let us hope for the best, and wish the Disney research team to bring out their best in the near future.


 You can watch the process of Disney’s face cloning in the below video:




First female android



Alissa – Russia’s first female android


In this modern world, Android has been expected to be the future of robotics, and Neurobotics and Russia 2045 movement also expects the same to happen by 2045. A little impact of it is shown from the development of Alissa, which is considered as the Russia’s first realistic female android head. It was developed by Dmitry Itskov, and recently revealed by Russia 2045 movement.

A nice looking picture of Alissa is shown in the above image, and it looks realistic to a certain extent. The silicone mask has been developed by Neurobotics with eight points of articulationrather than 30 points (common on other android heads). These eight points are added only for the movement of the eyes and mouth.
Alissa has a wheel base at its bottom for mobility, and its head is located to a mannequin. The expressions of the face i.e. eyes and mouth are controlled by a standard game pad. It also has a basic Artificial Intelligence, which helps it to match the movement of mouth according to thewords spoken by a speech synthesizer.
Alissa is capable of streaming a video feed with the cameras placed at its eyeballs. The operator can use Skype for chatting with others in the Telepresence mode. It is still under early stages, and the company experiments the movement of robot base using operator thoughts with the help of EEG (Electroencephalography).



The below video shows you some of the mouth movements of Alissa:

Strong Limbed SCHAFT Robot

Strong Limbed SCHAFT Robot gets displayed




Is it possible to develop a robot with superhuman strength? Most of them will say yes, but it is not that much easy as we see in Hollywood films. To create a high-powered robot requires powerful electric motors, which are lacking for long years. Even Honda’s ASIMO is capable of picking up a few kilograms. It is estimated that adult robots have got one-tenth of strength than the average person.
SCHAFT Inc., a Japanese company has come out with its patented new actuator, which can make muscles of robots much stronger. They used a biped robot named HRP3L from Kawada Industries to test their Urata Leg. The Urata Leg incorporated a high-output capacitor powered water cooled motor system instead of standard servos. An inclusion of advanced bipedal control algorithms along with this system helped the robot to uphold its balanced when kicked.
A high voltage and high current liquid-cooled motor driver acts as the heart of this system, which is powered by a capacitor. The capacitor has the capability to supply the current, fast and consistent than the batteries. As a result, the electric motor gets the ability to provide high torque and high speed to the arm.
SCAFT Inc. will display their innovative motors in the DARPA Challenge. The company will start marketing their compact and powerful robot’s arm.

Wednesday 12 June 2013


People Counting Machine with GSM


The main objective of this project is to design a system which counts the number of people present inside a premises with the count being sent automatically as an SMS upon dialing the phone number.

It consists of 3 modules
1. Infrared Transmitter and Receiver
2. Microncontroller with LCD
3. GSM Module


1. Infrared Transmitter and Receiver

There are two of them say IR1 and IR2. Breaking the beam of IR1 first and then IR2 will increment the count by 1 where as breaking the beam IR2 and then IR1 will decrement the count. The output of IR1 and IR2 are connected to microntroller interrupts INT0 and INT1 respectively. Complete design of IR Tx and Rx can be found here :

  Infrared Beam break Detector



This purpose of this article is to design a circuit using Infrared signals to detect a beam break which can be used in multiple real world applications. The IR receiver used is TSOP1738. Below are some of the main requirements of Infrared Transmiter signal properties as described in the datasheet

· Carrier frequency should be close to the center frequency of the bandpass (38kHz)

· Burst length should be 10 cycles/burst or longer

· After each burst which is between 10 cycles and 70 cycles a gap time of at least 14 cycles is neccessary 


Design




1. Carrier Frequency (f1) : The center frequency of TSOP1738 is 38kHz

f1 = 1.44/((Ra1+2Rb1)C)
f1 = 38kHz

Let
Ra1 = 1k
C = 0.01uF

With that Rb1 = 1.394k or
Rb1= 2k variable resistor


2. Burst and Gap frequency (f2) : Let burst cycle equals gap cycle be equal to 40 cycles (burst between 10 and 70 cycles and gap greater than14 cycles)

f2 = 38k/ 40
f2 = 950
f2 = 1.44/((Ra2+2Rb2)C)

Let
Ra2 = 10k
C = 0.01uF

With that
Rb2 = 70.789k or
Rb2 = 100k variable resistor

Note:

      1. BC547 is used at the output of transmitter as switching transmitter to boost the voltage increasing the             range.

      2. When the Infrared beam is broken, the output of TSOP1738 goes high. Using switching transistor    2N2222, the signal is inverted to High to Low which can be directly interfaced to External edge triggered interrupts of 8051 (EXT0 and EXT1) 




2. Microncontroller with LCD

The microcontroller used here is 89c51. INT0 and INT1 of the micronctroller is connected to output of IR1 and IR2 respectively. It is connected to a GSM module via a serial port. And the microncontroller is also connected to a LCD which displays the total count at any given point of time. The microntroller increments or decrements the count based on weather INT0 interrupt occurs first and then INT1 or vice versa and continuously displays on the LCD. Micronctroller will also receive a serial interrupt when there is an incoming call in whch time it will read the phone number, disconnect and send the total count as a SMS

3. GSM Module

The microcontroller sends AT commands to GSM module to read the phone number, disconnect and send an SMS to the calling number. Below are the AT commands used.

1. Disconnect a call
ATH and Enter

2. Read the phone number of an incoming call



· Set the below AT command only once

AT+CLIP=1 and Enter

· When there is a incoming call, the data from GSM will be similar to below for default settings

RING

+CLIP: "+919449XXXXXX",145,"","",0

RING

+CLIP........

· Read the phone number above into an array and send the SMS



3. Send an SMS

AT+CMGF=1 and Enter
AT+CMGS="+919449XXXXXX" and Enter
"Hello World" and CTRL+Z

During programming CTRL+Z requires to be sent as 0x1A Ascii character while the escape character for Enter is '\r'. For better understanding on sending a SMS and C code, refer to Sending SMS using AT commands



Sending SMS using AT Commands


This article describes sending a SMS from a Microcontroller through a GSM modem using AT Commands. through RS232. AT commands can be sent to a GSM modem via a computer serial port or from the serial port of a 8051 Microcontroller.
Computer serial port



1. Connect your GSM modem to the computer serial port. New systems nowadays dot not have serial port, hence you would need to buy a USB to serial converter and connect the GSM modem to it.

2. If you are using Windows XP® OS, open Programs -> Accessories -> Communications -> HyperTerminal

3. Select the COM port you have the modem connected to.

4. Check the port settings, make sure that the baud rate matches with that of the GSM modem and and also that the Flow Control is set to "None".

5. Type the AT Commands below in the HyperTerminal Editor

AT+CMGF = 1 and Enter
AT+CMGS="+919449XXXXXX" and Enter
"Electronicprojs.Blogspot.com" and Hit CTRL+Z

6. In Windows 7® OS though, there is no hyperterminal program inbuilt. You will have to download a similar one. There are many good free programs available.

7. You would need to note that in this case we are connecting the serial port cable from Female pin (GSM Modem) to Male pin (Computer). Hence no crossing is required. In other words, we should use a straight cable.
8051 MicroController Serial port
1. 8051 SFR's are programmed for a baud rate of 9600.

2. Send the AT commands in #5 above through code. For Enter use escape character "\r" and for CTRL+Z use ASCII 0x1A.

3. The serial port cable is connecting from Female pin (GSM Modem) to Female (8051 Board). So you need a have a female to male converter. Also, make sure that the Rx and Tx inside in the converter are crossed. In otherwords, the Rx pin of GSM Modem should go to Tx pin of 8051 microntroller. This is called a crossed cable.

4. Below is the C program using Keil® Compiler for 8051. We added infinite while loop after the sendsms() routine because otherwise we found that the code compiled was sending the SMS in a infinite loop.

Note : Beginners always complain about their code working through serial port of a computer but the same not working through chip. It is very essential to understand the difference between crossed cable and straight cable as well as the pins configurations of male and female connectors before starting.

C program

#include <REGX51.H>
#include <AT89X51.H>

unsigned char *command_AT = "AT\r";
unsigned char *command_CMGF = "AT+CMGF=1\r";
unsigned char *command_CMGS = "AT+CMGS=\"+919449XXXXX\"\r";
unsigned char *message = "electronicprojs.blogspot.com";
unsigned char CTRLZ = 0x1A;

void puts(unsigned char* ptr);
void putc(unsigned char chr);
void sendsms(void);
void initialize();

main()
{
initialize();
sendsms();
while(1);
}

void initialize()
{
SCON = 0x50; /*SCON: mode 1, 8-bit UART, enable receive */
TMOD |= 0x20; /*TMOD: timer 1, mode 2, 8-bit */
TH1 = 0xFD; /*TH1: for 9600 baud */
TR1 = 1; /*TR1: timer 1 run */
}

void sendsms()
{
puts(command_AT);
puts(command_CMGF);
puts(command_CMGS);
puts(message);
putc(CTRLZ);
}

void puts(char* p)
{
char *temp = p; /*temp pointer so that the actual pointer is not displaced */
while(*temp != 0x00)
{
putc(*temp);
temp++;
}
}

void putc(unsigned char chr)
{
SBUF = chr;
while(TI==0); /*Wait until the character is completely sent */
TI=0; /*Reset the flag */
}

DEMO VIDEO OF PROJECT