User talk:GroupE

Table Of Contents
Table of Contents

-Future of Robots

-Programming Concepts

-Robot Control

-Robot Hardware

-Mathematics of Robot Programming Languages

-Obstacle Advoidence

-Task Planning and Navigation

-Robot Vision

-Knowledge based vision systems

-Robot and artificical Intelligence

Robotic Control
There are several kinds of robotic control. Ideally the robot must have some type of communication with the user in order to execute commands. The most common forms of robotic control is a remote control. However, there are other, more effcent kinds; such as voice command, and programming scripts that the robot can execute on its own.



Remote Control
Robots tied to a remote control, weather by string or by radio signals, are controlled directly by their master. In short, they cannot operate without a person who is handling the controls. This among all things, is a less efficent type of autonomy. However, it has its uses. For example, robots that do not have artifical intelligence can be used as extentsions of the human hand. A "tool" if you will. Therefore, remote control robotics is the first and most important in the controlling of robots

Voice Control
Just like a few other electronic systems out there, robots can also respond to voice command. However, the idea is often shunned upon. The complexities of the human voice are an issue. As a persons high or low pitched voice may throw off a robots response completely. Another issue is that of the robot script, which requires the robot to follow commands the user has given them through voice data. If it interprets the command wrong, it may give unwanted results.

Several Movies have recorded this as a bad idea, Stealth and I-robot are examples of some robots that have gone haywire. And in short, could cause the whole world a lot of problems.

Programming
Programming robots to execute predetermined scripts or to act accordingly to the problem can be something of trial and error. Before a robot is even usable it must go through rigorous testing for bugs and other problems. However once the script is finalized and the robot is ready to go, it can be one of the most satisfying ways to control a robot. Military forces use it now in drones and unmanned spy planes to survey the area. However, it is still far from perfect

Robot Hardware
Robots can be build from inexpensive parts, to expensive, military grade devices. In a sense, the ability of the constructor is a large factor in how expensive a robot can be to build. If needed or wanted, a person can build most of the devices to run a simple robot by hand. However, no matter how sopfisticated the robot is, it still needs some essential components.

Design

Robots are built in a variety of ways, with a variety of pieces. However before one decides to build a robot, it is always best to have some type of design plan. This allows you find errors in the build and workaround or fix them immediately. Be sure to always have a plan before building a robot.

A Way to Move



You can say whatever you want about a robot, but its ability to travel distances is often an essential component for a robot build. whether it be a wheeled or bipedal robot, the main thing used to get a robot moving is motors. Motors can be built in a variety of ways. Motor building is always about the weight of the robot vs the power of the motor. Meaning a robot that is not constructed to hold nothing but its own weight should be as light as possible. Given an object to carry or hold, the motors should be able to give extra power, bearing friction and stalling issues. In the design room, one should always look to lessen the weight of the overall robot while maintaining a strong skeleton.

Power

A robot cannot operate without some type of power. The most widely used form of power comes in the form of batteries. This is, of course, tied into your motor and other electrical components tied with your robot, so it is best to choose the right voltage for the job. Key features to look for in a battery: strength, rechargeable, cost effective.

Microcontroller



If power is the heart of a robot, then the Micro-controller is essentially the brain. The micro-controller is a programmable circut board, that can be read and executed for commands to the robot. It is necessary.

Sensors



Photoresistors- Great for obstacle avoidance, if programmed correctly, the robot will avoid shadows.

Obstacle Avoidance
Can you imagine our most advance robots of today without the ability to avoid obstacles? I highly doubt that you can. In fact today’s Robots are what they are because of their advanced abilities, their abilities to make “sensible decisions” on their own. If our robots were unable to avoid obstacles their purpose in my opinion would be crippled. Fortunately our robots of today are able to avoid obstacles. There are a number of ways which these robots achieve this feat. www.Roborealm.com presents some of these ways. To achieve obstacle avoidance robots can used the edge based method. For example look at the picture seen below. This picture has been taken by a camera mounted onto the robot. What an edge based method will do is highlight the edges of the obstacles in the robots eyesight. Using further measures this program will flip the picture then determine the farthest and clearest path that it can run along. In the next picture calculations are added to the picture which produces the path where the robot can run on to avoid obstacles. If you interested in viewing other methods of obstacle avoidance visit http://www.roborealm.com

