GoRobotics - Robotics news, robot projects

Posts Tagged ‘Tutorial’

How To Make a Robot – Lesson 8: Getting the Right Tools

Posted on June 27th, 2011 in How To Make a Robot

Lesson 8 - Getting the Right Tools

Lessons Menu:

At this stage, you should have all the main components for your robot including actuators, motor controllers, a microcontroller, sensors, and communication systems.

Workbench by zatalian

Image credit: zatalian

You are now approaching the integration stage where you will put all these parts together in what will likely be a custom robotic frame. For this, you will need to get your workshop/laboratory/bat cave ready with the appropriate tools.

Robotics Workshop

We have set up three possible robotic-oriented labs scenarios. Choosing which parts to add to your lab depends on how many robots you plan to make, and how involved in robotics you would like to get. We have outlined three broad categories for labs, but don’t assume the three labs are exclusive; in the real world, you will undoubtedly find robot builders who have tools from more than one section, and can give you a list of other tools which they have found useful. The Essential setup is intended for first time robot builders who foresee building a few inexpensive robots for fun or have a single project in mind. It is the least expensive setup at less than $100, but don’t be fooled by the price tag. In the right hands, a workshop such as this can be used to create professional robots too. The Intermediate setup is intended for builders who are not quite “professional” but are willing to invest a bit more in tools and equipment in order to ease fabrication, assembly, testing and troubleshooting. The Ultimate setup is intended for users who plan to make many advanced robots and prototypes, using a variety of parts and materials. This type of builder wants the finished prototype to look as professional as possible and may even want to produce some small production runs of the finished design. This is the type of setup would likely find at a small robotics company. We cannot cover all the tools required at this level but can give some general suggestions. As always, it is very important to have the right tool for the right task and only you know your needs best. Below, you will find the various tools and materials suggestions for your workshop classified by level and type.

Mechanical Tools

  • Wire StripperEssential
    • Small screwdriver setThese small screwdrivers are necessary when working with electronics. Don’t force them too much though – their size makes them more fragile.
    • Regular screwdriver setAll workshops need a multi-tool or tool set which includes flat / Phillips and other screwdriver heads.
    • Needle nose pliersA set of needle nose pliers is incredibly useful when working with small components and parts and is a very inexpensive addition to your toolbox. These are different from regular pliers because they come to a point which can get into small areas.
    • Wire strippers/cuttersIf you are planning to cut any wires, a wire stripper will save you considerable time and effort.  A wire stripper, when used properly, will only remove a cable insulation and will not produce any kinks or damage the conductors. The other alternative to a wire stripper is a pair of scissors, though the end result can be messy.
    • Scissors, ruler, pen, marker pencil, exacto knife (or other handheld cutting tool)These are essentials in any office.
  • Dremel Rotary MultitoolIntermediate
    • Rotary Tool(Dremel for example)Rotary tools have proven to be incredibly versatile and can replace most of the conventional power tools provided the work that needs to be done is at a small-scale. They can cut, drill, sand, engrave, polish, etc.
    • DrillA drill is very useful especially when creating larger holes or using stronger / thicker materials. If you are prepared to make the investment, a drill-press allows you to reliably create perfectly perpendicular holes.
    • SawA saw of some type is beneficial at this stage to cut thicker materials or make long straight cuts. You can use a hand saw (although you may need to finish the edges), a bandsaw, table saw, etc.
    • ViseAs your work become more complex, you will need to hold materials and parts firmly in place while you work on them. A vise is essential for this and allows to go further in terms of precision and quality.
  • Sherline 5400a CNC Tabletop vertical millUltimate
    • Tabletop CNC millA tabletop CNC machine allows you to precisely machine plastics, metals and other materials and creates three dimensional, intricate shapes.
    • Tabletop latheA (manual) tabletop lathe allows you to create your own hubs, shafts, spacers, adapters and wheels out of various materials. A CNC lathe tends to be overkill since most builders only need to change the diameter rather than create complex shapes.
    • Vacuum Forming MachineVacuum forming machines are used to create complex plastic shells that are moulded to your exact specifications.
    • Metal BendersWhen making robotic frames or enclosures out of sheet metal or metal extrusions, using a metal bender essential in order to obtain precise and repeatable bends.
    • Other Specialized toolsAt this stage, you will be very aware of your machnining needs and will probably require more specialized tools such as metal nibblers, welding machines, 3D printers, etc.

Electrical Tools

  • Boe Bot Breadboard - By robotroom.comEssential
    • BreadboardThis has nothing to do with slicing bread. These boards are used to easily create prototype circuits without having to solder. This is good in the event that you have not fully developed your soldering skills or want to quickly put together prototypes and test ideas without having to solder a new circuit each time.
    • Jumper wiresThese wires fit perfectly from hole to hole on a solderless breadboard and not only look pretty but also prevent clutter.
    • Breadboard power supply When experimenting with electronics it is very important to have a reliable and easy to use power source. A breadboard power supply is the least expensive power supply offering these features.
    • Soldering tool kitAn inexpensive soldering iron kit has all the basic components needed to help you learn how to solder and make simple circuits.
    • MultimeterA multimeter is used to measure voltage, resistance, current, check continuity of connections and more. If you know you will be building several robots and working with electronics, it is wise to invest in a higher quality multimeter.
    • Wall adapterStandard voltages used in robotics include: 3.3V, 5V, 6V, 9V, 12V, 18V and 24V. 6V is a good place to start since it is often the minimum voltage for DC gear motors and microcontrollers and is also the maximum voltage for servo motors. A wall adapter can also be a good replacement for batteries since they can be very expensive in the long run. A wall adapter can allow you to use your project without interruption whereas even rechargeable batteries need to be recharged.
  • Soldering StationIntermediate
    • The Intermediate electronics lab builds upon the essential lab by adding the following:
    • Adjustable temperature soldering stationA basic soldering iron can only take you so far. A variable temperature soldering iron with interchangeable tips will allow you to be more precise and decrease the risk of burning or melting components.
    • Brass sponge for solderIn combination with the more traditional wet sponge to wipe away excess solder, a brass sponge can help clean the soldering iron tip without cooling it down, allowing you to spring back into action quicker and solder like a ninja.
    • Variable power supply(instead of wall adapter)Having a powerful and reliable power source is very important when developing complex circuits and robots. A variable power supply allows you to test various voltages and currents without the hassle of needing several types of batteries and power adaptors.
  • Digital Oscilloscope DSO NaoUltimate
    • OscilloscopeAn oscilloscope is very useful when dealing with analogue circuits or periodic signals.
    • Logic AnalyserA logic analyzer is like a “digital eye” when working with digital signals. It allows you to see and store the data produced by a microcontroller and makes it simpler to debug digital circuits.

