Rabu, 07 Februari 2018

robotic input transducer or electronic robotic sensor AMNIMARJESLOW GOVERNMENT 91220017 LJBUSAF XI XA PIN PIN HUNG 2020 ROBO PERFORMANCE SO AUTO ELECTRONICS ROBO 2003 + 2005 + 2010 $$


 
                                                   A Guide to Sensors Robotic  





















A crucial aspect of any robotics project is the ability for the robot sense objects around itself, the environmental conditions, or its relative position. Then report back this information or use it for its own purposes. Below is a general listing of the types of sensors we carry and their uses.

Optical Sensors

Infrared (IR) Analog Distance Sensor

These sensors work as a pulse of light (wavelength range of 850nm +/-70nm) is emitted and then reflected back (or not reflected at all). When the light returns, it comes back at an angle that is dependent on the distance of the reflecting object. By knowing the angle, distance can then be determined. These sensors are commonly used to prevent robots from driving into walls and general object avoidance. Please note that accuracy will be reduced when used outdoors. Be sure to check out the Sharp Analog Distance Sensor we use to gauge distances from our robots.

LIDAR Hokuyo UST-10LX Scanning Laser Rangefinder

LIDAR, also called Light Detection And Ranging, uses near infrared light to image objects. The narrow laser-beam that’s emitted is capable of mapping physical features at high resolutions ( click here for an example). Offering precise positioning while targeting a wide range of materials, LIDAR is a very powerful feedback system that can be used on many robotic applications. At SuperDroid Robots, we offer both a scanning and non-scanning variant. Where the scanning version ( Hokuyo UST-20LX) uses spinning mirrors to redirect the laser on a 2D plane, and the non-scanning system ( LIDAR-Lite v3) offers a static, less expensive option.
 

GPS

GPS Receiver Module 66-Channel LS20031 GPS Receiver Module

GPS is a blending of positional and movement detection. It can return your position along with how fast you are moving. GPS is a space based satellite navigation system that provides location and time information anywhere on the planet. A GPS receiver calculates its position by timing the signals sent by GPS satellites. The receiver compares the time stamp between multiple satellites. These time stamps are compared and the position of the receiver is then extrapolated by the delays. The expected accuracy of the position is expected to be between 10 and 20 meters depending on various atmospheric conditions and the location of the receiver. Combining the data from an accelerometer, gyroscope and GPS allows you to know where you are, what direction you are moving and what orientation you are in. These are critical components in many autonomous systems. These features can be found in our 66-Channel LS20031 GPS Receiver.

High Precision RTK GNSS Receiver Hokuyo UST-10LX Scanning Laser Rangefinder

When it comes to obtaining accurate location feedback outdoors, an RTK GNSS is hard to beat. Let’s go over what this setup can do, and how it does it. This is a global navigation satellite system (GNSS) configuration that provides positioning accuracy up to 1 cm. Compared to the 10 meter accuracy of normal GPS setups, RTK systems greatly improve the viability of integrating satellite navigation on autonomous robots.
So, how does this work? The current, and most popular, method to obtaining a real-time kinematic (RTK) lock is to have one GNSS module as the designated “base” station and another as a “rover” station. The base receiver is responsible for calculating error offsets while keeping the rover station updated. The rover station applies this offset to its own position readings and provides the user with very precise position feedback. The base station is more interested in the phase of the signal rather than the content of the signal. This is because Earth’s atmosphere (ionosphere and troposphere in particular) is an error source in the form of signal delays and phase changes. Since the base station has to make these precise calculations, it must remain stationary in operation.
Along with the base station remaining stationary, two conditions need to be met in order to achieve an RTK lock. Both GNSS receivers need to have a 30 degree view of the horizon, and they also need to be linked to at least four of the same satellites with signal to noise ratios (SNR) of 40 or higher. Of course, the second is more critical than the first. This should make sense given how the error is calculated.
In areas with tall buildings and dense vegetation, it can be very difficult to obtain and keep a RTK lock. However, there’re some modifications that will increase the overall efficiency. Antenna placement is critical in order to reduce multipathing errors. Multipathing occurs when the satellite signal is reflected before it reaches the receiver. This causes the signal to take multiple paths and therefore increases the delay since the distance traveled is increased. This is usually the culprit of massive outliers in position data that we see all too often. Mounting the antennas on ground planes can also help with this issue. A ground plane is a typically a flat symmetrical metallic plate under the antenna that will create a more consistent reception pattern as well as filtering out satellite signals close to the horizon. The optimal size of the ground plane usually depends on the antenna design itself. Luckily, most RTK GNSS manufacturers make setup rather simple by selling the two modules and corresponding antennas as a package while providing sufficient “how to” documentation.

WAAS Enabled GPS Garmin GPS 18x 5Hz

More often than not, 1 cm accuracy is overkill for applications that require global positioning feedback. Fortunately, SuperDroid Robots now stocks the Garmin 18x GPS modules in 1 Hz and 5 Hz variants. This offers a cheaper and easier to use alternative to the RTK systems that are viable for autonomous development platforms. The driving force behind the 18x series compared to a normal GPS is the Wide Area Augmentation System, or WAAS. By promoting a reasonable cost and less than 3 meter error, this technology is a must have on outdoor autonomous robots.




The underlining methodology of WAAS is very similar to RTK as the onboard receiver uses correctional data for improved positioning. Multiple ground reference stations positioned across the U.S. that monitor GPS satellite data. Two base stations, located on either coast of the U.S., collect data from the reference stations and create a GPS correction message. The corrected differential message is then broadcast through 1 of 2 geostationary satellites, or satellites with a fixed position over the equator. The information is compatible with the basic GPS signal structure, which means any WAAS-enabled GPS receiver can read the signal.
 

MarvelMind IPS (Indoor GPS)

IPS MarvelMind IPS

The High Precision Indoor Navigation System (Complete Set) is a system of stationary ultrasonic beacons connected by radio interface in ISM band. The kit consists of one mobile beacon (installed on the robot), four stationary beacons (mounted on walls or ceiling) and one modem (connected to a laptop running the dashboard software). Location of the mobile beacon is calculated based on the propagation delay of ultrasonic signal to a set of stationary ultrasonic beacons using trilateration. This information is then passed on to the BBB, helping in the localization process of the robot.




Intertial Measurement Sensors

IMU MinIMU-9 v5 Gyro, Accelerometer, and Compass

An inertial measurement unit (IMU) is an electronic device that measures and reports a body's specific force, angular rate, and the magnetic field surrounding the body. These systems typically use a combination of accelerometers, gyroscopes, and magnetometers.
An accelerometer is a sensor that measures proper acceleration. Proper acceleration is not necessarily coordinate acceleration (∆v/∆t). Instead, an accelerometer measures the forces acting on the test mass relative to free fall. This means that at rest, an accelerometer will read an acceleration upward of 9.81m/s^2. There are multiple methods of measuring acceleration. Typically, it involves some sort of test mass that either deforms or causes another part of the circuit to deform. This deformation can either cause a change in voltage, capacitance or resistance. This change is then measured and the sensors direction of travel is then calculated.
The gyroscope is a device for measuring angular momentum. A mechanical gyroscope consists of a spinning disk suspended within two rings with the ability to move freely in any direction. Modern MEMS gyroscope devices that you will find in modern electronics are based on a vibrating structure. Combining a gyroscope and an accelerometer provides greater precision in determining the orientation and motion of a device.
A magnetometer is an instrument that measures both the strength and direction of the Earth’s magnetic field to provide compass readings for the IMU. Combining a gyroscope, accelerometer, and magnetometer provides orientation and motion of the device relative to the Earth’s magnetic poles. These devices are susceptible to magnetic noise produced from DC motors and other electronics. Therefore most manufacturers offer an offset variable to calibrate to maintain precision.
We offer the Pololu MinIMU-9 v5 as a complete IMU system. The board ships fully populated with its SMD components, including the LSM6DS33 and LIS3MDL, as shown in the product picture.

Accelerometer Buffered 3D 3g Accelerometer

To elaborate on the above description on accelerometers, there are three methods that most accelerometers use in order to measure acceleration: piezo-electric, strain gauge, and capacitive.
Piezo-electrical based accelerometers contain crystal structures that become stressed due to acceleration forces. Piezo based designs are unable to measure DC but are able to measure higher frequencies.
Strain gauge based acceleration detection uses adhesive backings that deform when forces are applied. This deformation alters the resistance of the object. That resistance can then be measured and the acceleration can be calculated. Strain gauge based designs are able to measure DC but are unable to measure at high frequencies.
Capacitance based designs utilize a mass attached to the plates of a capacitor. When the mass vibrates the capacitance is augmented. This change in capacitance can be measured and then the acceleration applied to the sensor can be calculated. A capacitance based design performs well in the same frequency ranges as a strain gauge but is generally more rugged.
The Buffered 3D 3g Accelerometer from Dimension Engineering is the most advanced analog accelerometer solution to date, featuring a triple axis ±3g accelerometer chip. It also has integrated op amp buffers for direct connection to a microcontroller's analog inputs, or for driving heavier loads.
 

Ultrasonic Range Sensors

HRLV-MaxSonar-EZ1 Ultrasonic Range Finder


These range sensors test how close you are to an object by using sonar waves. These will bounce off an object and the time it took for the wave to get back to the sensor is used to calculate the distance from the object. These come in all distances and strengths but can be very accurate. Mounting these sensors on a servo can be a great way to get a wide range of readings without needing very many servos/range sensors.
LV-MaxSonor-EZ Beam Patterns


Depending on the application, a wide or narrow beam wave might be a better fit. The HRLV-MaxSonar-EZ0 has the widest and most sensitive beam pattern of any unit from HRLV-MaxSonar-EZ sensor line. This makes the HRLV-MaxSonar-EZ0 an excellent choice for use where high sensitivity, wide beam, or people detection is desired. The HRLV-MaxSonar-EZ4 is the narrowest beam width sensor that is also the least sensitive to side objects offered in the HRLV-MaxSonar-EZ sensor line. The HRLV-MaxSonar-EZ4 is an excellent choice when only larger objects need to be detected.
 

Wheel Encoders

Optical Encoders E2 Optical Kit and Encoder

Optical encoders use a rotor disc made of plastic or glass that is patterned with transparent and opaque areas that can be detected as the disc rotates between a light source and a photodetector. Like the magnetic encoder, the simplest configuration might use just one sensor and have one half of the disc transparent and the other half opaque. But for higher resolution, the disc is usually divided into many more segments (often in concentric rings) with two or more sensors.

Magnetic Encoders Miniature Absolute Magnetic Shaft Encoder

Magnetic encoders use a combination of permanent magnets and magnetic sensors to detect movement and position. A typical construction uses magnets placed around the edge of a rotor disc attached to a shaft and positioned so the sensor detects changes in the magnetic field as the alternating poles of the magnet pass over it.
 