Programming Concepts
 Introduction 

Robotic Programming is not as daunting as one might think. Given the current state of technology, robotic software that is designed for menial tasks are easy to to code, compile, and run. However, the most advanced robotics are using programming languages that are scripted specifically for Robotic programming.

Hobby Robot Programming



Most hobby robotics (i.e. small time robotics) will use a number of ways to give robots small tasks and instructions. The first is a programmable controller that can execute scripts or software and run it with very little trouble. An example of this is the NXT/RXC Bricks used in the Lego Robotics kits. These bricks are programmable and are able to run a wide variety of software. They are also able to support multiple firmwares, which allow for more flexible programming. Examples are the NXT-G GUI interface, Robot C (based on the c++) and Lejos NXJ (Java programming for Robots)

However, there limitations are large, as they can only do so little. They cannot run a script that runs forever, and cannot run on a day to day basis. However, despite their limitations, this is one of the easier ways to construct and prepare a robot.

 Industrial Robot Programming 



For industrial Robots, most of the maufactuars supply the software along with the robot. This is due to the lack of a global programming standard in industrial robotics.Programming in these robots are often based on Dataflow Programming. This language is able to process both numerical and functional concepts. An example of a dataflow language is Microsoft Visual and VAL.

Since the companies who make each robot provide their own software

 Other Types of Programming Language 

Scripting languages

This language is used to control a software application, and is "translated on the fly" with out prior compiling. They are often used to glue several components of software together.

Robot Vision
To get your Robot to perceive its surroundings you may use a range of devices. These may include, light sensors, color sensors, ultrasonic sensors or even a digital camera. I find interesting how we can be surrounded by this technology and have no idea how it works. Therefore presented below “”After reading below you will understand how it is that digital camera technology works. Think first of the way that a solar panel works. Solar panels are made up of a number of cells, now each cell takes in light energy and then converts it into electrical energy. Consequently, the more light there is, the more energy there is. Now, digital cameras have light sensor. In some cameras this light sensor is a Charge Coupled Device (CCD) while in other cameras it is Complementary Metal Oxide Semiconductor also known as CMOS. The CCD like a solar panel has many little squares that can be compared to the solar panels cell. Its little square will absorb the light energy and then create it into electrical energy. The condition of the light such as intensity or brightness is recorded by a varying electrical charge. The firmware which is stored on this camera then takes this information that is received from each little square and arranges the picture which is perceivable to the human eye. More details of this can be found at: http://www.makeuseof.com/tag/technology-explained-how-does-a-digital-camera-work/

Going a step further Robots not only can be equipped with these camera s but these cameras can be setup in a number of ways to supply a live feed. For example a robot can be equipped with a trendnet IP camera. These IP cameras will sync with a server and hold an IP address which you can access and from where you can view this live feed.

Robots and Artificial Intelligence


 Introduction 

The subject of Artificial Intelligence is one of the most highly controversial topics in all of robotics. The thought that a robot can gain an actual level of intelligence brings thoughts of them maybe ruling us all. However, rest assured that we are still years away from developing a robot with such sophistication

In popular culture



You can take a number when it comes to movies that talk about this subject. It is always the same process, man relies to heavily on machine and the machine decides to take over. This can range from the the comical take in Wall-E to the serious tone of I-Robot. This is often the subject of many movies and books because it satirizes man's use of machines.

In real life

Currently, there is no official proof of a being created by man that can think, talk, and function by itself. Humans have been able to, to some extent, teach robots how to mimic human actions. In Japan, scientist have taught a robot how to dance. Another robot, by the name of Kismet, which was developed at M.I.T, speaks to humans and responses accordingly. This fact has them intrigued, however there is more difficulties to this subject than just responding to humans.

How Far Are We?

Plain and simple, the subject of A.I. is highly theoretical. The fact of developing an artificial brain requires us to know our own brains. How they function, the nervous system, and a way to actually replace it. Until that time, you can stop worrying that your PS3 will take over the world