Miscellaneous

  • Third hand with magnifying-glassEssential
    • 22 gauge hook-up wireThe most common wire diameter (gauge) used in robotics is 22 (0.0254 ” or 0.64 mm). Although there are advantages to multi-strand wires, single strand (solid core) allows you to easily plug them into pin headers and breadboards.
    • Third handWhen soldering, having a helping hand that is impervious to heat is extremely useful. A third had is an incredibly helpful tool since it holds the PCB and components in place while you solder.
    • Hot glue gunA hot glue gun is incredibly useful no matter what your level of expertise and will only set you back a few dollars. The glue which comes out of a hot glue gun sets rapidly and provides a good bond. Unlike normal glue, this glue is three-dimensional, which means you can use it as a spacer; glue; filler; bridge etc.
    • TapeThe most popular types of tape used in robotics are duct and electrical. Electrical tape is best suited for electrical components (since it does not conduct) while duct tape is best for structural elements.
  • Digital Vernier CalliperIntermediate
    • Thicker wireAs you build larger robots, DC motors will require higher current and therefore larger diameter wires. The lower the gauge, the thicker the wire and the more current it can handle.
    • Vernier calliperIn addition to a regular ruler, a vernier allows you to more precisely measure parts as well as diameters (both inside and outside).

Software

  • Essential
    • CADSketchup 3D ModelGoogle SketchUpis a free program which can be used to create your robot in 3D, to the proper scale, complete with texture. This can help you ensure that parts are not overlapping, check dimensions for holes and change the design before it is built.Autodesk 123D is another free 3D CAD (Computer Aided Design) software aimed at hobbyists. While it shares many of the same features as Google Sketchup, it has some interesting features such as solid-based part design, assemblies, parametrized transforms and other functionalities that are usually seen in higher end CAD programs.
    • Programming softwareYour first programming software should correspond to whichever microcontroller you selected. If you chose an Arduino microcontroller, you should choose the Arduino software; if you chose a Basic Stamp from Parallax, you should choose PBasic and so forth. In order to use a variety of microcontrollers, you may want to learn a more fundamental programming language such as BASIC or C.
    • Schematics and PCBsThere are many free programs available on the market, and CadSoft’s EAGLE is one of the more popular. It includes an extensive library of parts and helps you convert your schematic to a PCB.
  • Ultimate
    • CADSolidWorks is the CAD program of choice for many when doing mechanical design but it is certainly not the only one available. Whet working at this level (i.e. using programs worth several thousands of dollars) you should have a good idea of your needs in order to choose the right tool (Unigraphics, Catia, ProE etc.).
    • CAMIf you are using a CNC machine, you will need a proper 3D CAD program such as ProE, AutoCAD, SolidWorks or other similar program. In order to convert your CAD model to useable code to send to the CNC machine, you need  a CAM program. Often you can purchase a CAM program specifically for the CAD software you selected, or find a third-party supplier.

Raw Materials

  • Essential
    • Plastic SheetThin sheet metalThis material can be cut easily with scissors and can be bent and shaped as needed to form the frame or other components of your robot without necessarily having to do machining.
    • CardboardThe right cardboard (thick but can still be cut using hand tools) can easily be used to make a frame or prototype. Even basic glue can be used to hold cardboard together.
    • Thin plasticPolypropylene, PVC about 1/16” thick can be scored or sawed to create a more rigid and longer lasting frame for your robot.
    • Thin woodWood is a great material to work with if you have the means. It can be screwed, glued, sanded, finished and more.
  • PolymorphIntermediate
    • PolymorphPolymorph allows you to create plastic parts without the hassle of having to create custom moulds.
    • Sheet metalIf you have thicker metal-cutting sheers, sheet metal makes an excellent building material for a robot frame because of its durability, flexibility and resistance to rust.
    • Plastic sheetsPlastic sheets are fairly rigid and resist deformation. If you are cautious and slow when cutting or drilling most plastics, the results can look professional

Practical Examples

Essential Workshop: Ard-e

Ard-e robot Ard-e, the Arduino based robot , is an example of what you could do achieve with a simple workshop including only essential tools.

Intermediate Workshop: POLYRO

POLYRO POLYRO is a very advanced robot that can be built with an intermediate workshop. It has most of the features professional robotic platforms used in research laboratories have. Although it has many complex parts, mostly all of them can be put made using simple hand tools. For the standard practical example included at the bottom of every lesson, only an intermediate level lab would be needed to put the robot together. We will go into more detail in the following lesson.

Ultimate Workshop: BaR2D2

BaR2D2 The BaR2D2 is a good example of what can be achieved with such an advanced robotic workshop. It has many intricate custom-machined parts and requires good tooling abilities

RobotShop - Robotics at your serviceFor further information on learning how to make a robot, please visit the RobotShop Learning Center. Visit the RobotShop Community Forum in order to seek assistance in building robots, showcase your projects or simply hang-out with other fellow roboticists.

How to Make a Robot – Lesson 7: Using Sensors

Posted on April 4th, 2011 in How To Make a Robot

Lesson 7 – Using Sensors

Lessons Menu:

Unlike humans, robots are not limited to just sight, sound, touch, smell and taste. Robots use a variety of different electromechanical sensors to explore and understand their environment and themselves. Emulating a living creature’s senses is currently very difficult, so researchers and developers have resorted to alternatives to biological senses.

What can humans sense that robots can’t?