Damage Prevention

Common sensors to prevent damage to the robot are related to object detection as discussed above. Other sensors such as current, temperature and humidity can also be employed to better protect the robot from itself as well as the environment. Knowing what's around your robot is normally the first step in damage prevention. The next step is to ensure that the characteristic of that environment, such as humidity and ambient gas, are not able to cause a catastrophic event.
Once you have the appropriate sensor array to protect the robot from the environment you need to protect the robot from itself. Contact sensors and encoders are often used to set firm limits on robot movement. When a robot has attachments such as a pan-and-tilt camera or an arm there are typically ranges of movement that are save and ranges that would cause the robot to harm itself. Identifying these limits is key to developing a solid robotic solution. Once the movement limits have been addressed, it's important to monitor the current going to the motors as well as their temperature. Knowing the specifications of the motors and the motor controller will provide you with the safe limits of your drive system. Dynamically responding to these limits will help prevent motor stalling and overheating which can leave your robot stranded in a potentially dangerous environment and cause expensive permanent damage.



     
                                        XXX  .  XXX  Sensors for Robots


 
Sensors play a significant role in any robot, whether it is autonomous, semi-autonomous or remotely-controlled by a human. These sensors help a robot communicate with its external world, or control its own internal system. Before we understand the different sensors, we will understand what “senses” are and what they do.
Infrared SensorA sense with regards to living organisms is the capability to perceive its environment. The five Aristotelian senses of human being are Sight, Hearing, Touch, Smell and Taste. More and more research in this field led to a belief that there are more than five senses. Few argue that there are almost 21 sensors in a human body which includes thermoception (sensing temperature variation), equilibrioception (sense to maintain balance), nociception (pain sensors), kinesthesioception(sensing acceleration) etc., These senses help us sense our environment and act accordingly.
Since it is difficult to implement these biological sensors, robots use electromechanical sensors that measure a physical quantity and convert it into signals that can be read, monitored and analyzed for further action.
The following section will help you identify the different sensors available for robots and also understand how they work.


Analog Sensors vs. Digital Sensors


The output generated from sensors can be either analog signals or digital signals.

Analog Sensors

Analog Sensors output a change in electrical property to signify a change in its environment. The change can be a variation in Voltage, Current, Resistance, Charge and Capacitance. Sensor circuits are designed to monitor these changes and provide a voltage difference.
Analog Sensors
This voltage difference, if required can be converted into a digital value and processed further. All modern microcontrollers have Analog to Digital converter circuitry built-in. For example, if we consider a Photoresistor, the resistance in a Photoresistor changes with the amount of light falling on it. The Photoresistor circuitry creates a voltage difference based on the change in resistance and an analog signal is fed into the microcontroller.  This analog signal, if required can be further converted into a digital value and processed as per the requirement (For further information, suggest you to read Analog to digital Conversion). Since most microcontrollers work within the 0V to +5V range, the sensor circuitry is designed such that it generates a continuous signal between 0 Volts to +5 Volts as an output.


Digital Sensors

Unlike Analog sensors, digital sensors produce discrete digital pulses for a change in its environment. A push button switch is a very good example of a digital sensor. The output of this sensor can be either “ON” or “OFF”, i.e. it can be either 1 or 0.
There are other digital sensors which output a series of digital pulses, or binary values. For example, a sensor can output a 10 bit binary value 0000000000 to 1111111111 (decimal equivalent of 0 to 1023) to signify a change. This means a sensor can produce one of 1024 values to suggest a change in its environment.
 
Digital Sensors
It is important to realize this distinction between analog and digital outputs before selecting a sensor for your robot. Digital signals may seem easy to obtain and process, but involves a lot of calculations. The timer control in a microcontroller in itself is a nightmare. On the other hand, analog signals can be directly fed into a microcontroller, converted into a digital value using its built-in ADC and the information can be used as required


Classification of robots


Before we plan to design and build a robot, we need to understand the purpose of a robot. Do not jump into conclusion that you need to build a complete and complicated robot in a day; they are complex, and at least for a beginner it is a terrifying thought. Read about the different types of robots available and start off with a simple design.
There are many different kinds of robots available, each created for different tasks and behavior, and works on different platforms. Robots can be built for entertainment, knowledge, competitions, domestic help, industrial uses, surveillance etc. Each of these robots can be classified as autonomous, controlled or semi-autonomous based on the way they are controlled.

Autonomous vs. Remote controlled robots

Robot Control Methods
Autonomous robots
Autonomous robots as the name suggests, works autonomously. They have preprogrammed directions and are given a choice of taking decisions based on situations and surroundings. An Artificially intelligent robot can even learn certain behaviors and act accordingly (Artificial intelligence in itself is a very vast topic and the reason we will not delve into it now).
Autonomous robots can be as simple as an obstacle avoider, or as complex as an intellectual humanoid. However due to restrictions in power, size and intelligence these robots may not be good enough to perform complicated tasks.

Controlled Robots
These are robots that require human intervention to accomplish a task. They can either be wire controlled or remote controlled that are guided to perform any kind of complicated activities. A remote controlled robot can be programmed and guided to perform dangerous and complex tasks without being on the spot.
Semi-Autonomous robots
 These robots take the best of both worlds. The intelligence built in helps them perform simple tasks and take simple decisions. For complex tasks however, human intervention may be required. Generally the program is designed to take intelligent decisions on its own until any human input.


Virtual robots
There are also virtual robots which are computer programs designed to simulate a real robot. Robot Simulators, Chatbot, Web crawlers are all examples of virtual robots. Since they do not follow our robot definition, we will keep them out of this list for the time being.
Robots can be further classified, based on the way and the environment it is designed to work. Follow the links below to understand each of those classifications in detail.
  1. Robot Locomotion
  2. Land Based Robots
    1. Wheeled Robots
    2. Tracked Robots
    3. Legged Robots
    4. Wheeled-Legged & Hybrid Robots
  3. Aquatic Robots
  4. Flying Robots & Other Hybrid Robots

Types of Robot Sensors


There are different sensors to choose from and we will identify the characteristics of few sensors, and also understand why and where they are used.


Light sensors


A Light sensor is used to detect light and create a voltage difference. The two main light sensors generally used in robots are Photoresistor and Photovoltaic cells. Other kinds of light sensors like Phototubes, Phototransistors, CCD’s etc. are rarely used.
Photoresistor is a type of resistor whose resistance varies with change in light intensity; more light leads to less resistance and less light leads to more resistance. These inexpensive sensors can be easily implemented in most light dependant robots.
Photovoltaic cells convert solar radiation into electrical energy. This is especially helpful if you are planning to build a solar robot. Although photovoltaic cell is considered as an energy source, an intelligent implementation combined with transistors and capacitors can convert this into a sensor.
Light Sensors

Sound Sensor


As the name suggests, this sensor (generally a microphone) detects sound and returns a voltage proportional to the sound level. Sound SensorA simple robot can be designed to navigate based on the sound it receives. Imagine a robot which turns right for one clap and turns left for two claps. Complex robots can use the same microphone for speech and voice recognition.
Implementing sound sensors is not as easy as light sensors because Sound sensors generate a very small voltage difference which should be amplified to generate measurable voltage change.

Temperature Sensor

Temperature Sensors
What if your robot has to work in a desert and transmit ambient temperature?  Simple solution is to use a temperature sensor. Tiny temperature sensor ICs provide voltage difference for a change in temperature. Few generally used temperature sensor IC’s are LM34, LM35, TMP35, TMP36, and TMP37.

Contact Sensor


Contact sensors are those which require physical contact against other objects to trigger. A push button switch, limit switch or tactile bumper switch are all examples of contact sensors. Limit SwitchThese sensors are mostly used for obstacle avoidance robots. When these switches hit an obstacle, it triggers the robot to do a task, which can be reversing, turning, switching on a LED, Stopping etc. There are also capacitive contact sensors which react only to human touch (Not sure if they react to animals touch). Touch screen Smart phones available these days use capacitive touch sensors (Not to be confused with older stylus based models). Contact Sensors can be easily implemented, but the drawback is that they require physical contact. In other words, your robot will not turn until it hits an object. A better alternative is to use a proximity sensor.

Proximity Sensor


This is a type of sensor which can detect the presence of a nearby object within a given distance, without any physical contact. The working principle of a Proximity sensor is simple. A transmitter transmits an electromagnetic radiation or creates an electrostatic field and a receiver receives and analyzes the return signal for interruptions. There are different types of Proximity sensors and we will discuss only a few of them which are generally used in robots.
  1. Infrared (IR) Transceivers: An IR LED transmits a beam of IR light and if it finds an obstacle, the light is simply reflected back which is captured by an IR receiver. Few IR transceivers can also be used for distance measurement.
  2. Ultrasonic Sensor: These sensors generate high frequency sound waves; the received echo suggests an object interruption. Ultrasonic Sensors can also be used for distance measurement.
  3. Photoresistor: Photoresistor is a light sensor; but, it can still be used as a proximity sensor. When an object comes in close proximity to the sensor, the amount of light changes which in turn changes the resistance of the Photoresistor. This change can be detected and processed.
There are many different kinds of proximity sensors and only a few of them are generally preferred for robots. For example, Capacitive Proximity sensors are available which detects change in capacitance around it. Inductive proximity sensor detects objects and distance through the use of induced magnetic field.

Distance Sensor


Most proximity sensors can also be used as distance sensors, or commonly known as Range Sensors; IR transceivers and Ultrasonic Sensors are best suited for distance measurement
  1. Ultrasonic Distance Sensors: The sensor emits an ultrasonic pulse and is captured by a receiver. Since the speed of sound is almost constant in air, which is 344m/s, the time between send and receive is calculated to give the distance between your robot and the obstacle. Ultrasonic distance sensors are especially useful for underwater robots.

  2. Infrared Distance sensor: IR circuits are designed on triangulation principle for distance measurement. A transmitter sends a pulse of IR signals which is detected by the receiver if there is an obstacle and based on the angle the signal is received, distance is calculated. SHARP has a family of IR transceivers which are very useful for distance measurement. A simple transmit and receive using a couple of transmitters and receivers will still do the job of distance measurement, but if you require precision, then prefer the triangulation method

  3. Laser range Sensor: Laser light is transmitted and the reflected light is captured and analyzed. Distance is measured by calculating the speed of light and time taken for the light to reflect back to the receiver. These sensors are very useful for longer distances.

  4. Encoders: These sensors (not actually sensors, but a combination of different components) convert angular position of a shaft or wheel into an analog or digital code. The most popular encoder is an optical encoder which includes a rotational disk, light source and a light detector (generally an IR transmitter and IR receiver). The rotational disk has transparent and opaque pattern (or just black and white pattern) painted or printed over it. When the disk rotates along with the wheel the emitted light is interrupted generating a signal output. The number of times the interruption happens and the diameter of the wheel can together give the distance travelled by the robot.

  5. Stereo Camera: Two cameras placed adjacent to each other can provide depth information using its stereo vision. Processing the data received from a camera is difficult for a robot with minimal processing power and memory.  If opted for, they make a valuable addition to your robot.
