Automation Control Systems
Introduction to Simultaneous Localization And Mapping (SLAM) for mobile robot. Navigational sensors used in SLAM: Internal, External, Range sensors, Odometry, Inertial Navigation Systems, Global Positioning System. Map processing and updating principle.
|Рубрика||Иностранные языки и языкознание|
|Размер файла||3,4 M|
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
3.3 Development of algorithm of geometric characteristics determination
3.3.1 Transformation from L*a*b into binary form
After the segmentation procedure I obtained image, in which black color corresponds to background color of image and other colors - to segmented ones.
Figure 3.7 - Image after segmentation
It is more convenient to determine geometric features of objects having binary image. So, the next step was to transform L*a*b image into binary one. The next algorithm was used for this transformation.
Figure 3.8 - Block diagram of transformation form L*a*b into binary form algorithm
3.3.2 Geometric characteristics determination
In order to improve the accuracy after color segmentation procedure, method of geometric features determination is applied. So, after the color segmentation the image is transformed into binary image, where 1 corresponds to color marker (white color) and 0 corresponds to background color of image (black color). In the algorithm threshold value of noise was introduced, which is important with the purpose to filter small noises, which appear on the image. The next step is to calculate such parameters of each obtained object, as area and roundness.
It is well known that the roundness of a circle corresponds to 1, and the roundness of ellipse may be in range from 0 to 1. Taking into account errors, obtained due to transformation from L*a*b into binary image, it is understandable that the circle is not perfect, and roundness will lie in range from 0 to 1.
In order to filter object that are not even close by their shape to circle I set the threshold of roundness, which means that all objects with roundness less than the threshold value will be filtered out and considered to be errors, obtained after image segmentation.
Figure 3.9 - Block diagram of geometric characteristics determination algorithm
If the object will keep at least one it's parameter during the process of motion then this object is considered to be such, which can be used during visual positioning.
3.4 Localization algorithm
3.4.1 Local coordinate system
In the figure 3.10 is illustrated the local coordinate system of camera and its Field Of View (FOV). It shows the top and side views of a robot (not to scale). Notice that there is a blind area immediately in front of the robot. Also, the top of the camera image in this diagram is above the true horizon (the horizontal line through the centre of the camera). In general, the horizon is not at the centre of the image because the camera is tilted downwards to improve the visibility of the foreground.
Figure 3.10 - Local coordinate system of camera, and camera FOV
In the FOV diagram [4, 6], б is one-half of the vertical FOV; г is one-half of the horizontal FOV; and д is the camera tilt angle. (г and б are related through the aspect ratio of the camera, which is usually 4:3 for conventional video cameras.) If the image resolution is m by n pixels, then the values of the image coordinates (u,v) will range from 0 to (m-1) and 0 to (n-1) respectively.
Consider rays from the camera to points on the ground corresponding to successive scanlines in the camera image. Each pixel in this vertical column of the image corresponds to an angle of 2б/(n-1). Similarly, pixels in the horizontal direction correspond to an arc of 2г/(m-1).
The following relationships can be easily determined from the diagram:
б + в + д = 90 (3.1)
tan(в) = b / h (3.2)
tan(б + в) = (b + d) / h (3.3)
tan(г) = w / (b + d)(3.4)
The values of b, d and w can be measured, although not very accurately (to within a few millimeters) by placing a grid on the ground, and h can be measured directly. For any arbitrary image vertical coordinate, v, the distance along the ground (y axis) can be calculated using the following formula (Equation 3.5). Note that, by convention, the vertical coordinates, v, in an image actually count downwards from the top. This affects the formula.
y = h tan( в + 2б (n - 1 - v) / (n - 1) ) (3.5)
If б is sufficiently large, then eventually y will progress out to infinity, and then come backwards from minus infinity. (This is a result of the tan function, but in geometrical terms it means that a ray through the camera lens intersects the ground behind the camera.) On the other hand, a larger tilt angle, д, will reduce в so that y will never reach infinity, i.e. a ray corresponding to the top of the image will hit the ground.
Having calculated y, the x value corresponding to the u coordinate is:
x = y tan( г (2u - m + 1) / (m - 1) ) (3.6)
This is the distance along the x axis, which is the measured at right angles to the centre line of the robot and can therefore be positive or negative. Notice that x depends on both u and v because of the perspective transformation.
Given the four parameters (b, d, h and w), these calculations only need to be performed once for a given camera geometry, and a lookup table of corresponding (x,y) values can be constructed for all values of (u,v) in the image. (Note that the y value will approach infinity, so that above a certain v value it becomes irrelevant.) This makes re-mapping of image pixels for the inverse perspective mapping very quick, and the boundary line between the floor and the obstacles can easily be drawn onto a map using Cartesian coordinates with a known scale.
Similarly, a table can be constructed to map pixel locations into polar coordinates, (r,и). Mapping the obstacle boundary into this polar space produces the Radial Obstacle Profile, ROP. The advantage of the ROP as a representation is that rotations of the camera are equivalent to a linear sliding of the ROP to the left or right, making it easy to predict what the ROP should look like after the robot has rotated on the spot, e.g. as part of performing a 360o sweep.
3.4.2 Positioning in 2D case for 1 landmark
The coordinate system (X,Y) is depicted on the figure below. The local coordinate system of a robot  is (Xr,Yr), where (xr,yr) are coordinates of the mass center of robot and (xf,yf) are the coordinates of a color marker.
Figure 3.11 - Local and global coordinate systems for positioning in 2D in case for 1 landmark
For the nonlinear observability analysis it is convenient to introduce polar coordinates for the relative state ,
where is the distance between the vehicle and a landmark and is the bearing of the landmark with respect to the vehicle considering vehicle orientation, is the angle between Xr and X. Figure 3.11 illustrates the vehicle landmark configuration in the global and in the relative frames.
3.4.3 Positioning in 2D case for 2 landmarks
The local coordinate system (X,Y) is depicted on the figure below . Two markers with the coordinates (Xm1,Ym2) and (Xm2,Ym2) correspondingly and a robot with coordinates (Xr,Yr) are shown on the figure.
Figure 3.12 - Local and global coordinate systems for positioning in 2D in case for 2 landmarks
The following system of equations has been obtained:
If two markers are in the line of sight of the robot, the line of positions of the first and the second markers are intersected, then there are two possible positions of the robot. But one of the possible positions we can neglect. The distances from the robot to the first and the second marker are R1 and R2 correspondingly. The coordinates of the object are determined in local coordinate system. The line of position is a circle, the center of which is the coordinates of marker. It is possible to define the distance R from the detected marker. The given navigation system gets the data of the template of marker from the correlation extremal navigation system. Robot moves and tracks the environment. When the nearest marker is in the line of sight of the robot, it detects this marker. Robot defines which of the color markers from the database in its memory just have been detected. Knowing the color and the marker, the number of pixels of the color marker is calculated and the distance from the robot to the detected marker is determined.
4. Software development for visual SLAM system
4.1 Input data of program
It is necessary for the program the following input data:
- real time video (30 fps, color image, format video - .avi, resolution 640?480);
4.2 Output data of program
The developed program detects distinctive objects of environment and determines distance from the robot to detected color marker.
Distance D has real type and the following format of representation: XX.XXXX.
4.3 Description of software block diagram
The description of the developed algorithm:
1. Video loading.
2. Image segmentation procedure.
3. Determination of the color of the marker.
4. Morphological analyses of the image.
5. Determination of geometric parameters of color marker.
6. Noise filtering.
7. Determination of the distance to the detected color marker.
8. Output of the distance to the detected color marker.
Figure 4.1 - Software block diagram
4.4 User manual
There are the minimal hardware and software requirements for the given project:
1. CPU = 1.666Hz
2. Memory = 128Mb
3. Videocard = 64Mb
4. Monitor (17")
5. Web-camera (robot onboard)
6. Operating system = Windows 2000/XP
7. LPT-port must be present and work in computer.
To run the program it is necessary to load file "Vis_marker_system.exe".
Figure 4.2 - User's manual of the program
Interface of programs consists of several elements:
- Button "Start camera";
- Area "Primary image obtained by web camera";
- Area "Distance to object determination by means of web camera";
- Area "Distance calculations";
- Area "Histogram of color distribution in the current image";
- Buttons, which correspond to the color of the color marker.
The button "Start camera" is used for loading the real time video.
Area "Primary image obtained by web camera" represents the input image and the results of real time video processing and is placed at the left lower corner of the program interface.
Area "Distance to object determination by means of web camera" is used for reflection of results, obtained after image processing.
Area "Distance calculations" shows the distance to the color marker (red, green or yellow) in cm and the robot coordinates.
Buttons, which correspond to the color of the marker, are used to display the color of the image, which was distinguished by the system.
4.5 Test example
1. Run the program "Vis_marker_system.exe" from the folder "Prog".
2.Click on the button "Start camera" to display the real time video. The picture of real time video appears at the left lower corner and segmented images - at the right top of the program interface. If the color marker is detected, the corresponding processed image will appear at the top of the program interface, and the distance to the color marker will be displayed in the box, located in the area "Distance calculations". The buttons will display the color of the image, which was distinguished by the system. In the right bottom angle will appear a histogram of color distribution in the current image.
Figure 4.3 - Test example of the program
Modern methods and means of navigation for the autonomous mobile robot have been analyzed in the given work.
Matching to distinctive objects of the surrounding environment (including visual features) is used in different spheres, for example at solution of tasks of simultaneous localization and mapping, known as SLAM (Simultaneous Localization And Mapping). The goal of this work was to analyze different methods and means of visual positioning and to create a system for autonomous mobile robot, which would be able to separate distinctive objects of the environment, determine distance to these objects and position itself, relatively to these objects. Under distinctive objects we understand objects, which have certain color and geometrical characteristics.
This task has been realized using the color segmentation of current image, which is based on L*a*b color model. In order to make the analyses of geometric features of separated objects, binary (black-white) image processing methods were applied. Also, calibration of camera was made with the purpose to determine distance to color markers. . Sets of experiments have been carried out in order to determine the factors which influence on color index and correspondingly on accuracy of segmentation. The results are the next: primary step before image segmentation has to be determination of colors, above threshold value, i.e. colors, which are dominantly present at the current image, and based on this fact perform further image segmentation procedure.
Results of the given task have proved the required accuracy and good reliability.
The developed algorithm can be used in the different branches of the manufacture. It reduces the time of work performance, provides simplicity and increases the reliability.
Размещено на Allbest.ru
The computer systems and unique possibilities for fulfillment before unknown offenses. The main risks and threats to information systems security in the internet. Internet as a port of escape of the confidential information and its damage minimization.
контрольная работа [19,6 K], добавлен 17.02.2011
What is Climate. Science is the search for knowledge. Records changes of Climate for period million years. The activity Modern Climate Systems. What is the Greenhouse Effect. The past and current trends in climate change. The way to solve the problem.
презентация [8,3 M], добавлен 21.02.2011
The basis of the study of economic systems of the countries of the world. Description of the administrative command system. Estimation of the market system and its implementation by the countries. Post-industrial society as a modern economic system.
реферат [30,3 K], добавлен 24.03.2014
Introduction of geographic location, climatic conditions of Great Britain, its political and economic systems. History of the British Kingdom: decision Magna Carta, Industrial Revolution, the first census, the introduction of a democratic regime.
реферат [36,2 K], добавлен 04.10.2010
Economic system. List by hands-on and hands-off. Types of economic systems. Market economy. Mixed economy. Planned economy. Traditional economy. Participatory economics. Changes of an economic situation in Russia. Recent economic developments.
реферат [15,0 K], добавлен 27.05.2007
The Science of Economics, Macroeconomics and Microeconomics, The Future of Economics, Economic Systems: Two Important Distinctions. Free-Market Medicine in Russia. Competitive Advantage and the Small Firm Sector. Do People Volunteer to be Unemployed.
учебное пособие [1023,0 K], добавлен 11.12.2011
Testing as a form of control the level of students’ skills and abilities. The classification of tests in learning English. Problems in the control of education. The final results on the evaluation system of knowledge. The main stage of the lesson.
курсовая работа [37,8 K], добавлен 08.05.2014
Wireless LANs will provide the first layer of connectivity between mobile users and the global information infrastructure. Wireless application design, data reduction, caching, active documents, dynamic URLs. Interworking units for wireless connectivity.
реферат [23,7 K], добавлен 07.10.2010
Steps of education in the USA: a four-year high school and eight-year elementary school. Separation of the higher education: liberal arts and professional. Difference in the American system of school education from the systems in other countries.
презентация [2,2 M], добавлен 08.06.2010
Historical background, basic standards. A Brief Account of American Education: Differences and Similarities. American School from the Point of View of Russian Teenagers. What American Students think their Educational System. Alumni’s Experience.
реферат [23,1 K], добавлен 22.11.2010