Ice CreamRobots can “see” but have a hard time understanding what they are looking at. Using a camera, a robot may be able to pick up an image made up of millions of pixels but without significant programming, it would not know what any of those pixels meant. Distance sensors would indicate the distance to an object, but would not stop a robot from bumping into it. Researchers and companies are experimenting with a variety of different approaches to permit a robot to not only “see” but “understand” what it is looking at. It may be a long time before a robot is able to differentiate between objects placed before it on a table, especially if they do not appear to be exactly the same as what is in its database of objects. Robots have a really hard time tasting and smelling. A human may be able to tell you “this tastes sweet” or “this smells bad” whereas a robot would need to analyze the chemical composition and then look up the substance in a database to determine if humans have marked the taste as being “sweet” or the smell as being “bad”. There has not been much demand for a robot that can taste or smell, so not much effort has been put into creating the appropriate sensors. Humans have nerve endings throughout their skin and as such, we know when we have touched an object or when something has touched us. Robots are equipped with buttons or simple contacts placed in strategic locations (for example on a front bumper) to determine if it has come into contact with an object. Robot pets may have contact or force sensors placed in their head, feet and back, but if you try to touch an area where there is no sensor, the robot has no way of knowing it has been touched and will not react. As research into humanoid robots continues, perhaps an “electromechanical skin” will be developed.

What can robots sense that humans can’t?

Nao Robotic VisionAlthough a robot cannot tell you if a substance tastes good or if an odour smells bad, the steps involved in analyzing the chemical composition can give it far more information than a normal human could about its properties. A robot, equipped with a carbon monoxide sensor, would be able to detect carbon monoxide gas which is otherwise colorless, odorless to humans. A robot would also be able to tell you the Ph level of a substance to determine if it is acidic or basic and much, much more. Humans use a pair of eyes to get a very good sense of depth, though for many, accurately gauging distance is not easy. A human might tell you “the tree looks to be about 50 feet away”, but a robot, equipped with the right distance sensors, can tell you “the tree is 43.1 feet away”. Additionally, robots can not only sense but give accurate values of a variety of environmental factors that humans are otherwise unaware of or incapable of sensing. For example, a robot can tell you the precise angular or linear acceleration it is subjected to, while most humans would only tell you “I’m turning”, or “I’m moving”. A human can tell you based on experience if they think an object will be hot or cold without actually touching it, whereas a thermal camera can provide a 2D thermal image of whatever is in front of it. Although humans have five main senses, robots can have an almost infinite number of different sensors.

Which sensors do my robots need?

So, what types of sensors are available and which ones does your robot need? You need to first ask yourself “what do I want or need the robot to measure?” and refer to the appropriate category below. There is a good chance what you have in mind will not fall “nicely” into one of these categories, so try to break it down into its basic elements.

Contact

Whiskers, push buttons and force sensors

Push button / Contact switch

SFE 12mm Push-buttonSwitches,  buttons, and contact sensors are used to detect physical contact between objects and are not just restricted to humans pushing buttons; bumpers on a robot can be equipped with momentary push buttons, and “whiskers” (just like an animal) can be used to sense multiple distances.
  • Advantages: very low cost, easy to integrate, reliable
  • Disadvantages: single distance measurement

Pressure sensor

Interlink Square FSRUnlike a push button which offers one of two possible readings (ON or OFF), a pressure sensor produces an output proportional to the force that is being applied to it.
  • Advantages: allows gauging how much force is being applied
  • Disadvantages: can be imprecise and are more difficult to use than simple switches.

Distance

Distance Sensors

Ultrasonic Range Finders

Maxbotix EZ0 Ultrasonic RangerUltrasonic range finders use acoustics to measure the time between when a signal is sent versus when its echo is received back. Ultrasonic range finders can measure a range of distances, but are used specifically in air and are affected by the reflectivity of different materials.
  • Advantages: medium range (several meters) measurement.
  • Disadvantages: surfaces and environmental factors can affect the readings.

Infrared

Dagu Compound Eye Infrared SensorInfrared light, which as we saw is used in communication, can also be used to measure distance. Some infrared sensors measure one specific distance while others provide an output proportional to the distance to an object.
  • Advantages: low cost, fairly reliable and accurate.
  • Disadvantages: closer range than ultrasonic

Laser

Loke Industrial Laser RangefinderLasers are used when high accuracy, or long distances (or both) are required when measuring the range to an object. Scanning laser rangefinders use spinning lasers to get a two dimensional scan of the distances to objects
  • Advantages: very accurate, very long range.
  • Disadvantages: much costlier than regular infrared or ultrasonic sensors.

Encoders

    Cytron Simple Rotary Encoder Optical encoders use mini infrared transmitter/receiver pairs and send signals when the infrared beam is broken by a specifically designed spinning disk (mounted to a rotating shaft). The number of times the beam is broken corresponds to the total angle travelled by a wheel. Knowing the radius of the wheel, you can determine the total distance travelled by that wheel. Two encoders give you a relative distance in two dimensions.
  • Advantages: assuming there is no slip, the displacement is absolute. Often comes installed on the rear shaft of a motor
  • Disadvantages:  additional programming required; more accurate optical encoders can be ~$50+ each

Linear Potentiometer, resistive band

DFRobot Slide Position SensorA linear potentiometer is able to measure the absolute position of an object. A resistive band changes resistance depending on where a force is applied.
  • Advantages: position is absolute. A resistive band requires pressure to be applied at a given position.
  • Disadvantages: range is very small

Stretch and Bend Sensors

Images Scientific Stretch SensorA stretch sensor is made up of a material whose resistance changes according to how much it has been stretched. A bend sensor is usually a sandwich of materials where the resistance of one of the layers changes according to how much it has been bent. These can be used to determine a small angle or rotation, for example how much a finger has been bent.
  • Advantages: useful where an axis of rotation is internal or inaccessible
  • Disadvantages: not very accurate, and only small angles can be measured

Stereo Camera System

Minoru 3D WebcamJust like human eyes, two cameras placed a distance apart can provide depth information (stereo vision). Robots equipped with cameras can be some of the most capable and complex robots produced. A camera, combined with the right software, can provide color and object recognition.
  • Advantages: can provide dept information and a good feedback about a robot’s environment
  • Disadvantages: complex to program and use the information

Positioning

