Friday, April 16, 2010

NASA robots

NASA robots are robotic devices used to aid, augment, or substitute for astronauts in order to do difficult or rote tasks such as repairs in dangerous environments (such as those with radiation or micrometeorite risks), routine procedures (video capture), etc.

Robonaut

Robonaut resting on a Segway HT.

Robonaut is a joint DARPANASA project designed to create a humanoid robot which can function as an equivalent to humans during extra-vehicular activity (space walks). There are multiple versions of this robot using various locomotion methods. Some versions of the robot use the Segway HT for locomotion[1]. Robonaut uses telepresence and various levels of robotic autonomy. While not all human range of motion and sensitivity has been duplicated, the robot's hand has fourteen degrees of freedom and uses touch sensors at the tips of its fingers.

Mobile Robot Programming Toolkit

The Mobile Robot Programming Toolkit (MRPT) is a cross-platform and open source C++ library aimed to help robotics researchers to design and implement algorithms related to Simultaneous Localization and Mapping (SLAM), computer vision and motion planning (obstacle avoidance). Results obtained from this project have appeared in some of the major robotics journals and conferences[1].

MRPT is open source and distributed under the GPL.

Some features included in the project as user-applications:

Upon a selection of the individual libraries provided by MRPT, users can develop new applications. This is a summary of the topics covered by these libraries:

  • mrpt-core: Linear algebra, statistics, SLAM algorithms, 3D geometry, GUI classes for 2D and 3D visualization, serialization, etc.
  • mrpt-hwdrivers: Interfaces to robotic sensors: ARIA-compatible robots, GPS, Hokuyo laser scanners, etc.
  • mrpt-reactivenav: An implementation of obstacle avoidance.
  • mrpt-hmtslam: An implementation of Hybrid Metric-Topological SLAM.

Representation of metric maps

Through polymorphism in the design of metric-map classes, observations (such as a laser scans) can be inserted into a grid-map or a map of points , or both simultaneously, transparently to the user.

The following representations of metric maps are implemented:

  • Occupancy grid maps.
  • Point maps.
  • Landmark maps: discrete elements are 3D points sensed through range and bearing. For example, visual landmarks.
  • Beacon maps: elements are also 3D points, but sensed by means of range-only devices.
  • Coloured point maps.
  • Gas concentration maps.
  • A "multi map", collections of any of the other maps, behaving as a single map.

Industrial robot

An industrial robot is officially defined by ISO[1] as an automatically controlled, reprogrammable, multipurpose manipulator programmable in three or more axes. The field of robotics may be more practically defined as the study, design and use of robot systems for manufacturing (a top-level definition relying on the prior definition of robot).

Typical applications of robots include welding, painting, assembly, pick and place, packaging and palletizing, product inspection, and testing, all accomplished with high endurance, speed, and precision.

Robot types, features

The most commonly used robot configurations are articulated robots, SCARA robots and Cartesian coordinate robots, (aka gantry robots or x-y-z robots). In the context of general robotics, most types of robots would fall into the category of robotic arms (inherent in the use of the word manipulator in the above-mentioned ISO standard). Robots exhibit varying degrees of autonomy:

  • Some robots are programmed to faithfully carry out specific actions over and over again (repetitive actions) without variation and with a high degree of accuracy. These actions are determined by programmed routines that specify the direction, acceleration, velocity, deceleration, and distance of a series of coordinated motions.
  • Other robots are much more flexible as to the orientation of the object on which they are operating or even the task that has to be performed on the object itself, which the robot may even need to identify. For example, for more precise guidance, robots often contain machine vision sub-systems acting as their "eyes", linked to powerful computers or controllers. Artificial intelligence, or what passes for it, is becoming an increasingly important factor in the modern industrial robot.

History of industrial robotics

George Devol c.1982

George Devol applied for the first robotics patents in 1954 (granted in 1961). The first company to produce a robot was Unimation, founded by George Devol and Joseph F. Engelberger in 1956, and was based on Devol's original patents. Unimation robots were also called programmable transfer machines since their main use at first was to transfer objects from one point to another, less than a dozen feet or so apart. They used hydraulic actuators and were programmed in joint coordinates, i.e. the angles of the various joints were stored during a teaching phase and replayed in operation. They were accurate to within 1/10,000 of an inch (note: although accuracy is not an appropriate measure for robots, usually evaluated in terms of repeatability - see later). Unimation later licensed their technology to Kawasaki Heavy Industries and Guest-Nettlefolds, manufacturing Unimates in Japan and England respectively. For some time Unimation's only competitor was Cincinnati Milacron Inc. of Ohio. This changed radically in the late 1970s when several big Japanese conglomerates began producing similar industrial robots.