There are other stretch and bend sensors which are also capable of measuring distance. But, their range is so limited that they are almost useless for mobile robots.

Pressure Sensors


As the name suggests, pressure sensor measures pressure. Tactile pressure sensors are useful in robotics as they are sensitive to touch, force and pressure. If you design a robot hand and need to measure the amount of grip and pressure required to hold an object, then this is what you would want to use.

Tilt Sensors


Tilt sensors measure tilt of an object. In a typical analog tilt sensor, a small amount of mercury is suspended in a glass bulb. When mercury flows towards one end, it closes a switch which suggests a tilt.

Navigation / Positioning Sensors


The name says it all. Positioning sensors are used to approximate the position of a robot, some for indoor positioning and few others for outdoor positioning.
  • GPS (Global Positioning System): The most commonly used positioning sensor is a GPS. Satellites orbiting our earth transmit signals and a receiver on a robot acquires these signals and processes it. The processed information can be used to determine the approximate position and velocity of a robot. These GPS systems are extremely helpful for outdoor robots, but fail indoors. They are also bit expensive at the moment and if their prices fall, very soon you would see most robots with a GPS module attached.

  • Digital Magnetic Compass: Similar to a handheld magnetic compass, Digital Magnetic compass provides directional measurements using the earth’s magnetic field which guides your robot in the right direction to reach its destination.  These sensors are cheap compared to GPS modules, but a compass works best along with a GPS module if you require both positional feedback and navigation. Philips KMZ51 is sensitive enough to detect earth’s magnetic field.

  • Localization: Localization refers to the task of automatically determining the location of a robot in complex environment. Localization is based on external elements called landmarks which can be either artificially placed landmarks, or natural landmark. In the first approach, artificial landmarks or beacons are placed around the robot, and a robot’s sensor captures these signals to determine its exact location. Natural landmarks can be doors, windows, walls, etc. which are sensed by a robots sensor / vision system (Camera). Localization can be achieved using beacons which generate Wi-Fi, Bluetooth, Ultrasound, Infrared, Radio transmissions, Visible Light, or any similar signal.

Acceleration Sensor