Indoor and outdoor positioning

Indoor Localization (room navigation)

Hagisonic Stargazer Localization SystemAn indoor localization system can use several beacons to triangulate the robot’s position within a room, while others use a camera and landmarks.
  • Advantages: excellent for absolute positioning
  • Disadvantages: requires complex programming and the use of markers

GPS

4D Systems GPSA GPS uses the signals from several satellites orbiting the planet to help determine its geographic coordinates. Regular GPS units can provide geographical positioning down to 5m of accuracy while more advanced systems involving data processing and error correction thanks to the use of other GPS units or IMUs can be accurate down to several cm.
  • Advantages: does not requires markers or other references
  • Disadvantages: can only function outdoors.

Rotation

Encoders and Potentiometers

Potentiometer

Phidgets Rotation SensorA rotary potentiometer is essentially a voltage divider and provides an analog voltage corresponding to the angle the knob is rotated to.
  • Advantages: simple to use, inexpensive, reasonably accurate, provides absolute readings.
  • Disadvantages: most are restricted to 300 degrees of rotation

Gyroscope

SFE GyroAn electronic gyroscope measures the rate of angular acceleration and provides a corresponding signal (analog voltage, serial communication, I2C etc.). Integrating this value twice will give you an angle.
  • Advantages: no moving “mechanical” components
  • Disadvantages: the sensor is always subjected to angular acceleration whereas a microcontroller cannot always take continuous input, meaning values are lost, leading to “drift”.

Encoders

Solarbotics Wheel Watcher EncoderOptical encoders, as explained above, use mini infrared transmitter/receiver pairs to signal when the infrared beam is broken by a spinning disk (mounted to a rotating shaft). The number of times the beam is broken corresponds to the total angle travelled by a wheel. A mechanical encoder uses a very finely machined disk with enough holes to be able to read specific angles. Mechanical encoders can therefore be used for both absolute and relative rotation.
  • Advantages: accurate
  • Disadvantages: for optical encoders, the angle is relative (not absolute) to the starting position.

Environmental Conditions

Gas, light, temperature, and humidity sensors

Light Sensor

PhotocellA light sensor can be used to measure the intensity of a light source, be it natural or artificial. Usually, its resistance is proportional to the light intensity.
  • Advantages: usually very inexpensive and very useful
  • Disadvantages: cannot discriminate the source or type of light.

Sound sensor

DFRobot Sound SensorA sound sensor is essentially a microphone that returns a voltage proportional to the ambient noise level. More complex boards can use the data from a microphone for speech recognition.
  • Advantages: inexpensive, reliable
  • Disadvantages: more meaningful information requires complex programming

Thermal Sensors

Parallax AD592 Temperature ProbeThermal sensors can be used to measure the temperature where it is on a particular component or the ambient temperature.
  • Advantages: they can be very accurate
  • Disadvantages:  more complex and accurate sensors can be more difficult to use.

Thermal Camera

Devantech 8-pixel Thermal-array SensorInfrared or thermal imaging allows you to get a complete 2D thermal image of whatever is in front of the camera.  This way it is possible to determine the temperature of an object.
  • Advantages: differentiate objects from the background based on their thermal signature
  • Disadvantages: expensive

Humidity

Humidity sensors detect the percentage of water in the air and are often paired with temperature sensors.

Pressure Sensor

A pressure sensor (which can also be a barometric sensor) can be used to measure atmospheric pressure and give an idea of the altitude of a UAV.

Gas sensors

SeeedstudioMQ6 Gas SensorSpecialized gas sensors can be used to detect the presence and concentration of a variety of different gases. However, only specialized robotic applications tend to need gas sensors.
  • Advantages: These are the only sensors which can be used to accurately detect gas
  • Disadvantages: inexpensive sensors may give false positives or somewhat inaccurate readings and should therefore not be used for critical applications.

Magnetometers

Hall Effect SensorMagnetic sensors or magnetometers can be used to detect magnets and magnetic fields. This is useful to know the position of magnets.
  • Advantages: can detect ferromagnetic metals.
  • Disadvantages: some times the sensors can be damaged by strong magnets.

Attitude (roll, pitch and heading)

IMU, gyroscope, accelerometer, and compass

Compass

Parallax Dual-axis CompassA digital compass is able to use the earth’s magnetic field to determine its orientation with respect to the magnetic poles. Tilt compensated compasses account for the fact that the robot may not be perfectly horizontal.
  • Advantages: provides absolute navigation
  • Disadvantages:  greater accuracy increases the price

Gyroscope

SFE Dual Axis GyroElectronic gyroscopes are able to provide the angle of the tilt in one or more axes. Mechanical tilt sensors usually determine if a robot has been tilted past a certain value by using mercury in a glas capsule or a conductive ball.
  • Advantages:  electronic tilt sensors have a higher accuracy than mechanical ones
  • Disadvantages:  can be expensive

Accelerometers

  SFE Triple-axis Accelerometer Accelerometers measure the linear acceleration. This allows to measure the gravitational acceleration or any other accelerations the robot is subject to. This can be a good option to approximate distance travelled if your robot cannot use the surrounding environment as a reference. Accelerometers can measure accelerations along one, two or three axis. A three-axis accelerometer can be used also to measure the orientation a
  • Advantages:  they do not require any external reference or marker to function and can provide absolute orientation with respect to gravity, or relative orientation.
  • Disadvantages: they only approximate the traveled distance and cannot precisely determine it.

IMU’s

Phidgets IMUAn Inertial Measurement Unit combines a multi-axis accelerometer with a multi-axis gyroscope and sometimes a multi-axis magnetometer in order to more accurately measure roll
  • Advantages: it is a very reliable way of measuring the robots attitude without using external references (besides the earth’s magnetic field)
  • Disadvantages: can be very expensive and is complex to use.

Miscellaneous

Current, vibration, and RFID sensors

Current and Voltage Sensors

Current and voltage sensors do exactly as their name describes; they measure the current and/or voltage of a specific electric circuit. This can be very useful for gauging how much longer your robot will operate (measure the voltage from the battery) or if your motors are working too hard (measure the current).
  • Advantages: they do exactly what they are intended to do
  • Disadvantages: can disturb the voltage or current they are measuring. Sometimes they require the circuit being measured to be modified.