In 1969 Victor Scheinman at Stanford University invented the Stanford arm, an all-electric, 6-axis articulated robot designed to permit an arm solution. This allowed it to accurately follow arbitrary paths in space and widened the potential use of the robot to more sophisticated applications such as assembly and welding. Scheinman then designed a second arm for the MIT AI Lab, called the "MIT arm." Scheinman, after receiving a fellowship from Unimation to develop his designs, sold those designs to Unimation who further developed them with support from General Motors and later marketed it as the Programmable Universal Machine for Assembly (PUMA).

Industrial robotics took off quite quickly in Europe, with both ABB Robotics and KUKA Robotics bringing robots to the market in 1973. ABB Robotics (formerly ASEA) introduced IRB 6, among the world's first commercially available all electric micro-processor controlled robot. The first two IRB 6 robots were sold to Magnusson in Sweden for grinding and polishing pipe bends and were installed in production in January 1974. Also in 1973 KUKA Robotics built its first robot, known as FAMULUS[2], also one of the first articulated robot to have six electromechanically driven axes.

Interest in robotics increased in the late 1970s and many US companies entered the field, including large firms like General Electric, and General Motors (which formed joint venture FANUC Robotics with FANUC LTD of Japan). U.S. startup companies included Automatix and Adept Technology, Inc. At the height of the robot boom in 1984, Unimation was acquired by Westinghouse Electric Corporation for 107 million U.S. dollars. Westinghouse sold Unimation to Stäubli Faverges SCA of France in 1988, which is still making articulated robots for general industrial and cleanroom applications and even bought the robotic division of Bosch in late 2004.

Only a few non-Japanese companies ultimately managed to survive in this market, the major ones being Adept Technology, Stäubli-Unimation, the Swedish-Swiss company ABB Asea Brown Boveri and the German company KUKA Robotics.

Technical description

Defining parameters

  • Number of axes – two axes are required to reach any point in a plane; three axes are required to reach any point in space. To fully control the orientation of the end of the arm (i.e. the wrist) three more axes (yaw, pitch, and roll) are required. Some designs (e.g. the SCARA robot) trade limitations in motion possibilities for cost, speed, and accuracy.
  • Degrees of freedom which is usually the same as the number of axes.
  • Working envelope – the region of space a robot can reach.
  • Kinematics – the actual arrangement of rigid members and joints in the robot, which determines the robot's possible motions. Classes of robot kinematics include articulated, cartesian, parallel and SCARA.
  • Carrying capacity or payload – how much weight a robot can lift.
  • Speed – how fast the robot can position the end of its arm. This may be defined in terms of the angular or linear speed of each axis or as a compound speed i.e. the speed of the end of the arm when all axes are moving.
  • Acceleration - how quickly an axis can accelerate. Since this is a limiting factor a robot may not be able to reach its specified maximum speed for movements over a short distance or a complex path requiring frequent changes of direction.
  • Accuracy – how closely a robot can reach a commanded position. Accuracy can vary with speed and position within the working envelope and with payload (see compliance). It can be improved by Robot calibration.
  • Repeatability - how well the robot will return to a programmed position. This is not the same as accuracy. It may be that when told to go to a certain X-Y-Z position that it gets only to within 1 mm of that position. This would be its accuracy which may be improved by calibration. But if that position is taught into controller memory and each time it is sent there it returns to within 0.1 mm of the taught position then the repeatability will be within 0.1 mm.
  • Motion control – for some applications, such as simple pick-and-place assembly, the robot need merely return repeatably to a limited number of pre-taught positions. For more sophisticated applications, such as welding and finishing (spray painting), motion must be continuously controlled to follow a path in space, with controlled orientation and velocity.
  • Power source – some robots use electric motors, others use hydraulic actuators. The former are faster, the latter are stronger and advantageous in applications such as spray painting, where a spark could set off an explosion; however, low internal air-pressurisation of the arm can prevent ingress of flammable vapours as well as other contaminants.
  • Drive – some robots connect electric motors to the joints via gears; others connect the motor to the joint directly (direct drive). Using gears results in measurable 'backlash' which is free movement in an axis. Smaller robot arms frequently employ high speed, low torque DC motors, which generally require high gearing ratios; this has the disadvantage of backlash. In such cases the harmonic drive is often used.
  • Compliance - this is a measure of the amount in angle or distance that a robot axis will move when a force is applied to it. Because of compliance when a robot goes to a position carrying its maximum payload it will be at a position slightly lower than when it is carrying no payload. Compliance can also be responsible for overshoot when carrying high payloads in which case acceleration would need to be reduced.