Knowledge Based Vision Systems
As you may have never heard this term before, you may be asking, what is knowledge based vision system. If you were to look on the internet you would find that information on the internet can be a little scarce when it comes to the topic of Knowledge based vision systems. So then let us discover this concept step by step. First we will look at knowledge base systems.  According to dictionary.com a knowledge base is a collection of knowledge expressed using some formal knowledge representation language. A knowledge base forms part of a knowledge-based system (KBS). Now going further let us look into what a knowledge base system is: According to dictionary.com a knowledge base system is a program for extending and/or querying a knowledge base. The related term expert system is normally used to refer to a highly domain-specific type of KBS used for a specialized purpose such as medical diagnosis. The Cyc project is an example of a large KBS. Based on these definitions, I would come to the conclusion that a knowledge base vision system is a is a knowledge base system which is used for the robots vision activates. This knowledge base system would enable the robot to distinguesho colors and shapes and even light intensity and would then tell the robot how to react to these.  Below is an iserpt that you can read from “ Wang, J. (n.d). KNOWLEDGE-BASED ROBOT VISION SYSTEM FOR AUTOMATED PART HANDLING.South African Journal of Industrial Engineering, 19(1), Retrieved from EBSCOhost.”  The architecture of a robot vision system may be regarded as hierarchical. The robot vision functionalities may be partitioned into, first, low-level vision, which includes those processes that are primitive and require no intelligence such as image acquisition and image preprocessing; and, second, high-level vision, which includes extracting, modeling, recognition, description, and cognition.  Robot vision system starts with visual data collection, and ends with a description and interpretation of the object’s geometric features. In robot vision systems, geometric feature extraction and representation are the two most important issues to which a solution must be found in terms of the application requirements.

Mathematics and Robotic Control
???

Yes there is Math involved with some of the most difficult parts of robotics. Simply put, all sciences require some form of mathematics. For Robotics, the use of Math can be seen in the concepts of Robot Programming Languages, Path Drawing, and Building a Robot.

Robotic Programming Languages

Most Programming Languages are able to compile and process numerical data. They read binary code and give the instructions to the given microcontroller. If you are giving judgments to a robot, such as how much light it can travel in before it must turn around then you must give it variables in the form of numbers to judge. This is a key component in deciding what you want your robot to do.

Path Drawing

Imagine that you were building a zone for your robot to patrol. However, u want to give it instructions to travel a perfect perimeter, with objects in a path that you want your robot to avoid or strike, and return to its path. This would require a specific algorithm that only math can provide.

Building a Robot

Of course this thought also applies to building a robot. No matter what material, you need to know how long, wide, tall, you want your robot to be. If you need to measure its arms for symmetry, or if you need to determine weight totals to find out the perfect motor to power your robot, Mathematics will help you with that

Task Planning and Navigation
In robots, task planning is used to plan a sequence of actions that allow the robot to perform a complex or high level task. This will require that several types of knowledge are encoded in the planner. These are casual knowledge, knowledge of the effects of the robot’s actions, knowledge of objects in the world such as their properties and their relations. For Example, if robot had to go into a kitchen open the refrigerator grab a bottle of milk then bring it to some one. The task planner would have to produce a sequence of actions like “go to the kitchen, dock to the fridge, open it, grab the milk bottle, then return. The planner will need to know certain things if the robot is to carry out these tasks. The planner needs to know that milk is kept in the fridge, and that fridges are kept in the kitchen.

Knowledge about structures and the current state of the world is usually encoded in the form of a map. The robot can then make decisions based on information which it has stored within itself based on this map.

The Future of Robotics
When one hears the future of robotics he is easily tempted to think that the near future is filled with androids making decisions on their own, cleaning our houses, doing our chores, having intelligent conversations with us and the like. One thing is true, that the human being is a complex creature Robots still have an extremely far way to go before they can match humans. Take for example walking. Many robots are still fitted with wheels, tracks or a crawling mechanism. This is because of the great task that walking which we do so easily is actually complex. When we lift our legs we instinctively shift our weight to the other side of our bodies changing our center of gravity. We balance our selves so that we do not fall. Though this action almost seems like nothing to us it is a complex task for a robot to carry out.



Still More’s law has seemed to be accurate. Computers and their technology are growing at a fast rate. Take for example the picture to the right which shows an iPhone compared to a Osborne Executive.

Since technology does grow so fast the future of Robotics may hold optical computers that switch photons rather than electrons. Or DNA computers using sequences of bases to encode information. Or even quantum computers encoding information by manipulating the rotation of an atom. You can view http://www.inl.gov/adaptiverobotics/humanoidrobotics/future.shtml for more info.