Magnetic Sensors

Magnetic sensors or magnetometers detect magnetic objects and can either require contact with the object, or be relatively close to an object. Such sensors can be used on an autonomous lawn mower to detect wire embedded into a lawn.
  • Advantages: usually inexpensive
  • Disadvantages: usually need to be relatively close to the object, and sadly cannot detect non-magnetic metals.

Vibration

Vibration sensors detect the vibration of an object by using piezoelectric or other technologies.

RFID

Radio Frequency Identification devices use active (powered) or passive (non-powered) RFID tags usually the size and shape of a credit card, small flat disc or addition to a key chain (other shapes are possible as well). When the RFID tag comes within a specific distance of the RFID reader, a signal with the tag’s ID is produced.
  • Advantages: RFID tags are usually very low cost and can be individually identified
  • Disadvantages: not useful for measuring distance, only if a tag is within range.

Practical Examples

1.      “I want my robot to follow a person”

(More info on the robot featured in the video…)

There is no “person following sensor” available (yet), so you would need to see which categories above may apply and which don’t need to be considered.
  • Q: Are you looking to detect, measure distance to  (or contact with) an object?
    • Immediately the answer should be yes and this first category of sensors will likely give the best results.
  • Q: Are you looking to measure rotation?
    • Perhaps, but you really don’t need to know if the robot is rotated (that’s a different aspect entirely) or if the human is rotated with respect to the robot.
  • Q: Are you looking to measure environmental conditions?
    • Not really. You might consider tracking a human based on their thermal signature, but differentiating between humans and animals (or even a microwave) would be difficult.
  • Q: Are you looking to measure position, orientation, or angle?
    • GPS is the first sensor which immediately stands out.
Having gone through the main categories, we should be considering sensors related to distance, contact and detection, and also considering GPS. Taking a closer look at the types of sensors in this category:
  • Contact: irrelevant since the robot will be following the human at a distance.
  • Distance:
    • Ultrasonic, infrared and laser: measuring the distance is useful when combined with other sensors.
    • Camera: This may be the best option and we will look into it.
    • Stretch: This would require the human to be physically connected to the robot, which is something we do not want.
  • Rotation: irrelevant
  • Positioning:
    • GPS: placing a GPS unit on both the robot and the human would allow the robot to easily follow the human within a certain radius.
  • Environmental conditions: irrelevant
  • Attitude:
    • Accelerometer: not very useful since it does not give the robot an idea of where the human is.
    • IMU: not very useful since it does not give the robot an idea of where the human is.
  • Miscellaneous:
    • RFID:  An RFID reader can locate a tag placed around it, and although some sort of RFID option may be possible, it would require quite a bit of research.
Therefore out of the options available, the most appropriate sensors to allow a robot to follow a human may be ultrasonic or infrared distance sensor(s), a camera and GPS. A camera may be used to pick up a specific pattern placed on the shirt of the individual to follow while GPS units mounted on the robot and on the human would help the robot find the human if she cannot be seen visually. Distance sensors would ensure the robot does not get too close to the human. Therefore when choosing sensors to help your robot follow a human, the sensors listed above would be a good starting point.

2.       “I want my robot to stay within the boundaries of our lawn”

There is no “neighbour’s grass” sensor available (that we are aware of), so you will need to devise another sensor-based solution.
  • Q: Are you looking to detect, measure distance to  (or contact with) an object?
    • Yes, we are looking to detect a boundary
  • Q: Are you looking to measure rotation?
    • Not really
  • Q: Are you looking to measure environmental conditions?
    • Not really, but we’ll keep an open mind since the robot is outdoors.
  • Q: Are you looking to measure position, orientation, or angle?
    • Not really
Applicable categories therefore include measuring distance, feel contact, detect an object, and perhaps environmental conditions. Out of the list of sensors in this category, we can see that the following may be useful:
  • Contact: Detecting collisions in order to avoid obstacles.
  • Distance:
    • Ultrasonic, infrared and laser: These will help the robot to avoid hitting objects, and when several placed facing downwards, will help the robot avoid falling into openings such as pools.
  • Rotation:
    • Encoders: Encoders: these will help position the robot in two dimensional space based on a starting position.
    • Positioning:
      • GPS: Ideal, the robot could be instructed to remain within certain coordinates.
  • Environmental conditions:
    • Humidity sensor: This is not an “intuitive” solution and was creatively used on the Lawnbott Spyder lawn mower to differentiate between grass and “non-humid” surfaces such as concrete and pavement.
    • Magnetic sensor: Magnetic sensors are used both indoors and outdoors to mark boundaries. The perimeter is marked with a strip of conductive wire and the robot is equipped with a few magnetic sensors.
  • Attitude:
    • IMU: this may make the data obtained from the encoders more accurate, especially if there are slopes or uneven terrain.
  • Miscellaneous: irrelevant
Therefore if you want your robot to stay within the boundaries of your lawn, the sensors listed above would be a very good start. RobotShop - Robotics at your serviceFor further information on learning how to make a robot, please visit the RobotShop Learning Center. Visit the RobotShop Community Forum in order to seek assistance in building robots, showcase your projects or simply hang-out with other fellow roboticists.

Carlitos’ Project: RGB LED Mood Cube

Posted on January 14th, 2011 in Microcontrollers, Miscellaneous, Projects, Robotics Projects

This is the first in a series of electronic or robotic DIY projects. These projects are accompanied by instructional videos that will help you trough the many steps involved in completing the task at hand. For this first iteration, we are making an RGB LED Mood Cube.

Glowing colour-changing objects are always cool. So why not make your own? Mood lights have been around for some time and, while it is cool to have a colour changing light, it would be even cooler to have something more complex and geekier. An RGB LED Mood Cube seems to be the way to go.

RGB LED Mood Cube Fully Assembled

In this project, we are going to build a 4x4x4 RGB LED cube that can be used to display cool colourful patterns. This project should be straight-forward and the most significant difficulty will be soldering all the connections for the cube structure and the 64 LEDs (since they are RGB, this means 256 joints for the LEDs alone!). In short, if you are looking to have a cool mood-light and get razor-sharp soldering skills, this is the right project for you.