Robot programming and interfaces

Offline programming by ROBCAD
A typical well-used teach pendant with optional mouse

The setup or programming of motions and sequences for an industrial robot is typically taught by linking the robot controller to a laptop, desktop computer or (internal or Internet) network.

Software: The computer is installed with corresponding interface software. The use of a computer greatly simplifies the programming process. Specialized robot software is run either in the robot controller or in the computer or both depending on the system design.

Teach pendant: Robots can also be taught via a teach pendant; a handheld control and programming unit. The common features of such units are the ability to manually send the robot to a desired position, or "inch" or "jog" to adjust a position. They also have a means to change the speed since a low speed is usually required for careful positioning, or while test-running through a new or modified routine. A large emergency stop button is usually included as well. Typically once the robot has been programmed there is no more use for the teach pendant.

Lead-by-the-nose is a technique offered by most robot manufacturers. In this method, one user holds the robot's manipulator, while another person enters a command which de-energizes the robot causing it to go limp. The user then moves the robot by hand to the required positions and/or along a required path while the software logs these positions into memory. The program can later run the robot to these positions or along the taught path. This technique is popular for tasks such as paint spraying.

Others In addition, machine operators often use user interface devices, typically touchscreen units, which serve as the operator control panel. The operator can switch from program to program, make adjustments within a program and also operate a host of peripheral devices that may be integrated within the same robotic system. These include end effectors, feeders that supply components to the robot, conveyor belts, emergency stop controls, machine vision systems, safety interlock systems, bar code printers and an almost infinite array of other industrial devices which are accessed and controlled via the operator control panel.

The teach pendant or PC is usually disconnected after programming and the robot then runs on the program that has been installed in its controller. However a computer is often used to 'supervise' the robot and any peripherals, or to provide additional storage for access to numerous complex paths and routines.

A robot and a collection of machines or peripherals is referred to as a workcell, or cell. A typical cell might contain a parts feeder, a molding machine and a robot. The various machines are 'integrated' and controlled by a single computer or PLC.

End effectors

Factory Automation with industrial robots for palletizing food products like bread and toast at a bakery in Germany

The most essential robot peripheral is the end effector, or end-of-arm-tooling. Common examples of end effectors include welding devices (such as MIG-welding guns, spot-welders, etc.), spray guns and also grinding and deburring devices (such as pneumatic disk or belt grinders, burrs, etc.), and grippers (devices that can grasp an object, usually electromechanical or pneumatic). Another common means of picking up an object is by vacuum. End effectors are frequently highly complex, made to match the handled product and often capable of picking up an array of products at one time. They may utilize various sensors to aid the robot system in locating, handling, and positioning products.

Movement and singularities

Most articulated robots perform by storing a series of positions in memory, and moving to them at various times in their programming sequence. For example, a robot which is moving items from one place to another might have a simple 'pick and place' program similar to the following:

Define points P1–P5:

  1. Safely above workpiece (defined as P1)
  2. 10 cm Above bin A (defined as P2)
  3. At position to take part from bin A (defined as P3)
  4. 10 cm Above bin B (defined as P4)
  5. At position to take part from bin B. (defined as p5)

Define program:

  1. Move to P1
  2. Move to P2
  3. Move to P3
  4. Close gripper
  5. Move to P2
  6. Move to P4
  7. Move to P5
  8. Open gripper
  9. Move to P4
  10. Move to P1 and finish

For examples of how this would look in popular robot languages see robot software.

For a given robot the only parameters necessary to completely locate the end effector (gripper, welding torch, etc.) of the robot are the angles of each of the joints or displacements of the linear axes (or combinations of the two for robot formats such as SCARA). However there are many different ways to define the points. The most common and most convenient way of defining a point is to specify a Cartesian coordinate for it, i.e. the position of the 'end effector' in mm in the X, Y and Z directions relative to the robot's origin. In addition, depending on the types of joints a particular robot may have, the orientation of the end effector in yaw, pitch, and roll and the location of the tool point relative to the robot's faceplate must also be specified. For a jointed arm these coordinates must be converted to joint angles by the robot controller and such conversions are known as Cartesian Transformations which may need to be performed iteratively or recursively for a multiple axis robot. The mathematics of the relationship between joint angles and actual spatial coordinates is called kinematics. See robot control

