In this section you can find a lot of tutorials from where you can learn how to build and program robots
Machine vision is based on information from digital images and depending on the application, the vision system can be designed for inspection, guidance, detecting, tracking, etc. Human visual system is the most sophisticated and powerful vision solution to observe the environment and extract information. A similar system with the biological vision was built for robotic applications and is called stereo vision.
A stereo vision system is designed to extract 3D information from digital images and use these for examining the position of objects in two images, to build an advanced object recognition system that recognizes objects in different arrangements (for example when objects are placed one in front of the other), tracking different objects, etc.
Because a stereo vision is similar to the human biological system, some of the features are identical. For example, a human has two eyes to see slightly different views of the same environment. A stereo vision system has two cameras located at a known distance and take pictures of the scene at the same time. Using the geometry of the cameras, we can apply algorithms and create the geometry of the environment.
Among the advantages of a stereo vision system can be included its reliability and effectiveness in extracting various information (like color, or dimension), it can be used for different vision routines like tracking or detecting objects, and it’s a passive sensor which cannot be influenced by environment.
A series of most popular stereo vision sensors as well as tutorials about how these can be used are the subject of this article.
Stereo Camera Sensors
A wide variety of 3D stereo vision sensors for simple to complex applications.
A large variety of camera sensors make more difficult the choice and this is the case when before purchasing any stereo vision system has to be calculated a series of features. Some cameras are more sensitive while others have the ability to let the user to specify the bit-rate, image quality, set the shutter speed or average illumination in the image.
As an example, for a mobile outdoor robot is preferable to be used a wide field of view to capture a large number of objects that may be moving and at a time, these will get in range of the robot.
How many frames per second is required, if the focal length is fixed or variable, how interface the sensor with electronic boards, and a minimum camera resolution are four features which must be taken into account before buying a camera.
Below is available a collection of most popular stereo camera sensors with different specifications and designed for different applications.
Bumblebee XB3 and Bumblebee 2
Two stereo vision cameras with complete hardware and software packages. Bumblebee 2 has a resolution of 640×480 at 48FPS or 1024×768 at 20 FPS while XB3 provide a higher resolution of 1280×960 at 15 FPS.
Self balancing or collision detection is just two robotic applications where accelerometers, gyroscopes and IMU’s sensors are used to measure different mechanical phenomenon’s including here acceleration, vibration, tilt, orientation in space, angular velocity, pitch or rotation. A long list of sensors, tutorials and guides are available in this article aiming to give a complete understand and information to work with accelerometer, gyroscope and IMU sensor.
The suite of sensors with different measurements including acceleration, tilt, angular velocity, and other mechanical phenomenons are used in different devices including smartphones, gaming consoles, toys, but especially in robots for self-balancing, motion monitoring, or as a detector for collision or vibration.
If an accelerometer sensor is designed to measure the acceleration and tilt, or the gyroscopic sensor to measure angular velocity and orientation, IMU sensor is a special one designed to combine the features of an accelerometer and gyroscope in order to display complete information about the acceleration, position, orientation, speed, etc. for a robot.
Accelerometer sensor measure acceleration in two different measure units including meters per second squared or when the acceleration felt as weight in G-forces. Inside this tiny sensor is small systems that bend when a momentum or gravity force is applied. The amount of bend has a proportional value in the output signal.
Advantages of the accelerometer sensor include a high accuracy even in applications with noises as well as acceleration measurement down to zero Hertz. The biggest disadvantage of this sensor is the limited high frequency where the sensor works.
Gyroscope sensor is inexpensive and measure in degrees per second or revolutions per second the angular velocity. Is frequently used in robotic applications for balancing to send corrections to motors, or for drones to stabilize the flight. This tiny robotic part uses a disc with a large heavy rim designed to resist movement when is spun on its axis.
IMU or Inertial Measurement Unit sensor is a measurement unit designed to contain the other two types of sensors. An IMU sensor can be used instead an accelerometer or gyro sensor, but first should be set the tolerance for errors. The biggest disadvantage of this sensor is the error in measurement.
All these sensors are tiny and very cheap parts used for a wide range of measurements. The calibration of a sensor is a method aiming to reduce the errors in the sensor outputs while the performance increasing as well as accuracy.
Webots simulation software is a fast and friendly tool used especially for research and educational purposes with a long list of robotic projects and very good results. In this article are available a collection of tutorials and resources to start using Webots, from simple to advanced projects as well as Matlab integration of plug-in installation.
Realistic simulation and modeling are the main features of the tool, which is also used for programming the robots in different programming languages including here C++, Java, or Python.
From colors to texture, from force simulation to interface sensors, Webots was designed for a long list of robotic projects with a large choice of sensors and actuators as well as a multi-robot simulation platform.
Programs developed with the built-in IDE or other development tools can be tested and transferred to educational or commercial physical robots.
Using 3D modeling could be created realistic environments and states of a robot with possibility to add artificial intelligence or computer vision with integrated tools.
Below are available a series of tutorials and guide as well as a series of resources for helping beginners or advanced user to use Webots tool. (more…)
A revolutionary 3D sensor from gaming industry designed to capture motion of players is effectively used in the robotic fields for a wide range of applications including objects recognition and tracking, 3D environment mapping, detect distance, or voice recognition and control. All these features make from Kinect the subject of this article where a set of setup and application tutorials are included.
In the following are available a wide range of setup tutorials for different versions of operating systems as well as different operating systems including Windows, Linux and Mac. All features of Kinect sensor listed above are used in different robotic applications and a series of tutorials to learn how to use these features are available in the following.
With endless possibilities for robotic applications, Kinect is a human-robot interaction tool with an RGB camera and an infrared depth camera. If an RGB camera is not a surprise, the depth camera enables the robot to build a 3D view of the environment.
The biggest disadvantage of Kinect is the behavior in outdoor applications where the performances are very poor. Kinect is designed for indoor applications and at least for the moment, the sensor can be used with high accuracy in indoor robotic applications.
Why Kinect? Because it is an affordable sensor with 3D image capture in real-time while a laser array has a high price and capture 2D images, or stereo camera with high computing power requirements. (more…)
Intelligent mechanical agents like robots have one common part for physical detection of pressure, squeeze and weight – force sensors. Based on different technologies, force sensors are designed to form an alert system for a robot when it enters in contact with an object or surface. In this post we revealed a series of tutorials for interfacing and programming force sensors with an electronic board like the Arduino.
FSR (Force-Sensitive Resistor), FlexiForce, or Load Cell are three types of force sensors with different characteristics including the sensitivity and how they work.
FSR is a sensor built from a conductive polymer that changes its resistance when a force is applied to surface. Advantages of this type of sensor include a thin size compared with others force sensors, are great for use in robots that work in environments with shock, and are cheaper. A disadvantage of this type of sensor is the precision of the measure, which is very low. An FSR sensor could be easily damaged if the force is applied for a longer time – could be hours.
FlexiForce sensors are used in many applications including touch (contact) or measuring the force applied in load. Available in a wide variety of shapes and sizes, FlexiForce sensors are piezoresistive devices that change the resistance when a force is applied. This type of sensor has a high flexibility, a high accuracy compared to FSR sensors, comes in a wide range of forces, and could work at high temperatures.
The third force sensor type is Load Cell. This sensor is a transducer that converts a force applied into an electric signal. The conversion of force to electricity is made in two stages.
Below are available a series of sensors and tutorials related to work with these sensors.