Below you can see the video of the LED cube being put together and the final result.

If you need more information or you simply prefer written instruction, here you will find the full list of materials, tools, instructions and documents required for the build.

Materials

  • An LED Cube Kit. Provides the LEDs and all the structure required to create an LED cube.

  • A Rainbowduino. It is a special Arduino built to control up-to 192 LEDs.

  • A UartSB (USB-to-serial adaptor). A USB to serial interface that is used to program the Rainbowduino (or for serial communication in general) trough a USB port.

  • A USB Cable. A cable to hook-u the UartSB to the Computer

  • A 9V Wall Adapter. A power supply that will power the cube once the assembly and programming are done.

Tools

  • A Wire Cutter. It will be used to cut the leads off components.

  • A Soldering Iron. In order to solder all the (many) connections, a soldering station might be preferable since it provides steady and reliable temperature control that allows for easier and safer soldering (you have less risk of burning the components if the temperature is set correctly).

  • Third Hand. This is not absolutely required, but it is always useful for holding components and parts when soldering.

  • Flat Head Screwdriver. This will be used for un/tightening terminal blocks

  • A computer . It programs the Rainbowduino using the Arduino IDE.

Putting it Together

  1. The first step is to assemble the LED cube kit. This kit is much easier to put together than the more common way of constructing an LED cube using the LED leads as the supporting structure.

    The kit includes all the parts required to hold the LED together and takes care of all the complex wiring. Full instruction on how to put the cube together are available in PDF format.

  2. Once the cube is assembled, we need to drive it in order to display cool stuff in it. For this, we use the Rainbowduino, an Arduino clone created specifically for driving massive amounts of LEDs. The cube fits directly on top of the Rainbowduino, and can provide power to it by using the included JST cable. When connecting both modules together, it is important to make sure the “Green” male headers from the LED cube match the “Green” female headers on the Rainbowduino. Also, it is important to set the Rainbowduino switch to “JST”.

    RGB LED Cube and Rainbowduino Power Connected

  3. Now that all electrical connections are done, we need to write some software in order to make it display cool stuff in our new cube. We took the liberty of modifying, cleaning and updating the plasma code readily available for the Rainbowduino. This new code should display a nice smooth wave as of colours that propagates softly though the cube. The code can be downloaded from here: Rainbowduino-RGB-LED-Matrix-Plasma.zip.

    In order to upload this code to your Rainbowduino, you will need to use the Arduino software, so, if it is not already done, it has to be installed. Also you will need to install the USB-to-Serial adaptor drivers.

  4. Once the code and the Arduino software are downloaded and installed, simply unzip the code and open the .pde sketch file found inside of the unzipped folder using the Arduino software. Then, upload the sketch to the Rainbowduino using the USB-to-serial interface.

    Rainbowduino with Serial Interface (UartSB) and USB Cable

  5. Now that the Rainbowduino is programmed, simply remove the USB interface, plug-in the power adapter and admire the light show!

    RGB LED Mood Cube Connected to the Power Supply

Additional Programming and Hacking

Of course, colourful lights are pretty and everything, but for those of you who would like to program your own patterns and animations, there are functions in the provided code that allow you to set the LEDs individually. You could also add some sensors and make the cube interactive. There are even some Xbee headers that could be used to send information to the cube remotely from a nearby computer Using an Xbee module.

On the physical side, you can make a cover for your cube out of paper, plastic, fabric or whatever other materials you have on hand (make sure the material is translucent though)

Finally, at the end of the construction, you will have many RGB LEDs and a bunch of male and female headers left-over. Make sure you put them to good use in your next project.

Getting Your Own LED Cube

RGB LED Mood Cube Full Kit

For those of you wishing to make their own cube, you can use your own parts and buy the missing materials separately or you can get all the components in a convenient kit at RobotShop.

RGB LED Mood Cube - 1

You are also invited to share your results and experience in the RobotShop Forum and by simply leaving a comment below.

New Robotics Projects Section

Posted on September 7th, 2010 in Robotics Projects

In an effort to make robotics accessible to everyone, we will be posting robotics project ideas and guides. This will provide you some inspiration to start using your newly acquired skills from the How to Make a Robot Tutorial Series.

Project IdeasStay tuned for new projects to come. In the meantime, you can check out the RobotShop Learning Center for some cool Project Ideas.

How to Make a Robot – Lesson 3: Making Sense of Actuators

Posted on September 2nd, 2010 in How To Make a Robot

RobotShop Grand Tutorial: How to Make a Robot - Lesson 3

Lessons Menu:

Making Sense of Actuators

Now that we learned about robotics in general in Lesson 1 and decided on the robot to make in Lesson 2, we will now choose the actuators that will make the robot move.

What is an actuator?

An “actuator” can be defined as a device that converts energy (in robotics, that energy tends to be electrical) into physical motion. The vast majority of actuators produce either rotational or linear motion. For instance, a “DC motor” is therefore a type of actuator.
Choosing the right actuators for your robot requires an understanding of what actuators are available, some imagination, and a bit of math and physics.

Rotational Actuators

As the name indicates, this type of actuators transform electrical energy into a rotating motion. There are two main mechanical parameters distinguishing them from one another: (1) torque, the force they can produce at a given distance (usually expressed in N•m or Oz•in), and (2) the rotational speed (usually measured in revolutions per minutes, or rpm).

AC Motor

AC Motor - FanAC (alternating current) is rarely used in mobile robots since most of them are powered with direct current (DC) coming from batteries. Also, since electronic components use DC, it is more convenient to have the same type of power supply for the actuators as well. AC motors are mainly used in industrial environments where very high torque is required, or where the motors are connected to the mains / wall outlet.

DC Motors

DC MotorDC motors come in a variety of shapes and sized although most are cylindrical. They feature an output shaft which rotates at high speeds usually in the 5 000 to 10 000 rpm range. Although DC motors rotate very quickly in general, most are not strong (low torque). In order to reduce the speed and increase the torque, a gear can be added. To incorporate a motor into a robot, you need to fix the body of the motor to the frame of the robot. For this reason motors  often feature mounting holes which are generally located  on the face of the motor so they can be mounted perpendicularly to a surface. DC motors can operate in clockwise (CW) and counter clockwise (CCW) rotation. The angular motion of the turning shaft can be measured using encoders or potentiometers.