Positioning by Cartesian coordinates may be done by entering the coordinates into the system or by using a teach pendant which moves the robot in X-Y-Z directions. It is much easier for a human operator to visualize motions up/down, left/right, etc. than to move each joint one at a time. When the desired position is reached it is then defined in some way particular to the robot software in use, e.g. P1 - P5 above.

The American National Standard for Industrial Robots and Robot Systems — Safety Requirements (ANSI/RIA R15.06-1999) defines a singularity as “a condition caused by the collinear alignment of two or more robot axes resulting in unpredictable robot motion and velocities.” It is most common in robot arms that utilize a “triple-roll wrist”. This is a wrist about which the three axes of the wrist, controlling yaw, pitch, and roll, all pass through a common point. An example of a wrist singularity is when the path through which the robot is traveling causes the first and third axes of the robot’s wrist to line up. The second wrist axis then attempts to spin 360° in zero time to maintain the orientation of the end effector. Another common term for this singularity is a “wrist flip”. The result of a singularity can be quite dramatic and can have adverse effects on the robot arm, the end effector, and the process. Some industrial robot manufacturers have attempted to side-step the situation by slightly altering the robot’s path to prevent this condition. Another method is to slow the robot’s travel speed, thus reducing the speed required for the wrist to make the transition. The ANSI/RIA has mandated that robot manufacturers shall make the user aware of singularities if they occur while the system is being manually manipulated.

Recent and future developments

As of 2005, the robotic arm business is approaching a mature state, where they can provide enough speed, accuracy and ease of use for most of the applications. Vision guidance (aka machine vision) is bringing a lot of flexibility to robotic cells. However, the end effector attached to a robot is often a simple pneumatic, 2-position chuck. This doesn't allow the robotic cell to easily handle different parts, in different orientations.

Hand-in-hand with increasing off-line programmed applications, robot calibration is becoming more and more important in order to guarantee a good positioning accuracy.

Other developments include downsizing industrial arms for light industrial use such as production of small products, sealing and dispensing, quality control, handling samples in the laboratory. Such robots are usually classified as "bench top" robots. Robots are used in pharmaceutical research in a technique called High-throughput screening. Bench top robots are also used in consumer applications (micro-robotic arms). Industrial arms may be used in combination with or even mounted on automated guided vehicles (AGVs) to make the automation chain more flexible between pick-up and drop-off.

Prices of robots will vary with the features, but are usually from 7,500 USD for a bench-top model such as the ST Robotics R12 or the Fisnar dispensing robot and as much as 100,000 USD or more for a heavy-duty, long-reach robot such as the Kuka KR1000.

Market structure

The 2006 report (pdf) from the International Federation of Robotics shows that japanese companies lead the world in both stock and sales of multi-purpose industrial robots. About 60 per cent of the installations were articulated robots, 22 per cent were gantry robots, and 13 per cent were SCARA robots and 4 per cent were cylindrical robots. The majority of installations are in the automobile sector. There are increasing sales into non automotive sectors such as metals and plastics.

In 2007 the world market grew by 3% with approximately 114,000 new installed industrial robots. At the end of 2007 there were around one million industrial robots in use, compared with an estimated 50,000 service robots for industrial use.[3]

Robotics suite

A robotics suite is a visual environment for robot control and simulation. They are typically an end-to-end platform for robotics development and include tools for visual programming and creating and debugging robot applications. Developers can often interact with robots through web-based or visual interfaces.

One objective of a robotics suite is to support a variety of different robot platforms through a common programming interface. The key point about a robotics suite is that the same code will run either with a simulated robot or the corresponding real robot without modification.

Microsoft Robotics Developer Studio

Microsoft Robotics Developer Studio (Microsoft RDS, MRDS) is a Windows-based environment for robot control and simulation. It is aimed at academic, hobbyist, and commercial developers and handles a wide variety of robot hardware.

RDS is based on CCR (Concurrency and Coordination Runtime), a .NET-based concurrent library implementation, for managing asynchronous, parallel tasks using message-passing and DSS (Decentralized Software Services), a lightweight services-oriented runtime, which allows the orchestration of multiple services to achieve complex behaviors.

Features include: a visual programming tool, Microsoft Visual Programming Language, for creating and debugging robot applications, web-based and windows-based interfaces, 3D simulation (including hardware acceleration), easy access to a robot's sensors and actuators and support for a number of languages including C# and Visual Basic .NET, JScript, and IronPython.

Microsoft Robotics Developer Studio includes support for packages to add other services to the suite. Those currently available include Soccer Simulation and Sumo Competition by Microsoft, and a community-developed Maze Simulator, a program to create worlds with walls that can be explored by a virtual robot.

Components