An accelerometer is a device which measures acceleration and tilt. There are two kinds of forces which can affect an accelerometer: Static force and Dynamic Force
  • Static Force: Static force is the frictional force between any two objects. For example earth’s gravitational force is static which pulls an object towards it. Measuring this gravitational force can tell you how much your robot is tilting. This measurement is exceptionally useful in a balancing robot, or to tell you if your robot is driving uphill or on a flat surface


  • Dynamic force: Dynamic force is the amount of acceleration required to move an object. Measuring this dynamic force using an accelerometer tells you the velocity/speed at which your robot is moving. We can also measure vibration of a robot using an accelerometer, if in any case you need to.
  • Accelerometer comes in different flavors. Always select the one which is most appropriate for your robot. Some of the factors which you need to consider before selecting an accelerometer are:
    1. Output Type: Analog or Digital
    2. Number of Axis: 1,2 or 3
    3. Accelerometer Swing: ±1.5g, ±2g, ±4g, ±8g, ±16g
    4. Sensitivity: Higher or Lower (Higher the better)
    5. Bandwidth

    Gyroscope


    A gyroscope or simply Gyro is a device which measures and helps maintain orientation using the principle of angular momentum. In other words, a Gyro is used to measure the rate of rotation around a particular axis. Gyroscope is especially useful when you want your robot to not depend on earth’s gravity for maintaining Orientation. (Unlike accelerometer)

    IMU


    Inertial Measurement Units combine properties of two or more sensors such as Accelerometer, Gyro, Magnetometer, etc, to measure orientation, velocity and gravitational forces. In simple words, IMU’s are capable of providing feedback by detecting changes in an objects orientation (pitch, roll and yaw), velocity and gravitational forces. Few IMUs go a step further and combine a GPS device providing positional feedback.
    Pitch, Roll and Yaw

    Voltage Sensors


    Voltage sensors typically convert lower voltages to higher voltages, or vice versa. One example is a general Operational-Amplifier (Op-Amp) which accepts a low voltage, amplifies it, and generates a higher voltage output. Few voltage sensors are used to find the potential difference between two ends (Voltage Comparator). Even a simple LED can act as a voltage sensor which can detect a voltage difference and light up. (not considering current requirements here)

    Current Sensors


    Current sensors are electronic circuits which monitor the current flow in a circuit and output either a proportional voltage or a current. Most current sensors output an analog voltage between 0V to 5V which can be processed further using a microcontroller.

    Other sensors for robots


    There are hundreds of sensors made today to sense virtually anything you can think of, and it is almost impossible to list all available sensors. Apart from those mentioned above, there are many other sensors used for specific applications. For example: Humidity Sensors measures Humidity; Gas sensors are designed to detect particular gases (helpful for robots which detects gas leaks); Potentiometers are so versatile that they can be used in numerous different applications; Magnetic Field Sensors detect the strength of magnetic field around it.

    Conclusion

    A simple obstacle avoider robot can be built using a couple of photoresistors, or an infrared sensor. The more complex your robot gets, the more number of sensors you tend to use. A single task may require a combination of different sensors, or different tasks can be achieved using a single sensor. Sometimes, a task can be performed from any of the many available sensors. Decide the best sensor based on availability, cost and ease of use.


    Actuators


    An actuator is an electromechanical device which converts energy into mechanical work (or motion).  For robots, actuators are like muscles that perform work. The work can be either to induce motion, or to object motion; i.e. either to start a movement, or to stop it. There are different types of actuators available and most of them either create rotational motion, or linear motion. (Oscillatory motion is rarely used, and even if required can be created using a linear or a rotary actuator)

    Linear Actuators


    As the name says, linear actuator creates linear motion, i.e. it creates to and fro motion. These actuators can be driven by either linear or rotational motion.
    To simplify things, let us take an example of a bicycle. When the cyclist pushes the pedal, it rotates the bottom bracket in a cycle which is connected to a roller chain. Now the rotational motion from the bracket creates a linear motion in the roller chain.


    Rotational Actuator (Rotary Actuator)


    Rotational actuator induces rotary or rotational motion. A simple DC motor is an example of rotational actuator. Similar to linear actuator, rotation actuators can be driven by either linear motion or rotational motion.
    Let us continue with our bicycle example to understand how linear motion can be used to create rotary motion. The roller chain in a bicycle is connected to sprocket gear of the driving wheel (Normally back wheel). When a cyclist pedals, the roller chain (remember that roller chain is an example of linear motion) rotates the sprocket gear creating a rotational motion further rotates the wheel.

    Most actuators can be mechanically designed to induce rotary motion or linear motion. A simple nut attached to a linear member can create a rotary motion. On the other hand, attaching a screw to a rotary actuator creates linear motion.
    The below animations shows both linear motion and rotary motion. The bottom bracket rotates creating a linear motion in roller chain. Further the same linear motion of the chain creates rotary motion in sprocket gear.
    Linear to Rotary Motion
    Actuators require energy to create motion and the source of energy is usually electric current, pneumatic pressure or hydraulic fluid. In the next section, we will understand the different actuators available for robots, and their energy sources.


    Types of Robot Actuators


    As discussed in the previous section, an actuator is an electromechanical device which converts energy into mechanical work. There are several types of actuators used in robots. In this section, we will classify the various actuators available, based on the type of energy source used.

    Pneumatic actuator


    These actuators use the principle of Pneumatics (where pressurized air/gas) to create motion (or perform work). Pneumatic actuators can be used to produce both rotational motion and linear motion. Pneumatic Actuator The basic design includes a Cylinder, a Piston and few supporting components like valves, springs, stoppers etc.,Compressed Air or pressurized gas is filled into the cylinder and the compressed air tries to expand to reach atmospheric pressure. This expansion is forced towards a piston or any other mechanical device which makes an attached object move. Depending on the design, it can either create rotational motion or linear motion. Most air compressors and air pumps use this principle due to its simplistic design. Image shows single acting cylinder where a spring pushes the piston back to its base position. In a double acting cylinder, another valve on other end of the cylinder pushes the piston back to base position.
    Pneumatic actuators are mainly used for systems which require quick and accurate response. These actuators are clean, make less noise and relatively compact in their design.
    Air Muscles: To replicate muscles in robots, Air muscles (also known as pneumatic air muscles - PAM) are used. PAM’s generally consist of a rubber bladder covered by a braided fiber mesh. When pressurized gas/air is inflated, it expands radically and when deflated, it contracts. Air muscles are inexpensive, light weight, exhibit a phenomenal strength to weight ratio, easier to build, flexible compared to other electric and hydraulic actuators, durable, safe, and also easy to use under water.

    Hydraulic actuator


    According to Blaise Pascal, when there is an increase in pressure at any point in a confined incompressible fluid, then there is an equal increase at every point in the container. Hydraulic actuators are designed based on this principle (Pascal’s law).
    Hydraulic Actuator
    To understand how hydraulic actuators work, let us take an example of two cylinders, connected together, as shown in the image. Suppose one cylinder has a cross-section area of 1 square centimeter and the second one has a cross-section area of 10 square centimeters. If the cylinders are filled with incompressible fluid and 1 unit of pressure is applied to the left cylinder pushing the pump (actually liquid) by 10 centimeter, then the resulting force acts on the right cylinder pushing the piston by 1 centimeter, but with a force of 10 units. This means applying 1 unit of force produces 10 units of force on the other side.
    Hydraulic actuators are majorly used for systems which require very large force, but not very restrictive on positioning and accuracy.
    Hydraulic Cylinder: Generally referred as linear hydraulic motor is used when a robot requires linear force. These actuators are powered by hydraulic fluids. When hydraulic pressure acts on it, a piston connected to a piston rod within the cylinder moves back and forth creating linear motion.  Hydraulic cylinders can also convert hydraulic pressure into rotation creating a rotary actuator, based on the mechanical design.


    Piezoelectric Actuators


    These actuators use piezoelectric effect to create motion. For those who are not aware of piezoelectric (piezo means press, or apply pressure) effect, it is a charge that accumulates in certain ceramic materials and crystals (like quartz, tourmaline etc.) when a mechanical stress is applied. This is known as piezoelectric effect where deformation of the material creates a voltage difference.
    Piezoelectric Effect Piezoelectric Actuator


    When an electricity flows through a piezoelectric material, it creates a physical deformation which is proportional to the applied electric field, known as indirect piezoelectric effect. This precise deformation can be used to position objects with extreme accuracy, almost at µm accuracy.
    Piezoelectric actuators are used in Loudspeakers, Piezoelectric Motors, acceleration sensors, vibration sensors etc., and can be used to create either rotational or linear motion. The strokes of these actuators can also be amplified if required, because direct strokes from these peizoelectric actuators are generally less than 100 µm.

    Ultrasonic Piezoelectric Actuators


    Similar to Piezoelectric actuators as discussed earlier, Ultrasonic Piezoelectric actuators work on the principle of piezoelectric effect. A travelling wave excites a stator surface (material exhibiting piezoelectric effect) which behaves like an elastic ring and produces elliptical motion at the interface of the rotor, which propels the rotor and the drive shaft connected to it.
    Ultrasonic Piezoelectric actuator can induce either rotational motion or linear motion. These actuators provide extremely precise movement with good torque to size ratio, and used in most camera autofocus lenses and watch motors.

    Types of Robot Actuators


    In the last part of actuator tutorial, we discussed about pneumatic, hydraulic, piezoelectric and ultrasonic piezoelectric actuators. We will continue the discussion on different types of robot actuators and understand SMA's, combustion engine, and lastly, the very favorite electrical actuators (motors and solenoids).

    Shape Memory Alloy (SMA)


    What if a material had memory and reverted to its previous shape on certain circumstances? Shape memory alloys are there for the very reason which remembers its shape before deformation. Basically these alloys can be deformed in cold temperature and when heated, they return to their previous shape. SMA can exhibit either one-way memory effect, or two-way memory effect.
    In one way, SMA can be bent and deformed in cold temperature and holds its shape until heated. Once heated, it returns to its original state. Now lowering the temperature again does not have any effect on its shape. One Way SMA
    In two-way memory effect, the alloy remembers two shapes. This means when the alloy is cold, it returns to one shape and when heated it goes to another shape. This interesting character of SMA emulates the operation of muscles and can be implemented in robots.
    Two Way SMA
    Muscle wire: Also commonly called Nitinol are a type of SMA’s (Shape memory alloy). When these wires are electrically powered, they reduce their length. Muscle wire is an ideal choice for making simple and small walking robots due to their small size, low weight, long life and precise control. However for advanced and heavy weight robots, they tend to be more of a challenge.


    Combustion Engine


    For large robots and flying robots, combustion engines are generally preferred due to their massive power output. Combustion engines are generally powered by gasoline (fossil fuels where gasoline and air (as an oxidizer) is forced and compressed into a cylinder. At an optimum point, a spark plug creates an electrical spark which ignites the mixture resulting in generation of heat and pressurized gases. The reaction pushes back a piston which can be mechanically connected to other components, creating linear or rotational motion.

    Combustion engines can burn fuel internally or externally and respectively known as internal combustion engine and external combustion engine. For hobby robots, only internal combustion engines are preferred.

    Electric actuator


    As the name says, these actuators use electric current to create motion. The most common implementation is by using wire windings. When current flows through a wire winding, it generates a magnetic field across its poles. Attraction forces between ferrous based objects and magnetized object induces motion.
    Similar to other actuators we saw before, electric actuators can create linear motion or rotary motion. Solenoids, for example generate linear motion and electric motors generate rotary motion.

    Solenoid

    In simple terms, Solenoid is made up of a coil and a movable ferrous core which converts electrical energy into mechanical energy creating linear motion. When electricity flows through a coil, it creates a magnetic field and pulls the ferrous (Iron or steel) piston towards it. Multiple coils or springs can be used to move the piston back to its original position. Solenoids are easy to implement in robots to create a short and quick motion.
    Despite the fact that these actuators are generally used for creating linear motion, the mechanical construction can induce rotary motion too.

    Electric Motors

    These are the most common and the most important actuators available for us, the robot enthusiasts. Similar to other actuators, the purpose of a motor is to convert energy (here, it is electrical energy) into mechanical energy.
    Electric motors are one of the finest inventions till date and a boon to robot builders. Since there are so many different kinds of motors available and many different applications, in the next section, we will spend some time understanding their basics and how they work.

    How Electric Motor Works?


    Electric motors are found in most electrical and electronic appliances: Fans, drillers, electric engines, DVD players, washing machines etc. creating rotary motion. They are also used in saw mills and cutters where these motors are mechanically designed to create linear motion.
    Electric motors are based on the principle of electromagnetism. The mechanical construction uses two main components; a Stator and a Rotor. Electric Motor Stator (as in stationary) is a stationary component of the motor and rotor is a rotating component. Stator generally has permanent magnets (in some cases electromagnetic windings), and rotor has electromagnets (in some cases permanent magnets) attached. Ideally one of the two is a permanent magnet and the other is an electromagnet. When electric current passes through the electromagnet, it creates a magnetic field generating a magnetic force between the stator and the rotor. The attractive and repulsive forces between the electromagnet and the permanent magnet make the rotor to turn and rotate. To get the rotor to turn, the electromagnets create a repulsive force at one end (pole) which attracts the permanent magnet towards the other end of the electromagnet.Once the rotor does a half-turn, the poles of the electromagnet flips (North to south or south to North) pushing the rotor further towards the other end. The process continues creating a circular motion. (Image source: Wikipedia)


    The force created by the magnetic field between the rotor and the stator determines the torque of the motor. Number of times the rotor rotates in one minute determines the velocity of the motor, measured as Revolutions per Minute (RPM). Hence whenever you intend to buy a motor, always watch out for RPM and torque of the motor. Installing gears can increase either torque or velocity, but reducing the other.
    AC motors and DC motors
    AC Motor: Motors are designed to run on Alternate current (AC) or Direct Current (DC). However, it is very uncommon to use AC motors in our mobile robots as they are harder to use, and most of our robots and circuits are DC powered. Therefore use of AC powered motor is limited to stationary and industrial robots.
    DC motor: DC motors are very easy to implement and most commonly used actuators in robots.

    Types of DC Motors


    DC motors: These motors are easy to implement and generally used actuators for robots. There are different types of DC motors in the market and we will understand the working principle of each of these motors.

    Different types of DC motors


    Brushed DC motor

    Brushed DC motor, or simply a “DC motor” is a classical example of electrical motor. As discussed before, a motor has a rotor and a stator with one of them being a permanent magnet. In a brushed DC motor, the rotor has permanent magnet and the stator has electromagnets. Since the motor needs a way to detect the rotor’s orientation, it uses brushes as a commutator which is a piece of rotor touching the shaft. When the rotor rotates (in turn the brush rotates), it detects the change in orientation and flips the current.  DC motors are available in different sizes and at different speeds. Although DC motors run at enough speeds, they are generally useless in robots as they produce the slightest torque. DC motors have only two wires running into them; one for ground and the other for power.
    DC Motor

    Geared DC motor

    As mentioned in previous tutorial, DC motors provide good speeds without enough torque. Gear MotorTo overcome this, DC motors are often coupled with gears which provide greater torque, but reducing speed. Normally all our robots would require a geared DC motor to pull the weight of our robot and any additional components placed.
    As you can see in the image, the motor shaft is connected to another bigger gear, which is further connected to a larger gear. As the motor rotates, the rotations per minute (rpm) of Gear1 is lesser than the motor. Gear2 has even less number of rotations per minute. However, each gear increases the torque of overall setup.
    Gear DC Motor
    The above image shows a small DC motor fitted with gears. I have marked it as 150 which means the velocity of the motor is 150 revolutions per minute (RPM).


    Brushless DC motors

    Brushless DC Motor
    A brushed DC motor uses brushes to detect the change in orientation so that it can flip the current to continue the rotor’s rotation. In a brushless motor, the rotor is made of permanent magnet and the stator is made of electromagnet. To detect a change in orientation, brushless motors generally use Hall Effect sensors to detect the rotor’s magnetic field and consecutively its orientation. Brushless motors are very useful in robots as they are more capable; they provide enough torque, and greater speeds than brushed motors. Brushless motors are expensive due to their design complexity and need a controller to control their speed and rotation.

     Servo Motors

    Generally known as RC servo motors, these are DC motors coupled with a feedback control circuitry, a gear system to increase torque and a position sensing device (usually a potentiometer). When a signal (pulse) is sent, it moves the motor shaft to a desired position using the position feedback from a potentiometer. Servos do not exhibit continuous rotation, but are limited to a specific range (generally 200° back and forth) and requires us to modify it for continuous rotation. Since servos expect a control signal, there is an additional wire running into the servo which takes control pulses. Hence they have three wires; Ground, Power and Control pulse.
    Servo Motor
    Servos have a wide range of applications in robotics, but require a bit of shrewd programming to make it work.

    Stepper motors

    Stepper motors are brushless motors which divides the rotor’s rotation into discrete number of steps when electrical pulses are applied in an expected sequence. In other words, a brushless motor rotates continuously when voltage is applied across, but a stepper motor breaks it into steps per revolution and jumps each step for a certain pulse. Unlike a servo motor, stepper motor does not require any complex position feedback mechanism; on the torque side, stepper motors are similar to brushed DC motors with less torque. Based on the arrangement of windings inside a stepper motor, it can be classified as Unipolar or Bipolar step motor.
    Stepper Motor
    Image shows two different types of stepper motors. The first stepper motor in the image is interesting where the center shaft is fixed and it is the sorrounding body which actually rotates. Second image is of a typical stepper motor which receives pulses and rotates the shaft.

    Linear DC motor

    Not likely to be used in standard mobile robots, a linear DC motor is a normal DC motor with its stator spread out. To be more specific, a brushed DC motor has a rotor spinning inside a stator; in a classical linear DC motor, the stator is unwrapped and laid out in the form of a track made of flat coils. The rotor rolls over the stator in a straight line.

    Motion controllers


    Motion control is an important aspect of robotics which helps us determine the velocity and position of a robot (or any mechanical device).
    In the below diagram, a complete motion control system is portrayed. However it is not obligatory to include all of these devices in a motion control system.
    Motion Control System
    1. A controller (generally a microcontroller) sends signals to motion controller.
    2. Based on the input signals, a motion controller sends commands to an amplifier for position and velocity control
    3. An amplifier takes commands from a motion controller and generates current required to drive the actuator
    4. When electrical energy is supplied, the actuator converts it into mechanical energy creating torque
    5. Mechanical parts attached to an actuator creates a motion (generally linear or rotary) from the torque generated
    6. A feedback circuitry provides feedback (like position, velocity, force, etc.) to the controller unit completing the loop.
    The most important aspect of motion control is Motor control since most of our mobile robots use motors.


    Motor Controllers


    Motor control would mean controlling the speed, torque, start-stop, direction (forward or reverse), etc. which can be automatic, remotely controlled or manually operated. Control signals can be either analog or digital.

    Starting & Stopping a Motor

    In small and low voltage motors, "starting" and "stopping" is simply connecting motor leads to a power source, through a switch, or a simple circuitry. However large motors require a contactor or a circuit breaker to operate. For building most small and mid-sized robots, we can stay within the limits of switches or a control circuitry.

    Operation control

    Motor’s Operational control can be divided into two categories
    • Speed control
    • Feedback control
    Speed control: The purpose of a speed control is to receive commands from controller and drive the motor in that demanding speed. Controllers can only send signals to operate at a specified speed and may not measure or guarantee that the motor is running at a particular speed.
    Feedback control: This confirms if the motor is running at a particular speed and/or driven to a desired position.
    There are many types of DC motors and so are the different types of controllers. In the next section we will explore the different speed control techniques and in later section we will study different feedback mechanisms used.

    Motor Speed Control




    Brushed DC motor Control


    Torque in a brushed DC motor is directly proportional to the driving current. To control the speed of a DC motor, its torque is modulated using SCR (Silicon-Controlled rectifier) or PWM (Pulse Width Modulation). SCR’s and other methods are rarely used in robots and the widely accepted technique for speed control is PWM (Pulse Width Modulation). Imagine PWM as switching on and off a switch at a very fast pace. The longer the switch is ON, the higher the voltage is sent to the receiver creating greater speeds. Image shows a graphical representation of PWM.
    PWM

    H-bridge

    Controlling a motor involves controlling the speed and rotation (either clockwise or anticlockwise). For DC motors, direction control is achieved by an H-bridge which drives the motor in either direction. Of course there are other means, but we will settle with the best known method. A typical H-bridge consists of a minimum of four solid state or mechanical switches; the graphical representation of H-bridge resembles the letter “H” and hence the name “H-bridge”.
    H Bridge
    This simple circuit shown above can be used to drive the motor forwards, reverse, brake, or free-run by switching S1, S2, S3 and S4 on or off as per the below table.

    S1S2S3S4Motor
    1001Clockwise (Forwards)
    0110Anti-clockwise (Reverse)
    0000Free run
    0101Brake
    1010Brake
    For small robots, you can either construct an H-bridge with a combination of PNP and NPN transistors, or purchase a package like L293x IC. There are different varieties of H-bridge packages available with additional components based on the requirement.


    Servo Motor Control

    Rotation of a servo motor is controlled by sending different pulses to the servo controller. A typical servo is controlled with three wires: Power, Ground and Control. A pulse is sent to the servo every 20 milliseconds and an active high-pulse 9 which is generally between 1 and 2 milliseconds) determines the angular position of the motor. In the graphical representation, the lower limit is shown as 0° and the upper limit is shown as 180°. Based on the manufacturer, the upper limit can be 90°, 120°, 135° etc. Irrespective of the design, the central position is almost always achieved by sending a high pulse width of 1.5ms.

    Servo Motor Control
    This unique design of a servo helps in controlling both the position and direction of the motor.

    Stepper Motor Control

    Stepper motor contains multiple electromagnets which rotates the motor shaft when energized. By sending desired pulses to these electromagnets, the direction and speed of a stepper motor can be controlled. In the image below, there are four electromagnets which control the rotor’s rotation. Activating each one of them in a desired fashion moves the rotor shaft to a particular position. The speed at which the pulses change determines the speed of the motor and the combination of powering the electromagnet decides the direction of the rotor.

    Stepper Motor Control

    Stepper motor contains multiple electromagnets which rotates the motor shaft when energized. By sending desired pulses to these electromagnets, the direction and speed of a stepper motor can be controlled. In the image below, there are four electromagnets which control the rotor’s rotation. Activating each one of them in a desired fashion moves the rotor shaft to a particular position. The speed at which the pulses change determines the speed of the motor and the combination of powering the electromagnet decides the direction of the rotor.
    Stepper Motor Control
    Motor controllers can only send signals to control motor speed, but cannot assure that the motor is running at that exact same speed. In the next section, we will identify the different ways to check if motor is running at the speed expected.

    Feedback Control

    Open Loop vs. Closed Loop control circuit


    There are two ways of motor control: Open Loop and Closed Loop. In an open loop, the task of the system is to send electrical signals to the actuator to perform a certain action. Although the precise signals and commands are sent, there is no way built into the system to confirm if the actuator is truly in the desired position, speed etc., However, if the system comprises electronics which constantly provides feedback on the position and velocity of the actuator, then the motor control system is a closed loop. Feedback could be the number of revolutions per minute, angle of the shaft, etc.  Operational control and feedback control combined together is a complete motion control system.
    The graphical representation shows the difference between open and closed loop.
    Open Loop and Closed Loop


    As shown in the image, both the systems contain a controller unit and a driver. However a closed loop has an additional feedback control which provides information on rotor position (shaft), velocity etc. Feedback control is mostly important in DC motors as it does not have any built-in control circuitry. However, the same feedback control can be implemented in other rotary actuators too.
    There are different types of feedback controllers available. We will try to comprehend the most generally used feedback devices.

    Shaft encoders / rotary encoders


    These devices are most commonly used in DC motors. An encoder disk made of glass or plastic containing opaque and transparent areas is attached to the motor shaft. A light source (generally infrared light) passes through these transparent areas to read the disc pattern.  This output is processed further in a controller unit which determines the speed, distance, revolutions and position.

    Shaft Encoder
    Rotary encoders come in different shapes and sizes. However, the working principle is almost the same and these devices can be used for precise information on speed, distance, revolutions and position.
    Resolvers, proximity probes, pots are also widely used for measuring speed and distance. However, they are rarely used in robotics.
    This completes a brief explanation on motion and motor controllers. In the next section we will discuss about microcontrollers which provides decision making power to our robots.

    Microcontrollers for Robotics


    If you are reading and learning about robots, you must already be aware of microcontrollers. In simple words, a microcontroller is an entire computer integrated into a single chip which includes a processor, memory, programmable input output pins etc.  Most of your automatically controlled machines like a washing machine, microwave oven, mobile, gaming devices all have a microcontroller embedded within those complex circuits, making intelligent decisions.
    Microcontrollers are not as powerful as a computer. They are good enough to communicate and control with other devices like sensors, motors, displays or even another microcontroller through its input output pins. A typical microcontroller has a series of pins which can communicate with other devices by reading and writing a sequence of 0’s and 1’s. Electrically speaking, the pins can be programmed to turn high and low while interacting with other devices.

    Selecting a microcontroller


    There are a number of microcontroller manufactures today like AVR, PIC, 8051, ARM, etc. Each manufacturer has a catalog of different microcontrollers available under their hood based on the architecture used, amount of memory, pins available, and features in-built.
    It is always difficult to decide and point a microcontroller of choice. The projects in this site mostly make use of AVR microcontrollers. This also means that it is just a choice made and microcontrollers with similar features are available with other manufacturers too. Once you are knowledgeable on one kind of microcontroller, shifting to another one is easier.


    What is in a microcontroller?


    A microcontroller generally contains a processing unit, RAM (volatile memory), Flash memory, and digital input/output pins.  Few microcontrollers may contain additional features like Analog to digital converters (ADC), timers, Pulse width modulation (PWM), counters, interrupts, Serial transmission (UART), I2C etc.
    Processor: The central processing unit (CPU) of a microcontroller which contains the ALU (Arithmetic Logic Unit), CU (Control Unit) and a set of general and special purpose registers. (No memory management unit (MU or MMU) if you are from a computers background and wondering if a CPU is missing something ;)
    Memory: This is where the program is stored. Memory can be flash memory, RAM, EEPROM etc. with each serving a different purpose
    Input / Output Pins (IO Pins): The most important feature of a microcontroller in a programmer’s perspective. The number of pins and available memory usually decide the power of a microcontroller. Pins can be only input pins, output pins or both input and output pins. They can either serve as analog pins or digital pins. Usually microcontrollers have a built in analog to digital converters to communicate with the real analogous world.
    IO pins are generally grouped into ports where each port contains 8 pins (They may contain less than 8 physical pins, but the pins are accessed as a byte with each bit controlling a pin).
    Timers/Counters: Timers are used to measure the time gap or time intervals between activities. On the other hand, counters as the name suggests are used to count the events.
    Interrupts: These are rule breakers and are used to interrupt a normal program flow. Generally most microcontrollers have an interrupt function built in.
    Other features: Microcontrollers are readily used for basic input and output operations. However they may also include specialized features like Analog to digital conversion, bus controllers, Ethernet support, USB interface, Serial input-output features (UART), and support to other communication protocols like I2C (TWI in AVR microcontrollers), SPI etc.

    Programming a Microcontroller


    The juice of a microcontroller lies in its Input/output (IO) pins. Fortunately, microcontrollers can be programmed and a set of instructions can help in controlling these IO pins. If you are already aware of programming on a PC, then programming a microcontroller should not be difficult. One important fact to be aware is that when you are programming a microcontroller, you are directly interacting with the hardware.Robot Programming Languages

    Programming languages

    Most microcontrollers support a wide variety of languages and C language being the most prominent amongst them. Other languages like Java, C++, Basic are also supported, and assembler if you willing to scratch your head and pull your hair out, but programming in assembly gives you more control.  
    Since C is widely accepted, I have often argued that it is a language of choice and has a huge support community behind it, especially if you are working with AVR microcontrollers. (The fact might be “I” particularly find it easier to code in C and few argue that BASIC is much better)
    Like any other software development methodologies, it is always sensible to follow a set of predefined phases (Waterfall, Agile, Iterative etc. for those into software development). But be sure to allocate maximum time to your design phase since a good design would most likely result in a successful end product.

    When not to use a microcontroller


    If a robot is considered to be intelligent and capable of taking decisions, you should probably use a microcontroller. However there are robots which work on hardware logics and analogue circuits which do not use a microcontroller. For example, if you are interested in building a BEAM robot (acronym for Biology, Electronics, Aesthetics, and Mechanics) and your requirement is to power the robot with solar energy and move the robot once it is charged, then all you need is a set of transistors and capacitors. If you are making an obstacle avoider robot, then a bump sensor (tactile bumper switch) with a few transistors can give you the necessary logic to control your robot.
    A microcontroller is used to make your life easier by giving you an option to program it, and control its pins. If you are smart enough to experiment, then robots can be built even without using one. But why risk when you can relax and work.

    Tools


    To do the right thing, you need the right tools. Have you ever tried to cut a wooden frame using a pen knife? Or tightening a screw using a hammer? Certainly the tools might work, but they are not intended to do so and also make your life harder.
    Tools can generally be categorized into “Basic”, “Advanced”, and “Specialized” tools.

    Basic tools


    Even if you are not seriously into robots, but intend to just build a simple robot and go on, you still need to acquire these basic tools. If you willing to, you can also request a friend to lend it to you on a condition that he might not get it back in the same condition.
    If you inspect carefully, most of these tools will be readily available with you. As a robot builder, you might have to invest on few more tools. Don’t bother on the quality of these tools if your wallet is light. Get the work done and later invest in a better quality product which lasts longer if you intend to continue building robots.

    MultimeterMultimeter

    A Multimeter is the first and foremost tool I would recommend. You can do away without using a Multimeter, but they are your best friend when you are troubleshooting your circuit. Digital Multimeter (DMM) is cheap and can be found in most local radio shops (A big “NO” to analog multimeter, especially if you are a beginner). These devices can be used to measure voltage, current, test continuity, resistance etc. More advanced features let you test other electronic devices too.

    Hobby Knife

    Hobby knife is the best choice for those quick and dirty works. One will never know the advantage of this multipurpose tool unless you get one. 

    Wire cutters & StrippersWire Stripper

    Wire cutters help you cut a wire and wire strippers help you to rip off the plastic insulation around the conducting wire. Generally, a single tool doubles as a wire cutter and a wire stripper.

    Screw driver

    As the name says, a screwdriver drives a screw inside and out of an object. Most electronic devices are fastened with screws and owning one does no harm. I have a small cheap electronic screwdriver set with magnetized end and works brilliantly.

    Soldering Iron

    Soldering Iron as the name says, is used to solder (or weld) electronic parts and components on a circuit. It is always advisable to purchase a temperature controlled soldering iron, but you can do away with a decent one if you intend to build only one or two robots. I rarely use a temperature controlled one for my robots. You can also ask a friend to loan it to you for a day or two. You even need solder (the alloy which melts on heat) with a melting point below that of your solder iron. There are lead and lead free solder available and for me the best results are with lead based ones as they have low melting point. If you care for the environment, use a lead-free solder.

    Solder LeadLead

    Lead is one of the most important component used in soldering. Lead is simply a wire made of Tin, lead and their alloys. Due to their low melting point (generally 180°C to 200°C), easy availability, they are widely used.
    Just make sure to wash your hands after using lead as the material is poisonous (or so known to be).


    Iron stand

    This iron stand is a steel spring like object mounted over a base. When you are not soldering, drop your solder iron into this and continue with your work. Few stands come with a sponge at the base which helps clean the solder iron’s tip. The one I use does not contain a sponge and I use a wet kitchen scrubber to clean the tip.

    Flux

    Flux is a substance which reduces metal oxides from the point of contact while soldering and improves electrical connection and mechanical strength. They are available in various shapes and sizes (pens, tubes, metal containers etc.). It actually does not matter what type you get unless you are into SMD soldering.

    Solder wick

    Also known as desolder wick, is a fine braided wire generally made of copper. If you have made a bad solder joint, or have excess solder, then you can use this wick to remove excess solder, or desolder a joint. You can also purchase a desolder pump if you wish to, which sucks excess solder into it; (sadly I have never found success with it).

    Needle Nose pliers

    Needle nose pliers are good for twisting, and bending components. They can also be used to hold objects and small components and pulling out wires from tight spaces.

    Breadboard

    What is a set of tools without a breadboard? Breadboard helps you to quickly test your circuits without soldering the components. It is a plug and play gadget for your circuits with rows of tiny holes. All you need to do is plug your components into these holes and test if everything is working as expected. Breadboards are commonly available and cheap; if you can afford, buy two breadboards instead of one and they turn out to be extremely helpful in some situations.

    Pre-stripped Wires

    Also known as jumper wires, these are wires with different sizes and colors. If you are using a breadboard, they are most useful. I normally prefer purchasing wires and then use a wire stripper and cutter and make these jumper wires. If you decide to make your own jumper kit, prefer using a single strand wire instead of a multi-strand wire.

    Scissors

    Scissors along with a pen knife would complete most of your cutting and tearing requirements. Get a medium sized kitchen scissor (also known as kitchen shears) with insulated handles.

    Safety goggles

    Burning, cutting, soldering, tearing, rubbing, smoke; any of these things can affect your eyes. Always and always use eye protection. You don’t want to be blind, do you? Invest on a safe and nice looking (not really, but if you want to look COOL) pair of goggles and wear it whenever you are working on and with robots.

    Simple calculator

    Programming a robot involves a bit of calculations. Although you may not use those complex mathematical functions, it is better to keep a calculation handy for quick calculations. If I choose to add another category as “Optional”, then a calculator would fall into optional category.

    Adhesive tapes

    These are plastic tapes coated with an adhesive. If you want to quickly and temporarily fix a component or an object, this is the best solution. If you are willing to invest in adhesive tapes, add double sided foam tape to your list. When you are building a robot, you can use them to quickly stick two components together, and the tape holds them really strong.

    Alligator clips

    This is a simple clip with the jaws resembling an alligator’s jaw. Alligator clipThe tip is a metal and can be used to create temporary electrical connection and can also be used to hold light components. Get a pair of these alligator clips (also known as crocodile clips) and they might come in helpful. Alligator clips are optional tools and not really necessary to do most of the job.

    Metal ruler, Pen, Paper towels, notebook

    A metal ruler to measure components, Pen and a notebook to write down your observations. A marker pen on your table is still a finicky addition to this list. These are again in the optional list and it is good to have them on your table. Few paper towels on your table also help to clean up grease and other mess.
    Avoid buying a plastic ruler to save money; it breaks quicker than you can think of, and even if it doesn’t, looks awkward after a couple of days.

    Bolts, Nuts and Screws

    If you build a robot, you need a way to fasten up the wheels, platform, servos, and sensors to each other. It is always good to have a lot of screws, nuts, bolts, washers, nails and other fastening materials of different sizes and shapes. I have an entire rack in my cupboard filled with these miscellaneous materials.

    Advanced tools for building robots




    Diagonal pliers

    These are pliers with a curved cutting edge which helps in cutting wires, clean up extra leads in components, etc. They have a stronger hold compared to wire strippers and can even cut hard metal wires.

    Hot glue gun

    Stick anything to anything using a hot glue gun :). A thermoplastic adhesive (glue sticks) melts inside a hot glue gun and squeezed out of its nozzles. The hot glue hardens on cooling and sticks to the surface. Hot glue is best suited to quickly stick components and also to insulate an object. However, be informed that they lose their strength upon heating. You can also use superglue to stick most of the components if you don’t have a hot glue gun.

    Hot air gun

    Also known as heat gun emits a stream of hot air. If you ever use a heat shrink tubing around your wires and solder joints, then a heat gun is best suited. With a bit of practice, you can also use a heat gun to solder and desolder SMD components. Do not confuse this with a hair dryer which looks similar; hot air gun runs at much higher temperature. (Do not try to dry your hair using a hot air gun as it might fry your head)

    AC-DC Voltage converter

    The name says it all. AC-DC voltage converter is used to convert AC from our home lines to DC. This converter has a coil inside and the output voltage can be varied from 1.5 volts to 18 volts. However, the current is generally limited to 500mA or 800mA. While building a robot, it is best to use these converters and save on batteries.

    Rotary tool:

    • Hand driller or Dremel: A small hand driller is very useful if you need to drill holes into PCB’s. If you are making PCB’s at home using etching technique (or any other method), then a small driller helps in making holes in PCB’s to mount components. If you are willing to, I suggest you to invest in a small electronic rotary tool (generally known as Dremel, the company name) which not only makes holes in PCB’s , but can also be used to cut, sand, carve and polish different materials.
    • Drill (or commonly known as driller): A drill or a driller is used to drill holes into objects and runs on electricity. There are other manually operated drills which are not very convenient. A drill bit is attached to a drill and the rotating drill bit creates circular holes on the target material. Although this is similar to the previously mentioned rotary tool, is much more powerful. Drill bits are available in various sizes and are usually strong enough to drill wood and soft metals. If you are constructing a big robot and the platform is wood, then a drill is most essential tool. Apart from the size and capacity, there is no much difference in the working principle between this and the previously mentioned rotary tool.


    Tweezers

    These are tools used to pick and place tiny objects which are too small to be handled with our bare hands. They have one fixed end and two tongs at the other end. If you are into soldering SMD (surface mount devices) components, then tweezers are your best helping hand. These tools come in variety of shapes and sizes and I would recommend you to get a set of tweezers with different shapes.

    Hacksaw

    Hacksaw is used to cut materials like plastic, metal and wood. It consists of a fine toothed blade held under tension in a metal frame. The blades are very brittle and break off while cutting; if you practice enough, then you can cut most metals, wood and plastic very easily.

    Electrical tester

    For robots, you need a multimeter and LED for testing your circuits, and an electrical tester is generally used for testing AC lines to check if a conductor is live. This device looks like a small general purpose screw driver except that there is a neon lamp or a LED inside the tester. When you touch the front tip to a conductor and the backside grounded through your finger, it lights up if it detects voltage. In case you need to work on AC (if your robot uses your home AC power lines to work), then this should be a part of your lab kit.

    Hammer

    Hammer is very useful if you want to deliver exceptional force on an object. They can be used to drive nails, breaking objects, bending metal sheets and rods etc. If any day, your robot goes against you and tries to harm you, keep it handy. A strong blow on the robots head and you are safe. :)

    Torch

    A torch here would mean a handheld electrically powered flash light. These devices generally run on batteries and have innumerous uses. A quick and handy light source;

    Third hand

    Also known as a helping hand, this is one of the most important tools if you want to solder a lot of boards. These helping hands consist of a weighty base and arms with alligator clips attached. These clips are used to hold light weight objects, like PCB’s and then you can easily solder components over the PCB. Care should be taken while holding PCB’s as the clips can get a strong hold and break the tracks on PCB’s. Optionally, these third hands have a magnifier attached above the two alligator clips.

    Scrubber and Sand paper

    A scrubber is used to clean dust and grease on other materials; scrubbers can be either metal or wool. Sand paper, as the name suggests is used to sand the surface of other objects.

    Junk box

    If you are building your first robot, then I am sure you would not make a mistake of throwing away components into a trash bin. But if you take it as a hobby or a profession, then you tend to create a lot of electronic waste. Keep a junk box near and dump all your e-waste into it. Why is it called a “Junk box”? This is because you can reuse most of this e-waste from this junk box to build wonderful robots. So, better don’t trash it; keep it with you unless your mom shouts at you…

    Smoke Absorber

    Soldering emits a lot of smoke. I am not sure if it is dangerous, but it is advisable to keep a smoke absorber near your workspace to suck in the bad smoke.

    Lighted Magnifier

    A magnifier is used to see tiny objects. SMD components are hard to see and the markings on them are almost invisible to the naked eye. Always get a magnifier with a light source attached.

    File set

    A file is a tool in the form or a bar or rod with small cutting edges on its surface. They come in different sizes and shapes and are very useful to cut fine amount of material from any objects. It is good to have a minimum of 5-6 different types of files with different sizes, shapes and tooth (the cutting edges on the surface) configurations.

    Chip extractor

    Not a real necessity, but good to have one. If you have a programmer board and install board as two different boards, then you need to keep moving the chip from one board to another, in which case it is quite handy. Chip extractor is a U-shaped metal tool with an inward bent lip. However with experience, I can say that this never works right. If the chip is firmly inserted into the socket and then pulled out using a chip extractor, you end up bending (or worst, breaking) the pins. I normally use a small long screwdriver between the chip and socket and slowly push the chip upwards.

    Caliper

    This is another optional tool which is used to measure the distance between two ends of an object. The tips of the caliper are adjustable and the scale helps to measure the length. Vernier caliper is the most commonly found caliper where the readings are read on the scale marked on the tool. Dial caliper on the other hand shows the readings on a simple dial. Digital caliper, as the name suggests shows the readings on a digital screen.

    Construction materials

    Your first robot might be made in cardboard with CD’s attached as wheels. As you go further, it is customary to build nice looking robots. Purchase construction materials for your robot platform like aluminum sheets, plastic sheets, wooden sheets, and HDPE and PVC sheets. You can also pile up different motors, tracks, wheels for different requirements.

    Specialized tools for building robots




    Oscilloscope

    Getting into electronics does not ask for an oscilloscope. But if you are serious, invest on a good oscilloscope (be informed that they don’t come cheap). Also known as scope, CRO, etc. this device is the most useful instrument available for monitoring varying signals plotted on a two dimensional screen with X-axis representing time and Y-axis plotting the potential difference. They also double up as a quick and easy debugging tool for your circuits. If you take my words, invest on a good Oscilloscope and you will never repent.

    Function generator

    A function generator (a.k.a signal generators) is a device which produces various patterns of voltage at different frequencies and amplitudes. The output from this device can be a square wave, triangular wave, sine wave etc.


    Electronic component cabinet

    Electronic parts like resistors and capacitors pile up soon and it would be difficult to manage them. Get an electronic component cabinet where you can store all the components in the small plastic boxes inside. Few cabinets also have storage areas to keep all your tools and devices.

    More sophisticated devices

    Long term robot interest might push you to invest in CNC machines, Lathe, milling machines etc. These are not really required if you take robot building as a hobby and build only a few robots in your lifetime. But if you wish to make your own brackets, chassis, robot parts etc. then getting these bulky machines would be an added advantage.
    Tools are there to ease your work and most of the time you can do away without using them. But if you prefer to spend more time on designing your robot than construction, it is better to include them in

    Setting up a Robot Lab




    Why do you need a robot lab anyway? You can build a robot anywhere; under a tree, inside your room, or even on the street. But just like a kitchen is dedicated for cooking, robot lab is required, and should be dedicated for robot building.


    Certainly you do not need to build Dexter’s laboratory (one of my favorite TV shows of all time :) for making robots. Use a spare room or if you do not have a spare room in your house, use your garage. But make sure the following things are taken care in your lab:
    1. The room has good lighting and ventilation (!!! Most important)
    2. All the equipments and tools arranged in an easy to reach location
    3. Set up a power line across your workspace with variable voltage regulators
    4. No carpet on the floor to avoid tiny components, solder waste and other junk getting stuck.
    5. All components arranged in a component box and placed within reach
    6. A comfortable chair or a stool
    7. Your junk box, a trash can and a first aid kit (must have)
    8. Preferably a fast computer for designing and programming
    9. if possible, a drawing board with a marker, and a notepad with a pen or pencil
    10. Strictly no drinking and smoking.
    11. Keep your robot, tools, parts away from reach of small children
    12. Make sure your robot or your lab is not disturbed when you are at work, or in your absence. Put a “Do Not Enter”. This gives you a geeky feel and also helps avoid any sort of disturbances from others. (Obviously, lock the door when you are out as the board may not stop miscreants from entering).
    13. A fire extinguisher is not actually required, but good to have one if you put your newest robot on fire.your list

     

    Materials to build a Robot




    Robot building from scratch would mean using raw materials like wood, plastic and metal to create a robot body. Most robot builders get ready made kits and assemble them; but if you are into building everything from scratch, then you would need the following materials.

    Choosing the right material


    When you are choosing a material, there are several aspects to consider. First and foremost is the price and availability. A ton of expensive materials out of your reach is useless, unless you are a billionaire planning to make a simple and stupid robot (Robots excuse!!!). The next aspect is about their shaping and machining. Get materials which are easy to handle and reshape with available tools. A strong metallic robot might look cool, but you cannot bend and break hard iron with your hobby knife. Make sure you have the right tools, right materials and the right skills.

    Cardboard


    If you would want your robot to be in shape for a few days, avoid using cardboard. However if you want to build a quick prototype, then a cardboard is a “must-have”. They can be easily cut into any shape and size and are widely available.



    Wood

     

    Wood is your first choice if you need to build an inexpensive robot. The wood slab in your backyard can do the work. When you think of a robot, it is easy to visualize it as a metal robot. Think again; wood has several advantages compared to other materials like plastic or metal. It is durable, inexpensive and easy to cut into shapes and does not require molding.
    There are also different types of untreated wood and manufactured wood materials available and you can use them based on your requirement. Stay away from heavy wood pieces like one from Oak; they may be strong, but very difficult to cut and drill. Similarly, stay away from very soft wood like Pine; they are useless and break very easily.

    Plywood

    This is a type of manufactured wood where thin wooden sheets are glued together and is one of the most widely used wood products and are available in different sizes and thickness. For robot chassis this is the best choice. However you cannot use this type of wood to create robot parts as the only possible shape of plywood is as a flat piece of wood.
    Other types of manufactured wood like Oriented strand board, Fiberboard, Particle Board and hardboard can also be used for robot chassis. If you find them good enough and have necessary equipments to cut them into required shape, then go ahead and make your wood based chassis.

    Balsa Wood

    Extremely popular in the RC robot community, balsa wood is a soft, lightweight, but stiff material with multiple uses. It is not the lightest of all woods, but has an amazing strength to weight ratio. Raw balsa wood has high moisture content and it has to be dry before use. Extensively used in World War I, Balsa wood is still popular and is available either as sheets or as round dowels. If you are into building model airplanes from scratch, then you ought to have a pile of Balsa sheets, sticks and blocks. Cutting and sawing is also extremely easy and you don’t need a power-saw, but just a few simple hand tools and a sand paper to sand the wood. 


    Plastic


    Most of the toys which you find in a toy store are made of plastic. Why? Simply because plastic is a versatile material which can take any shape by pouring molten plastic over a mold. Since industry level molding is not possible, hobbyists prefer using off the rack plastic sheets, rods and slabs; these sheets and rods are cut, drilled and glued together to give it a required shape. There are different types of plastics / polymers available, and you need to make a right choice. If you are stubborn on making your own parts using plastic and mold, you need to use a technique known as “Vacuuforming”. There is also a list of different varieties of plastic and polymers variants which is available as granules, rods, sheets, blocks etc. You can either cut and drill them, or use Vacuuforming technique and make your own parts. 

    Vacuum Forming Plastic

    Vacuum Forming (also called Thermoforming or Vacuuforming) is a simple and versatile process for designing your robot parts. The idea is to heat a sheet of plastic and then suck it down tightly over a mold. The mold can be made out of wood, plastic, aluminum etc.  Once the plastic cools down, it retains the shape and you have your quick robot body ready. Plastic sheet can be either Styrene (a.k.a polystyrene) or Acrylonitrile Butadiene Styrene (ABS) although I recommend Styrene as it is easier to heat up and form shape. Parts developed using this technique is widely used in model airplanes, toys, boats, etc.
    Although the concept is simple, the catch is expensive and bulky Vacuum forming machine. With a bit of brain storming, you can use your kitchen Oven and create robot parts. 

    PVC

    Polyvinyl chloride is a thermoplastic polymer which is amongst the most widely used plastic across the world as it is cheap, durable and easy to handle and is available in different shapes and colors. PVC is often expanded to create empty spaces inside the material which makes it thicker without additional weight. This material can be easily cut, drilled and sanded and is a solid replacement for wood.

    Acrylic

    Acrylic sheet, generally known as Plexiglas is a great material for building robot bodies which allows you to see-through your robots. An alternative for glass as they are shatter resistant (to a certain extent) and lighter, Plexiglas is available in different sizes and shapes. You can use superglue or hot glue to stick them together. Cutting, drilling and shaping Plexiglas is always a pain; you either crack it, or even worse as your cut the sheets, it melts and sticks back together. You can cut them slowly and carefully with a hacksaw. There are a few saw blades specially designed to cut acrylic glass; use them, or purchase an expensive laser cutter.


    HDPE

    High-density polyethylene is a polyethylene thermoplastic made from petroleum. There are many reasons why this can be your best choice for your robots. It is inexpensive, light weight, high impact resistance, high tensile strength, withstands high temperatures, non-toxic, non-staining, and an excellent cutting board material. They are available in different colors and sizes, white being the most common color. Cutting, drilling, machining, joining all happens with ease. Use a hand-driller to drill holes, hacksaw or a blade to cut HDPE sheets, fine sand paper to sand the edges and screws and nuts to join two HDPE sheets. If you are using it as your robot base, use a bit thicker HDPE sheet and this material is very soft and might bend and break. Making parts out of HDPE is again a nightmare; so, use this when you require a flat surface or a flat base for your robot. Another disadvantage being they do not stick well and distort a bit on cooling.

    ABS


    Acrylonitrile butadiene styrene is again a petroleum based thermoplastic which is stronger, more durable than HDPE; but again they are more expensive than HDPE. ABS does not shirk and has a good resistance in low temperatures. Analogous to HDPE, ABS can be processed (Cut, drilled, etc.) using standard mechanical tools like hack-saw and a hand-driller. They can be fastened using screws and nuts. If you make or have a 3D printer for manufacturing your own gears and other robot parts, then ABS (or PLA) should be your first pick. Be aware that ABS burns well and never attempt to use it in your battle robot if you opposition is throwing flames.

    Carbon-fiber-reinforced polymer

    Also known as CFRP or simply Carbon Fiber is an extremely strong, light weight, but expensive polymer which contains carbon fibers reinforced inside other materials. Mostly respected by the RC robot community, CFRP is used in light weight robots (like copters and air-planes) with extreme strength to weight ratio. Air plane wings, helicopter blades and light weight boats ask for this very material which is available in various shapes and sizes. Processing and handling a carbon fiber material is also easier. You can use a hacksaw or a blade to cut, a driller to drill holes and hot glue or superglue to fasten them. Care should be taken while cutting and drilling; since the material is made of fiber, the small and sharp fragments might break away. (Heard of splintering?)
    If you wish to make your robot base or parts in plastic, then these variants would be sufficient for most of your robot material requirements. Other materials like Lexan, Urethane resin, Acetal resin, PLA are also used. If you think you robot would require anything more than the ones mentioned, a bit of research on these materials may help.


                                  XXX  .  XXX 4 zero  Robotic Sensors performance


    Robotic Input Devices

    • Robots use many different types of input transducers, also known as sensors.
    • These are used to give the robot knowledge about its environment.
    • Almost anything that can be measured electronically can be used as a robot sensor often giving the robot senses not possessed by humans.
     b

    Sight

    • Robots can "see" in a variety of ways using
      • light
      • infrared
      • ultraviolet
      • ultrasound
      • microwave radio signals.
    The most complex sensor is the video camera or a web-cam. Processing these images is not easy. The cameras use Charge Coupled Devices or CCD devices to convert the image into thousands or even millions of pixels. These are available for infrared, visible and ultraviolet light. The sensor output can be processed using an Artificial Neural Network or with a conventional computer.
    Robotics CCD.JPG
    Much simpler sensors can "see".
    • A simple robot can follow a white line by measuring the output from a couple of LDRs or photodiodes.
    • Infrared LEDs and photodiodes can detect objects.
    • Microwave radio signals can be reflected off items (RADAR) to allow the robot to sense objects.
     c

    Sound

    • A microphone converts sound into voltages proportional to the sound pressure waves.
    • Sound waves are pressure waves in air.
    • Humans can hear approximately 20 to 20000Hz.
    Electret-mic.jpg
     d

    Ultrasound

    • Frequencies above 20000 Hz can not be heard and are called ultrasound or ultrasonic waves.
    • Ultrasonic range sensors can be used to prevent robots from bumping into unexpected obstacles.
      Ultrasound-module.jpg
     e

    Touch

    • The simplest touch sensor is a switch. This can be attached to a bumper or fender. If the robot hits an obstacle, the switch is depressed.
    • Robots can also sense the pressure of a touch. When resistive foam is compressed, more current flows and the pressure can be measured. This sort of sensor allows a robot to pick up an egg without crushing it.
     f

    Smell

    • Do a web search for the NASA ENose. This is used to sense gas poisons in space craft.
    • Similar technology is used to control brewing by smelling the beer or wine.
    • Sensors designed to detect particular chemicals are used.
    • Dangerous gases can be detected too (even if they have no smell for humans).
     g

    Taste

    • These sensors are similar to the smell sensors but designed to detect liquid or solid chemical traces.
     h

    Location

    • GPS receivers can be used but these are only accurate to a few metres.
    • Some robots follow cables buried in the floor. The cable carries a signal recognised by the robot.
    • Robots can keep track of their relative position by measuring how far they have moved.
    • Optical techniques can be used such as counting the slots in a rotating wheel or sensing a pattern printed on a reflective sheet.
    • Absolute position sensing - the robot knows its actual position.
    • Relative position sensing - the robot knows how far it has moved but not exactly where it is.
    Straight line absolute position sensing using a Gray code scale.
    GrayCode.gif
    Absolute rotation sensing with a circular Gray code scale.
    GrayCode-wheel.gif
    Relative position sensing using a slotted wheel that interrupts an infrared beam.
    Slotted-disk-2.gif
    A potentiometer can be used to measure angular position. As the robot part rotates, the potentiometer shaft also turns. The output voltage from the potentiometer is proportional to the robots angular position.
     i

    Resolution

    • The size of the smallest movement that can be detected.
    • In a rotating system it will be an angle such as 360o / 16.
    • In a linear system, it will be a distance measured in millimetres.
    • An ADC will convert the analogue signal unto 4, 8, 16, 32 ... 256 or more levels represented by a binary number. The resolution is the size in Volts of the smallest step in the output voltage.
     j

    Obstacle Sensing

    • contact - sensed with a microswitch
    • proximity - sensed with reflected infra-red switches
    • distance - sensed with RADAR, Ultrasound range finding and even 3D Vision.
     k

    Categorising Input Sensors

    There is a long list. Here are a few examples.
      l

    Active Sensors

     m

    Passive Sensors

     n

    Analogue Sensors

    • Electret Microphone - contains an FET pre-amp
    • Accelerometer - Detect the orientation of a phone
    • Light Dependent resistor
    • Thermistor
    • Potentiometer
    • Moving Coil Microphone
    • Conducting Polymer - Changes resistance when deformed.
    • Hall effect sensor - Measures magnetic fields.
    • Capacitor - Capacitance changes with the input
      • plate overlap might change
      • plate spacing might change
      • material between the plates might change
     o

    Digital Sensors

    • Optical Switch - IR-LED with photodiode and a transistor switch
    • Shaft Encoders
    • Switch - Resistance = zero or infinity.
    • Microswitch
    • Reed Switch
    • Any kind of switch


    Feedback from force/torque sensors (black cylinder mounted on arm end) gives robots the delicate touch needed for operations such as this camera function test. An industrial PC controls the robot and documents test results.

    A robot arm fitted with a force/torque sensor checks actuation forces on an automobile cruise-control switch.

    Industrial robots perform myriad tasks including electronic and mechanical assembly, product testing, and material handling. On-board force/torque (F/T) sensors help robots verify part insertion, hold force constant during buffing, polishing and deburring, collect force data for lot testing and statistical process control (SPC), and other functions.
    Such systems consist of a robotmounted transducer connected by a flexible cable to a sensor interface controller. The transducer converts force and torque loads into straingage signals and transmits them to the sensor controller. The sensor controller performs computations on these force vectors and directs them to the robot.
    Some basic guidelines will help weed through available sensor systems. First, characterize the application: How will the robot be used? What force range will it experience? In what environment will it operate (laboratory, assembly line, etc.)? Once these questions are answered, next focus on components.
    TRANSDUCERSCalculate expected moments and forces. Moment capacity typically sizes a transducer. A robot end-effector attached to a transducer generates forces when performing a task.
    The measured moment equals applied force multiplied by the distance from the transducer origin to the point at which the force acts.
    It is important to consider overload conditions as well as normal operating forces and moments. Include all loads the transducer sees including those the application doesn't monitor. Be aware that published robot payloads and the associated positional resolutions are typically maximum values. Robots can handle and create much larger loads, but with some loss of positional repeatability. Moreover, robots are typically overpowered for an application and are capable of exerting loads many times the rated capacity. Deceleration from inadvertent crashes often generate large inertial and impact loads, for instance. Even E-stops can produce 5-g decelerations.
    A transducer's factor of safety against damage from overload depends mostly on the type of strain gages used. Transducers fitted with high-output strain gages can be made to withstand higher overloads than designs using lower output types. High-output strain gages can also have lower noise levels because they require less signal amplification. For example, silicon strain gages provide a signal 75 times stronger than conventional metal foil gages.
    Next, identify transducer capacity. Select a transducer and calibration based on minimum and maximum orthogonal forces (Fx, Fy, Fz) and torques (Tx, Ty, Tz), weight, and physical size. Sensor makers typically provide tables to cross reference measurement ranges with available transducer types.
    Resolution and accuracy are the next considerations. As a rule, transducers with a finer resolution have lower moment capacity and vice-versa. In all cases, transducer output resolution is much finer than absolute accuracy so be sure that the absolute accuracy level fits the application. Multiaxis transducers have an absolute accuracy expressed as a percentage of full-scale load for each axis.
    SENSOR CONTROLLERSSensor controllers receive information from the transducer and produce resolved force and torque data. Onboard software multiplies strain-gage vectors by a calibration matrix to form three orthogonal forces and torques. The force and torque data transmit to the robot as control signals. Most commercially available sensor controllers can output six load axes, do tool transformations that move the center-of-origin to a user-specified location, and detect and store peak F/T values. A biasing function subtracts unwanted loads from readings and data filtering minimizes vibrations. Some systems have a programmable threshold monitoring system with high-speed optically isolated I/O that pipes to the robot's discrete I/O panel.
    When selecting a sensor controller consider output format, output resolution, and available interface software. Common output formats include RS-232, analog voltage, and computer bus (ISA, PCI, CompactPCI, VMEbus, PCMCIA, USB, and IEEE-1394). Resolution, noise rejection, and interface software vary by model and manufacturer so check system specs carefully.
    There are two basic sensor controller types: Stand-alone and computer bus. Standalone sensor controllers are self-powered and self-contained. They typically communicate with the robot controller via an RS-232 serial port, by analog voltages, or by a combination of the two. The sensor controller's discrete I/O connections ease connections to PLCs and other industrial equipment.
    Computer bus sensor controllers target a specific computer backplane architecture and plug into the robot or computer mother-board. Communication is through software drivers such as ActiveX for Windows platforms, or directly to I/O mapped registers. The computer bus sensor controller can locate inside the robot system and therefore has a much cleaner appearance than the standalone type. Typically, software provided by the sensor controller manufacturer can display the F/T information for all six axes simultaneously, allowing users to modify various measurement parameters and examine robot loads.
    USING F/T SENSOR DATAHow the F/T information will be used often dictates the sensor controller type. Such data can be collected and analyzed to ensure process consistency or provide real-time force control and threshold detection.
    For data collection, a computer bus sensor controller tends to be the easiest to integrate with PCs. It communicates directly with offthe-shelf software such as LabView and Visual Basic. However, data collection speeds can be influenced both by computer speed and the Windows operating system.
    Real-time force control is possible by integrating software drivers with an ISA bus sensor. All F/T data is available on the computer bus, giving control software instant access. When users are not working in a PC environment, analog outputs from stand-alone sensor controllers can interface to any analog input card.
    Force and torque threshold or limit detection are available on some types of sensor controllers. These features allow the sensor controller itself to monitor transducer loads for specific loading conditions and then notify the robot controller when these conditions exist, thus relieving the robot controller of the task. For example, the sensor controller can check for dangerously high loads and use its discrete output to trigger the robot E-stop circuit.
    OTHER CONSIDERATIONSA manufacturer-supplied cable typically connects a transducer to the sensor controller. The cable should reach from the sensor controller to the transducer in any robot position. It is best to err on the side of a longer cable rather than risk breaking it and possibly damaging the system. There are several ways to mount a transducer to a robot such as quick disconnects, standard or customized interface plates, and others. Most F/T transducers are ruggedized for industrial use, but this factor should still be considered in the selection process. Customized sensor systems can be built to tolerate extreme temperatures, nuclear radiation, and intense magnetic fields associated with MRI.


                                   Robot Force Torque Sensor - How does it work?


    We recently release an article on ''What is a Force-Torque Sensor''. Now that you know what a FT sensor is, we thought that you might be interested in the basics of how these devices work.