Geared DC Motors

Banebots GearmotorA DC gear motor is a DC motor combined with a gearbox that works to decrease the motor’s speed and increase the torque. For example, if a DC motor rotates at 10 000 rpm and produces 0.001 N•m of torque, adding a 256:1 (“two hundred and fifty six to one”) gear down would reduce the speed by a factor of 256 (resulting in 10 000rpm / 256 = 39 rpm), and increase the torque by a factor of 256 (0.001 x 256 = 0.256 N•m). The most common types of gearing are “spur” (the most common), “planetary” (more complex but allows for higher gear-downs in a more confined space, as well as higher efficiency) and “worm” (which allows for very high gear ratio with just a single stage, and also prevents the output shaft from moving if the motor s not powered). Just like a DC motor, a DC gear motor can also rotate CW and CCW. If you need to know the number of rotations of the motor, an “encoder” can be added to the shaft.

R/C Servo Motors

Hitec HS 645 MG Servo Motor R/C (or hobby) servo motors are types of actuators that rotate to a specific angular position, and were classically used in more expensive remote controlled vehicles for steering or controlling flight surfaces. Now that they are used in a variety of applications, the price of hobby servos has gone down significantly, and the variety (different sizes, technologies, and strength) has increased. The common factor to most servos is that the majority only rotate about 180 degrees. A hobby servo motor actually includes a DC motor, gearing, electronics and a rotary potentiometer (which, in essence,  measures the angle). The electronics and potentiometer work in unison to activate the motor and stop the output shaft at a specified angle. These servos are generally have three wires: ground, voltage in, and a control pulse. The control pulse is usually generated with a servo motor controller.  A “robot servo“ is a new type of servo that offers both continuous rotation and position feedback. All servos can rotate CW and CCW.

Industrial Servo Motors

Fanuc Industrial ServoAn industrial servo motor is controlled differently than a hobby servo motor and is more commonly found on very large machines. An industrial servo motor is usually made up of a large AC (sometimes three-phase) motor, a gear down and an encoder which provides feedback about angular position and speed. These motors are rarely used in mobile robots because of their weight, size, cost and complexity. You might find an industrial servo in a more powerful industrial robotic arm or very large robotic vehicles.

Stepper Motors

Soyo Unipolar Stepper MotorA stepper motor does exactly as its name implies; it rotates in specified “steps” (actually, specific degrees). The number of degrees the shaft rotates with each step (step size) varies based on several factors. Most stepper motors do not include gearing, so just like a DC motor, the torque is often low. Configured properly, a stepper can rotate CW and CCW and can be moved to a desired angular position. There are unipolar and bipolar stepper motor types. One notable downside to stepper motors is that if the motor is not powered, it’s difficult to be certain of the motor’s starting angle. Adding gears to a stepper motor has the same effect as a adding gears to a DC motors: it increases the torque and decreases the output angular speed. Since the speed is reduced by the gear ratio, the step size is also reduced by that same factor. If the non geared down stepper motor had a step size of 1.2 degrees, and you add a gear down of 55:1, the new step size would be 1.2 / 55 = 0.0218 degrees. Linear Actuators A linear actuator produces linear motion (motion along one straight line) and have three main distinguishing mechanical characteristics: the minimum and maximum distance the rod can move “a.k.a. the “stroke”, in mm or inches),  their force (in Kg or lbs), and their speed (in m/s or inch/s).  

DC Linear Actuator

Firgelli Technologies L12 Linear ActuatorA DC linear actuator is often made up of a DC motor connected to a lead screw. As the motor turns, so does the lead screw. A traveller on the lead screw is forced either towards or away from the motor, essentially converting the rotating motion to a linear motion. Some DC linear actuators incorporate a linear potentiometer which provides linear position feedback. In order to stop the actuator from destroying itself, many manufacturers include limit switches at either end which cuts power to the actuator when pressed.  DC linear actuators come in a wide variety of sizes, strokes and forces.  

Solenoids

SolenoidSolenoids are composed of a coil wound around a mobile core. When the coil is energized, the core is pushed away from the magnetic field and produces a motion in a single direction. Multiple coils or some mechanical arrangements would be required in order to provide a motion in two directions. A solenoid’s stroke is usually very small but their speed is very fast. The strength depends mainly on the coil size and the current going trough it. This type of actuator is commonly used in valves or latching systems and there is usually no position feedback (it’s either fully retracted or fully extended).

Muscle wire

Muscle Wire SpoolMuscle wire is a special type of wire that will contract when an electric current traverses it. Once the current is gone (and the wire cools down) it returns to its original length. This type of actuator is not very strong, fast or provides a long stroke. Nevertheless, it is very convenient when working with very small parts or in a very confined space.

Pneumatic and Hydraulic

Pneumatic CylindersPneumatic and hydraulic actuators use air or a liquid (e.g. water or oil)  respectively in order to produce a linear motion. These types of actuators can have very long strokes, high force and high speed. In order to be operated they require the use of a fluid compressor which makes them more difficult to operate than regular electrical actuators. Because of they high force speed and generally large size, they are mainly used in industrial environments.     Choosing an Actuator To help you with the selection of an actuator for a specific task, we have developed the following questions to guide you in the right direction. It is important to note that there are always new and innovative technologies being brought to market and nothing is set in stone. Also note that an single actuator may perform very different task in different contexts. For instance, with additional mechanics, an actuator that produces linear motion may be used to rotate an object and vice versa (like on a car’s windshield wiper). (1) Is the actuator being used to move a wheeled robot? Nanda Clocky Drive motors must move the weight of the entire robot and will most likely require a gear down. Most robots use “skid steering” while cars or trucks tend to use rack-and-pinion steering. If you choose skid steering, DC gear motors are the ideal choice for robots with wheels or tracks as they provide continuous rotation, and can have optional position feedback using optical encoders and are very easy to program and use. If you want to use rack-and-pinion, you will need one drive motor (DC gear is also suggested) and one motor to steer the front wheels). For stirring, since the rotation required is restricted to a specific angle, an R/C servo would be the logical choice. Invenscience Advanced Robotic-Arm  