There are four main components in RDS:

  • CCR (Concurrency and Coordination Runtime)
  • DSS (Decentralized Software Services)
  • VPL (Visual Programming Language)
  • VSE (Visual Simulation Environment)

CCR and DSS are also available separately for use in commercial applications that require a high level of concurrency and/or must be distributed across multiple nodes in a network. This package is called the CCR and DSS Toolkit.


Tools

MarsRoverSimulation
Simulated robot and environment in MRDS

The tools that allow to develop a MRDS application contain a graphical environment (Microsoft Visual Programming Language : VPL), command line tools allow to deal with Visual Studio projects (VS Express version is enough) in C#, C++ or VB.NET), support for script languages such as IronPython and 3D simulation tools.

  • Visual Programming Language is a graphical development environment that uses a service and activity catalog.
    • They can interact graphically, a service or an activity is represented by a block that has inputs and outputs that just need to be dragged from the catalog to the diagram.
    • Linking can be done with the mouse, it allows you to define if signals are simultaneous or not, permits you to perform operations on transmitted values...
    • VPL also allows you to generate the code of new "macro" services from diagrams created by users.
    • It is possible in VPL to easily customize services for different hardware elements.
  • MRDS 3D simulation environment allows you to simulate the behavior of robots in a virtual world using NVIDIA PhysX technology (3D engine originally written by Ageia) that includes advanced physics.
  • Many examples and tutorials are available for the different tools, which permits a fast understanding of MRDS. Several applications have been added to the suite, such as Maze Simulator, or Soccer Simulation which is developed by Microsoft.
  • There are 3 small simulation environments in the standard and academic edition of MRDS, these environments are limited versions of the larger generic simulation environments developed by SimplySim
    • Apartment (also available in the express edition)
    • Outdoor
    • Urban

Notable applications

Versions and Licensing

  • Robotics Studio 1.0 (Commercial and Non-Commercial Use Licenses) -- Release Date: December 18, 2006
  • Robotics Studio 1.5 (Commercial and Non-Commercial Use Licenses) -- Release Date: May 2007
  • Robotics Studio 1.5 'Refresh' (Commercial and Non-Commercial Use Licenses) -- Release Date: December 13, 2007
  • Robotics Developer Studio 2008 Standard Edition (Commercial Use), Academic Edition (Academic use) and Express Edition[Note 1] (Commercial and Non-Commercial Use) -- Release Date: November 18, 2008
  • Updated to 2008 R2 -- Release Date: June 17, 2009
  1. ^ The Express Edition does not have edit mode in the simulation, lacks the floor plan editor, it is limited to 64 entities, and there is no support for COLLADA models.

Supported robots

An iRobot Create robot inside Microsoft Robotic Studio's Visual Simulation Environment

Components of robots

Structure

The structure of a robot is usually mostly mechanical and can be called a kinematic chain (its functionality being similar to the skeleton of the human body). The chain is formed of links (its bones), actuators (its muscles), and joints which can allow one or more degrees of freedom. Most contemporary robots use open serial chains in which each link connects the one before to the one after it. These robots are called serial robots and often resemble the human arm. Some robots, such as the Stewart platform, use a closed parallel kinematical chain. Other structures, such as those that mimic the mechanical structure of humans, various animals, and insects, are comparatively rare. However, the development and use of such structures in robots is an active area of research (e.g. biomechanics). Robots used as manipulators have an end effector mounted on the last link. This end effector can be anything from a welding device to a mechanical hand used to manipulate the environment.

Power source

At present; mostly (lead-acid) batteries are used, but potential power sources could be:

  • pneumatic (compressed gases)
  • hydraulics (compressed liquids)
  • flywheel energy storage
  • organic garbages (through anaerobic digestion)
  • faeces (human, animal); may be interesting in a military context as feces of small combat groups may be reused for the energy requirements of the robot assistant (see DEKA's project Slingshot stirling engine on how the system would operate)
  • still untested energy sources (e.g. Joe Cell, ...)
  • radioactive source (such as with the proposed Ford car of the '50); to those proposed in movies such as Red Planet

Actuation

A robot leg powered by Air Muscles

Actuators are like the "muscles" of a robot, the parts which convert stored energy into movement. By far the most popular actuators are electric motors, but there are many others, powered by electricity, chemicals, and compressed air.

  • Motors: The vast majority of robots use electric motors, including brushed and brushless DC on many robots and CNC machines, as their main can specify how much to turn, for more precise control, rather than a "spin and see where it went" approach.
  • Piezo motors: A recent alternative to DC motors are piezo motors or ultrasonic motors. These work on a fundamentally different principle, whereby tiny piezoceramic elements, vibrating many thousands of times per second, cause linear or rotary motion. There are different mechanisms of operation; one type uses the vibration of the piezo elements to walk the motor in a circle or a straight line.[11] Another type uses the piezo elements to cause a nut to vibrate and drive a screw. The advantages of these motors are nanometer resolution, speed, and available force for their size.[12] These motors are already available commercially, and being used on some robots.[13][14]
  • Elastic nanotubes: These are a promising, early-stage experimental technology. The absence of defects in nanotubes[disambiguation needed] enables these filaments to deform elastically by several percent, with energy storage levels of perhaps 10 J/cm3 for metal nanotubes. Human biceps could be replaced with an 8 mm diameter wire of this material. Such compact "muscle" might allow future robots to outrun and outjump humans.[15]

Sensing

[edit] Touch

Current robotic and prosthetic hands receive far less tactile information than the human hand. Recent research has developed a tactile sensor array that mimics the mechanical properties and touch receptors of human fingertips.[16],[17] The sensor array is constructed as a rigid core surrounded by conductive fluid contained by an elastomeric skin. Electrodes are mounted on the surface of the rigid core and are connected to " //:-=( an impedance-measuring device within the core. When the artificial skin touches an object the fluid path around the electrodes is deformed, producing impedance changes that map the forces received from the object. The researchers expect that an important function of such artificial fingertips will be adjusting robotic grip on held objects.

In 2009, scientists from several European countries and Israel developed a prosthetic hand, called SmartHand, which functions like a real one, allowing patients to write with it, type on a keyboard, play piano and perform other fine movements. The prosthesis has sensors which enable the patient to sense real feeling in its fingertips.[18]

Manipulation

Robots which must work in the real world require some way to manipulate objects; pick up, modify, destroy, or otherwise have an effect. Thus the 'hands' of a robot are often referred to as end effectors,[19] while the arm is referred to as a manipulator.[20] Most robot arms have replaceable effectors, each allowing them to perform some small range of tasks. Some have a fixed manipulator which cannot be replaced, while a few have one very general purpose manipulator, for example a humanoid hand.

  • Mechanical Grippers: One of the most common effectors is the gripper. In its simplest manifestation it consists of just two fingers which can open and close to pick up and let go of a range of small objects. Fingers can for example be made of a chain with a metal wire run trough it.[21] See Shadow Hand.
  • Vacuum Grippers: Pick and place robots for electronic components and for large objects like car windscreens, will often use very simple vacuum grippers. These are very simple astrictive[22] devices, but can hold very large loads provided the prehension surface is smooth enough to ensure suction.
  • General purpose effectors: Some advanced robots are beginning to use fully humanoid hands, like the Shadow Hand, MANUS,[23] and the Schunk hand.[24] These highly dexterous manipulators, with as many as 20 degrees of freedom and hundreds of tactile sensors.[25]

For the definitive guide to all forms of robot endeffectors, their design, and usage consult the book "Robot Grippers".[26]

Locomotion

Rolling robots

Segway in the Robot museum in Nagoya.

For simplicity, most mobile robots have four wheels. However, some researchers have tried to create more complex wheeled robots, with only one or two wheels.

  • Two-wheeled balancing: While the Segway is not commonly thought of as a robot, it can be thought of as a component of a robot. Several real robots do use a similar dynamic balancing algorithm, and NASA's Robonaut has been mounted on a Segway.[27]
  • Ballbot: Carnegie Mellon University researchers have developed a new type of mobile robot that balances on a ball instead of legs or wheels. "Ballbot" is a self-contained, battery-operated, omnidirectional robot that balances dynamically on a single urethane-coated metal sphere. It weighs 95 pounds and is the approximate height and width of a person. Because of its long, thin shape and ability to maneuver in tight spaces, it has the potential to function better than current robots can in environments with people.[28]
  • Track Robot: Another type of rolling robot is one that has tracks, like NASA's Urban Robot, Urbie.[29]

Walking robots

iCub robot, designed by the RobotCub Consortium

Walking is a difficult and dynamic problem to solve. Several robots have been made which can walk reliably on two legs, however none have yet been made which are as robust as a human. Many other robots have been built that walk on more than two legs, due to these robots being significantly easier to construct.[30][31] Hybrids too have been proposed in movies such as I, Robot, where they walk on 2 legs and switch to 4 (arms+legs) when going to a sprint. Typically, robots on 2 legs can walk well on flat floors, and can occasionally walk up stairs. None can walk over rocky, uneven terrain. Some of the methods which have been tried are:

  • ZMP Technique: The Zero Moment Point (ZMP) is the algorithm used by robots such as Honda's ASIMO. The robot's onboard computer tries to keep the total inertial forces (the combination of earth's gravity and the acceleration and deceleration of walking), exactly opposed by the floor reaction force (the force of the floor pushing back on the robot's foot). In this way, the two forces cancel out, leaving no moment (force causing the robot to rotate and fall over).[32] However, this is not exactly how a human walks, and the difference is quite apparent to human observers, some of whom have pointed out that ASIMO walks as if it needs the lavatory.[33][34][35] ASIMO's walking algorithm is not static, and some dynamic balancing is used (See below). However, it still requires a smooth surface to walk on.
  • Hopping: Several robots, built in the 1980s by Marc Raibert at the MIT Leg Laboratory, successfully demonstrated very dynamic walking. Initially, a robot with only one leg, and a very small foot, could stay upright simply by hopping. The movement is the same as that of a person on a pogo stick. As the robot falls to one side, it would jump slightly in that direction, in order to catch itself.[36] Soon, the algorithm was generalised to two and four legs. A bipedal robot was demonstrated running and even performing somersaults.[37] A quadruped was also demonstrated which could trot, run, pace, and bound.[38] For a full list of these robots, see the MIT Leg Lab Robots page.
  • Dynamic Balancing or controlled falling: A more advanced way for a robot to walk is by using a dynamic balancing algorithm, which is potentially more robust than the Zero Moment Point technique, as it constantly monitors the robot's motion, and places the feet in order to maintain stability.[39] This technique was recently demonstrated by Anybots' Dexter Robot,[40] which is so stable, it can even jump.[41] Another example is the TU Delft Flame.
  • Passive Dynamics: Perhaps the most promising approach utilizes passive dynamics where the momentum of swinging limbs is used for greater efficiency. It has been shown that totally unpowered humanoid mechanisms can walk down a gentle slope, using only gravity to propel themselves. Using this technique, a robot need only supply a small amount of motor power to walk along a flat surface or a little more to walk up a hill. This technique promises to make walking robots at least ten times more efficient than ZMP walkers, like ASIMO.[42][43]


Other methods of locomotion

  • Flying: A modern passenger airliner is essentially a flying robot, with two humans to manage it. The autopilot can control the plane for each stage of the journey, including takeoff, normal flight, and even landing.[44] Other flying robots are uninhabited, and are known as unmanned aerial vehicles (UAVs). They can be smaller and lighter without a human pilot onboard, and fly into dangerous territory for military surveillance missions. Some can even fire on targets under command. UAVs are also being developed which can fire on targets automatically, without the need for a command from a human. However these robots are unlikely to see service in the foreseeable future because of the morality issues involved. Other flying robots include cruise missiles, the Entomopter, and the Epson micro helicopter robot. Robots such as the Air Penguin, Air Ray, and Air Jelly have lighter-than-air bodies, propelled by paddles, and guided by sonar.
Two robot snakes. Left one has 64 motors (with 2 degrees of freedom per segment), the right one 10.
  • Snaking: Several snake robots have been successfully developed. Mimicking the way real snakes move, these robots can navigate very confined spaces, meaning they may one day be used to search for people trapped in collapsed buildings.[45] The Japanese ACM-R5 snake robot[46] can even navigate both on land and in water.[47]
  • Skating: A small number of skating robots have been developed, one of which is a multi-mode walking and skating device, Titan VIII[dead link]. It has four legs, with unpowered wheels, which can either step or roll.[48] Another robot, Plen, can use a miniature skateboard or rollerskates, and skate across a desktop.[49]
  • Climbing: Several different approaches have been used to develop robots that have the ability to climb vertical surfaces. One approach mimicks the movements of a human climber on a wall with protrusions; adjusting the center of mass and moving each limb in turn to gain leverage. An example of this is Capuchin,[50] built by Stanford University, California. Another approach uses the specialised toe pad method of wall-climbing geckoes, which can run on smooth surfaces such as vertical glass. Examples of this approach include Wallbot [51] and Stickybot.[52] A third approach is to mimick the motion of a snake climbing a pole[citation needed].
  • Swimming: It is calculated that when swimming some fish can achieve a propulsive efficiency greater than 90%.[53] Furthermore, they can accelerate and maneuver far better than any man-made boat or submarine, and produce less noise and water disturbance. Therefore, many researchers studying underwater robots would like to copy this type of locomotion.[54] Notable examples are the Essex University Computer Science Robotic Fish,[55] and the Robot Tuna built by the Institute of Field Robotics, to analyze and mathematically model thunniform motion.[56] The Aqua Penguin, designed and built by Festo of Germany, copies the streamlined shape and propulsion by front "flippers" of penguins. Festo have also built the Aqua Ray and Aqua Jelly, which emulate the locomotion of manta ray, and jellyfish, respectively.


Environmental interaction and navigation

RADAR, GPS, LIDAR, ... are all combined to provide proper navigation and obstacle avoidance

Though a significant percentage of robots in commission today are either human controlled, or operate in a static environment, there is an increasing interest in robots that can operate autonomously in a dynamic environment. These robots require some combination of navigation hardware and software in order to traverse their environment. In particular unforeseen events (e.g. people and other obstacles that are not stationary) can cause problems or collisions. Some highly advanced robots as ASIMO, EveR-1, Meinü robot have particularly good robot navigation hardware and software. Also, self-controlled cars, Ernst Dickmanns' driverless car, and the entries in the DARPA Grand Challenge, are capable of sensing the environment well and subsequently making navigational decisions based on this information. Most of these robots employ a GPS navigation device with waypoints, along with radar, sometimes combined with other sensory data such as LIDAR, video cameras, and inertial guidance systems for better navigation between waypoints.

Miscellaneous

Dynamics and kinematics

The study of motion can be divided into kinematics and dynamics. Direct kinematics refers to the calculation of end effector position, orientation, velocity, and acceleration when the corresponding joint values are known. Inverse kinematics refers to the opposite case in which required joint values are calculated for given end effector values, as done in path planning. Some special aspects of kinematics include handling of redundancy (different possibilities of performing the same movement), collision avoidance, and singularity avoidance. Once all relevant positions, velocities, and accelerations have been calculated using kinematics, methods from the field of dynamics are used to study the effect of forces upon these movements. Direct dynamics refers to the calculation of accelerations in the robot once the applied forces are known. Direct dynamics is used in computer simulations of the robot. Inverse dynamics refers to the calculation of the actuator forces necessary to create a prescribed end effector acceleration. This information can be used to improve the control algorithms of a robot.

In each area mentioned above, researchers strive to develop new concepts and strategies, improve existing ones, and improve the interaction between these areas. To do this, criteria for "optimal" performance and ways to optimize design, structure, and control of robots must be developed and implemented.

Education and training

Robotics is a common undergraduate area of study. Some universities offer degrees in robotics.

Robots recently became a popular tool in raising interests in computing for middle and high school students. First year computer science courses at several universities were developed which involves the programming of a robot instead of the traditional software engineering based coursework. Some Master courses in the field of Robotics are also offered.

Employment in robotics

A robot technician builds small all-terrain robots. (Courtesy: MobileRobots Inc)

As the number of robots increases, robotics-related jobs grow. Some jobs require existing job skills, such as building cables, assembling parts, and testing.

Healthcare

Script Pro manufactures a robot designed to help pharmacies fill prescriptions that consist of oral solids or medications in pill form. The pharmacist or pharmacy technician enters the prescription information into its information system. The system, upon determining whether or not the drug is in the robot, will send the information to the robot for filling. The robot has 3 different size vials to fill determined by the size of the pill. The robot technician, user, or pharmacist determines the needed size of the vial based on the tablet when the robot is stocked. Once the vial is filled it is brought up to a conveyor belt that delivers it to a holder that spins the vial and attaches the patient label. Afterwards it is set on another conveyor that delivers the patient’s medication vial to a slot labeled with the patient's name on an LED read out. The pharmacist or technician then checks the contents of the vial to ensure it’s the correct drug for the correct patient and then seals the vials and sends it out front to be picked up. The robot is a very time efficient device that the pharmacy depends on to fill prescriptions.

McKesson’s Robot RX is another healthcare robotics product that helps pharmacies dispense thousands of medications daily with little or no errors. The robot can be ten feet wide and thirty feet long and can hold hundreds of different kinds of medications and thousands of doses. The pharmacy saves many resources like staff members that are otherwise unavailable in a resource scarce industry. It uses an electromechanical head coupled with a pneumatic system to capture each dose and deliver it to its either stocked or dispensed location. The head moves along a single axis while it rotates 180 degrees to pull the medications. During this process it uses barcode technology to verify its pulling the correct drug. It then delivers the drug to a patient specific bin on a conveyor belt. Once the bin is filled with all of the drugs that a particular patient needs and that the robot stocks, the bin is then released and returned out on the conveyor belt to a technician waiting to load it into a cart for delivery to the floor.