Friday 10 April 2015

Memory

Memory is where living beings store and retrieve the information about their surroundings with respect to time and with respect to space. Birds, animals and human being all have memory. With the help of the memory, the living beings get the ability to “collect” and “recollect”. The memory can be classified into different types: Sensory Memory, Short Term Memory and Long Term Memory. The purpose of this article is not to go into details of memory, however the purpose is to reflect upon the questions: Why do robots need memory? What is the format of robot's memory? How much memory is required for a robot?

As we discussed in the first post (Robot – A machine with life), human being applies senses to the robot. These senses produce a lot of information. Consider an example of a Color Sensor. It collects information regarding the color of the object, based on the light intensity reflected from the object. An Ultrasonic Sensor produces the information about the distance at which an object is located. Depending upon the robotic project, we need to store this information. For example: 1. In a project where we have to find a shortest path towards a destination, the robot has to recollect the location of obstacles and find its shortest path through them. For this project, we have to store the tentative location of objects into the memory. 2. To solve a line maze, the robot has to recollect the location of turns (left, right, U), avoid the extra/redundant turns to find an exit thought the maze.

The purpose of memory can be found in the figure given below.


To elaborate upon the above diagram, lets consider an example of Line Maze Solver project where the maze consists of black lines on a white surface. There are light sensors attached to the robot. The light sensors produces the data about black, white and gray conditions while steering along a line. The information about different conditions is fed into a computer program. The program processes it and helps the robot steer along the line by driving the motors. While steering, the robot encounters turns (identified by the motor readings), the information about which is stored into the memory. The robot uses this information to create a map of the maze. Using this map, the robot then finds a shortest path along the maze towards the destination.

Robots memory is semiconductor memory, which stores the information in bits and bytes format. You will wonder how much of memory should a human being apply to robot? When it comes to Lego robots, it contains few Kilo Bytes (KBs) of memory. Industrial robots may require Giga Bytes (GBs) of memory. There are three kinds of semiconductor memory: Read Only Memory (ROM), Ramdom Access Memory (RAM) and Flash memory. RAM refers to the memory to which the processor can read from or write to. It loses data when power is off. ROM refers to a memory where a processor can read from, but it can not write to it or modify it. ROM is permanent. ROM chips contain special instructions for the processor. The information does not get erased when power is off. The processor can access information stored on a ROM chip whenever it needs to. Flash memory is a special type of memory that works like both RAM and ROM. You can write information to flash memory but that information isn’t erased when the power is off, like it is with ROM.

 Hey there, looks like memory is an essential and important part of a robot, isn't it?
 

Tuesday 24 March 2015

Robot – A machine with life

We all grow up listening to the term “Robot” and wondering what a “robot” is. Our neighbor's kid once asked his mom, “Mom, who makes the robot, is it God or is it man”? His question gave rise to other series of questions in my mind. Are today's kids thinking about the robots in right perspective? What is a robot? Why do we need robots? Can robot become superior than mankind? Do kids have sufficient knowledge to know 'what is feasible' and 'what is not' about the robot?

I went on hunting the answers for these questions and finally decided to put forward what I think is a robot. I look at the robot as a machine with life. It's life has its own life cycle. To elaborate on this, let's first consider the first term, machine. A machine is a body. The body includes body parts, senses, memory and intelligence. Now let's consider the second term, Life. When a human lives a life, one lives it with some goals. According to goals, one takes actions. With one's actions, one produces results and get feedback/reactions. According to the results of actions/feedback/reactions, one's life moves forward. Robot is also built with some goal(s) and follows the same kind of life cycle. A picture of robot's life cycle is given below. 



Consider the case of a biped. The goal of the biped is to walk. However, if the biped faces an obstacle, its senses react. With correct reaction, the biped keeps itself aligned with the goal. The same is the case with a robotic car following a line. If the car drifts away from the line, its senses and intelligence brings it back on the line. The senses process a lot of information about the surrounding world of the robot, memory stores this information and intelligence helps the robot to steer according to the information.

Some goals are human's personal goals, which one sets for oneself, for example - educational goals, financial goals (like buying a house). Some goals are set for the human by someone else - for example, professional goals. Have you thought about who sets the goals for robots? Who determines the course of actions and reactions? The answer is a “human being”. That gives a feeling that human being is a boss of robot, isn't it? Yes, that is true. Human being makes a robot with electro-mechanical devices (motors, gears, wheels, multiplexers etc.). Human applies senses to robot using sensors (ultrasonic sensor, light sensor, sound sensor, touch sensor etc.). Human also builds memory in the robot using semiconductor memory. Finally, a human designs a computer program and upload in the robot to control its actions and reactions according to the desired goal. Below is a figure, that shows the way I imagine a robot.


When we want to get some accurate and repetitive tasks done, robot is the right way to go. Also, when an environment is hazardous for human being to survive, having a robot makes sense. Thus, Robot in a way is a superhero for mankind.