(2) Is the motor being used to lift or turn a heavy weight?

  Lifting a weight requires significantly more power than moving a weight on a flat surface. Speed must be sacrificed in order to gain torque and it is best to use a gearbox with a high gear ratio and powerful DC motor or a DC linear actuator. Consider using system (either with worm gears, or clamps) that prevents the mass from falling in case of a power loss. Hitec Servo Motors

(3) Is the range of motion limited to 180 degrees?

If the range is limited to 180 degrees and the torque required is not significant, an R/C servo motor is ideal. Servo motors are offered in a variety of different torques and sizes and provide angular position feedback (most use a potentiometer, and some specialized ones use optical encoders). R/C servos are used more and more to create small walking robots. Stepper Motors

(4) Does the angle need to be very precise?

Stepper motors and geared stepper motors (coupled with a stepper motor controller) can offer very precise angular motion. They are sometimes preferred to servo motors because they offer continuous rotation. However, some high-end digital servo motors use optical encoders and can offer very high precision.

Linear Actuators(5) Is the motion in a straight line?

Linear actuators are best for moving objects and positioning them along a straight line. They come in a variety of sizes and configurations. Muscle wire should be considered only if your motion requires very little force. For very fast motion, consider pneumatics or solenoids, and for very high forces, consider DC linear actuators (up to about 500 pounds) and then hydraulics. Tools Simple Torque Forces DiagramIn order to compute the strength (or torque), and speed required for your application, many (rather complex) computations are required involving the physics of the machine to be created. In order to simplify the design process, we have put together a few tools that can help you out. Practical Example

In lesson 1 we determined the objective of our project would be to get a better understanding of mobile robots, while keeping the budget to about $200 to a maximum of $300. In lesson 2 we decided we wanted a small tank (on tracks) that could operate on top of a desk.

First, let us determine the type of actuators that would be required by answering the five  aforementioned questions:

  1. Is the actuator being used to move a wheeled robot? Yes. A DC gear motor is the suggested type of actuator and skid steering is appropriate for a tank, which means that each track will need it;s own motor.
  2. Is the motor being used to lift or turn a heavy weight? No, a desktop rover should not be heavy.
  3. Is the range of motion limited to 180 degrees? No, the wheels need to urn continuously.
  4. Does the angle need to be precise? No, our robot does not require positional feedback.
  5. Is the motion in a straight line? No, since we want the robot to turn and move in all directions.
Since rotating a wheel needs rotational motion, we could quickly eliminate all linear actuators and choose a DC gear motor. The next logical question was “which one?”A search online shows that there are not too many track systems intended for small robots, which in itself would restrict which motors we could consider.

The Currently Available Track Systems

 

TracksAt 2″ and 3″ wide, the Lynxmotion tracks are more intended for medium sized robots, so we’ll omit them. The price does fall within the budget though.

The Vex Tank Tread Kit is definitely a good option, but it would restrict us to one specific motor.

The Tamiya Track and Wheel Set is definitely a good option, and would limit our choices to Tamiya motors  and gearboxes. This would also be within the budget.

There are several Johnny Robot Track Kits, one for a Hitec continuous rotation servo (which is essentially a gear motor in a servo’s body) another for a Futaba continuous rotation servo, one for Tamiya motors and another for Pololu or Solarbotics motors. This is definitely a good option and also within our budget. Mainly because of aesthetic and motor compatibility reasons, we are going to stick with this choice.

Johnny Robot Track Kit

There is always the option of hacking a toy such as an R/C tank and convert it into a robot.  This option would also give us compatible motors, however, the objective is to design our own robot and not hack another product.

Computing the motor requirements

The next step is to fill out the DC Drive Motor Selector Tool, using approximate values.

Drive Motor Sizing Tool

Data Details

  • Total mass of robot:200 g  should include everything:  motors, frame, batteries and all.
  • Number of drive motors:Two motors are required for skid steering.
  • Radius of drive wheel: from 0.5” to about 1” should be an appropriate size for a desktop robot.
  • Velocity of robot:0.2 m/s would be nice for a desktop robot.
  • Maximum incline: Climbing some books would be cool, let us choose 30 degrees.
  • Supply Voltage:Uncertain at the moment, so we choose the default 12 V
  • Desired Acceleration:Not sure, so choose default 0.2 m/s2
  • Desired operating time: 30 minutes is reasonable between charges.
  • Total efficiency:Not sure, so we choose default 65%
Using 0.5 as the wheel radius we obtain 150 rpm @ 1.4 oz-in. When using 1”, the calculator provides 75rpm @ 2.8 oz-in.

Selecting the Motor

Check Out the Comparison Tables Thus, the motors we are looking for must turn at approximately 150 rpm and provide roughly 1.4123 oz-in of torque. We can use the DC motor Comparison Table in order to find the appropriate motor. There are many motors available that fit the Johnny Robot Track Kit : The Solarbotics GM8 and GM9 feature 70 rpm @ 43 oz-in and 66 rpm at 43 oz-in respectively. Both sell for $5.46 each. All Tamiya gearbox ad motor combinations sell for approximately $11 and up and provide a wide range of torques and speeds. Hitec continuous rotation servo and Futaba continuous rotation servos sell for  $17  and $14 respectively. In the end, we opted to use a pair of Solarbotics GM9 in order to use skid-drive, mainly because of their low cost. It is important to note that although the calculator specified we needed about 150rpm, we chose the motor anyway, knowing it would move at about half the original (desired) velocity. The torque produced by this motor  is significantly greater than what we needed, which means it can carry additional weight, or climb stepper angles.

Solarbotics GM9

RobotShop - Robotics at your serviceFor further information on learning how to make a robot, please visit the RobotShop Learning Center. Visit the RobotShop Community Forum in order to seek assistance in building robots, showcase your projects or simply hang-out with other fellow roboticists.
Subscribe to the RobotShop Blogs RSS feed!

Enter your email address: